CN107896331B - 选择编码选项的方法、数据处理装置、计算机可读存储介质 - Google Patents

选择编码选项的方法、数据处理装置、计算机可读存储介质 Download PDF

Info

Publication number
CN107896331B
CN107896331B CN201710930048.6A CN201710930048A CN107896331B CN 107896331 B CN107896331 B CN 107896331B CN 201710930048 A CN201710930048 A CN 201710930048A CN 107896331 B CN107896331 B CN 107896331B
Authority
CN
China
Prior art keywords
coefficients
data elements
encoding
subset
array
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.)
Expired - Fee Related
Application number
CN201710930048.6A
Other languages
English (en)
Other versions
CN107896331A (zh
Inventor
S·O·J·胡格松
F·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.)
ARM Ltd
Original Assignee
ARM 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 ARM Ltd filed Critical ARM Ltd
Publication of CN107896331A publication Critical patent/CN107896331A/zh
Application granted granted Critical
Publication of CN107896331B publication Critical patent/CN107896331B/zh
Expired - Fee Related 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/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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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
    • 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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

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

Abstract

选择编码选项的方法、数据处理装置、计算机可读存储介质。基于用于编码选项的集合的比特计数值和失真值选择在对数据元素阵列编码时要使用的编码选项的集合。从表示频域系数的集合和经解量化的计数的集合之间的差异的误差值的集合来确定失真值。通过应用行变换的仅子集或列变换的仅子集,生成频域系数的集合。通过量化所述频域系数的集合的仅子集,生成经量化的系数的集合。该方案提供在没有不利地显著降低选择处理的效率的情况下选择编码选项的较有效的方式。

Description

