CN104704827A - 用于下一代视频的内容自适应变换译码 - Google Patents
用于下一代视频的内容自适应变换译码 Download PDFInfo
- Publication number
- CN104704827A CN104704827A CN201380053444.5A CN201380053444A CN104704827A CN 104704827 A CN104704827 A CN 104704827A CN 201380053444 A CN201380053444 A CN 201380053444A CN 104704827 A CN104704827 A CN 104704827A
- Authority
- CN
- China
- Prior art keywords
- subregion
- decoding
- conversion
- prediction
- error data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/12—Selection 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
-
- 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/12—Selection 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/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/172—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 picture, frame or field
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
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)
- Television Systems (AREA)
- Image Analysis (AREA)
Abstract
以下所描述的用于视频译码的计算机实现的方法包括:接收用于变换译码的预测差错数据分区;分割该预测差错数据分区以生成该预测差错数据分区的多个译码分区;对多个译码分区的第一子集执行内容自适应变换;以及对多个译码分区的第二子集执行固定变换。
Description
相关申请
本申请要求2012年11月13日提交的题为“内容自适应视频译码器”(“CONTENT ADAPTIVE VIDEO CODER”)的美国临时申请No.61/725,576以及2013年1月30日提交的题为“下一代视频译码”(“NEXT GENERATION VIDEO CODING”)的美国临时申请No.61/758,314的美国临时申请的权益。
背景技术
视频编码器压缩视频信息,使得能够在给定的带宽上发送更多的信息。然后,可将被压缩的信号传送到接收机,该接收机具有解码器,该解码器在显示之前对信号进行解码或解压缩。
高效视频译码(HEVC)是最新的视频压缩标准,由ISO/IEC移动图片专家组(MPEG)和ITU-T视频译码专家组(VCEG)形成的视频译码联合协作团队(JCT-VC)正在开发该标准。响应于先前的H.264/AVC(高级视频译码)标准不能为演进的更高分辨率视频应用提供足够的压缩,正在开发HEVC。与先前的视频译码标准类似,HEVC包括基本的功能模块,例如,帧内/帧间预测、变换、量化、循环内(in-loop)过滤和熵译码。
不断发展的HEVC标准可尝试改善对H.264/AVC标准的限制,例如,针对所允许的预测分区和译码分区的有限选择、有限的所允许的多个参考和预测生成、有限的变换块尺寸和实际变换、用于减少译码伪像的有限机制以及低效率的熵编码技术。然而,不断发展的HEVC标准可使用迭代方法来解决此类问题。
附图简述
本文中所描述的资料通过示例方式而非限制性方式在所附附图中示出。为了使说明简单和清楚,附图中示出的元件不一定是按比例绘制的。例如,为了清楚起见,可将一些元件的尺寸相对于其他元件扩大。此外,在被认为合适的情况下,在多个附图之间重复多个附图标记以指示对应或类似的元件。在附图中:
图1是示例下一代视频编码器的示图;
图2是示例下一代视频解码器的示图;
图3是示例编码器子***的示图;
图4是示例编码器子***的示图;
图5是示例编码器子***的示图;
图6是示例编码器子***的示图;
图7是示出示例过程的流程图;
图8示出使用二叉树分区技术对视频数据进行的示例分区操作;
图9示出使用k-d树分区技术对视频数据进行的示例分区操作;
图14示出示例比特流;
图15是示出示例过程的流程图;
图17是示例基于小波的视频编码器的示图;
图18是示例基于小波的视频解码器的示图;
图19(A)和19(B)提供操作中的示例视频译码***和视频译码过程的示图;
图20是示例视频译码***的示图;
图21是示例***的示图;
图22示出完全根据本公开至少一些实现方案而安排的示例设备。
具体实施方式
现在参考所附附图描述一个或多个实施例或实现方案。虽然讨论了特定配置和构造,但是应当理解,这样做只是出于说明的目的。相关领域内的技术人员将认可,可采用其他配置和安排而不背离本说明书的精神和范围。对相关领域内的技术人员显而易见的是,也可在本文所描述内容以外的各种其他***和应用中采用本文所描述的多种技术和/或安排。
尽管以下描述陈述了可在诸如例如芯片上***(SoC)架构之类的架构中显示的各种实现方案,但是本文所述的多种技术和/或安排的实现方案不限于特定的架构和/或计算***,并且可由用于类似目的的任何架构和/或计算***来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或各种计算设备和/或诸如机顶盒、智能电话等之类的消费者电子(CE)设备可实现本文所述的多种技术和/或安排。此外,尽管下列描述可能陈述了诸如逻辑实现、***组件的类型和相互关系、逻辑分区/集成选择等之类的多个具体细节,但是可以不利用此类具体细节来实施要求保护的主题。在其他实例中,可能不详细地示出诸如例如控制结构和完整的软件指令序列之类的某些资料,从而避免使本文所公开的内容不清楚。
本文所公开的内容可实现在硬件、固件、软件或它们的任意组合中。也可以将本文所公开的内容实现为存储在机器可读介质上的指令,可由一个或多个处理器读取并执行这些指令。机器可读介质可包括用于以机器(如,计算设备)可读的形式存储或传送信息的任何介质和/或机制。例如,机器可读介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等等。
在说明书中提到“一个实现方案”、“实现方案”、“示例实现方案”等表明所描述的实现方案可包括特定特征、结构或特性,但每个实施例可能不一定都包括该特定特征、结构或特性。此外,此类的短语不一定是指同一个实现方案。此外,当结合实现方案描述特定特征、结构或特性时,认为结合无论是否在本文中明确描述的其他实现方案以实现此类特征、结构或特性是在本领域技术人员的知识范围之内的。
下文描述关于用于视频译码的内容自适应变换的***、装置、制品和方法。
下文描述下一代视频(NGV)***、装置、制品和方法。NGV视频译码可包括视频译码过程中显著的基于内容的自适应性以实现更高的压缩。如上文中所讨论的那样,H.264/AVC标准可能具有各种限制,并且不断地尝试改善该标准,诸如,HEVC标准可使用迭代方法来解决此类限制。在本文中,将描述包括编码器和解码器的NGV***。
同样如所讨论的那样,H.264/AVC标准可能包括译码分区和固定变换的有限选择。具体来说,如本文中所讨论的那样,可接收视频数据用于变换译码。该视频数据可包括用于变换译码的任何合适的数据,诸如,残差视频数据、预测分区、预测差错数据分区、图块(tile)或超片段(super-fragment)或小波数据。在一些示例中,该视频数据可包括具有用于预测分区的差错数据的预测差错数据分区。例如,这些预测分区可包括视频帧的图块或超片段的分区。
可对接收到的视频数据进行分区。在各种示例中,可基于与该视频数据相关联的数据类型(例如,F/B-图片(功能的或双向的)、P-图片(如,预测性的)或I-图片(仅帧内补偿的))或预测技术(如,帧间的或帧内的,等等),使用二叉树分区和k-d树分区对该视频数据进行分区。在一些示例中,视频数据可包括预测差错数据分区(例如,与针对P-图片和F/B-图片的帧间预测相关联的分区),并且可将这些预测差错数据分区分割为多个译码分区。例如,可使用二叉树分区或k-d树分区,将预测差错数据分区分割为多个译码分区。如本文中所使用的那样,术语“F/B-图片”可包括使得图片可在提前或在将来将先前经解码的图片或帧用于预测的F-图片(如,功能的)或B-图片(如,双向的)。
在一些示例中,视频数据可包括用于帧内预测的、视频帧的图块或超片段(要么用于I-图片,要么用于P-图片和F/B-图片中的帧内预测),可对这些图块或超片段进行分区以生成用于预测的分区。在一些示例中,可使用k-d树分区以针对I-图片来执行此类分区,并且使用二叉树分区以针对P-图片和F/B-图片来执行此类分区。可生成与用于预测的分区相关联的预测分区(例如,经由帧内预测技术),并且比较这些预测分区和原始像素数据的差异,以生成预测差错数据分区。在此类示例中,可执行仅单个层级的分区操作,并且可将这些预测差错数据分区认为是译码分区。
在一些示例中,可变换多个译码分区,使得使用内容自适应变换(如,具有逐块自适应的基础的变换)来变换这些译码分区中的子集(如,小至中尺寸的译码分区),并且使用固定变换(如,具有固定基础的变换)来变换这些译码分区中的另一子集(如,中至大尺寸的分区)。在其他示例中,可使用内容自适应变换来变换这些译码分区的子集(如,小至中尺寸的分区),而基本上可使用固定变换来变换这些译码分区的全部。基于这些变换的成功以及相对的比特成本和差错率,可进行率失真优化等以在内容自适应变换和固定变换之间作出选择,用于译码分区。
在基于所讨论的图片或预测类型而使用二叉树和k-d树分区两者的示例中,可应用类似的技术。在一些示例中,可变换二叉树译码分区,使得使用内容自适应变换来变换这些译码分区的子集(如,小至中尺寸的分区),并且使用固定变换来变换这些译码分区的另一子集(如,中至大尺寸的分区)。类似地,在一些示例中,可变换k-d树分区,使得使用内容自适应变换来变换这些分区的子集(如,小至中尺寸的分区),并且使用固定变换来变换这些分区的另一子集(如,中至大尺寸的分区)。在其他示例中,可变换二叉树分区,使得可使用内容自适应变换来变换这些译码分区的子集(如,小至中尺寸的分区),并且基本上可使用固定变换来变换这些译码分区的全部。基于这些变换的成功以及相对的比特成本和差错率,可进行率确定优化等以在内容自适应变换和固定变换之间作出选择。类似地,在一些示例中,可变换k-d树分区,使得可使用内容自适应变换来变换这些分区的子集(如,小至中尺寸的分区),并且基本上可使用固定变换来变换这些译码分区的全部;并且,基于这些变换的成功以及相对比特成本和差错率,可进行率确定优化等以在内容自适应变换结果和固定变换结果之间作出选择。
在各种示例中,可对来自相关的变换的所得到的数据(如,变换系数)和定义相关译码分区的数据进行量化、扫描,并且可将这些数据熵编码为比特流,以供传输。可对该比特流进行解码,并且可对经解码的数据进行逆变换以生成例如预测差错数据分区,这些预测差错数据分区可进一步用于解码过程以及经由显示设备的最终的显示中。对于使用内容自适应变换而变换的译码分区,编码过程可确定可被传送到解码过程的变换数据(例如,除了变换系数之外的变换数据)。此外,对于使用内容自适应变换而变换的分区,编码过程和解码过程两者可包括基于先前经解码的视频数据的另一个块确定与该分区相关联的基函数参数。此外,在一些示例中,内容自适应变换可包括在垂直方向或水平方向上的自适应参数变换以及在垂直于该自适应参数变换方向上的固定变换。在一些示例中,该内容自适应变换可包括闭合形式的混合参数变换。
如本文中所使用的那样,术语“译码器(coder)”可以指编码器(encoder)和/或解码器(decoder)。类似地,如本文中所使用的那样,术语“译码”(coding)可以指经由编码器执行视频编码(encoding)和/或经由解码器执行视频解码(decoding)。例如,视频编码器和视频解码器可以两者都是能够译码视频数据的译码器的示例。此外,如本文中所使用的那样,术语“编解码器”(“codec”)可以指任何过程、程序或操作集,诸如,可实现编码器和/或解码器的软件、固件和/或硬件的任意组合。此外,如本文中所使用的那样,短语“视频数据”可以指与视频译码相关联的任何类型的数据,诸如,视频帧、图像数据、经编码的比特流数据,等等。
图1是根据本公开至少一些实现方案而安排的示例下一代视频编码器100的示图。如所示出的那样,编码器100可接收输入视频101。输入视频101可包括供编码的任何合适的输入视频,诸如,视频序列的输入帧。如所示出的那样,可经由内容预分析器模块102来接收输入视频101。可将内容预分析器模块102配置成执行对输入视频101的视频帧的内容进行的分析,从而确定各种类型的参数,以改善视频译码效率和速度性能。例如,内容预分析器模块102可确定水平和垂直梯度信息(如,Rs、Cs)、方差、每张图片的空间复杂度、每张图片的时域复杂度、场景变化检测、运动范围估计、增益检测、预测距离估计、对象数量估计、区域边界检测、空间复杂度映射计算、焦距估计、胶片粒度估计,等等。可由编码器100(例如,经由编码控制器103)使用内容预分析器模块102所生成的这些参数,并且/或者量化这些参数,并将这些参数传递到解码器。如所示出的那样,可将视频帧和/或其他数据从内容预分析器模块102传送到自适应图片组织器模块104,该自适应图片组织器模块104可确定每个视频帧的图片类型(如,I-图片、P-图片或F/B-图片),并且根据需要对这些视频帧进行重排序。在一些示例中,自适应图片组织器模块104可包括配置成生成多个帧部分的帧部分生成器。在一些示例中,可将内容预分析器模块102和自适应图片组织器模块104一起认为是编码器100的预分析器子***。
如所示出的那样,可将视频帧和/或其他数据从自适应图片组织器模块104传送到预测分区生成器模块105。在一些示例中,预测分区生成器模块105可将帧或图片划分成多个图块或多个超片段等。在一些示例中,可提供附加模块(例如,在模块104和105之间),用于将帧或图片划分为多个图块或超片段。预测分区生成器模块105可将每个图块或超片段划分为潜在的多个预测分割区(partioning)或分区(partition)。在一些示例中,可使用诸如k-d树分区技术、二叉树分区技术等分区技术来确定潜在的预测分割区,可基于单独的视频帧的图片类型(如,I-图片、P-图片或F/B-图片)、被分区的帧部分的特性等来确定分区技术。在一些示例中,所确定的潜在的预测分割区可以是用于预测(如,帧间或帧内预测)的分区,并且可将所确定的潜在的预测分割区描述为预测分区或预测块等。
在一些示例中,可从这些潜在的预测分割区中确定所选择的预测分割区(如,预测分区)。例如,所选择的预测分割区可基于:对于每个潜在的预测分割区,使用基于特性和运动的多参考预测或帧内预测来进行预测,以及确定预测参数。对于每一个潜在的预测分割区,可通过比较原始像素和预测像素的差异来确定潜在的预测差错,并且所选择的预测分割区可以是预测差错最小的潜在的预测分割区。在其他示例中,可基于率失真优化来确定所选择的预测分割区,率失真优化包括基于用于对分割区进行译码的位(bit)数量以及与该预测分割区相关联的预测差错的加权打分。
如所示出的那样,在差别器(differencer)106处,可比较所选择的预测分割区(例如,当前帧的预测分区)的原始像素和所预测的分区(例如,基于一个或多个参考帧以及诸如帧间或帧内预测数据之类的其他预测性数据对当前帧的预测分区的预测)的差异。将在下文中进一步描述对所预测的分区的确定,并且该确定可包括图1中所示的解码循环。可将来自差别比较中的任何残差或残差数据(如,分区预测差错数据)传送到译码分区生成器模块107。在一些示例中,诸如针对任何图片类型(I-图片、F/B-图片或P-图片)的预测分区的帧内预测,可经由交换机107a和107b绕过译码分区生成器模块107。在此类示例中,可执行仅单个层级的分区操作。可将此类分区操作描述为预测分区操作(如所描述的那样)或译码分区操作或两者。在各种示例中,可经由预测分区生成器模块105(如所讨论的那样)执行此类分区操作,或者,如将在本文中进一步讨论的那样,可通过经由译码分区生成器模块107而实现的k-d树帧内预测/译码分割器模块或二叉树帧内预测/译码分割器模块来执行此类分区操作。
在一些示例中,分区预测差错数据(如果存在任何分区预测差错数据)可能不够显著,不足以保证编码操作。在其他示例中,在期望对分区预测差错数据进行编码以及该分区预测差错数据与帧内预测等相关联等的情况下,译码分区生成器模块107可确定这些预测分区的译码分区。在一些示例中,可能不需要译码分区生成器模块107,因为可不利用译码分区操作对该分区进行编码(例如,如所示出的那样,经由通过交换机107a和107b可用的旁路路径)。无论有没有译码分区操作,假如残差或残差数据要求进行编码,则可将分区预测差错数据(随后可在任一事件中将该分区预测差错数据描述为译码分区)传送到自适应变换模块108。在一些示例中,可将预测分区生成器模块105和译码分区生成器模块107一起认为是编码器100的分割器子***。在各种示例中,译码分区生成器模块107可对分区预测差错数据、原始像素数据、残差数据或小波数据进行操作。
译码分区生成器模块107可使用二叉树和/或k-d树分区技术等来生成例如分区预测差错数据的、潜在的译码分割区(如,译码分区)。在一些示例中,可经由自适应变换模块108,使用具有各种块尺寸的自适应或固定变换来变换这些潜在的译码分区,并且可基于率失真优化或其他基础来确定所选择的译码分割区和所选择的变换(如,自适应的或固定的)。在一些示例中,可基于预先确定的选择方法、以译码分区的尺寸等为基础来确定所选择的译码分割区和/或所选择的变换。
例如,自适应变换模块108可包括:第一部分或组件,其用于执行参数变换以允许对小至中尺寸的块进行局部优化变换;以及第二部分或组件,其用于使用固定变换来执行全局稳定的、低开销变换译码,该固定变换诸如离散余弦变换(DCT)或来自各种变换(包括参数变换)的基于图片的变换或在本文中进一步讨论的任何其他配置。在一些示例中,对于局部优化变换译码,可执行如本文中进一步讨论的参数哈尔(Haar)变换(PHT)。在一些示例中,可对在大约4x4像素和64x64像素之间的矩形尺寸的2D块执行变换,实际的尺寸取决于诸多因素,例如,所变换的数据是亮度还是色度,是帧间的还是帧内的,或者所确定使用的变换是PHT还是DCT,等等。
如所示出的那样,可将所得到的变换系数传送到自适应量化模块109。自适应量化模块109可量化所得到的变换系数。此外,可根据需要,将与参数变换相关联的任何数据传送到自适应量化模块109(如果期望进行量化)或自适应熵编码器模块110。同样如图1中所示,可扫描经量化的系数,并将其传送到自适应熵编码器模块110中。自适应熵编码器模块110可对这些经量化的系数进行熵编码,并且将它们包括在输出比特流111中。在一些示例中,可将自适应变换模块108和自适应量化模块109一起认为是编码器100的变换编码器子***。
同样如图1中所示,编码器100包括局部解码循环。该局部解码循环可从自适应逆量化模块112处开始。可将自适应逆量化模块112配置成执行与自适应量化模块109相反的操作,从而可执行逆扫描,并且可对经量化的系数去缩放(de-scale)以确定变换系数。例如此类自适应量化操作可能是有损的(lossy)。如所示出的那样,可将这些变换系数传送到自适逆变换模块113中。自适应逆变换模块113可执行自适应变换模块108所执行的变换的逆变换,从而例如生成与译码分区相关联的残差或残差值或者分区预测差错数据(或如所讨论那样的原始数据或小波数据)。在一些示例中,可将自适应逆量化模块112和自适应逆变换模块113一起认为是编码器100的变换解码器子***。
如所示出的那样,可将分区预测差错数据(或诸如此类)传送到可选的译码分区组合器114。译码分区组合器114可根据需要将译码分区组合为经解码的预测分区(如所示出的那样,在一些示例中,可经由交换机114a和114b跳过译码分区组合器114,使得可在自适应逆变换模块113处已经生成了经解码的预测分区),从而生成预测差错数据的预测分区或经解码的残差预测分区等。
如所示出的那样,可在加法器115处将经解码的残差预测分区加到所预测的分区(例如,预测像素数据)中以生成重构的预测分区。可将这些重构的预测分区传送到预测分区组合器116中。预测分区组合器116可组合这些重构的预测分区以生成重构的图块或超片段。在一些示例中,可将译码分区组合器模块114和预测分区组合器模块116一起认为是编码器100的反分割器(un-partitioner)子***。
可将这些重构的图块或超片段传送到块度(blockiness)分析器和解块(deblock)过滤模块117。块度分析器和解块过滤模块117可对这些重构的图块或超片段(或这些图块或超片段的预测分区)进行解块和抖动(dither)。可将所生成的解块和抖动过滤器参数用于当前的过滤器操作,并且/或者可在比特流111中对所生成的解块和抖动过滤器参数进行译码,以供例如解码器使用。可将块度分析器和解块过滤模块117的输出传送到质量分析器和质量恢复过滤模块118。质量分析器和质量恢复过滤模块118可确定QR过滤参数(例如,对于QR分解),并且将所确定的参数用于过滤。也可在比特流111中对这些QR过滤参数进行译码,以供解码器使用。如所示出的那样,可将质量分析器和质量恢复过滤模块118的输出传送到解码后图片缓冲器119中。在一些示例中,质量分析器和质量恢复过滤模块118的输出可以是可用于对其他帧的译码操作进行预测的、最终重构的帧(例如,该最终重构的帧可以是参考帧等)。在一些示例中,可将块度分析器和解块过滤模块117和质量分析器和质量恢复过滤模块118一起认为是编码器100的过滤子***。
在编码器100中,预测操作可包括帧间和/或帧内预测。如图1中所示,可由包括变形(morphing)分析器和生成模块120、合成分析器和生成模块121以及特性和运动过滤预测器模块123的一个或多个模块来执行帧间预测。变形分析器和生成模块120可分析当前的图片以确定相对于一个或多个参考帧(将利用该参考帧进行译码)的增益改变的参数、主运动改变的参数、配准(registration)改变的参数和模糊度改变的参数。可量化/去量化并使用(例如,通过变形分析器和生成模块120)所确定的变形参数以生成经变形的参考帧,可由运动估计器模块122使用该经变形的参考帧以计算运动向量,从而对当前帧进行高效的运动(和特性)补偿预测。合成分析器和生成模块121可生成针对运动的超分辨率(SR)图片和投影插值(PI)图片等,以确定运动向量,用于在这些帧中进行高效的运动补偿预测。
运动估计器模块122可基于经变形的参考帧和/或连同当前帧一起的超分辨率(SR)图片和投影插值(PI)图片来生成运动向量数据。在一些示例中,可将运动估计器模块122认为是帧间预测模块。例如,可将该运动向量数据用于帧间预测。如果应用了帧间预测,则特性和运动过滤预测器模块123可将运动补偿作为所讨论的局部解码循环的部分来应用。
可由帧内有向预测分析器和预测生成模块124来执行帧内预测。可将帧内有向预测分析器和预测生成模块124配置成用于执行空间有向预测,并且该帧内有向预测分析器和预测生成模块124可使用经解码的相邻分区。在一些示例中,可由帧内有向预测分析器和预测生成模块124执行确定方向和生成预测两者。在一些示例中,可将帧内有向预测分析器和预测生成模块124认为是帧内预测模块。
如图1中所示,预测模式和参考类型分析器模块125可允许针对图块(或超片段)的每个预测分区,从“跳过”(“skip”)、“自动”(“auto”)、“帧间”、“分割”(“split”)、“多个”(“multi”)、“帧内”中选出预测模式,这些预测模式全部应用于P-图片和F/B-图片。除了预测模式之外,它还允许选择参考类型,取决于“帧内”模式或“多个”模式以及针对P-图片和F/B-图片,这些参考类型可以是不同的。可由预测分析器和预测融合(fusion)过滤模块126过滤预测模式和参考类型分析器模块125的输出处的预测信号。预测分析器和预测融合过滤模块126可确定要用于过滤的参数(例如,过滤系数、频率、开销),并可以执行该过滤。在一些示例中,过滤该预测信号可融合表示不同模式(例如,帧内、帧间、多个、分割、跳过和自动)的不同类型的信号。在一些示例中,帧内预测信号可以与所有其他类型的帧间预测信号不同,使得合适的过滤可大大增加译码效率。在一些示例中,可在比特流111中对这些过滤参数进行编码,以供解码器使用。经过滤的预测信号可向上文中所讨论的差别器106提供第二输入(如,预测分区),该差别器106可确定预测差异信号(如,分区预测差错),用于之前所讨论的译码。此外,同样的经过滤的预测信号可向也在上文中讨论过的加法器115提供该第二输入。如所讨论的那样,输出比特流111可提供经高效编码的比特流,以供解码器用于呈现视频。
图2是根据本公开至少一些实现方案而安排的示例下一代视频解码器200的示图。如所示出的那样,解码器200可接收输入比特流201。在一些示例中,可经由编码器100和/或通过本文所讨论的多种编码技术对输入比特流201进行编码。如所示出的那样,可由自适应熵解码器模块202接收输入比特流201。自适应熵解码器模块202可对各种类型经编码的数据(如,开销、运动向量、变换系数等)进行解码。在一些示例中,自适应熵解码器202可使用可变长度的解码技术。在一些示例中,自适应熵解码器202可执行上文所讨论的自适应熵编码器模块110的逆操作。
可将经解码的数据传送到自适应逆量化模块203中。可将自适应逆量化模块203配置成逆扫描并去缩放经量化的系数,从而确定变换系数。例如此类自适应量化操作可能是有损的。在一些示例中,可将自适应逆量化模块203配置成执行自适应量化模块109的反向操作(例如,与自适应逆量化模块112基本相同的操作)。如所示出的那样,可将变换系数(以及在一些示例中的、用于参数变换的变换数据)传送到自适应逆变换模块204中。自适应逆变换模块204可对变换系数执行逆变换,从而生成与译码分区相关联的残差或残差值或分区预测差错数据(或原始数据或小波数据)。在一些示例中,可将自适应逆变换模块204配置成用于执行自适应变换模块108的反向操作(例如,与自适应逆变换模块113实质相同的操作)。在一些示例中,自适应逆变换模块204可基于其他先前经解码的数据(诸如,经解码的相邻分区)执行逆变换。在一些示例中,可将自适应逆量化模块203和自适应逆变换模块204一起认为是解码器200的变换解码器子***。
如所示出的那样,可将这些残差或残差值或分区预测差错数据传送到译码分区组合器205中。译码分区组合器205可根据需要将译码分区组合成经解码的预测分区(如所示出的那样,在一些示例中,可经由交换机205a和205b跳过译码分区组合器205,使得在自适应逆变换模块204处可能已经生成了经解码的预测分区)。在加法器206处,可将预测差错数据的、经解码的预测分区(如,预测分区残差)加到所预测的分区(如,预测像素数据)中,从而生成重构的预测分区。可将这些重构的预测分区传送到预测分区组合器207中。预测分区组合器207可组合这些重构的预测分区以生成重构的图块或超片段。在一些示例中,可将译码分区组合器模块205和预测分区组合器模块207一起认为是解码器200的反分割器子***。
可将这些重构的图块或超片段传送到解块过滤模块208中。解块过滤模块208可对这些重构的图块或超片段(或这些块或超片段的预测分区)进行解块和抖动。可例如从输入比特流201中确定所生成的解块和抖动过滤器参数。可将解块过滤模块208的输出传送到质量恢复过滤模块209中。质量恢复过滤模块209可基于QR参数来应用质量过滤,例如可从输入比特流201中确定这些QR参数。如图2中所示,可将质量恢复过滤模块209的输出传送到解码后图片缓冲器210中。在一些示例中,质量恢复过滤模块209的输出可以是最终重构的帧,该最终重构的帧可用于对其他帧的译码操作而进行预测(例如,该经最终重构的帧可以是参考帧等)。在一些示例中,可将解块过滤模块208和质量恢复过滤模块209一起认为是解码器200的过滤子***。
如所讨论的那样,因预测操作而产生的补偿可包括帧间和/或帧内预测补偿。如所示出的那样,可由包括变形生成模块211、合成生成模块212以及特性和运动补偿过滤预测器模块213的一个或多个模块来执行帧间预测补偿。变形生成模块211可使用经去量化的变形参数(如,从输入比特流201中确定的这些参数)以生成经变形的参考帧。合成生成模块212可基于从输入比特流201中所确定的多个参数来生成超分辨率(SR)图片和投影插值(PI)图片等。如果应用帧间预测,则特性和运动补偿过滤预测器模块213可基于输入比特流201中的、所接收到的帧和运动向量数据等来应用运动补偿。
可由帧内有向预测生成模块214来执行帧内预测补偿。可将帧内有向预测生成模块214配置成用于执行空间有向预测,并且该帧内有向预测生成模块214可根据输入比特流201中的帧内预测数据来使用经解码的相邻分区。
如图2中所示,预测模式选择器模块215可基于输入比特流201中的模式选择数据,针对图块的每一个预测分区,从“跳过”、“自动”、“帧间”、“多个”和“帧内”中确定预测模式(所有这些预测模式可适用于P-图片和F/B-图片)选择。除了预测模式之外,该预测模式选择器模块215还允许选择参考类型,取决于“帧间”模式或“多个”模式以及针对P-图片和F/B-图片,这些参考类型可以是不同的。可由预测融合过滤模块216过滤预测模式选择器模块215的输出处的预测信号。预测融合过滤模块216可基于经由输入比特流201所确定的多个参数(如,过滤系数、频率、开销)来执行过滤。在一些示例中,过滤该预测信号可融合表示不同模式(例如,帧内、帧间、多个、跳过和自动)的不同类型的信号。在一些示例中,帧内预测信号可以与所有其他类型的帧间预测信号不同,使得合适的过滤可大大增加译码效率。经过滤的预测信号可向上文所讨论的差别器206提供第二输出(如,预测分区)。
如所讨论的那样,质量恢复过滤模块209的输出可以是最终重构的帧。可将该经最终重构的帧传送到自适应图片重组器217,该自适应图片重组器217可根据需要,基于输入比特流201中的排序参数来重排序或重组帧。可将经重排序的帧传送到内容后恢复器模块218中。内容后恢复器模块218可以是配置成执行对经编码的视频的知觉质量的进一步改善的可选模块。可响应于输入比特流201中的质量改善参数来执行该改善处理,或者可将该改善处理作为单独的操作来执行。在一些示例中,内容后恢复器模块218可将多个参数应用于改善质量,诸如,估计胶片粒度噪声或减小残差块度(例如,甚至在参考解块过滤模块208所讨论的解块操作之后)。如所示出的那样,解码器200可提供显示视频219,可配置该显示视频219,以便经由显示设备(未示出)来显示。
如所讨论的那样,在一些示例中,编码器100和/或解码器200可实现与用于针对下一代视频译码的预测和译码操作的内容自适应分区操作有关的技术。在一些示例中,可由编码器100的预测分区生成器模块105执行用于预测的内容自适应分区。在一些示例中,可由编码器100的译码分区生成器模块107执行用于译码的内容自适应分区。在一些示例中,可由预测分区生成器模块105执行用于针对帧间预测等的预测的内容自适应分区,并且可由编码器100的译码分区生成器模块107执行用于针对帧间预测等的译码的内容自适应分区。在一些示例中,可由编码器100的预测分区生成器模块105或译码分区生成器模块107执行针对帧内的预测/译码(例如,仅一层的分区操作)的内容自适应分区。此外,在一些示例中,基于经编码的预测分割区和/或译码分割区,编码器100的译码分区组合器模块114和/或解码器200的译码分区组合器模块205可组合译码分区,从而形成预测分区。同样,在一些示例中,编码器100的预测分区组合器116和解码器200的预测分区组合器207可组合重构的预测分区,从而形成多个图块和超片段,可组合这些图块和超片段以生成帧或图片。如所讨论的那样,可将各种预测分区、译码分区或图块或超片段用于本文中所讨论的帧间预测、帧内预测、其他译码效率增强或者图像或视频增强。
虽然图1和图2示出特定的编码和解码模块,但是根据本公开,也可利用未描绘的各种其他译码模块或组件。此外,本公开不限于图1和图2中所示的特定组件和/或安排各种组件的方式。可在软件、固件和/或硬件和/或它们的任意组合中实现本文所描述的***的各种组件。例如,可至少部分地由计算芯片上***(SoC)的硬件(诸如,可在例如移动电话之类的计算***中找到的硬件)提供编码器100和/或解码器200的各种组件。
此外,可以认可,编码器100可与内容提供商***(包括例如,视频内容服务器***)相关联并且/或者可由内容提供商***提供编码器100;并且可由诸如图1和图2中未描绘的收发机、天线、网络***等之类的各种通信组件和/或***将输出比特流111传送或传递到诸如例如解码器200之类的解码器中。也可以认可解码器200可与诸如计算设备(例如,台式计算机、膝上型计算机、平板计算机、可转换膝上型设备、移动电话等)之类的客户***相关联,该客户***远离编码器100,并且经由各种通信组件和/或***(例如,图1和图2中未描绘的收发机、天线、网络***等)来接收输入比特流201。因此,在各实现方案中,可一起实现编码器100和解码器子***200,或可独立于彼此地实现它们。
图3是根据本公开至少一些实现方案而安排的示例编码器子***300的示图。如所示出的那样,编码器子***300可包括译码分区生成器模块107、编码控制器模块103、自适应变换模块108、自适应量化器模块109和/或自适应熵编码器模块110。尽管未在图3中示出,但是为了陈述清楚起见,可将视频数据从差异器106、分区生成器模块105等输入到译码分区生成器模块107中。译码分区生成器模块107接收到的该视频数据可以是任何合适的视频数据,诸如预测差错数据分区(例如,诸如针对帧间预测的预测分区的差错数据)。
例如,可通过将帧分割成正方形或矩形网格(具有相等或不等的尺寸)来生成视频帧的图块,或者可通过例如从视频帧中生成多个图块以及从视频帧中生成多个帧层(如,基本相同的深度或其他特性的层)来形成超片段。然后可形成多个超片段,使得每一个超片段是单个图块中的单个帧层。例如,具有一个帧层的图块将是单个超片段,而具有两个帧层的图块将被划分成两个超片段,以此类推。注意,图块通常可以是正方形或矩形的,而超片段可以是任何形状的(仅受粒度约束),并且可以是相邻或不相邻的。可将图块或超片段分割成多个潜在的预测分割区,可评估这些预测分割区以确定所选择的预测分割区(例如,预测分割区的图案)。可比较与所选择的预测分割区相关联的预测分区和原始像素数据的差异,从而确定预测差错数据分区。
在一些示例中,视频数据可以是源预测分区数据或小波数据。在一些示例中,视频数据可以是帧内原始信号、帧内空间预测差错信号、小波数据、小波帧内LL带信号(例如,原始小波)、小波预测差错信号、帧内小波较高频带(如,HL、LH或HH带)、运动补偿预测差错(如,MCFD)信号、小波帧间LL带运动补偿预测差错信号、帧间小波较高频带(如,HL、LH或HH带)、残差数据等。例如,视频数据可提供或表示亮度数据或色度数据。如所示出的那样,在示例编码器子***300中,可由译码分区生成器模块107的二叉树译码分割器模块301接收该视频数据。
二叉树译码分割器模块301可使用下文中参考图8进一步讨论的二叉树分区技术,将(例如)预测分区分割成多个分区。二叉树分割器模块301可提供灵活的分区操作,该分区操作可允许交替地分割成沿水平和垂直方向上的多个分区。此类技术可允许在水平或垂直方向上或在两个方向上的多个切割,并且可进而允许多个灵活的分区。如所示出的那样,可将译码分区(或潜在的译码分区)从译码分区生成器模块107的二叉树译码分割器模块301传送到自适应变换模块108中。在各种示例中,这些译码分区可以是正方形或矩形的。尽管以二叉树译码分割器模块301示出,但是在一些示例中,译码分区生成器模块107可实现使用k-d树分区技术来分割预测分区的k-d树译码分割器模块。
如所示出的那样,在一些示例中,自适应变换模块108可包括内容自适应变换模块302和固定变换模块303,可基于交换机304和305的操作选择性地使用这两个变换模块。例如,内容自适应变换可包括具有可从对相邻的视频数据(如,相邻的块、分区等)的解码中确定的内容从属基函数的变换。内容自适应变换可与固定变换形成对照,固定变换可具有固定的基函数,并且在固定变换中,仅变换系数必须被传送以供解码。如本文中所使用的那样,内容自适应变换和固定变换两者可使用自适应块尺寸,可以是离散变换,并且可以是二维可分变换(例如,首先在水平或垂直方向应用、然后在互补的方向上应用的变换)。
在一些示例中,内容自适应变换模块302可应用内容自适应变换,诸如,参数变换、参数哈尔变换、混合参数哈尔变换(例如,一个方向上的参数哈尔变换以及正交方向上的固定变换)、参数斜变换、混合参数斜变换等。在一些示例中,内容自适应变换模块302可应用闭合形式的混合参数变换、闭合形式的混合参数哈尔变换、用于参数变换的闭合形式的解决方案或用于参数变换的闭合形式的表达,等等。如所讨论的那样,混合变换可以是可分离的2D变换,使得在一个方向上执行固定变换,并在正交方向上执行参数变换。如所示出的那样,在一些示例中,可将内容自适应变换模块302应用于小至中尺寸的译码分区或译码分区的小至中尺寸的块。在此,此类译码分区或变换块可具有相同的尺寸,使得对于译码分区的每一个尺寸,具有相同块尺寸的变换是可用的。在一些示例中,如果期望对较小数量的变换进行简化,则要么可同样地减少所允许的预测分区尺寸,要么经由编码器100发送关于将译码分区细分成可用于变换的尺寸的进一步信息。例如,小至中尺寸的分区或块可包括高度小于或等于16个像素,并且宽度小于或等于16个像素的分区或块。例如,小至中尺寸的分区和块可包括具有下列尺寸的分区或块:4x4像素,4x8像素,8x4像素,8x8像素,4x16像素,16x4像素,8x16像素,16x8像素,16x16像素,等等。
在一些示例中,固定变换模块303可应用诸如离散余弦变换、离散余弦变换逼近等固定变换。如所示出的那样,在一些示例中,可将固定变换模块303应用于中至大尺寸的译码分区或译码分区的中至大尺寸的块。例如,中至大尺寸的译码分区或块可包括高度大于或等于16个像素,并且宽度大于或等于16个像素的译码分区或块。例如,中至大尺寸的译码分区或块可包括每一边都具有至少16个像素的宽分区阵列(包括正方形分区和矩形分区),包括16x16像素、16x32像素、32x16像素、32x32像素、32x64像素、64x32像素、64x64像素,等等。在一些示例中,固定变换模块303可使用高精度整数近似或高度相关的整数变换来应用离散余弦变换。如所讨论的那样,在一些示例中,在向内容自适应变换模块302提供的译码分区和向固定变换模块303提供的译码分区之间可能存在重叠。在此类示例中,可评估向内容自适应变换模块302和固定变换模块303两者提供的译码分区以确定要使用哪种变换。在其他示例中,可能不存在重叠。例如,小至中尺寸的译码分区可包括宽度小于16个像素,并且高度小于16个像素的译码分区等,而中至大尺寸的译码分区可包括宽度大于16个像素,并且高度大于16个像素的译码分区等。在其他示例中,可实现启发式技术以确定将中等尺寸的块传送到哪个模块供变换处理。
如所讨论的那样,交换机304和305可操作以选择用于来自译码分区生成器107的译码分区的变换模块。在一些示例中,交换机304和305和/或译码分区生成器107可在编码控制器103的率失真优化选择器模块306或经由编码控制器103而实现的启发式参数的控制下进行操作。率失真优化选择器模块306可确定针对译码分区和相关联的变换尺寸的最佳选择,这些最佳选择可基于向内容自适应变换模块302提供小至中型译码分区并且向固定变换模块303提供中至大型译码分区等来实现最优编码。例如,一些开销(例如,附加的经编码的位)可与诸如变换数据之类的内容自适应变换相关联,解码器可能需要该变换数据以构建自适应基函数等。然而,可通过传送基本信息来减少此类开销,基本信息诸如一组指示符,其包括:变换类型(例如,xmtyp;例如,针对分区的变换是自适应的还是离散的)、变换方向(例如,xmdir;其描述混合变换中参数变换是水平的还是垂直的)和/或变换模式(例如,xmmode;仅用于使用预测差异信号或原始信号的模式选择之间的帧内译码信号)。如图3中所示,可向自适应熵编码器模块110提供此类指示符或标记或数据等,以便在诸如输出比特流111之类的比特流中进行编码。如所示出的那样,编码控制器模块108也可包括量化器/率控制器307,该量化器/率控制器307可控制自适应量化器模块109的量化器率(如,量化器(Qp)值)。
图4是根据本公开至少一些实现方案而安排的示例编码器子***400的示图。如所示出的那样,编码器子***400可包括译码分区生成器模块107、编码控制器模块103、自适应变换模块108、自适应量化器模块109和/或自适应熵编码器模块110。尽管未在图4中示出,但是为了陈述清楚起见,可将视频数据从差异器106、预测分区生成器模块105等输入到译码分区生成器模块107中。如所讨论的那样,由译码分区生成器模块107接收到的该视频数据可以是诸如预测差错数据分区(例如,诸如针对帧间预测的预测分区的差错数据)之类的任何合适的视频数据,并且可由译码分区生成器模块107的二叉树译码分割器模块301接收该视频数据。如所讨论的那样,二叉树译码分割器模块301可使用二叉树分区技术将该视频数据分割成多个分区。同样如所讨论的那样,尽管以二叉树译码分割器模块301示出,但是在一些示例中,译码分区生成器模块107可实现可使用k-d树分区技术分割预测分区的k-d树译码分割器模块。
如所示出的那样,在一些示例中,自适应变换模块108可包括内容自适应变换模块402和固定变换模块403。内容自适应变换模块402可应用具有内容从属基函数的变换,可通过对本文所讨论的相邻的视频数据进行解码以确定该内容从属基函数。在一些示例中,内容自适应变换模块402可应用自适应变换,诸如,参数变换、参数哈尔变换、混合参数哈尔变换(例如,一个方向上的参数变换以及正交方向上的固定变换)、参数斜变换、混合参数斜变换等。在一些示例中,自适应变换模块402可应用闭合形式的混合参数变换或闭合形式的混合参数哈尔变换。如所示出的那样,在一些示例中,可将内容自适应变换模块402应用于小至中尺寸的译码分区或块。例如,小至中尺寸的译码分区或块可包括高度小于或等于16个像素,并且宽度小于或等于16个像素的译码分区或块。例如,小至中尺寸的分区可包括具有如下尺寸的分区:4x4像素、4x8像素、8x4像素、8x8像素、4x16像素、16x4像素、8x16像素、16x8像素、16x16像素,等等。
在一些示例中,固定变换模块403可应用诸如例如离散余弦变换、离散余弦变换逼近等之类的固定变换。如所示出的那样,在一些示例中,可将固定变换模块403应用于大尺寸至小尺寸的译码分区或块。在一些示例中,可将固定变换模块403应用于所有的分区或分区所有的块。例如,中至大尺寸的译码分区或块可包括高度大于或等于16个像素,并且宽度大于或等于16个像素的译码分区或块。例如,中至大尺寸的译码分区或块可包括每一边都具有至少16个像素的译码分区或块的宽阵列(包括正方形分区和矩形分区),包括16x16像素、16x32像素、32x16像素、32x32像素、32x64像素、64x32像素、64x64像素,等等。在一些示例中,固定变换模块403可使用高精度整数近似来应用离散余弦变换。如所讨论的那样,在一些示例中,在向内容自适应变换模块402提供的分区和向固定变换模块403提供的分区之间可能存在重叠。
对于向内容自适应变换模块402和固定变换模块403两者提供的分区(例如,小至中尺寸的译码分区或块),可基于经由率失真优化选择器模块306进行的权衡分析来确定要使用哪个变换模块的结果。例如,可确定译码分区和译码变换,最终将通过变换系数和开销数据(例如,如本文中所讨论的针对变换类型、自适应变换方向和/或变换模式的指示符)对该译码分区和译码变换进行编码。对于中至大尺寸的译码分区,相比于编码器子***300,实质上可能没有性能上的改变,因为仍然可将固定变换应用于此类译码分区或块。编码器子***400能以附加的计算和决定开销为代价,提供作出相比于小至中尺寸的译码分区或块、从译码效率和位节约的角度来看最优决定的能力。
如所讨论的那样,可使用本文中所讨论的技术将来自编码器的一些开销数据提供给解码器。例如,可提供一组指示符,其包括:变换类型(例如,xmtyp;例如,针对译码分区或块的变换是自适应的还是固定的)、变换方向(例如,xmdir;其描述混合内容自适应变换中参数变换是水平的还是垂直的)和/或变换模式(例如,xmmode;仅用于使用预测差异信号或原始信号的模式选择之间的帧内译码信号)。如图4中所示,可向自适应熵编码器模块110提供此类指示符或标记或数据等,以便在诸如输出比特流111之类的比特流中进行编码。与图3中的编码器子***300相比,此类开销数据在内容上可能是类似或相同的,但是在编码器子***400的实现方案中,可更频繁地提供此类开销数据。
图5是根据本公开至少一些实现方案而安排的示例编码器子***500的示图。如所示出的那样,编码器子***500可包括译码分区生成器模块107、编码控制器模块108、自适应变换模块108、自适应量化器模块109和/或自适应熵编码器模块110。尽管未在图5中示出,但是为了陈述清楚起见,可将视频数据从差异器106、预测分区生成器模块105等输入到译码分区生成器模块107。由译码分区生成器模块107接收的视频数据可以是任何合适的视频数据,诸如,预测差错数据分区、预测分区、图块或超片段、原始像素数据、小波数据、残差数据或本文中所讨论的任何其他视频数据。例如,该视频数据可提供或表示亮度数据或色度数据。如所示出的那样,在示例编码器子***500中,可由译码分区生成器模块107接收该视频数据。
如所示出的那样,译码分区生成器模块107可包括k-d树帧内预测/译码分割器模块501和二叉树译码分割器模块502。在交换机503的控制下,可将接收到的视频数据传送到k-d树帧内预测/译码分割器模块501或二叉树译码分割器模块502中。例如,交换机503可基于该视频数据的图片类型和/或与该视频数据相关联的预测类型来路由该视频数据。例如,当图片类型是F/B-图片或P-图片,并且预测类型是帧间预测等的时候,该视频数据可包括预测差错数据分区(例如,针对预测分区的差错数据或残差),并且交换机503可将该视频数据路由至二叉树译码分割器模块502,以便将该视频分区分割成译码分区。例如,当图片类型是F/B-图片或P-图片,并且预测类型是帧内预测的时候,该视频数据可包括图块或超片段视频,并且交换机503可将该视频数据路由至二叉树译码分割器模块502,以便将该视频数据分割成可被标记为预测分区或译码分区(由于可执行仅一个层级的分区操作)的多个分区。如所讨论的那样,在此类示例中,可由二叉树译码分割器模块502或预测分区生成器模块105执行分区操作。当图片类型是I-图片(例如,可完全使用帧内预测来进行译码)时,该视频数据可包括图块或超片段,并且交换机503可将该视频数据路由至k-d树译码分割器模块501,以便将该视频数据分割成可被标记为预测分区或译码分区(由于可执行仅一个层级的分区操作)的多个分区。如所讨论的那样,在此类示例中,可由k-d树译码分割器模块501或预测分区生成器模块105执行分区操作。
尽管连同二叉树译码分割器模块502一起示出,但是在一些示例中,译码分区生成器模块107可实现替代模块501的,可使用k-d树分区技术分割预测分区的k-d树译码分割器模块。类似地,尽管连同k-d树帧内预测/译码分割器模块501一起示出,但是在一些示例中,译码分区生成器模块107可实现替代模块502的、可使用二叉树分区技术分割预测分区的二叉树译码分割器模块。
如所讨论的那样,在一些示例中(例如,在I-图片帧内译码中),可应用仅一个层级的分区操作,可将该仅一个层级的分区操作标记为预测分区操作或译码分区操作。在一些示例中,译码分区生成器107可因而接收I-图片图块或超片段或帧,用于使用k-d树分区技术,经由k-d树帧内预测/译码分割器模块501进行分区操作。在其他示例中,先前可能已经经由预测分区生成器105对I-图片进行了分区,因此不需要进一步的分区操作。在此类示例中,可绕过k-d树帧内预测/译码分割器模块501。在任意一种情况下,可将这些I-图片分区(被标记为预测分区或译码分区)传送到自适应变换模块108中。
同样如所讨论的那样,在一些示例中(在P-图片或F/B-图片帧内译码中),可应用仅一个层级的分区操作,可将该仅一个层级的分区操作标记为预测分区操作或译码分区操作。在一些示例中,译码分区生成器107可因而接收P-图片或F/B图片图块或超片段或帧,以便使用二叉树分区技术,经由二叉树译码分割器模块502(在此类实例中,可将二叉树译码分割器模块501认为是二叉树预测/译码分割器模块)进行分区操作。在其他示例中,先前可能已经经由预测分区生成器105对P-图片或F/B-图片进行了分区,因此不需要进一步的分区操作。在此类示例中,可绕过二叉树译码分割器模块502。在任意一种情况下,可将这些P-图片或F/B图片分区(被标记为预测分区或译码分区)传送到自适应变换模块108中。
在一些示例中,对于每个帧内预测分区,预测方向(例如,9个或31个预测方向中的1个预测方向)可与帧内预测分区相关联,使得可使先前经解码的因果区、先前的相邻图块的像素和/或当前帧的相同图块中的相邻分区来针对每一个预测分区进行帧内预测。
二叉树译码分割器模块502可使用下文中参照图8进一步讨论的二叉树分区技术,将视频数据分割成多个分区。二叉树译码分割器模块502可提供灵活的分区操作,该灵活的分区操作可允许交替地分割成水平和垂直方向上的多个分区。此类技术可允许在水平或垂直方向上或在两个方向上的多个切割,并且可进而允许多个灵活的分区。k-d树帧内预测/译码分割器模块501可使用下文中参照图9进一步讨论的k-d树分区技术,将视频数据分割成多个分区。例如,k-d树帧内预测/译码分割器模块501可提供分区操作中甚至更大的灵活性,这种更大的灵活性允许交替地在分区的中间点处和沿分区的1/4和3/4点处的水平和垂直方向上分割成多个分区。此类增加会导致增加的开销和计算,这对于例如I-图片可能是合理的。如所示出的那样,可将分区或子分区(例如,先前所定义的用于预测的分区的译码分区)从译码分区生成器模块107传送到自适应变换模块108。
首先列举k-d树分区(例如,针对I-图片)的示例,可将分区(例如,预测或译码分区)从k-d树帧内预测/译码分割器模块501或预测分区生成器模块105发送到自适应变换模块108。例如,可使用k-d树分区技术分割图块或超片段,从而生成分割区(例如,用于预测的分区)。可针对用于预测的分区执行帧内预测以生成预测分区,可比较这些预测分区和原始像素数据的差异,从而生成预测差错数据分区。如所讨论的那样,可基于率失真优化等来确定所选择的分割区。可将与所选择的分割相关联的预测差错数据分区(和/或预测分区)传送到自适应变换模块108中。如所讨论的那样,可替代地将此类预测分区标记为译码分区,因为可执行仅单个层级的分区操作。
如所示出的那样,自适应变换模块108可包括内容自适应变换模块504和固定变换模块505,可基于交换机506和507的操作,选择性地操作者两个变换模块。例如,内容自适应变换可包括:利用内容从属基函数的变换,可通过解码相邻的视频数据(例如,相邻的块、分区等)来确定这些内容从属基函数;或者利用相关联的变换数据的变换,必须将这些相关联的变换数据从编码器(例如,经由比特流)传送到解码器,以进行解码;并且,固定变换可包括具有固定基函数的固定变换,如上文所讨论的那样,在该固定变换中,仅变换系数必须被传送,以供解码。
在一些示例中,内容自适应变换模块504可应用自适应变换,诸如,参数变换、参数哈尔变换、混合参数哈尔变换(例如,一个方向上的参数哈尔变换以及正交方向上的固定变换)、参数斜变换、混合参数斜变换,等等。在一些示例中,自适应变换模块504可应用闭合形式的混合参数变换或闭合形式的混合参数哈尔变换。如所示出的那样,在一些示例中,可将内容自适应变换模块504应用于小至中尺寸的分区。例如,小至中尺寸的分区可包括高度小于或等于16个像素,并且宽度小于或等于16个像素的分区或块。例如,小至中尺寸的分区或块可包括具有如下尺寸的分区:4x4像素、4x8像素、8x4像素、8x8像素、4x16像素、16x4像素、8x16像素、16x8像素、16x16像素,等等。
在一些示例中,固定变换模块505可应用诸如离散余弦变换、离散余弦变换逼近等固定变换。如所示出的那样,在一些示例中,可将固定变换模块505应用于中至大尺寸的分区或块。例如,中至大尺寸的分区或块可包括高度大于或等于16个像素,并且宽度大于或等于16个像素的分区。例如,中至大尺寸的分区或块可包括每一边都具有至少16个像素的宽分区阵列(包括正方形分区和矩形分区),包括16x16像素,16x32像素,32x16像素,32x32像素,32x64像素,64x32像素,64x64像素,等等。在一些示例中,固定变换模块505可使用高精度整数近似来应用离散余弦变换。如所讨论的那样,在一些示例中,在向内容自适应变换模块504提供的分区和向固定变换模块505提供的分区之间可能存在重叠。在此类示例中,可评估向内容自适应变换模块504和固定变换模块505两者提供的分区以确定要使用哪种变换。在其他示例中,可能不存在重叠。例如,小至中尺寸的分区或块可包括宽度小于16个像素,并且高度小于16个像素的分区或块,而中至大尺寸的像素可包括宽度大于16个像素,并且高度大于16个像素的分区。在其他示例中,可使用启发式技术以确定何时传送中等尺寸的块传送,以进行变换处理。
如所讨论的那样,交换机506和507可操作以选择针对k-d树分区(例如,I-图片的分区)的变换模块。在一些示例中,交换机506和507和/或译码分区生成器模块107可在上文所讨论的编码控制器103的率失真优化选择器模块306的控制下操作,这样可向自适应变换模块108提供多个指示符,包括:变换类型(例如,xmtyp;例如,针对分区的变换是自适应的还是离散的)、变换方向(例如,xmdir;其描述混合变换中参数变换是水平的还是垂直的)和/或变换模式(例如,xmmode;仅用于使用预测差异信号或原始信号的模式选择之间的帧内译码信号)。
现在转向二叉树分区的示例,可将译码分区(如,针对F/B-图片和P-图片的译码分区)传送到自适应变换模块108中,如所示出的那样,该自适应变换模块108可包括内容自适应变换模块508和固定变换模块509,可基于交换机510和511的操作,选择性地操作这两个变换模块。内容自适应变换模块508、固定变换模块509和交换机510和511能以与内容自适应变换模块504、固定变换模块505和交换机506和507类似的方式进行操作,出于简洁的目的,将不再重复这些操作。如所示出的那样,内容自适应变换模块108也可包括交换机512,可将交换机512与交换机503共同操作以选择针对上文所讨论的各种视频数据(例如,与I-图片或F/B-图片和P-图片有关的视频数据分区)的合适的路由。
在图5中的编码器子***500中,在一些示例中,可仅针对具有2的幂的分区来执行诸如混合参数哈尔变换之类的内容自适应变换。在此类示例中,可经由k-d树帧内预测/译码分割器模块501来施加约束,使得分区可以仅是2的幂,从而适合可用的变换。在一些示例中,如果可能无法将小至中分区保持在2的幂的尺寸上,则可将固定变换(如,离散余弦变换等)用于此类分区,而不需要额外的信令开销。
图6是根据本公开至少一些实现方案而安排的示例编码器子***600的示图。如所示出的那样,编码器子***600可包括译码分区生成器模块107、编码控制器模块103、自适应变换模块108、自适应量化器模块109和/或自适应熵编码器模块110。尽管未在图6中示出,但是为了陈述清楚起见,可将视频数据从差异器106、预测分区生成器模块105等输入到译码分区生成器模块107中。由译码分区生成器模块107接收的视频数据可以是任何合适的视频数据,诸如,预测差错数据分区、预测分区、图块或超片段、原始像素数据、小波数据、残差数据或本文中所讨论的任何其他视频数据。该视频数据可提供或表示例如亮度数据或色度数据。如所示出的那样,在示例编码器子***500中,可由译码分区生成器模块107接收该视频数据。
如所示出的那样,译码分区生成器模块107可包括如上文参照图5所讨论的、在交换机601的控制下进行操作的k-d树帧内预测/译码分割器模块501和二叉树译码分割器模块502。在交换机601的控制下,可将接收到的视频数据传送到k-d树帧内预测/译码分割器模块501或二叉树译码分割器模块502中。例如,交换机601可基于该视频数据的图片类型和/或与该视频数据相关联的预测类型来路由该视频数据。例如,当图片类型是F/B-图片或P-图片,并且预测类型是帧间预测等的时候,该视频数据可包括预测差错数据分区(例如,针对预测分区的差错数据或残差),并且交换机601可将该视频数据路由至二叉树译码分割器模块502,以便将该视频分区分割成译码分区。例如,当图片类型是F/B-图片或P-图片,并且预测类型是帧内预测的时候,该视频数据可包括图块或超片段视频,并且交换机601可将该视频数据路由至二叉树译码分割器模块502,以便将该视频数据分割成可被标记为预测分区或译码分区(由于可执行仅一个层级的分区操作)的多个分区。如所讨论的那样,在此类示例中,可由二叉树译码分割器模块502或预测分区生成器模块105执行分区操作。当图片类型是I-图片(例如,可完全使用帧内预测来进行译码)时,该视频数据可包括图块或超片段,并且交换机503可将该视频数据路由至k-d树译码分割器模块501,以便将该视频数据分割成可被标记为预测分区或译码分区(由于可执行仅一个层级的分区操作)的多个分区。如所讨论的那样,在此类示例中,可由k-d树译码分割器模块501或预测分区生成器模块105执行分区操作。
如所讨论的那样,尽管连同二叉树译码分割器模块502一起示出,但是在一些示例中,译码分区生成器模块107可实现替代模块501的、可使用k-d树分区技术分割预测分区的k-d树译码分割器模块。类似地,尽管连同k-d树帧内预测/译码分割器模块501一起示出,但是在一些示例中,译码分区生成器模块107可实现替代模块502的、可使用二叉树分区技术分割预测分区的二叉树译码分割器模块。
如所讨论的那样,在一些示例中(例如,在I-图片帧内译码中),可应用仅一个层级的分区操作,可将该仅一个层级的分区操作标记为预测分区操作或译码分区操作。在一些示例中,译码分区生成器107可因而接收I-图片图块或超片段或帧,用于使用k-d树分区技术,经由k-d树帧内预测/译码分割器模块501进行分区操作。在其他示例中,先前可能已经经由预测分区生成器105对I-图片进行分区,因此不需要进一步的分区操作。在此类示例中,可绕过k-d树帧内预测/译码分割器模块501。在任意一种情况下,可将这些I-图片分区(被标记为预测分区或译码分区)传送到自适应变换模块108中。
同样如所讨论的那样,在一些示例中(在P-图片或F/B-图片帧内译码中),可应用仅一个层级的分区操作,可将该仅一个层级的分区操作标记为预测分区操作或译码分区操作。在一些示例中,译码分区生成器107可因而接收P-图片或F/B图片图块或超片段或帧,以便使用二叉树分区技术,经由二叉树译码分割器模块502(在此类实例中,可将二叉树译码分割器模块501认为是二叉树预测/译码分割器模块)进行分区操作。在其他示例中,先前可能已经经由预测分区生成器105对P-图片或F/B-图片进行了分区,因此不需要进一步的分区操作。在此类示例中,可绕过二叉树译码分割器模块502。在任意一种情况下,可将这些P-图片或F/B图片分区(被标记为预测分区或译码分区)传送到自适应变换模块108中。
二叉树译码分割器模块502可使用下文中参照图8进一步讨论的二叉树分区技术,将视频数据分割成多个分区。k-d树帧内预测/译码分割器模块501可使用下文中参照图9进一步讨论的k-d树分区技术,将视频数据分割成多个分区。如本文中所讨论的那样,二叉树译码分割器模块502可使用二叉树分区技术,将预测差错数据分区(例如)分割成多个译码分区,并且k-d树帧内预测/译码分割器模块501可使用k-d树分区技术,将视频数据(如,I-图片图块或超片段)分割成多个分区。如图6中所示,可将译码分区(或者在I-图片情况下的译码分区或预测分区(如所标记的))从译码分区生成器模块107传送到自适应变换模块108中。
首先列举k-d树分区的示例,可将分区(例如,用于I-图片的分区)传送到自适应变换模块108的内容自适应变换模块602和固定变换模块603中。例如,可使用k-d树分区技术分割图块或超片段,从而生成分割区(例如,针对预测的分区)。可针对用于预测的分区执行帧内预测以生成预测分区,可比较这些预测分区和原始像素数据的差异,从而生成预测差错数据分区。如所讨论的那样,可基于率失真优化等来确定所选择的分割区。可将与所选择的分割区相关联的预测差错数据分区(和/或预测分区)传送到自适应变换模块108中。如所讨论的那样,可替代地将此类预测分区标记为译码分区,因为可执行仅单个层级的分区操作。
如所示出的那样,自适应变换模块108可包括内容自适应变换模块602和固定变换模块603。例如,内容自适应变换可包括:利用内容从属基函数的变换,可通过解码相邻的视频数据(例如,相邻的块或分区等)来确定这些内容从属基函数;或者利用相关联的变换数据的变换,必须将这些相关联的变换数据从编码器(例如,经由比特流)传送到解码器,以进行解码;并且,固定变换可包括具有固定基函数的变换,如上文所讨论的那样,在该固定变换中,仅变换系数必须被传送,以供解码。
在一些示例中,内容自适应变换模块602可应用自适应变换,诸如例如,参数变换、参数哈尔变换、混合参数哈尔变换(例如,一个方向上的参数哈尔变换以及正交方向上的固定变换)、参数斜变换、混合参数斜变换,等等。在一些示例中,自适应变换模块602可应用闭合形式的混合参数变换或闭合形式的混合参数哈尔变换。如所示出的那样,在一些示例中,可将内容自适应变换模块602应用于小至中尺寸的分区或块。例如,小至中尺寸的分区或块可包括高度小于或等于16个像素,并且宽度小于或等于16个像素的分区或块。例如,小至中尺寸的分区或块可包括具有如下尺寸的分区或块:4x4像素、4x8像素、8x4像素、8x8像素、4x16像素、16x4像素、8x16像素、16x8像素、16x16像素,等等。
在一些示例中,固定变换模块603可应用诸如例如离散余弦变换、离散余弦变换逼近等之类的固定变换。如所示出的那样,在一些示例中,可将固定变换模块603应用于中至大尺寸的分区或块。例如,中至大尺寸的分区或块可包括高度大于或等于16个像素,并且宽度大于或等于16个像素的分区或块。例如,中至大尺寸的分区或块可包括每一边都具有至少16个像素的宽分区阵列或块(包括正方形分区和矩形分区),包括16x16像素、16x32像素、32x16像素、32x32像素、32x64像素、64x32像素、64x64像素,等等。在一些示例中,固定变换模块603可使用高精度整数近似来应用离散余弦变换。
现在转到二叉树分区的示例,可将译码分区(如,用于F/B-图片和P-图片的译码分区)传送到自适应变换模块108的自适应变换模块604和固定变换模块605中。自适应变换模块604和固定变换模块605能以与自适应变换模块602和固定变换模块604类似的方式进行操作,出于简洁的目的,将不再重复这些操作。如所示出的那样,自适应变换模块108也可包括交换机606,可将交换机606与交换机601共同操作以选择针对各种视频数据的合适的路由。
对于向内容自适应变换模块602和固定变换模块603两者、或向内容自适应变换模块604和固定变换模块605两者提供的分区(例如,小至中尺寸的译码分区或块),可基于经由率失真优化选择器模块306进行的权衡分析来确定要使用哪个变换模块的结果。对于中至大尺寸的分区,相比于编码器子***500,基本上没有性能上的改变,因为仍然可将固定变换应用于此类分区。编码子***600能以附加的计算和决定开销为代价,提供作出相比于小至中尺寸的分区、从译码效率和位节约的角度来看最优决定的能力。可将此类开销编码为一组指示符,其包括:变换类型(例如,xmtyp;例如,针对分区的变换是自适应的还是离散的)、变换方向(例如,xmdir;其描述混合变换中参数变换是水平的还是垂直的)和/或变换模式(例如,xmmode;仅用于使用预测差异信号或原始信号的模式选择之间的帧内译码信号)。如图6中所示,可向自适应熵编码器模块110提供此类指示符或标记或数据等,以便在诸如输出比特流111之类的比特流中进行编码。
如参照图3-6所讨论的那样,可对各种分区(例如,针对帧间预测的F/B-图片或P-图片的译码分区或针对帧内预测的I-图片、F/B-图片或P-图片的预测/译码分区)进行变换译码。在此类示例中,也可通过诸如输出比特流111等比特流来提供与这些分区相关联的数据(例如,描述这些分区的尺寸或位置等的数据)。
此外,如所讨论的那样,已在各种情境(例如,图片类型和/或亮度或色度)中讨论了小型、中型和大型分区的概念。下列表格示出一些实现方案中的示例块尺寸和相关联的变换类型。
例如,表1示出针对亮度(如,针对k-d树分区)的帧内译码(如,针对I-图片)的、针对诸如混合参数哈尔变换(如,小至中尺寸的预测/译码分区)之类的内容自适应变换的示例分区或块的尺寸。
编号 | 分区尺寸 |
0 | 4x4 |
1 | 4x8 |
2 | 4x16 |
3 | 8x4 |
4 | 16x4 |
5 | 8x8 |
6 | 8x16 |
7 | 16x8 |
8 | 16x16 |
表1:针对亮度的帧内译码的、针对内容自适应变换的示例分区
例如,表2示出针对色度(如,针对k-d树分区)的帧内译码(如,针对I-图片)的、针对诸如混合参数哈尔变换(如,小至中尺寸的预测/译码分区)之类的内容自适应变换的示例分区。
编号 | 分区尺寸 |
0 | 2x2 |
1 | 2x4 |
2 | 2x8 |
3 | 4x2 |
4 | 8x2 |
5 | 4x4 |
6 | 4x8 |
7 | 8x4 |
8 | 8x8 |
表2:针对色度的帧内译码的、针对内容自适应变换的的示例分区
例如,表3示出针对亮度(如,针对二叉树分区)的帧间译码(如,针对F/B-图片和P-图片)的、针对诸如混合参数哈尔变换(如,小至中尺寸的译码分区)之类的内容自适应变换的示例分区。
编号 | 分区尺寸 |
0 | 4x4 |
1 | 8x8 |
2 | 16x16 |
表3:针对亮度的帧间译码的、针对内容自适应变换的的示例分区
例如,表4示出针对色度(如,针对二叉树分区)的帧间译码(如,针对F/B-图片和P-图片)的、针对诸如混合参数哈尔变换(如,小至中尺寸的译码分区)之类的内容自适应变换的示例分区。
编号 | 分区尺寸 |
0 | 2x2 |
1 | 4x4 |
2 | 8x8 |
表4:针对色度的帧间译码的、针对内容自适应变换的的示例分区
例如,对于针对帧内译码(如,使用k-d树分区、针对I-图片的)和针对帧间译码(例如,使用二叉树分区、针对F/B-图片和P-图片的)的、诸如离散余弦变换之类的固定变换(如,所有的译码分区),具有因数4(从4x4到64x64)的尺寸的全部组合可具有适用的变换。类似地,对于固定变换或亮度,具有因数2(从2x2到32x32)的尺寸的全部组合可具有适用的变换。
图7是示出根据本公开至少一些实现方案而安排的示例过程700的流程图。过程700可包括由操作702、704、706和/或708中的一个或多个所示出的一个或多个操作、功能或动作。过程700可形成下一代视频译码过程的至少部分。作为非限制性的示例,过程700可形成可由图1中的编码器***100和/或图3-6中的编码器子***300、400、500和/或600中的任意一个所执行的下一代视频编码过程的至少部分。
过程700可开始于操作702(“接收预测差错数据分区以进行变换译码”)处,其中,可接收预测差错数据分区以进行变换译码。例如,可由译码分区生成器模块107等接收一个或多个预测差错数据分区。
过程700可在操作704(“分割该预测差错数据分区以生成多个译码分区”)处继续进行,其中,可分割该预测差错数据分区与生成多个译码分区。例如,可由本文中所讨论的译码分区生成器模块107的二叉树译码分割器模块或k-d树译码分割器模块来分割视频数据。在一些示例中,可由二叉树译码分割器模块分割与F/B-图片或P-图片相关联的视频数据。在一些示例中,可由k-d树译码分割器模块分割与I-图片相关联的视频数据。在一些示例中,由k-d树译码分割器模块分割的视频数据可包括I-图片的图块或超片段等。在一些示例中,可经由一个或多个交换机选择或挑选译码分割器模块。
过程700可在操作706处继续进行,“对多个译码分区的第一子集执行内容自适应变换”,其中,可对多个译码分区的第一子集执行内容自适应变换。例如,可对包括本文中所讨论的小至中尺寸的译码分区的多个译码分区的子集执行内容自适应变换。在一些示例中,可在交换机的控制下,对包括小至中尺寸的译码分区的多个译码分区的子集执行内容自适应变换。在一些示例中,该内容自适应变换可以是闭合形式的混合参数变换。
过程700可在操作708处继续进行,“对多个译码分区的第二子集执行固定变换”,其中,可对多个译码分区的第二子集执行固定变换。在一些示例中,可对多个译码分区的包括本文中所讨论的中至大尺寸的译码分区的子集执行固定变换。在一些示例中,可在交换机的控制下,对多个译码分区的包括中至大尺寸的译码分区的子集执行固定变换。在一些示例中,可对多个译码分区的包括大尺寸到小尺寸的译码分区的子集或基本上对所有的译码分区执行固定变换。在此类示例中,对于使用内容自适应变换和固定变换两者进行变换的那些译码分区,可基于位成本分析、性能优化、率失真优化等来选择任意一种变换。
可经由本文中所讨论的编码器子***300、400、500或600中的任意编码器子***来实现过程700。此外,可串行地或并行地对诸如预测差错数据分区、原始数据分区或小波数据等视频数据的任何数量的实例重复过程700(例如,在操作702处,过程700可接收原始数据或小波数据以类比于所描述的预测差错数据分区进行处理)。在一些示例中,操作704可包括仅二叉树分区操作(例如,如参照编码器子***300和400所示)。在其他示例中,基于目标视频数据的图片类型,操作704可包括二叉树分区操作或k-d树分区操作(例如,参照编码器子***500和600所示)。类似地,在一些示例中,可对相同的译码分区执行操作706和708,并且可将最优变换用于对视频数据进行译码。在一些示例中,基于本文中所讨论的分区尺寸等,可对不同的分区执行操作706和708。此外,如本文中别处所讨论的那样,例如可在比特流中对基于操作706和708而确定的变换系数以及开销位(如,指示符等)进行扫描、量化和编码以传输到例如一个或多个解码器中。
如所讨论的那样,可以各种实现方案来分割视频数据。同样如所讨论的那样,该视频数据可以是视频帧的图块或超片段的预测分区。在一些示例中,使用图块可提供简单的优势,而超片段可能更复杂,但是可以提供增强的帧内或帧间预测或图像增强的优势。在任意一种情况下,可如本文中所讨论的那样,使用例如二叉树或k-d树分区技术分割该视频数据。
图8示出根据本公开的至少一些实现方案而安排的、使用二叉树分区技术对视频数据800进行的示例分区操作。如所示出的那样,在一些示例中,视频数据800可包括正方形。如所讨论的那样,在各种示例中,视频数据800可包括任何合适的形状。此外,视频数据800可包括本文中所讨论的图块或超片段等。如所讨论的那样,在一些示例中,可在F/B-图片或P-图片的情境中将二叉树分区操作应用于预测差错数据分区以生成译码分区。
如图8中所示,二叉树分区操作可包括分区操作的累进。从视频数据800开始,可将分区1定义为视频数据800自身。可垂直地将分区1分割成两个分区2和3。可进一步分割分区2和3中的每一个,这一次垂直地分割为分区4和5(如,分区3的分区)和分区6和7(如,分区2的分区)。图8中(从顶部起的)第二行示出进一步垂直地将分区3分割成分区8和9,并且进一步垂直地将分区2分割成分区10和11。图8中(从顶部起的)第三行示出从分区1中生成分区12和13的水平的分区操作(例如,代替(从顶部起的)第一行的垂直分区操作)。图8中(从顶部起的)第三行示也示出进一步垂直地分割分区12和13以生成分区14和15(如,分区13的分区)和分区16和17(如,来自分区12的分区)。第四行或最底下一行示出进一步水平地分割分区12以生成分区18和19,并且水平地分割分区13以生成分区20和21。如所示出的那样,可递归地使用二叉树分区操作,每次在一个维度上使用(如,水平地或垂直地)以将每个分区细分或分割成两个相等的分区,直到实现最小的分区尺寸为止。二叉树分区操作可将帧部分分割成大量组合,并且可提供分区的平滑累进。
图9示出根据本公开的至少一些实现方案而安排的、使用k-d树分区技术对视频数据900进行的示例分区操作。如所示出的那样,在一些示例中,视频数据900可包括正方形。如所讨论的那样,在各种示例中,视频数据900可包括任何合适的形状。此外,视频数据900可包括本文中所讨论的预测分区、图块或超片段等。如所讨论的那样,在一些示例中,可在I-图片的情境中将k-d树分区操作应用于图块或超片段以生成单个层级的分割区,可将该单个层级的分割区标记为预测分区或译码分区,并且可经由预测分区生成器模块105或译码分区生成器模块107来实现该单个层级的分割区。
如图9中所示,k-d树分区操作可包括分区操作的累进。此外,如所示出的那样,k-d树分割区可以是二叉树分割区的超集,使得图9中的第1-4行(从图9中的顶部开始)可匹配图8中的第1-4行。在一些示例中,图9中所示的k-d树分区操作的过程可迭代地将视频数据900划分为特定维度(如,垂直或水平的)上的四个矩形分区。从帧部分900开始,可将分区1定义为帧部分900自身。可垂直地将分区1分割成两个分区(2和3)。可进一步分割分区2和3中的每一个,这一次垂直地分割为分区4和5(如,分区3的分区)和分区6和7(如,分区2的分区)。图9中(从顶部起的)第二行示出进一步垂直地将分区3分割成分区8和9,并且进一步垂直地将分区2分割成分区10和11。图9中(从顶部起的)第三行示出从分区1中生成分区12和13的水平的分区操作(例如,代替(从顶部起的)第一行的垂直分区操作)。图9中(从顶部起的)第三行也示出进一步垂直地分割分区12和13以生成分区14和15(如,分区13的分区)和分区16和17(如,来自分区12的分区)。(从顶部起的)第四行示出进一步水平地分割分区12以生成分区18和19,并且水平地分割分区13以生成分区20和21。
如所讨论的那样,通过该第四行,k-d树分割区基本上可匹配二叉树分割区。如在图9中的(从顶部起的)第五行处所示,可将视频数据900垂直地分割成1/4尺寸和3/4尺寸的分区以生成分区22和23。此外,可垂直地将分区23分成两半以生成分区24和25,并且可垂直地将分区22分成两半以形成分区26和27。如在图9中的第六行或最底下一行处所示,可将视频数据900水平地分割成1/4尺寸和3/4尺寸的分区以生成分区28和29。此外,可水平地将分区28分为两半以生成分区30和31,并且可水平地将分区29分为两半以形成分区32和33。可递归地重复此类分区操作过程,从而通过交替维度(例如,水平或垂直)以将每个分区细分或分割成两个相等的部分(两半)以及两个不相等的部分(如,以1:3的比例),直到可达到最小的分区尺寸为止。k-d树分区操作可将帧部分分割成大量的组合,不仅是在分区和子分区(等等)的中点处进行,同时对于每次访问也具有进一步的精度。在所示出的示例中,使用1/4精度。在其他示例中,可使用诸如1/3、1/5等精度。
如参照图8和图9所讨论的那样,可将视频数据分割成范围广泛的多个分区。可用索引值对这些分区中的每一个进行编索引,并且可将这些分区传送到编码控制器103(请参考图1)中。经编索引和传送的分区可包括数百个分区,例如,经由各种分区操作而被应用的分区(例如,一个或多个分区方案可包括分区的图案)。可以像参照图1所讨论的那样使用(例如所选择的分割区的)一个或多个分区以进行变换译码。可例如像下文中进一步讨论的那样在比特流中对与变换译码相关联的数据(如,如果需要的话,变换系数和变换数据)和定义所利用的分区的数据进行编码。
在一些示例中,这些范围广泛的分区操作选项可能是受限或受约束的。可在二叉树或k-d树分区操作示例中施加此类约束。例如,分割视频数据可包括将第一分区预定义为在第一维度(如,水平或垂直的)上二等分该视频数据,并且将第二分区预定义为在在第二维度(例如,与第一二等分操作相反的维度)上二等分在第一维度上二等分的结果。仅在此类初始受约束的分区操作之后才可以实现进一步的分区,从而例如使得基于这些初始的视频数据的其他可选的分区将不再可用。此类约束可提供:从64x64像素的视频数据开始,将该视频数据划分成32x32尺寸的子部分,然后通过k-d树或二叉树分区操作来分割每一个子部分,这样可限制分区的数量。
如所讨论的那样,可将这些分区用于变换译码。可定义分区(例如,可定义这些分区的形状和/或位置),以供编码器和/或解码器使用。在一些示例中,可使用基于像素块的码元运行(symbol-run)译码来定义单个的分区。在其他示例中,可使用代码本(code book)来定义单独的分区。表5示出用于定义图块或超片段的分区的、片段尺寸为32x32像素的条目的示例二叉树分区操作代码本。在表5中,大的“X”表示无尽的分区。
表5二叉树分区操作代码本条目的示例
表6示出用于定义分区的、片段尺寸为32x32像素的条目的示例k-d树分区操作代码本。
表6k-d树分区操作代码本条目的示例
表5和表6仅示出示例代码本条目。条目的完整代码本可提供对所有可能的条目和这些条目的译码的完整的或基本完整的列举。在一些示例中,该代码本可考虑上文所描述的约束。在一些示例中,可在比特流中对与用于(预测或译码)分区的代码本条目相关联的数据进行编码以在本文中所讨论的解码器处使用。
如所讨论的那样,在各种实现方案中,可将内容自适应变换应用于译码分区,以进行变换译码。此外,可对变换系数和(如果需要的话)变换数据(例如,重构变换所需的数据;在一些示例中,可将该变换数据简化为变换类型、方向和/或模式)进行熵编码,并将其传送到解码器,以进行解码。
同样如所讨论的那样,可分割预测差错数据分区以生成译码分区。此外,可使用码元运行译码或代码本等对译码分区进行特性表征或定义。可使用各种示例中的内容自适应或固定变换来变换编码这些译码分区以生成变换系数。同样如所讨论的那样,可(例如,经由熵编码器)将与所描述的分区相关联的数据(例如,变换系数或经量化的变换系数)、开销数据(例如,如本文中所讨论的、用于变换类型、自适应变换方向和/或变换模式的指示符)和/或表征分区的数据等编码成比特流。可将该比特流传递到解码器中,该解码器可使用经编码的比特流以对视频帧进行解码,以进行显示。
图14示出根据本公开至少一些实现方案而安排的示例比特流1400。在一些示例中,比特流1400可对应于图1中所示的输出比特流111和/或图2中所示的输入比特流201。尽管未在图14中示出,但是为了陈述清楚起见,在一些示例中,比特流1400可包括头部和数据部。在各种示例中,比特流1400可包括与本文中所讨论的对视频帧进行编码相关联的数据、指示符、索引值、模式选择数据,等等。如所示出的那样,在一些示例中,比特流1400可包括第一译码分区定义数据1410、第一译码分区变换系数数据1420、第一译码分区指示符1430、第二译码分区定义数据1440、第二译码分区变换系数数据1450和/或第二译码分区指示符1460。所示出的数据可按任何顺序存在于比特流1400中,并且可与用于对视频进行译码的各种附加数据中的任何其他数据相邻,或者可被用于对视频进行译码的各种附加数据中的任何其他数据分开。
例如,第一译码分区定义数据1410和/或第二译码分区定义数据1440可包括与经由译码分区生成器107而定义的译码分区相关联的数据。例如,第一译码分区定义数据1410和/或第二译码分区定义数据1440可包括与使用码元运行译码或代码本技术等来定义二叉树分区或k-d树分区相关联的数据。例如,第一译码分区定义数据1410和/或第二译码分区定义数据1440可分别与第一分区和第二分区相关联。比特流1400可包括用于任何数量分区的译码分区定义数据。
此外,第一译码分区变换系数数据1420和/或第二译码分区变换译码系数数据1450可包括经由本文所讨论的任何内容自适应的或固定的正向变换而确定的变换系数。在一些示例中,这些变换系数可以是经量化的变换系数。在一些示例中,可量化并扫描这些变换系数。例如,第一译码分区变换系数数据1410和第二译码分区变换系数数据1440可以与第一译码分区和第二译码分区相关联。比特流1400可包括分别用于任何数量的分区的译码分区变换系数数据。在一些示例中,可将变换系数描述为与译码分区相关联的数据。第一译码分区指示符1430和/或第二译码分区指示符1440可包括位、标记或其他数据,这些位、标记或其他数据包括开销位,这些开销位诸如是针对下列各项的一个或多个指示符:与本文中所讨论的预测差错数据和/或变换模式相关联的变换类型、自适应变换方向、指示分区的变换块尺寸的块尺寸数据、帧参考、变形参数或综合参数。
如所讨论的那样,可由诸如例如编码器100之类的编码器生成比特流1400,并且/或者由解码器200接收该比特流1400以进行解码,从而使得可经由显示设备来呈现经解码的视频帧。
图15是示出根据本公开至少一些实现方案而安排的示例过程1500的流程图。过程1500可包括由操作1502、1504、1506、1508、1510、1512和/或1514中的一个或多个所示出的一个或多个操作、功能或动作。过程1500可形成下一代视频译码过程的至少部分。作为非限制性的示例,过程1500可形成由图2中的解码***200执行的下一代视频解码过程的至少部分。
过程1500可开始于操作1502处,“接收经编码的比特流”,其中,可接收比特流。例如,可在视频解码器处接收以本文所讨论的方式进行编码的比特流。在一些示例中,可经由解码器200接收比特流1500。
过程1500可在操作1504处继续进行,“对经熵编码的比特流进行解码以确定译码分区指示符、块尺寸数据、变换类型数据、量化器(Qp)和经量化的变换系数”,其中,可对该比特流进行解码以确定译码分区指示符、块尺寸数据、变换类型数据、量化器(Qp)和经量化的变换系数。例如,经解码的数据可包括与译码分区相关联的数据(如,变换系数)以及与该译码分区相关联的一个或多个指示符。例如,该变换系数可以针对本文中所讨论的固定变换或内容自适应变换。变换类型数据可指示针对译码分区的变换类型、参数变换方向(例如,本文中所讨论的混合参数变换)和/或变换模式(例如,xmmode;仅用于使用预测差异信号或原始信号的模式选择之间的帧内译码信号)。在一些示例中,可由自适应熵解码器模块202执行该解码操作。在一些示例中,确定变换系数也可涉及逆量化操作。在一些示例中,可由自适应逆量化模块203执行该逆量化操作。
过程1500可在操作1506处继续进行,“对经量化的系数应用量化器(Qp)以生成经逆量化的变换系数”,其中,可将量化器(Qp)应用于经量化的变换系数以生成经逆量化的变换系数。例如,可经由自适应逆量化模块203来应用操作1506。
过程1500可在操作1508处继续进行,“基于变换类型和块尺寸数据,对译码(或帧内预测)分区中的每一个经解码的系数块执行逆变换以生成经解码的预测差错分区”),其中,可基于变换类型和块尺寸数据,对译码(或帧内预测)分区中的每一个变换系数的解码块执行逆变换以生成经解码的预测差错分区。在一些示例中,该逆变换可包括逆向固定变换。在一些示例中,该逆变换可包括逆向内容自适应变换。在此类示例中,执行该逆向内容自适应变换可包括如本文中所讨论的那样,基于经解码的视频数据的相邻块,确定与该逆向内容自适应变换相关联的基函数。用于本文中所讨论的编码操作的任何正向变换可用于使用相关联的逆变换的解码操作。在一些示例中,可由自适应逆变换模块204执行该逆变换。在一些示例中,生成经解码的预测差错分区也可包括经由译码分区组合器205对译码分区进行组合。
过程1500可在操作1510处继续进行,“将预测分区加到经解码的预测差错数据分区中以生成重构分区”,其中,可将预测分区加到经解码的预测差错数据分区以生成重构的预测分区。例如,可经由加法器206将经解码的预测差错数据分区加到相关联的预测分区中。
过程1500可在操作1512处继续进行,“组合重构分区以生成图块或超片段”,其中,可组合重构的预测分区以生成块或超片段。例如,可经由预测分区组合器模块207对重构的预测分区进行组合以生成图块或超片段。
过程1500可在操作1514处继续进行,“组合图片的图块或超片段以生成经完整解码的图片”,其中,可组合图片的图块或超片段以生成经完整编码的图片。例如,在可选的解块过滤和/或质量恢复过滤之后,可组合图块或超片段以生成经完整编码的图片,可经由解码后图片缓冲器210来存储该图片,并且/或者传送该图片,以便在经由自适应图片重组器模块217和内容后恢复器模块218进行处理之后,经由显示设备来呈现该图片。
在一些示例中,使用本文所讨论的多种技术而实现的内容自适应变换可以是参数变换,包括诸如参数哈尔变换、参数斜变换等变换族。此类变换可以是内容自适应的,并且可在编码器100和解码器200处,从局部和/或全局的、先前经解码的视频数据中构建此类变换。此类参数内容自适应变换可通过本文中所讨论的变换译码子***中的效率增益来改善总体视频压缩效率。例如,内容自适应变换可包括针对参数哈尔变换的闭合形式的解决方案、闭合形式解决方案的快速实现方案以及可使用混合参数哈尔变换(例如,针对使用内容自适应变换的译码操作)或离散余弦变换(例如,针对使用固定变换的译码操作)的译码解决方案。
本文中所讨论的内容自适应变换可使用可允许适应视频数据中的内容的特性的多个尺寸的内容自适应正交变换。如本文中所讨论的那样,在此类内容自适应变换中,可在编码器100和解码器200两者处,基于与经变换译码的视频数据或分区有关的、经因果解码的相邻数据(如,先前经解码的相邻视频数据)来确定基矩阵(例如,基函数的矩阵)。在一些示例中,内容自适应变换可包括仅一个方向(如,水平或垂直的)上的参数变换和正交方向上的固定变换以减少解码器复杂度。
如所讨论的那样,在一些示例中,可将本文中所描述的多种技术应用于小波数据。
图17是示例基于小波的视频编码器1700的示图。如所示出的那样,基于小波的视频编码器1700可接收输入视频101,并且可包括预测分割器模块1701、小波分析过滤器模块1702(可通过交换机1703和1704来实现)、差异器1705、译码分割器模块1706、编码控制器模块1707、自适应正变换和量化器模块1708、自适应逆量化器和变换模块1709、自适应熵编码器模块1710、块度分析器和解块过滤模块1712、小波合成过滤器模块1713(可通过交换机1714和175可选地实现)、帧内预测模块1716、运动估计器、补偿预测器和图片缓冲器模块1717、以及预测模式分析器和模式选择器模块1718,上述组件可进行操作以生成输出比特流1711。
如所讨论的那样,编码器1700可执行小波译码。例如,小波分析过滤器模块1702可将输入视频101分解成多个小波带。例如,小波分析过滤器模块1702可使用单层级小波分解来分解输入视频101以将输入视频101划分为4个子带。编码器1700也包括局部解码循环,该局部解码循环包括小波合成过滤器模块1713,可将该小波合成过滤器模块1713配置成用于逆转分析操作以组合这4个子带,从而生成重构的视频帧。编码器1700的模块的其余部分以与本文中参照编码器100所讨论的那些操作大体上类似的方式进行操作,出于简洁的目的,不提供对那些组件的讨论。在一些示例中,译码分割器模块1706以及自适应正变换和量化器模块1708可实现本文中所讨论的分区操作(如,二叉树和k-d树分区操作)和变换(如,离散的和自适应变换),并且可包括参照本文中的图3-6所讨论的多个组件。
如图17中所示,如果小波LL带编码操作用于采用变换译码,则可采用本文中所描述的自适应变换概念,包括使用自适应变换尺寸、使用内容自适应变换和针对预测分区的译码分区的多个块的编码操作的其他(如,固定)变换。出于简洁的目的,图17未示出可执行已在本文中讨论过的预测分割器模块1701和译码分割器模块1706的互补功能的预测分区组合器模块或译码分区组合器模块。尽管图17的确示出可将小波合成过滤器模块1713用于组合所有的频带以生成经解码的帧,但是图17确实也示出对其他小波带(如,LH、HL或HH带)的编码操作。
图18是示例基于小波的视频解码器1800的示图。如所示出的那样,基于小波的视频解码器1800可接收输入比特流101,并且可包括自适应熵解码器模块1801、自适应逆量化器和变换模块1802、加法器1803、解块过滤模块1804、小波合成过滤器模块1806(其可经由交换机1806a和1806b可选地实现)、帧内预测模块1808、运动补偿预测器和图片缓冲器模块1809以及预测模块分析器和模式选择器模块1807,上述组件可进行操作以生成显示视频1810。
如所示出的那样,解码器1800可执行小波解码。例如,可将小波合成过滤器模块1806配置成逆转小波分析操作以组合4个子带(等),从而生成重构的视频帧(例如,在操作上与在上文所讨论的小波综合过滤器模块1713类似)。解码器1800的模块的其余部分以与本文中参照解码器200所讨论的那些操作大体上类似的方式进行操作,出于简洁的目的,不提供对那些组件的讨论。在一些示例中,译码分割器模块1706和自适应逆量化器和变换模块1708可实现本文中所讨论的逆变换(如,离散的和自适应逆变换)。
如图18中所示,如果小波LL带解码操作用于采用变换译码,则可采用本文中所描述的自适应变换概念,包括使用自适应变换尺寸、使用内容自适应变换和针对译码分区或预测分区的多个块的解码操作的其他(如,固定)变换。出于简洁的目的,图18未示出可执行预测分割器模块1701和译码分割器模块1701的互补功能的预测分区组合器模块或译码分区组合器模块。尽管图18的确示出可将小波合成过滤器模块1806用于组合所有的频带以生成经解码的帧,但是图18同时不示出对其他小波带(如,LH、HL或HH带)的解码操作。
可在软件、固件和/或硬件和/或它们的任意组合中实现本文所描述的***的各种组件。例如,可至少部分地由诸如可在计算***(诸如例如,智能电话)中找到的计算芯片上***(SoC)的硬件提供***300的各种组件。本领域技术人员会领会,本文中所描述的***可包括未在对应的附图中描绘的附加组件。例如,本文中所讨论的***可包括诸如为了使本文清楚而未描绘的比特流复用器或解复用器模块之类的附加组件。
可在本文所讨论的多个实现方案中的一个或多个示例中,并且尤其参照下列图19来示出与本文所讨论的过程700、1400和其他过程有关的一些附加的和/或替代的细节。
图19(A)和19(B)提供根据本公开的至少一些实现方案而安排的、操作中的示例视频译码***2000和视频译码过程1900的示图。在所示出的实现方案中,过程1900可包括由动作1901-1923中的一个或多个所示出的一个或多个操作、功能或动作。作为非限制性的示例,将在此参照下文中参照图20进一步讨论的、包括图1中的编码器100和图2中的解码器200的示例视频译码***2000来描述过程1900。在一些示例中,视频译码***2000可包括图17中的编码器1700和图18中的解码器1800。在各种示例中,可由包括编码器和解码器两者的***来执行过程1900,或者可由分开的***(一个***采用编码器(或可选地,采用解码器),并且另一***采用解码器(或可选地,编码器))来执行过程1900。同样注意,如上文所讨论的那样,编码器可包括将局部解码器用作编码器***的一部分的局部解码循环。
在所示出的实现方案中,视频译码***2000可包括逻辑电路1950等和/或其组合。例如,逻辑电路1950可包括编码器100(或编码器1700),并且可包括参照图1(或图17)和/或图3-6所讨论的任何模块;以及可包括解码器200(或解码器1800),并且可包括参照图2和/或图18所讨论的任何模块。尽管如图19(A)和19(B)中所示的视频译码***2000可包括与特定模块相关联的一组特定的块或动作,但是这些块或动作可以与不同于本文所示的特定模块的模块相关联。尽管如所示出的那样,过程1900涉及编码和解码,但是,可将所描述的概念和/或操作单独地应用于编码和/或解码,并且更一般地说,应用于视频译码。
过程1900可开始于在操作1901处,“接收视频序列的输入视频帧”,其中,可例如经由编码器100接收视频序列的输入视频帧。
过程1900可在操作1902处继续进行,“将图片类型与一组图片中的每一个视频帧相关联”,其中,可例如经由内容预分析器模块102将图片类型和一组图片中的每一个视频帧相关联。例如,图片类型可以是F/B-图片、P-图片或I-图片等。在一些示例中,视频序列可包括多组图片,并且可对一组图片中的一个帧或一张图片执行此处所描述的处理(如,操作1903-1911),并且可针对一组图片中的所有帧或所有图片重复该处理,然后,可对视频序列中的所有组的图片重复该处理操作。
过程1900可在操作1903处继续进行,“将图片划分成图块和/或超片段以及潜在的预测分割区”,其中,可例如经由预测分区生成器105将图片划分成图块或超片段以及潜在的预测分区。
过程1900可在操作1904处继续进行,“对于每一个潜在的预测分割区,执行预测并确定预测参数”,其中,对于每一个潜在的预测分割区,可执行预测并可确定预测参数。例如,可生成一系列潜在的预测分割区(每一个都具有各种预测分区),并且可确定相关联的预测和预测参数。例如,该预测可包括使用基于特性和运动的多参考预测或帧内预测的预测。
如所讨论的那样,在一些示例中,可执行帧间预测。在一些示例中,可将多至4个经解码的过去的和/或将来的图片和若干变型/合成预测用于生成大量的参考类型(如,参考图片)。例如在“帧间”模式中,在P-图片中可支持多至9个参考类型,而对于F/B-图片,可支持多至10个参考类型。此外,“多个”模式可提供其中不是使用1张参考图片,而是可使用2张参考图片,并且P-图片和F/B图片分别可允许3个和多至8个参考类型的帧间预测模式类型。例如,预测可基于使用变形技术或合成技术中的至少一种技术而生成的、先前经解码的帧。在此类示例中,比特流(在下文中参照操作1912所讨论的比特流)可包括与该预测分区相关联的帧参考、变形参数或合成参数。
过程1900可在操作1905处继续进行,“对于每一个潜在的预测分割区,确定潜在的预测差错”,其中,对于每一个潜在的预测分割区,可确定潜在的预测差错。例如,对于每一个预测分割区(以及相关联的预测分区、预测和预测参数),可确定预测差错。例如,确定该潜在的预测差错可包括比较原始像素(例如,预测分区的原始像素数据)和预测像素的差异。在一些示例中,可存储相关联的预测参数。如所示出的那样,在一些示例中,该预测差错数据分区可包括至少部分地基于使用变形技术或合成技术中的至少一种技术而生成的、先前解码的帧而生成的预测差错数据。
过程1900可在操作1906处继续进行,“选择预测分割区和预测类型并保存参数”,其中,可选择预测分割区和预测类型,并且可保存相关联的参数。在一些示例中,可选择具有最小预测差错的、潜在的预测分割区。在一些示例中,可基于率失真优化(RDO)选择该潜在的预测分割区。
过程1900可在操作1907处继续进行,“对分区预测差错数据的各种潜在的译码分割区执行具有各种块尺寸的固定的或内容自适应变换”,其中,可对分区预测差错数据的各种潜在的译码分割区执行具有各种块尺寸的固定的或内容自适应变换。例如,可分割分区预测差错数据以生成多个译码分区。例如,可由本文中所讨论的译码分区生成器模块107的二叉树译码分割器模块或k-d树译码分割器模块来分割分区预测差错数据。在一些示例中,可由二叉树译码分割器模块分割与F/B-图片或P-图片相关联的分区预测差错数据。在一些示例中,可由k-d树译码分割器模块分割与I-图片(例如,一些示例中的图块或超片段)相关联的视频数据。在一些示例中,可经由一个或多个交换机选择或挑选译码分割器模块。例如,可由译码分区生成器模块107生成多个分区。
过程1900可在操作1908处继续进行,“确定最佳的译码分割区、变换块尺寸和实际变换”,其中,可确定最佳的译码分割区、变换块尺寸和实际变换。例如,可基于RDO或另一基础来评价各种译码分割区(如,具有各种译码分区的分割区)以确定所选择的译码分割区(当译码分区不匹配所讨论的变换块尺寸时,该所选择的译码分割区也可包括进一步将多个译码分区划分为多个变换块)。例如,实际变换(或所选择的变换)可包括对本文中所讨论的译码分区或块尺寸执行的任何内容自适应变换或固定变换。
过程1900可在操作1909处继续进行,“对变换系数进行量化和扫描”,其中,可对与译码分区(和/或变换块)相关联的变换系数进行量化和扫描以为熵译码作准备。
过程1900可在操作1910处继续进行,“重构像素数据,将其组合为图片,并且保存在参考图片缓冲器中”,其中,可重构像素数据,将其组合为图片,并且保存在参考图片缓冲器中。例如,在局部解码循环(例如,包括逆扫描、逆变换和组合译码分区)之后,可生成预测差错数据分区。可将预测差错数据分区与预测分区相加以生成重构的预测分区,可将这些重构的预测分区组合为图块或超片段。可以可选地经由解块过滤和/或质量恢复过滤来处理这些所组合的图块或超片段,并组合这些图块或超片段以生成图片。可将该图片保存在解码后图片缓冲器119中,作为用于预测其他(如,后续的)图片的参考图片。
过程1900可在操作1911处继续进行,“对与每一个图块或超片段相关联的数据进行熵编码”,其中,可对与每一个图块或超片段相关联的数据进行熵编码。例如,可对与每个视频序列的每组图片中的每张图片的每个图块或超片段相关联的数据进行熵编码。经熵编码的数据可包括预测分割区、预测参数、所选择的译码分割区、所选择的特性数据、运动向量数据、经量化的变换系数、过滤器参数、选择数据(如,模式选择数据)和指示符。
过程1900可在操作1912处继续进行,“生成比特流”,其中,可基于经熵编码的数据生成比特流。如所示出的那样,在一些示例中,该比特流可包括与预测分区相关联的帧或图片参考、变形参数或合成参数。
过程1900可在操作1913处继续进行,“传送比特流”,其中,可传送比特流。例如,视频译码***2000可经由天线2002来传送输出比特流111、比特流1400等(请参考图20)。
操作1901-1913可提供可由本文中所讨论的编码器***所采用视频编码和比特流传输技术。下列操作(操作1914-1923)可提供可由本文中所讨论的解码器***所采用的视频解码和视频显示技术。
过程1900可在操作1914处继续进行,“接收比特流”,其中,可接收比特流。例如,可经由解码器200来接收输入比特流201、比特流1400等。在一些示例中,该比特流可包括上文所讨论的与译码分区相关联的数据、一个或多个指示符和/或定义译码分区的数据。在一些示例中,该比特流可包括预测分割区、预测参数、所选择的译码分割区、所选择的特性数据、运动向量数据、经量化的变换系数、过滤器参数、选择数据(如,模式选择数据)和指示符。
过程1900可在操作1915处继续进行,“解码比特流”,其中,可经由例如自适应熵解码器模块202对所接收的比特流进行解码。例如,可对接收到的比特流进行熵解码以确定预测分割区、预测参数、所选择的译码分割区、所选择的特性数据、运动向量数据、经量化的变换系数、过滤器参数、选择数据(如,模式选择数据)和指示符。
过程1900可在操作1916处继续进行,“对每个译码分区的每个块执行逆扫描和逆量化”,其中,可对每个译码分区的每个块执行逆扫描和逆量化,以便用于处理该预测分区。例如,可经由自适应逆量化模块203来执行该逆扫描和逆量化。
过程1900可在操作1917处继续进行,“执行固定的或内容自适应逆变换以解码变换系数,从而确定经解码的预测差错数据分区”,其中,可执行固定的或内容自适应变换以解码变换系数,从而确定经解码的预测差错数据分区。例如,该逆变换可包括诸如混合参数哈尔逆变换之类的逆向内容自适应变换,使得该混合参数哈尔逆变换可包括参数变换方向的方向上的参数哈尔逆变换以及在垂直于该参数变换方向的方向上的离散余弦逆变换。在一些示例中,该固定逆变换可包括离散余弦逆变换或离散余弦逆变换逼近。例如,可经由自适应逆变换模块204来执行该固定的或内容自适应变换。如所讨论的那样,该内容自适应逆变换可基于其他先前经解码的数据,诸如经解码的相邻分区或块。在一些示例中,生成经解码的预测差错数据分区可包括经由译码分区组合器模块205来组合经解码的译码分区。
过程1900可在操作1918处继续进行,“生成针对每个预测分区的预测像素数据”,其中,可生成针对每个预测分区的预测像素数据。例如,可使用所选择的预测类型(例如,基于特性和运动的类型、或帧内或其他类型)和相关联的预测参数来生成预测像素数据。
过程1900可在操作1919处继续进行,“将对应的预测分区加到每一个经解码的预测差错分区中以生成重构的预测分区”,其中,可将每一个经解码的预测差错分区(例如,包括零预测差错分区)加到对应的预测分区中以生成重构的预测分区。例如,可经由图2中所示的解码循环来生成预测分区,并经由加法器206与经解码的预测差错分区相加。
过程1900可在操作1920处继续进行,“组合重构的预测分区以生成经解码的图块或超片段”,其中,可组合重构的预测分区以生成经解码的图块或超片段。例如,可经由预测分区组合器模块207对预测分区进行组合以生成经解码的图块或超片段。
过程1900可在操作1921处继续进行,“应用解块过滤和/或QR过滤以生成经最终解码的图块或超片段”,其中,可将可选的解块过滤和/或质量恢复过滤应用于经解码的图块或超片段,以便生成经最终解码的图块或超片段。例如,可经由解块过滤模块208来应用可选的解块过滤,并且/或者可经由质量恢复过滤模块209来应用可选的质量恢复过滤。
过程1900可在操作1922处继续进行,“组合经解码的图块或超片段以生成经解码的视频图片,并将其保存在参考图片缓冲器中”,其中,可组合经解码的(或经最终解码的)图块或超片段以生成经解码的视频图片,并且可将该经解码的视频图片保存在参考图片缓冲器(如,解码后图片缓冲器210)中,以用于未来的预测。
过程1900可在操作1923处继续进行,“传送经解码的视频帧以便经由显示设备进行呈现”,其中,可传送经解码的视频帧,以便经由显示设备进行呈现。例如,可经由自适应图片重组器217和内容后恢复器模块218进一步处理经解码的视频图片,并将其作为显示视频219的视频帧传送到显示设备处,以便向用户呈现。例如,可将这些视频帧传送到显示设备2005(如图20中所示),以进行呈现。
虽然本文中的示例过程的实现方案可包括执行以所示的顺序示出的全部操作,但是,本公开不限于这方面,并且在各种示例中,本文中的示例过程的实现方案可包括仅执行所示操作的子集并且/或者按照与所示不同的顺序来执行。
此外,可响应于由一个或多个计算机程序产品所提供的指令来执行本文中所讨论的任何一个或多个操作。此类程序产品可包括提供指令的信号承载介质,当例如由处理器执行这些指令时,这些指令可提供本文所描述的功能。能以一种或多种机器可读介质的任意形式来提供计算机程序产品。由此,例如包括一个或多个处理器核的处理器可响应于由一个或多个机器可读介质传递到该处理器的程序代码和/或指令或指令集,执行本文中的示例过程中的一个或多个操作。一般而言,机器可读介质能以程序代码和/或指令或指令集的形式来传递软件,这些程序代码和/或指令或指令集可使本文中所描述的任何设备和/或***实现本文中所讨论的视频***的至少多个部分。
如本文中所描述的任何实现方案中所使用的那样,术语“模块”是指配置成用于提供本文所描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任意组合。软件可具体化为软件包、代码和/或指令集或指令;而“硬件”(如本文中所描述的任何实现方案中所使用的硬件)可包括例如单独或组合形式的、存储由可编程电路执行的指令的硬连线电路、可编程电路、状态机电路和/或固件。可将模块整体或单独地具体化为形成较大***的部分的电路,例如,集成电路(IC)、芯片上***(SoC)等。例如,可将模块具体化在逻辑电路中,以便经由本文中所讨论的译码***的软件、固件或硬件来实现。
图20是根据本公开至少一些实现方案而安排的示例视频译码***2000的示图。在所示出的实现方案中,视频译码***2000可包括成像设备2001、视频编码器100、视频解码器200(和/或经由处理单元2020的逻辑电路1950而实现的视频译码器)、天线2002、一个或多个处理器2003、一个或多个存储器存储2004和/或显示设备2005。
如所示出的那样,成像设备2001、天线2002、处理单元2020、逻辑电路1950、视频编码器100、视频解码器200、处理器2003、存储器存储2004和/或显示设备2005能够彼此通信。如所讨论的那样,尽管以视频编码器100和视频解码器200两者示出,但是,在各种示例中,视频译码***2000可包括仅视频编码器100或仅视频解码器200。此外,尽管参照视频编码器和/或视频解码器来描述,但是在一些示例中,***2000可实现视频编码器1700和/或视频解码器1800。
如所示出的那样,在一些示例中,视频译码***2000可包括天线2002。例如,可将天线2002配置成用于发送或接收视频数据的经编码的比特流。此外,在一些示例中,视频译码***2000可包括显示设备2005。可将显示设备2005配置成用于呈现视频数据。如所示出的那样,在一些示例中,可经由处理单元2020实现逻辑电路1950。处理单元2020可包括专用集成电路(ASIC)逻辑、图形处理器、通用处理器等。视频译码***2000也可包括可选的处理器2003,该可选的处理器2003可类似地包括专用集成电路(ASIC)逻辑、图形处理器、通用处理器等。在一些示例中,可经由硬件、视频译码专用硬件等来实现逻辑电路1950,并且处理器2003可实现通用软件、操作***等。此外,存储器存储2004可以是任意类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性示例中,可通过高速缓存储存器来实现存储器存储2004。在一些示例中,逻辑电路1950可访问存储器存储2004(例如,用于实现图像缓冲器)。在其他示例中,逻辑电路1950和/或处理单元2020可包括存储器存储(如,高速缓存等)以实现图像缓冲器等。
在一些示例中,经由逻辑电路实现的视频编码器100可包括图像缓冲器(例如,经由处理单元2020或存储器存储2004)和图形处理单元(例如,经由处理单元2020)。可将该图形处理单元通信地耦合至该图像缓冲器。该图形处理单元可包括经由逻辑电路1950而实现的视频编码器100(或编码器1700),以使参照图1和图3-6所讨论的各种模块具体化。例如,图形处理单元可包括译码分区生成器逻辑电路、自适应变换逻辑电路、内容预分析器、编码控制器逻辑电路、自适应熵编码器逻辑电路等。可将逻辑电路配置成用于执行本文中所讨论的各种操作。例如,可将译码分区生成器逻辑电路配置成用于接收用于变换译码的预测差错数据分区,并且分割该预测差错数据分区以生成该预测差错数据分区的多个译码分区,并且可将自适应变换逻辑电路配置成用于对各种分区执行内容自适应的和/或固定变换。例如,分区操作可包括二叉树分区技术或k-d树分区技术。能以类似的方式来实现视频解码器200。
在一些示例中,可将视频译码***2000的天线2002配置成用于接收视频数据的经编码的比特流。如所讨论的那样,该经编码的比特流可包括与译码分区相关联的数据(例如,变换系数或经量化的变换系数、可选的指示符(如所讨论的那样)和或定义译码分区的数据(例如,与使用码元运行译码或代码本技术等技术来定义二叉树分区或k-d树分区相关联的数据))。视频译码***2000也可包括耦合至天线2002、并且配置成对经编码的比特流进行解码的视频解码器200(或解码器1800)。例如,可将视频解码器200配置成:对经编码的比特流进行解码以确定与译码分区和变换类型相关联的数据;至少部分地基于与译码分区和变换类型相关联的数据来执行逆变换以生成经解码的预测差错数据分区;将预测分区加到该经解码的预测差错数据分区以生成重构分区;以及将该重构分区与第二重构分区组合以生成图块或超片段中的至少一个。
在多个实施例中,可响应于由一个或多个计算机程序产品提供的指令来执行本文中所描述的多个特征。此类程序产品可包括提供指令的信号承载介质,当例如由处理器执行这些指令时,这些指令可提供本文所描述的功能。能以一种或多种机器可读介质的任意形式来提供计算机程序产品。由此,例如包括一个或多个处理器核的处理器可响应于由一个或多个机器可读介质传递到该处理器的程序代码和/或指令或指令集,执行本文中所描述的一个或多个特征。一般而言,机器可读介质能以程序代码和/或指令或指令集的形式来传递软件,这些程序代码和/或指令或指令集可使本文中所描述的任何设备和/或***实现本文中所描述的特征的至少多个部分。
图21是根据本公开至少一些实现方案而安排的示例***2100的示图。在各种实现方案中,***2100可以是媒体***,但是***2100并不限于此情境。例如,可将***2100结合到个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(如,智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息收发设备、数据通信设备、相机(如,傻瓜相机、超变焦相机、数码单透镜反射(DSLR)相机)等中。
在各种实现方案中,***2100可包括耦合至显示设备2120的平台2102。平台2102可接收来自诸如内容服务设备2130或内容递送设备2140或其他类似内容源之类的内容设备的内容。可将包括一个或多个导航特征的导航控制器2150用于与例如平台2102和/或显示设备2120交互。在下文中更详细地描述这些组件中的每一个组件。
在各种实现方案中,平台2102可包括芯片组2105、处理器2110、存储器2112、天线2113、存储设备2114、图形子***2115、应用2116和/或无线电设备2118的任意组合。芯片组2105可提供处理器2110、存储器2112、存储设备2114、图形子***2115、应用2116和/或无线电设备2118之间的相互通信。例如,芯片组2105可包括能够提供与存储设备2113的互通的存储适配器(未描绘)。
可将处理器2110实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、兼容x86指令集的处理器、多核或任何其他微处理器或中央处理单元(CPU)。在各种实现方案中,处理器2110可以是双核处理器、双核移动处理器等。
可将存储器2112实现为易失性存储器设备,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
可将存储设备2114实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池备份的SDRAM(同步DRAM)和/或网络可访问存储设备。在各种实现方案中,存储设备2114可包括用于例如在包括多个硬驱动器的时候提供增加对有价值的数字媒体的增强存储性能的保护的技术。
图形子***2115可执行对诸如静止图像或视频之类的图像进行的处理,以便进行显示。图形子***2115可以是例如图形处理单元(GPU)或视觉处理单元(VPU)。可将模拟或数字接口用于通信地耦合图形子***2115和显示设备2120。例如,该接口可以是高清多媒体接口、显示端口、无线HDMI和/或适合无线HD的技术中的任意一个。可将图形子***2115集成到处理器2110或芯片组2105中。在一些实现方案中,图形子***2115可以是通信地耦合至芯片组2105的单独设备。
可在各种硬件架构中实现本文中所描述的图形和/或视频处理技术。例如,可在芯片组中集成图形和/或视频功能。或者,可使用分立的图形和/或视频处理器。作为又一实现方案,可由通用处理器(包括多核处理器)提供图形和/或视频功能。在进一步的实施例中,可在消费电子设备中实现这些功能。
无线电设备2118可包括能够使用各种合适的无线通信技术发送和接收信号的一个或多个无线电设备。此类技术可涉及横跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在横跨此类网络进行通信时,无线电设备2118可根据任何版本的一个或多个适用的标准进行操作。
在各种实现方案中,显示设备2120可包括任何电视机类型监视器或显示设备。显示设备2120可包括例如,计算机显示屏、触屏显示器、视频监视器、电视型设备和/或电视机。显示设备2120可以是数字和/或模拟的。在各种实现方案中,显示设备2120可以是全息显示设备。同样,显示设备2120可以是可接收视觉投影的透明表面。此类投影可传递各种形式的信息、图像和/或对象。例如,此类投影可以是用于移动增强现实(MAR)应用的视觉重叠。在一个或多个软件应用2116的控制下,平台2102可在显示设备2120上显示用户界面2122。
在各种实现方案中,可由任何国家的、国际的和/或独立的服务机构来主管内容服务设备2130,进而使平台2102例如经由因特网可访问该内容服务设备2130。可将内容服务设备2130耦合至平台2102和/或显示设备2120。可将平台2102和/或内容服务设备2130耦合至网络2160,以便往返于网络2160传递(如,发送和/或接收)媒体信息。也可将内容递送设备2140耦合至平台2102和/或显示设备2120。
在各种实现方案中,内容服务设备2130可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的启用因特网的设备或装置,以及能够经由网络2160或直接地在内容提供商和平台2102和/或显示设备2120之间单向地或双向地传递内容的任何其他类似设备。将会领会,可经由网络2160,在***2100中的任何一个组件和内容提供商之间往返地单向和/或双向传递内容。内容的示例可包括任何媒体信息,其包括例如视频、音乐、医疗和游戏信息等。
内容服务设备2130可接收诸如包括媒体信息、数字信息和/或其他内容的有限电视节目之类的内容。内容提供商的示例可包括任何有线或***或无线电或因特网内容提供商。所提供的示例并不旨在限制根据本公开、以任何方式进行的实现方案。
在各种实现方案中,平台2102可接收来自具有一个或多个导航特征的导航控制器2150的控制信号。可将控制器2150的导航特征用于与例如用户界面2122交互。在各种实现方案中,导航控制器2150可以是作为计算机硬件组件(更具体地说,人类接口设备)的、允许用户将空间(如,连续的和多维度的)数据输入计算机的指点设备。诸如图形用户界面(GUI)之类的许多***以及电视机和监视器允许用户使用物理手势来控制数据,并向计算机或电视机提供数据。
可通过指针、光标、焦点环或显示设备上所显示的其他视觉指示符的移动,在显示设备(如,显示设备2120)上复制控制器2150的导航特征的移动。例如,在软件应用2116的控制下,可将位于导航控制器2150上的这些导航特征映射至显示在用户界面2122上的虚拟导航特征中。在各实施例中,控制器2150可能不是单独的组件,但是可集成到平台2102和/或显示设备2120中。然而,本公开并不旨在限于本文所示或所述的元件或限于本文所示或所述的情境中。
在各种实现方案中,驱动器(未示出)可包括使用户能够在例如启用时,在初始开机之后,能够像通过触摸按钮打开和关闭电视机一样立即打开和关闭平台2102的技术。程序逻辑可允许平台2102即便在该平台被“关闭”的时候,也能够流式地将内容传送到媒体适配器或其他内容服务设备2130或内容递送设备2140中。此外,芯片组2105可包括例如针对5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件。驱动器可包括用于集成图形平台的图形驱动器。在各种实现方案中,该图形驱动器可包括***组件互连(PCI)快速图形卡。
在各种实现方案中,可集成***2100中所示的任意一个或多个组件。例如,可集成平台2102和内容服务设备2130,或可集成平台2102和内容递送设备2140,或例如可集成平台2102、内容服务设备2130和内容递送设备2140。在各实施例中,平台2102和显示设备2120可以是集成单元。可集成显示设备2120和内容服务设备2130,或例如可集成显示设备2120和内容递送设备2140。此类示例并不旨在限制本公开。
在各实施例中,可将***2100实现为无线***、有线***或无线和有线***两者的组合。当将***2100实现为无线***时,该***2100可包括适合于在无线共享介质上进行通信的组件和接口,无线共享介质例如是一个或多个天线、发射机、接收机、收发机、放大器、过滤器、控制逻辑等。无线共享介质的示例可包括无线频谱的多个部分,例如RF频谱等。当将***2100实现为有线***时,该***2100可包括适合于在有线通信介质上进行通信的组件和接口,有线通信介质例如是输入/输出(I/O)适配器、用于将该I/O适配器与对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可包括线、电缆、金属引线、印刷电路板(PCB)、底板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。
平台2102可建立用于传递信息的一个或多个逻辑或物理通道。该信息可包括媒体信息和控制信息。媒体信息可以是指表示针对用户的内容的任何数据。内容的示例可包括例如,来自语音对话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如,话语信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以是指表示针对自动***的命令、指令或控制字的任何数据。例如,可将控制信息用于通过***来路由媒体信息,或用于指示节点按照预先定义的方式来处理该媒体信息。然而,这些实施例并不限于图21中所示或所述的元件,也并不限于图21中所示或所述的情境中。
如上文所述,能以不同的物理样式或形状因子来使***2100具体化。图22示出小形状因子设备2200的实现方案,可在其中使***2200具体化。在各实施例中,可例如将设备2200实现为具有无线能力的移动计算设备。移动计算设备可以是指具有处理***和移动电源或供电(诸如例如,一个或多个电池)的任何设备。
如上文所述,移动计算设备的示例可包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板或智能电视机)、移动互联网设备(MID)、消息传送设备、数据通信设备、相机(例如,傻瓜相机、超变焦相机、数码单透镜反射(DSLR)等)等。
移动计算设备的示例也可包括被安排为由人穿戴的计算机,诸如腕式计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂带计算机、鞋计算机、衣服计算机以及其他可穿戴计算机。在各实施例中,可将例如移动计算设备实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管已经通过示例方式将移动计算设备实现为智能电话而描述了一些实施例,但是可以领会,也可以使用其他无线移动计算设备来实现其他实施例。各实施例不限于此情境。
如图22中所示,设备2200可以包括外壳2202、显示设备2204,该显示设备2204可包括用户界面2210、输入/输出(I/O)设备2206和天线2208。设备2200也可包括导航特征2212。显示设备2204可包括用于显示适合于移动计算设备的信息的任何合适的显示单元。I/O设备2206可包括用于向移动计算设备输入信息的任何合适的I/O设备。I/O设备2206的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇杆开关、话筒、扬声器、语音识别设备和软件等。也可通过话筒(未示出)向设备2200输入信息。可由语音识别设备(未示出)使此类信息数字化。各实施例不限于此情境。
可使用硬件元件、软件元件或软硬件元件的组合来实现各实施例。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、***程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可根据任意数量的因素而变化,这些因素例如是所期望的计算速率、功率电平、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
可由存储在标识处理器内的各种逻辑的机器可读介质上的表示性指令来实现至少一个实施例的一个或多个方面,当机器读取这些指令时,这些指令使该机器制作用于执行本文所述的技术的逻辑。可将被称为“IP核”的此类表示存储在有形的机器可读介质上,并将其提供给各种客户或生产设施,以便将此类表示加载到实际制造该逻辑或处理器的制造机器中。
尽管已经参考各实现方案描述了本文陈述的某些特征,但并不旨在以限制的含义来解释本说明书。因此,对本公开所属技术领域中的技术人员显而易见的本文所述的各实现方案的各种修改以及其他实现方案被认为落在本公开的精神和范围之内。
以下示例关于进一步的实施例。
在一个示例中,用于视频译码的计算机实现的方法可包括:接收用于变换译码的预测差错数据分区;分割该预测差错数据分区以生成该预测差错数据分区的多个译码分区;对多个译码分区的第一子集执行内容自适应变换;以及对多个译码分区的第二子集执行固定变换。
在另一示例中,用于视频译码的计算机实现的方法可进一步包括:确定与同预测差错数据分区相关联的视频帧相关联的第一图片类型和第一预测类型,使得图片类型可包括F/B-图片或P-图片中的至少一个,并且使得预测类型可包括帧间预测;接收用于译码的图块;确定与该图块相关联的第二图片类型,使得该第二图片类型可包括I-图片;使用k-d树分区技术或二叉树分区技术中的至少一个分割该图块以生成多个用于预测的分区;执行帧内预测以生成与多个用于预测的分区相关联的多个预测分区;比较多个预测分区以及与多个预测分区相关联的原始像素数据的差异以生成多个第二预测差错数据分区;对多个第二预测差错数据分区的第三子集执行第二内容自适应变换;对多个第二预测差错数据分区的第四子集执行第二固定变换;确定来自多个译码分区的第一译码分区和用于第一译码分区的第一译码变换,使得第一译码变换可包括内容自适应变换或固定变换中的至少一个,使得第一子集和第二子集两者都可包括第一译码分区,并且使得确定第一译码变换可包括率失真优化或内容预分析;生成与第一译码分区和第一译码变换相关联的一个或多个指示符,使得一个或多个指示符可包括下列各项中的至少一个:变换类型,指示内容自适应变换或固定变换中的至少一个;变换方向,指示针对内容自适应变换的参数变换方向;或块尺寸数据,指示第一译码分区的变换块尺寸;确定来自多个第二预测差错数据分区的第二译码分区和用于第二译码分区的第二译码变换,使得第二译码变换包括第二内容自适应变换或第二固定变换中的至少一个,并且使得确定第二译码变换可包括:基于第二译码分区的尺寸来确定该第二译码变换;生成与第二译码分区和第二译码变换相关联的一个或多个指示符;在比特流中对与第一译码分区相关联的数据和一个或多个指示符进行熵编码,使得与第一译码分区相关联的数据可包括变换系数或经量化的变换系数中的至少一个;在比特流中对与第二译码分区相关联的数据和一个或多个第二指示符进行熵编码,使得与第二译码分区相关联的数据可包括第二变换系数或第二经量化的变换系数中的至少一个;发送该比特流;接收该比特流;对该比特流进行熵解码以确定与第一译码分区数据相关联的数据和一个或多个指示符;对该比特流进行熵解码以确定与第二译码分区数据相关联的数据和一个或多个第二指示符;至少部分地基于与第一译码分区相关联的数据和一个或多个指示符来执行逆扫描、逆量化和逆变换以生成第一经解码的预测差错数据分区;至少部分地基于与第二译码分区相关联的数据和一个或多个第二指示符来执行第二逆扫描、第二逆量化和第二逆变换以生成第二经解码的预测差错数据分区;将预测分区加到第一经解码的预测差错数据分区中以生成第一重构分区;将该第一重构分区和第二重构分区组合以生成第一图块或第一超片段中的至少一个;将解块过滤或质量恢复过滤中的至少一个应用于第一图块或第一超片段以生成第一经最终解码的图块或超片段;将第一经最终解码的图块或超片段与第二经最终解码的图块或超片段组合以生成经解码的视频帧;以及发送该经解码的视频帧,以便经由显示设备进行呈现。分割预测差错数据分区以生成多个译码分区可包括:使用二叉树分区技术或k-d树分区技术中的至少一个来分割该预测差错数据分区。内容自适应变换可包括混合参数哈尔变换,使得该混合参数哈尔变换可包括第一方向上的参数哈尔变换和第二方向上的离散余弦变换,并且使得第一方向包括水平或垂直方向中的至少一个。固定变换可包括离散余弦变换或离散余弦变换逼近中的至少一个。第二内容自适应变换可包括第二混合参数哈尔变换。第二固定变换可包括第二离散余弦变换。多个译码分区可包括4x4像素的最小分区尺寸。多个译码分区的第一子集可包括小至中尺寸的译码分区,并且小至中尺寸的译码分区可包括高度小于或等于16个像素并且宽度小于或等于16个像素的译码分区。多个译码分区的第二子集可包括中至大尺寸的译码分区,并且中至大尺寸的译码分区可包括高度大于或等于16个像素并且宽度大于或等于16个像素的译码分区,并且多个译码分区的所述第二子集可包括具有16x16像素、32x32像素或64x64像素的分区尺寸的译码分区。多个译码分区的第二子集可包括小至大尺寸的译码分区,并且小至大尺寸的译码分区可包括多个译码分区,多个第二预测差错数据分区的第三子集可包括小至中尺寸的分区,并且小至中尺寸的分区可包括高度小于或等于16个像素并且宽度小于或等于16个像素的分区。多个第二预测差错数据分区的第四子集可包括中至大尺寸的分区,并且其中,中至大尺寸的分区可包括高度大于或等于16个像素并且宽度大于或等于16个像素的分区。多个第二预测差错数据分区的第四子集可包括小至大尺寸的分区,并且其中,小至大尺寸的分区可包括多个第二预测差错数据分区。预测差错数据分区可包括至少部分地基于使用变形技术或合成技术中的至少一个而生成的、先前经解码的帧,来生成的预测差错数据,并且一个或多个指示符可包括与预测差错数据相关联的帧参考、变形参数或合成参数中的至少一个。
在其他示例中,视频编码器可包括图像缓冲器和图形处理单元,该图形处理单元具有译码分区生成器逻辑电路和自适应变换逻辑电路。图形处理单元可通信地耦合至图像缓冲器,并且可将译码分区生成器逻辑配置成用于:接收用于变换译码的预测差错数据分区以及分割该预测差错数据分区以生成该预测差错数据分区的多个译码分区;并且可将自适应变换逻辑电路配置成用于:对多个译码分区的第一子集执行内容自适应变换并且对多个译码分区的第二子集执行固定变换。
在进一步的示例视频编码器中,图形处理单元可包括内容预分析器逻辑电路、编码控制器逻辑电路和/或自适应熵编码器逻辑电路。可将自适应变换逻辑电路配置成用于:确定与关联于预测差错数据分区的视频帧相关联的图片类型,其中,该图片类型包括F/B-图片或P-图片中的至少一个;以及确定与第二视频帧相关联的第二图片类型,其中,该第二图片类型包括I-图片。可将编码控制器逻辑电路配置成用于:确定与预测差错数据分区相关联的预测类型,使得该预测类型可包括帧间预测;确定来自多个译码分区的第一译码分区和用于该译码分区的第一译码变换,使得第一译码变换可包括内容自适应变换或固定变换中的至少一个,使得第一子集和第二子集两者都可包括第一译码分区,并且使得确定第一译码变换可包括:将编码控制器逻辑电路配置成用于执行率失真优化或内容预分析;生成与第一译码分区和第一译码变换相关联的一个或多个指示符,使得一个或多个指示符可包括下列各项中的至少一个:变换类型,指示内容自适应变换或固定变换中的至少一个;变换方向,指示针对内容自适应变换的参数变换方向;或块尺寸数据,指示第一译码分区的变换块尺寸;确定来自与第二帧的图块相关联的多个第二预测差错数据分区的第二译码分区和用于第二译码分区的第二译码变换,其中,第二译码变换包括第二内容自适应变换或第二固定变换中的至少一个,并且其中,确定该第二译码变换包括:基于第二译码分区的尺寸来确定该第二译码变换;以及生成与第二译码分区和第二译码变换相关联的一个或多个第二指示符。可将自适应熵编码器逻辑电路配置成用于:在比特流中对与第一译码分区相关联的数据和一个或多个指示符进行熵编码,使得与第一译码分区相关联的数据可包括变换系数或经量化的变换系数中的至少一个;在比特流中对与第二译码分区相关联的数据和一个或多个第二指示符进行熵编码,使得与第二译码分区相关联的数据可包括第二变换系数或第二经量化的变换系数中的至少一个。可进一步将译码分区生成器逻辑电路配置成用于:接收用于译码的图块;使用k-d树分区技术或二叉树分区技术中的至少一个来分割该图块以生成多个用于预测的分区。可进一步将自适应变换逻辑电路配置成用于:对与多个用于预测的分区相关联的多个第二预测差错数据分区的第三子集执行第二内容自适应变换;以及对与多个用于预测的分区相关联的多个第二预测差错数据分区的第四子集执行第二固定变换。分割预测差错数据分区以生成多个译码分区可包括:将译码分区生成器逻辑电路配置成用于使用二叉树分区技术或k-d树分区技术中的至少一个来分割该预测差错数据分区。内容自适应变换可包括混合参数哈尔变换,使得该混合参数哈尔变换可包括第一方向上的参数哈尔变换和第二方向上的离散余弦变换,并且使得第一方向包括水平或垂直方向中的至少一个。固定变换可包括离散余弦变换或离散余弦变换逼近中的至少一个。第二内容自适应变换可包括第二混合参数哈尔变换。第二固定变换可包括第二离散余弦变换。多个译码分区可包括4x4像素的最小分区尺寸。多个译码分区的第一子集可包括小至中尺寸的译码分区,并且小至中尺寸的译码分区可包括高度小于或等于16个像素并且宽度小于或等于16个像素的译码分区。多个译码分区的第二子集可包括中至大尺寸的译码分区,并且中至大尺寸的译码分区可包括高度大于或等于16个像素并且宽度大于或等于16个像素的译码分区,并且多个译码分区的第二子集可包括具有16x16像素、32x32像素或64x64像素的分区尺寸的译码分区。多个译码分区的第二子集可包括小至大尺寸的译码分区,并且小至大尺寸的译码分区可包括多个译码分区,多个第二预测差错数据分区的第三子集可包括小至中尺寸的分区,并且其中,小至中尺寸的分区包括高度小于或等于16个像素并且宽度小于或等于16个像素的分区。多个第二预测差错数据分区的第四子集可包括中至大尺寸的分区,并且其中,中至大尺寸的分区包括高度大于或等于16个像素并且宽度大于或等于16个像素的分区。多个第二预测差错数据分区的第四子集包括小至大尺寸的分区,并且其中,小至大尺寸的分区包括多个第二预测差错数据分区。预测差错数据分区可包括至少部分地基于使用变形技术或合成技术中的至少一个而生成的、先前经解码的帧,来生成的预测差错数据,并且一个或多个指示符可包括与预测差错数据相关联的帧参考、变形参数或合成参数中的至少一个。
在又一示例中,***可包括:天线,配置成用于接收视频数据的经编码的比特流;以及视频解码器,通信地耦合至该天线并配置成用于对该经编码的比特流进行解码。经编码的比特流可包括与译码分区相关联的数据和一个或多个指示符,一个或多个指示符包括指示内容自适应变换或固定变换中的至少一个的变换类型。可将该视频解码器配置成用于:解码经编码的比特流以确定与译码分区相关联的数据和所述变换类型;至少部分地基于与译码分区相关联的数据和变换类型执行逆变换以生成经解码的预测差错数据分区;将预测分区加到经解码的预测差错数据分区中以生成重构分区;以及将该重构分区和第二重构分区组合以生成图块或超片段中的至少一个。
在进一步的示例***中,该***也可包括配置成用于呈现视频帧的显示设备。经编码的比特流可进一步包括与第二译码分区相关联的数据和一个或多个第二指示符,一个或多个第二指示符包括至少第二变换类型,其中,一个或多个指示符进一步包括指示针对内容自适应变换的参数变换方向的变换方向中的至少一个。可进一步将该视频解码器配置成用于:对经编码的比特流进行解码以确定与第二译码分区相关联的数据和一个或多个第二指示符;至少部分地基于与第二译码分区相关联的数据和第二变换类型执行第二逆变换以生成第二经解码的预测差错数据分区;将图块或超片段与第二图块或第二超片段组合以生成视频帧。逆变换可包括混合参数哈尔逆变换,使得该混合参数哈尔逆变换可包括参数变换方向的方向上的参数哈尔逆变换以及垂直于该参数变换方向的方向上的离散余弦逆变换。参数变换方向可包括水平或垂直方向中的至少一个。固定逆变换包括离散余弦逆变换或离散余弦逆变换逼近中的至少一个。预测分区可包括使用变形技术或合成技术中的至少一个所生成的、先前经解码的帧,并且比特流可进一步包括与预测分区相关联的帧参考、变形参数或合成参数中的至少一个。
在进一步的示例中,至少一种机器可读介质可包括多条指令,响应于在计算设备上执行这些指令,这些指令使该计算设备用于执行根据上述示例中的任意一个示例所述的方法。
在又一示例中,设备可包括用于执行根据上述示例中的任何一个示例的方法的装置。
以上示例可包括多个特征的特定组合。然而,此类上述示例在这方面不受限制,并且在各实现方案中,上述示例可包括:执行仅此类特征的子集;执行不同顺序的此类特征;执行此类特征的不同组合;以及/或者执行明确列出的那些特征之外的附加特征。例如,可参照示例装置、示例***和/或示例制品来实现参照示例方法所描述的所有特征,反之亦然。
Claims (25)
1.一种用于视频译码的计算机实现的方法,包括:
接收用于变换译码的预测差错数据分区;
分割所述预测差错数据分区以生成所述预测差错数据分区的多个译码分区;
对所述多个译码分区的第一子集执行内容自适应变换;以及
对所述多个译码分区的第二子集执行固定变换。
2.如权利要求1所述的方法,其特征在于,分割所述预测差错数据分区以生成多个译码分区包括:使用二叉树分区技术分割所述预测差错数据分区。
3.如权利要求1所述的方法,其特征在于,所述多个译码分区的所述第一子集包括小至中尺寸的分区,并且所述多个译码分区的所述第二子集包括中至大尺寸的分区。
4.如权利要求1所述的方法,其特征在于,所述多个译码分区的所述第一子集包括小至中尺寸的分区,其中,小至中尺寸的译码分区包括高度小于或等于16个像素并且宽度小于或等于16个像素的分区;所述多个译码分区的所述第二子集包括中至大尺寸的译码分区,其中,中至大尺寸的分区包括高度大于或等于16个像素并且宽度大于或等于16个像素的分区。
5.如权利要求1所述的方法,其特征在于,所述多个译码分区的所述第一子集包括小至中尺寸的译码分区,并且所述多个译码分区的所述第二子集包括小至大尺寸的译码分区,所述方法进一步包括:
确定来自所述多个译码分区的第一译码分区和用于所述译码分区的第一译码变换,其中,所述第一译码变换包括内容自适应变换或固定变换中的至少一个,其中,所述第一子集和所述第二子集两者都包括所述第一译码分区,并且其中,确定所述第一译码变换包括率失真优化或内容预分析。
6.如权利要求1所述的方法,其特征在于,所述多个译码分区的所述第一子集包括小至中尺寸的分区,其中,小至中尺寸的译码分区包括高度小于或等于16个像素并且宽度小于或等于16个像素的分区;所述多个译码分区的所述第二子集包括小至大尺寸的译码分区,其中,小至大尺寸的分区包括所述多个译码分区,所述方法进一步包括:
确定来自所述多个译码分区的第一译码分区和用于所述第一译码分区的第一译码变换,其中,所述第一译码变换包括内容自适应变换或固定变换中的至少一个,其中,所述第一子集和所述第二子集两者都包括所述第一译码分区,并且其中,确定所述第一译码变换包括率失真优化或内容预分析。
7.如权利要求1所述的方法,其特征在于,进一步包括:
确定与所述预测差错数据分区相关联的图片类型和预测类型,其中,所述图片类型包括F/B-图片或P-图片中的至少一个,所述预测类型包括帧间预测,并且其中,分割所述预测差错数据分区以生成多个译码分区包括:使用二叉树分区技术分割所述预测差错数据分区。
8.如权利要求1所述的方法,其特征在于,进一步包括:
接收用于译码的图块;
确定与所述图块相关联的图片类型,其中,所述图片类型包括I-图片;
使用k-d树分区技术分割所述图块以生成多个用于预测的分区;
执行帧内预测以生成与所述多个用于预测的分区相关联的多个预测分区;
比较所述多个预测分区以及与所述多个预测分区相关联的原始像素数据的差异以生成多个第二预测差错数据分区;
对所述多个第二预测差错数据分区的第三子集执行第二内容自适应变换;以及
对所述多个第二预测差错数据分区的第四子集执行第二固定变换。
9.如权利要求1所述的方法,其特征在于,进一步包括:
确定与所述预测差错数据分区相关联的第一图片类型和第一预测类型,其中,所述图片类型包括F/B-图片或P-图片中的至少一个,所述预测类型包括帧间预测,并且其中,分割所述预测差错数据分区以生成多个译码分区包括:使用k-d树分区技术分割所述预测差错数据分区;
接收用于译码的图块;
确定与所述图块相关联的第二图片类型,其中,所述第二图片类型包括I-图片;
使用二叉树分区技术分割所述图块以生成多个用于预测的分区;
执行帧内预测以生成与所述多个用于预测的分区相关联的多个预测分区;
比较所述多个预测分区以及与所述多个预测分区相关联的原始像素数据的差异以生成多个第二预测差错数据分区;
对所述多个第二预测差错数据分区的第三子集执行第二内容自适应变换;以及
对所述多个第二预测差错数据分区的第四子集执行第二固定变换,其中,所述多个第二预测差错数据分区的所述第三子集包括小至中尺寸的分区,并且所述多个第二预测差错数据分区的所述第四子集包括中至大尺寸的分区。
10.如权利要求1所述的方法,其特征在于,进一步包括:
确定与所述预测差错数据分区相关联的第一图片类型和第一预测类型,其中,所述图片类型包括F/B-图片或P-图片中的至少一个,并且其中,所述预测类型包括帧间预测;
接收用于译码的图块;
确定与所述图块相关联的第二图片类型,其中,所述第二图片类型包括I-图片;以及
使用k-d树分区技术或二叉树分区技术中的至少一种技术分割所述图块以生成多个用于预测的分区;
执行帧内预测以生成与所述多个用于预测的分区相关联的多个预测分区;
比较所述多个预测分区以及与所述多个预测分区相关联的原始像素数据的差异以生成多个第二预测差错数据分区;
对所述多个第二预测差错数据分区的第三子集执行第二内容自适应变换;
对所述多个第二预测差错数据分区的第四子集执行第二固定变换;
确定来自所述多个译码分区的第一译码分区和用于所述第一译码分区的第一译码变换,其中,所述第一译码变换包括内容自适应变换或固定变换中的至少一个,其中,所述第一子集和所述第二子集两者都包括所述第一译码分区,并且其中,确定所述第一译码变换包括率失真优化或内容预分析;
生成与所述第一译码分区和所述第一译码变换相关联的一个或多个指示符,其中,所述一个或多个指示符包括下列各项中的至少一个:变换类型,指示所述内容自适应变换或所述固定变换中的至少一个;变换方向,指示针对所述内容自适应变换的参数变换方向;或块尺寸数据,指示所述第一译码分区的变换块尺寸;
确定来自所述多个第二预测差错数据分区的第二译码分区和用于所述第二译码分区的第二译码变换,其中,所述第二译码变换包括所述第二内容自适应变换或所述第二固定变换中的至少一个,并且其中,确定所述第二译码变换包括:基于所述第二译码分区的尺寸来确定所述第二译码变换;
生成与所述第二译码分区和所述第二译码变换相关联的一个或多个第二指示符;
在比特流中对与所述第一译码分区相关联的数据和所述一个或多个指示符进行熵编码,其中,与所述第一译码分区相关联的数据包括变换系数或经量化的变换系数中的至少一个;
在所述比特流中对与所述第二译码分区相关联的数据和所述一个或多个第二指示符进行熵编码,其中,与所述第二译码分区相关联的数据包括第二变换系数或第二经量化的变换系数中的至少一个;
发送所述比特流;
接收所述比特流;
对所述比特流进行熵解码以确定与所述第一译码分区数据相关联的数据和所述一个或多个指示符;
对所述比特流进行熵解码以确定与所述第二译码分区相关联的数据和所述一个或多个第二指示符;
至少部分地基于与所述第一译码分区相关联的数据和所述一个或多个指示符来执行逆扫描、逆量化和逆变换以生成第一经解码的预测差错数据分区;
至少部分地基于与所述第二译码分区相关联的数据和所述一个或多个第二指示符来执行第二逆扫描、第二逆量化和第二逆变换以生成第二经解码的预测差错数据分区;
将预测分区加到所述第一经解码的预测差错数据分区中以生成第一重构分区;
将所述第一重构分区和第二重构分区组合以生成第一图块或第一超片段中的至少一个;
将解块过滤或质量恢复过滤中的至少一个应用于所述第一图块或所述第一超片段以生成第一经最终解码的图块或超片段;
将所述第一经最终解码的图块或超片段与第二经最终解码的图块或超片段组合以生成经解码的视频帧;以及
发送所述经解码的视频帧,以便经由显示设备进行呈现,
其中,分割所述预测差错数据分区以生成所述多个译码分区包括:使用二叉树分区技术或k-d树分区技术中的至少一个来分割所述预测差错数据分区,
其中,所述内容自适应变换包括混合参数哈尔变换,其中,所述混合参数哈尔变换包括第一方向上的参数哈尔变换和第二方向上的离散余弦变换,其中,所述第一方向包括水平或垂直方向中的至少一个,
其中,所述固定变换包括离散余弦变换或离散余弦变换逼近中的至少一个,
其中,所述第二内容自适应变换包括第二混合参数哈尔变换,
其中,所述第二固定变换包括第二离散余弦变换,
其中,所述多个译码分区包括4x4像素的最小分区尺寸,
其中,所述多个译码分区的所述第一子集包括小至中尺寸的译码分区,并且其中,所述小至中尺寸的译码分区包括高度小于或等于16个像素并且宽度小于或等于16个像素的译码分区,
其中,所述多个译码分区的所述第二子集包括中至大尺寸的译码分区,并且其中,所述中至大尺寸的译码分区包括高度大于或等于16个像素并且宽度大于或等于16个像素的译码分区,并且其中,所述多个译码分区的所述第二子集包括具有16x16像素、32x32像素或64x64像素的分区尺寸的译码分区,
其中,所述多个译码分区的所述第二子集包括小至大尺寸的译码分区,并且其中,所述小至大尺寸的译码分区包括所述多个译码分区,
其中,所述多个第二预测差错数据分区的所述第三子集包括小至中尺寸的分区,并且其中,所述小至中尺寸的分区包括高度小于或等于16个像素并且宽度小于或等于16个像素的分区,
其中,所述多个第二预测差错数据分区的所述第四子集包括中至大尺寸的分区,并且其中,所述中至大尺寸的分区包括高度大于或等于16个像素并且宽度大于或等于16个像素的分区,
其中,所述多个第二预测差错数据分区的所述第四子集包括小至大尺寸的分区,并且其中,所述小至大尺寸的分区包括所述多个第二预测差错数据分区,并且
其中,所述预测差错数据分区包括至少部分地基于使用变形技术或合成技术中的至少一个而生成的、先前经解码的帧,来生成的预测差错数据,并且其中,所述一个或多个指示符包括与所述预测差错数据相关联的帧参考、变形参数或合成参数中的至少一个。
11.一种视频编码器,包括:
图像缓冲器;
图形处理单元,包括译码分区生成器逻辑电路和自适应变换逻辑电路,其中,所述图形处理单元通信地耦合至所述图像缓冲器,并且其中,所述译码分区生成器逻辑电路配置成用于:
接收用于变换译码的预测差错数据分区;以及
分割所述预测差错数据分区以生成所述预测差错数据分区的多个译码分区;并且
其中,所述自适应变换逻辑电路配置成用于:
对所述多个译码分区的第一子集执行内容自适应变换;以及
对所述多个译码分区的第二子集执行固定变换。
12.如权利要求11所述的视频编码器,其特征在于,分割所述预测差错数据分区包括:将所述译码分区生成器逻辑电路配置成用于使用二叉树分区技术分割所述预测差错数据分区,其中,所述多个译码分区的所述第一子集包括小至中尺寸的译码分区,并且其中,所述多个译码分区的所述第二子集包括中至大尺寸的译码分区。
13.如权利要求11所述的视频编码器,其特征在于,进一步包括:
编码控制器逻辑电路,配置成用于:
确定来自所述多个译码分区的第一译码分区和用于所述第一译码分区的第一译码变换,其中,确定所述第一译码分区包括:将所述编码控制器逻辑电路配置成用于应用率失真优化,
其中,分割所述预测差错数据分区包括:将所述译码分区生成器逻辑电路配置成用于使用二叉树分区技术分割所述预测差错数据分区,其中,所述多个译码分区的所述第一子集包括小至中尺寸的译码分区,并且其中,所述多个译码分区的所述第二子集包括小至大尺寸的预测差错数据分区。
14.如权利要求11所述的视频编码器,其特征在于,进一步将所述译码分区生成器逻辑电路配置成用于:
接收用于译码的图块;以及
使用k-d树分区技术分割所述图块以生成多个用于预测的分区。
15.如权利要求11所述的视频编码器,其特征在于,进一步将所述译码分区生成器逻辑电路配置成用于:
接收用于译码的图块;以及
使用k-d树分区技术分割所述图块以生成多个用于预测的分区,并且其中,分割所述预测差错数据分区包括:将所述译码分区生成器逻辑电路配置成用于使用二叉树分区技术分割所述预测差错数据分区。
16.如权利要求11所述的视频编码器,其特征在于,进一步将所述译码分区生成器逻辑电路配置成用于:
接收用于译码的图块;以及
使用二叉树分区技术分割所述图块以生成多个用于预测的分区,并且其中,分割所述预测差错数据分区包括:将所述译码分区生成器逻辑电路配置成用于使用k-d树分区技术分割所述预测差错数据分区,并且其中,所述自适应变换逻辑电路进一步配置成用于:
对与所述多个用于预测的分区相关联的多个第二预测差错数据分区的第三子集执行第二内容自适应变换;以及
对与所述多个用于预测的分区相关联的所述多个第二预测差错数据分区的第四子集执行第二固定变换。
17.如权利要求11所述的视频编码器,其特征在于,所述图形处理单元进一步包括:
内容预分析器逻辑电路,配置成用于:
确定与关联于所述预测差错数据分区的视频帧相关联的图片类型,其中,所述图片类型包括F/B-图片或P-图片中的至少一个;以及
确定与第二视频帧相关联的第二图片类型,其中,所述第二图片类型包括I-图片;
编码控制器逻辑电路,配置成用于:
确定与所述预测差错数据分区相关联的预测类型,其中,所述预测类型包括帧间预测;
确定来自所述多个译码分区的第一译码分区和用于所述第一译码分区的第一译码变换,其中,所述第一译码变换包括内容自适应变换或固定变换中的至少一个,其中,所述第一子集和所述第二子集两者都包括所述第一译码分区,并且其中,确定所述第一译码变换包括:将所述编码控制器逻辑电路配置成用于执行率失真优化或内容预分析;
生成与所述第一译码分区和所述第一译码变换相关联的一个或多个指示符,其中,所述一个或多个指示符包括下列各项中的至少一个:变换类型,指示所述内容自适应变换或所述固定变换中的至少一个;变换方向,指示针对所述内容自适应变换的参数变换方向;或块尺寸数据,指示所述第一译码分区的变换块尺寸;
确定来自与所述第二帧的图块相关联的多个第二预测差错数据分区的第二译码分区和用于所述第二译码分区的第二译码变换,其中,所述第二译码变换包括第二内容自适应变换或第二固定变换中的至少一个,并且其中,确定所述第二译码变换包括:基于所述第二译码分区的尺寸来确定所述第二译码变换;以及
生成与所述第二译码分区和所述第二译码变换相关联的一个或多个第二指示符;以及
自适应熵编码器逻辑电路,配置成用于:
在比特流中对与所述第一译码分区相关联的数据和所述一个或多个指示符进行熵编码,其中,与所述第一译码分区相关联的数据包括变换系数或经量化的变换系数中的至少一个;
在所述比特流中对与所述第二译码分区相关联的数据和所述一个或多个第二指示符进行熵编码,其中,与所述第二译码分区相关联的数据包括第二变换系数或第二经量化的变换系数中的至少一个;以及
发送所述比特流,
其中,将所述译码分区生成器逻辑电路进一步配置成用于:
接收所述用于译码的图块;以及
使用k-d树分区技术或二叉树分区技术中的至少一种技术分割所述图块以生成所述多个用于预测的分区,
其中,进一步将所述自适应变换逻辑电路配置成用于:
对与所述多个用于预测的分区相关联的多个第二预测差错数据分区的第三子集执行第二内容自适应变换;以及
对与所述多个用于预测的分区相关联的所述多个第二预测差错数据分区的第四子集执行第二固定变换,
其中,分割所述预测差错数据分区以生成所述多个译码分区包括:将所述译码分区生成器逻辑电路配置成用于使用二叉树分区技术或k-d树分区技术中的至少一个来分割所述预测差错数据分区,
其中,所述内容自适应变换包括混合参数哈尔变换,其中,所述混合参数哈尔变换包括第一方向上的参数哈尔变换和第二方向上的离散余弦变换,其中,所述第一方向包括水平或垂直方向中的至少一个,
其中,所述固定变换包括离散余弦变换或离散余弦变换逼近中的至少一个,
其中,所述第二内容自适应变换包括第二混合参数哈尔变换,
其中,所述第二固定变换包括第二离散余弦变换,
其中,所述多个译码分区包括4x4像素的最小分区尺寸,
其中,所述多个译码分区的所述第一子集包括小至中尺寸的译码分区,并且其中,所述小至中尺寸的译码分区包括高度小于或等于16个像素并且宽度小于或等于16个像素的译码分区,
其中,所述多个译码分区的所述第二子集包括中至大尺寸的译码分区,并且其中,所述中至大尺寸的译码分区包括高度大于或等于16个像素并且宽度大于或等于16个像素的译码分区,并且其中,所述多个译码分区的所述第二子集包括具有16x16像素、32x32像素或64x64像素的分区尺寸的译码分区,
其中,所述多个译码分区的所述第二子集包括小至大尺寸的译码分区,并且其中,所述小至大尺寸的译码分区包括所述多个译码分区,
其中,所述多个第二预测差错数据分区的所述第三子集包括小至中尺寸的分区,并且其中,所述小至中尺寸的分区包括高度小于或等于16个像素并且宽度小于或等于16个像素的分区,
其中,所述多个第二预测差错数据分区的所述第四子集包括中至大尺寸的分区,并且其中,所述中至大尺寸的分区包括高度大于或等于16个像素并且宽度大于或等于16个像素的分区,
其中,所述多个第二预测差错数据分区的所述第四子集包括小至大尺寸的分区,并且其中,所述小至大尺寸的分区包括所述多个第二预测差错数据分区,并且
其中,所述预测差错数据分区包括至少部分地基于使用变形技术或合成技术中的至少一个而生成的、先前经解码的帧,来生成的预测差错数据,并且其中,所述一个或多个指示符包括与所述预测差错数据相关联的帧参考、变形参数或合成参数中的至少一个。
18.一种***,包括:
天线,配置成用于接收视频数据的经编码的比特流,其中,所述经编码的比特流包括与译码分区相关联的数据和一个或多个指示符,所述一个或多个指示符包括指示内容自适应变换或固定变化中的至少一个的变换类型;以及
视频解码器,通信地耦合至所述天线,并且所述视频解码器配置成用于解码所述经编码的比特流,其中,将所述视频解码器配置成用于:
解码所述经编码的比特流以确定与所述译码分区相关联的数据和所述变换类型;
至少部分地基于与所述译码分区相关联的数据和所述变换类型执行逆变换以生成经解码的预测差错数据分区;
将预测分区加到所述经解码的预测差错数据分区中以生成重构分区;以及
将所述重构分区和第二重构分区组合以生成图块或超片段中的至少一个。
19.如权利要求18所述的***,其特征在于,所述***进一步包括:
显示设备,配置成用于呈现视频帧。
20.如权利要求18所述的***,其特征在于,所述经编码的比特流进一步包括与第二译码分区相关联的数据和一个或多个第二指示符,所述一个或多个第二指示符包括至少第二变换类型,并且其中,进一步将所述视频解码器配置成用于:
解码经编码的比特流以确定与所述第二译码分区相关联的数据和所述一个或多个指示符;以及
至少部分地基于与所述第二译码分区相关联的数据和所述第二变换类型来执行第二逆变换以生成第二经解码的预测差错数据分区。
21.如权利要求18所述的***,其特征在于,所述固定变换包括离散余弦变换或离散余弦变换逼近中的至少一个。
22.如权利要求18所述的***,其特征在于,所述内容自适应变换包括混合参数哈尔变换,其中,所述混合参数哈尔变换包括第一方向上的参数哈尔变换和第二方向上的离散余弦变换,并且其中,所述第一方向包括水平或垂直方向中的至少一个。
23.如权利要求18所述的***,其特征在于,所述经编码的比特流进一步包括与第二译码分区相关联的数据和一个或多个第二指示符,所述一个或多个第二指示符包括至少第二变换类型,其中,所述一个或多个指示符进一步包括指示针对所述内容自适应变换的参数变换方向的变换方向中的至少一个,所述***进一步包括:
显示设备,配置成用于呈现视频帧,
其中,进一步将所述视频解码器配置成用于:
解码经编码的比特流以确定与所述第二译码分区相关联的数据和所述一个或多个第二指示符;
至少部分地基于与所述第二译码分区相关联的数据和所述第二变换类型来执行第二逆变换以生成第二经解码的预测差错数据分区;以及
将所述图块或超片段与第二图块或第二超片段组合以生成视频帧,
其中,所述逆变换包括混合参数哈尔逆变换,其中,所述混合参数哈尔逆变换包括所述参数变换方向的方向上的参数哈尔逆变换以及垂直于所述参数变换方向的方向上的离散余弦逆变换,
其中,所述参数变换方向包括水平或垂直方向中的至少一个,
其中,所述固定逆变换包括离散余弦逆变换或离散余弦逆变换逼近中的至少一个,并且
其中,所述预测分区包括使用变形技术或合成技术中的至少一个所
生成的、先前经解码的帧,并且其中,所述比特流进一步包括与所述预测
分区相关联的帧参考、变形参数或合成参数中的至少一个。
24.至少一种机器可读介质,包括:
多条指令,响应于在计算设备上执行所述多条指令,所述多条指令使所述计算设备执行如权利要求1-10中任意一项所述的方法。
25.一种设备,包括:
用于执行如权利要求1-10中的任意一项所述的方法的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261725576P | 2012-11-13 | 2012-11-13 | |
US61/725,576 | 2012-11-13 | ||
US201361758314P | 2013-01-30 | 2013-01-30 | |
US61/758,314 | 2013-01-30 | ||
PCT/US2013/067182 WO2014078068A1 (en) | 2012-11-13 | 2013-10-29 | Content adaptive transform coding for next generation video |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104704827A true CN104704827A (zh) | 2015-06-10 |
CN104704827B CN104704827B (zh) | 2019-04-12 |
Family
ID=50731602
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380053444.5A Active CN104704827B (zh) | 2012-11-13 | 2013-10-29 | 用于下一代视频的内容自适应变换译码 |
CN201380053480.1A Expired - Fee Related CN104854866B (zh) | 2012-11-13 | 2013-11-13 | 下一代视频的内容自适应、特性补偿预测 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380053480.1A Expired - Fee Related CN104854866B (zh) | 2012-11-13 | 2013-11-13 | 下一代视频的内容自适应、特性补偿预测 |
Country Status (7)
Country | Link |
---|---|
US (9) | US9819965B2 (zh) |
EP (2) | EP2920962A4 (zh) |
JP (1) | JP6120390B2 (zh) |
KR (1) | KR20150056811A (zh) |
CN (2) | CN104704827B (zh) |
TW (1) | TWI572196B (zh) |
WO (4) | WO2014078068A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322760A (zh) * | 2017-01-13 | 2018-07-24 | 联发科技股份有限公司 | 一种视频编解码的方法及装置 |
CN108781299A (zh) * | 2015-12-31 | 2018-11-09 | 联发科技股份有限公司 | 用于视频和图像编解码的预测二叉树结构的方法和装置 |
CN108886618A (zh) * | 2016-03-24 | 2018-11-23 | Lg 电子株式会社 | 视频编码***中的帧间预测方法和装置 |
CN112616059A (zh) * | 2019-10-04 | 2021-04-06 | 夏普株式会社 | 运动图像变换装置以及方法、编码数据生成装置 |
CN116193189A (zh) * | 2022-10-25 | 2023-05-30 | 展讯半导体(成都)有限公司 | 丢帧率测试方法、装置、***、电子设备及存储介质 |
Families Citing this family (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100976017B1 (ko) * | 2002-08-08 | 2010-08-17 | 파나소닉 주식회사 | 동화상의 부호화 방법 및 복호화 방법 |
WO2013067435A1 (en) * | 2011-11-04 | 2013-05-10 | Huawei Technologies Co., Ltd. | Differential pulse code modulation intra prediction for high efficiency video coding |
JP6341426B2 (ja) | 2012-09-10 | 2018-06-13 | サン パテント トラスト | 画像復号化方法および画像復号化装置 |
WO2014078068A1 (en) * | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive transform coding for next generation video |
KR102063385B1 (ko) | 2013-01-30 | 2020-01-07 | 인텔 코포레이션 | 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩 |
WO2015014773A1 (en) | 2013-07-29 | 2015-02-05 | Koninklijke Kpn N.V. | Providing tile video streams to a client |
JP6337904B2 (ja) * | 2013-10-22 | 2018-06-06 | 日本電気株式会社 | ブロック構造決定回路およびブロック構造決定方法 |
GB2525208B (en) * | 2014-04-15 | 2020-04-08 | Advanced Risc Mach Ltd | Method of and apparatus for generating an encoded frame |
WO2015197818A1 (en) | 2014-06-27 | 2015-12-30 | Koninklijke Kpn N.V. | Hevc-tiled video streaming |
CN105392008B (zh) * | 2014-08-22 | 2018-09-25 | 中兴通讯股份有限公司 | 一种预测编、解码方法和相应的编、解码器和电子设备 |
US10080028B2 (en) | 2014-11-26 | 2018-09-18 | Samsung Display Co., Ltd. | System and method of compensating for image compression errors |
WO2016090568A1 (en) | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
US10382795B2 (en) | 2014-12-10 | 2019-08-13 | Mediatek Singapore Pte. Ltd. | Method of video coding using binary tree block partitioning |
US10200711B2 (en) | 2015-03-27 | 2019-02-05 | Qualcomm Incorporated | Motion vector derivation in video coding |
CN109005407B (zh) * | 2015-05-15 | 2023-09-01 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
US20160345018A1 (en) * | 2015-05-19 | 2016-11-24 | Microsoft Technology Licensing, Llc | Video encoding and decoding |
US10567763B2 (en) | 2015-05-26 | 2020-02-18 | Lg Electronics Inc. | Method and device for processing a video signal by using an adaptive separable graph-based transform |
RU2597462C1 (ru) * | 2015-07-17 | 2016-09-10 | Виталий Витальевич Аверьянов | Способ отображения объекта на пространственной модели |
US10453207B2 (en) | 2015-07-31 | 2019-10-22 | Versitech Limited | Method and system for global motion estimation and compensation |
US10728571B2 (en) | 2015-08-04 | 2020-07-28 | Lg Electronics Inc. | Inter prediction method and device in video coding system |
CN114866770A (zh) | 2015-08-07 | 2022-08-05 | Lg 电子株式会社 | 视频编译***中的帧间预测方法和装置 |
US10715843B2 (en) * | 2015-08-20 | 2020-07-14 | Koninklijke Kpn N.V. | Forming one or more tile streams on the basis of one or more video streams |
CN105163116B (zh) | 2015-08-29 | 2018-07-31 | 华为技术有限公司 | 图像预测的方法及设备 |
CN108141600A (zh) * | 2015-09-01 | 2018-06-08 | 瑞典爱立信有限公司 | 变换块的空间改进 |
US10277905B2 (en) | 2015-09-14 | 2019-04-30 | Google Llc | Transform selection for non-baseband signal coding |
WO2017052250A1 (ko) * | 2015-09-23 | 2017-03-30 | 엘지전자(주) | 영상의 부호화/복호화 방법 및 이를 위한 장치 |
CN108353192B (zh) | 2015-09-30 | 2022-01-04 | 真实网络公司 | 视频处理***和方法中的分层去块滤波 |
EP3360330B1 (en) | 2015-10-08 | 2021-03-24 | Koninklijke KPN N.V. | Enhancing a region of interest in video frames of a video stream |
US10404996B1 (en) * | 2015-10-13 | 2019-09-03 | Marvell International Ltd. | Systems and methods for using multiple frames to adjust local and global motion in an image |
US10602141B2 (en) * | 2015-10-16 | 2020-03-24 | Lg Electronics Inc. | Filtering method and apparatus for improving prediction in image coding system |
CN106658019B (zh) * | 2015-10-31 | 2019-11-12 | 华为技术有限公司 | 参考帧编解码的方法与装置 |
US10531111B2 (en) * | 2015-11-06 | 2020-01-07 | Microsoft Technology Licensing, Llc | Flexible reference picture management for video encoding and decoding |
SG11201804135XA (en) | 2015-11-17 | 2018-06-28 | Huawei Tech Co Ltd | Method and apparatus of adaptive filtering of samples for video coding |
CN105516726B (zh) * | 2015-11-27 | 2019-04-09 | 传线网络科技(上海)有限公司 | 视频编码的运动补偿匹配方法和*** |
US9955176B2 (en) | 2015-11-30 | 2018-04-24 | Intel Corporation | Efficient and scalable intra video/image coding using wavelets and AVC, modified AVC, VPx, modified VPx, or modified HEVC coding |
US10602187B2 (en) | 2015-11-30 | 2020-03-24 | Intel Corporation | Efficient, compatible, and scalable intra video/image coding using wavelets and HEVC coding |
US20170155905A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Efficient intra video/image coding using wavelets and variable size transform coding |
US10560702B2 (en) | 2016-01-22 | 2020-02-11 | Intel Corporation | Transform unit size determination for video coding |
US10469841B2 (en) | 2016-01-29 | 2019-11-05 | Google Llc | Motion vector prediction using prior frame residual |
US10306258B2 (en) * | 2016-01-29 | 2019-05-28 | Google Llc | Last frame motion vector partitioning |
ES2737841B1 (es) * | 2016-02-25 | 2021-07-27 | Kt Corp | Método y aparato para procesar señales de vídeo |
KR102669632B1 (ko) * | 2016-03-11 | 2024-05-28 | 디지털인사이트 주식회사 | 가변 크기의 양자화 계수 그룹을 이용한 비디오 코딩 방법 및 장치 |
WO2017155334A1 (ko) | 2016-03-11 | 2017-09-14 | 디지털인사이트 주식회사 | 비디오 코딩 방법 및 장치 |
FI20165256L (fi) * | 2016-03-24 | 2017-09-25 | Nokia Technologies Oy | Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen |
KR102584349B1 (ko) | 2016-03-28 | 2023-10-04 | 로즈데일 다이나믹스 엘엘씨 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
EP3457691A1 (en) * | 2016-05-13 | 2019-03-20 | Sharp Kabushiki Kaisha | Image decoding device and image encoding device |
US10560712B2 (en) | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
WO2017205700A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Binary, ternary and quad tree partitioning for jvet coding of video data |
US10880548B2 (en) | 2016-06-01 | 2020-12-29 | Samsung Electronics Co., Ltd. | Methods and apparatuses for encoding and decoding video according to coding order |
KR102445668B1 (ko) * | 2016-06-01 | 2022-09-21 | 삼성전자주식회사 | 부호화 순서 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
US20170353737A1 (en) * | 2016-06-07 | 2017-12-07 | Mediatek Inc. | Method and Apparatus of Boundary Padding for VR Video Processing |
CN116743991A (zh) | 2016-08-03 | 2023-09-12 | 株式会社Kt | 视频解码方法、视频编码方法和视频数据的传送方法 |
US10715818B2 (en) * | 2016-08-04 | 2020-07-14 | Intel Corporation | Techniques for hardware video encoding |
US10026153B2 (en) * | 2016-09-15 | 2018-07-17 | Intel Corporation | Varying image quality rendering in a sort middle architecture |
US10880564B2 (en) * | 2016-10-01 | 2020-12-29 | Qualcomm Incorporated | Transform selection for video coding |
US10448010B2 (en) * | 2016-10-05 | 2019-10-15 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
CN116489394A (zh) * | 2016-10-14 | 2023-07-25 | 世宗大学校产学协力团 | 影像解码/编码方法、传送比特流的方法及记录介质 |
CN109937570B (zh) | 2016-10-14 | 2023-06-06 | 世宗大学校产学协力团 | 影像编码方法/装置、影像解码方法/装置以及保存有比特流的记录介质 |
KR102480350B1 (ko) * | 2016-10-14 | 2022-12-23 | 세종대학교산학협력단 | 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체 |
CN107959855B (zh) * | 2016-10-16 | 2020-02-14 | 华为技术有限公司 | 运动补偿预测方法和设备 |
KR20180043151A (ko) | 2016-10-19 | 2018-04-27 | 에스케이텔레콤 주식회사 | 영상 부호화 또는 복호화를 위한 장치 및 방법 |
KR20180045530A (ko) * | 2016-10-26 | 2018-05-04 | 디지털인사이트 주식회사 | 임의의 블록 분할을 사용하는 비디오 코딩 방법 및 장치 |
JP6565885B2 (ja) * | 2016-12-06 | 2019-08-28 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム |
GB2557622A (en) * | 2016-12-12 | 2018-06-27 | V Nova Int Ltd | Motion compensation techniques for video |
CN116567236A (zh) | 2016-12-16 | 2023-08-08 | 夏普株式会社 | 图像解码方法 |
EP3340624B1 (en) | 2016-12-20 | 2019-07-03 | Axis AB | Encoding a privacy masked image |
CN115633170A (zh) * | 2016-12-23 | 2023-01-20 | 华为技术有限公司 | 一种用于矩形视频编码块的解码方法、装置及计算机可读存储介质 |
US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
US10277897B1 (en) | 2017-01-03 | 2019-04-30 | Google Llc | Signaling in-loop restoration filters for video coding |
US10873744B2 (en) | 2017-01-03 | 2020-12-22 | Lg Electronics Inc. | Method and device for processing video signal by means of affine prediction |
US10225573B1 (en) * | 2017-01-31 | 2019-03-05 | Google Llc | Video coding using parameterized motion models |
CN110249628B (zh) | 2017-02-06 | 2021-08-20 | 华为技术有限公司 | 用于预测分区的视频编码器和解码器 |
US11259046B2 (en) * | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
US11150943B2 (en) * | 2017-04-10 | 2021-10-19 | Intel Corporation | Enabling a single context hardware system to operate as a multi-context system |
BR112019022007A2 (pt) * | 2017-04-21 | 2020-05-12 | Zenimax Media Inc. | Sistemas e métodos para vetores de movimento gerados em jogos |
AU2018254570B2 (en) | 2017-04-21 | 2021-08-05 | Zenimax Media Inc. | Systems and methods for deferred post-processes in video encoding |
CN117014632A (zh) * | 2017-04-27 | 2023-11-07 | 松下电器(美国)知识产权公司 | 解码装置、编码装置以及非暂时性记录介质 |
WO2018221554A1 (ja) * | 2017-06-01 | 2018-12-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、符号化方法、復号装置及び復号方法 |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
US11272207B2 (en) | 2017-06-12 | 2022-03-08 | Futurewei Technologies, Inc. | Selection and signaling of motion vector (MV) precisions |
CN112601084A (zh) | 2017-06-28 | 2021-04-02 | 华为技术有限公司 | 一种图像数据的编码、解码方法及装置 |
US10754242B2 (en) | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
US10547839B2 (en) * | 2017-07-17 | 2020-01-28 | Intel Corporation | Block level rate distortion optimized quantization |
KR102484387B1 (ko) | 2017-07-19 | 2023-01-03 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
US10762691B2 (en) | 2017-09-08 | 2020-09-01 | Microsoft Technology Licensing, Llc | Techniques for compensating variable display device latency in image display |
US10623744B2 (en) * | 2017-10-04 | 2020-04-14 | Apple Inc. | Scene based rate control for video compression and video streaming |
US10582212B2 (en) * | 2017-10-07 | 2020-03-03 | Google Llc | Warped reference motion vectors for video compression |
US11877001B2 (en) * | 2017-10-10 | 2024-01-16 | Qualcomm Incorporated | Affine prediction in video coding |
US20190116359A1 (en) * | 2017-10-12 | 2019-04-18 | Qualcomm Incorporated | Guided filter for video coding and processing |
US11425418B2 (en) * | 2017-11-01 | 2022-08-23 | Vid Scale, Inc. | Overlapped block motion compensation |
US10681374B2 (en) * | 2017-11-16 | 2020-06-09 | Google Llc | Diversified motion using multiple global motion models |
KR102643115B1 (ko) | 2017-11-29 | 2024-03-04 | 한국전자통신연구원 | 루프내 필터링을 이용한 영상 부호화/복호화 방법 및 장치 |
US20190313107A1 (en) * | 2018-03-15 | 2019-10-10 | University-Industry Cooperation Group Of Kyung Hee University | Image encoding/decoding method and apparatus |
CN118354098A (zh) * | 2018-04-02 | 2024-07-16 | 寰发股份有限公司 | 用于视频编解码***中的子块运动补偿的视频处理方法和装置 |
US10958928B2 (en) * | 2018-04-10 | 2021-03-23 | Qualcomm Incorporated | Decoder-side motion vector derivation for video coding |
US10491897B2 (en) | 2018-04-13 | 2019-11-26 | Google Llc | Spatially adaptive quantization-aware deblocking filter |
CN108600759B (zh) * | 2018-04-16 | 2021-11-12 | 北京工业大学 | 基于非均衡四叉树的3d-hevc快速转码方法 |
JP2021525468A (ja) * | 2018-05-29 | 2021-09-24 | インターデジタル ヴイシー ホールディングス, インコーポレイテッド | 部分的に共有されている輝度および彩度のコード化木を用いたビデオ符号化および復号化の方法および装置 |
US10880554B2 (en) * | 2018-06-06 | 2020-12-29 | Alibaba Group Holding Limited | Bit stream management in video communication |
US11051025B2 (en) * | 2018-07-13 | 2021-06-29 | Tencent America LLC | Method and apparatus for video coding |
US10674151B2 (en) * | 2018-07-30 | 2020-06-02 | Intel Corporation | Adaptive in-loop filtering for video coding |
TWI695326B (zh) * | 2018-08-07 | 2020-06-01 | 晶睿通訊股份有限公司 | 物件屬性分析方法及其相關物件屬性分析裝置 |
EP3611468A1 (en) * | 2018-08-17 | 2020-02-19 | Ordnance Survey Limited | Vector tile pyramiding |
US11218694B2 (en) * | 2018-09-24 | 2022-01-04 | Qualcomm Incorporated | Adaptive multiple transform coding |
US11763467B2 (en) | 2018-09-28 | 2023-09-19 | Intel Corporation | Multi-cam ball location method and apparatus |
CN113170184A (zh) | 2018-11-22 | 2021-07-23 | 北京字节跳动网络技术有限公司 | 默认运动候选的配置方法 |
KR20200073124A (ko) * | 2018-12-13 | 2020-06-23 | 에스케이텔레콤 주식회사 | 필터링 방법 및 영상 복호화 장치 |
WO2020122573A1 (ko) * | 2018-12-13 | 2020-06-18 | 에스케이텔레콤 주식회사 | 필터링 방법 및 영상 복호화 장치 |
GB2580084B (en) | 2018-12-20 | 2022-12-28 | Canon Kk | Video coding and decoding |
US20220078457A1 (en) * | 2019-01-02 | 2022-03-10 | Realnetworks, Inc. | Systems, methods, and articles for adaptive lossy decoding |
US10887262B1 (en) * | 2019-01-25 | 2021-01-05 | Twitter, Inc. | Visibility filtering |
CA3132582A1 (en) * | 2019-03-07 | 2020-09-10 | Digitalinsights Inc. | Image encoding/decoding method and apparatus |
CN113767624A (zh) * | 2019-03-08 | 2021-12-07 | 瑞典爱立信有限公司 | 提供相关/独立分区编码/解码的方法和有关装置 |
CN113574880B (zh) * | 2019-03-13 | 2023-04-07 | 北京字节跳动网络技术有限公司 | 关于子块变换模式的分割 |
CN110113603A (zh) * | 2019-04-22 | 2019-08-09 | 屠晓 | 高清视频处理终端 |
KR20220002991A (ko) * | 2019-04-25 | 2022-01-07 | 오피 솔루션즈, 엘엘씨 | 글로벌 모션을 갖는 프레임들에서의 적응적 모션 벡터 예측 후보들 |
US11523185B2 (en) | 2019-06-19 | 2022-12-06 | Koninklijke Kpn N.V. | Rendering video stream in sub-area of visible display area |
CN110234013B (zh) * | 2019-06-20 | 2022-04-26 | 电子科技大学 | 一种帧级运动矢量精度比特分配的优化方法 |
WO2021026322A1 (en) | 2019-08-06 | 2021-02-11 | Op Solutions | Block-based adaptive resolution management |
KR20220088680A (ko) | 2019-08-06 | 2022-06-28 | 오피 솔루션즈, 엘엘씨 | 프레임 타입에 기반한 적응적 해상도 관리의 묵시적 시그널링 |
WO2021026363A1 (en) * | 2019-08-06 | 2021-02-11 | Op Solutions, Llc | Implicit signaling of adaptive resolution management based on frame type |
KR20220088679A (ko) | 2019-08-06 | 2022-06-28 | 오피 솔루션즈, 엘엘씨 | 적응적 해상도 관리 예측 재스케일링 |
KR20210020387A (ko) | 2019-08-14 | 2021-02-24 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN112465698A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种图像处理方法和装置 |
US11095901B2 (en) * | 2019-09-23 | 2021-08-17 | International Business Machines Corporation | Object manipulation video conference compression |
US11356707B2 (en) * | 2019-09-23 | 2022-06-07 | Qualcomm Incorporated | Signaling filters for video processing |
CN114902671A (zh) | 2019-11-08 | 2022-08-12 | Op方案有限责任公司 | 用于自适应裁剪的方法和*** |
JP7514107B2 (ja) | 2020-04-24 | 2024-07-10 | 日本放送協会 | 画像符号化装置、画像復号装置及びこれらのプログラム |
KR20230141829A (ko) * | 2021-02-12 | 2023-10-10 | 구글 엘엘씨 | 그래픽 아티팩트 제거를 위한 파라미터화된 노이즈 합성 |
US11831909B2 (en) * | 2021-03-11 | 2023-11-28 | Qualcomm Incorporated | Learned B-frame coding using P-frame coding system |
CN113382237B (zh) * | 2021-06-08 | 2022-11-04 | 北京杰瑞创通科技有限公司 | 实时视频传输的自适应动态抗网络丢包智能信源解码方法 |
US20240022709A1 (en) * | 2022-07-13 | 2024-01-18 | Tencent America LLC | Improvements on model storage for warp extend and warp delta modes |
CN115361582B (zh) * | 2022-07-19 | 2023-04-25 | 鹏城实验室 | 一种视频实时超分辨率处理方法、装置、终端及存储介质 |
US20240048730A1 (en) * | 2022-07-26 | 2024-02-08 | Tencent America LLC | Method and apparatus for improved warp delta signaling |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060088096A1 (en) * | 2004-10-21 | 2006-04-27 | Samsung Electronics Co., Ltd. | Video coding method and apparatus |
WO2009021062A1 (en) * | 2007-08-07 | 2009-02-12 | Ntt Docomo, Inc. | Image and video compression using sparse orthonormal transforms |
US20120257677A1 (en) * | 2011-04-07 | 2012-10-11 | Google Inc. | Encoding and decoding motion via image segmentation |
US20120281928A1 (en) * | 2011-05-05 | 2012-11-08 | Cohen Robert A | Method for Coding Pictures Using Hierarchical Transform Units |
Family Cites Families (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US45305A (en) * | 1864-11-29 | Improvement in water-wheels | ||
US4736448A (en) * | 1984-03-31 | 1988-04-05 | Kabushiki Kaisha Toshiba | Spatial filter |
KR0151011B1 (ko) * | 1994-11-30 | 1998-10-01 | 김광호 | 바이폴라 트랜지스터 및 그 제조방법 |
US5731840A (en) * | 1995-03-10 | 1998-03-24 | Kabushiki Kaisha Toshiba | Video coding/decoding apparatus which transmits different accuracy prediction levels |
US5729691A (en) | 1995-09-29 | 1998-03-17 | Intel Corporation | Two-stage transform for video signals |
WO1997016030A1 (en) | 1995-10-25 | 1997-05-01 | Philips Electronics N.V. | Segmented picture coding method and system, and corresponding decoding method and system |
US6160846A (en) * | 1995-10-25 | 2000-12-12 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
US6895051B2 (en) | 1998-10-15 | 2005-05-17 | Nokia Mobile Phones Limited | Video data encoder and decoder |
US6643387B1 (en) | 1999-01-28 | 2003-11-04 | Sarnoff Corporation | Apparatus and method for context-based indexing and retrieval of image sequences |
GB9916819D0 (en) * | 1999-07-20 | 1999-09-22 | Telemedia Systems Ltd | Method of and apparatus for digital data storage |
TW589870B (en) * | 2000-12-19 | 2004-06-01 | Pts Corp | Adaptive transforms |
US20020122491A1 (en) | 2001-01-03 | 2002-09-05 | Marta Karczewicz | Video decoder architecture and method for using same |
ES2665693T3 (es) | 2001-11-06 | 2018-04-26 | Panasonic Intellectual Property Corporation Of America | Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento |
JP2007049741A (ja) * | 2001-11-30 | 2007-02-22 | Ntt Docomo Inc | 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、プログラム及びプログラムを記憶したコンピュータ読み取り可能な記録媒体 |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US8175159B2 (en) * | 2002-01-24 | 2012-05-08 | Hitachi, Ltd. | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus |
JP2004088722A (ja) | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
US7620109B2 (en) * | 2002-04-10 | 2009-11-17 | Microsoft Corporation | Sub-pixel interpolation in motion estimation and compensation |
KR100931746B1 (ko) | 2002-04-19 | 2009-12-14 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
CN100380980C (zh) | 2002-04-23 | 2008-04-09 | 诺基亚有限公司 | 用于在视频编码***中指示量化器参数的方法与设备 |
US7609767B2 (en) * | 2002-05-03 | 2009-10-27 | Microsoft Corporation | Signaling for fading compensation |
US7729563B2 (en) | 2002-08-28 | 2010-06-01 | Fujifilm Corporation | Method and device for video image processing, calculating the similarity between video frames, and acquiring a synthesized frame by synthesizing a plurality of contiguous sampled frames |
JP3997171B2 (ja) * | 2003-03-27 | 2007-10-24 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム |
HUP0301368A3 (en) | 2003-05-20 | 2005-09-28 | Amt Advanced Multimedia Techno | Method and equipment for compressing motion picture data |
US20050094729A1 (en) | 2003-08-08 | 2005-05-05 | Visionflow, Inc. | Software and hardware partitioning for multi-standard video compression and decompression |
US7577198B2 (en) * | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
JP2005223631A (ja) * | 2004-02-05 | 2005-08-18 | Sony Corp | データ処理装置およびその方法と符号化装置および復号装置 |
EP1605403A1 (en) * | 2004-06-08 | 2005-12-14 | STMicroelectronics S.r.l. | Filtering of noisy images |
EP1675402A1 (en) | 2004-12-22 | 2006-06-28 | Thomson Licensing | Optimisation of a quantisation matrix for image and video coding |
US7675573B2 (en) * | 2005-02-18 | 2010-03-09 | Genesis Microchip Inc. | Global motion adaptive system with motion values correction with respect to luminance level |
US8948246B2 (en) * | 2005-04-11 | 2015-02-03 | Broadcom Corporation | Method and system for spatial prediction in a video encoder |
US7397933B2 (en) * | 2005-05-27 | 2008-07-08 | Microsoft Corporation | Collusion resistant desynchronization for digital video fingerprinting |
US8208564B2 (en) * | 2005-06-24 | 2012-06-26 | Ntt Docomo, Inc. | Method and apparatus for video encoding and decoding using adaptive interpolation |
CN101263513A (zh) * | 2005-07-15 | 2008-09-10 | 德克萨斯仪器股份有限公司 | 过滤和扭曲的运动补偿 |
WO2007011851A2 (en) * | 2005-07-15 | 2007-01-25 | Texas Instruments Incorporated | Filtered and warped motion compensation |
US9258519B2 (en) * | 2005-09-27 | 2016-02-09 | Qualcomm Incorporated | Encoder assisted frame rate up conversion using various motion models |
EP1965589A1 (en) | 2005-11-30 | 2008-09-03 | Kabushiki Kaisha Toshiba | Image encoding/image decoding method and image encoding/image decoding apparatus |
JP4820191B2 (ja) * | 2006-03-15 | 2011-11-24 | 富士通株式会社 | 動画像符号化装置及びプログラム |
CN101455084A (zh) * | 2006-03-30 | 2009-06-10 | Lg电子株式会社 | 用于解码/编码视频信号的方法和装置 |
US8340185B2 (en) * | 2006-06-27 | 2012-12-25 | Marvell World Trade Ltd. | Systems and methods for a motion compensated picture rate converter |
US8422555B2 (en) * | 2006-07-11 | 2013-04-16 | Nokia Corporation | Scalable video coding |
WO2008027192A2 (en) | 2006-08-25 | 2008-03-06 | Thomson Licensing | Methods and apparatus for reduced resolution partitioning |
US8532178B2 (en) | 2006-08-25 | 2013-09-10 | Lg Electronics Inc. | Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction |
US20100040146A1 (en) | 2006-09-22 | 2010-02-18 | Beibei Wang | Method and apparatus for multiple pass video coding and decoding |
US9319700B2 (en) * | 2006-10-12 | 2016-04-19 | Qualcomm Incorporated | Refinement coefficient coding based on history of corresponding transform coefficient values |
US9014280B2 (en) * | 2006-10-13 | 2015-04-21 | Qualcomm Incorporated | Video coding with adaptive filtering for motion compensated prediction |
CN105392005A (zh) | 2006-11-08 | 2016-03-09 | 汤姆逊许可证公司 | 用于环内去伪影滤波的方法和设备 |
US7460725B2 (en) | 2006-11-09 | 2008-12-02 | Calista Technologies, Inc. | System and method for effectively encoding and decoding electronic information |
EP1926321A1 (en) | 2006-11-27 | 2008-05-28 | Matsushita Electric Industrial Co., Ltd. | Hybrid texture representation |
KR101366242B1 (ko) * | 2007-03-29 | 2014-02-20 | 삼성전자주식회사 | 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치 |
US8571104B2 (en) | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
KR20080114388A (ko) * | 2007-06-27 | 2008-12-31 | 삼성전자주식회사 | 스케일러블 영상 부호화장치 및 방법과 그 영상 복호화장치및 방법 |
GB0716158D0 (en) | 2007-08-17 | 2007-09-26 | Imagination Tech Ltd | Data compression |
EP2202984B1 (en) * | 2007-10-25 | 2017-04-19 | Nippon Telegraph and Telephone Corporation | Video scalable encoding method and decoding methods using weighted prediction, devices therefor, programs therefor, and recording medium where program is recorded |
US20090154567A1 (en) | 2007-12-13 | 2009-06-18 | Shaw-Min Lei | In-loop fidelity enhancement for video compression |
JP4309453B2 (ja) * | 2007-12-26 | 2009-08-05 | 株式会社東芝 | 補間フレーム生成装置、補間フレーム生成方法及び放送受信装置 |
US20090167775A1 (en) | 2007-12-30 | 2009-07-02 | Ning Lu | Motion estimation compatible with multiple standards |
US8126054B2 (en) | 2008-01-09 | 2012-02-28 | Motorola Mobility, Inc. | Method and apparatus for highly scalable intraframe video coding |
US8254469B2 (en) | 2008-05-07 | 2012-08-28 | Kiu Sha Management Liability Company | Error concealment for frame loss in multiple description coding |
TWI359617B (en) | 2008-07-03 | 2012-03-01 | Univ Nat Taiwan | Low-complexity and high-quality error concealment |
US8625681B2 (en) * | 2008-07-09 | 2014-01-07 | Intel Corporation | Rate-distortion cost reducing video encoding techniques |
EP2161936A1 (en) * | 2008-09-04 | 2010-03-10 | Panasonic Corporation | Locally adaptive filters for video coding controlled by local correlation data |
US8385404B2 (en) * | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
CN105721877A (zh) * | 2008-09-23 | 2016-06-29 | 杜比实验室特许公司 | 对交织的图像数据进行解码的方法和包括编解码器的装置 |
US20100086048A1 (en) * | 2008-10-03 | 2010-04-08 | Faisal Ishtiaq | System and Method for Video Image Processing |
KR101441903B1 (ko) | 2008-10-16 | 2014-09-24 | 에스케이텔레콤 주식회사 | 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
JP4427600B1 (ja) | 2008-11-28 | 2010-03-10 | 株式会社東芝 | 映像解析装置およびプログラム |
WO2010075346A1 (en) * | 2008-12-25 | 2010-07-01 | Dolby Laboratories Licensing Corporation | Reconstruction of de-interleaved views, using adaptive interpolation based on disparity between the views for up-sampling |
TWI498003B (zh) | 2009-02-02 | 2015-08-21 | Thomson Licensing | 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構 |
TWI440363B (zh) * | 2009-02-19 | 2014-06-01 | Sony Corp | Image processing apparatus and method |
KR20100095992A (ko) | 2009-02-23 | 2010-09-01 | 한국과학기술원 | 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 |
WO2010128420A2 (en) * | 2009-05-04 | 2010-11-11 | Novelsat Ltd | Front-end for satellite communication |
JP5263967B2 (ja) * | 2009-06-10 | 2013-08-14 | Necカシオモバイルコミュニケーションズ株式会社 | 動画ストリーム処理装置及び動画ストリーム処理プログラム |
US8409038B2 (en) * | 2009-07-17 | 2013-04-02 | Macdougall & Sons Bat Company, Llc | Baseball bat |
WO2011016248A1 (ja) | 2009-08-06 | 2011-02-10 | パナソニック株式会社 | 符号化方法、復号方法、符号化装置及び復号装置 |
CN102474568B (zh) * | 2009-08-12 | 2015-07-29 | 英特尔公司 | 基于共同处理元件执行视频稳定化和检测视频镜头边界的技术 |
WO2011039931A1 (ja) | 2009-09-30 | 2011-04-07 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
CN102939749B (zh) | 2009-10-29 | 2016-12-28 | 韦斯特尔电子行业和贸易有限公司 | 用于处理视频序列的方法和设备 |
US9237355B2 (en) * | 2010-02-19 | 2016-01-12 | Qualcomm Incorporated | Adaptive motion resolution for video coding |
US8559511B2 (en) * | 2010-03-30 | 2013-10-15 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus for video coding by ABT-based just noticeable difference model |
KR20110112168A (ko) | 2010-04-05 | 2011-10-12 | 삼성전자주식회사 | 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치 |
KR101847072B1 (ko) * | 2010-04-05 | 2018-04-09 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
WO2011126284A2 (en) * | 2010-04-05 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using adaptive prediction filtering, method and apparatus for decoding video by using adaptive prediction filtering |
JP2011223319A (ja) * | 2010-04-09 | 2011-11-04 | Mitsubishi Electric Corp | 動画像符号化装置および動画像復号装置 |
KR101752418B1 (ko) * | 2010-04-09 | 2017-06-29 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
US8665959B2 (en) * | 2010-04-12 | 2014-03-04 | Qualcomm Incorporated | Block and partition signaling techniques for video coding |
EP2559238B1 (en) | 2010-04-13 | 2015-06-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Adaptive image filtering method and apparatus |
HUE057597T2 (hu) | 2010-04-13 | 2022-05-28 | Ge Video Compression Llc | Videó kódolás képek többes fa struktúrájú alosztásainak használatával |
JP2011237998A (ja) * | 2010-05-10 | 2011-11-24 | Sony Corp | 画像処理装置、および画像処理方法、並びにプログラム |
US9137569B2 (en) | 2010-05-26 | 2015-09-15 | Qualcomm Incorporated | Camera parameter-assisted video frame rate up conversion |
KR20110135787A (ko) * | 2010-06-11 | 2011-12-19 | 삼성전자주식회사 | 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법 |
WO2011158225A1 (en) | 2010-06-17 | 2011-12-22 | Mirtemis Ltd. | System and method for enhancing images |
US20120008686A1 (en) * | 2010-07-06 | 2012-01-12 | Apple Inc. | Motion compensation using vector quantized interpolation filters |
JP5524762B2 (ja) * | 2010-08-12 | 2014-06-18 | 日本電信電話株式会社 | 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム |
US9819966B2 (en) * | 2010-09-01 | 2017-11-14 | Qualcomm Incorporated | Filter description signaling for multi-filter adaptive filtering |
US8965139B2 (en) * | 2010-09-29 | 2015-02-24 | Panasonic Intellectual Property Corporation Of America | Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure |
JP5485851B2 (ja) * | 2010-09-30 | 2014-05-07 | 日本電信電話株式会社 | 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム |
US9628821B2 (en) | 2010-10-01 | 2017-04-18 | Apple Inc. | Motion compensation using decoder-defined vector quantized interpolation filters |
US9462280B2 (en) | 2010-12-21 | 2016-10-04 | Intel Corporation | Content adaptive quality restoration filtering for high efficiency video coding |
US8761245B2 (en) | 2010-12-21 | 2014-06-24 | Intel Corporation | Content adaptive motion compensation filtering for high efficiency video coding |
BR112013017490A2 (pt) | 2011-01-07 | 2017-10-24 | Samsung Electronics Co Ltd | método de previsão de vídeo, aparelho de previsão de vídeo, e mídia de gravação legível por computador |
US20120189064A1 (en) * | 2011-01-14 | 2012-07-26 | Ebrisk Video Inc. | Adaptive loop filtering using multiple filter shapes |
US9602819B2 (en) | 2011-01-31 | 2017-03-21 | Apple Inc. | Display quality in a variable resolution video coder/decoder system |
US8964852B2 (en) * | 2011-02-23 | 2015-02-24 | Qualcomm Incorporated | Multi-metric filtering |
US9565449B2 (en) * | 2011-03-10 | 2017-02-07 | Qualcomm Incorporated | Coding multiview video plus depth content |
US8861593B2 (en) * | 2011-03-15 | 2014-10-14 | Sony Corporation | Context adaptation within video coding modules |
US9247249B2 (en) * | 2011-04-20 | 2016-01-26 | Qualcomm Incorporated | Motion vector prediction in video coding |
US9008180B2 (en) | 2011-04-21 | 2015-04-14 | Intellectual Discovery Co., Ltd. | Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering |
JP5552093B2 (ja) * | 2011-06-13 | 2014-07-16 | 日本電信電話株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
JP5649523B2 (ja) * | 2011-06-27 | 2015-01-07 | 日本電信電話株式会社 | 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム |
NO335667B1 (no) | 2011-06-29 | 2015-01-19 | Cisco Systems Int Sarl | Metode for videokomprimering |
US10536701B2 (en) * | 2011-07-01 | 2020-01-14 | Qualcomm Incorporated | Video coding using adaptive motion vector resolution |
US8964833B2 (en) * | 2011-07-19 | 2015-02-24 | Qualcomm Incorporated | Deblocking of non-square blocks for video coding |
US20130039417A1 (en) * | 2011-08-08 | 2013-02-14 | General Instrument Corporation | Residual tree structure of transform unit partitioning |
US9641866B2 (en) * | 2011-08-18 | 2017-05-02 | Qualcomm Incorporated | Applying partition-based filters |
US9344743B2 (en) * | 2011-08-24 | 2016-05-17 | Texas Instruments Incorporated | Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF) |
US9787982B2 (en) * | 2011-09-12 | 2017-10-10 | Qualcomm Incorporated | Non-square transform units and prediction units in video coding |
KR101362696B1 (ko) * | 2011-10-19 | 2014-02-17 | 전북대학교산학협력단 | 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체 |
US9462298B2 (en) * | 2011-10-21 | 2016-10-04 | Qualcomm Incorporated | Loop filtering around slice boundaries or tile boundaries in video coding |
KR20130045425A (ko) | 2011-10-25 | 2013-05-06 | (주)케이테크 | 소셜 온톨로지 기반 지식 전문가 추천방법 |
US20130107973A1 (en) * | 2011-10-28 | 2013-05-02 | Qualcomm Incorporated | Loop filtering control over tile boundaries |
TW201842453A (zh) * | 2011-11-07 | 2018-12-01 | 美商Vid衡器股份有限公司 | 使佣偶奇整數轉換視訊及資料處理 |
WO2014078068A1 (en) | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive transform coding for next generation video |
WO2014109826A1 (en) | 2012-11-13 | 2014-07-17 | Intel Corporation | Video codec architecture for next generation video |
US9948939B2 (en) * | 2012-12-07 | 2018-04-17 | Qualcomm Incorporated | Advanced residual prediction in scalable and multi-view video coding |
KR102063385B1 (ko) | 2013-01-30 | 2020-01-07 | 인텔 코포레이션 | 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩 |
US20150365703A1 (en) * | 2014-06-13 | 2015-12-17 | Atul Puri | System and method for highly content adaptive quality restoration filtering for video coding |
-
2013
- 2013-10-29 WO PCT/US2013/067182 patent/WO2014078068A1/en active Application Filing
- 2013-10-29 CN CN201380053444.5A patent/CN104704827B/zh active Active
- 2013-10-29 KR KR1020157009451A patent/KR20150056811A/ko active Search and Examination
- 2013-10-29 EP EP13855401.9A patent/EP2920962A4/en not_active Withdrawn
- 2013-10-29 US US14/129,204 patent/US9819965B2/en active Active
- 2013-11-13 US US14/435,544 patent/US9762929B2/en active Active
- 2013-11-13 WO PCT/US2013/069905 patent/WO2014078422A1/en active Application Filing
- 2013-11-13 JP JP2015542034A patent/JP6120390B2/ja active Active
- 2013-11-13 CN CN201380053480.1A patent/CN104854866B/zh not_active Expired - Fee Related
- 2013-11-13 EP EP13855974.5A patent/EP2920968A4/en not_active Ceased
-
2014
- 2014-03-12 US US15/100,203 patent/US20170013279A1/en not_active Abandoned
- 2014-03-12 WO PCT/US2014/024694 patent/WO2015099816A1/en active Application Filing
- 2014-04-14 WO PCT/US2014/034007 patent/WO2015099823A1/en active Application Filing
- 2014-07-17 US US14/333,938 patent/US9894372B2/en active Active
- 2014-07-17 US US14/334,063 patent/US9912958B2/en active Active
- 2014-07-17 US US14/334,184 patent/US9800899B2/en active Active
- 2014-07-17 US US14/334,221 patent/US9942572B2/en active Active
- 2014-07-17 US US14/334,131 patent/US9716893B2/en active Active
- 2014-11-27 TW TW103141231A patent/TWI572196B/zh active
-
2017
- 2017-10-24 US US15/792,605 patent/US10182245B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060088096A1 (en) * | 2004-10-21 | 2006-04-27 | Samsung Electronics Co., Ltd. | Video coding method and apparatus |
WO2009021062A1 (en) * | 2007-08-07 | 2009-02-12 | Ntt Docomo, Inc. | Image and video compression using sparse orthonormal transforms |
US20120257677A1 (en) * | 2011-04-07 | 2012-10-11 | Google Inc. | Encoding and decoding motion via image segmentation |
US20120281928A1 (en) * | 2011-05-05 | 2012-11-08 | Cohen Robert A | Method for Coding Pictures Using Hierarchical Transform Units |
Non-Patent Citations (1)
Title |
---|
MINASYAN S ET AL.: "An Image Compression Scheme Based on Parametric Haar-like Transform", 《IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 2005》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108781299A (zh) * | 2015-12-31 | 2018-11-09 | 联发科技股份有限公司 | 用于视频和图像编解码的预测二叉树结构的方法和装置 |
CN108886618A (zh) * | 2016-03-24 | 2018-11-23 | Lg 电子株式会社 | 视频编码***中的帧间预测方法和装置 |
US11303919B2 (en) | 2016-03-24 | 2022-04-12 | Lg Electronics Inc. | Method and apparatus for inter prediction in video coding system |
US11750834B2 (en) | 2016-03-24 | 2023-09-05 | Lg Electronics Inc | Method and apparatus for inter prediction in video coding system |
CN108322760A (zh) * | 2017-01-13 | 2018-07-24 | 联发科技股份有限公司 | 一种视频编解码的方法及装置 |
CN108322760B (zh) * | 2017-01-13 | 2020-08-21 | 联发科技股份有限公司 | 一种视频编解码的方法及装置 |
CN112616059A (zh) * | 2019-10-04 | 2021-04-06 | 夏普株式会社 | 运动图像变换装置以及方法、编码数据生成装置 |
CN116193189A (zh) * | 2022-10-25 | 2023-05-30 | 展讯半导体(成都)有限公司 | 丢帧率测试方法、装置、***、电子设备及存储介质 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104704827A (zh) | 用于下一代视频的内容自适应变换译码 | |
CN104885467A (zh) | 用于下一代视频编码的内容自适应参数变换 | |
CN104737540B (zh) | 用于下一代视频的视频编解码器架构 | |
CN108293120B (zh) | 使用小波和可变尺寸变换编码的高效帧内视频/图像编码 | |
CN104902272B (zh) | 视频解码设备 | |
CN107071456A (zh) | 用于引导合并候选块的方法和使用该方法的设备 | |
CN108924559A (zh) | 从视频数据的位流解码多个编码单位的方法 | |
CN104604228B (zh) | 图像解码方法和使用其的装置 | |
CN104349170B (zh) | 对视频信号进行解码的方法 | |
CN117395431A (zh) | 用于解码/编码视频的神经处理单元及其装置 | |
CN117351101A (zh) | 用于解码/编码视频的神经处理单元及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |