CN107018418A - 参考数据重用方法、带宽估计方法及相关视频解码器 - Google Patents

参考数据重用方法、带宽估计方法及相关视频解码器 Download PDF

Info

Publication number
CN107018418A
CN107018418A CN201611199369.5A CN201611199369A CN107018418A CN 107018418 A CN107018418 A CN 107018418A CN 201611199369 A CN201611199369 A CN 201611199369A CN 107018418 A CN107018418 A CN 107018418A
Authority
CN
China
Prior art keywords
reference data
motion vector
external memory
reuse
block
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.)
Withdrawn
Application number
CN201611199369.5A
Other languages
English (en)
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN107018418A publication Critical patent/CN107018418A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种参考数据重用方法、带宽估计方法及相关视频解码器。参考数据重用方法包括接收视频比特流;预解码与一个或多个编码块的运动向量集合相关联的运动信息,而不存储解码残差;基于运动信息来确定帧间预测或帧内块复制所需的参考数据的重用信息;如果以帧间预测模式或帧内块复制模式对当前块进行编码,则确定当前块的所需参考数据是否在内部存储器中,并且如果未存储在内部存储器中,从外部存储器将参考数据提取到内部存储器;以及根据重用信息管理内部存储器中的参考数据,以减少外部存储器和内部存储器之间的数据传输。本发明的参考数据重用方法、带宽估计方法及相关视频解码器可以更有效的参考数据存储器使用并减少参考数据访问。

Description