选择编码选项的方法、数据处理装置、计算机可读存储介质
技术领域
本发明涉及用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的方法和装置。
背景技术
常见的是对数据元素阵列的流进行编码,诸如图像数据值的阵列(例如,用于显示的视频的帧),以将数据压缩来减小带宽和存储器消耗。这在数据处理装置中是特别期望的,例如,便携装置的数据处理装置,其中,处理资源和电力可能是有限的。
为了对数据元素阵列的流进行编码,数据元素的每个阵列经常被划分为数据元素的较小的“源”块,并且基于源块和从阵列的流的一个或更多个阵列得到的数据元素的“基准”块之间的差异而被逐块地编码。
在对阵列编码时使用的具体编码选项通常从阵列的区域到区域变化。例如,源块的具体大小、得到基准块的具体方式等会对于阵列的不同区域而不同。
在对阵列编码时要使用的具体编码选项经常使用称为“率失真优化”(RDO)的处理来选择。RDO处理通常涉及计算针对区域的编码选项的各个不同集合的成本值,并且接着在对阵列的该区域进行编码时选择具有可接受的低成本值的编码选项的一个或更多个具体集合。
用于计算针对所考虑的编码选项的一个具体集合的成本值的示例RDO处理100在图1中示出。
图1的ROD处理100初始地包括从具体基准块(Pred)的数据元素减去(-)用于区域的具体源块的数据元素(Src),以生成差异值的集合。接着对差异值的集合应用正向离散余弦变换处理(F-DCT),以生成频域系数的集合。接着对频域系数的集合应用量化处理(Q)以生成经量化的系数的集合。
这些步骤基本上复制了在对用于源块的系数进行编码(例如使用熵编码)之前将应用的步骤。因而,在此,可对经量化的系数的集合应用比特计数处理(Bitcount),以确定在根据所考虑的编码选项的具体集合对源块编码时将发生的比特计数成本。
接着对经量化的系数的集合应用解量化处理(DQ),以生成经解量化的系数的集合。接着对经解量化的系数的集合应用反向离散余弦变换处理(I-DCT),以生成经重构的差异值的集合。经重构的差异值的集合接着加(+)到基准块以生成经重构的源块。
这些步骤基本上复制了将应用以在对用于源块的经编码的系数解码之后重构源块的步骤。因而,在此,从原始源块的数据元素减去(-)经重构的源块的数据元素,以生成误差值的集合,并且对该误差值的集合应用平方和测量处理(Σx2)以确定在根据所考虑的编码选项的具体集合对源块编码接着解码时将被引入的失真的总量。
接着进行成本值处理(成本)以根据比特计数值和失真值确定针对编码选项的具体集合的整体成本值。
图1的RDO处理接着根据用于区域的编码选项的各个不同集合(例如,不同源块大小、不同地得到的基准块等)重复,以产生针对编码选项的不同集合的每个集合的成本值。接着基于针对编码选项的不同集合的成本值选择在对阵列的区域进行编码时使用的编码选项的一个或更多个集合。
RDO处理还穿过数据元素阵列重复以选择在对数据元素阵列的剩余区域进行编码时要使用的编码选项的集合。
虽然以上描述的RDO处理提供选择在对数据元素阵列编码时要使用的编码选项的综合方式,但是该处理包括多个步骤,这些步骤在处理资源和功耗上会非常昂贵,诸如变换和量化步骤。
因此,通常期望数据处理装置,例如,便携设备的数据处理装置,尝试减少所使用的处理资源和功耗的量,但是理想地没有不利地显著降低进行的处理的效率。
申请人因此相信存在选择编码选项的安排的改进空间。
发明内容
根据本发明的一个方面,提供一种用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的方法,该方法包括以下步骤:
根据编码选项的具体集合:
生成表示所述数据元素阵列的数据元素的源块和从所述数据元素阵列的流的数据元素的一个或更多个阵列得到的数据元素的基准块之间的差异的差异值的集合;
通过对所述差异值的集合应用正向变换处理,生成用于所述差异值的集合的频域系数的集合;
通过对所述频域系数的集合应用量化处理,生成经量化的系数的集合;
从所述经量化的系数的集合确定用于所述编码选项的具体集合的比特计数值;
通过对所述经量化的系数的集合应用解量化处理,生成经解量化的系数的集合;
生成表示所述频域系数的集合与所述经解量化的系数集合之间的差异的误差值的集合;
从所述误差值的集合确定用于所述编码选项的具体集合的失真值;以及
基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码。
根据本发明的一个方面,提供一种用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的数据处理装置,该数据处理装置包括处理电路,该处理电路被配置为:
根据编码选项的具体集合:
生成表示所述数据元素阵列的数据元素的源块和从所述数据元素阵列的流的数据元素的一个或更多个阵列得到的数据元素的基准块之间的差异的差异值的集合;
通过对所述差异值的集合应用正向变换处理,生成用于所述差异值的集合的频域系数的集合;
通过对所述频域系数的集合应用量化处理,生成经量化的系数的集合;
从所述经量化的系数的集合确定用于所述编码选项的具体集合的比特计数值;
通过对所述经量化的系数的集合应用解量化处理,生成经解量化的系数的集合;
生成表示所述频域系数的集合与所述经解量化的系数集合之间的差异的误差值的集合;
从所述误差值的集合确定用于所述编码选项的具体集合的失真值;以及
基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码。
因而,在本发明的这些方面和实施方式中,用于确定失真值的误差值的集合例如从经解量化的系数的集合和频域系数的集合生成,而不是从经重构的源块和原始源块自身生成误差值的集合(如在图1的处理100中的情况)。
如将在以下详细讨论的,申请人认识到用于生成误差值的集合的另选方案提供失真的可接受的近似,但是不需要进行反向变换处理来生成经重构的源块(其在处理资源和功耗而言会是昂贵的)。本发明可以因此显著减少用于选择在对数据元素阵列编码时要使用的编码选项的处理资源和功耗的量。
在本文描述的任何方面和实施方式中,阵列的流的数据元素阵列可以采取任何期望和合适的形式。在实施方式中,数据元素阵列可以均对应于数据位置的阵列。数据元素或位置的阵列可以对应于期望(例如,图像)输出的全部或一部分,诸如帧(例如,用于显示)。数据元素或位置和期望输出之间可以存在任何期望和适当对应性。因而,阵列的数据元素或位置可以均对应于期望输出的像素。数据元素阵列可以就数据元素或位置而言是任何期望和适当大小或形状,但是优选的是矩形的(包括方形)。数据元素可以还具有任何期望和适当格式,例如,表示图像数据值(例如,颜色值)。
在本文描述的方面和实施方式中,源块可以采取任何期望和适当形式。在实施方式中,源块可以就数据元素或位置而言是任何期望和适当大小或形状,但是优选的是矩形的(包括方形)。例如,源块大小可以是4×4、4×8、8×4、8×8、8x16、16×8、16×16、16×32、32×16、32×32、32×64、64×32、64x64等个数据元素或位置。在实施方式中,源块可以是为了编码而将可以数据元素阵列划分为的多个块中的一个块。这些多个块可以是非交叠的和/或可以在大小或形状上相似或不同。数据元素阵列就这些块而言可以是任何期望和适当大小、形状或构造。
在本文描述的方面和实施方式中,基准块可以以任何期望和适当方式得到。在实施方式中,基准块可以从与源块相同的数据元素阵列得到(使用“帧内”模式)。另选地,基准块可以从阵列的流中的数据元素的一个或更多个不同阵列得到(使用“帧间”模式)。一个或更多个不同阵列可以包括数据元素的一个或更多个先前阵列(使用“正向”模式)和/或数据元素的一个或更多个随后阵列(使用“后向”模式)。在这些实施方式中,基准块可以仅从数据元素的一个或更多个先前阵列得到或仅从数据元素的一个或更多个随后阵列得到(使用“单向”模式)。另选地,基准块可以从数据元素的一个或更多个先前阵列和数据元素的一个或更多个随后阵列这两者得到(使用“双向”模式)。在基准块从数据元素的多个不同阵列得到的情况下,多个不同阵列的数据元素可以组合,例如,平均。在实施方式中,用于源块的基准块可以按照与用于与该源块相邻的另一个源块的得到的另一个基准块相同或大致相似方式得到(使用“合并”模式)。
在实施方式中,方法可以还包括并且进行搜索处理(例如,帧内搜索和/或帧间搜索(作为运动估计处理的一部分)),其选择一个或更多个候选基准块;处理电路可以还包括处理电路,该处理电路被配置为进行搜索处理(例如,帧内搜索和/或帧间搜索(作为运动估计处理的一部分)),其选择一个或更多个候选基准块。一个或更多个候选基准块可以基于相对于源块的相似性或差异度量来选择,诸如绝对差异和(SAD)值。基准块可以是一个或更多个候选基准块中的一个。
在实施方式中,方法可以还包括并且进行搜索处理运动估计处理,其确定一个或更多个运动向量;处理电路可以还包括处理电路,该处理电路被配置为进行搜索处理运动估计处理,其确定一个或更多个运动向量。如将理解的,一个或更多个运动向量可以指示如何从数据元素的一个或更多个阵列得到基准块的数据元素(例如,通过平移、旋转、缩放等)。该方法可以还包括进行运动补偿处理,其对数据元素的一个或更多个阵列应用一个或更多个运动向量来得到基准块;处理电路可以还包括处理电路,该处理电路被配置为进行运动补偿处理,其对数据元素的一个或更多个阵列应用一个或更多个运动向量来得到基准块。由此,在实施方式中,基准块可以包括经运动补偿的“预测”块。如将理解的,使用运动补偿可以例如减小基准块和源块之间的差异。这转而可以减少比特计数值和/或失真值。
在用于源块的基准块以与用于与该源块相邻的另一个源块而得到的另一个基准块相同或大致相似的方式得到(使用“合并”模式)的实施方式中,得到基准块可以包括使用与用于得到用于所述另一个源块的所述另一个基准块的向量相同的向量来得到用于源块的基准块。
基准块在大小和/或形状上(就阵列元素而言)可以对应于源块的大小和/或形状。
在本文描述的任何方面和实施方式中,编码选项的具体集合可以由一个或更多个编码选项按照期望表征。表征编码选项的具体集合的一个或更多个编码选项可以包括例如源块的具体大小(就数据元素而言)、得到基准块的具体方式(例如,所使用的模式,诸如帧内、帧间、正向、后向、单向、双向、合并等模式;和/或所使用的运动向量)。
如以下将讨论的,在对数据元素阵列编码时,还可以考虑编码选项的一个或更多个不同集合以选择。表征编码选项的具体集合的一个或更多个编码选项可以因此从被考虑以选择的编码选项的一个或更多个不同集合区分编码选项的该具体集合。
在本文描述的方面和实施方式中,数据元素阵列可以以任何期望和适当方式提供。实施方式可以包括生成阵列的数据元素(中的至少一些或全部)。实施方式可以还包括或相反包括读入阵列的数据元素(中的至少一些或全部),例如,从存储器。
阵列的数据元素可以以任何期望和适当方式生成。在实施方式中,阵列的数据元素可以由视频摄像头生成。在其他实施方式中,生成阵列的数据元素的步骤可以包括渲染处理。渲染处理可以包括得到由阵列的数据元素表示的数据值(例如,通过对图元栅格化以生成图形片段和/或通过渲染图形片段)。可以使用图形处理流水线来生成阵列的数据阵列。图形处理流水线可以包含图形流水线按可以包含的任何适当和期望处理级,诸如顶点着色器、栅格化级、渲染级等,以生成阵列的数据元素。
在本文描述的方面和实施方式中,生成差异值的集合的步骤可以采取任何期望和适当形式。在实施方式中,生成差异值的集合的步骤可以包括从基准块的对应(就数据位置而言)数据元素的值分别减去源块的数据元素的值,或相反。
在本文描述的方面和实施方式中,正向变换处理可以采取任何期望和适当形式以生成频域系数的集合。在实施方式中,正向变换处理可以是大致线性的和/或正交的和/或可逆的和/或离散的。正向变换处理可以由在对数据元素阵列编码时要使用的具体标准(例如,MPEG标准)来限定。正向变换处理可以例如是正向离散余弦变换(DCT)。
差异值的集合可以包括差异值的阵列。差异值的集合在大小和/或形状上(就阵列元素而言)可以对应于源块和/或基准块的大小和/或形状。正向变换处理可以包括对差异值的阵列的行应用相应的正向变换,接着对所得的经行变换的阵列的列应用相应的正向变换,或相反。例如,正向变换处理可以包括对差异值的阵列的每一行应用相应的正向变换,接着对所得的经行变换的阵列的每一列应用正向变换,或相反。
然而,申请人进一步认识到不总是必须应用正向变换的“完整”集合。这是因为帕塞瓦尔定理可以用适用并且失真值在变换处理下可以基本上不变,所以这是可能的。
因而,在实施方式中,所述正向变换处理可以包括应用行变换的仅子集或列变换的仅子集。例如,正向变换处理可以包括向差异值的阵列的每一行应用相应的正向变换,接着对所得的经行变换的阵列的列的仅子集应用相应的正向变换,或相反。
这些实施方式通过减少所应用的正向变换的数量可以进一步显著减少用于选择在对数据元素阵列编码时要使用的编码选项的处理资源和功耗的量。
实际上相信这些实施方式是新的并且就其自身而言是有利的,而且不只是在本文描述的其他方面和实施方式的环境中。
因此,根据本发明的另一个方面,提供一种用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的方法,该方法包括以下步骤:
根据编码选项的具体集合:
生成表示所述数据元素阵列的数据元素的源块和从所述数据元素阵列的流的数据元素的一个或更多个阵列得到的数据元素的基准块之间的差异的差异值的集合;
通过对所述差异值的集合应用正向变换处理,生成用于所述差异值的集合的频域系数的集合,其中,所述正向变换处理包括应用行变换的仅子集或列变换的仅子集;
通过对所述频域系数的集合应用量化处理,生成经量化的系数的集合;
从所述经量化的系数的集合确定用于所述编码选项的具体集合的比特计数值;
通过对所述经量化的系数的集合应用解量化处理,生成经解量化的系数的集合;
使用所述经解量化的系数的集合生成误差值的集合;
从所述误差值的集合确定用于所述编码选项的具体集合的失真值;以及
基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码。
根据本发明的另一个方面,一种用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的数据处理装置,该数据处理装置包括处理电路,该处理电路被配置为:
根据编码选项的具体集合:
生成表示所述数据元素阵列的数据元素的源块和从所述数据元素阵列的流的数据元素的一个或更多个阵列得到的数据元素的基准块之间的差异的差异值的集合;
通过对所述差异值的集合应用正向变换处理,生成用于所述差异值的集合的频域系数的集合,其中,所述正向变换处理包括应用行变换的仅子集或列变换的仅子集;
通过对所述频域系数的集合应用量化处理,生成经量化的系数的集合;
从所述经量化的系数的集合确定用于所述编码选项的具体集合的比特计数值;
通过对所述经量化的系数的集合应用解量化处理,生成经解量化的系数的集合;
使用所述经解量化的系数的集合生成误差值的集合;
从所述误差值的集合确定用于所述编码选项的具体集合的失真值;以及
基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码。
在本发明的这些方面和实施方式中,可以对差异值的阵列的每一行或每一列应用正向变换。这可以例如允许差异值的集合的全部差异值对所生成的频率系数的集合具有至少一些影响。如将理解的,当对差异值的阵列的每一行应用正向变换时,可以接着对所得的经行变换的阵列的列的仅子集应用正向变换。另选地,当对差异值的阵列的每一列应用正向变换时,可以接着对所得的经列变换的阵列的行的仅子集应用正向变换。
在实施方式中,相应正向变换被应用的列或行的子集可以是行或列的任何期望和适当子集(即,一些但非全部)。在实施方式中,行或列的子集可以包括所得的阵列的行或列的数量的(至少)部分(例如,1/2)(例如,可以对全部行但是列的仅一半应用正向变换,或相反)。这可以(近似地)将正向变换处理的量减少相应部分(例如,约1/4)。例如,对于差异值的8×8集合的16个正向变换可以减少到12个正向变换(8个行变换加上4个列变换,或相反)。
在实施方式中,行或列的子集可以包括处于所得的阵列的顶侧或左侧或朝向所得的阵列的顶侧或左侧的行或列(例如,阵列的行的顶部(例如,一半)或所得的阵列的列的左部(例如,一半))。
如将理解的,频域系数的集合可以包含“完全”计算的频域系数的仅子集,剩余频域系数仅部分计算。在实施方式中,未完全计算的剩余频域系数可以按照期望处理。例如,剩余频域系数可以被原状保留或被设定为所选择的值,诸如零。
如将理解的,行变换的仅子集或列变换的仅子集被应用的这些方面和实施方式可以并且在一些实施方式中确实按照合适包括本文在任何方面或实施方式中描述的本发明的可选特征中的任一个或更多个。
因此,例如,在优选实施方式中,使用经解量化的系数的集合生成的误差值的集合可以表示经解量化的系数的集合和频域系数的集合之间的差异。用于编码选项的具体集合的失真值可以接着从误差值的集合生成。
然而,在其他较不优选的实施方式中,使用经解量化的系数的集合生成的误差值的集合可以表示经重构的源块和源块自身之间的差异(例如,如图1的RDO处理中所示)。这些实施方式可以还包括通过对经解量化的系数的集合应用反向变换处理来生成经重构的差异值的集合。这些实施方式可以还包括通过组合经重构的差异值的集合和基准块来生成经重构的源块。组合经重构的差异值的集合和基准块可以包括将经重构的差异值的集合和基准块的对应的(就数据位置而言)数据元素的相应值差异值加到一起。
在本文描述的方面和实施方式中,量化处理可以采取任何期望和适当形式。在实施方式中,应用量化处理可以包括相应地量化(例如,除以量化常数和/或截断和/或舍入)频域系数的集合的频域系数。量化可以由在对数据元素阵列编码时要使用的具体标准(例如,MPEG标准)来限定。
频域系数的集合可以包括频域系数的阵列。频域系数的集合在大小和/或形状上(就阵列元素而言)可以对应于差异值的集合、源块或基准块的大小和/或形状。
量化处理可以包括量化频域系数的集合的全部频域系数。
然而,申请人进一步认识到不总是必须量化频域系数的“完整”集合。这是因为大部分失真可以存在于频域系数的集合的仅子集中。
因而,在实施方式中,应用量化处理可以包括量化频域系数的集合的仅子集。这些实施方式通过减少所应用的量化的数量可以进一步显著减少用于选择在对数据元素阵列编码时要使用的编码选项的处理资源和功耗的量。
实际上相信这些实施方式是新的并且就其自身而言是有利的,而且不只是在本文描述的其他方面和实施方式的环境中。
因此,根据本发明的另一个方面,提供一种用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的方法,该方法包括以下步骤:
根据编码选项的具体集合:
生成表示所述数据元素阵列的数据元素的源块和从所述数据元素阵列的流的数据元素的一个或更多个阵列得到的数据元素的基准块之间的差异的差异值的集合;
通过对所述差异值的集合应用正向变换处理,生成用于所述差异值的集合的频域系数的集合;
通过对所述频域系数的集合应用量化处理,生成经量化的系数的集合;其中,应用所述量化处理的步骤包括量化所述频域系数的集合的仅子集;
从所述经量化的系数的集合确定用于所述编码选项的具体集合的比特计数值;
通过对所述经量化的系数的集合应用解量化处理,生成经解量化的系数的集合;
使用所述经解量化的系数的集合生成误差值的集合;
从所述误差值的集合确定用于所述编码选项的具体集合的失真值;以及
基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码。
根据本发明的另一个方面,一种用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的数据处理装置,该数据处理装置包括处理电路,该处理电路被配置为:
根据编码选项的具体集合:
生成表示所述数据元素阵列的数据元素的源块和从所述数据元素阵列的流的数据元素的一个或更多个阵列得到的数据元素的基准块之间的差异的差异值的集合;
通过对所述差异值的集合应用正向变换处理,生成用于所述差异值的集合的频域系数的集合;
通过对所述频域系数的集合应用量化处理,生成经量化的系数的集合;其中,应用所述量化处理的步骤包括量化所述频域系数的集合的仅子集;
从所述经量化的系数的集合确定用于所述编码选项的具体集合的比特计数值;
通过对所述经量化的系数的集合应用解量化处理,生成经解量化的系数的集合;
使用所述经解量化的系数的集合生成误差值的集合;
从所述误差值的集合确定用于所述编码选项的具体集合的失真值;以及
基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码。
在这些方面和实施方式中,经量化的频域系数的子集可以是频域系数的集合的任何期望和适当子集(即,一些但非全部)。经量化的频域系数的子集可以包括与未量化的剩余系数相比对比特计数值和/或失真值预期具有相对较大影响的系数。例如,被经量化的所述频域系数的子集可以包括所述频域系数的集合的相对较低的频率系数的子集。
在实施方式中,被量化的频域系数的子集可以包括(至少)频域系数的数量的部分(例如,1/4)。这可以(近似地)将量化处理的量减少相应部分(例如,约3/4)。例如,针对频域系数的8×8集合的64个量化可以减少到针对频域系数的4×4子集的16个量化。
在实施方式中,被量化的频域系数的子集可以包括朝向频域系数的阵列的左上的频域系数(例如,频域系数的阵列的系数的左上部分(例如,象限))。
在实施方式中,未完全量化的剩余频域系数可以按照期望处理。例如,剩余频域系数可以被被设定为所选择的值,诸如零。
如将理解的,被量化的频域系数的集合的仅子集被量化的这些方面和实施方式可以并且在一些实施方式中确实按照合适包括本文在任何方面或实施方式中描述的本发明的可选特征中的任一个或更多个。
因此,例如,在优选实施方式中,使用经解量化的系数的集合生成的误差值的集合可以表示经解量化的系数的集合和频域系数的集合之间的差异。用于编码选项的具体集合的失真值可以接着从误差值的集合生成。
然而,在其他较不优选的实施方式中,使用经解量化的系数的集合生成的误差值的集合可以表示经重构的源块和源块自身之间的差异(例如,如图1中所示)。这些实施方式可以还包括通过对经解量化(并且零化)的系数的集合应用反向变换处理来生成经重构的差异值的集合。这些实施方式可以还包括通过组合经重构的差异值的集合和基准块来生成经重构的源块。组合经重构的差异值的集合和基准块可以包括将经重构的差异值的集合和基准块的对应的(就数据位置而言)数据元素的相应值差异值加到一起。
作为另一个示例,在优选实施方式中,所述正向变换处理可以包括应用行变换的仅子集或列变换的仅子集。在这些实施方式中,被量化的频域系数的子集可以包括在应用正向变换处理时被完全计算的频域系数的子集。另选地,在其他较不优选的实施方式中,正向变换处理可以包括应用(行和列)正向变换的完整集合。
在本文描述的方面和实施方式中,比特计数值可以以任何期望和适当方式确定。在实施方式中,确定比特计数值可以包括计数用于表示经量化的系数的集合而需要的比特。
经量化的系数的集合可以包括经量化(并且零化)的系数的集合。经量化(并且零化)的系数的集合在大小和/或形状上(就阵列元素而言)可以对应于频域系数的集合、差异值的集合、源块和/或基准块的大小和/或形状。
在本文描述的方面和实施方式中,解量化处理可以采取任何期望和适当形式,例如,对应于量化处理的形式。在实施方式中,应用解量化处理可以包括相应地解量化(例如,乘以量化常数和/或用零填入)经量化的系数的集合的经量化(并且零化)的系数。解量化可以由在对数据元素阵列编码时要使用的具体标准(例如,MPEG标准)来限定。
经解量化的系数的集合可以包括经解量化(并且零化)的系数的集合。经解量化(并且零化)的系数的集合在大小和/或形状上(就阵列元素而言)可以对应于经量化(并且零化)的系数的集合、频域系数的集合、差异值的集合、源块和/或基准块的大小和/或形状。
在本文描述的方面和实施方式中,反向变换处理(如果应用)可以采取对应于正向变换处理的任何期望和适当形式。在实施方式中,反向变换处理可以是大致线性的和/或正交的和/或可逆的和/或离散的。反向变换处理可以由在对数据元素阵列编码时要使用的具体标准(MPEG标准)来限定。反向变换处理可以例如是反向离散余弦变换(DCT)。
在本文描述的方面和实施方式中,误差值的集合可以以任何期望和适当方式生成。
在一些实施方式中,误差值的集合表示所述频域系数的集合与所述经解量化的系数集合之间的差异。在这些优选实施方式中,生成误差值的集合可以包括从频域系数的集合的对应(就数据位置而言)频域系数的值分别减去经解量化的系数的集合的经解量化的系数的值,或相反。
然而,在其他较不优选的实施方式中,误差值的集合可以表示经重构的源块和源块自身之间的差异。在这些实施方式中,生成误差值的集合可以包括从源块的对应(就数据位置而言)数据元素的值分别减去经重构的源块的数据元素的值,或相反。
在本文描述的任意方面和实施方式中,误差值的集合可以包括误差值的阵列误差值的集合在大小和/或形状上(就阵列元素而言)可以对应于经解量化(并且零化)的系数的集合、经量化(并且零化)的系数的集合、频域系数的集合、差异值的集合、源块和/或基准块的大小和/或形状。
在本文描述的任意方面和实施方式中,针对编码选项的具体集合的失真值可以以任何期望和适当方式确定。在实施方式中,确定失真值可以包括确定误差值的集合的误差值的平方和。
在本文描述的任意方面和实施方式中,基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码可以以任何期望和适当方式进行。在实施方式中,选择是否根据编码选项的具体集合对源块编码可以包括基于比特计数值和失真值确定针对编码选项的具体集合的成本值,并且基于成本值选择是否根据所述编码选项的具体集合对所述源块编码。确定成本值可以包括组合比特计数值和失真值。比特计数值和失真值的组合可以是任何合适和期望组合,诸如比特计数值和失真值的加权组合。
在实施方式中,编码选项的具体集合可以在比特计数值和/或失真值和/或成本值是针对编码选项的相应不同集合确定的多个这些值中的最低的这种值时被选择。编码选项的具体集合还可以或者代替地在比特计数值和/或失真值和/或成本值低于针对这种值的选择阈值时被选择。
如将理解的,根据编码选项的具体集合进行的选择处理可以在使实际中针对编码选项的多个集合的每一个(例如,每个)集合分别进行。这可以允许选择例如编码选项的较适当的集合。如以上讨论的,编码选项的不同集合可以由期望的一个或更多个编码选项来表征,或可以关于编码选项不同。如以上讨论的,表征编码选项的集合的一个或更多个编码选项可以包括例如源块的具体大小(就数据元素而言)、得到基准块的具体方式等。
在本文描述的任意方面和实施方式中,选择在对数据元素的集合进行编码时要使用的编码选项的集合可以跟随有进行根据所选择的编码选项的集合对源块编码的编码处理。因而,数据处理装置可以包括被配置为根据所选择的编码选项的集合对源块执行编码处理的处理电路。
编码处理可以包括当选择了在对源块编码时要使用的编码选项的具体集合时根据所选择的编码选项的具体集合来对源块编码。另选地,编码处理可以包括当未选择在对源块编码时要使用的编码选项的具体集合时根据编码选项的具体集合来对源块编码。在此情况下,对应于源块的数据元素阵列的区域可以根据所选择的编码选项的不同集合来编码。
编码处理可以采取任何期望和适当形式。编码处理可以由在对数据元素阵列编码时要使用的标准(例如,MPEG标准)来限定。在实施方式中,编码处理可以包括熵编码。
如将理解的,编码处理可以包括针对所选择的编码选项的集合,生成表示在源块和基准块之间的差异的差异值的集合,通过对所述差异值的集合应用(例如,完整)正向变换处理生成用于所述差异值的集合的频域系数的集合,和/或通过对所述频域系数的集合应用(例如,完整)量化处理生成经量化的系数的集合。可以接着对经量化的系数的集合进行(例如,熵)编码。
如将理解的,对于与阵列的区域对应的源块进行的处理中的任何处理可以在实际中对与该区域对应或分别与阵列的多个(不同)区域对应的多个源块的每一个(例如,每个)源块分别进行。
如还将理解的,对于阵列进行的处理中的任何处理可以在实际中对于阵列的流的多个阵列的每一个(例如,每个)阵列分别进行。
在本文描述的任意方面或实施方式中,一旦被编码,经编码的源块和/或经编码的阵列和/或经编码的阵列的流可以按照任何期望和适当方式使用。例如,经编码的源块和/或经编码的阵列和/或经编码的阵列的流可以被输出,例如,存储在存储器中和/或被流传送到另一个设备。因而,数据处理装置可以包括输出电路(例如,写出电路),其被配置为输出(例如,写出)经编码的源块和/或经编码的阵列和/或经编码的阵列的流,例如到存储器或到另一个设备。一个或更多个运动向量如果被使用则也可以被按照类似方式输出。
经编码的源块和/或经编码的阵列和/或经编码的阵列的流可以之后取得和/或接收,例如,以解码。因而,数据处理装置可以包括输入电路(例如,读入电路),其被配置为输入(例如,读入)经编码的源块和/或经编码的阵列和/或经编码的阵列的流,例如从存储器。一个或更多个运动向量如果被使用则也可以被按照类似方式输入。
对源块编码可以跟随有对经编码的源块进行解码的解码处理。因此,数据处理装置可以包括被配置为进行对经编码的源块解码的解码处理的处理电路。解码处理可以按照任何期望和适当形式发生,例如,对应于在对经编码的源块编码时使用的编码处理。解码处理可以由在对数据元素阵列编码时使用了的标准(例如,MPEG标准)来限定。例如,解码处理可以包括熵解码。
如将理解的,(例如,熵)解码可以包括产生用于经编码的源块的经量化的系数的集合。解码处理可以接着包括通过对所述经量化的系数的集合应用(完整)解量化处理生成经解量化的系数的集合,通过对经解量化的系数的集合应用(完整)反向变换处理来生成经重构的差异值的集合,和/或通过组合经重构的差异值的集合和基准块来生成经重构的源块。组合经重构的差异值的集合和基准块可以包括将经重构的差异值的集合和基准块的对应的(就数据位置而言)数据元素的相应值差异值加到一起。
如所讨论的,基准块可以包括经运动补偿的预测块。解码可以因此还包括运动补偿处理,其应用一个或更多个运动向量到数据元素的一个或更多个经解码的阵列来得到基准块。
在本文描述的方面和实施方式中,一旦被确定,经解码的源块的数据元素可以以任何期望和适当方式使用。
例如,经解码的源块的数据元素可以被输出(例如,由输出(例如,显示器)处理器),例如,以显示。在这些实施方式中,数据元素阵列可以对应于图像,例如图像数据的帧,并且数据元素可以对应于像素。
如将理解的,对于经编码的阵列的经编码的源块进行的处理中的任何处理可以在实际中对于经编码的阵列的多个经编码的源块的每一个(例如,每个)阵列分别进行。
如还将理解的,对于经编码的阵列的流的经编码的阵列进行的处理中的任何处理可以在实际中对于经编码的阵列的流的多个经编码的阵列的每一个(例如,每个)阵列分别进行。
在任意方面或实施方式在本文描述的处理可以由任何期望和适当装置进行。例如,在任意方面或实施方式在本文描述的处理可以由视频处理器(编解码器)进行。在任意方面或实施方式在本文描述的数据处理装置可以因此包括或可以是视频处理器。因此,在任意方面或实施方式在本文描述的处理电路、输出电路或写出电路、输入电路或读入电路等可以形成视频处理器的一部分。在任意方面或实施方式在本文描述的数据处理装置可以包括或者可以是片上系统(SoC)或者可以形成片上系统(SoC)的一部分。
本文提到的存储器可以是数据处理装置的或者用于数据处理装置的任何期望和适当存储器。存储器可以外置于数据处理装置,例如,视频处理器和/或片上系统(SoC)。存储器可以例如是主存储器。
本发明可以用于数据处理装置可以提供和/或使用的全部形式的数据阵列,诸如用于显示的图像或帧。因此,如以上指示的,数据元素阵列可以包括图像数据和/或可以对应于图像数据的图像或帧。
在本发明中,本发明的各种功能可以在提供和/或使用数据元素阵列的单个数据(例如,图像)处理平台上进行。
如本领域技术人员将理解的,本发明的数据处理装置可以是整个数据处理系统的一部分,数据处理系统包括例如,主机(例如,中央)处理器。主机处理器可以例如执行要求由数据处理装置的数据处理的应用。主机处理器可以发送适当命令和数据到数据处理装置来控制其进行数据处理操作并且生成和/或使用由在主机处理器上执行的应用要求的输出。为了帮助,主机处理器可以执行用于数据处理装置的驱动器和/或可以执行汇编器来汇编要由数据处理装置的可编程执行单元执行的程序。
在实施方式中,装置或系统可以包括一个或更多个存储器和/或存储器设备和/或可以与包括一个或更多个存储器和/或存储器设备通信,其存储了本文描述的数据,和/或存储了用于进行本文描述的处理的软件。装置或系统可以包括显示器和/或可以与显示器通信,该显示器用于基于阵列的数据元素显示图像。装置或系统可以包括视频摄像头和/或与视频摄像头通信,该视频摄像头生成数据元素阵列。
本发明可以在任何适当系统中实现,诸如适当配置的计算机或基于微处理器的系统。在优选实施方式中,本发明在计算机和/或基于微处理器的系统中实现。
本发明的各个功能可以按照任何期望和适当方式进行。例如,本发明的步骤和功能可以在硬件或软件中按照期望实现。因此,除非相反指出,本发明的各个电路、功能元件、级、和“装置”可以包括可操作以进行各个步骤或功能等的适当处理器、控制器、功能单元、电路、处理逻辑、微处理器结构等,诸如可以被编程以按照期望方式操作的适当专用硬件元件(处理电路)和/或可编程硬件元件(处理电路)。
本发明的各个步骤或者功能等可以在给定处理器上并行地复制和/或进行。等同地,如果期望,则各个处理级可以共享处理电路等。
受制于执行以上讨论的具体步骤或功能等的任何硬件,系统可以另外包括数据处理装置和/或系统包括的任何一个或更多个或者全部通常功能单元等。
各个数据处理级因此可以按照任何期望和任何适当方式实现,并且可以分别进行任何期望和适当功能。类似地,各个数据可以按照任何适当和期望方式限定和存储。
本领域技术人员还将理解的是全部所描述的本发明的实施方式可以并且在实施方式中确实按照适当包括本文描述的特征的至少一个或更多个或者全部。
根据本发明的实施方式的方法可以至少部分地使用软件例如计算机程序来实现。由此,本发明的进一步的实施方式包括:计算机软件,该计算机软件当安装在数据处理器上时特别适用于执行本文描述的方法;计算机程序元件,包括计算机软件代码部分,当程序元件在数据处理器上运行时计算机软件代码部分用于进行本文描述的方法;以及计算机程序,包括代码,当程序在数据处理器上运行时该代码用于进行本文描述的方法的全部步骤。数据处理器可以是微处理器系统、可编程FPGA(现场可编程门阵列)等。
本发明还扩展到包括这种软件的计算机软件载体,当软件被用于操作包括数据处理器的数据处理装置或系统时,与所述数据处理器一起造成所述装置或系统执行本发明的方法的步骤。这种计算机软件载体可以是物理存储介质,诸如ROM芯片、CD ROM、RAM、闪速存储器或磁盘,或可以是信号,诸如通过电缆的电子信号、光学信号或诸如到卫星等的无线电信号。
还应理解的是不是本发明的方法的全部步骤需要由计算机软执行并且因此在进一步实施方式中包括计算机软件并且这些软件安装在计算机软件载体上以进行本文陈述的方法的步骤中的至少一个步骤。
本发明可以因此适当实现为计算机程序产品以与计算机系统一起使用。这种实现方式可以包括一系列计算机可读指令,固定或实体的、非暂时介质,诸如计算机可读介质,例如,磁盘、CD、DVD、ROM、RAM、闪速存储器或硬盘。还可以包括经由调制解调器或其他接口设备通过实体介质或非实体地可以发送到计算机系统的一系列计算机可读指令,实体介质包括但不限于光学或模拟通信线路,非实体包括使用无线技术,包括但不限于微波、红外或其他发送技术。一系列计算机可读指令实施先前描述的全部或一部分功能。
本领域技术人员将理解的是这些计算机可读指令可以用多个编程语言来编写以结合多种计算机架构或操作系统来使用。此外,这些指令可以使用任何目前或将来的存储技术来存储,包括但不限于半导体、磁、或光学的,或者使用任何目前或将来的通信技术发送,包括但不限于光学、红外或微波。认识到这种计算机程序产品可以作为伴随着打印或电子文档的可去除介质分配(例如,收缩性薄膜软件),预先加载了计算机系统,例如,在系统ROM上或固定盘上,或从服务器或电子公告板通过网络例如因特网或万维网分配。
附图说明
现在将仅通过示例并且参照附图描述本发明的各个实施方式,其中:
图1例示了确定针对编码选项的具体集合的成本值的方法;
图2示意地示出了根据本发明的实施方式的数据处理系统;
图3示意地示出了根据本发明的实施方式的视频处理器;
图4示出根据本发明的实施方式的基于成本值选择和使用编码选项的集合的方法;
图5A-图5C示出修改图1的方法以达到根据本发明的优选实施方式的确定成本值的方法的中间步骤;
图6例示了根据本发明的优选实施方式的确定针对编码选项的具体集合的成本值的方法;
图7A例示根据本发明的实施方式的正向变换处理的方法;以及
图7B例示根据本发明的实施方式的应用量化处理的方法。
具体实施方式
附图示出与本发明的实施方式有关的数据处理装置和系统的要素。如本领域技术人员将理解的,可以存在附图中没有例示的数据处理装置和系统的其他要素。还应注意的是附图仅是示意的,并且例如,在实践中所示出的要素可以共享显著的硬件电路,尽管在附图中它们示出为单独的要素。
如以上所讨论的,本发明的实施方式涉及包括在对数据元素阵列编码时要使用的选择编码选项的安排。本发明的各个实施方式将在对用于显示的图像数据的帧进行编码的环境中描述。然而,本文描述的概念可以等同地应用于对其他类型的数据阵列编码的环境。
图2示意地示出按照本发明的方式可以提供和使用已经编码的数据阵列(诸如用于显示的帧)的数据处理系统200的实施方式。
在此实施方式中,系统200包括片上系统(SoC)202的形式的数据处理装置。系统200还包括片下(主)存储器216、显示设备218和视频摄像头220。
SoC 202包括中央处理单元(CPU)204、图形处理单元(GPU)206、视频处理器208、显示控制器210、互联器212和存储器控制器214。
如图2所示,CPU 204、GPU 206、视频处理器208和显示控制器210经由互联器212彼此通信并且经由互联器212和存储器控制器214与存储器216通信。显示控制器210还与显示设备218通信。视频摄像头220还经由互联器212与SoC 202通信。
在以下实施方式中,视频处理器208从存储器216读入图像数据,将图像数据编码,接着输出经编码的图像数据,例如,以存储在存储器216中或流传送到其他设备。经编码的图像数据可以后来被取得和解码,例如,通过视频处理器208,或由其他设备接收和解码。经解码的图像数据可以接着被输出到显示设备218,例如由显示控制器210或由其他设备,以进行显示。
图3示出可以用于根据本发明的方式对数据元素阵列的流(诸如用于显示的帧)进行编码和解码的视频处理器208的进一步细节。
在此实施方式中,视频处理器208包括接口302,其经由互联器212可以提供要编码的当前“源”帧。以相似方式,接口302经由互联器212可以提供在对源帧进行编码时可以使用的一个或更多个先前和/或随后“基准”帧。
在此实施方式中,源帧被划分为要逐块编码的多个源块。每个源块初始地具有16×16个数据元素(像素)的大小。如果将提供较低成本的编码,则每个源块可以然而进一步划分为两个16×8或8×16源块或四个8×8源块。这些较小源块的每个源块还可以进一步划分为两个8×4或4×8源块或四个4×4源块,如果这将提供较低成本的编码。其他源块大小当然可以按照期望使用。
在此实施方式中,源块可以使用源帧自身内的其他块来编码,即,使用“帧内”模式编码。视频处理器208因此包括帧间搜索电路306,其针对源帧中的给定源块,在源帧自身内搜索在对该源块编码时考虑使用的一个或更多个适当候选基准块。一个或更多个候选基准块可以使用指示源块和关心的潜在基准块之间的相似性或差异的任何适当度量来选择,度量诸如绝对差异和(SAD)值。
在此实施方式中,一个或更多个基准帧还可以被划分为多个块(在尺寸上可以对应于源块),在对源帧编码时可以使用这些多个块,即,使用“帧间”模式编码。视频处理器208因此包括ME(运动估计)308,其针对源帧中的给定源块,在所述一个或更多个基准帧内搜索在对该源块编码时考虑使用的一个或更多个适当候选基准块。候选基准块可以通过使用运动向量(MV)来得到,运动向量描绘具体块或具体帧如何映射(例如,通过平移、旋转和/或缩放)到候选基准块。再次地,一个或更多个候选基准块可以使用指示源块和关心的潜在基准块之间的相似性或差异的任何适当度量来选择,度量诸如绝对差异和(SAD)值。
RDO(率失真优化)电路304接着使用用于该源块的候选基准块对于每个源块进行RDO处理。在此实施方式中,RDO电路304的输出包括用于具体源块的所选择的编码选项的集合(例如,具有以帧的数据元素而言的具体大小)。在此实施方式中,所选择的编码选项的集合还包括得到用于该源块的基准块的具体方式(例如,要使用的编码模式,例如,帧内、帧间、单向、双向、合并等模式;和/或要使用的运动向量)。
视频处理器208选择在对数据元素阵列的流(诸如图像数据的帧的流)的数据元素阵列编码时要使用的编码选项的集合的RDO处理将参照图4来描述。
在步骤402,视频处理器208的RDO电路304选择针对当前源块的区域要考虑的编码选项的集合。如以上讨论的,编码选项的集合可以是针对具体源块(例如,就帧的数据元素而言具有具体大小)和/或可以包括例如具体运动向量和/或用于得到针对该具体源块的基准块的具体编码模式(帧内、帧间、正向、后向、单向、双向、合并等模式)。
接着,在步骤404,视频处理器208的RDO电路304确定针对编码选项的集合的成本值。确定针对编码选项的具体集合的成本值的处理的进一步细节(例如,按照步骤404)将在以下提供。
接着,在步骤406,视频处理器208的RDO电路304确定是否针对该区域已经考虑编码选项的全部集合。
如果仍存在要考虑的编码选项,接着在步骤408选择编码选项的下一个集合,并且处理返回到步骤404以确定针对编码选项的下一个集合的成本值。例如,不同大小的源块和/或不同地得到的基准块可以被考虑。
如果考虑了编码选项的全部集合,则在步骤410,基于针对编码选项的不同集合的相应成本值选择编码选项的集合中的一个或更多个集合。在此实施方式中,选择具有最低成本的编码选项的集合。
接着,在步骤412,视频处理器208根据针对该源块所选择的编码选项的集合对针对该区域的一个或更多个源块中的每个源块编码。对源块编码的进一步细节(例如,按照步骤412)将在以下提供。
接着,在步骤412,视频处理器208将一个或更多个经编码的源块写出到存储器216。
如将理解的,以上图4的步骤将对源帧的每个区域并且对帧的流的每个帧进行,以生成并且存储经编码的帧的流。
在之后时间,当期望对源块解码时,在步骤416视频处理器208可以从存储器216读入经编码的源块。接着,在步骤418中,视频处理器208将经编码的源块解码。对经编码的源块解码的进一步细节(例如,按照步骤418)将在以下提供。
最后,在步骤420,视频处理器208输出经解码的源块,例如,到显示处控制器210,以在显示设备218上显示。
再次地,如将理解的,以上图4的步骤将对每个经编码的帧的每个经编码的源块进行,以生成并且存储经解码的帧的流。
还可以想到对图4的处理的各个另选实施方式。
例如,视频处理器208可以选择要考虑的编码选项的集合,并且可以确定针对编码选项的该集合的成本值。如果成本值低于阈值,则编码选项的集合可以被选择以在对数据元素阵列编码时使用。如果成本值不低于阈值,则视频处理器208可以用编码选项的不同集合重复处理。该处理可以继续直至发现具有适当低的成本值的编码选项的集合或直到达到终止条件为止。
举另一个例子,不是写出到存储器,经编码的阵列的流可以流传送到另一个设备。该另一个设备可以接着解码经编码的阵列的流并且输出经解码的阵列的流,例如,以显示。
用于确定针对编码选项的具体集合的成本值的处理(例如,按照图4的步骤404)将参照图1、图5A-图5C和图6详细描述。
如以上讨论的,图1示出确定针对编码选项的具体集合的成本值的处理100。
如以上讨论的,图1的ROD处理100包括从具体基准块(Pred)的数据元素减去(-)具体源块的数据元素(Src)以生成差异值的集合。接着对差异值的集合应用全正向离散余弦变换处理(F-DCT),以生成频域系数的集合。接着对频域系数的集合应用全量化处理(Q),以生成经量化的系数的集合。在此,对经量化的系数的集合应用比特计数处理(Bitcount),以确定在根据所考虑的编码选项的具体集合对阵列的区域进行编码时将发生的比特计数成本。
接着对经量化的系数的集合应用全解量化处理(DQ),以生成经解量化的系数的集合。接着对经解量化的系数的集合应用反向离散余弦变换处理(I-DCT),以生成经重构的差异值的集合。经重构的差异值的集合接着加(+)到基准块以生成经重构的源块。在此,接着从原始源块的数据元素减去(-)经重构的源块的数据元素的以生成误差值的集合。接着对误差值的集合应用平方和失真测量处理(Σx2),以确定在根据所考虑的编码选项的具体集合对阵列的区域进行编码接着解码时将引入的失真的量。
接着进行成本值处理(成本)以根据比特计数值和失真值确定针对编码选项的具体集合的整体成本值。在此示例中,成本值处理包括将成本值确定为比特计数值和失真值的加权和。
如以上所讨论的,图5A-图5C接着示出中间步骤,通过该中间步骤修改图1的处理100以达到根据本发明的优选实施方式的确定针对编码选项的具体集合的成本值的处理。
如图5A所示,通过在从原始源块(Src)减去经重构的源块之前,对原始源块(Src)应用正向变换处理(F)和反向变换处理(I),来初始地修改图1的处理100。
还如图5A所示,通过在将经重构的差异值的集合加(+)到基准块(Pred)之前,对基准块(Pred)应用正向变换处理(F)和反向变换处理(I),进一步地修改图1的处理100。
因为变换处理是可逆的,所以这些修改能够进行。如将理解的,应用正向变换处理(F)接着其反向变换处理(I)等效于应用识别操作并且因此对源块(Src)或基准块(Pred)不具有影响。图5A的处理因此等效于图1的处理100。
如图5B所示,通过将三个反向变换处理(1×I-DCT和2×I)组合为在加(+)和减(-)的另一侧并且紧在进行平方和误差测量处理(Σx2)之前应用的单个反向变换处理(I-DCT),接着修改图5A的处理。因为反向变换处理是线性的,所以这些修改能够进行。图5B的处理因此也等效于图1的处理100。
如图5C所示,通过将加(+)和减(-)处理重新排列为等效于加(+)和减(-)处理的两个减(-)处理,接着修改图5B的处理。
还如图5C所示,通过整个去除反向变换处理(I-DCT),进一步修改图5B的处理。该修改得到图1的处理100的近似,但是已经发现该近似产生可接受的结果。这是因为帕塞瓦尔定理可以应用于反向变换处理,并且平方和(Σx2)在变换下基本上不变。
如以上讨论的,图6接着示出根据本发明的优选实施方式的确定针对编码选项的具体集合的成本值的处理600。
如图6所示,通过将三个正向变换处理(1×F-DCT和2×F)组合为紧在应用量化处理(Q)之前应用到差异值的集合的单个正向变换处理(F-DCT),最终地修改图5C的处理。再次地,正向变换处理是线性的,所以这些修改能够进行。
因而,图6的ROD处理600包括从具体基准块(Pred)的数据元素减去(-)具体源块的数据元素(Src)以生成差异值的集合。接着对差异值的集合应用正向离散余弦变换处理(F-DCT),以生成频域系数的集合。接着对频域系数的集合应用量化处理(Q),以生成经量化的系数的集合。在此,对经量化的系数的集合应用比特计数处理(Bitcount),以确定在根据所考虑的编码选项的具体集合对阵列的区域进行编码时将发生的比特计数成本。
接着对经量化的系数的集合应用解量化处理(DQ),以生成经解量化的系数的集合。在此,接着从频域系数的集合减去(-)经解量化的系数的集合,以生成误差值的集合。接着对误差值的集合应用平方和失真测量处理(Σx2),以确定在根据所考虑的编码选项的具体集合对阵列的区域进行编码接着解码时将引入的失真的量。
接着进行成本值处理(成本)以根据比特计数值和失真值确定针对编码选项的具体集合的整体成本值。在此实施方式中,成本值处理包括将成本值确定为比特计数值和失真值的加权和。
因而,在图6的处理600中,用于确定失真值的误差值的集合直接从经解量化的系数的集合和频域系数的集合生成,而不是从源块的经重构版本和原始块源块自身生成(如在图1的处理100中的情况)。这意味着不需要进行反向变换处理来生成经重构的源块(这对于处理资源和功耗而言会是昂贵的)。
图6的处理600可以因此显著减少用于选择在对数据元素阵列编码时要使用的编码选项的处理资源和功耗的量。
在本实施方式中,通过对差异值的阵列的行应用相应的正向变换,但接着对所得的经行变换的阵列的列的仅子集应用相应正向变换,进一步改进了图6的处理600。因为帕塞瓦尔定理适用并且失真值在变换处理下基本上不变,所以这是可能的。
例如,图7A例示了如何可以对差异值的阵列700的全部8行702应用正向变换,接着对所得的经行变换的阵列的列704中的仅4个应用正向变换。因而,在此实施方式中,应用16个正向变换的完全集合的仅12个(即3/4)。这节省了应用正向变换需要的处理的约1/4。
如将理解的,在其他实施方式中,可以对所得的经行变换的阵列的列的不同子集应用相应的正向变换。在再一个实施方式中,可以对差异值的阵列的全部列应用相应的正向变换,但是对所得的经列变换的阵列的行的仅子集应用相应的正向变换。
在本实施方式中,通过对频域系数的完整阵列的较低频率系数的仅子集应用量化处理,频域系数的阵列的其他系数被设定为零,进一步改进了图6的处理600。因为大部分失真存在于频域系数的集合的低频率系数中,所以这是可能的。
例如,图7B指示频域系数的阵列706的左上象限708的较低频率系数的子集被应用量化处理。在此实施方式中,较低频率系数的子集对应于在图7A中完全计算的频域系数的子集。频域系数的阵列706的其他3个象限710的系数被设定为零。因而,在此实施方式中,应用64个频域系数的阵列706的仅16个(即1/4)。这节省了应用量化处理要求的处理的3/4。
如将理解的,在其他实施方式中,可以对频域系数的阵列的频率系数的其他子集应用量化处理。
在其他较不优选的实施方式中,参照图7A和/或图7B描述的对正向变换处理进行的改进可以应用于图1的处理100而不是图6的处理600。
使用所选择的编码选项的集合(例如,按照图4的步骤412)对源帧的源块编码的处理将现在参照图3进行描述。
首先,提供要用于对所选择的源块编码的所选择的基准块。例如,在源块要以帧间模式来编码的情况下,MC(运动补偿)电路310对所选择的基准帧来得到所选择的基准块应用将由ME电路生成的所选择的运动向量。相似地,在源块要以帧内模式来编码的情况下,由TRF(变换)电路312得到源帧的所选择的基准块。
在任一情况下,TRF电路312接着从所选择的基准块的数据元素减去所选择的源块的数据元素以生成差异值的集合。TRF电路312接着对差异值的集合应用全正向离散余弦变换处理,以生成频域系数的集合。TRF电路接着对频域系数的集合应用全量化处理以生成经量化的系数的集合。
比特流编码器/解码器314接着对用于由TRF电路312生成的源块的系数进行编码。编码方案可以包括任何适当的熵(可变长度)编码方案。
如将理解的,以上编码处理使用用于源帧的所选择的编码选项的集合针对源帧的每个所选择的源块重复。
比特流编码器/解码器314的输出因此是经编码的比特流,其包括经编码的系数的集合。在编码处理中使用了的所选择的模式和/或运动向量也包括在比特流中。
经编码的比特流可以接着经由接口302输出到例如存储器216或流传送到其他设备。
对经编码的源块进行解码的处理(例如,按照图4的步骤416)现在将参照图3描述。
首先,提供经编码的比特流,例如,经由接口302,从存储器216或从另一个设备。
比特流编码器/解码器314接着对经编码的比特流解码以针对要被重构的源块生成经量化的系数的集合。解码方案可以包括对应于对比特流进行编码使用了的熵编码方案的任何适当解码方案。
TRF电路接着对经量化的系数的集合应用全解量化处理以针对要被重构的源块生成频域系数的集合。TRF电路接着对频域系数的集合应用全反向离散余弦变换处理以针对要被重构的源块生成差异值的集合。
还提供对源块编码使用了的基准块。例如,在源块以帧间模式编码的情况下,从先前重构的基准帧得到相关的基准块。相似地,在源块以帧内模式编码的情况下,从源帧的先前重构的区域得到相关的基准块。
在每种情况下,TRF电路312接着将差异值的集合加到基准块的数据元素,以生成经重构的源块的数据元素。
如将理解的,以上解码处理针对源帧的每个源块重复。
接着使用环路滤波器316来平滑或“解块”经重构的源帧的区域。经重构的源帧可以经由接口302来输出,例如以显示。
数据处理系统200、数据处理装置202和视频处理器208的其他排布当然将是可能的。
再次应注意的是附图仅是示意的,并且例如,在实践中所示出的要素可以共享显著的硬件电路,尽管在附图中它们示出为单独的要素。例如,在RDO处理中进行的处理(例如,运动补偿、变换、量化等)中的一个或更多个可以使用与在编码和/或解码处理中进行的等效步骤相同电路进行。
从以上可见本发明至少在其优选实施方式提供较有效的方式来选择在对数据元素阵列编码时要使用的编码选项,但是没有不利地显著降低进行的选择处理的效率。例如,在优选实施方式中,质量退化测量为<0.05dB。
这至少在本发明的优选实施方式中通过基于编码选项的集合的比特计数值和失真值选择编码选项的集合来实现,其中,失真值根据表示频域系数的集合和经解量化的系数的集合之间的差异的误差值的集合来确定。这进一步至少在本发明的优选实施方式中通过应用行变换的仅子集或列变换的仅子集来生成频域系数的集合来实现。这进一步至少在本发明的优选实施方式中通过量化频域系数的集合的仅子集生成经量化的系数的集合来实现。

