CN109891887B - 解耦视频系数的规范和实现数据路径交织的转换缓冲器 - Google Patents

解耦视频系数的规范和实现数据路径交织的转换缓冲器 Download PDF

Info

Publication number
CN109891887B
CN109891887B CN201780066418.4A CN201780066418A CN109891887B CN 109891887 B CN109891887 B CN 109891887B CN 201780066418 A CN201780066418 A CN 201780066418A CN 109891887 B CN109891887 B CN 109891887B
Authority
CN
China
Prior art keywords
block
blocks
luma
immediately
chroma channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780066418.4A
Other languages
English (en)
Other versions
CN109891887A (zh
Inventor
唐文
约莱·莫卡加塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN109891887A publication Critical patent/CN109891887A/zh
Application granted granted Critical
Publication of CN109891887B publication Critical patent/CN109891887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component

Landscapes

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

Abstract

论述了一种视频编码器转换缓冲器,用于为视频系数解耦合规范编码顺序和处理顺序以便对这种视频系数进行内编码处理,并且论述了用于该处理顺序的交织方案。交织方案包括下述步骤:接收按规范编码顺序的与视频帧的编码单元相对应的量化残差变换系数的多个块;把量化残差变换系数的多个块从规范编码顺序交织成处理顺序;按处理顺序对量化系数的多个块执行逆量化、逆变换和内预测操作。

Description

解耦视频系数的规范和实现数据路径交织的转换缓冲器
优先权声明
本申请要求于2016年11月10日递交的标题为“CONVERSION BUFFER TO DECOUPLENORMATIVE AND IMPLEMENTATION DATA PATH INTERLEAVING OF VIDEO COEFFICIENTS”的美国专利申请15/348,783的优先权,这里通过引用将该美国专利申请全部并入以用于所有目的。
技术领域
本公开涉及解耦视频系数的规范和实现数据路径交织的转换缓冲器。
背景技术
在压缩/解压缩(编解码器)系统中,压缩效率、视频质量和计算效率是重要的性能标准。此外,编码视频的比特流或其他数据表示被基于下述项来标准化是有利的:H.264/MPEG-4高级视频编码(advanced video coding,AVC)标准、高效率视频编码(highefficiency video coding,HEVC)标准、VP9编码标准、开放媒体联盟(Alliance for OpenMedia,AOM)标准、MPEG-4标准及其扩展。
因此,在维护编码视频数据的基于标准的比特流或其他数据表示的同时增大编码器和解码器的计算效率,可能是有利的。正是考虑到这些和其他考虑事项,所以需要本改进。随着压缩和发送视频数据的愿望变得更普遍,这种改进可变得关键。
发明内容
根据本公开的一方面,提供了一种用于视频编码的由计算机实现的方法,包括:接收按规范编码顺序的与视频帧的编码单元相对应的量化残差变换系数的多个块以用于编码,所述规范编码顺序包括两个或更多个紧邻的亮度块、其后是一个或多个色度通道一块、其后是一个或多个色度通道二块;把量化残差变换系数的所述多个块从所述规范编码顺序交织成处理顺序,所述处理顺序至少包括所述两个或更多个亮度块中的第一亮度块、其后紧跟所述一个或多个色度通道一块中的第一色度通道一块、其后紧跟所述两个或更多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第三亮度块;并且按所述处理顺序对量化系数的所述多个块执行逆量化、逆变换和内预测操作以生成与量化残差变换系数的所述多个块相对应的重建编码单元。
根据本公开的一方面,提供了一种用于视频编码的系统,包括:解耦合缓冲器,用于存储与视频帧的编码单元相对应的量化残差变换系数的多个块;以及耦合到所述解耦合缓冲器的处理器,所述处理器用于:将量化残差变换系数的所述多个块按规范编码顺序存储在所述解耦合缓冲器中,所述规范编码顺序包括两个或更多个紧邻的亮度块、其后是一个或多个色度通道一块、其后是一个或多个色度通道二块;按交织的处理顺序从所述解耦合缓冲器取回所述多个块,所述处理顺序至少包括所述两个或更多个亮度块中的第一亮度块、其后紧跟所述一个或多个色度通道一块中的第一色度通道一块、其后紧跟所述两个或更多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第三亮度块;并且按所述处理顺序对量化系数的所述多个块执行逆量化、逆变换和内预测操作以生成与量化残差变换系数的所述多个块相对应的重建编码单元。
根据本公开的一方面,提供了一种机器可读存储介质,其上存储有多个指令,所述多个指令响应于在计算设备上被执行而使得所述计算设备执行如上所述的方法。
根据本公开的一方面,提供了一种用于视频编码的装置,包括:用于执行如上所述的方法的装置。
附图说明
在附图中以示例方式而非限制方式图示了本文描述的素材。为了图示的简单和清晰,附图中图示的元素不一定是按比例绘制的。例如,为了清晰,一些元素的尺寸相对于其他元素可被夸大。另外,在认为适当时,附图标记在附图之间被重复以指示对应的或相似的元素。在附图中:
图1是示例预测单元和相应的变换单元的图示;
图2是示例内预测环依从性的图示;
图3是示例变换单元流水线处理的图示;
图4是示例编码器的图示;
图5是示例编码器转换缓冲器的图示;
图6是示例解码器的图示;
图7是示例解码器转换缓冲器的图示;
图8是包括颜色交织的示例处理顺序的图示;
图9是包括颜色交织的示例处理顺序的图示;
图10A-10C图示出用于提供编码顺序的预测单元的变换单元的示例扫描和排序;
图11A和图11B图示出用于提供编码顺序的预测单元的变换单元的示例扫描和排序;
图12A-12C图示出用于提供编码顺序的预测单元的变换单元的示例扫描和排序;
图13A-13C图示出用于提供编码顺序的预测单元的变换单元的示例扫描和排序;
图14是图示出用于视频编码的示例过程的流程图,视频编码包括按颜色将变换块交织成处理顺序;
图15是图示出用于视频编码的示例系统的示意图,视频编码包括按颜色将变换块交织成处理顺序;
图16是示例系统的示意图;并且
图17图示了全都根据本公开的至少一些实现方式布置的示例设备。
具体实施方式
现在参考附图描述一个或多个实施例或实现方式。虽然论述了具体配置和布置,但应当理解这么做只是为了说明性目的。相关领域的技术人员将认识到,在不脱离描述的精神和范围的情况下,可以采用其他配置和布置。相关领域的技术人员将会清楚,本文描述的技术和/或布置也可用在与本文所述不同的多种其他系统和应用中。
虽然接下来的描述阐述了可在诸如片上系统(system-on-a-chip,SoC)体系结构之类的体系结构中显现的各种实现方式,但本文描述的技术和/或布置的实现方式不限于特定的体系结构和/或计算系统,而是可由任何体系结构和/或计算系统为类似的目的而实现。例如,采用例如多个集成电路(integrated circuit,IC)芯片和/或封装的各种体系结构和/或诸如机顶盒、智能电话等等之类的各种计算设备和/或消费电子(consumerelectronic,CE)设备可实现本文描述的技术和/或布置。另外,虽然接下来的描述可阐述许多具体细节,例如逻辑实现方式、系统组件的类型和相互关系、逻辑分区/集成选择等等,但要求保护的主题可在没有这种具体细节的情况下实现。在其他情况下,可能没有详细示出一些素材,例如控制结构和完整软件指令序列,以免模糊本文公开的素材。
本文公开的素材可以用硬件、固件、软件或者其任何组合来实现。本文公开的素材也可实现为存储在机器可读介质上的指令,这些指令可被一个或多个处理器读取和执行。机器可读介质可包括用于以机器(例如计算设备)可读的形式存储或传输信息的任何介质和/或机构。例如,机器可读介质可包括只读存储器(read only memory,ROM);随机访问存储器(random access memory,RAM);磁盘存储介质;光存储介质;闪存设备;电的、光的、声的或其他形式的传播信号(例如,载波、红外信号、数字信号等等),以及其他。
说明书中提及“一个实现方式”、“一实现方式”、“一种示例实现方式”等等指示的是描述的实现方式可包括特定的特征、结构或特性,但可能不一定每个实施例都包括该特定的特征、结构或特性。另外,这种短语不一定指同一实现方式。另外,当联系一实施例来描述特定的特征、结构或特性时,认为联系其他实现方式(无论本文是否明确描述)来实现这种特征、结构或特性是在本领域技术人员的知识范围内的。
本文描述了与视频编码、尤其是将规范数据路径或顺序与处理数据路径或顺序解耦合以获得改善的吞吐量有关的方法、设备、装置、计算平台和物品。
论述的技术和系统可提供一种用于将视频编解码器系数的规范和实现数据路径交织解耦合的转换缓冲器以及要结合这种转换缓冲器使用以改善编码器和/或解码器的吞吐量的交织技术方案。例如,转换缓冲器和关联的技术可将不同颜色的系数在视频编解码器的实际比特流中如何被交织与相同系数在这种视频编解码器的实现中的交织解耦合。论述的技术可用在任何适当的编码情境中,例如用在基于H.264/MPEG-4高级视频编码(AVC)标准的编解码器、基于高效率视频编码(H.265/HEVC)标准的编解码器、基于诸如AV1标准之类的开放媒体联盟(AOM)标准的编解码器、基于诸如MPEG-4标准之类的MPEG标准的编解码器、基于VP9标准的编解码器或者经由编码器或解码器实现的任何其他适当的编解码器或者其扩展或简档(profile)的实现中。
如本文进一步论述的,在一个或多个视频编解码器的实现中可提供一个或多个缓冲器,以使得不同颜色的系数在这样的一个或多个视频编解码器的实际比特流中被交织的顺序可不同于相同系数在这样的一个或多个视频编解码器处理流水线的一些部分中的交织。处理流水线中的不同顺序在生成或处理符合这样的一个或多个视频编解码器规范的一个或多个比特流的同时提供了改善的视频吞吐量和性能。因此,论述的技术在生成或处理不要求对其的规范改变的基于标准的比特流的同时改善了吞吐量和性能。
例如,转换缓冲器可被实现为改变亮度(Y)和色度(Cb和Cr或U和V)系数被交织的顺序以降低内预测环延迟的影响并且增大重建像素处理的吞吐量。在下文中,对于在像素域执行的内预测进行论述(例如,像在HEVC及其扩展和简档、VP9及其扩展和简档、AV1及其扩展和简档中那样)。然而,接下来的技术和系统可被应用到在变换域执行内预测的编解码器(例如,MPEG-4第1部分)。此外,可在编码器和/或解码器处提供这些技术来改善吞吐量和效率。
图1是根据本公开的至少一些实现方式布置的示例预测单元101和相应的变换单元的图示。如图1中所示,预测单元(PU)101可具有四个相应的亮度变换单元(TU)111、112、113、114和两个相应的色度变换单元121、122。在图示的示例中,预测单元101是与四个方形亮度变换单元111、112、113、114(标注为Y0、Y1、Y2、Y3)和两个方形色度变换单元121、122(标注为Cb、Cr)相对应的方形块。这种示例可对应于Y-Cb-Cr颜色空间中的4:2:0颜色采样。然而,预测单元101可具有任何适当的形状,比如矩形,并且可具有任何适当的大小。此外,预测单元101可具有任何数目的任何适当大小的相应亮度变换单元和色度变换单元。本文论述的技术可被应用到任何颜色采样结构,例如4:2:2颜色采样或4:4:4颜色采样。这种结构的示例在本文中进一步论述。另外,可以使用任何适当的颜色空间,例如Y-U-V颜色空间。在下文中,Y-Cb-Cr和Y-U-V颜色空间被可交换地使用。本文使用了术语预测单元和变换单元。然而,像素样本、残差样本、变换系数之类的这种单元可被表征为块之类的。在编解码器系统中,内预测可跨变换单元执行,从而使得变换单元表示被变换处理到频率域中的样本。
图2是根据本公开的至少一些实现方式布置的示例内预测环依从性的图示。如图2中对于预测单元101所示,内预测环依从性201存在于预测单元101的变换单元之间,从而使得变换单元Y0的重建样本被用在变换单元Y1和Y2的内预测重建中,并且变换单元Y0、Y1和Y2的重建样本被用在变换单元Y3的内预测重建中。此外,预测单元101的重建被先前重建的像素202、203、204支持。这种内预测环依从性201要求,在处理从属变换单元之前,从属变换单元所依从的(一个或多个)变换单元的预测重建必须在先被处理。
参考图1,预测单元101的变换单元的量化变换系数的规范的或基于标准的排序如下:Y0-Y1-Y2-Y3-Cb-Cr。如果按这种顺序来处理,则变换单元121、122的重建(Cb和Cr样本)必须等待直到所有亮度变换单元111、112、113、114(Y0、Y1、Y2、Y3)的处理被处理了为止,这导致延迟。此外,变换单元越小,这种空闲时间的持续时间就越长。
图3是根据本公开的至少一些实现方式布置的示例变换单元流水线处理300的图示。图3提供了如本文将进一步论述的在亮度处理之间插入色度处理的图示。如图3中所示,亮度变换单元111(Y0)的第一样本311可被引入到流水线处理300的第一流水线301的阶段A。随后,变换单元111(Y0)的最末亮度样本312可被引入到第二流水线302的阶段A并且色度样本321(Cb)可被引入到第一流水线301的阶段A,因为第一样本311在第一流水线301的阶段B。此外,虽然没有示出,但第二颜色通道的色度样本322(Cr)可被引入到第二流水线302的阶段A,因为第一亮度样本311在第一流水线301的阶段C,色度样本321在第一流水线301的阶段B,并且最末亮度样本312在第二流水线302的阶段B。如图所示,随着处理继续,色度样本322在第二流水线302的阶段Y,第一亮度样本311在第一流水线301的阶段Z,色度样本321在第一流水线301的阶段Y,并且最末亮度样本312在第二流水线302的阶段Z。在下一处理阶段,第一亮度样本311已完成了处理并且来自下一亮度样本的另一样本可被引入。如图所示,在空闲时间311期间,可提供至少色度样本321、322的处理以增大吞吐量。
图4是根据本公开的至少一些实现方式布置的示例编码器400的图示。如图4中所示,编码器400可包括残差生成模块401、正向变换和量化模块402、逆变换和量化模块403、内预测模块404、编码器转换缓冲器405、熵编码器406。残差生成模块401、正向变换和量化模块402、逆变换和量化模块403和内预测模块404可被表征为内预测环之类的。
如图所示,编码器400可接收用于编码的源视频(YUV)411并且可提供编码的视频数据的编码比特流413。源视频411可采取任何适当的格式,例如YUV或YCbCr等等,并且可具有任何适当的分辨率、比特深度等等。编码比特流413可包括任何适当的数据格式。例如,编码比特流413可以是符合本文论述的任何标准的符合标准格式的比特流。残差生成模块401可求得源视频411或其一些部分与内预测信号412的差以为内编码预测单元提供预测残差。内编码预测单元残差被正向变换和量化模块402进行正向变换和正向量化以生成量化变换系数,量化变换系数可被逆变换和量化模块403进行逆量化和逆变换以生成重建的预测残差。重建的预测残差被内预测模块404与相应的预测数据相组合(例如,利用基于先前解码的像素样本的内预测)以生成内预测信号412。这种处理可对源视频411的视频帧的任何数目的预测单元或编码单元等等重复。
此外,所论述的正向变换、正向量化、逆量化和逆变换处理可在变换单元上执行,从而使得变换单元是预测单元的子单元(或者变换单元可以是整个预测单元)。如图4中所示,被内预测环处理的示例预测单元421可处于处理顺序422。处理顺序422也可被表征为内处理顺序、硬件流水线顺序、内部颜色交织,等等。如图所示,处理顺序422包括变换单元(标注为Y0、U0、V0、Y1、U1、V1)连同头部(H),它们采取交织顺序以便被内预测环更高效处理。例如,在内预测环中,颜色系数是按逐个变换颜色单元的方式被交织的(例如,按逐个TU.颜色的方式),从而使得变换颜色单元被内预测环的组件用于内预测。处理顺序422的示例表示预测单元421具有两个相等大小的变换单元:TU0和TU1。此外,每个变换单元具有三个颜色系数块:TU.Y、TU.U和TU.V。例如,预测单元421可以是具有按4:4:4颜色采样实现的两个方形变换单元的矩形预测单元。
还如图所示,编码器转换缓冲器405可被实现为将预测单元421的变换单元的顺序改变成规范编码顺序423。例如,编码器转换缓冲器405将不同颜色的系数在符合标准的比特流(编码比特流413)中如何被交织与相同系数在实现中的交织(处理顺序422)解耦合。在一实施例中,编码器转换缓冲器405把变换单元的系数从内部颜色交织(处理顺序422)转化成外部颜色交织(规范编码顺序423)。规范编码顺序423也可被表征为基于标准的顺序、输出编码顺序、外部颜色交织,等等。例如,熵编码器406可处理预测单元421以利用按规范编码顺序423呈现的预测单元生成符合标准的编码比特流413。熵编码器406可利用任何适当的一个或多个技术来生成编码比特流413。例如,熵编码器406可使用样本到箱格/比特(samples-to-bin/bit)处理,例如多级或二元熵/算术编码等等。本文论述的技术通过按规范编码顺序423提供预测单元421可支持利用基于标准或规范的技术执行这种熵编码以生成符合标准的编码比特流413。
如图所示,处理顺序422可按以下顺序提供:头部(H)–TU0.Y(Y0)–TU0.U(U0)–TU0.V(V0)–TU1.Y(Y1)–TU1.U(U1)–TU1.V(V1),并且规范编码顺序423可提供为头部(H)–TU0.Y(Y0)–TU1.Y(Y1)–TU0.U(U0)–TU1.U(U1)–TU0.V(V0)–TU1.V(V1)。示例处理顺序在下文进一步论述。将会明白,规范编码顺序423和处理顺序422的不同之处在于系数单元或块是如何被交织的,从而使得内预测环进行的处理可被更高效地执行。
如前所述,处理顺序422可通过消除与按规范编码顺序423处理有关的延迟来减少处理预测单元421所需的时间。例如,在Y0之后立即处理U0可减小延迟,因为U0不等待Y1的完成(反过来Y1可能需要等待Y0)。类似地,在U0之后立即处理V0可减小延迟,因为V0不等待Y1的完成。
图5是根据本公开的至少一些实现方式布置的示例编码器转换缓冲器405的图示。如图5中所示,编码器转换缓冲器405可按处理顺序422(TU0.Y,TU0.U,TU0.V,TU1.Y,TU1.U,TU1.V)接收预测单元421的变换单元,并且预测单元421的变换单元可按规范编码顺序423(TU0.Y,TU1.Y,TU0.U,TU1.U,TU0.V,TU1.V)被取回。例如,诸如中央处理器或视频处理器之类的处理器(未示出)可按处理顺序422(或本文论述的任何其他处理顺序)存储与预测单元421的变换单元相对应的量化残差变换系数的块,并且该处理器或另一处理器可按规范编码顺序423取回与预测单元421的变换单元相对应的量化残差变换系数的块。
如前所述,编码器转换缓冲器405可用于从TU级颜色交织转换到逐PU的PU级颜色交织。编码器转换缓冲器405可在输入序列中按颜色存储输入的TU.颜色块。此外,编码器转换缓冲器405可存储和/或跟踪预测单元中的变换单元和变换单元中的变换颜色单元。例如,编码器转换缓冲器405可检测到预测单元的所有变换单元被接收到了并且输出所有变换亮度单元(例如,所有变换单元亮度块),然后是所有变换U单元(例如,所有变换单元U或Cb块),然后是所有变换V单元(例如,所有变换单元V或Cr块)。
图6是根据本公开的至少一些实现方式布置的示例解码器600的图示。如图6中所示,解码器600可包括熵解码器606、解码器转换缓冲器605、逆变换和量化模块603、内预测模块604和重建模块601。如图所示,解码器600可接收用于解码的编码比特流613并且可提供重建的视频(YUV)611供存储或呈现等等。编码比特流613可包括任何适当的数据格式。例如,编码比特流613可以是符合本文论述的任何标准的符合标准格式的比特流。
如图所示,熵解码器606可接收编码比特流613并且可处理编码比特流613以生成具有处于规范编码顺序623的变换单元数据的预测单元621。例如,熵解码器606可对编码比特流613解码以生成预测单元621。熵解码器606可对编码比特流613解码以利用任何适当的一个或多个技术生成预测单元621。本文对于解码器转换缓冲器605论述的技术可不影响熵解码器606的处理。例如,熵解码器可提供箱格/比特到样本处理等等。在一实施例中,预测单元621可包括变换单元的经变换和量化的残差系数,从而使得变换单元处于规范编码顺序623。与图4和图5中给出的示例类似,处理顺序622的示例表示预测单元621具有两个相等大小的变换单元:TU0和TU1。此外,每个变换单元具有三个颜色系数块:TU.Y、TU.U和TU.V。例如,预测单元421可以是具有按4:4:4颜色采样实现的两个方形变换单元的矩形预测单元。
还如图所示,解码器转换缓冲器605可被实现为将预测单元621的变换单元的顺序改变成处理顺序622。例如,如对于编码器转换缓冲器405所述,解码器转换缓冲器605将不同颜色的系数在符合标准的比特流(编码比特流613)中如何被交织与相同系数在实现中的交织(处理顺序622)解耦合。解码器转换缓冲器605可以把变换单元的系数从内部颜色交织(处理顺序622)转化成外部颜色交织(规范编码顺序623)。规范编码顺序623也可被表征为基于标准的顺序、输出编码顺序、外部颜色交织,等等。如图所示,规范编码顺序623可提供为头部(H)–TU0.Y(Y0)–TU1.Y(Y1)–TU0.U(U0)–TU1.U(U1)–TU0.V(V0)–TU1.V(V1),并且处理顺序622可提供为头部(H)–TU0.Y(Y0)–TU0.U(U0)–TU0.V(V0)–TU1.Y(Y1)–TU1.U(U1)–TU1.V(V1)。示例处理顺序在下文进一步论述。将会明白,规范编码顺序623和处理顺序622的不同之处在于系数单元或块是如何被交织的,从而使得解码器600进行的处理可被更高效地执行。
在按处理顺序622处理预测单元时,预测单元621的变换单元的量化变换系数可被逆变换和量化模块603逆量化和逆变换以生成变换单元的重建预测残差。重建预测残差被内预测模块604与相应的预测数据相组合(例如,利用基于先前解码的像素样本的内预测)以生成内预测信号612。这种内预测的预测单元可被重建模块601处理以生成重建视频611的输出帧或图像,其可被存储或呈现等等。
图7是根据本公开的至少一些实现方式布置的示例解码器转换缓冲器605的图示。如图7中所示,解码器转换缓冲器可按规范编码顺序623(TU0.Y,TU1.Y,TU0.U,TU1.U,TU0.V,TU1.V)接收预测单元621的变换单元,并且预测单元621的变换单元可按处理顺序622(TU0.Y,TU0.U,TU0.V,TU1.Y,TU1.U,TU1.V)被取回。例如,诸如中央处理器或视频处理器之类的处理器(未示出)可按规范编码顺序623(或本文论述的任何其他处理顺序)存储与预测单元621的变换单元相对应的量化残差变换系数的块,并且该处理器或另一处理器可按处理顺序622取回与预测单元621的变换单元相对应的量化残差变换系数的块。如前所述,解码器转换缓冲器605可用于将逐PU的PU级颜色交织转换到TU级颜色交织。解码器转换缓冲器605可提供对于编码器转换缓冲器405论述的转换的反向以从PU级颜色交织转换到内部颜色交织。在一实施例中,解码器转换缓冲器605按颜色存储传入的TU.颜色块,并且当TU的所有TU.颜色块被接收到时,解码器转换缓冲器605可按Y后跟U和V的顺序或者如本文所述的任何其他处理顺序提供这些块。
如前所述,编码器400可实现编码器转换缓冲器405并且解码器600可实现相应的解码器转换缓冲器605以为预测单元的变换单元在规范编码顺序和处理顺序之间转化。本文论述的处理顺序可基于变换单元交织Y和Cb/Cr,从而使得变换单元表示被变换处理的样本块(例如,方形块)。由于内预测重建是跨变换单元边界执行的,所以这种交织可允许Y、Cb和Cr样本的内预测重建并行进行,从而减小内预测环延迟。在下文中论述这种颜色交织方案,以供与论述的编码器和解码器转换缓冲器结合使用。这种颜色交织技术可减小内预测吞吐量并且改善处理效率。
图8是根据本公开的至少一些实现方式布置的包括颜色交织的示例处理顺序的图示。图8图示了示例处理顺序801、802、803,其每一者用于具有四个亮度变换单元(Y0,Y1,Y2,Y3)、两个色度通道一变换单元(U0,U1)和两个色度通道二变换单元(V0,V1)的预测单元800。按照本文使用的,术语色度通道一和色度通道二可以指第一和第二色度通道,例如U和V通道、Cb和Cr通道,等等。图示的示例可提供用于4:2:2颜色采样的变换单元。图示的变换单元可具有任何适当的大小,例如4x4像素样本或变换系数的大小。此外,如本文所述,图示的变换单元可具有按以下顺序的规范编码顺序或基于标准的编码顺序之类的:Y0,Y1,Y2,Y3,U0,U1,V0,V1。
在一实施例中,预测单元800的处理顺序801可被提供以遵循规范编码顺序的处理顺序,从而使得预测单元800的变换单元打包所有亮度变换单元(例如,Y0,Y1,Y2,Y3),然后是所有色度通道一变换单元(例如,U0,U1),然后是所有色度通道二变换单元(例如,V0,V1)。
如图所示,在一实施例中,预测单元800的处理顺序802可通过如下方式来提供:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元。例如,处理顺序802可按如下方式对变换单元排序:第一亮度变换单元,其后紧跟第一色度通道一变换单元,其后进而又紧跟第一色度通道二变换单元(例如,Y0,U0,V0)。按照本文使用的,术语其后紧跟或者类似的术语意图指示单元之间在顺序上没有居间的单元。也可提供如下的后续群组:后续亮度变换单元、其后紧跟后续色度通道一变换单元、其后紧跟后续色度通道二变换单元,直到在此示例中色度变换单元被耗尽为止。然后,剩余的亮度变换单元可被打包到处理顺序802中。例如,处理顺序802如图所示提供Y0,U0,V0的子群组,后跟Y1,U1,V1的连续子群组(这耗尽所有的色度变换单元),然后是剩余的亮度变换单元:Y2,Y3。
在一实施例中,预测单元800的处理顺序803可通过如下方式来提供:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元、亮度变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元或者任何可用的色度变换单元。例如,处理顺序803可按如下方式对变换单元排序:第一亮度变换单元,其后紧跟第一色度通道一变换单元,其后进而又紧跟第二亮度变换单元,其后进而又紧跟第一色度通道二变换单元(例如,Y0,U0,Y1,V0)。也可提供如下的后续群组:后续亮度变换单元、其后紧跟后续色度通道一变换单元、其后紧跟另一后续亮度变换单元、其后紧跟后续色度通道二变换单元,直到在此示例中色度变换单元被耗尽为止。然后,剩余的亮度变换单元可被打包到处理顺序803中。例如,处理顺序803如图所示提供Y0,U0,Y1,V0的子群组,后跟Y2,U1,Y3,V1的连续子群组,这耗尽所有的变换单元。
在图8的示例中,处理顺序801、802、803相对于多种视频编解码器中使用的亮度变换单元的规范编码顺序,不修改这种变换单元的处理顺序。此外,图8图示了处理顺序802、803相对于处理顺序801就吞吐量而言的重要性,因为处理顺序801中由等待亮度变换单元Y0,Y1,Y2,Y3完成处理所引起的处理延迟被用于处理色度通道一和二变换单元,从而节省了整体处理时间。
图9是根据本公开的至少一些实现方式布置的包括颜色交织的示例处理顺序的图示。图9图示了示例处理顺序901、902、903,其每一者用于具有四个亮度变换单元(Y0,Y1,Y2,Y3)、两个色度通道一变换单元(U0,U1)和两个色度通道二变换单元(V0,V1)的预测单元900。图示的示例可提供用于4:2:0颜色采样的变换单元。图示的变换单元可具有任何适当的大小,例如4x4像素样本或变换系数的大小。此外,如本文所述,图示的变换单元可具有按以下顺序的规范编码顺序或基于标准的编码顺序之类的:Y0,Y1,Y2,Y3,U0,V0。
在一实施例中,预测单元900的处理顺序901可被提供以遵循规范编码顺序的处理顺序,从而使得预测单元900的变换单元打包所有亮度变换单元(例如,Y0,Y1,Y2,Y3),然后是所有色度通道一变换单元(例如,U0),然后是所有色度通道二变换单元(例如,V0)。
在另一实施例中,预测单元900的处理顺序902可通过如下方式来提供:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元。这种顺序遵循与针对处理顺序802论述的类似的打包技术。例如,处理顺序902可按如下方式对变换单元排序:第一亮度变换单元,其后紧跟第一色度通道一变换单元,其后进而又紧跟第一色度通道二变换单元(例如,Y0,U0,V0)。也可提供如下的后续群组:后续亮度变换单元,其后紧跟后续色度通道一变换单元,其后紧跟后续色度通道二变换单元。然而,在此示例中,色度变换单元在第一分组之后被耗尽。随后,剩余的亮度变换单元可被打包到处理顺序902中。例如,处理顺序902如图所示提供Y0,U0,V0的子群组(这耗尽所有色度变换单元),其后跟着剩余的亮度变换单元:Y1,Y2,Y3。
在一实施例中,预测单元900的处理顺序903可通过如下方式来提供:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元、亮度变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元或者任何可用的色度变换单元。这种顺序遵循与针对处理顺序803论述的类似的打包技术。例如,处理顺序903可按如下方式对变换单元排序:第一亮度变换单元,其后紧跟第一色度通道一变换单元,其后进而又紧跟第二亮度变换单元,其后进而又紧跟第一色度通道二变换单元(例如,Y0,U0,Y1,V0)。也可提供如下的后续群组:后续亮度变换单元,其后紧跟后续色度通道一变换单元,其后紧跟另一后续亮度变换单元,其后紧跟后续色度通道二变换单元。然而,在此示例中,色度变换单元在Y0,U0,Y1,V1的第一子群组之后被耗尽。随后,剩余的亮度变换单元可被打包到处理顺序903中。例如,处理顺序903如图所示提供Y0,U0,Y1,V0的子群组(这耗尽所有色度变换单元),然后是剩余的亮度变换单元:Y2,Y3。
与图8的示例一样,图9的示例相对于多种视频编解码器中使用的规范编码顺序并不修改亮度变换单元的处理顺序。此外,图9再次图示了处理顺序902、903相对于处理顺序901就吞吐量而言的重要性,因为处理顺序901中由等待亮度变换单元Y0,Y1,Y2,Y3完成处理所引起的处理延迟被用于处理色度通道一和二变换单元,从而节省了整体处理时间。
如上所述,图8的示例可用于4:2:2颜色采样,并且图9的示例可用于4:2:0颜色采样。在4:4:4颜色采样的情境中,可使用所论述的用于变换单元打包的技术。例如,对于处理顺序802、902论述的技术可用于通过有多少组可用就打包多少组亮度变换单元、色度通道一变换单元和色度通道二变换单元来将Y0,Y1,Y2,Y3,U0,U1,U2,U3,V0,V1,V2,V3的规范编码顺序交织到Y0,U0,V0,Y1,U1,V1,Y2,U2,V2,Y3,U3,V3的处理编码顺序。此外,对于处理顺序803、903论述的技术可用于通过打包尽可能多组亮度变换单元、色度通道一变换单元和色度通道二变换单元直到任何这种变换单元被耗尽为止并随后打包任何可用的亮度变换单元或任何可用的色度变换单元来将Y0,Y1,Y2,Y3,U0,U1,U2,U3,V0,V1,V2,V3的规范编码顺序交织到Y0,U0,Y1,V0,Y2,U1,Y3,U1,U2,V2,U3,V3的处理编码顺序。
另外,如前所述,图8和图9的示例相对于亮度变换单元的规范编码顺序不修改这种亮度变换单元的处理顺序。在其他示例中,亮度变换单元的处理顺序可被修改。
图10A-10C图示了根据本公开的至少一些实现方式布置的用于提供编码顺序的预测单元的变换单元的示例扫描和排序。例如,图10A-10C提供的处理顺序可与不使用右上样本的内预测模式兼容。如图10A中所示,示例预测单元1000可包括16个变换单元(Y0-Y15),四个色度通道一变换单元(U0-U4)和四个色度通道二变换单元(V0-V4)。图示的示例可提供用于4:2:0颜色采样的变换单元。图示的变换单元可具有任何适当的大小,例如4x4像素样本或变换系数的大小。此外,如本文所述,图示的变换单元可具有按以下顺序的规范编码顺序或基于标准的编码顺序之类的:Y0–Y15,U0–U4,V0–V4。
另外如图10A中所示,预测单元1000的亮度变换单元可按波阵面(wave-front)顺序被扫描以提供传播顺序1001。例如,预测单元1000的亮度变换单元可按以下顺序被扫描。第一波可从左上变换单元(Y0)向右然后向下扫描到右下变换单元(Y15),从而使得第一扫描按顺序获得以下亮度变换单元:Y0,Y1,Y2,Y3,Y7,Y11,Y15,如传播顺序1001的波1(W1)中所示。第二波可扫描剩余变换单元,再次从(可用的)左上变换单元(Y4)向右然后向下到右下变换单元(Y14),从而使得第二扫描按顺序获得以下亮度变换单元:Y4,Y5,Y6,Y10,Y14,如波1(W1)中所示。第三和第四波可再次扫描剩余变换单元,从(可用的)左上变换单元(Y8)向右然后向下到右下变换单元(Y13),从而使得第三扫描按顺序获得以下亮度变换单元:Y8,Y9,Y13,然后是最终的可用变换单元(Y12),从而使得第四扫描获得Y12亮度变换单元。
如图10B中所示,按传播顺序1001的预测单元1000的亮度变换单元随后可被转化到亮度处理顺序1002,从而使得亮度处理顺序1002提供如本文所述的用于处理的时间顺序,其中具有提供的时间间隙,例如时间间隙1011,来实现邻居依从性。例如,亮度处理顺序1002可通过如下方式从传播顺序1001生成:从传播顺序1001的左侧开始扫描传播顺序1001,并且从上到下垂直扫描每一列,从左向右移动到下一列(沿着一行),垂直扫描该列,依此类推。例如,第一列扫描可提供亮度变换单元Y0,第二列扫描可提供亮度变换单元Y1、Y4,第三列扫描可提供亮度变换单元Y2、Y5、Y8,依此类推,如亮度处理顺序1002中所示。在这种波阵面扫描后跟随亮度变换单元的按列扫描可基于不使用右上样本的内预测模式提供不违反亮度变换单元之间的依从性的排序。另外如图10B中所示,可按匹配规范编码顺序的色度通道一变换单元顺序1003提供色度通道一变换单元。类似地,可按匹配规范编码顺序的色度通道二变换单元顺序1004提供色度通道二变换单元。
对图10A和10B论述的生成亮度处理顺序1002的处理可通过执行多个空间上左下朝向的扫描来生成,其中每个扫描开始于包括Y0,Y1,Y2,Y3,Y7,Y11,Y15的变换单元的波阵面的后续亮度变换单元处。例如,第一左下朝向的扫描可开始于亮度变换单元Y0并且可仅获得亮度变换单元Y0。第二左下朝向的扫描可开始于亮度变换单元Y1(例如,顶行中紧挨左侧的先前开始亮度变换单元的变换单元)并且可通过向左下扫描来获得亮度变换单元Y1、Y4。类似地,第三左下朝向的扫描可开始于亮度变换单元Y2(例如,顶行中紧挨左侧的先前开始亮度变换单元Y1的变换单元)并且可通过在左下方向扫描来获得亮度变换单元Y2、Y5、Y8。类似的第四扫描可获得亮度变换单元Y3、Y6、Y9、Y12。扫描开始亮度变换单元现在可按波阵面顺序向下移动到亮度变换单元Y7,并且第五左下朝向的扫描可获得亮度变换单元Y7、Y10、Y13。类似的第六和第七扫描可分别获得亮度变换单元Y11、Y14和Y15。
现在转到图10C,基于对处理顺序802、902论述的技术来提供预测单元1000的变换单元的处理顺序1005。例如,处理顺序1005可通过如下方式形成:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元。在论述的情境中,这种排序可提供如下的处理顺序1005:Y0,U0,V0,Y1,U1,V1,Y4,U2,V2,Y2,U3,V3,Y5,Y8,Y3,Y6,Y9,Y12,Y7,Y10,Y13,Y11,Y14,Y15。图10C还图示了从处理顺序1005转化到规范编码顺序1006,规范编码顺序1006采取上文论述的顺序:Y0–Y15,U0–U3,V0–V3。将会明白,按处理顺序1005执行内预测具有较少的空闲时间和更高效的处理。如前所述,可基于如本文所述的编码缓冲器的实现在编码器和解码器的任一者或两者处使用这种处理顺序1005。例如,按处理顺序1005的变换单元或块可被输入到编码器转换缓冲器405中(在内处理之后)并且被按规范编码顺序1006从编码器转换缓冲器405取回以便熵编码成符合标准的比特流。类似地,按规范编码顺序1006的变换单元或块可被输入到解码器转换缓冲器605中(在熵解码之后)并且被按处理顺序1005从解码器转换缓冲器605取回以用于如本文所述的内处理。
在另一实施例中,可基于对处理顺序803、903论述的技术来生成编码顺序。例如,处理顺序可通过如下方式来提供:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元、亮度变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元或者任何可用的色度变换单元。在论述的情境中,这种排序可提供如下的编码顺序:Y0,U0,Y1,V0,Y4,U1,Y2,V1,Y5,U2,Y8,V2,Y3,U3,Y6,V3,Y9,Y12,Y7,Y10,Y13,Y11,Y14,Y15。
图11A和11B图示了根据本公开的至少一些实现方式布置的用于提供编码顺序的预测单元的变换单元的示例扫描和排序。例如,如图11A和11B提供的处理顺序可兼容不使用右上样本的内预测模式并且可提供用于4:4:4颜色采样的示例。参考图10A,示例预测单元可包括16个变换单元(Y0–Y15)。此外,对于4:4:4颜色采样,预测单元可包括如对预测单元1000的亮度变换单元所示那样布置的16个色度通道一变换单元(U0–U15)和16个色度通道二变换单元(V0–V15)。变换单元可具有任何适当的大小,例如4x4像素样本或变换系数的大小。此外,如本文所述,图示的变换单元可具有按以下顺序的规范编码顺序或基于标准的编码顺序之类的:Y0–Y15,U0–U15,V0–V15。
继续参考图10A,亮度变换单元可按波阵面顺序被扫描以提供传播顺序1001,如前所述。类似地,色度通道一变换单元和色度通道二变换单元可按波阵面顺序被扫描以提供与传播顺序1001类似的色度通道传播顺序。例如,色度通道一传播顺序可以是U0,U1,U4,U2,U5,U8,U3,U6,U9,U12,U7,U10,U13,U11,U14,U15,并且色度通道二传播顺序可以是V0,V1,V4,V2,V5,V8,V3,V6,V9,V12,V7,V10,V13,V11,V14,V15。传播顺序1001和类似的色度通道传播顺序在图11A中被示为亮度处理顺序1102、色度通道一变换单元顺序1103和色度通道二变换单元顺序1104。如参考图10A-10C所述,这种变换单元排序可基于不使用右上样本的内预测模式提供不违反变换单元之间的依从性的排序。
现在转到图11B,基于对处理顺序802、902论述的技术来提供论述的预测单元(即,具有4:4:4颜色采样,有16个亮度块、16个色度一块和16个色度二块)的变换单元的处理顺序1105。例如,处理顺序1105可通过如下方式形成:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止)。在图示的示例中,在亮度和色度变换单元数目相等的情况下,利用这种分组技术同时耗尽变换单元。在论述的情境中,这种排序可提供如下的处理顺序1105:Y0,U0,V0,Y1,U1,V1,Y4,U4,V4,Y2,U2,V2,Y5,U5,V5,Y8,U8,V8,Y3,U3,V3,Y6,U6,V6,Y9,U9,V9,Y12,U12,V12,Y7,U7,V7,Y10,U10,V10,Y13,U13,V13,Y11,U11,V11,Y14,U14,V14,Y15,U15,V15。注意,变换单元V9和Y12彼此紧邻,虽然为了呈现的清晰起见是分开图示的。如参考图10C所述,从处理顺序1105到规范编码顺序Y0–Y15,U0–U15,V0–V15的转化可由编码器和/或解码器利用本文论述的转换缓冲器来提供。
如前所述,参考图10A-10C及图11A和11B论述的处理顺序可兼容不使用右上样本的内预测模式。现在转为论述兼容使用右上样本的内预测模式的处理顺序。
图12A-12C图示了根据本公开的至少一些实现方式布置的用于提供编码顺序的预测单元的变换单元的示例扫描和排序。例如,图12A-12C提供的处理顺序可与使用右上样本的内预测模式兼容。如图12A中所示,示例预测单元1000可包括16个变换单元(Y0-Y15),四个色度通道一变换单元(U0-U4)和四个色度通道二变换单元(V0-V4)。图示的示例可提供用于4:2:0颜色采样的变换单元。图示的变换单元可具有任何适当的大小,例如4x4像素样本或变换系数的大小。此外,如本文所述,图示的变换单元可具有按以下顺序的规范编码顺序或基于标准的编码顺序之类的:Y0–Y15,U0–U4,V0–V4。
另外如图12A中所示,预测单元1000的亮度变换单元可按经修改的波阵面顺序被扫描以提供传播顺序1201。例如,可按被修改来包括对于右上样本的依从性(如依从性1210所示)的波阵面顺序来扫描预测单元1000的亮度变换单元。依从性1210由预测单元1000内的箭头图示,从而使得依从性1210的实线箭头指示变换单元依从性,并且虚线指示独立变换单元(例如,没有依从性的那些)。例如,预测单元1000的亮度变换单元可按以下顺序被扫描。扫描可从左上变换单元(Y0)开始并且以波阵面方式向右移动直到命中依从性为止(即,Y5依从于Y2),然后遵循依从性(在扫描中提供Y5)。扫描随后在Y3返回到波阵面顺序,遵循依从性到Y6和Y9,在Y7返回到波阵面扫描,遵循依从性到Y10,在Y11返回到波阵面扫描,遵循依从性到Y14,在Y15返回到波阵面扫描。然后执行第二经修改的波阵面扫描,开始于Y4,按顺序去到下一个可用变换单元:Y8、Y12、Y13。例如,第一经修改的波阵面扫描按顺序获得以下亮度变换单元:Y0,Y1,Y2,Y5,Y3,Y6,Y9,Y7,Y10,Y11,Y14,Y15,如传播顺序1201的扫描1(S1)中所示。第二经修改的波阵面扫描按顺序获得以下亮度变换单元:Y4,Y8,Y12,Y13,如扫描2(S2)中所示。此外,S2的亮度变换单元与S1的那些对齐,从而使得S2的亮度变换单元被尽可能早地提供,限制是它们不能违反依从性1210。例如,亮度变换单元Y4依从于Y0和Y1,但可与Y2同时被处理,因为它们之间没有依从性。类似地,亮度变换单元Y8必须在Y5之后被处理,但可与Y3同时被处理,亮度变换单元Y12必须在Y9之后被处理,但可与Y7同时被处理,并且亮度变换单元Y13必须在Y10之后被处理,但可与Y3同时被处理。
如图12B中所示,按传播顺序1201的预测单元1000的亮度变换单元随后可被转化到亮度处理顺序1202,从而使得亮度处理顺序1202提供如本文所述的用于处理的时间顺序,其中具有提供的时间间隙,来实现邻居依从性。例如,亮度处理顺序1202可通过如下方式从传播顺序1201生成:从传播顺序1201的左侧开始扫描传播顺序1201,并且从上到下垂直扫描每一列,从左向右移动到下一列(沿着一行),垂直扫描该列,依此类推。例如,第一列扫描可提供亮度变换单元Y0,第二列扫描可提供亮度变换单元Y1,第三列扫描可提供亮度变换单元Y2、Y4,依此类推,如亮度处理顺序1202中所示。在这种经修改的波阵面扫描后跟随亮度变换单元的按列扫描可基于使用右上样本的内预测模式提供不违反亮度变换单元之间的依从性的排序。另外如图12B中所示,可按匹配规范编码顺序的色度通道一变换单元顺序1203提供色度通道一变换单元。类似地,可按匹配规范编码顺序的色度通道二变换单元顺序1204提供色度通道二变换单元。
现在转到图12C,基于对处理顺序802、902论述的技术来提供预测单元1000的变换单元的处理顺序1205。例如,处理顺序1205可通过如下方式形成:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元。在论述的情境中,这种排序可提供如下的处理顺序1205:Y0,U0,V0,Y1,U1,V1,Y2,U2,V2,Y4,Y5,U3,V3,Y3,Y8,Y6,Y9,Y7,Y12,Y10,Y11,Y13,Y14,Y15。如参考图10C所述,处理顺序1205可被转化到规范编码顺序1006(Y0–Y15,U0–U3,V0–V3)或者从规范编码顺序1006转化来,从而使得内处理可在空闲时间更少的情况下执行。可基于编码缓冲器的实现在编码器和解码器的任一者或两者处使用这种处理顺序1205。
在另一实施例中,可基于对处理顺序803、903论述的技术来生成编码顺序。例如,处理顺序可通过如下方式从顺序1202、1203、1204形成:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元、亮度变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元或者任何可用的色度变换单元。在论述的情境中,这种排序可提供如下的编码顺序:Y0,U0,Y1,V0,Y2,U1,Y4,V1,Y5,U2,Y3,V2,Y8,U3,Y6,V3,Y6,Y9,Y7,Y12,Y10,Y11,Y13,Y14,Y15。
图13A-13C图示了根据本公开的至少一些实现方式布置的用于提供编码顺序的预测单元的变换单元的示例扫描和排序。例如,如图13A-13C提供的处理顺序可兼容不使用右上样本的内预测模式并且可通过最小化间隙并且最大化处理精简来提供进一步优化的处理。如图13A中所示,示例预测单元1000可包括16个变换单元(Y0-Y15),四个色度通道一变换单元(U0-U4)和四个色度通道二变换单元(V0-V4)。图示的示例可提供用于4:2:0颜色采样的变换单元。图示的变换单元可具有任何适当的大小,例如4x4像素样本或变换系数的大小。此外,如本文所述,图示的变换单元可具有按以下顺序的规范编码顺序或基于标准的编码顺序之类的:Y0–Y15,U0–U4,V0–V4。
另外如图13A中所示,预测单元1000的亮度变换单元可按经修改的波阵面顺序被扫描以提供传播顺序1301。例如,预测单元1000的亮度变换单元可按被修改以提高效率的波阵面顺序被扫描。例如,预测单元1000的亮度变换单元可按以下顺序被扫描。扫描可开始于左上变换单元(Y0)并且以波阵面方式向右移动经过右上变换单元(Y3),然后可对角线向下向左移动到变换单元Y6以提高效率,然后反复向右并向左下。随后可执行第二扫描,其开始于左上可用变换单元(Y4),并且反复向右并向左下移动,直到所有变换单元被扫描为止。例如,第一扫描按顺序获得以下亮度变换单元:Y0,Y1,Y2,Y3,Y6,Y7,Y10,Y11,Y14,如传播顺序1301的扫描1(S1)中所示。第二扫描按顺序获得以下亮度变换单元:Y4,Y5,Y8,Y9,Y12,Y13,如扫描2(S2)中所示。
如图13B中所示,按传播顺序1201的预测单元1000的亮度变换单元随后可被转化到亮度处理顺序1302,从而使得亮度处理顺序1302提供如本文所述的用于处理的时间顺序,其中具有提供的时间间隙,来实现邻居依从性。例如,亮度处理顺序1302可通过如下方式从传播顺序1301生成:从传播顺序1301的左侧开始扫描传播顺序1301,并且从上到下垂直扫描每一列,从左向右移动到下一列(沿着一行),垂直扫描该列,依此类推。例如,第一列扫描可提供亮度变换单元Y0,第二列扫描可提供亮度变换单元Y1,第三列扫描可提供亮度变换单元Y2、Y4,依此类推,如亮度处理顺序1302中所示。在这种经修改的波阵面扫描后跟随亮度变换单元的按列扫描可提供就最大化处理精简而言高效的排序。另外如图13B中所示,可按匹配规范编码顺序的色度通道一变换单元顺序1303提供色度通道一变换单元。类似地,可按匹配规范编码顺序的色度通道二变换单元顺序1304提供色度通道二变换单元。
现在转到图13C,基于对处理顺序802、902论述的技术来提供预测单元1000的变换单元的处理顺序1305。例如,处理顺序1305可通过如下方式形成:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元。在论述的情境中,这种排序可提供如下的处理顺序1205:Y0,U0,V0,Y1,U1,V1,Y2,Y4,Y3,U3,V3,Y5,Y6,Y8,Y7,Y9,Y10,Y12,Y11,Y13,Y14,Y15。如本文别处所述,处理顺序1305可被转化到规范编码顺序1006(Y0–Y15,U0–U3,V0–V3)或者从规范编码顺序1006转化来,从而使得内处理可在空闲时间更少的情况下执行。可基于编码缓冲器的实现在编码器和解码器的任一者或两者处使用这种处理顺序1205。
在另一实施例中,可基于对处理顺序803、903论述的技术来生成编码顺序。例如,处理顺序可通过如下方式从顺序1302、1303、1304形成:有多少组可用就打包多少组亮度变换单元、色度通道一变换单元、亮度变换单元和色度通道二变换单元(例如,直到任何这种变换单元被耗尽为止),然后打包任何可用的亮度变换单元或者任何可用的色度变换单元。在论述的情境中,这种排序可提供如下的编码顺序:Y0,U0,Y1,V0,Y2,U1,Y4,V1,Y3,U2,Y5,V2,Y6,U3,Y8,V3,Y5,U2,Y3,Y5,Y6,Y8,Y7,Y9,Y10,Y12,Y11,Y13,Y14,Y15。
本文论述的所述系统和交织技术可在生成符合标准的比特流或者对符合标准的比特流进行操作的同时在编码器和/或解码器处提供改善的处理。
图14是图示出根据本公开的至少一些实现方式布置的用于视频编码的示例过程1400的流程图,其中视频编码包括将变换块按颜色交织成处理顺序。过程1400可包括如图14中所示的一个或多个操作1401-1408。过程1400可形成视频编码过程的至少一部分。作为非限制性示例,过程1400可形成由诸如编码器400和/或解码器600之类的如本文所述的任何设备或系统执行的视频编码过程的至少一部分。此外,本文将参考图15的系统1500来描述过程1400。在一些实施例中,操作1401-1404可由编码器执行并且操作1405-1408可由与编码器分离的解码器执行。
图15是图示出根据本公开的至少一些实现方式布置的用于视频编码的示例系统1500的示意图,其中视频编码包括将变换块按颜色交织成处理顺序。如图15中所示,系统1500可包括中央处理器1501、视频处理器1502、存储装置1503(例如,电子存储装置、计算机存储装置、计算机存储器等等)和转换缓冲器1504。还如图所示,视频处理器1502可包括或实现编码器1511和/或解码器1512。在系统1500的示例中,存储装置1503可存储视频数据或有关内容,例如输入视频、视频数据、视频序列、图片、图片数据、像素样本、变换系数、比特流数据和/或如本文所述的任何其他数据。
如图所示,在一些示例中,编码器1511和/或解码器1512可经由视频处理器1502实现。在其他示例中,编码器1511和/或解码器1512中的一个或多个或一部分可经由中央处理器1501或者诸如图像处理器、图形处理器之类的另一处理单元实现。此外,在一些实施例中,系统1500可只包括编码器1511并且可被表征为编码器系统。在其他实施例中,系统1500可只包括解码器1512并且可被表征为解码器系统。编码器1511可包括任何适当特征,例如编码器400的那些和/或任何其他编码器组件,例如运动估计和补偿模块、环内滤波模块,等等。类似地,解码器1512可包括任何适当特征,例如解码器600的那些和/或任何其他解码器组件,例如运动估计和补偿模块、环内滤波模块,等等。
转换缓冲器1504可包括任何适当的存储器或存储装置,例如易失性或非易失性存储器资源。例如,转换缓冲器1504可结合编码器1511提供编码器转换缓冲器405和/或结合解码器1512提供解码器转换缓冲器605。与编码器1511和解码器1512一样,转换缓冲器1504可实现解码器转换缓冲器和/或编码器转换缓冲器。如图所示,转换缓冲器可与视频处理器1502分开提供(例如,在单独的芯片上)。在其他实施例中,转换缓冲器1504可与视频处理器1502在同一芯片上提供(例如,提供为片上系统封装或者提供为视频处理器的在板存储器)。
视频处理器1502可包括任何数目和类型的可提供如本文所述的操作的视频、图像或图形处理单元。这种操作可经由软件或硬件或者其组合来实现。例如,视频处理器1502可包括专用于操纵从存储装置1503获得的视频、图片、图片数据等等的电路。中央处理器1501可包括任何数目和类型的可以为系统1500提供控制和其他高级别功能和/或提供如本文所述的任何操作的处理单元或模块。存储装置1503可以是任何类型的存储器,例如易失性存储器(例如,静态随机访问存储器(Static Random Access Memory,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)等等)或者非易失性存储器(例如,闪存等等),等等。在非限制性示例中,存储装置1503可由缓存存储器实现。转换缓冲器1504可与存储装置1503分开实现(如图所示)或者实现为存储装置1503的一部分。
在一实施例中,编码器1511和/或解码器1512中的一个或多个或一部分可经由执行单元(execution unit,EU)实现。EU可例如包括可编程逻辑或电路,例如可提供多种多样的可编程逻辑功能的一个或多个逻辑核。在一实施例中,编码器1511和/或解码器1512中的一个或多个或一部分可经由诸如固定功能电路之类的专用硬件实现。固定功能电路可包括专用逻辑或电路并且可提供一组固定功能入口点,这些固定功能入口点可映射到用于固定目的或功能的专用逻辑。
返回对图14的论述,过程1400可开始于操作1401,在这里与视频帧的编码单元相对应的多个块可按处理顺序被编码以生成相应的多块量化残差变换系数。在操作1401实现的处理顺序可包括如本文所述的任何处理顺序。在一实施例中,在内处理之前可进行诸如模式选择之类的编码任务并且可如本文所述交织这些块(例如,变换块或单元)。在一实施例中,这种编码任务可按处理顺序执行。按处理顺序对块的编码可包括任何适当的一个或多个技术。例如,编码可包括残差生成、正向变换、正向量化、逆量化、逆变换和内预测操作中的一个或多个。在一实施例中,操作1401可由视频处理器1502实现的编码器1511执行。
如前所述,在操作1401实现的处理顺序可包括如本文所述的任何处理顺序。在一实施例中,处理顺序包括第一亮度块其后紧跟第一色度通道一块。例如,第一亮度块可以是编码单元的空间上在左上的亮度变换块。第一色度通道一块可以是编码的唯一色度通道一块或者是编码单元的空间上在左上的亮度变换块等等。
在一实施例中,处理顺序可包括第一亮度块其后紧跟第一色度通道一块其后紧跟一个或多个色度通道二块中的第一色度通道二块其后紧跟一个或多个亮度块中的第二亮度块,如对处理顺序802以及本文别处所述。例如,第一亮度块可对应于编码单元的空间上在左上的区域,并且第二亮度块可对应于编码单元的紧挨在该左上区域右侧的第二区域。
在一实施例中,处理顺序可包括第一亮度块其后紧跟第一色度通道一块其后紧跟一个或多个亮度块中的第二亮度块其后紧跟一个或多个色度通道二块中的第一色度通道二块其后紧跟一个或多个亮度块中的第三亮度块,如对处理顺序803以及本文别处所述。例如,第一亮度块可对应于编码单元的空间上在左上的区域,第二亮度块可对应于编码单元的紧挨在该左上区域右侧的第二区域,并且第三亮度块可对应于编码单元的紧挨在该左上区域下方的第三区域。
在一实施例中,处理顺序可包括由第一单个亮度块其后紧跟单个色度通道一块其后紧跟第二单个亮度块其后紧跟单个色度通道二块构成的多个连续群组和随后的剩余亮度块的连续群组,如对处理顺序803以及本文别处所述。在一实施例中,处理顺序包括由单个亮度块其后紧跟单个色度通道一块其后紧跟色度通道二块构成的多个连续群组和随后的剩余亮度块的连续群组,如对处理顺序802以及本文别处所述。
在一实施例中,处理顺序可包括各自基于多个空间上左下朝向的扫描排序的亮度块、色度通道一块和色度通道二块,其中多个左下朝向的扫描中的第一扫描开始于编码单元的左上块并且每个随后的左下朝向的扫描开始于每个先前左下朝向的扫描右侧的块,如对处理顺序1005以及本文别处所述。在一实施例中,处理顺序可包括基于亮度块的空间扫描排序的亮度块,从而使得该空间扫描包括在编码单元的左上亮度块处的第一块,紧挨在第一块右侧的第二块,紧挨在第一块下方的第三块,紧挨在第二块右侧的第四块以及紧挨在第三块右侧的第五块,如对处理顺序1005、1105以及本文别处所述。
在一实施例中,处理顺序可包括基于亮度块的空间扫描排序的亮度块,该空间扫描包括在编码单元的左上亮度块处的第一块,紧挨在第一块右侧的第二块,紧挨在第二块右侧的第三块,紧挨在第一块下方的第四块以及紧挨在第四块右侧的第五块,如对处理顺序1205以及本文别处所述。
处理可在操作1402继续,在这里,块可被从对操作1401论述的处理顺序交织到规范编码顺序。例如,规范编码顺序可以是任何基于标准的编码顺序之类的。在一实施例中,变换块(例如,量化残差量化系数)可按处理顺序被从视频处理器1502存储到转换缓冲器1504并且按规范编码顺序被从转换缓冲器1504取回到视频处理器1502以便进一步处理。
处理可在操作1403继续,在这里,块可按规范编码顺序被熵编码。在一实施例中,变换块(例如,量化残差量化系数)可被编码器1511按规范编码顺序进行熵编码以生成符合标准(例如,AVC、HEVC、AV1、VP9等等)的比特流。熵编码可利用任何适当的一个或多个技术执行,例如样本到箱格/比特处理之类的。
处理可在操作1404继续,在这里,在操作1403生成的比特流可被存储、发送等等。在一实施例中,比特流可被存储到存储装置1503。在一实施例中,比特流可被发送到远程存储装置、远程解码器设备或系统、多个远程解码器设备或系统等等。
如前所述,在一些实施例中,操作1401-1404可由与执行操作1405-1408的解码器设备或系统分离的编码器设备或系统执行。
处理可在同一设备或单独的设备处在操作1405继续,在这里可接收比特流以便处理。该比特流可以是与对操作1404论述的比特流相同的比特流或者其可以是利用或不利用论述的技术生成的不同比特流。在任何情况下,在操作1405接收的比特流可以是具有按规范编码顺序的块的符合标准(例如,AVC、HEVC、AV1、VP9等等)的比特流。例如,块可以是按规范编码顺序的与视频帧的编码单元相对应的量化残差变换系数的块。在一实施例中,规范编码顺序包括两个或更多个紧邻的亮度块、其后是一个或多个色度通道一块、其后是一个或多个色度通道二块。例如,可基于亮度块的光栅扫描、然后是色度通道一块的光栅扫描、然后是色度通道二块的光栅扫描来对块排序。
处理可在操作1406继续,在这里,块可被从规范编码顺序交织或转化成处理顺序。如前所述,块可包括与视频帧的编码单元相对应的量化残差变换系数的块。处理顺序可包括本文所述的任何处理顺序。在一实施例中,处理顺序至少包括两个或更多个亮度块中的第一亮度块,其后紧跟一个或多个色度通道一块中的第一色度通道一块。在一实施例中,变换块(例如,量化残差量化系数)可按规范编码顺序被从视频处理器1502存储到转换缓冲器1504并且按处理顺序被从转换缓冲器1504取回到视频处理器1502以便进一步处理。
如前所述,在操作1406实现的处理顺序可包括如本文所述的任何处理顺序。在一实施例中,处理顺序可包括第一亮度块其后紧跟第一色度通道一块其后紧跟一个或多个色度通道二块中的第一色度通道二块其后紧跟两个或更多个亮度块中的第二亮度块,如对处理顺序802以及本文别处所述。例如,第一亮度块可对应于编码单元的空间上在左上的区域,并且第二亮度块可对应于编码单元的紧挨在该左上区域右侧的第二区域。
在一实施例中,处理顺序可包括第一亮度块其后紧跟第一色度通道一块其后紧跟两个或更多个亮度块中的第二亮度块其后紧跟一个或多个色度通道二块中的第一色度通道二块其后紧跟两个或更多个亮度块中的第三亮度块,如对处理顺序803以及本文别处所述。例如,第一亮度块对应于编码单元的空间上在左上的区域,第二亮度块对应于编码单元的紧挨在该左上区域右侧的第二区域,并且第三亮度块对应于编码单元的紧挨在该左上区域下方的第三区域。
在一实施例中,交织块可包括提供由第一单个亮度块其后紧跟单个色度通道一块其后紧跟第二单个亮度块其后紧跟单个色度通道二块构成的连续群组,直到色度通道一块和色度通道二块被耗尽为止,并且随后提供剩余亮度块的连续群组,如对处理顺序802以及本文别处所述。在一实施例中,交织块可包括提供由单个亮度块其后紧跟单个色度通道一块其后紧跟色度通道二块构成的一个或多个连续群组,直到色度通道一块和色度通道二块被耗尽为止,并且随后提供剩余亮度块的连续群组,如对处理顺序803以及本文别处所述。
在一实施例中,处理顺序包括对于编码单元按空间波阵面顺序在空间上扫描并且基于亮度块之间的相邻依从性排序的亮度块,如对处理顺序1205以及本文别处所述。在一实施例中,处理顺序可包括各自基于多个空间上左下朝向的扫描排序的亮度块、色度通道一块和色度通道二块,其中多个左下朝向的扫描中的第一扫描开始于编码单元的左上块并且每个随后的左下朝向的扫描开始于每个先前左下朝向的扫描右侧的块,如对处理顺序1005以及本文别处所述。
在一实施例中,处理顺序可包括基于亮度块的空间扫描排序的亮度块,空间扫描包括在编码单元的左上亮度块处的第一块,紧挨在第一块右侧的第二块,紧挨在第一块下方的第三块,紧挨在第二块右侧的第四块以及紧挨在第三块右侧的第五块,如对处理顺序1005、1105以及本文别处所述。
在一实施例中,处理顺序包括基于亮度块的空间扫描排序的亮度块,该空间扫描包括在编码单元的左上亮度块处的第一块,紧挨在第一块右侧的第二块,紧挨在第二块右侧的第三块,紧挨在第一块下方的第四块以及紧挨在第四块右侧的第五块,如对处理顺序1205以及本文别处所述。
处理可在操作1407继续,在这里可按处理顺序对块执行内解码以生成包括重建块的重建编码单元。在一实施例中,内解码包括按处理顺序对块(例如,量化系数的块)执行逆量化、逆变换和内预测操作以生成与量化残差变换系数的多个块相对应的重建编码单元。
处理可在操作1408继续,在这里如对操作1407所述的重建编码单元可用于生成重建帧,该重建帧可被显示给用户、存储到存储器等等。帧重建可利用任何适当的一个或多个技术来执行。例如,操作1405-1407可对多个编码单元执行,并且这些编码单元以及帧间预测的编码单元等等可被组合以重建视频序列的一个或多个帧。视频序列可被存储和/或发送到显示器以便呈现给用户。
过程1400或者其一些部分可对任何数目的视频序列、视频帧、编码单元等等串行或并行地重复任意多次。如前所述,过程1400可提供视频编码,包括将变换块按颜色交织成处理顺序并且按处理顺序进行处理(在编码器和/或解码器侧)。例如,所论述的用于视频编码的技术可为内编码操作提供提高的效率和吞吐量。
本文描述的系统的各种组件可以用软件、固件和/或硬件和/或其任何组合实现。例如,本文论述的系统或设备的各种组件可至少部分由计算机片上系统(SoC)的硬件提供,例如可存在于计算系统中,例如智能电话中。本领域技术人员可认识到,本文描述的系统可包括在相应附图中没有描绘的额外组件。例如,本文论述的系统可包括为了清晰没有描绘的额外组件,例如比特流复用器或解复用器模块等等。
虽然本文论述的示例过程的实现方式可包括按图示顺序进行示出的所有操作,但本公开不限于此,并且在各种示例中,这里的示例过程的实现方式可只包括示出的操作的子集,包括按与图示不同的顺序执行的操作,或者包括额外的操作。
此外,本文论述的操作中的任何一个或多个可响应于由一个或多个计算机程序产品提供的指令来进行。这种程序产品可包括提供指令的信号承载介质,所述指令当被例如处理器执行时可提供本文描述的功能。计算机程序产品可在一个或多个机器可读介质的任何形式中提供。从而,例如,包括一个或多个图形处理单元或处理器核的处理器可响应于程序代码和/或指令或指令集被一个或多个机器可读介质输送到处理器而进行这里的示例过程的一个或多个块。一般而言,机器可读介质可以以程序代码和/或指令或指令集的形式输送软件,所述程序代码和/或指令或指令集可使得本文描述的任何设备和/或系统实现本文论述的操作的至少一些部分和/或如本文论述的设备、系统或任何模块或组件的任何部分。
按照在本文描述的任何实现方式中使用的,术语“模块”指的是被配置为提供本文描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可实现为软件封装、代码和/或指令集或指令,并且如本文描述的任何实现方式中使用的“硬件”例如可单一地或者按任何组合包括硬连线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储被可编程电路执行的指令的固件。模块可集体地或者个体地实现为形成更大系统的一部分的电路,例如集成电路(integrated circuit,IC)、片上系统(system on-chip,SoC),等等。
图16是根据本公开的至少一些实现方式布置的示例系统1600的示意图。在各种实现方式中,系统1600可以是移动系统,虽然系统1600不限于此情境。例如,系统1600可被包含到以下各项中:个人计算机(personal computer,PC)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(personaldigital assistant,PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(mobile internet device,MID)、消息传递设备、数据通信设备、相机(例如,傻瓜相机、超级变焦相机、数码单反(digital single-lensreflex,DSLR)相机),等等。
在各种实现方式中,系统1600包括耦合到显示器1620的平台1602。平台1602可从内容设备接收内容,其中内容设备例如是(一个或多个)内容服务设备1630或(一个或多个)内容递送设备1640或其他类似的内容源。包括一个或多个导航特征的导航控制器1650可用于与例如平台1602和/或显示器1620交互。这些组件的每一者在下文更详细地描述。
在各种实现方式中,平台1602可包括芯片集1605、处理器1610、存储器1612、天线1613、存储装置1614、图形子系统1615、应用1616和/或无线电装置1618的任何组合。芯片集1605可提供处理器1610、存储器1612、存储装置1614、图形子系统1615、应用1616和/或无线电装置1618之间的相互通信。例如,芯片集1605可包括能够提供与存储装置1614的相互通信的存储适配器(未图示)。
处理器1610可实现为复杂指令集计算机(Complex Instruction Set Computer,CISC)或精简指令集计算机(Reduced Instruction Set Computer,RISC)处理器、x86指令集兼容处理器、多核或者任何其他微处理器或中央处理单元(central processing unit,CPU)。在各种实现方式中,处理器1610可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器,等等。
存储器1612可实现为易失性存储器设备,例如但不限于随机访问存储器(RandomAccess Memory,RAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)或静态RAM(SRAM)。
存储装置1614可实现为非易失性存储设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪存、电池后备SDRAM(同步DRAM)和/或网络可访问存储设备。在各种实现方式中,例如当包括多个硬盘驱动器时,存储装置1614可包括技术来为有价值的数字媒体增加存储性能增强保护。
图形子系统1615可执行诸如静态或视频之类的图像的处理以便显示。图形子系统1615例如可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用于通信地耦合图形子系统1615和显示器1620。例如,该接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD符合技术中的任何一者。图形子系统1615可被集成到处理器1610或芯片集1605中。在一些实现方式中,图形子系统1615可以是通信地耦合到芯片集1605的独立设备。
本文描述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可被集成在芯片集内。或者,可使用分立的图形和/或视频处理器。作为另外一种实现方式,图形和/或视频功能可由包括多核处理器在内的通用处理器提供。在另外的实施例中,这些功能可实现在消费电子设备中。
无线电装置1618可包括能够利用各种适当的无线通信技术来发送和接收信号的一个或多个无线电装置。这种技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(wireless local area network,WLAN)、无线个人区域网(wireless personal area network,WPAN)、无线城域网(wireless metropolitan areanetwork,WMAN)、蜂窝网络和卫星网络。在跨这种网络通信时,无线电装置1618可根据任何版本的一个或多个适用的标准操作。
在各种实现方式中,显示器1620可包括任何电视型监视器或显示器。显示器1620例如可包括计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视机。显示器1620可以是数字的和/或模拟的。在各种实现方式中,显示器1620可以是全息显示器。另外,显示器1620可以是可接收视觉投影的透明表面。这种投影可传达各种形式的信息、图像和/或对象。例如,这种投影可以是移动增强现实(mobile augmented reality,MAR)应用的视觉覆盖。在一个或多个软件应用1616的控制下,平台1602可在显示器1620上显示用户界面1622。
在各种实现方式中,(一个或多个)内容服务设备1630可由任何国家的、国际的和/或独立的服务所容宿并从而例如是平台1602经由因特网可访问的。(一个或多个)内容服务设备1630可耦合到平台1602和/或显示器1620。平台1602和/或(一个或多个)内容服务设备1630可耦合到网络1660以向和从网络1660传输(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备1640可耦合到平台1602和/或显示器1620。
在各种实现方式中,(一个或多个)内容服务设备1630可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的具备因特网能力的设备或家电以及能够经由网络1660或直接地在内容提供者与平台1602和/或显示器1620之间单向或双向地传输内容的任何其他类似设备。将会明白,可经由网络1660单向地和/或双向地向和从系统1600中的组件的任何一者和内容提供者传输内容。内容的示例可包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息,等等。
(一个或多个)内容服务设备1630可接收内容,例如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供者的示例可包括任何有线或卫星电视或无线电台或因特网内容提供者。提供的示例并不意图以任何方式限制根据本公开的实现方式。
在各种实现方式中,平台1602可从具有一个或多个导航特征的导航控制器1650接收控制信号。导航特征例如可用于与用户界面1622交互。在各种实施例中,导航可以是指点设备,该指点设备可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机中的计算机硬件组件(具体而言是人机接口设备)。诸如图形用户界面(graphical userinterface,GUI)、电视机和监视器之类的许多系统允许用户利用物理手势控制计算机或电视机和向计算机或电视机提供数据。
导航特征的移动可被在显示器(例如,显示器1620)上显示的指针、光标、聚焦环或其他视觉指示物的移动复制在显示器上。例如,在软件应用1616的控制下,位于导航上的导航特征例如可被映射到在用户界面1622上显示的虚拟导航特征。在各种实施例中,可不是单独的组件,而是可被集成到平台1602和/或显示器1620中。然而,本公开并不限于本文示出或描述的元素或者限于本文示出或描述的情境中。
在各种实现方式中,例如,当被使能时,驱动器(未示出)可包括使得用户能够在初始启动之后通过触摸按钮像电视机那样即刻开启和关闭平台1602。程序逻辑可允许平台1602即使在平台被“关闭”时也可将内容流传输到媒体适配器或其他(一个或多个)内容服务设备1630或(一个或多个)内容递送设备1640。此外,芯片集1605可包括对例如5.1环绕立体声音频和/或高清晰度7.1环绕立体声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在各种实施例中,图形驱动器可包括高速外围组件互连(peripheral component interconnect,PCI)图形卡。
在各种实现方式中,系统1600中示出的组件中的任何一个或多个可被集成。例如,平台1602和(一个或多个)内容服务设备1630可被集成,或者平台1602和(一个或多个)内容递送设备1640可被集成,或者平台1602、(一个或多个)内容服务设备1630和(一个或多个)内容递送设备1640可被集成。在各种实施例中,平台1602和显示器1620可以是集成的单元。例如,显示器1620和(一个或多个)内容服务设备1630可被集成,或者显示器1620和(一个或多个)内容递送设备1640可被集成。这些示例并不意图限制本公开。
在各种实施例中,系统1600可实现为无线系统、有线系统或者两者的组合。当实现为无线系统时,系统1600可包括适合于通过无线共享介质通信的组件和接口,例如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑,等等。无线共享介质的示例可包括无线频谱的一些部分,例如RF频谱等等。当实现为有线系统时,系统1600可包括适合于通过有线通信介质通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(network interface card,NIC)、盘控制器、视频控制器、音频控制器,等等。有线通信介质的示例可包括导线、电缆、金属引线、印刷电路板(printed circuit board,PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤,等等。
平台1602可建立一个或多个逻辑或物理信道来传输信息。该信息可包括媒体信息和控制信息。媒体信息可以指表示打算给用户的内容的任何数据。内容的示例例如可包括来自语音交谈的数据、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等。来自语音交谈的数据可例如是话音信息、静默时段、背景噪声、舒适噪声、音调,等等。控制信息可以指表示打算给自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于将媒体信息路由过系统,或者指示节点以预定的方式处理媒体信息。然而,实施例并不限于图16中示出或描述的元素或者限于图16中示出或描述的情境中。
如上所述,系统1600可实现为不同的物理风格或外形参数。图17图示了根据本公开的至少一些实现方式布置的示例小外形参数设备1700。在一些示例中,系统1600可经由设备1700实现。在其他示例中,系统1500或其一些部分可经由设备1700实现。在各种实施例中,例如,设备1700可实现为具有无线能力的移动计算设备。移动计算设备例如可以指具有处理系统和移动电源或电源供应器(例如一个或多个电池)的任何设备。
移动计算设备的示例可包括:个人计算机(PC)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、智能设备(例如,智能电话、智能平板或智能移动电视)、移动互联网设备(MID)、消息传递设备、数据通信设备、相机,等等。
移动计算设备的示例还可包括被布置为被人穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂环计算机、鞋子计算机、衣服计算机和其他可穿戴计算机。在各种实施例中,例如,移动计算设备可实现为除了语音通信和/或数据通信以外还能够执行计算机应用的智能电话。虽然作为示例一些实施例可利用被实现为智能电话的移动计算设备来描述,但可明白其他实施例也可利用其他无线移动计算设备来实现。实施例不限于此情境中。
如图17中所示,设备1700可包括具有正面1701和背面1702的外壳。设备1700包括显示器1704、输入/输出(I/O)设备1706和集成天线1708。设备1700还可包括导航特征1712。I/O设备1706可包括用于将信息输入到移动计算设备中的任何适当的I/O设备。I/O设备1706的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、麦克风、扬声器、语音识别设备和软件,等等。信息也可通过麦克风(未示出)被输入到设备1700中,或者可被语音识别设备数字化。如图所示,设备1700可包括集成到设备1700的背面1702(或别处)的相机1705(例如,包括镜头、光圈和成像传感器)和闪光灯1710。在其他示例中,相机1705和闪光灯1710可被集成到设备1700的正面1701,或者正面和背面相机都可被提供。相机1705和闪光灯1710可以是相机模块的组件,用于创作被处理成流视频的图像数据,该流视频例如被输出到显示器1704和/或被从设备1700经由天线1708远程通信。
各种实施例可利用硬件元件、软件元件或者两者的组合来实现。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(application specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field programmable gate array,FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集,等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(application program interface,API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。判定一实施例是否利用硬件元素和/或软件元素实现可根据任何数目的因素而变化,这些因素例如是期望的计算速率、功率等级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。
至少一个实施例的一个或多个方面可由存储在机器可读介质上的表示处理器内的各种逻辑的代表性指令实现,该逻辑当被机器读取时使得该机器制造逻辑来执行本文描述的技术。这种被称为IP核的表示可被存储在有形机器可读介质上并且被提供到各种客户或制造设施以加载到实际制作该逻辑或处理器的制造机器中。
虽然已参考各种实现方式描述了本文记载的某些特征,但此描述并不打算被从限制意义上来解释。因此,对本公开所属领域的技术人员来说显而易见的对本文描述的实现方式的各种修改以及其他实现方式被认为落入本公开的精神和范围内。
以下实施例属于进一步实施例。
在一个或多个第一实施例中,用于视频编码的由计算机实现的方法包括:接收按规范编码顺序的与视频帧的编码单元相对应的量化残差变换系数的多个块以用于编码,所述规范编码顺序包括两个或更多个紧邻的亮度块、其后是一个或多个色度通道一块、其后是一个或多个色度通道二块;把量化残差变换系数的所述多个块从所述规范编码顺序交织成处理顺序,所述处理顺序至少包括所述两个或更多个亮度块中的第一亮度块、其后紧跟所述一个或多个色度通道一块中的第一色度通道一块;并且按所述处理顺序对量化系数的所述个多块执行逆量化、逆变换和内预测操作以生成与量化残差变换系数的所述个多块相对应的重建编码单元。
作为所述第一实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第二亮度块。
作为所述第一实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第二亮度块,并且所述第一亮度块对应于所述编码单元的空间上左上区域并且所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域。
作为所述第一实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述两个或更多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第三亮度块。
作为所述第一实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述两个或更多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第三亮度块,并且所述第一亮度块对应于所述编码单元的空间上左上区域,所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域,并且所述第三亮度块对应于所述编码单元的紧挨在所述左上区域下方的第三区域。
作为所述第一实施例的更进一步,交织所述多个块包括提供由下述项组成的连续群组:第一单个亮度块、其后紧跟单个色度通道一块、其后紧跟第二单个亮度块、其后紧跟单个色度通道二块,直到色度通道一块和色度通道二块被耗尽为止,并且随后提供剩余亮度块的连续群组。
作为所述第一实施例的更进一步,交织所述多个块包括提供由下述项组成的一个或多个连续群组:单个亮度块、其后紧跟单个色度通道一块、其后紧跟色度通道二块,直到色度通道一块和色度通道二块被耗尽为止,并且随后提供剩余亮度块的连续群组。
作为所述第一实施例的更进一步,所述处理顺序包括对于所述编码单元在空间上按空间波阵面顺序扫描并且基于亮度块之间的相邻依从性排序的亮度块。
作为所述第一实施例的更进一步,所述处理顺序包括各自基于多个空间上左下朝向的扫描来排序的亮度块、色度通道一块和色度通道二块,其中所述多个左下朝向的扫描中的第一扫描开始于所述编码单元的左上块并且每个随后的左下朝向的扫描开始于每个先前左下朝向的扫描右侧的块。
作为所述第一实施例的更进一步,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第一块下方的第三块,紧挨在所述第二块右侧的第四块以及紧挨在所述第三块右侧的第五块。
作为所述第一实施例的更进一步,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第二块右侧的第三块,紧挨在所述第一块下方的第四块以及紧挨在所述第四块右侧的第五块。
在一个或多个第二实施例中,一种用于视频编码的系统包括用于存储与视频帧的编码单元相对应的量化残差变换系数的多个块的解耦合缓冲器,以及耦合到所述解耦合缓冲器的处理器,所述处理器用于:将量化残差变换系数的所述多个块按规范编码顺序存储在所述解耦合缓冲器中,所述规范编码顺序包括两个或更多个紧邻的亮度块、其后是一个或多个色度通道一块、其后是一个或多个色度通道二块;按交织的处理顺序从所述解耦合缓冲器取回所述多个块,所述处理顺序至少包括所述两个或更多个亮度块中的第一亮度块、其后紧跟所述一个或多个色度通道一块中的第一色度通道一块;并且按所述处理顺序对量化系数的所述多个块执行逆量化、逆变换和内预测操作以生成与量化残差变换系数的所述多个块相对应的重建编码单元。
作为所述第二实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第二亮度块。
作为所述第二实施例的更进一步,所述处理顺序包括所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第二亮度块,并且所述第一亮度块对应于所述编码单元的空间上左上区域并且所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域。
作为所述第二实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述两个或更多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第三亮度块。
作为所述第二实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述两个或更多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第三亮度块,并且所述第一亮度块对应于所述编码单元的空间上左上区域,所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域,并且所述第三亮度块对应于所述编码单元的紧挨在所述左上区域下方的第三区域。
作为所述第二实施例的更进一步,所述处理器按交织的处理顺序从所述解耦合缓冲器取回所述多个块包括:所述处理器取回由下述项组成的连续群组:第一单个亮度块、其后紧跟单个色度通道一块、其后紧跟第二单个亮度块、其后紧跟单个色度通道二块,直到色度通道一块和色度通道二块被耗尽为止,并且随后取回剩余亮度块的连续群组。
作为所述第二实施例的更进一步,所述处理器按交织的处理顺序从所述解耦合缓冲器取回所述多个块包括:所述处理器取回由下述项组成的一个或多个连续群组:单个亮度块、其后紧跟单个色度通道一块、其后紧跟色度通道二块,直到色度通道一块和色度通道二块被耗尽为止,并且随后取回剩余亮度块的连续群组。
作为所述第二实施例的更进一步,所述处理顺序包括对于所述编码单元在空间上按空间波阵面顺序扫描并且基于亮度块之间的相邻依从性排序的亮度块。
作为所述第二实施例的更进一步,所述处理顺序包括各自基于多个空间上左下朝向的扫描来排序的亮度块、色度通道一块和色度通道二块,其中所述多个左下朝向的扫描中的第一扫描开始于所述编码单元的左上块并且每个随后的左下朝向的扫描开始于每个先前左下朝向的扫描右侧的块。
作为所述第二实施例的更进一步,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第一块下方的第三块,紧挨在所述第二块右侧的第四块以及紧挨在所述第三块右侧的第五块。
作为所述第二实施例的更进一步,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第二块右侧的第三块,紧挨在所述第一块下方的第四块以及紧挨在所述第四块右侧的第五块。
在一个或多个第三实施例中,一种用于视频编码的由计算机实现的方法包括:按处理顺序对与视频帧的编码单元相对应的多个块编码以生成相应的多块量化残差变换系数,其中所述编码至少包括逆量化、逆变换和内预测操作,并且其中所述处理顺序至少包括第一亮度块其后紧跟第一色度通道一块;将所述多块量化残差变换系数从所述处理顺序交织成规范编码顺序,所述规范编码顺序包括所述第一亮度块、其后紧跟一个或多个紧邻的亮度块、其后是所述第一色度通道一块、其后是一个或多个色度通道二块;并且按所述规范编码顺序对所述多块量化残差变换系数进行熵编码以生成比特流。
作为所述第三实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述一个或多个亮度块中的第二亮度块,并且其中所述第一亮度块对应于所述编码单元的空间上左上区域并且所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域。
作为所述第三实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述一个或多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述一个或多个亮度块中的第三亮度块,并且其中所述第一亮度块对应于所述编码单元的空间上左上区域,所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域,并且所述第三亮度块对应于所述编码单元的紧挨在所述左上区域下方的第三区域。
作为所述第三实施例的更进一步,所述处理顺序包括:由下述项组成的多个连续群组:第一单个亮度块、其后紧跟单个色度通道一块、其后紧跟第二单个亮度块、其后紧跟单个色度通道二块,以及随后的剩余亮度块的连续群组。
作为所述第三实施例的更进一步,所述处理顺序包括:由下述项组成的多个连续群组:单个亮度块、其后紧跟单个色度通道一块、其后紧跟色度通道二块,以及随后的剩余亮度块的连续群组。
作为所述第三实施例的更进一步,所述处理顺序包括各自基于多个空间上左下朝向的扫描来排序的亮度块、色度通道一块和色度通道二块,其中所述多个左下朝向的扫描中的第一扫描开始于所述编码单元的左上块并且每个随后的左下朝向的扫描开始于每个先前左下朝向的扫描右侧的块。
作为所述第三实施例的更进一步,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第一块下方的第三块,紧挨在所述第二块右侧的第四块以及紧挨在所述第三块右侧的第五块。
作为所述第三实施例的更进一步,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第二块右侧的第三块,紧挨在所述第一块下方的第四块以及紧挨在所述第四块右侧的第五块。
在一个或多个第四实施例中,一种用于视频编码的系统包括用于按处理顺序存储与视频帧的编码单元相对应的多个块的解耦合缓冲器和耦合到所述解耦合缓冲器的处理器,所述处理器:按所述处理顺序对所述多个块编码以生成相应的多块量化残差变换系数,其中所述编码至少包括逆量化、逆变换和内预测操作,并且其中所述处理顺序至少包括第一亮度块、其后紧跟第一色度通道一块;将所述多块量化残差变换系数从所述处理顺序交织成规范编码顺序,所述规范编码顺序包括所述第一亮度块、其后紧跟一个或多个紧邻的亮度块、其后是所述第一色度通道一块、其后是一个或多个色度通道二块;并且按所述规范编码顺序对所述多块量化残差变换系数进行熵编码以生成比特流。
作为所述第四实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述一个或多个亮度块中的第二亮度块,并且其中所述第一亮度块对应于所述编码单元的空间上左上区域并且所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域。
作为所述第四实施例的更进一步,所述处理顺序包括:所述第一亮度块、其后紧跟所述第一色度通道一块、其后紧跟所述一个或多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述一个或多个亮度块中的第三亮度块,并且其中所述第一亮度块对应于所述编码单元的空间上左上区域,所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域,并且所述第三亮度块对应于所述编码单元的紧挨在所述左上区域下方的第三区域。
作为所述第四实施例的更进一步,所述处理顺序包括:由下述项组成的多个连续群组:第一单个亮度块、其后紧跟单个色度通道一块、其后紧跟第二单个亮度块、其后紧跟单个色度通道二块,以及随后的剩余亮度块的连续群组。
作为所述第四实施例的更进一步,所述处理顺序包括:由下述项组成的多个连续群组:单个亮度块、其后紧跟单个色度通道一块、其后紧跟色度通道二块,以及随后的剩余亮度块的连续群组。
作为所述第四实施例的更进一步,所述处理顺序包括各自基于多个空间上左下朝向的扫描来排序的亮度块、色度通道一块和色度通道二块,其中所述多个左下朝向的扫描中的第一扫描开始于所述编码单元的左上块并且每个随后的左下朝向的扫描开始于每个先前左下朝向的扫描右侧的块。
作为所述第四实施例的更进一步,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第一块下方的第三块,紧挨在所述第二块右侧的第四块以及紧挨在所述第三块右侧的第五块。
作为所述第四实施例的更进一步,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第二块右侧的第三块,紧挨在所述第一块下方的第四块以及紧挨在所述第四块右侧的第五块。
在一个或多个第五实施例中,至少一个机器可读介质可包括多个指令,所述多个指令响应于在计算设备上被执行而使得所述计算设备执行根据上述实施例中的任何一者的方法。
在一个或多个第六实施例中,一种装置或系统可包括用于执行根据上述实施例中的任何一者的方法的装置。
将会认识到,实施例不限于这样描述的实施例,而是可在带有修改和变更的情况下实现,而不脱离所附权利要求的范围。例如,上述实施例可包括特征的特定组合。然而,上述实施例不限于此,并且在各种实现方式中,上述实施例可包括仅从事这种特征的子集,从事这种特征的不同顺序,从事这种特征的不同组合和/或从事除明确列出的那些特征以外的额外特征。实施例的范围因此应当参考所附权利要求以及这种权利要求有权享有的等同物的完整范围来确定。

Claims (16)

1.一种用于视频编码的由计算机实现的方法,包括:
接收按规范编码顺序的与视频帧的编码单元相对应的量化残差变换系数的多个块以用于编码,所述规范编码顺序包括两个或更多个紧邻的亮度块、其后是一个或多个色度通道一块、其后是一个或多个色度通道二块;
把量化残差变换系数的所述多个块从所述规范编码顺序交织成处理顺序,所述处理顺序至少包括所述两个或更多个亮度块中的第一亮度块、其后紧跟所述一个或多个色度通道一块中的第一色度通道一块、其后紧跟所述两个或更多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第三亮度块;并且
按所述处理顺序对量化系数的所述多个块执行逆量化、逆变换和内预测操作以生成与量化残差变换系数的所述多个块相对应的重建编码单元。
2.如权利要求1所述的方法,其中,所述第一亮度块对应于所述编码单元的空间上的左上区域,所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域,并且所述第三亮度块对应于所述编码单元的紧挨在所述左上区域下方的第三区域。
3.如权利要求1所述的方法,其中,交织所述多个块包括:
提供由下述项组成的连续群组:第一单个亮度块、其后紧跟单个色度通道一块、其后紧跟第二单个亮度块、其后紧跟单个色度通道二块,直到色度通道一块和色度通道二块被耗尽为止;并且
随后提供剩余亮度块的连续群组。
4.如权利要求1所述的方法,其中,所述处理顺序包括对于所述编码单元在空间上按空间波阵面顺序扫描并且基于亮度块之间的相邻依从性排序的亮度块。
5.如权利要求1所述的方法,其中,所述处理顺序包括各自基于多个空间上左下朝向的扫描来排序的亮度块、色度通道一块和色度通道二块,其中所述多个左下朝向的扫描中的第一扫描开始于所述编码单元的左上块并且每个随后的左下朝向的扫描开始于每个先前左下朝向的扫描右侧的块。
6.如权利要求1所述的方法,其中,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第一块下方的第三块,紧挨在所述第二块右侧的第四块以及紧挨在所述第三块右侧的第五块。
7.如权利要求1所述的方法,其中,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第二块右侧的第三块,紧挨在所述第一块下方的第四块以及紧挨在所述第四块右侧的第五块。
8.一种用于视频编码的系统,包括:
解耦合缓冲器,用于存储与视频帧的编码单元相对应的量化残差变换系数的多个块;以及
耦合到所述解耦合缓冲器的处理器,所述处理器用于:将量化残差变换系数的所述多个块按规范编码顺序存储在所述解耦合缓冲器中,所述规范编码顺序包括两个或更多个紧邻的亮度块、其后是一个或多个色度通道一块、其后是一个或多个色度通道二块;按交织的处理顺序从所述解耦合缓冲器取回所述多个块,所述处理顺序至少包括所述两个或更多个亮度块中的第一亮度块、其后紧跟所述一个或多个色度通道一块中的第一色度通道一块、其后紧跟所述两个或更多个亮度块中的第二亮度块、其后紧跟所述一个或多个色度通道二块中的第一色度通道二块、其后紧跟所述两个或更多个亮度块中的第三亮度块;并且按所述处理顺序对量化系数的所述多个块执行逆量化、逆变换和内预测操作以生成与量化残差变换系数的所述多个块相对应的重建编码单元。
9.如权利要求8所述的系统,其中,所述第一亮度块对应于所述编码单元的空间上的左上区域,所述第二亮度块对应于所述编码单元的紧挨在所述左上区域右侧的第二区域,并且所述第三亮度块对应于所述编码单元的紧挨在所述左上区域下方的第三区域。
10.如权利要求8所述的系统,其中,所述处理器按交织的处理顺序从所述解耦合缓冲器取回所述多个块包括:所述处理器取回由下述项组成的连续群组:第一单个亮度块、其后紧跟单个色度通道一块、其后紧跟第二单个亮度块、其后紧跟单个色度通道二块,直到色度通道一块和色度通道二块被耗尽为止,并且随后取回剩余亮度块的连续群组。
11.如权利要求8所述的系统,其中,所述处理顺序包括对于所述编码单元在空间上按空间波阵面顺序扫描并且基于亮度块之间的相邻依从性排序的亮度块。
12.如权利要求8所述的系统,其中,所述处理顺序包括各自基于多个空间上左下朝向的扫描来排序的亮度块、色度通道一块和色度通道二块,其中所述多个左下朝向的扫描中的第一扫描开始于所述编码单元的左上块并且每个随后的左下朝向的扫描开始于每个先前左下朝向的扫描右侧的块。
13.如权利要求8所述的系统,其中,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第一块下方的第三块,紧挨在所述第二块右侧的第四块以及紧挨在所述第三块右侧的第五块。
14.如权利要求8所述的系统,其中,所述处理顺序包括基于亮度块的空间扫描来排序的亮度块,所述空间扫描至少包括在所述编码单元的左上亮度块处的第一块,紧挨在所述第一块右侧的第二块,紧挨在所述第二块右侧的第三块,紧挨在所述第一块下方的第四块以及紧挨在所述第四块右侧的第五块。
15.一种机器可读存储介质,其上存储有多个指令,所述多个指令响应于在计算设备上被执行而使得所述计算设备执行权利要求1-7中任一项所述的方法。
16.一种用于视频编码的装置,包括:
用于执行权利要求1-7中任一项所述的方法的装置。
CN201780066418.4A 2016-11-10 2017-10-09 解耦视频系数的规范和实现数据路径交织的转换缓冲器 Active CN109891887B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/348,783 2016-11-10
US15/348,783 US20180131936A1 (en) 2016-11-10 2016-11-10 Conversion buffer to decouple normative and implementation data path interleaving of video coefficients
PCT/US2017/055792 WO2018089146A1 (en) 2016-11-10 2017-10-09 Conversion buffer to decouple normative and implementation data path interleaving of video coefficients

Publications (2)

Publication Number Publication Date
CN109891887A CN109891887A (zh) 2019-06-14
CN109891887B true CN109891887B (zh) 2022-10-11

Family

ID=62064173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780066418.4A Active CN109891887B (zh) 2016-11-10 2017-10-09 解耦视频系数的规范和实现数据路径交织的转换缓冲器

Country Status (4)

Country Link
US (1) US20180131936A1 (zh)
CN (1) CN109891887B (zh)
DE (1) DE112017005664T5 (zh)
WO (1) WO2018089146A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013034162A (ja) * 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
WO2020228693A1 (en) * 2019-05-12 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Coding of multiple intra prediction methods
US11245915B1 (en) * 2020-09-18 2022-02-08 Xilinx, Inc. Conversion between raster and coded formats
CN117581104A (zh) 2021-06-03 2024-02-20 Dh科技发展私人贸易有限公司 用于利用结合磁珠的质谱法进行样品处理的系统和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US348783A (en) 1886-09-07 Charles scheef
US7383424B1 (en) * 2000-06-15 2008-06-03 Hewlett-Packard Development Company, L.P. Computer architecture containing processor and decoupled coprocessor
US6937652B2 (en) * 2002-04-19 2005-08-30 Seiko Epson Corporation Frame compression using radix approximation
US20060002468A1 (en) * 2004-06-22 2006-01-05 Minhua Zhou Frame storage method
KR100779173B1 (ko) * 2005-07-20 2007-11-26 한국전자통신연구원 폴리페이즈 다운 샘플링기반 리던던트 슬라이스 코딩 방법및 그 방법을 이용하는 코덱
JP6242793B2 (ja) * 2011-09-15 2017-12-06 ヴィド スケール インコーポレイテッド 空間的予測のためのシステムおよび方法
US9723308B2 (en) * 2012-02-28 2017-08-01 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method
US9503724B2 (en) * 2012-05-14 2016-11-22 Qualcomm Incorporated Interleave block processing ordering for video data coding
US9514510B2 (en) * 2013-03-29 2016-12-06 Mediatek Inc. Method and apparatus for arranging pixels of picture in storage units each having storage size not divisible by pixel size
US10085028B2 (en) * 2014-06-26 2018-09-25 Futurewei Technologies, Inc. Method and device for reducing a computational load in high efficiency video coding
US9832388B2 (en) * 2014-08-04 2017-11-28 Nvidia Corporation Deinterleaving interleaved high dynamic range image by using YUV interpolation

Also Published As

Publication number Publication date
CN109891887A (zh) 2019-06-14
DE112017005664T5 (de) 2019-08-22
US20180131936A1 (en) 2018-05-10
WO2018089146A1 (en) 2018-05-17

Similar Documents

Publication Publication Date Title
US10659777B2 (en) Cross-channel residual prediction
JP6120390B2 (ja) 次世代動画用コンテンツに適応的な特性補償済み予測
CN109565587B (zh) 具有上下文解码和重构旁路的视频编码的方法和系统
CN107079192B (zh) 使用压缩视频流的动态屏幕上显示
CN109891887B (zh) 解耦视频系数的规范和实现数据路径交织的转换缓冲器
CN106664407B (zh) 用于无线显示器的并行编解码的方法、系统、装置及可读介质
TW201832561A (zh) 360度環景視頻的解區塊濾波技術
US20170264904A1 (en) Intra-prediction complexity reduction using limited angular modes and refinement
CN113852821A (zh) 使用深度学习的视频编解码器辅助实时视频增强
KR102606584B1 (ko) 비디오 코딩을 위한 프레임 재정렬 방법 및 시스템
EP3910941A1 (en) Parallel video encoding of coding units from neighboring largest coding units
JP6060394B2 (ja) クロスレイヤー・クロスチャネル残差予測
US20140169467A1 (en) Video coding including shared motion estimation between multple independent coding streams
CN107736026B (zh) 样本自适应偏移编码
JP2016506165A (ja) インターレイヤの動きデータ継承
US20150016530A1 (en) Exhaustive sub-macroblock shape candidate save and restore protocol for motion estimation
US20190230365A1 (en) Video cluster encoding for multiple resolutions and bitrates with performance and quality enhancements
JP2014209757A (ja) クロスチャネル残差予測
WO2017101091A1 (en) Content based video encoding for wireless display
KR101777487B1 (ko) 코딩 단위 비트 수 제한
JP6177966B2 (ja) クロスチャネル残差予測
JP6227698B2 (ja) クロスチャネル残差予測

Legal Events

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