CN109756734B - 对数据阵列进行编码的方法和设备 - Google Patents
对数据阵列进行编码的方法和设备 Download PDFInfo
- Publication number
- CN109756734B CN109756734B CN201811305804.7A CN201811305804A CN109756734B CN 109756734 B CN109756734 B CN 109756734B CN 201811305804 A CN201811305804 A CN 201811305804A CN 109756734 B CN109756734 B CN 109756734B
- Authority
- CN
- China
- Prior art keywords
- array
- data
- data elements
- domain coefficients
- quantized
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 197
- 230000008569 process Effects 0.000 claims description 107
- 238000003491 array Methods 0.000 claims description 71
- 238000013139 quantization Methods 0.000 claims description 32
- 241000023320 Luma <angiosperm> Species 0.000 abstract description 21
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 abstract description 21
- 238000012545 processing Methods 0.000 description 69
- 230000015654 memory Effects 0.000 description 26
- 239000013598 vector Substances 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
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)处理)。
图1例示了该处理100,该处理选择用于数据阵列的源数据元素块的编码选项,使用所选的编码选项来对源块编码,随后解码已编码的块,以便使用。
如图1所示,对于要编码的给定源(例如,视频)帧,选择对于源帧的区域考虑的编码选项的集合(步骤102)。
然后对于编码选项的该集合确定成本值(步骤104)。对于要考虑的编码选项的各集合重复这一点(步骤106和步骤108)。
一旦已经考虑编码选项的所有集合,那么选择编码选项的集合中的一个或更多个,作为用于源帧块的编码选项(步骤110),然后根据用于区域的一个或更多个源块中的每一个的编码选项的所选集合,来编码该源块(步骤112)。
然后例如将已编码的源块写出到存储器(步骤114),随后读取并且解码,以便输出(例如,显示)(步骤116、118以及120)。
如以上所讨论的,上述编码处理的一个元素是:评定并且比较用于要编码的源帧的块的不同编码可能性的成本。这通常使用RDO处理来进行。
图2中示出了用于计算用于考虑中的编码选项的一个特定集合的成本值的示例RDO处理500。
图2的RDO处理500初始包括从特定参考(预测)块(Pred)的数据元素减去(-)区域的特定源块(Src)的数据元素,以生成差值的集合(“残差”的集合)。
参考(预测)块(Pred)可以是源帧本身内的另一个块(即,使用“内部”模式编码),或者它可以为由帧序列的一个或更多个其他帧形成的块(即,使用“之间”模式编码)。在后者的情况下,可以使用运动估计处理来在一个或更多个参考帧内搜索考虑在对源块编码时使用的一个或更多个合适的候选参考块。这种候选参考块可以通过使用运动向量来导出,该运动向量描述了特定帧的特定块如何映射(例如,由平移、旋转和/或缩放)到该候选参考块。使用的适当参考(预测)块可以使用指示源块与讨论中的潜在参考块之间的相似性或差的任意合适度量(诸如绝对差和(SAD)值)来选择。
然后向差值(残差)的集合应用正向离散余弦变换处理(F-DCT),以生成频域系数的集合。然后向频域系数的集合应用量化处理(Q),以生成量化频域系数的集合。
这些步骤本质上重复将在例如使用熵编码对源块的频域系数编码之前应用的步骤。由此,此时,可以向量化频域系数的集合应用位计数处理(Bitcount),以确定将在根据考虑中的编码选项的特定集合对源块编码时引致的位计数成本。
位计数处理还可以考虑其他位成本,诸如指定所用预测类型所需的位的度量(如果期望)。
然后向量化频域系数的集合应用去量化处理(DQ),以生成已去量化系数的集合。然后向已去量化频域系数的集合应用逆离散余弦变换处理(I-DCT),以生成所重构差值的集合。然后将所重构差值的集合加(+)到参考(预测)块,以生成所重构源块。
这些步骤本质上重复将被应用为继解码源块的编码频域系数之后重构源块的步骤。由此,此时,从原始源块的数据元素减去(-)所重构源块的数据元素,以生成误差值的集合,然后向误差值的集合应用和平方失真度量处理(Σx2),以确定将在根据考虑中的编码选项的特定集合编码和然后解码源块时引入的失真的总量。
然后执行成本值处理(Cost),以从位计数值和失真值确定编码选项的特定集合的总成本值。
如图1所示,根据用于区域的编码选项的各种不同集合(例如,不同源块尺寸、不同导出的参考块等)重复图2的RDO处理,以产生编码选项的那些不同集合中的每一个的成本值。然后基于编码选项的不同集合的成本值选择在对阵列编码的区域时使用的编码选项的一个或更多个集合。
(跨数据元素阵列重复RDO处理,以选择在编码数据元素阵列的剩余区域时使用的编码选项的集合。)
如以上所讨论的,根据许多编码标准对数据(例如,视频)的阵列编码的一个方面是频域系数的集合的导出和编码,频域系数在频域中表示所编码的块与参考(例如,预测)块之间的差(残差)。
许多例如视频编码布置和标准支持对于所编码的源块根本不编码任何(量化)频域系数的选项(使得块在解码器处(在被解码的帧中),将仅依赖并且使用参考(例如,预测)块来表示所编码的阵列(帧)的该部分)。
省略所编码的块的(量化)频域系数的编码的决策例如可以基于:在省略(量化)频域系数的编码时的增大图像失真与将由不编码频域系数提供的位的减少的比较(在增益被确定为超过损耗时省略块的(量化)频域系数的编码)。已经省略(量化)频域系数的编码的块通常像这样地指示在表示数据阵列(例如,视频帧)的编码比特流中,使得解码器可以识别这种块的存在并且因此将参考(例如,预测)块再用于该块(不向该块添加任何差或残差)。
视频数据(视频帧)经常被提供为“YUV”颜色空间中的数据。YUV颜色由表示颜色的亮度的“亮度”(Y)值和表示颜色的色度信息的两个“色度”值(U和V)来描述。
在“YUV”视频数据的情况下,例如,对于表示例如视频帧的数据阵列内的各数据元素,将存储适当的亮度(Y)和色度(U和V)值。在这种布置中,亮度部分(“亮度”)通常与两个色度部分(“色度”)单独地编码。具体地,参考(例如,预测)块与源块之间的差(“残差”)通常对于视频数据的色度和亮度部分单独编码。
在确定用于编码帧YUV视频数据的编码选项时,可以仅考虑亮度数据元素,因为亮度数据元素例如可以单独用于建立要用于运动估计处理的任意运动,并且同样地,从亮度数据元素确定的运动估计(预测)的结果通常也可以令人满意地用于帧的色度部分。由此,例如可以仅使用视频帧的亮度数据来执行运动估计处理,并且可以将该亮度处理的结果应用于视频帧的色度部分,不实际测试视频本身的色度部分。这然后可以允许例如省略色度数据元素的运动估计处理,从而节省执行时间和能力这两者。
在运动估计处理仅考虑YUV数据阵列(例如,视频帧)的亮度部分的情况下,那么该运动估计因此将识别可以省略亮度部分的(量化)频域系数的编码的块(即,对于参考块与所编码的源块之间的差(残差)将没有亮度量化频域系数的块)。
虽然在这种布置中将可以在每当已经省略亮度块的(量化)频域系数的编码时还对应地也省略讨论中的块的色度部分的量化频域残差(差)的编码,但申请人已经认识到,这可能导致并且引起所重构图像中不想要的颜色伪影。由此,仅基于所编码的YUV数据阵列的亮度部分的运动估计分析来省略数据阵列的色度部分的块的(量化)频域系数的编码可能导致所重构数据阵列中的不期望失真和伪影。
另一方面,申请人已经认识到,执行全分析来确定何时可以省略待编码的YUV数据阵列的块的色度部分的(量化)频域系数的编码将增大对编码处理的处理负担,并且具体地,在选择待编码的YUV数据阵列的块的编码选项时潜在地否定要通过仅考虑数据阵列的亮度部分获得的任何优点。
申请人因此相信还存在针对用于编码YUV数据阵列(诸如以YUV格式编码的视频数据的帧)的改进技术的范围。
发明内容
这里所描述的技术的第一实施方式包括:对数据元素阵列流中的数据元素阵列进行编码的方法,其中,数据元素阵列作为亮度数据值和色度数据值的相应集合而编码,并且作为组成数据元素阵列的数据元素块而编码,该方法包括以下步骤:
在对待编码的数据阵列的源数据元素块的色度数据值进行编码时:
生成色度差值阵列,该色度差值阵列表示所编码的数据元素阵列的源数据元素块的色度值与从数据元素阵列流中的一个或更多个数据元素阵列的色度值导出的参考数据元素块的色度值之间的差;
通过向色度差值阵列应用正向变换处理,来生成色度差值阵列的色度值频域系数阵列;
通过对色度值频域系数阵列应用量化处理,来生成量化色度值频域系数阵列;
确定是否指示了省略所编码的数据元素阵列块的亮度数据值的量化频域系数的编码;以及
当确定为指示了省略用于所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示数据元素阵列的输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性确定为在表示数据元素阵列的输出编码比特流中省略量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中未包括用于量化色度值频域系数阵列的数据。
这里所描述的技术的第二实施方式包括:用于对数据元素阵列流中的数据元素阵列进行编码的设备,其中,数据元素阵列作为亮度数据值和色度数据值的相应集合而编码,并且作为组成数据元素阵列的数据元素块而编码,该设备包括:
差值生成电路,该差值生成电路能够进行工作而生成色度差值阵列,该色度差值阵列表示所编码的数据元素阵列的源数据元素块的色度值与从数据元素阵列流中的一个或更多个数据元素阵列的色度值导出的参考数据元素块的色度值之间的差;
频域系数生成电路,该频域系数生成电路能够进行工作而通过向色度差值阵列应用正向变换处理,来生成色度差值阵列的色度值频域系数阵列;
量化电路,该量化电路能够进行工作而通过对色度值频域系数阵列应用量化处理,来生成量化色度值频域系数阵列;
编码确定电路,该编码确定电路能够进行工作而:
确定是否指示了省略所编码的数据元素阵列块的亮度数据值的量化频域系数的编码;以及
当确定为指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示数据元素阵列的输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性来确定在表示数据元素阵列的输出编码比特流中省略量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中未包括用于量化色度值频域系数阵列的数据。
附图说明
现在将仅以示例的方式并且参照附图来描述这里所描述技术的各种实施方式,附图中:
图1示出了基于成本值选择并且使用编码选项的集合的方法;
图2例示了确定编码选项的特定集合的成本值的方法;
图3示意性示出了根据这里所描述的技术的实施方式的数据处理系统;
图4示意性示出了根据这里所描述的技术的实施方式的视频处理器;
图5示出了用于确定是否省略用于所编码的数据阵列的块的亮度数据值的量化频域系数的编码的处理;以及
图6示出了用于确定是否省略用于所编码的数据阵列的块的色度数据值的量化频域系数的编码的处理。
具体实施方式
这里所描述的技术涉及在YUV颜色空间中表示的、诸如视频帧这样的数据元素阵列的编码。在这里所描述的技术中,分别编码数据阵列的亮度和色度部分,并且在编码数据阵列的色度部分时,一旦已经确定所编码的数据阵列的块的数据阵列的色度部分的量化频域系数,那么是否指示了省略基于讨论中的数据元素块的亮度部分的量化频域系数的编码、以及所确定的量化色度值频域系数的一个或更多个特性,关于在表示编码后的数据元素阵列的输出比特流中是否应包括表示块的色度部分的所确定量化频域系数的数据的包括,来进行决策。
换言之,指示了省略不是在数据元素的YUV阵列的对应亮度部分的量化频域系数的编码的情况下简单地自动省略阵列的色度部分的量化频域系数的编码,而是在决定是否省略讨论中的数据元素阵列的部分(块)的色度部分(数据值)的量化频域系数的编码之前,基于所确定的量化色度值频域系数的特性进行另外的检查。
如以下将进一步讨论的,这然后可以允许与数据阵列的亮度部分相比(并且逐块地)对于数据阵列的色度部分进行不同的“省略”决策,但不需要例如执行量化色度值频域系数及其编码的全和/或更复杂的分析,来确定是否省略量化色度值频域系数的编码。这里所描述的技术因此可以提供这样一种机制,该机制可以促进在用于确定是否省略所编码的数据元素的YUV阵列的色度部分的量化频域系数的编码的编码处理中的更佳决策,但同时仍然使用较资源和时间高效的处理(例如与为该目的执行更复杂的色度残差频域系数分析相比)。
在这里应注意,在这里所描述的技术中,是否省略所编码的数据元素阵列块的色度部分(色度值)的量化频域系数的编码的确定,在实际编码数据元素阵列的操作期间且作为其一部分并且在已经对于色度差值(残差)确定量化色度值频域系数之后来确定。由此,在已经选择(例如且在实施方式中使用RDO处理)用于数据元素阵列的编码选项之后,执行以这里描述的技术的方式进行的操作。
在实施方式中,这里所描述的技术用于数据元素阵列的亮度值用于确定多个可能编码选项中的哪些用于数据元素阵列的布置中(例如并且在实施方式中,基于并且使用RDO处理),然后在使用这样选择的编码选项编码数据元素阵列时,使用这里所描述的技术来确定在使用所选编码选项实际编码数据元素阵列(例如,视频帧)的处理期间是否省略量化色度值频域系数的编码。
在这里所描述的任意一个实施方式中,阵列流的数据元素阵列可以采取任意期望且合适的形式。在实施方式中,数据元素阵列可以各与数据位置的阵列对应。数据元素或位置的阵列可以对应于期望(例如,图像)输出(诸如帧(例如,用于显示))的全部或一部分。数据元素或位置与期望输出之间可以存在任意期望且合适的对应关系。由此,阵列的数据元素或位置可以各对应于期望输出的像素。数据元素阵列在数据元素或位置方面可以为任意期望且合适的尺寸或形状,但在实施方式中为矩形(包括正方形)。数据元素还可以具有任意期望且合适的格式,例如,表示图像数据值(例如,颜色值)的格式。
实施方式中的数据元素阵列在视频帧的流(序列)的实施方式中包括各视频帧(图像),但其他布置将是可行的(如果期望)。
如以上所讨论的,这里所描述的技术与用YUV格式表示的数据元素阵列特别有关,即,使得对于数据元素阵列,存在所存储的各亮度(Y)和色度(U和V)数据值。由此,在实施方式中,数据元素阵列(和数据元素阵列流)包括针对其亮度和色度数据值被存储(即,具有YUV格式)的数据元素阵列。
在这点上,可以存在用于讨论中的数据元素阵列(例如,视频帧)的亮度数据值的集合、和用于数据元素阵列的色度数据值(包括U和V数据值这两者)的(单个)集合,或者可以存在用于数据元素阵列(例如,视频帧)的亮度数据值的集合和色度数据值的两个相应单独集合(即,U值的一个集合和V值的一个集合)。
这里所描述的技术与用于讨论中的数据元素阵列的色度数据值的编码特别有关,并且可以酌情应用于为数据元素的集合提供的色度值的(单个)集合或色度数据值的相应单独U和V集合。可以以任意适当且期望的方式(例如,以用于讨论中的编码方案(例如,标准)的正常模式)来处理用于数据元素阵列的亮度数据值的集合。
在这里所描述的任意一个实施方式中,源块可以采取任意期望且合适的形式。在实施方式中,源块在数据元素或位置方面可以为任意期望且合适的尺寸或形状,但在一实施方式中为矩形(包括正方形)。例如,源块在尺寸上可以为4x4、4x8、8x4、8x8、8x16、16x8、16x16、16x32、32x16、32x32、32x64、64x32、64x64等个数据元素或位置。在实施方式中,源块可以为数据元素阵列为了编码目的而分成的多个块中的一个。所述多个块可以为非重叠的,和/或可以在尺寸或形状上类似或不同。数据元素阵列在这种块方面可以为任意期望且合适的尺寸、形状或配置。
在这里所描述的任意一个实施方式中,可以以任意期望且合适的方式来导出参考(预测)块。在实施方式中,参考块可以从与源块相同的数据元素阵列导出(使用“内部(intra)”模式)。另选地,参考块可以从阵列流中的数据元素的一个或更多个不同阵列导出(使用“之间(inter)”模式)。一个或更多个不同阵列可以包括数据元素的一个或更多个之前阵列(使用“向前”模式)和/或数据元素的一个或更多个随后阵列(使用“向后”模式)。在这些实施方式中,参考块可以仅从数据元素的一个或更多个之前阵列,或仅从数据元素的一个或更多个随后阵列导出(使用“单向”模式)。另选地,参考块可以从数据元素的一个或更多个之前阵列以及数据元素的一个或更多个随后阵列这两者导出(使用“双向”模式)。
在参考块从数据元素的多个不同阵列导出的情况下,可以组合(例如,平均)多个不同阵列的数据元素。在实施方式中,可以以与对于与源块相邻的另一个源块导出的另一个参考块相同或大致类似的方式来导出用于源块的参考块(使用“合并”模式)。
参考块在尺寸和/或形状上(在阵列元素方面)可以与源块的尺寸和/或形状对应。
在这里所描述的任意一个实施方式中,可以以任意期望且合适的方式来提供数据元素阵列。实施方式可以包括生成阵列的数据元素(中的至少一些或全部)。实施方式还可以或相反包括例如从存储器读入阵列的数据元素(中的至少一些或全部)。
可以以任意期望且合适的方式来生成阵列的数据元素。在实施方式中,可以由摄像机来生成阵列的数据元素。在其他实施方式中,生成阵列的数据元素可以包括渲染处理。渲染处理可以包括导出由阵列的数据元素表示的数据值(例如,通过栅格化图元以生成图形片段和/或通过渲染图形片段来进行)。为了生成阵列的数据元素,可以使用图形处理器(图形处理流水线)。为了生成阵列的数据元素,图形处理流水线可以包含:图形流行线和处理器可以包含的任意合适且期望的处理阶段,诸如顶点着色器、栅格化阶段(栅格化器)、渲染阶段(渲染器)等。
在这里所描述的任意一个实施方式中,生成差值的阵列可以采取任意期望且合适的形式。在实施方式中,生成差值的阵列可以包括分别从参考块的(在数据位置方面)对应的数据元素的值减去源块的数据元素的值,反之亦然。
在这里所描述的任意一个实施方式中,正向变换处理可以采取生成频域系数阵列的任意期望且合适的形式。在实施方式中,正向变换处理可以大致为线性和/或正交和/或可逆和/或离散的。正向变换处理可以由要在编码数据元素阵列时使用的特定标准(例如,HEVC标准)来定义。正向变换处理例如可以为正向离散余弦变换(DCT)。
差值的阵列在尺寸和/或形状上(在阵列元素方面)可以与源块和/或参考块的尺寸和/或形状对应。正向变换处理可以包括向差值的阵列的行应用相应的正向变换,然后向产生的行已变换的阵列的列应用相应正向变换,反之亦然。例如,正向变换处理可以包括:向差值的阵列的各行和每一行且,然后向产生的行已变换的阵列的各列和每一列应用相应的正向变换,反之亦然。
在这里所描述的任意一个实施方式中,量化处理可以采取任意期望且合适的形式。在实施方式中,应用量化处理可以包括分别量化(例如,除以量化常数和/或舍位和/或四舍五入)频域系数阵列的频域系数。可以由要在编码数据元素阵列时使用的特定标准(例如,HEVC标准)来定义量化。
频域系数阵列在尺寸和/或形状上(在阵列元素方面)可以与差值的阵列、源块和/或参考块的尺寸和/或形状对应。
量化处理可以包括量化频域系数阵列的频域系数的全部。
然而,在实施方式中,应用量化处理可以包括:仅量化频域系数阵列的子集。
在这些实施方式中,被量化的频域系数的子集可以为频域系数阵列的任意期望且合适的子集(即,一些但不是全部)。被量化的频域系数的子集可以包括:被预期为针对位计数值(bit count value)和/或失真值比未被量化的剩余系数具有相对更大影响的系数。例如,被量化的频域系数的子集可以包括频域系数阵列的相对更低频率系数的子集。
在实施方式中,可以根据期望来处理未应用有量化处理的频域系数。例如,可以将这些频域系数设置为所选值,诸如零。
对应地,量化频域系数阵列(即,在已经向频域系数阵列应用量化处理之后的频域系数阵列)可以:包括全部已经应用量化处理的频域系数、或以下频域系数阵列,在该阵列中,一些系数已经应用有量化处理,但频域系数阵列的其他系数可能尚未应用有量化处理(因此,它们可以保持它们的初始值,或者可以被设置为所选值,诸如零)。(因此,已经应用量化处理的频域系数可以具有与它们的初始值不同的值(值被量化处理改变)。)
由此,量化系数阵列可以包括量化(并且潜在调零)的系数阵列。量化(并且调零)系数阵列可以并且在实施方式中确实在尺寸和/或形状上(在阵列元素方面)与频域系数阵列、差值的阵列、源块和/或参考块的尺寸和/或形状对应。
如以上所讨论的,一旦已经生成量化色度值频域系数阵列,那么确定在表示讨论中的源块的编码后的数据元素阵列的输出比特流中是否实际包括对所生成的量化色度值频域系数阵列编码的信息。如以上所讨论的,该决策基于两个因素,即,是否指示了省略用于讨论中的数据元素块的亮度数据的量化频域系数的编码、和所编码的块的所确定量化色度值频域系数的特性。
在这里应注意,虽然关于在输出比特流中是否包括对所生成的量化色度值频域系数阵列编码的信息的决策是基于是否指示了省略两个因素(即,亮度数据的量化频域系数的编码、和所编码的块的所确定量化色度值频域系数的特性),但两个因素可以按任一顺序或实际上并行测试(根据期望)。
(唯一)准则是:为了在输出比特流中省略所生成的量化色度值频域系数阵列编码的信息,必须考虑两个因素,并且两个因素必须指示应从输出比特流省略对所生成的量化色度值频域系数阵列编码的信息。
对于相反情形,足够的是,这些因素中的一个是为了指示应在输出比特流中包括对所生成的量化色度值频域系数阵列编码的信息,使得如果一个接一个地测试这些因素,那么如果被测试的第一因素指示应在输出比特流中包括对所生成的量化色度值频域系数阵列编码的信息,那么不需要继续第二因素的任何测试(如果期望)。
可以确定的是,,以任意合适且期望的方式指示省略了所编码的数据元素块的亮度数据的量化频域系数的编码。在实施方式中,这基于与数据元素块的亮度部分关联的适当指示符(例如,标志)的存在或其他方面,该指示符指示应省略数据元素块的亮度数据的量化频域系数的编码。
如以上所讨论的,在支持量化频域系数的编码的省略的布置中,这一点的适当指示通常将被提供给编码器(并且对应地提供给解码器)。由此可见,被提供给编码器的、数据元素块的亮度数据的系数“省略”指示,还可以在编码数据元素块的色度数据时用于识别要省略用于数据元素块的亮度数据的量化频域系数的编码。
例如可以由指示“没有系数”要对于块的亮度部分编码的标志或其他指示、和/或还指示运动向量对于块的亮度部分将不被编码(这在许多编码标准中然后固有地意指将也没有频域系数被编码)的标志或其他指示的存在,来指示对于块的亮度部分要省略量化频域系数的编码的指示,。例如,在HEVC标准中,块可以被指示为“被略过(skipped)”(这意指没有运动向量被编码(相反运动向量应从空间或时间邻居承继)),但还存在用于信号通知没有系数已经被编码的标志,即使在运动向量已经被编码的情况下。这些指示中的任何一个(或指示对于块的亮度部分要省略频域系数的编码的任意一个等效指示)可以用于识别要省略块的亮度数据的频域系数的编码。
(即使在块仍然具有对于其编码的运动向量的情况下,这里所描述的技术也仍将是有利的,因为避免编码频域系数即使在该情况下也降低位速率。)
其他布置当然会是可能的。
用于确定在对数据元素阵列编码的输出比特流中是否对量化色度值频域系数编码的、所编码的数据元素阵列块的所确定量化色度值频域系数的特性,可以为所确定量化色度值频域系数的任意合适且期望的特性。
在实施方式中,所述特性是:表示和/或指示量化色度值频域系数的相对重要性的特性(例如且在实施方式中,以便给出所确定的量化色度值频域系数的相对重要性,以及省略(或不省略)用于在重构数据元素阵列的编码块时使用的这些系数对解码器中块的重构的影响的度量或指示)。
在实施方式中,所使用的所确定量化色度值频域系数的特性包括:所确定量化色度值频域系数的大小的度量。所确定量化色度值频域系数的大小(值)可以以任意在这点上合适的方式来考虑并表示,诸如例如,通过考虑所编码的块的最大绝对所确定量化色度值频域系数的大小(值)、和/或所编码的块的所确定量化色度值频域系数的绝对值的和。在实施方式中,绝对系数值的和用作被考虑的特性。
还将或相反地可以考虑已经对于所编码的块确定的非零量化色度值频域系数的数量。由此,在实施方式中,对于所编码的块确定的非零量化色度值频域系数的数量用作:为了确定是否省略块的所确定量化色度值频域系数的编码的目的而考虑的、这些系数的特性。
由此,在一个实施方式中,所确定量化色度值频域系数的大小的度量用作被考虑的、这些系数的特性。在另一个实施方式中,对于块确定的非零量化色度值频域系数的数量用作:用于决策处理的、这些系数的特性。在另一个实施方式中,非零量化色度值频域系数的大小的度量和数量这两者用作用于确定是否省略这些系数的编码的目的的、这些系数的特性。
所编码的块的所确定量化色度值频域系数的特性可以用于以任意合适且期望的方式确定是否省略这些系数的编码。在实施方式中,将讨论中的特性(例如,系数的大小和/或非零系数的数量)的值与阈值进行比较,根据比较的结果而省略或不省略系数的编码。例如,如果非零系数的数量大于阈值,那么不省略这些系数的编码(反之亦然)。对应地,如果所确定系数的大小大于阈值,那么不省略系数的编码(反之亦然)。
其他布置当然会是可能的。
该布置可以将固定准则(例如,阈值)用于评定所确定量化色度值频域系数的特性是否应被解释为确定可以省略这些系数的编码。然而,在实施方式中,决策操作(例如,“省略”阈值)取决于并且考虑一个或更多个特定准则(在实施方式中为所选准则,在实施方式中为预定准则),诸如并且在实施方式中为以下内容中的一个或更多个并且在实施方式中为以下这两者:所编码的块的尺寸;和被执行的编码的“质量”度量(该质量的度量例如且在实施方式中可以是对于讨论中的数据阵列的编码设置或确定的整体量化参数(qp))。
由此,在实施方式中,用于基于所确定量化色度值频域系数的特性确定是否在输出比特流中对量化色度值频域系数编码的决策操作(用于该决策的准则)可以并且在实施方式中是在使用中并且具体取决于且基于用于数据阵列的编码的一个或更多个参数(诸如且在实施方式中为所编码的块的尺寸和/或用于被执行的编码的“质量”度量)改变。由此,在实施方式中,不同决策准则可以并且在实施方式中是:用于例如且在实施方式中取决于块和/或其编码的特性来编码的数据阵列的不同块。
对应地,在实施方式中,例如用于确定是否省略量化色度值频域系数的编码的阈值,基于所编码的块的尺寸和所编码的块的质量参数中的一个或两个(并且取决于其变化)。
决策操作(例如,阈值)可以以任意合适且期望的方式,基于所编码的块和/或编码的特性来改变。通常,更大的块和更差(更低)的编码质量应被配置为,使得色度数据值的(量化)频域系数的编码的省略更为可能(反之亦然)。
由此,在实施方式中,被允许在确定应在输出比特流中编码这些量化系数之前存在于块中的非零系数的数量随着块尺寸增大而增大。对应地,被允许在确定应在输出比特流中编码这些量化系数之前存在于块中的非零系数的数量随着期望编码质量降低而增大。由此,触发在输出比特流中包括量化色度值频域系数(的编码)必须达到的、非零量化频域系数的任意阈值数量在实施方式中被设置为对于更大的块尺寸和更低的编码质量更大。
对应地,编码的期望质量越高,并且块尺寸越小,用于触发在输出比特流中包括量化色度值频域系数的编码的阈值越低。由此,在实施方式中,被允许在确定应在输出比特流中编码这些量化系数之前存在于块中的非零系数的数量,随着(期望)编码质量提高并且随着块尺寸变小而减小。由此,触发在输出比特流中包括量化色度值频域系数(的编码)必须达到的、非零量化频域系数的任意阈值数量在实施方式中被设置为对于更高质量的编码和更小的块更小。
对应地,在实施方式中,被允许在确定应在输出比特流中编码这些量化系数之前存在于块中的非零系数的大小随着块尺寸增大而增大。对应地,被允许在确定应在输出比特流中编码这些量化系数之前存在于块中的非零系数的大小随着期望编码质量降低而增大。由此,触发在输出比特流中包括量化色度值频域系数(的编码)必须达到的、非零量化频域系数的任意阈值尺寸在实施方式中被设置为对于更大的块尺寸和更低的编码质量更大。
对应地,在实施方式中,被允许在确定应在输出比特流中编码这些量化系数之前存在于块中的非零系数的大小随着(期望)编码质量提高并且随着块尺寸变小而减小。由此,触发在输出比特流中包括量化色度值频域系数(的编码)必须达到的、非零量化频域系数的任意阈值尺寸在实施方式中被设置为对于更高质量的编码和更小的块更小。
当确定了指示了省略数据元素块的亮度数据的量化频域系数的编码,并且所确定的量化色度值频域系数的特性满足使输出编码比特流中的量化色度值频域系数的编码被省略的准则时,那么在表示数据元素阵列的输出比特流中未包括(从其省略)所考虑的数据元素块的量化色度频域系数阵列的数据。
可以以任意期望且合适的方式从输出比特流省略用于色度数据的量化频域系数的编码。在实施方式中,这通过将所编码的块的所有量化频域系数的值设置为零来进行。这然后将具有使得编码器不在输出编码比特流中包括与量化频域系数有关的任何数据的效果(因为值将全部为零,因此对于这些系数将未包括数据)。
在实施方式中,在这种情况下,用于指示在输出比特流中已经省略用于讨论中的数据元素块的量化色度值频域系数的编码的指示(例如,标志,例如以上关于亮度数据讨论的类型的标志),被包括在输出比特流中或用输出比特流来包括,以便向解码器指示已经省略用于讨论中的数据元素块的量化色度值频域系数的编码(编码不存在于表示数据元素阵列的输出编码数据中)(使得解码器然后例如可以单独使用所指示的参考(例如,预测)块来再现讨论中的数据元素块的色度值,不向该参考块应用任何差或(残差))。
再次,已经从编码比特流省略色度数据的频域系数的指示可以是单独指示的指示,或是指示诸如运动向量的其他数据已经从编码比特流省略的指示(根据期望(并且酌情))。
上文讨论了以下情况,其中,确定在输出比特流中省略数据元素块的量化色度值频域系数阵列的数据。另一方面,如果不确定从输出比特流省略该数据,那么用于(并且表示)量化色度值频域系数阵列的数据应且在实施方式中被包括在表示编码后的数据元素阵列的输出比特流中。
由此,在确定了未指示省略所编码的数据元素块的亮度数据的量化频域系数的编码的情况下,那么用于量化色度值频域系数阵列的数据应且在实施方式中被包括在表示编码后的数据元素阵列的输出比特流中。
对应地,即使当确定指示了省略用于数据元素块的亮度数据的量化频域系数的编码时,但如果然后基于所确定的量化色度值频域系数的特性确定不应在表示数据元素阵列的输出编码比特流中省略量化色度值频域系数的编码(在这样时),那么再次用于量化色度值频域系数阵列的数据应且在实施方式中被包括在表示编码后的数据元素阵列的输出比特流中。
由此,在实施方式中,这里所描述的技术的方法包括以下步骤(并且设备对应地被构造为):
在确定了未(非)指示了省略用于所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中包括用于数据元素块的量化色度值频域系数阵列的数据。
对应地,这里所描述的技术的方法包括以下步骤(并且设备对应地被构造为):
当确定指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示数据元素阵列的输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性确定在表示数据元素阵列的输出编码比特流中非省略(不省略)量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中包括用于量化色度值频域系数阵列的数据。
在用于(表示)量化色度值频域系数阵列的数据被包括在数据元素块的输出比特流中的情况下,那么表示量化色度值频域系数阵列的该数据可以采取任意合适且期望的形式,例如且在实施方式中是可以允许解码器再现量化色度值频域系数阵列的形式。在实施方式中,该数据采取被使用的编码方案(例如,标准)所需或用于其的该信息的形式。
在实施方式中,在用于表示数据元素块的量化色度值频域系数阵列的输出比特流中包括的数据包括指示以下内容中的一个或更多个并且在实施方式中为全部:
量化频域系数阵列中的所有非零量化频域系数的值;
量化频域系数阵列中的非零频域系数的频域中的位置;以及
量化频域系数阵列中的最高频率非零频域系数的位置。
其他布置当然会是可能的。
如以上所讨论的,在这里所描述的技术中的、是否在表示数据阵列的编码输出中包括用于量化色度值频域系数阵列的数据的确定,在对数据元素阵列编码的处理期间进行确定。
数据元素阵列的编码可以以任意合适且期望的方式来执行,例如取决于和根据被使用的特定编码方案(例如,标准)。在这里所描述的技术中,编码处理应且在实施方式中确实分别编码讨论中的数据阵列的亮度数据值(亮度部分)和色度数据值(色度部分),以便提供数据阵列和各数据阵列的亮度数据的合适编码集合和色度数据的合适编码集合。
亮度数据(亮度部分)对于讨论中的编码方案可以以正常方式来编码。
色度数据(色度部分)应对应地根据所使用的编码方案来编码,但色度数据的编码根据这里所描述的技术来执行,即,以这里所描述的技术的方式包括:是否包括用于所编码的数据阵列的数据元素块(并且在实施方式中为块)的量化色度值频域系数阵列的数据的确定。
如将理解的,编码处理可以包括(分别对于亮度和色度数据):生成表示源块与参考块之间的差的差值的阵列,通过向差值的阵列应用(例如,完整)正向变换处理生成用于差值的阵列的频域系数阵列,和/或通过向频域系数阵列应用(例如,完整)量化处理生成量化系数阵列。然后可以对量化系数阵列执行适当编码(诸如且在实施方式中为熵编码)(在用于量化频域系数阵列的数据要包括在输出中的情况下)(或将在已经确定对于块应省略与量化系数阵列有关的数据的情况下省略(不提供)该数据)。
在这些布置中,在指示了省略待编码的数据元素块的亮度部分的情况下(即,使得在表示数据元素阵列的输出比特流中将不编码表示用于数据元素块的亮度数据值的频域系数的量化阵列的信息),那么因此,用于数据元素块的亮度数据值的编码将未包括(将省略)用于讨论中的数据元素块的亮度数据值的任何频域系数的任何编码。在这种情况下,实施方式中的编码处理根本不生成用于块的亮度数据值的任何频域系数(和差值(残差)的集合)(在第一地点处)。
然而,用于数据元素的这种“省略”块的数据元素块的对应色度数据值的编码将以这里所描述的技术的方式来执行,即,仍然将用于讨论中的数据元素块的色度数据值的量化频域系数阵列确定为编码处理的一部分,然后基于量化色度值频域系数的所确定阵列的特性,来确定然后在表示数据元素阵列的输出编码比特流中是否实际包括色度值频域系数阵列。
如将理解的,关于与阵列的区域对应的源块执行的任意处理在实践中可以对于与区域对应或分别与阵列的多个(不同)区域对应的多个源块中的各个(例如,每一个)执行。
如还将理解的,关于阵列执行的任意处理在实践中可以分别对于阵列流的多个阵列的各个(例如,每一个)执行。
在这里所描述的任意一个实施方式中,一旦被编码,则所编码的源块和/或所编码的阵列和/或所编码的阵列流可以以任意期望且合适的方式使用。例如,所编码的源块和/或所编码的阵列和/或所编码的阵列流可以输出,例如存储在存储器中和/或串流到另一个装置。由此,数据处理设备可以包括输出电路(例如,写输出电路),该输出电路被构造为将所编码的源块和/或所编码的阵列和/或所编码的阵列流输出(例如,写输出)例如到存储器或另一个装置。也可以以类似方式输出任意运动向量(如果使用)。
虽然数据元素阵列的编码可以总是以特定(例如,预定义)方式来执行,但在实施方式中,根据已经被选择为用于数据元素阵列的编码选项的特定集合(在实施方式中为至少部分基于数据元素阵列的分析)来进行编码。由此,将根据已经被选择为用于数据元素阵列(或至少用于源块落在其内的数据阵列的区域)的编码选项的特定集合来进行编码。
由此,在这里所描述的技术中,编码处理在实施方式中前面是:选择在编码数据元素阵列时使用的编码选项的集合的处理。
由此,实施方式中的这里所描述的技术还包括(并且包括设备,该设备被构造为)首先选择用于数据阵列(并且用于数据阵列的块)的编码选项的集合,然后在根据用于数据阵列的该块(或至少用于源块落在其内的数据阵列的区域)的编码选项的所选集合对用于数据阵列的块的色度数据编码时,执行以这里所描述的技术的方式进行的操作。
用于给定数据阵列以及该数据阵列的各区域和块的编码选项的选择,可以以任意合适且期望的方式来执行。在实施方式中,该选择使用适当的率失真优化(RDO)处理来执行。其他布置当然会是可能的。
在实施方式中,编码选项的选择基于分析(例如,RDO处理),该分析仅使用亮度数据(亮度部分)(即,该分析不考虑用于数据阵列的数据元素的色度数据(色度值))。
由此,在实施方式中,这里所描述的技术的方法包括以下步骤:
(首先)在实施方式中仅使用数据元素阵列的亮度数据,来选择在编码数据元素阵列流中的数据元素阵列时使用的编码选项;以及
一旦已经选择在编码数据元素阵列时使用的编码选项,那么使用并且根据所选编码选项编码数据元素阵列;
其中,
根据所选编码选项进行的数据元素阵列的编码包括:
根据所选编码选项,来编码用于数据元素阵列的亮度数据(亮度数据值);
以及
分开地,根据所选编码选项编码用于数据元素阵列的色度数据(色度数据值);
其中,
根据所选编码选项进行的用于数据元素阵列的色度数据值的编码还包括如下步骤;
在编码用于所编码的数据阵列的源数据元素块的色度数据值时:
生成色度差值阵列,该阵列表示所编码的数据元素阵列的源数据元素块的色度值与从数据元素阵列流中的一个或更多个数据元素阵列的色度值导出的参考数据元素块的色度值之间的差;
通过向色度差值阵列应用正向变换处理,而生成色度差值阵列的色度值频域系数阵列;
通过对色度值频域系数阵列应用量化处理,而生成量化色度值频域系数阵列;
确定是否指示了省略所编码的数据元素阵列块的亮度数据值的量化频域系数的编码;以及
当确定为指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示数据元素阵列的输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性确定为在表示数据元素阵列的输出编码比特流中省略量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中未包括用于量化色度值频域系数阵列的数据。
对应地,在实施方式中,这里所描述的技术的设备包括:
编码选项选择电路,该编码选项选择电路能够进行工作而,在实施方式中仅使用数据元素阵列的亮度数据来选择在编码数据元素阵列流中的数据元素阵列时使用的编码选项的集合;
以及
编码电路,该编码电路能够进行工作而:
根据由编码选项选择电路选择的编码选项的集合,来编码用于数据元素阵列的亮度数据(亮度数据值);
并且
与亮度数据分开地,根据编码选项的所选集合来编码用于数据元素阵列的色度数据(色度数据值);其中,
编码电路包括:
差值生成电路,该差值生成电路能够进行工作而生成色度差值阵列,该色度差值阵列表示所编码的数据元素阵列的源数据元素块的色度值与从数据元素阵列流中的一个或更多个数据元素阵列的色度值导出的参考数据元素块的色度值之间的差;
频域系数生成电路,该频域系数生成电路能够进行工作而通过向色度差值阵列应用正向变换处理而生成色度差值阵列的色度值频域系数阵列;
量化电路,该量化电路能够进行工作而通过对色度值频域系数阵列应用量化处理而生成量化色度值频域系数阵列;
以及
编码确定电路,该编码确定电路能够进行工作而:
确定是否指示了省略所编码的数据元素阵列块的亮度数据值的量化频域系
数的编码;并且
当确定为指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频
域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示数据元素
阵列的输出编码比特流中,省略对于所编码的数据元素块生成的量化色度值频域
系数阵列的编码;并且
当基于所确定的量化色度值频域系数的特性确定在表示数据元素阵列的输
出编码比特流中省略量化色度值频域系数的编码时,在表示编码后的数据元素阵
列的输出比特流中未包括用于量化色度值频域系数阵列的数据。
在这些实施方式中,选择在对数据元素阵列编码时使用的编码选项的处理,在实施方式中是基于用于对数据元素阵列编码(并且具体地为用于对于所编码的数据元素阵列的各源块编码)的位成本的估计。在实施方式中,考虑与量化频域系数的编码有关的位成本(例如,指示在用于将必要的量化频域系数信息输送到解码器的输出编码比特流中将包括多少位的位成本)。
由此,在实施方式中,这里所描述的技术的方法还包括以下步骤(并且设备在实施方式中被构造为):首先通过以下方式对于编码选项的多个不同集合中的每一个,选择在对数据元素阵列编码时使用的编码选项:
生成差值的阵列,该阵列表示所编码的数据元素阵列的源数据元素块与从数据元素阵列流的一个或更多个数据元素阵列导出的参考数据元素块之间的差;
通过向差值的阵列应用正向变换处理,而生成与差值的阵列对应的频域系数阵列;
通过向频域系数阵列应用量化处理,而生成量化频域系数阵列;
确定用于对量化频域系数阵列编码的编码选项的特定集合的位计数值;以及
基于位计数值,选择是否根据编码选项的特定集合对源块编码。
如以上所讨论的,这在实施方式中仅使用(考虑)被考虑的数据元素块的亮度数据(亮度数据值)(而不考虑色度数据(色度数据值))来进行。
在这些布置中,用于对于编码选项的特定集合对量化频域系数阵列编码的位计数值在实施方式中至少表示位计数值,该位计数值用于对非零量化频域系数在所编码的源数据元素块的量化频域系数阵列中的位置编码。
(量化频域系数阵列实际上将包括频域系数的2D阵列,该2D阵列内的各系数位置具有给定值(该给定值将为零或非零)。因此,表示所编码的数据阵列(例如,视频帧)的编码数据需要指示频域系数阵列中的哪些位置具有非零值。)
在实施方式中,位计数值还考虑(还包括)用于对与量化频域系数有关的其他信息编码的位成本,并且具体包括(并且考虑)以下内容中的一个或更多个并且在实施方式中为两者:用于指定最高频率非零量化频域系数在量化频域系数阵列中的位置(按频率的扫描顺序)的位成本;和用于指定所编码的源块的量化频域系数阵列中的非零量化频域系数的全部(或每一个)的值的位成本。
这些不同位成本可以以任意合适且期望的方式(例如使用用于该目的的现有或已知技术)来估计并导出。
还可以考虑其他位计数成本(将其考虑在内),诸如用于指定预测类型的位成本(如果期望)。
对应地,在这些实施方式中,该方法还可以包括以下步骤:执行(并且设备还可以包括处理电路,该处理电路被构造为执行)选择一个或更多个候选参考块的搜索处理(例如,内部搜索和/或之间搜索(作为运动估计处理的一部分))。一个或更多个候选参考块可以基于相对于源块的相似性或差度量(诸如绝对差和(SAD)值)来选择。参考块可以是一个或更多个候选参考块中的一个。
由此,该方法还可以包括以下步骤:执行(并且设备还可以包括处理电路,该处理电路被构造为执行)确定一个或更多个运动向量的运动估计处理。如将理解的,一个或更多个运行向量可以指示如何从一个或更多个数据元素阵列导出参考块的数据元素(例如,由平移、旋转、缩放等)。该方法还可以包括以下步骤:执行(并且设备还可以包括处理电路,该处理电路被构造为执行)运动补偿处理,该运动补偿处理向一个或更多个数据元素阵列应用一个或更多个运动向量,以导出参考块。由此,在实施方式中,参考块可以包括运动补偿的“预测”块。如将理解的,使用运动补偿例如可以减少参考块与源块之间的差。这进而可以减小位计数值和/或失真值。
再次,运动估计操作和参考(预测)块选择和导出在实施方式中仅使用(考虑)用于被考虑的数据元素块的亮度数据(亮度数据值)来进行。
在实施方式中,除了基于用于对数据元素阵列编码的位成本(例如,用于对量化频域系数阵列编码的位计数值(所需的位的数量))之外,是否根据编码选项的特定集合对源块编码的选择,还考虑并且基于用于被考虑的编码选项的特定集合的失真值。
由此,在实施方式中,这里所描述的技术的方法包括以下步骤(并且这里所描述的技术的设备被构造为):基于所估计的位计数值和失真值选择是否根据编码选项的特定集合对源块编码。
可以以任意合适且期望的方式来确定失真值。失真值在实施方式中指示:将在根据考虑中的编码选项的特定集合编码并且然后解码源块时引入的失真量。
在实施方式中,失真值基于误差值的集合,这些误差值表示原始源块与在根据考虑中的编码选项的特定集合编码且然后解码源块之后的、该源块的重构版本之间的差(例如,如图1的RDO处理所示)。
因此,在这些实施方式中,误差值的集合可以基于重构源块与原始源块的比较。
可以使用用于确定要用于确定失真值的误差值的集合的其他布置(如果期望)。例如,要用于确定失真值的误差值的集合,可以由已去量化的频域系数阵列和所生成的频域系数成阵列来生成(使得误差值的集合将表示所生成的频域系数阵列与已去量化频域系数阵列之间的差,例如,而不是由重构源块与原始源块本身生成误差值的集合)。
可以以任意期望且合适的方式从误差值的集合来确定用于编码选项的特定集合的失真值。在实施方式中,确定失真值可以包括:确定误差值的集合的误差值的和平方。
在这里所描述的任意一个实施方式中,基于位计数值(例如和失真值)选择是否根据编码选项的特定集合对源块编码,可以以任意期望且合适的方式来执行。在实施方式中,选择是否根据编码选项的特定集合对源块编码可以包括:基于位计数值(例如和失真值)确定用于编码选项的特定集合的成本值,并且基于成本值来选择是否根据编码选项的特定集合对源块编码。确定成本值可以包括组合位计数值和失真值。位计数值和失真值的组合可以为任意合适且期望的组合,诸如位计数值和失真值的加权组合。
在实施方式中,可以在位计数值和/或失真值和/或成本值是对于编码选项的各不同集合确定的多个这种值中的最低这种值时,选择编码选项的特定集合。还可以或相反在位计数值和/或失真值和/或成本值低于用于这种值的选择阈值时,选择编码选项的特定集合。
编码选项选择处理应且在实施方式中确实包括能够省略所编码的给定源块的量化频域系数阵列的编码(和确定是否省略该编码)的可能性(即,识别应在表示数据元素阵列的输出编码比特流中,省略所编码的源块的(量化)频域系数的编码)。如以上所讨论的,这在实施方式中(仅)对于所编码的数据元素阵列的亮度部分(亮度数据值)来进行,使得量化频域系数阵列的编码可以被识别为,适于对于所编码的数据元素阵列内的数据元素块的亮度数据值省略。
如以上所讨论的,在识别可以对于数据元素块省略量化频域系数阵列的编码的情况下,用于数据元素的该块的编码选项在实施方式中包括适当指示(例如,标志),该指示向编码器(并且向解码器)指示应省略用于讨论中的数据元素块的亮度数据值的量化频域系数阵列的编码。
如将理解的,上述编码选项选择处理可以并且在实施方式中是分别对于编码选项的多个不同集合的各个(例如,每一个)执行。这可以允许例如选择编码选项的更合适集合。
在这里所描述的任意一个实施方式中,编码选项的不同集合可以以任意一个或更多个编码选项为特征(根据期望)。描述编码选项的特定集合的特征的一个或更多个编码选项例如可以包括:源块的特定尺寸(在数据元素方面)、导出参考块的特定方式(例如,所用模式,诸如内部、之间、向前、向后、单向、双向、合并等模式,和/或所用的运动向量)等。
一旦已经编码了数据元素阵列等,则稍后可以检索和/或接收所编码的源块和/或所编码的阵列和/或所编码的阵列流,例如以便解码。由此,数据处理设备可以包括输入电路(例如,读入电路),该输入电路被构造为,例如从存储器输入(例如,读入)所编码的源块和/或所编码的阵列和/或所编码的阵列流。也可以以类似方式输入任意运动向量(如果使用)。
由此,对源块编码之后,是对编码后的源块解码的解码处理。由此,数据处理设备可以包括被构造为,执行对编码后的源块解码的解码处理的处理电路。解码处理可以采取任意期望且合适的形式,例如与在对编码后的源块编码时使用的编码处理对应的形式。解码处理可以由在编码数据元素阵列时使用的标准(例如,HEVC标准)来定义。例如,解码处理可以包括熵解码。
如将理解的,(例如,熵)解码可以包括产生用于编码后的源块的量化系数阵列。解码处理然后可以包括:通过向量化系数阵列应用(完整)去量化处理而生成已去量化系数阵列,通过向已去量化系数阵列应用(完整)逆变换处理而生成所重构差值的阵列,和/或通过组合所重构差值的阵列和参考块而生成所重构源块。组合所重构差值的阵列和参考块可以包括:将所重构差值的阵列的差值与参考块的对应(在数据位置方面)数据元素的各值加在一起。
如以上所讨论的,参考块可以包括运动补偿的“预测”块。因此,解码还可以包括运动补偿处理,该运动补偿处理向数据元素的一个或更多个已解码阵列应用一个或更多个运动向量,以导出参考块。
对应地,解码应且在实施方式中确实还包括:识别已经何时省略用于数据元素块的量化频域系数(不管是用于亮度值还是亮度和色度值这两者)的阵列的编码(例如,通过识别适当指示符在表示编码后的数据元素阵列中的位的集合中的存在来进行),解码器然后因此继续进行,即,通过再现用于讨论中的数据元素块的参考块,并且将用于参考块的适当数据值用作用于讨论中的数据元素的输出已解码块的数据值(不向参考块的数据元素应用任意所重构的差值(残差))。
在这里所描述的任意一个实施方式中,一旦被确定,则已解码源块的数据元素(和数据阵列)可以以任意期望且合适的方式来使用。
例如,可以(例如,由输出(例如,显示)处理器)输出已解码源块的数据元素(和数据阵列),例如以便显示。在这些实施方式中,数据元素阵列可以对应于图像,例如,图像数据的帧,并且数据元素可以对应于像素。
如将理解的,关于编码后的阵列的编码后的源块执行的任意处理,在实践中可以分别对于编码后的阵列的多个编码后的源块的各个(例如,每一个)执行。
如还将理解的,关于编码后的阵列流的编码后的阵列执行的任意处理,在实践中可以分别对于编码后的阵列流的多个编码后的阵列的各个(例如,每一个)执行。
这里所描述的处理在任意实施方式中可以由任意期望且合适的设备来执行。例如,这里所描述的处理在任意实施方式中可以由视频处理器(编解码器)来执行。因此,这里所描述的数据处理设备在任意实施方式中可以包括或可以为视频处理器。由此,这里所描述的处理电路、输出电路或写输出电路、输入电路或读入电路在任意实施方式中可以形成视频处理器的一部分。这里所描述的数据处理设备在任意实施方式中可以包括或可以为片上系统(SoC)或可以形成片上系统的一部分。
这里所提及的存储器可以是,数据处理设备或用于数据处理设备的任意期望且合适的存储器。存储器可以在数据处理设备之外,例如,视频处理器和/或片上系统(SoC)。存储器例如可以为主系统存储器。
这里所描述的技术可以用于数据处理设备可以提供和/或使用的所有形式的数据阵列,诸如用于显示的图像或帧。由此,如以上所指示的,数据元素阵列可以包括图像数据和/或可以对应于图像数据的图像或帧。
这里所描述的技术可以对应地与任意合适且期望的编码(例如,视频编码)方案和标准一起使用,并且用于该方案和标准。在实施方式中,该技术与HEVC编码标准一起使用并且用于HEVC编码标准。
在实施方式中,对提供和/或使用数据元素阵列的单个数据(例如,图像)处理平台,来执行这里所描述的技术的各种功能。
如本领域技术人员将理解的,这里所描述的技术的数据处理设备可以为:包括例如主(例如,中央)处理器的整体数据处理系统的一部分。主处理器例如可以执行需要由数据处理设备进行的数据处理的应用。主处理器可以向数据处理设备发送适当的命令和数据,以控制数据处理设备执行数据处理操作,并生成和/或使用在主处理器上执行的应用所需的输出。为了促进这一点,主处理器可以执行用于数据处理设备的驱动器和/或可以执行用于编译要由数据处理设备的可编程执行单元执行的程序的编译器。
在实施方式中,该设备或系统可以包括一个或更多个存储器和/或存储装置和/或可以与该存储器和/或存储装置通信,该存储器和/或存储装置存储这里描述的数据,和/或存储用于执行这里描述的处理的软件。设备或系统可以包括显示器和/或可以与显示器通信,该显示器用于基于阵列的数据元素来显示图像。设备或系统可以包括摄像机和/或可以与摄像机通信,该摄像机生成数据元素阵列。
这里所描述的技术可以在任意合适的系统中实现,诸如合适构造的计算机或基于微处理器的系统。在实施方式中,这里所描述的技术实现在计算机和/或基于微处理器的系统中。
这里所描述的技术的各种功能可以以任意期望且合适的方式执行。例如,这里所描述的技术的步骤和功能可以实现在硬件或软件中(根据期望)。由此,例如,除非以其他方式指示,这里所描述的技术的各种电路、功能元件、阶段以及“装置”可以包括合适的处理器、控制器、功能单元、电路、处理逻辑、微处理器布置等,它们可操作以执行各种步骤或功能等,诸如适当专用硬件元件(处理电路)和/或可以被编程为以期望方式操作的可编程硬件元件(处理电路)。
这里所描述的技术的各种步骤或功能等可以在给定处理器上重复和/或并行执行。等同地,各种处理阶段可以共享处理电路等(如果期望)。
受制于必须执行上面讨论的特定步骤或功能等的任意硬件,系统可以以其他方式包括:数据处理设备和/或系统包括的通常功能单元等中的任意一个或更多个或所有。
因此,各种数据处理阶段可以根据期望且以任意合适的方式来实现,并且可以分别执行任意期望且合适的功能。类似地,各种数据可以以任意合适且期望的方式来定义并存储。
如本领域技术人员还将理解的,这里所描述技术的所有描述的实施方式可以(且在实施方式中确实)酌情包括这里描述的特征中的任意一个或更多个或所有。
根据这里所描述的技术的方法至少部分地可以使用软件(例如,计算机程序)实现。由此,在另外的实施方式中,这里所描述的技术包括计算机软件,该计算机软件当安装在数据处理器上时专门适用于执行这里描述的方法;计算机程序元件,该计算机程序元件包括计算机软件代码部,用于在程序元件在数据处理器上运行时执行这里描述的方法;和计算机程序,该计算机程序包括代码,该代码当程序在数据处理器上运行时适于执行这里描述的方法的所有步骤。数据处理器可以是微处理器系统、可编程FPGA(现场可编程门阵列)等。
这里所描述的技术还扩展到计算机软件载体,该计算机软件载体包括这种软件,当用于操作包括数据处理器的数据处理设备或系统时,这种软件与所述数据处理器结合使所述设备或系统执行这里所描述的技术的方法的步骤。这种计算机软件载体可以是物理存储介质,诸如ROM芯片、CD ROM、RAM、闪存、或磁盘,或可以是信号,诸如电线上的电信号、诸如到卫星的光信号或无线电信号等。
还将理解的是,不是这里所描述的技术的方法的所有步骤都需要由计算机软件执行,并且由此在另外实施方式中包括计算机软件,并且这种软件安装在计算机软件载体上,用于执行这里阐述的方法的步骤中的至少一个。
这里所描述的技术可以因此适当地具体实施为用于与计算机系统一起使用的计算机程序产品。这种实现可以包括一系列计算机可读指令,所述一系列计算机可读指令固定在有形、永久介质上,诸如计算机可读介质,例如,磁盘、CD、DVD、ROM、RAM、闪存或硬盘。还可以包括一系列计算机可读指令,在有形介质(包括但不限于,光学或模拟通信线)上,或无形地使用无线技术(包括但不限于,微波、红外或其他传输技术),这些指令经由调制解调器或其他接口装置可发送到计算机系统。该系列计算机可读指令具体实施这里之前描述的功能的所有或一部分。
本领域技术人员将理解,这种计算机可读指令可以以多种编程语言来写,用于与许多计算机架构或操作系统一起使用。进一步地,这种指令可以使用任意存储技术来存储(存储技术现在或将来包括但不限于半导体、磁或光),或使用任意通信技术来发送(通信技术现在或将来包括但不限于光学、红外或微波)。预期的是,这种计算机程序产品可以作为可去除介质来分发,附有已打印的文档或电子文档,例如,现成软件;例如在系统ROM或固定盘上预加载有计算机系统;或在网络(例如,因特网或万维网)上从服务器或电子公告栏分发。
附图示出了与这里所描述的技术的实施方式相关的数据处理设备和系统的元件。如本领域技术人员将理解的,可以有附图未例示的数据处理设备和系统的其他元件。这里还应当注意的是,附图仅是示意性的,并且例如,在实践中,所示的元件可以共享重要的硬件电路,即使它们在附图中被示意性示出为单独的元件。
如以上所讨论的,这里所描述的技术的实施方式涉及包括选择在编码数据元素阵列时使用的编码选项的布置。现在将在用于显示的图像的编码帧的背景下描述这里所描述的技术的各种实施方式。然而,这里所描述的概念可以同样应用于要编码其他类型的数据的阵列的背景。
图3示意性示出了数据处理系统200的实施方式,该数据处理系统可以提供并且使用已经以本实施方式的方式编码的数据阵列,诸如用于显示的帧。
在该实施方式中,系统200包括为片上系统(SoC)202形式的数据处理设备。系统200还包括片外(主)存储器216、显示装置218以及摄像机220。
SoC 202包括:中央处理单元(CPU)204;图形处理单元(GPU)206;视频处理器208;显示控制器210;互连部212;以及存储控制器214。
如图3所示,CPU 204、GPU 206、视频处理器208以及显示控制器210经由互连部212彼此通信,并且经由互连部212和存储控制器214与存储器216通信。显示控制器210还与显示装置218通信。摄像机220还经由互连部212与SoC 202通信。
在以下实施方式中,视频处理器208从存储器216读入图像数据,编码图像数据,然后输出该编码图像数据,例如以便存储在存储器216中或串流到另一个装置。稍后例如可以由视频处理器208检索并对编码图像数据进行解码,或者由另一个装置接收并解码该数据。然后例如可以由显示控制器210向显示装置218输出已解码图像数据或由另一个装置输出该数据,以便显示。
图4示出了视频处理器208的另外细节,该视频处理器208可以用于以本实施方式的方式编码和解码数据元素阵列(诸如用于显示的帧)的流。
在该实施方式中,视频处理器208包括接口302,该接口302可以经由互连部212提供要编码的当前“源”帧。以类似的方式,接口302可以经由互连部212提供可以在编码源帧时使用的一个或更多个之前和/或随后“参考”帧。
在该实施方式中,源帧被分成要逐块编码的多个源块。各源块初始在尺寸上为16*16个数据元素(像素)。然而,各源块还可以被分成两个16*8或8*16源块或四个8*8源块(如果这将提供不那么昂贵的编码)。这些更小源块中的每一个还可以进一步被分成两个8*4或4*8源块或四个4*4源块(如果这将提供不那么昂贵的编码)。当然可以根据期望使用其他源块尺寸。
在该实施方式中,源块可以使用源帧本身内的另一个块来编码(即,使用“内部”模式编码)。因此,视频处理器208包括之间搜索电路306,该搜索电路306对于源帧中的给定源块,在源帧本身内搜索考虑在编码该源块时使用的一个或更多个合适的候选参考块。一个或更多个候选参考块可以使用指示源块与讨论中的潜在参考块之间的相似性或差的任意合适度量(诸如绝对差和(SAD)值)来选择。
在该实施方式中,一个或更多个参考帧也被分成可以在编码源帧时使用的多个块(这些块在尺寸上可以对应于源块)(即,使用“之间”模式编码)。因此,视频处理器208包括ME(运动估计,motion estimation)电路308,该ME电路308对于源帧中的给定源块在一个或更多个参考帧内搜索考虑在编码该源块时使用的一个或更多个合适的候选参考块。候选参考块可以通过使用运动向量(MV)来导出,该运动向量描述了特定帧的特定块如何映射(例如,由平移、旋转和/或缩放)到该候选参考块。再次,一个或更多个候选参考块可以使用指示源块与讨论中的潜在参考块之间的相似性或差的任意合适度量(诸如绝对差和(SAD)值)来选择。
RDO(率失真优化)电路304然后使用用于各源块的候选参考块关于该源块执行RDO处理。在该实施方式中,RDO电路304的输出包括用于特定源块(例如,在帧的数据元素方面具有特定尺寸)的编码选项的所选集合。在该实施方式中,编码选项的所选集合还包括:导出用于该特定源块的参考块的特定方式(例如,要使用的编码模式,诸如内部、之间、单向、双向、合并等模式,和/或要使用的运动向量)。
本实施方式特别与为YUV格式的视频数据的编码有关(即,是该编码提供亮度数据(Y)值和色度数据值(U和V)的相应集合)。在本实施方式中,在编码YUV格式的视频帧时,仅基于(通过考虑)用于帧(阵列)的亮度数据值,选择用于对视频帧(数据阵列)编码的编码选项的集合,然后使用并且基于从亮度数据值的分析选择的编码选项的集合分别并且分开编码帧的亮度和色度数据值。
现在将参照图1更详细的讨论该操作。
如图1所示,处理的第一部分是使视频处理器208选择在编码被考虑的视频帧(数据元素阵列)时使用的编码选项的集合。在YUV视频帧的情况下,在本实施方式中将仅使用(分析)用于视频帧的亮度数据值来执行RDO处理。
如图1所示,在步骤102中,视频处理器208的RDO电路304选择对于当前源帧的区域考虑的编码选项的集合。如以上所讨论的,编码选项的集合可以用于特定源块(例如,在帧的数据元素方面具有特定尺寸)和/或例如可以包括用于导出用于该特定源块的参考块的特定运动向量和/或特定编码模式(内部、之间、向前、向后、单向、双向、合并等模式)。
然后,在步骤104中,视频处理器208的RDO电路304确定用于编码选项的集合的成本值。
在本实施方式中,用于编码选项的集合的成本值基于并且使用用于被考虑的源帧(视频帧)的亮度数据值来确定,并且使用例如图2所示的形式的RDO处理来进行。
作为该处理的一部分,还确定是否省略对于讨论中的编码选项的集合考虑的源帧的数据元素块的亮度数据值的量化频域系数阵列的编码。由此,编码选项的集合可以包括:省略所编码的帧的数据元素块的亮度数据值的量化频域系数阵列的编码的可能性。
图5示出了本实施方式中、用于确定是否省略用于所编码的数据阵列的块的亮度数据值的量化频域系数阵列的编码的处理。
如图5所示,对于由ROD处理考虑的各参考(预测)亮度块,确定源像素(数据元素)与预测(参考)像素(数据元素)之间的残差(差的集合)(步骤501),然后生成差值的所确定阵列(残差块)的二维频域变换以及量化频域系数(步骤502)。
然后使用由于量化处理产生的失真的估计和对量化频域系数编码的位成本的估计,来导出将在对量化频域系数阵列编码时引致的组合总成本度量(步骤503)。
对应地,使用在不使用任何量化频域系数(即,以便简单地复制用于块的参考(预测)数据值)的情况下对用于数据元素块的亮度数据值编码时的失真度量,来确定在不使用频域系数的情况下对用于块的亮度数据编码的成本的另选成本度量(步骤504)。
然后确定在不对任何频域系数编码的情况下,编码块的另选方案的成本是否小于用频域系数编码块的成本(步骤505)。如果是这样,则确定用于被考虑的特定预测亮度块的优选编码选项是省略频域系数的编码,因此设置应进行这一点的指示,并且输出用于块的编码决策(步骤506和507)。
相反,如果在步骤505处确定在不对任何频域系数编码的情况下编码块的另选方案的成本多于用频域系数编码块的成本,则确定应对于被考虑的特定预测亮度块执行频域系数的编码,因此输出用于块的、带有该意思的编码决策(步骤507)。
由此,如图5所示,对于被考虑的另选的各预测亮度块,在RDO率失真度量中度量两个版本,一个使用频域系数,一个不使用它们。然后对于讨论中的预测块选择更低成本的选项。这对于要对于数据阵列编码的数据元素各块进行,以对于各相应块确定是否省略用于该块的亮度数据的频域系数的编码。
如图1,然后将对于预测块确定的更低成本选项与用于其他块以及其他可能编码选项的这样确定的选择编码成本进行比较,以确定用于数据阵列的给定区域和块的实际编码选项。
由此,如图1所示,在步骤106中,视频处理器208的RDO电路304确定是否已经对于区域考虑编码选项的所有集合。
如果仍然有编码选项的集合要考虑,那么在步骤108处选择编码选项的下一集合,并且处理返回到步骤104,该步骤104确定用于编码选项的该下一集合的成本值。例如,可以考虑不同定尺的源块和/或不同导出的参考块。
一旦已经考虑编码选项的所有集合,那么在步骤110中,基于编码选项的不同集合的各成本值来选择编码选项的集合中的一个或更多个。在该实施方式中,选择具有最低成本值的编码选项的集合。
一旦已经选择编码选项,并且已经进行是否省略用于亮度数据的频域系数的编码的确定,则视频处理器208可以根据用于源块的编码选项的所选集合(和“省略”指示)对用于区域的一个或更多个源块中的每一个编码(步骤112)。
在本实施方式中,视频处理器208分开对所编码的源帧的色度数据值和亮度数据值进行编码。
对于亮度数据值,视频处理器将根据所编码的帧的各个源块的编码选项的所选集合来对该源块编码。由此,这例如将包括:在编码选项指示这一点的情况下,省略用于数据元素块的亮度值频域系数阵列的编码,并且在这种情况下,根本不生成差值的阵列,也不生成频域系数阵列(起初)。
所编码的帧的色度数据值将对应地由视频处理器208根据编码选项的所选集合来编码,该集合基于亮度数据值的分析来选择。
然而,在编码选项的所选集合指示应省略频域系数的量化阵列的编码的情况下,视频处理器208将不简单地省略用于被考虑的数据元素块的色度数据值的量化频域系数阵列的编码,相反将仍然生成用于色度数据值的量化频域系数阵列,然后考虑量化频域系数的这样确定的阵列的特性,来确定实际上是否从输出比特流省略色度值频域系数的量化阵列的编码。
图6示出了本实施方式中用于确定是否省略用于所编码的数据阵列的块的色度数据值的量化频域系数阵列的编码的处理。
如图6所示,对于各参考(预测)色度块,确定源像素(数据元素)与预测(参考)像素(数据元素)之间的残差(差的集合)(步骤601),然后生成差值的所确定阵列(残差块)的二维频域变换并且量化频域系数(步骤602)。
然后确定是否指示了省略用于被考虑的块的亮度数据的频域系数的编码(步骤603)。如果不,那么以正常方式在输出比特流中简单地编码色度值频域系数的量化阵列。
另一方面,如果指示了省略亮度数据值的量化频域系数阵列的编码,那么确定在用于块的量化色度数据值频域系数阵列中的非零系数在数量上较少和/或在尺寸上小(步骤604)。
如果非零量化色度值频域系数的数量和/或尺寸被确定为足够少和/或小,那么确定可以省略用于讨论中的块的色度数据的量化频域系数的编码(步骤605),并且在这种情况下,将所确定的量化色度值频域系数清零(设置为零),以便不被包括在表示用于讨论中的块的色度数据值的输出比特流(位的集合)中(从其省略)(步骤605)。
另一方面,如果非零量化色度值频域系数未被确定为足够少和/或小,那么在表示用于讨论中的块的色度数据值的输出比特流(位的集合)中包括表示这些系数的适当数据。
对于所编码的数据元素块重复该处理。
在本实施方式中,非零量化色度值频域系数的大小,例如可以鉴于所确定的量化色度值频域系数的最大绝对值的尺寸(值)和/或所编码的块的所确定量化色度值频域系数的绝对值的和来考虑。
在本实施方式中,用于确定非零量化色度值频域系数是否少和/或小至足以触发在输出比特流中省略这些系数的编码的准则,取决于所编码的数据元素块的尺寸以及用于被执行的编码的质量参数(质量指示)。
例如,在HEVC视频编码的情况下,如果qp是HEVC质量参数并且是在范围0至51内的整数,并且sz是尺寸参数(对于4*4色度块,sz=2,对于8*8色度块,sz=3,并且对于16*16色度块,sz=4),则可以在变换和量化之后的非零系数的数量至多为qp/2(7-sz)时省略(清零)色度值频域系数。
其他布置当然会是可能的。
如图1所示,一旦已经对源块编码,则视频处理器208将编码后的源块写输出到存储器216(步骤114)。
如将理解的,将关于源帧的各区域并且关于帧流(序列)的各帧执行图1的上述步骤,以便生成并且存储编码后的帧流(序列)。
稍后,在期望解码已编码帧时,视频处理器208可以在步骤116中从存储器216读入编码后的源块。然后,在步骤118中,视频处理器208对编码后的源块解码。
最后,在步骤120中,视频处理器208例如向显示处理器210输出已解码源块,以便在显示装置218上显示。
再次,如将理解的,将关于各已编码帧的各编码后的源块执行图1的上述步骤,以便生成并且输出已解码的帧流。
还预期图1的处理的各种另选实施方式。
例如,视频处理器208可以选择考虑的编码选项的集合,并且可以确定用于编码选项的该集合的成本值。如果成本值低于阈值,则编码选项的集合可以被选择为在编码数据元素阵列时使用。如果成本值不低于阈值,那么视频处理器208关于编码选项的不同集合重复处理。该处理可以一直继续到找到具有合适的低成本值的编码选项的集合为止或达到终止条件为止。
对于另一个示例,代替写输出到存储器,可以将已编码的阵列流串流到另一个装置。该另一个装置然后可以解码已编码的阵列流,并且输出已解码的阵列流,例如以便显示。
现在将参照图3描述使用编码选项的所选集合对源帧的源块编码的处理(例如,如图图1的步骤112)。
首先,提供要用于对所选源块进行编码的所选参考块。例如,当要在之间模式下对源块编码时,MC(运动补偿)电路310向所选参考帧应用由ME电路308生成的所选运动向量,以导出所选参考块。类似地,在要在内部模式下对源块编码的情况下,由TRF(变换,transform)电路312导出源帧的所选参考块。
在任一情况下,TRF电路312然后从所选参考块的数据元素减去所选源块的数据元素,以生成差值的集合。TRF电路312然后向差值的集合应用全正向离散余弦变换处理,以生成频域系数的集合。TRF电路312然后向频域系数的集合应用全量化处理,以生成量化系数的集合。
比特流编码器/解码器314然后编码由TRF电路312生成的用于源块的系数。编码方案可以包括任意合适的熵(可变长度)编码方案。
如将理解的,然后使用用于源帧的编码选项的所选集合对于源帧的各所选源块重复上述编码处理。
因此,比特流编码器/解码器314的输出是:包括已编码系数的集合的编码比特流。比特流中还包括在编码处理中使用的所选模式和/或运动向量。
然后经由接口302例如向存储器216输出编码比特流或将其串流到另一个装置。
现在还将参照图3描述对编码后的源块解码的处理(例如,如同图1的步骤118)。
首先,经由接口302例如从存储器216或从另一个装置提供编码比特流。
比特流编码器/解码器314然后对编码比特流进行解码,以生成用于要重构的源块的量化系数的集合。解码方案可以包括与用于编码比特流的熵编码方案对应的任意合适的解码方案。
TRF电路312然后向量化系数的集合应用全去量化处理,以生成用于要重构的源块的频域系数的集合。TRF电路312然后向频域系数的集合应用全逆离散余弦变换处理,以生成用于要重构的源块的差值的集合。
还提供用于对源块编码的参考块。例如,在源块在之间模式下编码的情况下,相关参考块从之前重构的参考帧导出。类似地,在源块在内部模式下编码的情况下,相关参考块从源帧的之前重构区域导出。
在任一情况下,TRF电路312然后将差值的集合加到参考块的数据元素,以生成所重构源块的数据元素。
如将理解的,然后对于源帧的各源块重复上述解码处理。
然后使用环路滤波器316来平滑或“解块”所重构源帧的区域。然后经由接口302输出所重构源帧,例如以便显示。
用于数据处理系统200、数据处理设备202以及视频处理器208的其他布置当然会是可能的。
这里还应当再次注意的是,附图仅是示意性的,并且例如,在实践中,所示的元件可以共享重要的硬件电路,即使它们在附图中被示意性示出为单独的元件。例如,在RDO处理中执行的处理(例如,运动补偿、变换、量化等)中的一个或更多个可以使用与在编码和/或解码处理中执行的等效步骤相同的电路来执行。
从上文可以看到,这里所描述的技术至少在其实施方式中可以提供:一种确定是否省略所编码的YUV数据阵列的块的色度数据值的量化频域系数的编码的有效方式,并且它们具体可以提供一种用于该确定的机制,该机制可以减少由于量化色度值频域系数的编码的不适当省略引起的伪影,但对于该处理没有大幅增大的处理负担(并且具体地例如不必执行用于量化色度值频域系数的编码的任何失真或位成本评价)。
这至少在这里所描述的技术的实施方式中由以下方式来实现:在对用于数据元素块的色度数据值编码时,确定是否要省略用于数据元素块的亮度数据值的频域系数的编码,如果是这样,那么基于量化色度值频域系数的特性决定是否省略色度值频域系数的编码。
前述具体实施方式已经为了例示和描述的目的而提出。并非旨在对这里所描述的技术进行穷尽,或者将这里所描述的技术限于所公开的精确形式。许多修改例和变型例鉴于上述示教而是可行的。选择了所描述实施方式以最好地说明这里所描述的技术的原理及其实际应用,从而使本领域其它技术人员能够在各种实施方式中最好使用这里所描述的技术,以及适合于所设想的具体用途的各种变型。预期的是,保护范围由所附权利要求来限定。
Claims (19)
1.一种对数据元素阵列流中的数据元素阵列进行编码的方法,其中,所述数据元素阵列作为亮度数据值和色度数据值的相应集合而编码,并且作为组成所述数据元素阵列的各数据元素块而编码,所述方法包括以下步骤:
当对待编码的数据阵列的源数据元素块的所述色度数据值进行编码时:
生成色度差值阵列,该色度差值阵列表示所编码的数据元素阵列的源数据元素块的色度值与从所述数据元素阵列流中的一个或更多个数据元素阵列的色度值导出的参考数据元素块的色度值之间的差;
通过对所述色度差值阵列应用正向变换处理,来生成所述色度差值阵列的色度值频域系数阵列;
通过对所述色度值频域系数阵列应用量化处理,来生成量化色度值频域系数阵列;
确定是否指示了省略所编码的数据元素阵列块的亮度数据值的量化频域系数的编码;以及
当确定为指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示所述数据元素阵列的输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性确定为在表示所述数据元素阵列的输出编码比特流中省略所述量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中不包括所述量化色度值频域系数阵列的数据。
2.根据权利要求1所述的方法,所述方法还包括以下步骤:当确定在表示所述数据元素阵列的输出比特流中不包括所述数据元素块的所述量化色度值频域系数阵列的数据时,与所述输出比特流关联地提供表明在所述输出比特流中不包括所述数据元素块的所述量化色度值频域系数阵列的数据的指示。
3.根据权利要求1或2所述的方法,所述方法包括以下步骤:
当确定为未指示省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中包括所述数据元素块的所述量化色度值频域系数阵列的数据。
4.根据权利要求1或2所述的方法,所述方法包括以下步骤:
当确定为指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示所述数据元素阵列的输出编码比特流中省略对于所编码的所述数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性确定为在表示所述数据元素阵列的所述输出编码比特流中不省略所述量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中包括所述量化色度值频域系数阵列的数据。
5.根据权利要求1或2所述的方法,其中,用于确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的所述数据元素块生成的量化色度值频域系数阵列的编码的、所确定的量化色度值频域系数的特性包括:
表明所述量化色度值频域系数对于所述块在解码器中的重构的相对重要性的特性。
6.根据权利要求1或2所述的方法,其中,用于确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的所述数据元素块生成的量化色度值频域系数阵列的编码的、所确定的量化色度值频域系数的特性包括:
所确定的量化色度值频域系数的大小的度量。
7.根据权利要求1或2所述的方法,其中,用于确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的所述数据元素块生成的量化色度值频域系数阵列的编码的、所确定的量化色度值频域系数的特性包括:
对于所编码的块确定的非零量化色度值频域系数的数量。
8.根据权利要求1或2所述的方法,所述方法还包括以下步骤:
还基于以下内容中的一个或更多个来确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的所述数据元素块生成的量化色度值频域系数阵列的编码:
所编码的块的尺寸;以及
所执行的编码的质量的度量。
9.根据权利要求1或2所述的方法,所述方法还包括以下步骤:基于所述数据阵列的亮度数据值,先选择用于所述数据阵列的编码选项集合。
10.一种对数据元素阵列流中的数据元素阵列进行编码的设备,其中,所述数据元素阵列作为亮度数据值和色度数据值的相应集合而编码,并且作为组成所述数据元素阵列的各数据元素块而编码,所述设备包括:
差值生成电路,该差值生成电路能够进行工作而生成色度差值阵列,该色度差值阵列表示所编码的数据元素阵列的源数据元素块的色度值与从所述数据元素阵列流中的一个或更多个数据元素阵列的色度值导出的参考数据元素块的色度值之间的差;
频域系数生成电路,该频域系数生成电路能够进行工作而通过对所述色度差值阵列应用正向变换处理,来生成所述色度差值阵列的色度值频域系数阵列;
量化电路,该量化电路能够进行工作而通过对所述色度值频域系数阵列应用量化处理,来生成量化色度值频域系数阵列;
编码确定电路,该编码确定电路能够进行工作而:
确定是否指示了省略所编码的数据元素阵列块的亮度数据值的量化频域系数的编码;以及
当确定为指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示所述数据元素阵列的输出编码比特流中省略对所编码的数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性确定了在表示所述数据元素阵列的输出编码比特流中省略所述量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中不包括所述量化色度值频域系数阵列的数据。
11.根据权利要求10所述的设备,其中,所述编码确定电路还能够进行工作而:
当确定为在表示所述数据元素阵列的输出比特流中不包括所述数据元素块的所述量化色度值频域系数阵列的数据时,与所述输出比特流关联地提供表明在所述输出比特流中不包括所述数据元素块的所述量化色度值频域系数阵列的数据的指示。
12.根据权利要求10或11所述的设备,其中,所述编码确定电路还能够进行工作而:
当确定了未指示省略所编码的所述数据阵列的所述数据元素块的亮度数据的量化频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中包括所述数据元素块的所述量化色度值频域系数阵列的数据。
13.根据权利要求10或11所述的设备,其中,所述编码确定电路能够进行工作而:
当确定为指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性确定为在表示所述数据元素阵列的所述输出编码比特流中不省略所述量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中包括所述量化色度值频域系数阵列的数据。
14.根据权利要求10或11所述的设备,其中,用于确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的所述数据元素块生成的量化色度值频域系数阵列的编码的、所确定的量化色度值频域系数的特性包括:
表明所述量化色度值频域系数对于所述块在解码器中的重构的相对重要性的特性。
15.根据权利要求10或11所述的设备,其中,用于确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码的、所确定的量化色度值频域系数的特性包括:
所确定的量化色度值频域系数的大小的度量。
16.根据权利要求10或11所述的设备,其中,用于确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码的、所确定的量化色度值频域系数的特性包括:
对于所编码的块确定的非零量化色度值频域系数的数量。
17.根据权利要求10或11所述的设备,其中,所述编码确定电路能够进行工作而:
基于以下内容来确定是否也要在表示所述数据元素阵列的所述输出编码比特流中省略对于所编码的所述数据元素块生成的量化色度值频域系数阵列的编码:
所确定的量化色度值频域系数的特性;
并且
还基于以下内容中的一个或更多个:
所编码的块的尺寸;以及
所执行的编码的质量的度量。
18.根据权利要求10或11所述的设备,所述设备还包括:
编码选项选择电路,该编码选项选择电路能够进行工作而基于数据元素阵列的亮度数据,来选择在对数据元素阵列流中的数据元素阵列进行编码时所使用的编码选项的集合。
19.一种存储计算机软件程序的计算机可读存储介质,该计算机软件程序在数据处理器上运行时执行对数据元素阵列流中的数据元素阵列进行编码的方法,其中,所述数据元素阵列作为亮度数据值和色度数据值的相应集合而编码,并且作为组成所述数据元素阵列的数据元素块而编码,所述方法包括以下步骤:
当对待编码的数据阵列的源数据元素块的色度数据值进行编码时:
生成色度差值阵列,该色度差值阵列表示所编码的数据元素阵列的源数据元素块的色度值与从所述数据元素阵列流中的一个或更多个数据元素阵列的色度值导出的参考数据元素块的色度值之间的差;
通过对所述色度差值阵列应用正向变换处理,来生成所述色度差值阵列的色度值频域系数阵列;
通过对所述色度值频域系数阵列应用量化处理,来生成量化色度值频域系数阵列;
确定是否指示了省略所编码的数据元素阵列块的亮度数据值的量化频域系数的编码;以及
当确定为指示了省略所编码的数据阵列的数据元素块的亮度数据的量化频域系数的编码时:
基于所确定的量化色度值频域系数的特性,来确定是否也要在表示所述数据元素阵列的输出编码比特流中省略对于所编码的数据元素块生成的量化色度值频域系数阵列的编码;以及
当基于所确定的量化色度值频域系数的特性确定为在表示所述数据元素阵列的输出编码比特流中省略所述量化色度值频域系数的编码时,在表示编码后的数据元素阵列的输出比特流中不包括所述量化色度值频域系数阵列的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/803,482 | 2017-11-03 | ||
US15/803,482 US10368071B2 (en) | 2017-11-03 | 2017-11-03 | Encoding data arrays |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756734A CN109756734A (zh) | 2019-05-14 |
CN109756734B true CN109756734B (zh) | 2021-11-30 |
Family
ID=66329026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811305804.7A Expired - Fee Related CN109756734B (zh) | 2017-11-03 | 2018-11-05 | 对数据阵列进行编码的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10368071B2 (zh) |
CN (1) | CN109756734B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11429337B2 (en) | 2017-02-08 | 2022-08-30 | Immersive Robotics Pty Ltd | Displaying content to users in a multiplayer venue |
AU2018280337B2 (en) | 2017-06-05 | 2023-01-19 | Immersive Robotics Pty Ltd | Digital content stream compression |
GB2567835B (en) * | 2017-10-25 | 2020-11-18 | Advanced Risc Mach Ltd | Selecting encoding options |
TW201935927A (zh) * | 2017-11-21 | 2019-09-01 | 澳大利亞商伊門斯機器人控股有限公司 | 用於影像壓縮之頻率分量選擇 |
CN111699693A (zh) | 2017-11-21 | 2020-09-22 | 因默希弗机器人私人有限公司 | 用于数字现实的图像压缩 |
CN110311707B (zh) * | 2019-07-02 | 2020-12-29 | 沈阳理工大学 | 基于多准则约束的复合维度信息传输重构方法 |
WO2021001215A1 (en) * | 2019-07-02 | 2021-01-07 | Interdigital Vc Holdings France, Sas | Chroma format dependent quantization matrices for video encoding and decoding |
US11423580B2 (en) * | 2020-10-12 | 2022-08-23 | Arm Limited | Decoding data arrays |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110235708A1 (en) * | 2010-03-27 | 2011-09-29 | Hyung Joon Kim | Method and System for Detecting Global Brightness Change for Weighted Prediction in Video Encoding |
CN104685872A (zh) * | 2012-09-28 | 2015-06-03 | 佳能株式会社 | 对编码单位的变换单位编码和解码的方法、设备和系统 |
CN104782125A (zh) * | 2012-11-08 | 2015-07-15 | 佳能株式会社 | 对编码单位的变换单位编码和解码的方法、设备和系统 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6208693B1 (en) * | 1997-02-14 | 2001-03-27 | At&T Corp | Chroma-key for efficient and low complexity shape representation of coded arbitrary video objects |
US7095785B2 (en) * | 2001-06-29 | 2006-08-22 | Equator Technologies, Inc. | Determination of prediction direction in MPEG-4 |
US7103102B2 (en) * | 2001-06-29 | 2006-09-05 | Equator Technologies, Inc. | Bit stream code lookup table for an MPEG-4 code word |
CN100553339C (zh) * | 2002-07-15 | 2009-10-21 | 株式会社日立制作所 | 动态图像解码方法 |
US7139015B2 (en) * | 2004-01-20 | 2006-11-21 | Polycom, Inc. | Method and apparatus for mixing compressed video |
US8577184B2 (en) * | 2005-01-19 | 2013-11-05 | The United States Of America As Represented By The Secretary Of The Army | System and method for super-resolution imaging from a sequence of color filter array (CFA) low-resolution images |
US8666196B2 (en) * | 2005-01-19 | 2014-03-04 | The United States Of America As Represented By The Secretary Of The Army | System and method for super-resolution imaging from a sequence of color filter array (CFA) low-resolution images |
US8009923B2 (en) * | 2006-03-14 | 2011-08-30 | Celestial Semiconductor, Inc. | Method and system for motion estimation with multiple vector candidates |
US8711925B2 (en) * | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
KR101088772B1 (ko) * | 2006-10-20 | 2011-12-01 | 노키아 코포레이션 | 스케일러블 멀티미디어의 적응 경로들에 대한 포괄적 표시 |
US20080123750A1 (en) * | 2006-11-29 | 2008-05-29 | Michael Bronstein | Parallel deblocking filter for H.264 video codec |
KR101366242B1 (ko) * | 2007-03-29 | 2014-02-20 | 삼성전자주식회사 | 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치 |
US8150172B2 (en) * | 2007-05-04 | 2012-04-03 | Qualcomm Incorporated | Video coding mode selection using estimated coding costs |
US8437564B2 (en) * | 2007-08-07 | 2013-05-07 | Ntt Docomo, Inc. | Image and video compression using sparse orthonormal transforms |
US8228990B2 (en) * | 2008-01-16 | 2012-07-24 | Sony Corporation | Template matching scheme using multiple predictors as candidates for intra-prediction |
US8295356B2 (en) * | 2008-03-07 | 2012-10-23 | International Business Machines Corporation | Method and system for coding mode selection in video compression systems |
US8189933B2 (en) * | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
US8660261B2 (en) * | 2009-06-04 | 2014-02-25 | Mediatek Singapore Pte. Ltd. | System and apparatus for integrated video/image encoding/decoding and encryption/decryption |
US8605997B2 (en) * | 2009-11-23 | 2013-12-10 | Samsung Electronics Co., Ltd. | Indoor-outdoor detector for digital cameras |
US9819358B2 (en) * | 2010-02-19 | 2017-11-14 | Skype | Entropy encoding based on observed frequency |
US9609342B2 (en) * | 2010-02-19 | 2017-03-28 | Skype | Compression for frames of a video signal using selected candidate blocks |
US9313526B2 (en) * | 2010-02-19 | 2016-04-12 | Skype | Data compression for video |
US20110206132A1 (en) * | 2010-02-19 | 2011-08-25 | Lazar Bivolarsky | Data Compression for Video |
US9078009B2 (en) * | 2010-02-19 | 2015-07-07 | Skype | Data compression for video utilizing non-translational motion information |
US8488031B2 (en) * | 2011-01-14 | 2013-07-16 | DigitalOptics Corporation Europe Limited | Chromatic noise reduction method and apparatus |
US9036042B2 (en) * | 2011-04-15 | 2015-05-19 | Dolby Laboratories Licensing Corporation | Encoding, decoding, and representing high dynamic range images |
US8792550B2 (en) * | 2011-08-04 | 2014-07-29 | Qualcomm Incorporated | Color/gray patch prevention for video coding |
TW201310392A (zh) * | 2011-08-26 | 2013-03-01 | Novatek Microelectronics Corp | 預測移動向量之估測方法 |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
JP6210368B2 (ja) * | 2012-09-18 | 2017-10-11 | サン パテント トラスト | 画像復号方法および画像復号装置 |
US9661340B2 (en) * | 2012-10-22 | 2017-05-23 | Microsoft Technology Licensing, Llc | Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats |
US9521389B2 (en) * | 2013-03-06 | 2016-12-13 | Qualcomm Incorporated | Derived disparity vector in 3D video coding |
US9686561B2 (en) * | 2013-06-17 | 2017-06-20 | Qualcomm Incorporated | Inter-component filtering |
US20150248748A1 (en) * | 2014-02-28 | 2015-09-03 | Qualcomm Incorporated | Method and apparatus to determine a median pixel value |
US9918105B2 (en) * | 2014-10-07 | 2018-03-13 | Qualcomm Incorporated | Intra BC and inter unification |
-
2017
- 2017-11-03 US US15/803,482 patent/US10368071B2/en not_active Expired - Fee Related
-
2018
- 2018-11-05 CN CN201811305804.7A patent/CN109756734B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110235708A1 (en) * | 2010-03-27 | 2011-09-29 | Hyung Joon Kim | Method and System for Detecting Global Brightness Change for Weighted Prediction in Video Encoding |
CN104685872A (zh) * | 2012-09-28 | 2015-06-03 | 佳能株式会社 | 对编码单位的变换单位编码和解码的方法、设备和系统 |
CN104782125A (zh) * | 2012-11-08 | 2015-07-15 | 佳能株式会社 | 对编码单位的变换单位编码和解码的方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190141324A1 (en) | 2019-05-09 |
US10368071B2 (en) | 2019-07-30 |
CN109756734A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756734B (zh) | 对数据阵列进行编码的方法和设备 | |
US20180054613A1 (en) | Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus | |
JP5334070B2 (ja) | 画像処理における均衡ピクセル領域ひずみ分布を有する適合量子化 | |
JP5646641B2 (ja) | 画像のブロックを符号化する方法及び画像のブロックを再構成する方法 | |
US20160353105A1 (en) | Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program | |
US11368716B2 (en) | Image encoding device, image decoding device and program | |
JP2010514246A (ja) | 画像圧縮及び伸張 | |
MX2012011650A (es) | Metodo y aparato para codificar y decodificar imagenes y metodo y aparato para decodificar imagenes usando orden de barrido de coeficiente adaptativo. | |
JP2009027698A (ja) | 画像フレームの非フレームエッジブロックの表現における改良された圧縮 | |
JP7569413B2 (ja) | ビデオサンプルのブロックを符号化及び復号するための方法、装置、及びプログラム | |
WO2022116113A1 (zh) | 一种帧内预测方法、装置及解码器和编码器 | |
CN110870312A (zh) | 用于视频压缩中的帧内编码的方法和设备 | |
CN116848843A (zh) | 可切换的密集运动向量场插值 | |
CN107896331B (zh) | 选择编码选项的方法、数据处理装置、计算机可读存储介质 | |
KR102267792B1 (ko) | 이미지 블록에 관한 픽셀-도메인 전처리 동작들에 기초한 이미지 블록 코딩 | |
CN112740691B (zh) | 用于编码和解码表示至少一个图像的数据流的方法和设备 | |
CN114430904A (zh) | 利用环内子图像级可控噪声生成进行的视频压缩 | |
US10764607B2 (en) | Data processing systems for encoding video data | |
JP2024511272A (ja) | イントラ予測方法、符号器、復号器及び記憶媒体 | |
CN113132734A (zh) | 一种编码、解码方法、装置及其设备 | |
CN112740690B (zh) | 用于编码和解码代表至少一个图像的数据流的方法和设备 | |
US10924738B2 (en) | Selecting encoding options | |
US20230044603A1 (en) | Apparatus and method for applying artificial intelligence-based filtering to image | |
CN112292858B (zh) | 用于编码和解码表示至少一个图像的数据流的方法和装置 | |
WO2020000487A1 (zh) | 变换方法、反变换方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211130 |