Claims (13)

1.一种用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的方法,该方法包括以下步骤:
根据编码选项的具体集合:
生成表示所述数据元素阵列的数据元素的源块和从数据元素阵列的所述流的数据元素的一个或更多个阵列得到的数据元素的基准块之间的差异的差异值的集合;
通过对所述差异值的集合应用正向变换处理,生成用于所述差异值的集合的频域系数的集合;
通过对所述频域系数的集合应用量化处理,生成经量化的系数的集合;
从所述经量化的系数的集合确定用于所述编码选项的具体集合的比特计数值;
通过对所述经量化的系数的集合应用解量化处理,生成经解量化的系数的集合;
使用所述经解量化的系数的集合生成误差值的集合,其中,所述误差值的集合表示所述频域系数的集合与所述经解量化的系数的集合之间的差异;
从所述误差值的集合确定用于所述编码选项的具体集合的失真值;以及
基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码。
2.根据权利要求1所述的方法,其中,所述正向变换处理包括应用行变换的仅子集或列变换的仅子集。
3.根据权利要求2所述的方法,其中,所述行变换的子集或所述列变换的子集中的变换的数目是差异值的阵列的行或列的数量的1/2。
4.根据权利要求1所述的方法,其中,应用所述量化处理的步骤包括量化所述频域系数的集合的仅子集。
5.根据权利要求4所述的方法,其中,被量化的所述频域系数的所述子集包括所述频域系数的集合的相对较低的频率系数的子集。
6.根据权利要求4所述的方法,其中,被量化的所述频域系数的所述子集是所述频域系数的集合的1/4。
7.一种用于选择在对数据元素阵列的流的数据元素阵列编码时要使用的编码选项的数据处理装置,该数据处理装置包括处理电路,该处理电路包括:
比特计数确定电路,所述比特计数确定电路被配置为:根据编码选项的具体集合:
生成表示所述数据元素阵列的数据元素的源块和从所述数据元素阵列的所述流的数据元素的一个或更多个阵列得到的数据元素的基准块之间的差异的差异值的集合;
通过对所述差异值的集合应用正向变换处理,生成用于所述差异值的集合的频域系数的集合;
通过对所述频域系数的集合应用量化处理,生成经量化的系数的集合;以及
从所述经量化的系数的集合确定用于所述编码选项的具体集合的比特计数值;
失真值确定电路,所述失真值确定电路被配置为:
通过对所述经量化的系数的集合应用解量化处理,生成经解量化的系数的集合;
使用所述经解量化的系数的集合生成误差值的集合,其中,所述误差值的集合表示所述频域系数的集合与所述经解量化的系数的集合之间的差异;
从所述误差值的集合确定用于所述编码选项的具体集合的失真值;以及编码选项选择电路,所述编码选项选择电路被配置为:
基于所述比特计数值和所述失真值选择是否根据所述编码选项的具体集合对所述源块编码。
8.根据权利要求7所述的装置,其中,所述正向变换处理包括应用行变换的仅子集或列变换的仅子集。
9.根据权利要求8所述的装置,其中,所述行变换的子集或所述列变换的子集中的变换的数目是差异值的阵列的行或列的数量的1/2。
10.根据权利要求7所述的装置,其中,所述比特计数确定电路被配置为当应用所述量化处理时,量化所述频域系数的所述集合的仅子集。
11.根据权利要求10所述的装置,其中,被量化的所述频域系数的所述子集包括所述频域系数的集合的相对较低的频率系数的子集。
12.根据权利要求10所述的装置,其中,被量化的所述频域系数的所述子集是所述频域系数的集合的1/4。
13.一种计算机可读存储介质,该计算机可读存储介质存储了计算机软件代码,当该软件代码在数据处理器上执行时进行根据权利要求1所述的方法。
CN201710930048.6A 2016-10-03 2017-10-09 选择编码选项的方法、数据处理装置、计算机可读存储介质 Expired - Fee Related CN107896331B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1616794.2A GB2554680B (en) 2016-10-03 2016-10-03 Selecting encoding options
GB1616794.2 2016-10-03