参考数据重用方法、带宽估计方法及相关视频解码器
【交叉引用】
本申请要求申请日为2015年12月23日,美国临时申请号为62/387,276的美国临时申请案的优先权,上述临时申请案的内容一并并入本申请。
【技术领域】
本发明涉及使用帧间预测(Inter prediction)模式或帧内块复制(Intra blockcopy)模式的视频编码。具体地,本发明涉及用于提高参考数据重用效率以便降低系统带宽需求的方法和装置。
【背景技术】
视频数据需要大量的存储空间来存储或者需要大的带宽来传输。随着不断增长的高分辨率和更高的帧速率,如果以未压缩形式存储或传输视频数据,则存储或传输带宽要求将是巨大的。因此,视频数据通常使用视频编码技术以压缩格式存储或传输。使用较新的视频压缩格式(诸如H.264/AVC、VP8、VP9和新兴的HEVC(高效率视频编码)标准)已经大大改善了编码(coding)效率。为了保持可管理的复杂性,图像通常被划分为诸如宏块(MB)或编码单元(coding unit,简写为CU)的块以应用视频编码(coding)。视频编码标准通常在块的基础上采用自适应帧间/帧内预测。
自适应帧间/帧内视频编码已广泛用于各种视频编码系统中。系统可以将画面划分为块,并且可以以帧间模式或帧内模式对块进行编码。对于帧间预测,运动估计和运动补偿用于从一个或一个以上先前重构(reconstructed)的参考图片选择一个或一个以上参考块。当使用帧内模式时,使用同一图像中的先前重构的视频数据来导出预测值。生成当前块及其预测器之间的残差。残差通常使用变换(例如,离散余弦变换,(discrete cosinetransform,简写为DCT)和量化来编码以形成经量化的变换系数。扫描图案用于扫描二维量化变换系数(transform coefficient)并将其转换为编码符号。对应于经量化变换系数的符号被编码(encode)到比特流中。比特流与其它相关联的信息(例如,与运动信息相关的运动估计)一起包括在最终视频比特流中。
图1是具有自适应帧间/帧内预测的视频解码器的示范性框图。视频比特流由可变长度解码器(variable length decoder,简写为VLD)110接收,以将比特流解码为与编码残差和各种编码信息(例如,运动向量)相对应的编码符号。编码的残差由逆扫描(inversescan,简写为IS)112处理,以将一维量化系数转换为二维量化系数,其使用逆量化(inversequantization,简写为IQ)114和逆变换(inverse transform,简写为IT)116进一步处理以恢复残差117。为了重构像素值,使用加法器118将残差添加到预测数据119。预测数据119由帧间/帧内选择单元120提供,其从帧内预测单元122选择帧内预测数据或从运动补偿单元124选择帧间预测数据。运动补偿单元124需要运动向量(MV)信息以访问存储在解码图片缓冲器128中的对应参考数据。因此,MV计算单元126用于提取和导出所需的MV信息。来自加法器的输出对应于重构的像素数据121。为了减轻重构的图像中的编码伪像,通常使用去块滤波器130。在高级编码系统中也可以使用附加的环路滤波器。滤波的重构视频数据被存储在解码图片缓冲器128中以用于显示或者作为用于其它图片的帧间预测的参考数据。
如图1所示,滤波后的重构视频数据被存储在解码图像缓冲器128中。用于帧间预测的参考数据从解码图像缓冲器128中读取。对于双预测(bi-prediction),每个块由两个参考块预测,因此,必须从解码图像缓冲器访问两个块。此外,当使用分数像素(fractional-pel)MV时,可能必须访问参考块周围的额外像素数据以便执行内插。因此,与用于帧间预测的参考数据访问相关联的存储器带宽可能非常高。随着不断增加的视频分辨率的趋势,所需的存储器带宽可对视频解码器系统施加强大的挑战。
为了节省与参考数据访问有关的存储器带宽,内部存储器可用于存储预期频繁使用的参考数据。在这种情况下,将重构的数据从系统存储器提取到内部参考存储器。因此,可以从内部存储器检索期望被重新使用的参考数据,而不是从外部存储器重复检索引起存储器带宽消耗的参考数据。内部参考存储器通常在以比系统存储器更高的速度操作的高速缓冲存储器中实现。由于内部参考存储具有较高的单位成本,所以内部参考存储的大小通常远小于系统存储器的大小。
近年来,已经公开了使用帧内块向量来定位帧内冗余(Intra frame redundancy)以定位当前图片的先前编码的区域中的参考块的技术。例如,已经公开了用于基于HEVC的屏幕内容编码的帧内块复制(IntraBC或IBC)。IntraBC模式以与帧间预测模式类似的方式工作。然而,帧间预测使用先前编码的图像作为参考数据,而帧内预测使用当前编码的图像的编码区域作为参考数据。IntraBC预测可以使用与帧间预测相同的架构,以通过将块向量作为运动向量进行处理来执行运动估计/补偿。因此,在本公开中,块向量也被称为运动向量。
当存储器带宽使用超过存储器带宽限制时,解码器性能可能迅速下降。使用内部参考存储有助于减少内存带宽要求。为了小心地解决这个问题,需要更精确的估计内存带宽使用。因此,期望开发更精确地估计存储器带宽的技术和减少存储器带宽的技术。
【发明内容】
依据本发明的示范性实施例,提出一种参考数据重用方法、带宽估计方法及相关视频解码器以解决上述问题。
依据本发明的一个实施例,提出.一种参考数据重用方法,用于解码视频解码器中的视频,参考数据重用方法包括:接收对应于包括当前块的编码视频数据的视频比特流;从视频比特流中,预解码与一个或多个编码块的运动向量集合相关联的运动信息,而不存储与一个或多个编码块相关联的解码残差,其中每个运动向量表示在帧间预测模式或帧内块复制模式下编码的一个块的位移向量,并且一个或多个编码块在当前块之后编码;基于与运动向量集合相关联的运动信息来确定关于一个或多个编码块的帧间预测或帧内块复制所需的参考数据的重用信息;如果以帧间预测模式或帧内块复制模式对当前块进行编码,则确定当前块的所需参考数据是否在内部存储器中,并且如果所需参考数据未存储在内部存储器中,从外部存储器将参考数据提取到内部存储器;以及根据重用信息管理内部存储器中的参考数据,以减少外部存储器和内部存储器之间的数据传输。
依据本发明的另一实施例,提出一种视频解码器,包括:外部存储器,用于存储包括参考数据的数据;视频解码器内核,耦接于外部存储器以接收参考数据,其中视频解码器内核包括运动补偿单元、内部存储器和参考数据提取单元,其中运动补偿单元使用存储在内部存储器中的当前参考数据对以帧间预测模式或帧内块复制模式编码的多个块执行运动补偿重构,并且参考数据提取单元确定在帧间预测模式或帧内块复制模式下编码的当前块的所需参考数据是否在内部存储器中,并且如果所需参考数据没有存储在内部存储器中,则将当前参考数据从外部存储器提取到内部存储器;先行运动向量解码器,耦接于外部存储器,以接收视频比特流,其中先行运动向量解码器解码与一个或多个编码块的运动向量集合相关联的运动信息,而不存储与一个或多个编码块相关联的解码残差,并且其中每个运动向量表示在帧间预测模式或帧内复制模式下编码的一个块的位移向量,并且一个或多个编码块在当前块之后被编码;以及运动向量分析器单元,用于基于与运动向量集合相关联的运动信息来确定关于一个或多个编码块的帧间预测或帧内块复制所需的参考数据的重用信息;以及其中视频解码器被配置为使当前解码器块存储在内部存储器中;以及视频解码器被配置为根据重用信息管理内部存储器中的参考数据,以减少外部存储器和内部存储器之间的数据传输。
依据本发明的另一实施例,提出一种带宽估计方法,包括:接收对应于包括当前块的编码视频数据的视频比特流;从视频比特流中,预解码与当前块之后处理的一个或多个编码块的运动向量集合相关联的运动信息,而不存储与一个或多个编码块相关联的解码残差,其中一个或多个编码块在当前块之后被解码;基于运动向量集合确定关于一个或多个编码块的帧间预测所需的参考数据的重用信息;基于重用信息来确定从外部存储器访问参考数据所需的估计带宽;以及根据估计带宽调整系统配置。
本发明的参考数据重用方法、带宽估计方法及相关视频解码器可以更有效的参考数据存储器使用并减少参考数据访问。
【附图说明】
图1是具有自适应帧间/帧内预测的视频解码器的示范性框图。
图2是短期数据重用和长期数据重用的示例。
图3是长期参考数据重用的示例。
图4是根据本发明实施例的用于结合MV分析和重用参考数据导出的视频解码系统的相关功能块的示例。
图5说明与经放大的MV管线缓冲器大小相关联的问题。
图6A示出根据本发明实施例的与并入参考数据重用的视频解码系统相关联的关键组件600的示例。
图6B是用于参考图片的参考数据的使用的示意图。
图7是MV预解码的示意图。
图8示出根据本发明实施例的MV预解码的示例。
图9A示出根据本发明的实施例的结合MV预解码的示例性系统架构。
图9B示出了根据本发明另一实施例的结合MV预解码的示例性系统架构。
图9C说明根据本发明的又一实施例的并入MV预解码的示范性系统架构。
图9D示出了类似于图9C的另一可选系统。
图10示出了根据重用和非重用参考数据的带宽估计的示例。
图11示出了根据本发明的一个实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。
图12A示出了由先行MV解码器预解码运动向量并导出重用信息和带宽估计的流程图。
图12B示出了解码器内核中的参考数据管理的示例性流程图。
图13示出了根据本发明另一实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。
图14A示出了由图13的先行MV解码器预解码运动向量的流程图。
图14B示出了解码器内核中的参考数据管理的示例性流程图。
图15示出了根据本发明另一实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。
图16是与运动向量分析器和带宽估计单元相关联的流程图。
图17示出根据本发明另一实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。
图18示出了基于图17的架构的带宽估计处理的示例性流程图。
图19示出了重用信息导出的流程图。
图20示出了根据本发明另一实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。
图21示出了解码器内核中的参考数据管理的示例性流程图。
图22示出了根据本发明另一实施例的包含运动向量分析器和带宽估计单元的示例性系统架构。
图23示出了与视频解码器内核内的参考数据管理和重用信息以及估计带宽导出相关的功能的流程图。
图24示出根据本发明的实施例的使用与用于帧间预测或帧内块复制的参考数据相关的重用信息,以最小化从外部存储器到内部存储器的数据传输的视频解码器的示例性流程图。
图25示出了根据本发明的实施例的系统使用估计带宽来调整系统配置的示例性流程图。
【具体实施方式】
在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的「包含」是开放式的用语,故应解释成「包含但不限定于」。另外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。
以下描述是实施本发明的最佳预期模式。该描述是出于说明本发明的一般原理的目的,并且不应被视为具有限制意义。本发明的范围最好通过参考所附权利要求书来确定。
本发明公开了一种通过分析运动向量并重用参考数据来改进用于存储器带宽减少的参考数据重用的方法。参考数据重用可以在宏块(macroblock,简写为MB)行或编码树单元(CTU)行中用于长期数据重用。为了有效地分析运动向量,本发明的实施例对运动向量进行预解码。所分析的运动向量包括在帧间模式中编码的块的运动向量和用于在HEVC屏幕内容编码中定义的帧内块复制(IntraBC或IBC)模式中编码的块的帧内块向量(Intrablock vector,简写为IBV)。在运动补偿解码之前执行存储器带宽估计。
参考数据重用可以被分类为短期数据重用和长期数据重用。短期数据重用指的是在相同MB或CTU行中的相邻MB或CTU之间的数据重用。长期数据重用指的是不同MB或CTU行中的数据重用。图2是短期数据重用和长期数据重用的示例。当前图像210中的宏块正以逐行扫描顺序被解码。宏块A和B在相同的MB行中,宏块C在下面的MB行中。分别使用运动向量MV_A、MV_B和MV_C来识别宏块A,B和C的参考图片220中的参考块Ref_A、Ref_B和Ref_C。如图2所示,参考块可以重叠。例如,参考块Ref_A和Ref_B包括重叠区域222。换句话说,重叠区域中的参考数据被检索用于宏块A解码以及宏块B解码。此外,在相同MB行或CTU行内的块之间的相对短的时段内重用区域222中的参考数据。因此,这种情况下的参考数据重用被称为短期参考数据重用。参考块Ref_B和Ref_C还包括重叠区域224。重叠区域中的参考数据被检索用于宏块B解码以及宏块C解码。此外,区域224中的参考数据的重用在不同MB行或CTU行中的块之间。因此,对于这种情况的参考数据重用被称为长期参考数据重用。
长期数据重用方案
本发明的一个方面解决长期数据重用。在根据本发明的长期重用的方法中,运动补偿(motion compensation,简写为MC)处理在MC处理自外部存储器的给定MB(x,y)的数据读取参考数据之前或之后读取MB(x,y)到MB(x+u,y+v)的运动向量,其中MB(x,y)对应于块位置(x,y)处的宏块,u从-L到M,v从1到N,并且L,M,N是可以是在运行时期间要设置的变量或固定参数的整数。虽然使用宏块作为示例,但是也可以使用诸如编码树单元(CTU)的其它块编码块(coded block)架构。在读取MV之后,分析运动向量以找到参考块之间的一个或多个重叠区域。MV分析处理包括以下步骤:(a)基于每个MB的运动向量和其他信息来计算参考区域;(b)将参考区域从像素单元转移(translating)到存取单元(取决于外部存储器架构);(c)针对MB(x+u,y+v),u=-L至M,v=1至N中的一个或多个,计算MB(x,y)和MB(x+u,y+v)参考区域之间的重叠区域,然后计算所有重叠区域的并集(union)。在分析MV之后,该方法为全部或部分重叠区域导出重用信息。根据重用信息,该方法将所有或部分参考数据存储到片上存储器中。对于外部存储器,为了提高访问效率,经常根据预定义单元(即,访问单元)访问数据。例如,访问单元可以对应于256字节。
图3是长期参考数据重用的示例。宏块A位于块位置(x,y)。宏块B和C分别位于下一个MB行中的(x-1,y+1)和(x,y+1)。分析相关联的MV(MV_A、MV_B和MV_C)以确定重叠区域。可以识别Ref_A和Ref_B之间的重叠区域322和Ref_A和Ref_C之间的重叠区域324。根据该方法的实施例,用于下几个MB的重用数据和用于下一MB行的重用数据应当在片上存储器中保持不同时间,其中对于接下来的几个MB,重用数据在片内存储器中保持短时间,对于下一MB行,重用的数据在片上存储器中保持更长的时间。例如,在Ref_A和Ref_B之间的重叠中的参考数据322和在Ref_A和Ref_C之间的重叠中的参考数据324应当在整个MB行解码周期中保持在片上存储器中。因此,在从用于MC的外部存储器读取参考帧数据以重构预测数据之前,本方法将重叠的参考数据从外部存储器加载到片上存储器。因此,MC处理从片上存储器而不是外部存储器读取重叠的参考数据。因此,该方法消除了重叠数据的重复外部存储器访问。
长期数据重用方案:MV分析
MV分析器可以在参考帧提取单元的同一级(stage)或之前的一级或多级流水线中使用。用于流水线级的图像单元可以是多个块/MB/CTU、块/MB/CTU行、片(slice)、整个图片或多个图片。一般来说,较高级别的流水线级可以更好的减少外部存储器访问,以及更精确的带宽消耗估计。更多MV也可以用于MV分析。然而,这种方法将需要更大的MV缓冲器大小。MV分析器从MV存储器读取一个或一个以上块的MV,其中MV存储器中的MV从视频比特流导出。MV分析器还可以包括从比特流导出MV的功能,而不是依赖于其他处理单元来导出MV并将它们存储在MV存储器中。基于用于短期重用、长期重用或两者的MV来分析参考块的重叠区域。然后将重用信息发送到参考帧提取单元,用于从外部存储器提取参考数据至片上存储器,以便减少用于运动补偿处理的外部存储器访问。
图4是根据本发明实施例的用于结合MV分析和重用参考数据导出的视频解码系统的相关功能块的示例。从MV存储器410检索MV信息并将其提供给MV分析器420。MV分析器420基于MV信息确定重用信息。重用信息存储在重用信息存储器430(如外部/内部存储器)中,其被提供给参考数据提取单元440,用于从存储在外部存储器450中的参考帧缓冲器提取参考数据。重用信息存储器430可以在外部存储器或本地存储器中。参考数据提取单元440提取重新使用的参考数据,并将重新使用的参考数据存储在图4中未示出的片上(即,内部)存储器中。
如图4所示,重用信息由MV分析器导出。重用信息可以包括可以用于导出最终存储器地址以访问所需参考帧数据的坐标或索引。坐标或索引可以是参考帧索引和坐标、存储器地址或解码块索引(具有/不具有MV)。重用信息还可以包括用于每个或一组坐标/地址/块索引信息的以下信息中的一个或组合:(a)解码块的参考次数(referenced times)和索引,以及(b)加权(如每个参考数据区域在内部存储器中要保留的时间长度的加权指示)。解码块的参考次数和索引可以用于指示哪个解码块以及参考区域将被参考多少次。加权可以对应于数字或单比特标志,以表示参考区域应该保持在本地存储器中的时间。例如,加权可以对应于0、1和2,其中0表示不需要重用,1表示短期重用,2表示长期重用。在另一个示例中,加权可以对应于n,n=0至10,其中n表示将参考区域保持nμs。如果重用信息指示目标参考数据预期将由一个或多个编码块使用,则增加目标参考数据保持在内部存储器中的寿命。
参考数据重用:架构
为了获得足够的MV来分析和导出用于长期数据重用的重用信息,需要在MV模块和MC模块之间扩大MV流水线缓冲区。例如,MV流水线缓冲区大小可以大于一个MB行。然而,如果MV管线缓冲器被放大,则还可能必须放大从VLD到残差数据路径上的残差数据(residualdata)或其他管线缓冲器的管线缓冲器,这可能需要MV所需的几倍大小。图5说明与经放大的MV管线缓冲器大小相关联的问题。MV和残差都分别使用MV解码器520和逆扫描(IS)/逆量化(IQ)和逆变换(IT)560从可变长度解码器(VLD)510导出。MV分析器/提取单元540用于获取用于运动补偿550的所需参考数据。使用加法器580将来自MC 550的预测数据添加到来自残留缓冲器570的残差以形成重构像素数据。无需特别注意,MV缓冲器530和残差缓冲器570都将被放大。然而,在逆扫描(IS)/逆量化(IQ)和逆变换(IT)560之后的解码残差变得非常大。因此,虽然图5所示的系统有助于减少与参考数据相关的存储器带宽,它导致残留数据的存储的显著增加。因此,公开了一种预解码方法来减少对残差数据的缓冲器要求。在上面的讨论中,虽然使用MB作为示例,但是应当理解,也可以使用诸如CTU的其它块架构。
图6A示出根据本发明实施例的与并入参考数据重用的视频解码系统相关联的关键组件600的示例。关键组件包括MV解码器610、MV缓冲器612、运动补偿单元(MC)614、MV分析器/提取单元616、L1高速缓存618和L2高速缓存620。MP分析器/提取单元616控制从外部存储器(图6未示)获取,至芯片上存储器的数据,其中芯片上存储器包括L1高速缓存618和L2高速缓存620。存储在L1高速缓存618和L2高速缓存620中的参考数据由运动补偿单元614使用。图6B是用于参考图片660的参考数据的使用650的示意图,其中参考图片660存储在外部存储器中。该示例示出了由处理管线对这些宏块的处理。宏块MB_a 662当前正由运动补偿单元614处理。MV解码器610处理后续MB行中的宏块MB_b 664。用于当前处理的宏块MB_a到后续MB行中的宏块MB_b的运动向量被存储在MV缓冲器612中。MV分析器/提取单元616基于存储在MV缓冲器612中的运动向量来确定参考数据重用。MV分析器/提取单元616将一些参考数据识别为用于放置在用于短期重用的L1高速缓存中的候选,以及将一些参考数据识别为用于放置在L2高速缓存中以用于长期重用的候选。在该示例中,参考数据区域670和672被标识用于短期重用以用于放入L1高速缓存中。参考数据区674先前在L1高速缓存中,并且当宏块MB_a由MC 614处理时将被刷新。在该示例中,参考数据区域676、678和680被标识以用于长期重用以放入L2高速缓存。
运动向量预解码
为了解决与增加的残留缓冲器相关联的问题,本发明的实施例使用MV预解码,使得缓冲的MV的数量增加,而不需要显著增加残差量。图7是MV预解码的示意图。如图7所示,MV预解码包括两个功能部分:一个发生在先行(look-ahead)MV解码器710中,一个发生在视频解码器内核(kernel)720中。在先行MV解码器,运动向量被解码并写入存储器730.在视频解码器内核,从存储器读取运动向量。先行MV解码器和视频解码器内核被配置为当视频解码器核是处理单元N时,具有预解码并存储在存储器中的单元(例如块)N到(N+k)的一组MV,其中k是正整数。所述单元可对应于图片、切片、MB行、CTB行、MB、块或任何其它用于处理的图像单元。
图8示出根据本发明实施例的MV预解码的示例。在帧级(frame level)执行MV预解码,使得帧中的所有MV与与残差相关联的切片数据分开地预解码和保存。解码器内核为整个帧加载MV。
图9A示出根据本发明的实施例的结合MV预解码的示例性系统架构。该架构类似于图5中的架构。然而,在图9A中使用独立的MV路径和IS/IQ/IT路径。其中两个路径具有它们自己的VLD(910和912)。VLD 0(910)和MV解码器520执行MV预解码功能。
图9B示出了根据本发明另一实施例的结合MV预解码的示例性系统架构,其中使用全功能VLD 920和具有代码转换器(transcoder)922的简单VLD 926,使得两个路径之间的流水线深度可以非常深。在VLD之后,残差数据的大小可能变得相当大。为了减少与残差数据相关联的所需存储空间,经VLD解码的残差数据被再次重新编码。然而,编码效率可能不是关键问题。因此,可以将简单的VLC应用于经VLD解码的残差数据以减少存储需求。因此,使用代码转换器922,并且缓冲器924用于存储代码转换的残留数据。根据图9B中的系统,MV缓冲器可以管道(pipe)更多MV,而没有大尺寸增加剩余缓冲器。此外,MV分析器可以获得更多的MV以执行更好的分析。再次,MV解码器及其VLD的组合是“先行(look-ahead)MV解码器”。
图9C说明根据本发明的又一实施例的并入MV预解码的示范性系统架构,其中先行MV解码器还可使用外部存储器作为VLD 920与MV解码器520之间以及代码转换器922和简单VLD 926之间的MVD/信息缓冲器。由于外部存储器934具有较大容量,所以可能只有一个VLD来存储用于IS/IQ/IT的解码系数和信息在外部存储器中,以便实现两路解码作为两VLD架构。
图9D示出了类似于图9C的另一可选系统,其中先行MV解码器还可使用外部存储器作为MV缓冲器以及用于经代码转换的残差数据的信息缓冲器。
运动向量分析器
运动向量分析器基于预解码的运动向量分析解码单元中的参考数据的分布。可以导出参考数据的重用信息,以帮助解码系统减少外部存储器访问。利用已知的重用信息,解码系统可以相应地减少存储器访问。或者,解码系统可以根据MV和/或重用信息来估计外部存储器带宽消耗。该函数将利用从MV分析器或其自身导出的重用信息来计算由参考数据引起的外部存储器访问的大小。
带宽估计
该函数将利用从MV分析器或重用信息本身导出的重用信息。基于由参考数据引起的外部存储器访问的大小来计算带宽估计。带宽估计结果可以应用于调整系统配置,诸如用于节电的工作电压、用于省电的工作频率或者存储仲裁优先级,以提高访问效率或者释放高优先级给具有更关键的带宽要求的其他功能组件。
可以通过识别重用和非重用的参考数据或累积重用和非重用的参考数据的大小来确定重用信息。
图10示出了根据重用和非重用参考数据的带宽估计的示例。当前图像1010中的块D、E和F分别指参考图像1020中的参考块A、B和C。块D、E和F的存储器带宽是参考块A、B和C中的非重用区域(由这些块中的空白块区域表示)与参考块A、B和C中的重用区域(由填充有点的区域表示)的总和。
在下文中,公开了根据本发明的实施例的结合运动向量分析器和带宽估计的若干系统架构。然而,这些实施例仅用于说明目的,而不应解释为对本发明的限制。
系统架构:实施例1
图11示出了根据本发明的一个实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。先行MV解码器,运动向量分析器和带宽估计单元被布置为与视频解码器内核分离的单元。先行MV解码器1120从存储器1110读取比特流以对MV进行预解码。然后,预解码的MV由运动向量分析器1130分析以导出重用信息。带宽估计单元1140估计所需带宽。重用信息和估计带宽两者都存储在存储器1110中以供稍后使用。重用信息存储在存储器中,并且稍后由视频解码器内核检索,用于控制从外部存储器取回重用参考数据。因此,视频解码器内核1150访问来自存储器1110的重用信息。重用信息被参考帧提取单元1160用于从外部存储器1110取得参考数据到内部存储器1170。存储在内部存储器中的参考数据然后用于运动补偿(MC)1180。
在图11中,仅示出了与参考数据相关的组件。例如,除了运动补偿单元1180之外,视频解码器内核还可以包括逆扫描、逆量化和逆变换以重构残差,使得运动补偿单元1180可以将重构的残差添加到参考块以形成重构块。此外,为了参考数据重用,可以不需要带宽估计单元1140。在这种情况下,可以从解码器系统中去除带宽估计单元1140。
图12A示出了由先行MV解码器预解码运动向量并导出重用信息和带宽估计的流程图。在步骤1210中,对运动向量进行预解码。在步骤1212中,基于解码的运动向量导出参考数据的重用信息。步骤1212可以由MV分析器执行。在步骤1214中累积重用和非重用的参考数据的大小。在步骤1216中导出外部存储器带宽的估计结果。步骤1214和1216都可以由带宽估计单元执行。在步骤1218中存储重用信息和带宽估计结果。
图12B示出了解码器内核中的参考数据管理的示例性流程图。在步骤1220中,参考数据的重用信息被加载到解码器。在步骤1222中检查参考数据是否在内部存储器中。如果参考数据在内部存储器中(即,“是”路径)执行步骤1224。否则(即,“否”路径),执行步骤1226和1228。在步骤1224中,从内部存储器取出参考数据。在步骤1226中,从外部存储器取出参考数据。在步骤1228中,根据重用信息将参考数据保存在内部存储器中。如前所述,内部存储器通常使用高速缓冲存储器来实现,处理器(例如,CPU或视频解码器内核)可比从常规DRAM(动态随机存取存储器)访问更快速地访问高速缓冲存储器。高速缓冲存储器通常直接与CPU或视频解码器内核芯片(1级(L1)高速缓存)集成或放置在单独的芯片(2级(L2)高速缓存)上,该芯片具有与CPU或视频解码器内核互连的单独总线。正被解码的块的参考数据不在内部存储器中的情况对应于“高速缓存未命中(cache miss)”。另一方面,当所需的参考数据在内部高速缓冲存储器中时,其对应于“高速缓存命中(cache hit)”。当所需的参考数据在内部高速缓冲存储器中时,不需要从外部存储器访问所需的数据。本发明的实施例通过利用基于预解码的MV的参考数据重用来优化或大大增加给定高速缓存大小的高速缓存命中。
如前所述,可以应用带宽估计结果来调整系统配置,诸如用于功率节省的工作电压、用于功率节省的工作频率或者存储仲裁优先级,以提高访问效率或释放高优先级给具有更关键的带宽要求的其他功能组件。因此,带宽估计结果被存储在存储器中,使得带宽估计结果可以由系统的其他部分访问用于期望的系统控制。
尽管图11所示的系统利用重用信息来减少将参考数据从外部存储器传送到内部存储器所需的带宽,并利用估计的带宽来调整系统配置,但是根据本发明的系统可以仅利用重用信息来减小带宽或仅使用估计的带宽来调整系统配置。
系统架构:实施例2
图13示出了根据本发明另一实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。图13的组件与图11的组件相同。然而,组件被不同地布置,其中运动向量分析器1130和带宽估计单元1140位于视频解码器内核1310中。先行MV解码器1120从存储器1110读取比特流以对MV进行预解码。然后将预解码的MV保存到存储器1110中。
图14A示出了由图13的先行MV解码器预解码运动向量的流程图。在这种情况下,先行MV解码器在步骤1210中对运动向量进行预解码,且在步骤1420中存储运动向量。
图14B示出了解码器内核1310中的参考数据管理的示例性流程图。由于运动向量分析器1130和带宽估计单元1140位于视频解码器内核1310中,因此图14B中的流程图包括除了图12B的这些步骤之外的步骤。在步骤1430中将预解码的运动向量加载到视频解码器内核中。然后,在步骤1212中使用MV分析器基于运动向量导出参考数据的重用信息。在步骤1212之后,两个活动分支同时发生,这可以单独地或联合地执行。包括步骤1222、1224、1226和1228的分支A与图12B中的相同。分支B包括带宽估计(步骤1214和1216)并将带宽估计结果存储在存储器中(步骤1440)。
系统架构:实施例3
图15示出了根据本发明另一实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。图15的组件与图11的组件相同。然而,组件被不同地布置;其中运动向量分析器1130和带宽估计单元1140与先行MV解码器1120和视频解码器内核1510分离。先行MV解码器1120从存储器1110读取比特流以对MV进行预解码。然后将预解码的MV保存到存储器1110。由于先行MV解码器将解码的MV写入存储器1110,因此运动向量分析器需要从存储器1110检索解码的MV。由MV分析器导出的使用信息可以存储在单独的存储器1520中,该存储器可以是外部存储器或内部存储器。然而,重用信息也可以存储在存储器1110中。在重用信息存储在单独存储器1520中的情况下,视频解码器内核将从独立存储器1520检索重用信息。视频解码器内核与实施例1(即,图11)中的视频解码器内核相同。因此,解码器内核中的参考数据管理的流程图与图12A中的相同。
由于运动向量分析器1130和带宽估计单元1140与先行MV解码器1120和视频解码器内核1150分离,因此与运动向量分析器1130和带宽估计单元1140相关联的流程图示于图16。除了第一步骤之外,图16的流程图基本上与图12A的流程图相同。在图12A中,第一步骤对应于由先行MV解码器1120对运动向量进行预解码。由于先行MV解码器1120与运动向量分析器1130和带宽估计单元1140分离,因此在图16中第一步骤是从存储器加载预解码的运动向量。
系统架构:实施例4
图17示出根据本发明另一实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。如图17所示,运动向量分析器1130和带宽估计单元1710都并行地耦合到先行MV解码器1120,以接收解码的MV。运动向量分析器1130从先行MV解码器1120接收解码的MV并产生重用信息。重用信息被写入存储器1110,使得该信息可以被视频解码器内核1150使用。在这种情况下,带宽估计单元1710从先行MV解码器1120接收解码的MV,并生成带宽估计结果。由于参考数据的重用信息不可用,因此带宽估计单元必须自己导出重用信息。因此,图17中的带宽估计单元必须执行附加功能,并且图17中的带宽估计单元不同于图11中的带宽估计单元。因此,使用不同的附图标记“1710”来指定该带宽估计单元。带宽结果被写入存储器1110,使得视频解码器系统可以使用该信息来调整工作电压/频率或调整存储优先级。视频解码器内核保持与图11中的视频解码器内核相同。
图18示出了基于图17的架构的带宽估计处理的示例性流程图。在图18中,在步骤1210中使用先行MV解码器预解码MV。在步骤1810中,参考数据的重用信息由带宽估计1710基于解码的MV导出。在步骤1214中累积重用和非重用的参考数据的大小,并且在步骤1216中导出外部存储器带宽的估计结果。然后在步骤1440中将带宽估计结果存储在存储器中。图19示出了重用信息导出的流程图。在步骤1210中对MV进行预解码,并且在步骤1212中基于解码的MV来导出参考数据的重用信息。然后在步骤1910中将重用信息存储在存储器中。
系统架构:实施例5
图20示出了根据本发明另一实施例的结合运动向量分析器和带宽估计单元的示例性系统架构。在该示例中,运动向量分析器1130在视频解码器内核2010内部。再次,由于参考数据的重用信息不可用,带宽估计单元1710必须自己导出信息。
用于带宽估计处理的流程图与图18中的相同。图21示出了解码器内核中的参考数据管理的示例性流程图。视频解码器内核2010类似于图13中去掉带宽估计单元的视频解码器内核1310。因此,参考数据管理的流程图类似于图14B中的参考数据管理的流程图。然而,由于带宽估计单元不在视频解码器内核2010内部,因此在图21中省略了图14B中的处理分支B.
系统架构:实施例6
图22示出了根据本发明另一实施例的包含运动向量分析器和带宽估计单元的示例性系统架构。在该示例中,运动向量分析器1130和带宽估计单元1710都在视频解码器内核2210内部,其类似于图13中的视频解码器内核1310。然而,运动向量分析器1130和带宽估计单元1710被不同地配置。在图22中,运动向量分析器1130和带宽估计单元1710并行连接以从存储器接收MV。此外,由于参考数据的重用信息不可用,因此带宽估计单元1710必须自己导出信息。
图23示出了与视频解码器内核2210内的参考数据管理和重用信息以及估计带宽导出相关的功能的流程图。该流程图类似于图14B中的流程图。MV分析器执行参考数据的重用信息的导出(即,步骤1212)。然后将重用信息提供给参考帧提取单元1160。因此,处理流程的其余部分与图14B的分支A相同。对于带宽估计处理,带宽估计单元必须执行附加功能以导出参考数据的重用信息(即,步骤2310),并且剩余流程与图14B的分支B相同。
图24示出根据本发明的实施例的使用与用于帧间预测或帧内块复制的参考数据相关的重用信息,以最小化从外部存储器到内部存储器的数据传输的视频解码器的示例性流程图。在步骤2410中,系统接收对应于包括当前块的编码视频数据的视频比特流。如图1所示,对于一般视频解码器,将视频比特流提供给视频解码器以重构视频数据。在步骤2420中,与一个或多个编码块的一组运动向量相关联的运动信息自视频比特流中被预解码,而不存储与所述一个或多个编码块相关联的解码残差。如在本发明的各种实施例中所公开的,已经公开了用于MV预解码而不存储与编码块相关联的解码残差的技术。例如,图8示出了对整个帧的MV进行预解码的一个实施例。帧的MV被收集并插入帧数据中。另一方面,帧的切片的残差保持压缩形式。图9B-9C说明MV预解码的其它示例,而不存储通过应用代码转换将残差重新编码为压缩形式的与经编码块相关联的经解码残差。每个运动向量表示在帧间预测模式或帧内块复制模式下编码的一个块的位移向量,并且所述一个或多个编码块在当前块之后被编码。在步骤2430中基于与运动向量集合相关联的运动信息来确定关于所述一个或多个编码块的帧间预测或帧内块复制所需的参考数据的重用信息。上文已经公开了重用信息导出。例如,在图6和相关描述中,其公开了为短期重用而识别的参考数据和为长期重用而识别的参考数据。如本领域中已知的,帧间预测模式使用来自先前编码图像的参考数据和帧内块复制模式使用来自当前图像中的先前编码区域的参考数据。因此,在步骤2440中,如果以帧间预测模式或帧内块复制模式对当前块进行编码,确定当前块,并且若所需的参考数据不是存储在内部存储器中,将参考数据从外部存储器提取到内部存储器。在步骤2450中,根据重用信息来管理内部存储器中的参考数据,以减少外部存储器和内部存储器之间的数据传输。已经公开了各种参考数据管理技术。例如,在图12B中描述了用于图11中的架构的参考数据管理。根据本发明,当对当前块进行解码时,与一个或多个编码块的一组运动向量相关联的预解码运动信息是已知的。因此,这些预解码的MV允许系统更准确地估计未来块的参考数据带宽需求。结合本发明的实施例的系统能够确定什么参考数据将用于未来的块。因此,结合本发明的实施例的系统可以导致更有效的参考数据存储器使用并减少参考数据访问。
图25示出了根据本发明的实施例的系统使用估计带宽来调整系统配置的示例性流程图。在步骤2510中,解码系统接收对应于包括当前块的经编码视频数据对应的视频比特流。在步骤2520中,从视频比特流中,与在当前块之后处理的一个或多个编码块的运动向量的集合相关联的运动信息被预解码,而不存储与所述一个或多个编码块相关联的解码残差。存储与所述一个或多个编码块相关联的解码残差。在所述当前块之后解码所述一个或多个编码块。在步骤2530中,基于该组运动向量来确定关于针对所述一个或多个编码块的帧间预测所需的参考数据的重用信息。在步骤2540中,基于重用信息来确定从外部存储器访问参考数据所需的估计带宽。基于重用信息的带宽估计先前已经在本公开中公开。例如,简化的带宽估计在图10中示出。利用预解码的MV,当正在处理当前块时,可以确定将来块的重用信息。因此,可以基于重用信息来确定带宽估计。在步骤2550中,使用估计的带宽来调整系统配置。在本公开中已经公开了调整系统配置的各种方式。例如,可以调节工作电压以节省功率;可以调整工作频率以节省功率,或者可以调整存储仲裁优先级以提高访问效率或释放高优先级给具有更关键的带宽要求的其他功能组件。
上面所示的流程图旨在说明并入本发明的实施例的视频编码的示例。在不脱离本发明的精神的情况下,本领域技术人员可以修改每个步骤,重新排列步骤,分割步骤或组合步骤以实践本发明。
图24和图25中的流程图可以对应于要在所公开的发明的计算机、移动设备、数字信号处理器或可编程设备上执行的软件程序代码。程序代码可以用诸如C++的各种编程语言编写。该流程图还可以对应于基于硬件的实现,如一个或多个电子电路(例如专用集成电路(application specific integrated circuits,简写为ASIC)和现场可编程门阵列(field programmable gate array,简写为FPGA))或处理器(例如数字信号处理器(DSP))。
呈现上述描述是为了使本领域普通技术人员能够实施在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他实施例。因此,本发明不旨在限于所示出和描述的特定实施例,而是符合与本文公开的原理和新颖特征一致的最宽范围。在上述详细描述中,示出了各种特定细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解,可以实践本发明。
如上所述的本发明的实施例可以以各种硬件,软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的电路或者集成到视频压缩软件中的程序编码,以执行这里描述的处理。本发明的实施例还可以是在数字信号处理器(DSP)上执行以执行本文所述的处理的程序编码。本发明还可以涉及由计算机处理器,数字信号处理器,微处理器或现场可编程门阵列(FPGA)执行的多个功能。这些处理器可以被配置为通过执行定义本发明所体现的特定方法的机器可读软件编码或固件编码来执行根据本发明的特定任务。软件编码或固件编码可以用不同的编程语言和不同的格式或样式来开发。软件编码也可以针对不同的目标平台编译。然而,软件代码的不同的编码格式,风格和语言以及配置编码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他具体形式实施。所描述的示例在所有方面被认为仅是说明性的而不是限制性的。因此,本发明的范围由所附权利要求而不是前面的描述表示。在权利要求的等同物的含义和范围内的所有改变将被包括在其范围内。

Claims (23)

1.一种参考数据重用方法,用于解码视频解码器中的视频,所述参考数据重用方法包括:
接收对应于包括当前块的编码视频数据的视频比特流;
从所述视频比特流中,预解码与一个或多个编码块的运动向量集合相关联的运动信息,而不存储与所述一个或多个编码块相关联的解码残差,其中每个运动向量表示在帧间预测模式或帧内块复制模式下编码的一个块的位移向量,并且所述一个或多个编码块在所述当前块之后编码;
基于与所述运动向量集合相关联的所述运动信息来确定关于所述一个或多个编码块的所述帧间预测或所述帧内块复制所需的参考数据的重用信息;
如果以所述帧间预测模式或所述帧内块复制模式对所述当前块进行编码,则确定所述当前块的所需参考数据是否在内部存储器中,并且如果所述所需参考数据未存储在所述内部存储器中,从外部存储器将参考数据提取到所述内部存储器;以及
根据所述重用信息管理所述内部存储器中的所述参考数据,以减少所述外部存储器和所述内部存储器之间的数据传输。
2.根据权利要求1所述的参考数据重用方法,其特征在于,所述根据所述重用信息管理所述内部存储器中的所述参考数据包括:
如果所述重用信息指示目标参考数据预期将由所述一个或多个编码块使用,则增加所述目标参考数据保持在所述内部存储器中的寿命。
3.根据权利要求1所述的参考数据重用方法,其特征在于,所述确定关于针对所述一个或多个编码块的帧间预测或帧内块复制所需的参考数据的所述重用信息包括确定在来自不同宏块或编码树单元行的所述一个或多个编码块之间重用的第一参考数据的长期数据重用,以及确定在同一宏块行或编码树行中的所述一个或多个编码块之间重用的第二参考数据的短期数据重用。
4.根据权利要求3所述的参考数据重用方法,其特征在于,所述内部存储器包括L1高速缓存和L2高速缓存,所述第一参考数据的所述长期数据重用被存储在所述L2高速缓存中,并且所述第二参考数据的所述短期数据重用存储在所述L1高速缓存中。
5.根据权利要求1所述的参考数据重用方法,其特征在于,关于所述所需参考数据的存储器地址的所述重用信息是使用包括参考帧索引和坐标、存储器地址、具有或不具有对应运动向量的解码块索引或者其任何组合的所述运动信息而获得的。
6.根据权利要求1所述的参考数据重用方法,其特征在于,关于所述所需参考数据的存储器地址的所述重用信息包括由所述一个或多个编码块要使用的每个参考数据区域的参考次数和索引、关于每个参考数据区域在所述内部存储器中要保留的时间长度的加权指示,或其任何组合。
7.根据权利要求1所述的参考数据重用方法,其特征在于,还包括应用熵解码以恢复与所述一个或多个编码块相关联的编码残差数据,以及应用简单熵编码来重新编码所述编码残差数据以供存储。
8.根据权利要求1所述的参考数据重用方法,其特征在于,还包括:
在确定所述重用信息之后,将关于所述一个或多个编码块的所述帧间预测或所述帧内块复制所需的所述参考数据的所述重用信息存储在所述外部存储器中;以及
从所述外部存储器检索关于所述一个或多个编码块的所述帧间预测或所述帧内块复制所需的所述参考数据的所述重用信息,以供所述管理所述内部存储器中的所述参考数据使用。
9.根据权利要求1所述的参考数据重用方法,其特征在于,还包括:
在与所述运动向量集合相关联的所述运动信息被预解码之后,将与所述运动向量集合相关联的所述运动信息存储在所述外部存储器中;以及
从所述外部存储器检索与所述运动向量集合相关联的所述运动信息以供所述确定关于所述一个或多个编码块的所述帧间预测或所述帧内块复制所需的参考数据的所述重用信息使用。
10.根据权利要求1所述的参考数据重用方法,其特征在于,还包括:
在与所述运动向量集合相关联的所述运动信息被预解码之后,将与所述运动向量集合相关联的所述运动信息存储在所述外部存储器中;
从所述外部存储器检索与所述运动向量集合相关联的所述运动信息,以供所述确定关于所述一个或多个编码块的所述帧间预测或所述帧内块复制所需的参考数据的所述重用信息使用;
在确定所述重用信息之后,将关于所述一个或多个编码块的所述帧间预测或所述帧内块复制所需的所述参考数据的所述重用信息存储在所述外部存储器中;以及
从所述外部存储器检索关于所述一个或多个编码块的所述帧间预测或所述帧内块复制所需的所述参考数据的所述重用信息,以供所述管理所述内部存储器中的所述参考数据使用。
11.根据权利要求1所述的参考数据重用方法,其特征在于,还包括:基于所述重用信息,确定从所述外部存储器访问所述参考数据所需的估计带宽;以及根据所述估计带宽来调整系统配置。
12.根据权利要求11所述的参考数据重用方法,其特征在于,所述调整所述系统配置包括调整所述视频解码器的至少一个处理器或单元的工作电压或工作频率以用于节电、调整存储仲裁优先级以提高存取效率、释放高优先级到具有比所述参考数据更关键的带宽需求的其他功能组件,或其组合。
13.根据权利要求11所述的参考数据重用方法,其特征在于,关于从所述外部存储器访问所述参考数据所需的所述估计带宽的信息存储在所述外部存储器中。
14.根据权利要求11所述的参考数据重用方法,其特征在于,在与所述运动向量集合相关联的所述运动信息被预解码之后,与所述运动向量集合相关联的所述运动信息被直接提供以确定所述估计带宽而不存储到所述外部存储器。
15.一种视频解码器,其特征在于,所述视频解码器包括:
外部存储器,用于存储包括参考数据的数据;
视频解码器内核,耦接于所述外部存储器以接收所述参考数据,其中所述视频解码器内核包括运动补偿单元、内部存储器和参考数据提取单元,其中所述运动补偿单元使用存储在所述内部存储器中的当前参考数据对以帧间预测模式或帧内块复制模式编码的多个块执行运动补偿重构,并且所述参考数据提取单元确定在帧间预测模式或帧内块复制模式下编码的当前块的所需参考数据是否在所述内部存储器中,并且如果所述所需参考数据没有存储在所述内部存储器中,则将所述当前参考数据从所述外部存储器提取到所述内部存储器;
先行运动向量解码器,耦接于所述外部存储器,以接收视频比特流,其中所述先行运动向量解码器解码与一个或多个编码块的运动向量集合相关联的运动信息,而不存储与所述一个或多个编码块相关联的解码残差,并且其中每个运动向量表示在帧间预测模式或帧内复制模式下编码的一个块的位移向量,并且所述一个或多个编码块在所述当前块之后被编码;以及
运动向量分析器单元,用于基于与所述运动向量集合相关联的所述运动信息来确定关于所述一个或多个编码块的帧间预测或帧内块复制所需的参考数据的重用信息;以及
其中所述视频解码器被配置为使当前解码器块存储在所述内部存储器中;以及
所述视频解码器被配置为根据所述重用信息管理所述内部存储器中的所述参考数据,以减少所述外部存储器和所述内部存储器之间的数据传输。
16.根据权利要求15所述的视频解码器,其特征在于,所述运动向量分析器单元从所述先行MV解码器接收与所述一个或多个编码块的所述运动向量集合相关联的所述运动信息,并且所述视频解码器内核中的所述参考数据提取单元从所述外部存储器接收所述重用信息。
17.根据权利要求15所述的视频解码器,其特征在于,来自所述先行运动向量解码器的所述运动信息存储在所述外部存储器中,并且所述运动向量分析器单元从所述外部存储器接收所述运动信息。
18.根据权利要求17所述的视频解码器,其特征在于,所述运动向量分析器单元位于所述视频解码器内核内。
19.根据权利要求15所述的视频解码器,其特征在于,还包括带宽估计单元,用于基于所述重用信息来估计从所述外部存储器访问所述参考数据所需的带宽。
20.根据权利要求19所述的视频解码器,其特征在于,所述带宽估计单元耦接于所述运动向量分析器单元以直接从所述运动向量分析器单元接收所述重用信息。
21.根据权利要求19所述的视频解码器,其特征在于,所述带宽估计单元耦合到所述外部存储器,以存储关于从所述外部存储器访问所述参考数据所需的估计带宽的信息。
22.根据权利要求19所述的视频解码器,其特征在于,所述运动向量分析器单元和所述带宽估计单元位于所述视频解码器内核内。
23.一种带宽估计方法,用于解码视频解码器中的视频,所述带宽估计方法包括:
接收对应于包括当前块的编码视频数据的视频比特流;
从所述视频比特流中,预解码与所述当前块之后处理的一个或多个编码块的运动向量集合相关联的运动信息,而不存储与所述一个或多个编码块相关联的解码残差,其中所述一个或多个编码块在所述当前块之后被解码;
基于所述运动向量集合确定关于所述一个或多个编码块的帧间预测或帧内块复制所需的参考数据的重用信息;
基于所述重用信息来确定从外部存储器访问参考数据所需的估计带宽;以及
根据所述估计带宽调整系统配置。
CN201611199369.5A 2015-12-23 2016-12-22 参考数据重用方法、带宽估计方法及相关视频解码器 Withdrawn CN107018418A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562387276P 2015-12-23 2015-12-23
US62/387,276 2015-12-23
US15/386,011 US20170188033A1 (en) 2015-12-23 2016-12-21 Method and Apparatus of Bandwidth Estimation and Reduction for Video Coding
US15/386,011 2016-12-21

Publications (1)

Publication Number Publication Date
CN107018418A true CN107018418A (zh) 2017-08-04

Family

ID=59086901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611199369.5A Withdrawn CN107018418A (zh) 2015-12-23 2016-12-22 参考数据重用方法、带宽估计方法及相关视频解码器

Country Status (2)

Country Link
US (1) US20170188033A1 (zh)
CN (1) CN107018418A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020143589A1 (zh) * 2019-01-07 2020-07-16 华为技术有限公司 视频图像解码、编码方法及装置
WO2020177661A1 (en) * 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Order-based updating for intra block copy in video coding
US11228775B2 (en) 2019-02-02 2022-01-18 Beijing Bytedance Network Technology Co., Ltd. Data storage in buffers for intra block copy in video coding
US11375217B2 (en) 2019-02-02 2022-06-28 Beijing Bytedance Network Technology Co., Ltd. Buffer management for intra block copy in video coding
CN114710676A (zh) * 2018-09-21 2022-07-05 腾讯美国有限责任公司 视频解码的方法、装置及可读介质
WO2022206212A1 (zh) * 2021-04-01 2022-10-06 Oppo广东移动通信有限公司 视频数据存储方法、装置、电子设备和可读存储介质
US11523107B2 (en) 2019-07-11 2022-12-06 Beijing Bytedance Network Technology Co., Ltd. Bitstream conformance constraints for intra block copy in video coding
US11528476B2 (en) 2019-07-10 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
US11546581B2 (en) 2019-03-04 2023-01-03 Beijing Bytedance Network Technology Co., Ltd. Implementation aspects in intra block copy in video coding
US11575888B2 (en) 2019-07-06 2023-02-07 Beijing Bytedance Network Technology Co., Ltd. Virtual prediction buffer for intra block copy in video coding
US11882287B2 (en) 2019-03-01 2024-01-23 Beijing Bytedance Network Technology Co., Ltd Direction-based prediction for intra block copy in video coding

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10798402B2 (en) * 2017-10-24 2020-10-06 Google Llc Same frame motion estimation and compensation
WO2020113156A1 (en) * 2018-11-30 2020-06-04 Tencent America LLC Method and apparatus for video coding
CN114727116A (zh) * 2022-04-06 2022-07-08 展讯通信(上海)有限公司 编码方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1732327A1 (en) * 2004-03-09 2006-12-13 Matsushita Electric Industrial Co., Ltd. Encoded data decoding apparatus
CN101127902A (zh) * 2006-08-17 2008-02-20 富士通株式会社 具有用于运动向量存储的地址管理机制的帧间预测处理器
CN101170701A (zh) * 2007-11-16 2008-04-30 四川虹微技术有限公司 视频编解码系统中去块滤波方法及装置
CN101309405A (zh) * 2007-05-14 2008-11-19 华为技术有限公司 参考数据载入的方法及装置
CN101668207A (zh) * 2009-09-25 2010-03-10 天津大学 Mpeg到avs视频编码转换系统
US20120189055A1 (en) * 2011-01-21 2012-07-26 Qualcomm Incorporated Motion vector prediction
CN102625093A (zh) * 2011-01-27 2012-08-01 联合信源数字音视频技术(北京)有限公司 一种基于avs的帧间预测方法
CN103533366A (zh) * 2012-07-03 2014-01-22 展讯通信(上海)有限公司 用于视频运动补偿的缓存方法与装置
US20150020073A1 (en) * 2011-10-25 2015-01-15 Dell Products, Lp Network Traffic Control by Association of Network Packets and Processes

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1732327A1 (en) * 2004-03-09 2006-12-13 Matsushita Electric Industrial Co., Ltd. Encoded data decoding apparatus
CN101127902A (zh) * 2006-08-17 2008-02-20 富士通株式会社 具有用于运动向量存储的地址管理机制的帧间预测处理器
CN101309405A (zh) * 2007-05-14 2008-11-19 华为技术有限公司 参考数据载入的方法及装置
CN101170701A (zh) * 2007-11-16 2008-04-30 四川虹微技术有限公司 视频编解码系统中去块滤波方法及装置
CN101668207A (zh) * 2009-09-25 2010-03-10 天津大学 Mpeg到avs视频编码转换系统
US20120189055A1 (en) * 2011-01-21 2012-07-26 Qualcomm Incorporated Motion vector prediction
CN102625093A (zh) * 2011-01-27 2012-08-01 联合信源数字音视频技术(北京)有限公司 一种基于avs的帧间预测方法
US20150020073A1 (en) * 2011-10-25 2015-01-15 Dell Products, Lp Network Traffic Control by Association of Network Packets and Processes
CN103533366A (zh) * 2012-07-03 2014-01-22 展讯通信(上海)有限公司 用于视频运动补偿的缓存方法与装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710676A (zh) * 2018-09-21 2022-07-05 腾讯美国有限责任公司 视频解码的方法、装置及可读介质
WO2020143589A1 (zh) * 2019-01-07 2020-07-16 华为技术有限公司 视频图像解码、编码方法及装置
US11228775B2 (en) 2019-02-02 2022-01-18 Beijing Bytedance Network Technology Co., Ltd. Data storage in buffers for intra block copy in video coding
US11375217B2 (en) 2019-02-02 2022-06-28 Beijing Bytedance Network Technology Co., Ltd. Buffer management for intra block copy in video coding
US11438613B2 (en) 2019-02-02 2022-09-06 Beijing Bytedance Network Technology Co., Ltd. Buffer initialization for intra block copy in video coding
WO2020177661A1 (en) * 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Order-based updating for intra block copy in video coding
US11956438B2 (en) 2019-03-01 2024-04-09 Beijing Bytedance Network Technology Co., Ltd. Direction-based prediction for intra block copy in video coding
US11882287B2 (en) 2019-03-01 2024-01-23 Beijing Bytedance Network Technology Co., Ltd Direction-based prediction for intra block copy in video coding
US11546581B2 (en) 2019-03-04 2023-01-03 Beijing Bytedance Network Technology Co., Ltd. Implementation aspects in intra block copy in video coding
US11985308B2 (en) 2019-03-04 2024-05-14 Beijing Bytedance Network Technology Co., Ltd Implementation aspects in intra block copy in video coding
US11575888B2 (en) 2019-07-06 2023-02-07 Beijing Bytedance Network Technology Co., Ltd. Virtual prediction buffer for intra block copy in video coding
US11528476B2 (en) 2019-07-10 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
US11936852B2 (en) 2019-07-10 2024-03-19 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
US11523107B2 (en) 2019-07-11 2022-12-06 Beijing Bytedance Network Technology Co., Ltd. Bitstream conformance constraints for intra block copy in video coding
WO2022206212A1 (zh) * 2021-04-01 2022-10-06 Oppo广东移动通信有限公司 视频数据存储方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
US20170188033A1 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
CN107018418A (zh) 参考数据重用方法、带宽估计方法及相关视频解码器
CN101273638B (zh) 图像处理装置以及图像处理方法
US10681363B2 (en) Lossless compression method and system applied to hardware video decoding
US9948934B2 (en) Estimating rate costs in video encoding operations using entropy encoding statistics
CN103686044B (zh) 像素缓冲
CN101107861A (zh) 重叠平滑与环路内解块之分段处理
JP5012647B2 (ja) 画像処理装置およびその方法、並びにプログラム
US20110002396A1 (en) Reference Frames Compression Method for A Video Coding System
KR100772379B1 (ko) 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
CN102792690B (zh) 基于分类环路滤波器的方法和装置
US20150277776A1 (en) Data storage control apparatus and data storage control method
KR20070028404A (ko) 픽처를 저장하는 방법, 비디오 복호기, 비디오 부호기,휴대 장치 및 컴퓨터 프로그램 제품
CN101399991A (zh) 一种视频解码的方法和装置
CN103634604B (zh) 一种面向多核dsp运动估计的数据预取方法
CN106921862A (zh) 多核解码器系统和视频解码方法
CN108063947A (zh) 一种基于像素纹理的无损参考帧压缩方法
CN103248891B (zh) 一种基于n-bit截尾量化和块内二维预测的参考帧压缩方法
CN101790096A (zh) 基于二重预测的编解码方法及装置
CN117395381A (zh) 一种遥测数据的压缩方法、装置及设备
US8707149B2 (en) Motion compensation with error, flag, reference, and decompressed reference data
CN104581173A (zh) 软解码验证模型平台
KR20130006578A (ko) 비표준 벡터 양자화 코더를 이용한 비디오 표준을 따르는 레지듀얼 코딩
CN101720043A (zh) 基于多模式预测的成像光谱图像压缩方法
CN114727116A (zh) 编码方法及装置
CN101765008A (zh) 视频编解码方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170804