Publications (2)

Publication Number Publication Date
CN107896331A CN107896331A (zh) 2018-04-10
CN107896331B true CN107896331B (zh) 2021-10-08

Family

ID=57570984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710930048.6A Expired - Fee Related CN107896331B (zh) 2016-10-03 2017-10-09 选择编码选项的方法、数据处理装置、计算机可读存储介质

Country Status (4)

Country Link
US (1) US10560708B2 (zh)
KR (1) KR102354337B1 (zh)
CN (1) CN107896331B (zh)
GB (1) GB2554680B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554680B (en) 2016-10-03 2020-04-01 Advanced Risc Mach Ltd Selecting encoding options
GB2567835B (en) 2017-10-25 2020-11-18 Advanced Risc Mach Ltd Selecting encoding options
GB2578633B (en) * 2018-11-02 2021-10-13 Advanced Risc Mach Ltd Encoding data arrays

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104429083A (zh) * 2012-07-10 2015-03-18 高通股份有限公司 译码用于视频译码的定时信息
CN105794212A (zh) * 2013-10-23 2016-07-20 高通股份有限公司 使用mpeg-2系统来运载视频译码标准扩展位流数据

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US7151800B1 (en) * 2000-01-15 2006-12-19 Sony Corporation Implementation of a DV video decoder with a VLIW processor and a variable length decoding unit
KR100603592B1 (ko) * 2001-11-26 2006-07-24 학교법인 고황재단 영상 화질 향상 인자를 이용한 지능형 파문 스캔 장치 및 그 방법과 그를 이용한 영상 코딩/디코딩 장치 및 그 방법
WO2003056839A1 (en) 2001-12-31 2003-07-10 Stmicroelectronics Asia Pacific Pte Ltd Video encoding
US20050094729A1 (en) * 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
US20050276493A1 (en) * 2004-06-01 2005-12-15 Jun Xin Selecting macroblock coding modes for video encoding
US8059721B2 (en) * 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8351513B2 (en) * 2006-12-19 2013-01-08 Allot Communications Ltd. Intelligent video signal encoding utilizing regions of interest information
US8019804B2 (en) * 2007-03-26 2011-09-13 City University Of Hong Kong Method and apparatus for calculating an SSD and encoding a video signal
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8023562B2 (en) * 2007-09-07 2011-09-20 Vanguard Software Solutions, Inc. Real-time video coding/decoding
KR101420878B1 (ko) * 2007-11-22 2014-07-21 삼성전자주식회사 동영상 프레임의 선택적 오류 은폐 방법 및 장치
NO328906B1 (no) * 2007-12-19 2010-06-14 Tandberg Telecom As Fremgangsmate for forbedring av farveskarphet i video- og stillbilder
US8369638B2 (en) * 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
KR101557504B1 (ko) * 2009-04-13 2015-10-07 삼성전자주식회사 채널 적응형 비디오 전송 방법, 이를 이용한 장치 및 이를 제공하는 시스템
US8654859B1 (en) * 2009-12-17 2014-02-18 Ambarella, Inc. Low cost rate-distortion computations for video compression
US9462280B2 (en) * 2010-12-21 2016-10-04 Intel Corporation Content adaptive quality restoration filtering for high efficiency video coding
CA2828013C (en) * 2011-02-25 2016-07-26 Blackberry Limited Methods and devices for data compression using offset-based adaptive reconstruction levels
TWI678103B (zh) * 2011-11-03 2019-11-21 美商太陽專利信託 用於解區塊之有效修整技術(三)
US10616581B2 (en) * 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
EP2805492B1 (en) * 2012-01-19 2018-11-14 VID SCALE, Inc. System and method of video coding quantization and dynamic range control
US10097825B2 (en) * 2012-11-21 2018-10-09 Qualcomm Incorporated Restricting inter-layer prediction based on a maximum number of motion-compensated layers in high efficiency video coding (HEVC) extensions
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
US9787989B2 (en) * 2013-06-11 2017-10-10 Blackberry Limited Intra-coding mode-dependent quantization tuning
US9554152B2 (en) * 2013-07-12 2017-01-24 Qualcomm Incorporated Concurrent processing of horizontal and vertical transforms
US9648330B2 (en) * 2013-07-15 2017-05-09 Qualcomm Incorporated Inter-color component residual prediction
US9648332B2 (en) * 2013-10-28 2017-05-09 Qualcomm Incorporated Adaptive inter-color component residual prediction
US9628800B2 (en) * 2013-11-18 2017-04-18 Qualcomm Incorporated Adaptive control for transforms in video coding
US9807398B2 (en) * 2014-09-30 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Mode complexity based coding strategy selection
US10306269B2 (en) * 2014-10-10 2019-05-28 Qualcomm Incorporated Operation point for carriage of layered HEVC bitstream
US9654782B2 (en) * 2014-11-07 2017-05-16 Qualcomm Incorporated Low complexity coding based on dynamic mode decision branching
GB2554680B (en) 2016-10-03 2020-04-01 Advanced Risc Mach Ltd Selecting encoding options

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104429083A (zh) * 2012-07-10 2015-03-18 高通股份有限公司 译码用于视频译码的定时信息
CN105794212A (zh) * 2013-10-23 2016-07-20 高通股份有限公司 使用mpeg-2系统来运载视频译码标准扩展位流数据

Also Published As

Publication number Publication date
GB201616794D0 (en) 2016-11-16
CN107896331A (zh) 2018-04-10
GB2554680A (en) 2018-04-11
KR20180037124A (ko) 2018-04-11
US20180098078A1 (en) 2018-04-05
GB2554680B (en) 2020-04-01
US10560708B2 (en) 2020-02-11
KR102354337B1 (ko) 2022-01-21

Similar Documents

Publication Publication Date Title
CN109756734B (zh) 对数据阵列进行编码的方法和设备
US20200288133A1 (en) Video coding method and apparatus
KR20210050186A (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
CN107211131B (zh) 对数字图像块进行基于掩码的处理的系统和方法
TW201340717A (zh) 在變換單元內之多符號位元隱藏
US10742976B2 (en) Systems and methods for processing a block of a digital image
CN107896331B (zh) 选择编码选项的方法、数据处理装置、计算机可读存储介质
JP2009027698A (ja) 画像フレームの非フレームエッジブロックの表現における改良された圧縮
KR20210024624A (ko) 이미지 인코딩 방법, 디코딩방법, 인코더 및 디코더
US10616585B2 (en) Encoding data arrays
JP7242571B2 (ja) 画像をエンコーディング及びデコーディングする方法、エンコーディング及びデコーディング装置、並びに、対応するコンピュータプログラム
CN111147866B (zh) 对数据阵列进行编码
KR102267792B1 (ko) 이미지 블록에 관한 픽셀-도메인 전처리 동작들에 기초한 이미지 블록 코딩
US10979704B2 (en) Methods and apparatus for optical blur modeling for improved video encoding
KR102323395B1 (ko) 로우-퀄리티 부호화 모드에 따라 영상을 부호화하는 방법 및 장치, 및 영상을 복호화하는 방법 및 장치
US10924738B2 (en) Selecting encoding options
KR20200044662A (ko) 영상의 ai 부호화 및 ai 복호화를 위한 장치, 및 방법
US10764607B2 (en) Data processing systems for encoding video data
KR20160072038A (ko) 비디오 데이터 처리 시스템
US10218978B2 (en) Data processing systems
US20240064331A1 (en) Image decoding apparatus and method and image encoding apparatus and method
US20230145525A1 (en) Image encoding apparatus and image decoding apparatus both using artificial intelligence, and image encoding method and image decoding method performed by the image encoding apparatus and the image decoding apparatus
US20230044603A1 (en) Apparatus and method for applying artificial intelligence-based filtering to image
US10694190B2 (en) Processing apparatuses and controlling methods thereof
KR20230065888A (ko) Ai 기반 필터링을 위한 영상 처리 방법 및 장치

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20211008

CF01 Termination of patent right due to non-payment of annual fee