CN115086706B - 数据缓存方法及芯片 - Google Patents

数据缓存方法及芯片 Download PDF

Info

Publication number
CN115086706B
CN115086706B CN202210999430.3A CN202210999430A CN115086706B CN 115086706 B CN115086706 B CN 115086706B CN 202210999430 A CN202210999430 A CN 202210999430A CN 115086706 B CN115086706 B CN 115086706B
Authority
CN
China
Prior art keywords
data
video data
level cache
system level
video
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
CN202210999430.3A
Other languages
English (en)
Other versions
CN115086706A (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.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202210999430.3A priority Critical patent/CN115086706B/zh
Publication of CN115086706A publication Critical patent/CN115086706A/zh
Application granted granted Critical
Publication of CN115086706B publication Critical patent/CN115086706B/zh
Priority to TW112131302A priority patent/TW202410698A/zh
Priority to PCT/CN2023/113941 priority patent/WO2024037650A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种数据缓存方法及芯片,所述芯片包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块,以及预取数据单元,所述方法包括:根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据;确定外部存储器中所述目标视频数据的数据存储地址;所述预取数据单元根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据,本申请可提高数据缓存效率,减少数据访存,提高视频数据处理的计算效率,降低功耗。

Description

数据缓存方法及芯片
技术领域
本申请涉及视频数据处理技术领域,尤其涉及一种数据缓存方法及芯片。
背景技术
本部分旨在为权利要求书中陈述的本申请实施例提供背景或上下文。此处的描述不因为包括在本部分中就当然的是现有技术。
现有技术中,芯片中的视频数据处理模块为了减少数据访存,通常会缓存已申请过的数据,为了减少计算等待时间和提高视频数据计算效率,通常会从外部存储器中预取部分视频数据,以用于后续的数据处理。但是,现有技术中视频数据的缓存或预取没有考虑视频数据与芯片中其他数据的区别,视频数据缓存或预取的数据存储方式不灵活,缓存效率较低。
发明内容
本申请的一个目的在于提供一种数据缓存方法,提高数据缓存效率,减少数据访存,提高视频数据处理的计算效率,降低功耗。本申请的另一个目的在于提供一种芯片。本申请再一个目的在于提供一种计算机设备。本申请的还一个目的在于提供一种可读介质。本申请的还一个目的在于提供一种计算机程序产品。
为了达到以上目的,本申请一方面公开了一种数据缓存方法,用于芯片,所述芯片包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块以及预取数据单元,所述方法包括:
根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据;
确定外部存储器中所述目标视频数据的数据存储地址;
所述预取数据单元根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据。
优选的,所述方法进一步包括:
将所述目标视频数据的至少部分存储至所述视频数据处理子模块对应的预取数据单元。
优选的,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述方法进一步包括:
将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。
优选的,所述根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据包括:
根据待缓存视频数据的视频数据处理子模块的标识信息确定数据类型;
根据所述数据类型确定数据格式和预取数据量;
根据所述数据格式和预取数据量确定待获取的目标视频数据。
优选的,所述数据类型包括三维空间线性水平递增类型,所述根据所述数据类型确定数据格式和预取数据量包括:
根据所述数据类型确定数据格式;
根据所述数据格式和所述三维空间线性水平递增类型的指定水平步长和数据数量,确定所述预取数据量。
优选的,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述方法进一步包括:
将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;
将所述目标视频数据中的预取视频数据存储至对应的视频***级缓存模块。
优选的,所述数据类型包括三维空间相邻依赖类型,所述根据所述数据类型确定数据格式和预取数据量包括:
根据所述数据类型确定数据格式;
根据所述数据格式和所述三维空间相邻依赖类型的指定相邻方位,确定所述预取数据量。
优选的,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述方法进一步包括:
将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;
将所述目标视频数据中的预取视频数据存储至对应的视频***级缓存模块。
优选的,所述数据类型包括有限三维空间突变类型,所述根据所述数据类型确定数据格式和预取数据量包括:
根据所述数据类型确定数据格式;
根据所述数据格式和所述有限三维空间突变类型的突变地址,确定所述预取数据量。
优选的,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述方法进一步包括:
将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;
将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块。
优选的,所述根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据包括:
所述视频***级缓存模块根据所述数据存储地址形成数据获取请求,将所述数据获取请求发送至所述芯片***级缓存模块;
所述芯片***级缓存模块根据所述数据获取请求从所述外部存储器获取所述数据存储地址中的视频数据,得到所述目标视频数据。
优选的,所述将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块包括:
根据所述标识信息确定对应的替换算法;
根据所述替换算法将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。
优选的,所述方法进一步包括:
根据一个视频数据处理子模块传输的预取视频数据获取请求确定所述一个视频数据处理子模块对应的预取数据单元中的缓存区域;
根据所述预取视频数据获取请求获取所述缓存区域中预取的目标视频数据;
将所述目标视频数据的至少部分缓存至所述一个视频数据处理子模块。
本申请还公开了一种芯片,包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块、中控模块和预取数据单元;
所述中控模块被配置为根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据;以及确定外部存储器中所述目标视频数据的数据存储地址;
所述预取数据单元被配置为根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据。
本申请还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述程序时实现如上所述方法。
本申请还公开了一种计算机可读介质,其上存储有计算机程序,
该程序被处理器执行时实现如上所述方法。
本申请还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上所述方法。
本申请的芯片包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块和预取数据单元,基于该芯片的数据缓存方法可根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据,确定外部存储器中所述目标视频数据的数据存储地址,预取数据单元根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据。由此,本申请的芯片设置不同的视频数据处理子模块以存储不同数据类型的目标视频数据,根据视频数据处理子模块的标识信息可确定待缓存视频数据的数据类型,从而可确定待获取的目标视频数据,以从外部存储器获取到目标视频数据。本申请可根据标识信息确定数据类型,根据数据类型确定目标视频数据的范围,将视频数据与芯片***数据区分,提高数据缓存效率,减少数据访存,从而进一步提高视频数据处理的计算效率,降低功耗。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请数据缓存方法具体实施例的流程图;
图2示出本申请数据缓存方法具体实施例目标视频数据存储的流程图;
图3示出本申请数据缓存方法具体实施例S400的流程图;
图4示出本申请数据缓存方法具体实施例S100的流程图;
图5示出本申请数据缓存方法具体实施例S200的流程图;
图6示出本申请数据缓存方法具体实施例S300的流程图;
图7示出本申请数据缓存方法具体实施例S500的流程图;
图8示出本申请数据缓存方法具体实施例数据类型为三维空间线性水平递增类型时S120的流程图;
图9示出本申请数据缓存方法具体实施例数据类型为三维空间线性水平递增类型时S300的流程图;
图10示出本申请数据缓存方法具体实施例数据类型为三维空间相邻依赖类型时S120的流程图;
图11示出本申请数据缓存方法具体实施例数据类型为三维空间相邻依赖类型时S300的流程图;
图12示出本申请数据缓存方法具体实施例数据类型为有限三维空间突变类型时S120的流程图;
图13示出本申请数据缓存方法具体实施例数据类型为有限三维空间突变类型时S300的流程图;
图14示出本申请数据缓存方法具体实施例芯片的结构图;
图15示出适于用来实现本申请实施例的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,现有芯片中可包括视频数据处理模块,视频数据处理模块可获取外部存储器存储的视频数据并进行视频数据处理,并可缓存或预取部分视频数据以用于再次或后续视频数据的获取,提高视频数据处理的计算效率,减少数据访存。视频数据处理过程为通过视频数据处理模块中的具有不同功能的子模块对视频数据进行顺序处理或单独处理的数据处理过程。例如,视频数据处理模块可包括视频显示处理和视频编解码等子模块。此外,芯片还可实现其他芯片***级功能,由此,芯片中还存储有芯片***数据。
现有技术中,视频数据处理模块读取的视频数据在时间和空间上可能存在重合,视频数据处理模块一般会缓存已申请过的数据,提高再次使用申请过的视频数据的获取速度,在一定程度上可以减少视频数据的访存。视频数据处理模块读取的视频数据在时间和空间上可能存在递增特点,可预取部分视频数据用于后续的视频数据处理,减少后续视频数据处理时计算的等待时间,提高计算效率。
由于芯片的存储空间通常比较小,在存储空间不足或需要定期清理缓存或预取的视频数据时,芯片会基于替换算法将缓存或预取的视频数据替换为新的视频数据或删掉部分缓存数据。
但是,首先,目前的视频数据缓存或预取没有考虑芯片的芯片***数据与视频数据各自的数据特点,视频数据处理模块中存储视频数据与芯片存储***数据通常采用一样的缓存策略,视频数据处理模块对于数据的读取效率和延时受多种因素影响,读取和处理效率低。其次,视频数据处理模块通常细分多种视频数据排列格式,每种格式使用单独的内存存储。例如,行扫描数据排列方式、块数据排列方式、码流顺序排列方式、上下数据顺序排列方式、左右数据顺序排列方式和前后帧同位置顺序排列方式等等。每种格式存储的视频数据的数据量与该格式占用空间相关,不能灵活配置。
目前,芯片通常采用统一的缓存机制,并采用固定的替换算法处理缓存中的视频数据。常用的替换算法主要有以下三种:
1.随机算法:由于主存中存储视频数据的块比缓存(Cache)中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映射到的一组(或一个)Cache块已全部被占用的情况。这时,需要被迫腾出其中的某一块,以接纳新调入的块。
2.先进先出(First In First Out,FIFO)算法:遵循先入先出原则,若当前Cache被填满,则替换最早进入Cache的那个块。
3.近期最少使用等待算法(Least Recently Used,LRU):最近最少被使用的块被替换,也就是替换最后一次访问时间最久的那个块。
但是,现有的芯片通常从芯片***通用性角度考虑,没有考虑到芯片***数据与视频数据的不同特点,只采用以上替换算法中的有限算法作为替换算法,导致视频数据处理模块的存储效率不高,不同场景下芯片的缓存存储空间甚至无法有效利用。此外,芯片没有考虑到视频数据处理模块要求的数据排列特点,没有考虑到与视频数据处理模块缓存数据的互补性,芯片***数据占用存储空间大,没有预取机制,数据延时长。本申请将芯片设置为包括视频数据处理模块和预取数据单元的多级存储结构,将待缓存视频数据返回至视频数据处理模块,将预取视频数据存储至预取数据单元,可为缓存或预取视频数据提供更大的存储空间,视频数据的存储方式更灵活。本申请还可根据标识信息确定数据类型,根据数据类型确定目标视频数据的范围,将视频数据与芯片***数据区分,提高数据缓存效率,减少数据访存,从而进一步提高视频数据处理的计算效率,降低功耗。此外,本申请可根据标识信息确定数据类型,为不同数据类型设置不同的替换算法,提高视频数据的存储和替换效率。
下面首先对本申请的基本原理进行具体说明。本实施例公开了一种数据缓存方法,可用于芯片。其中,该芯片可以是能够实现2D图形处理、3D图形处理和视频数据处理等至少一种数据处理功能的芯片。所述芯片包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块和预取数据单元。如图1所示,本实施例中,所述方法包括:
S100:根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据。
S200:确定外部存储器中所述目标视频数据的数据存储地址。
S300:所述预取数据单元根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据。
本申请的芯片包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块和预取数据单元,基于该芯片的数据缓存方法可根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据,确定外部存储器中所述目标视频数据的数据存储地址,预取数据单元可根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据。由此,本申请的芯片设置不同的视频数据处理子模块以存储不同数据类型的目标视频数据,根据视频数据处理子模块的标识信息可确定待缓存视频数据的数据类型,从而可确定待获取的目标视频数据,以从外部存储器获取到目标视频数据。本申请可根据标识信息确定数据类型,根据数据类型确定目标视频数据的范围,将视频数据与芯片***数据区分,提高数据缓存效率,减少数据访存,从而进一步提高视频数据处理的计算效率,降低功耗。
在优选的实施方式中,如图2所示,所述方法进一步包括:
S400:将所述目标视频数据的至少部分存储至所述视频数据处理子模块对应的预取数据单元。
具体的,在该优选的实施方式中,将芯片设置为包括视频数据处理子模块和预取数据单元的两级存储结构,从而可将至少部分的目标视频数据存储至预取数据单元,可为缓存或预取的视频数据提供更大的存储空间,视频数据的存储方式更灵活。当然,在其他实施方式中,也可将获取的目标视频数据全部返回至对应的视频数据处理子模块,本领域技术人员可根据实际需求设置,本申请对此并不作限定。
在优选的实施方式中,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,如图3所示,所述S400进一步包括:
S410:将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。
具体的,目标视频数据可包括待缓存视频数据和预取视频数据,其中,待缓存视频数据为待缓存视频数据的视频数据处理子模块当前需要获取的视频数据,预取视频数据为根据数据类型确定的视频数据处理子模块后续可能需要获取的视频数据。
在该优选的实施方式中,将芯片设置为包括视频数据处理子模块、芯片***级缓存模块和视频***级缓存模块的多级存储结构,以支持对不同数据类型的视频数据采用不同的缓存策略。其中,可为不同数据类型预设不同的缓存策略,从而在根据标识信息确定数据类型时,可同时确定对应的缓存策略。
具体的,针对不同数据类型的视频数据,可基于对应的缓存策略将待缓存视频数据直接发送至对应的视频数据处理子模块,或者存储在预取数据单元的视频***级缓存模块,后续视频数据处理子模块可直接从视频***级缓存模块请求并获取该待缓存视频数据,或者还可以将待缓存视频数据的一部分存储至对应的视频数据处理子模块,另一部分存储至对应的视频***级缓存模块。对于预取视频数据,可基于对应的缓存策略将预取视频数据存储在预取数据单元的视频***级缓存模块或者芯片***级缓存模块,后续视频数据处理子模块可直接从视频***级缓存模块或芯片***级缓存模块请求并获取该预取视频数据,或者还可以将预取视频数据的一部分存储至对应的视频***级缓存模块,另一部分存储至对应的芯片***级缓存模块。由此,多级存储结构的芯片可为缓存或预取的视频数据提供更大的存储空间,视频数据的存储方式更灵活。
当然,在其他实施方式中,可将目标视频数据中的待缓存视频数据存储至芯片***级缓存模块,也可将目标视频数据中的预取视频数据直接存储至对应的视频数据处理子模块,本领域技术人员可根据实际需求设置,本申请对此并不作限定。
在优选的实施方式中,如图4所示,所述S100根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据包括:
S110:根据待缓存视频数据的视频数据处理子模块的标识信息确定数据类型。
S120:根据所述数据类型确定数据格式和预取数据量。
S130:根据所述数据格式和预取数据量确定待获取的目标视频数据。
具体的,在该优选的实施方式中,为不同数据类型的视频数据处理子模块预设对应的标识信息。从而,对于待缓存视频数据的视频数据处理子模块,可获取该视频数据处理子模块对应的标识信息,根据标识信息确定该视频数据处理子模块待缓存的视频数据的数据类型。示例性的,数据类型可包括三维空间线性水平递增类型、三维空间相邻依赖类型和有限三维空间突变类型等数据类型的至少之一。
由此,不同的数据类型的视频数据的数据格式不同根据确定的视频数据处理子模块的数据类型可确定数据格式和预取数据量,进而根据数据类型确定待缓存视频数据和预取视频数据的外部存储器中存储的目标视频数据的范围,进而可从外部存储器中获取目标视频数据。
在一个具体例子中,标识信息可包括数据类型、预取数据信息和预取地址步长等信息的至少之一,根据数据类型可确定待缓存或预取的视频数据的数据格式,根据预取数据信息和预取地址步长可确定待预取的预取数据量,数据格式对应的一个单位的视频数据即为待缓存视频数据,预取数据量的视频数据为预取视频数据,待缓存视频数据和预取视频数据即为待从外部存储器获取的目标视频数据。
本申请针对不同的视频数据处理子模块中缓存的视频数据的数据类型的特点,通过标识信息设置不同的视频数据缓存和预取机制,即通过设置视频数据处理子模块的标识信息来设定待缓存视频数据和预取视频数据的格式和范围。并配合使用芯片的视频数据处理子模块和预取数据单元的多级缓存结构实现芯片中数据的灵活存储,扩大视频数据的存储空间,在更大程度上减少数据访存带宽,减少数据访存延时,提高数据使用效率,进一步提高计算效率,降低功耗。
在优选的实施方式中,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,如图5所示,所述S200根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据包括:
S210:所述视频***级缓存模块根据所述数据存储地址形成数据获取请求,将所述数据获取请求发送至所述芯片***级缓存模块。
S220:所述芯片***级缓存模块根据所述数据获取请求从所述外部存储器获取所述数据存储地址中的视频数据,得到所述目标视频数据。
可以理解的是,在该优选的实施方式中,预取数据单元包括芯片***级缓存模块和视频***级缓存模块。其中,芯片***级缓存模块可用于存储整个芯片的芯片***数据,也可用于存储各视频数据处理子模块预取的预取视频数据,还可与外部设备(例如,外部存储器)对接,实现芯片与外部设备的数据交互。视频***级缓存模块可用于存储各视频数据处理子模块预取的预取视频数据。
从而,当子模块需要缓存视频数据时,各子模块可向视频***级缓存模块发送缓存视频数据的请求,视频***级缓存模块在接收到一个子模块传输的缓存视频数据的请求后,获取该子模块的标识信息得到目标视频数据。
通常情况下,芯片中预存了外部存储器中所有地址存储的数据,从而可根据目标视频数据和预存的外部存储器中存储的数据确定目标视频数据在外部存储器中的数据存储地址,根据数据存储地址形成数据获取请求并将该数据获取请求传输至芯片***级缓存模块,通过芯片***级缓存模块与外部存储器的数据交互获取外部存储器存储的目标视频数据。当然,在实际应用中,还可通过其他方式确定目标视频数据在外部存储器中的数据存储地址,本领域技术人员可根据实际情况设置外部存储器的数据存储情况的获取方式,本申请在此并不作限定。
其中,示例性的,外部存储器优选的为非易失性存储器,包括但不限于DDR类型的存储器。
在一个具体例子中,芯片***级缓存模块和视频***级缓存模块通过总线实现信息的双向传输,则视频***级缓存模块形成的数据获取请求可通过总线传输至芯片***级缓存模块,进而芯片***级缓存模块可根据数据获取请求访问外部存储器以获取目标视频数据。
在优选的实施方式中,如图6所示,所述S300将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块具体包括:
S310:根据所述标识信息确定对应的替换算法。
S320:根据所述替换算法将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。
具体的,标识信息中进一步还可包括针对不同视频数据处理子模块设置的替换算法,从而可通过设置标识信息中的替换算法的形式,针对不同数据类型设置不同的缓存数据替换策略,即通过替换算法可细分不同类型视频数据的目标视频数据的替换方式,提高缓存和预取视频数据存储的灵活性。
在优选的实施方式中,如图7所示,所述方法进一步包括S500:
S510:根据一个视频数据处理子模块传输的预取视频数据获取请求确定所述一个视频数据处理子模块对应的预取数据单元中的缓存区域。
S520:根据所述预取视频数据获取请求获取所述缓存区域中预取的目标视频数据。
S530:将所述目标视频数据的至少部分缓存至所述一个视频数据处理子模块。
可以理解的是,本申请中,目标视频数据存储在预取数据单元与子模块对应的缓存区域中,当各子模块需要获取目标视频数据时,视频数据处理子模块可向预取数据单元发送预取数据获取请求。预取数据单元可根据该预取数据获取请求和发送请求的子模块确定对应的缓存区域,该缓存区域为预取数据单元中设置的用于存储与该子模块的数据类型对应的目标视频数据的存储空间。进而可从缓存区域中获取请求对应的至少部分目标视频数据并返回至视频数据处理子模块。从而,各子模块可直接从芯片的预取数据单元中获取目标视频数据,可提高视频数据的获取和处理效率。
在一个具体例子中,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块。将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。从而,目标视频数据的待缓存视频数据和预取视频数据的至少部分存储在视频***级缓存模块和芯片***级缓存模块的至少之一。视频数据处理子模块在需要获取存储在视频***级缓存模块和/或芯片***级缓存模块的目标视频数据时,可通过形成预取视频数据获取请求的形式获取视频***级缓存模块和/或芯片***级缓存模块的缓存区域中存储的至少部分目标视频数据。
在优选的实施方式中,如图8所示,所述数据类型包括三维空间线性水平递增类型,所述S120根据所述数据类型确定数据格式和预取数据量包括:
S1211:根据所述数据类型确定数据格式。
S1212:根据所述数据格式和所述三维空间线性水平递增类型的指定水平步长和数据数量,确定所述预取数据量。
具体的,当数据类型为三维空间线性水平递增类型时,确定待缓存视频数据的数据格式,例如,8x8像素单位的数据,像素单位可以为视频数据中像素块的整数倍。进一步的,可根据三维空间线性水平递增类型的数据类型的特点,得到该数据类型的指定水平步长和数据数量,计算得到预取数据量。
在一个具体例子中,子模块A中缓存的数据类型为三维空间线性中的水平递增类型,子模块A需要缓存一个单位的数据如8x8像素单位,根据子模块A的标识信息可确定指定水平步长为16,数据数量为8个8x8像素单位的数据,进而可得到预取数据量。
在优选的实施方式中,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,如图9所示,所述S300将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块包括:
S3411:将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块。
S3412:将所述目标视频数据中的预取视频数据存储至对应的视频***级缓存模块。
可以理解的是,当预取数据单元包括芯片***级缓存模块和视频***级缓存模块等多级结构时,可定义预取视频数据的缓存策略,即可根据预取视频数据的特性设置该目标视频数据存储在视频数据处理子模块、芯片***级缓存模块和视频***级缓存模块的至少之一。
由此,在该优选的实施方式中,可设置三维空间线性水平递增类型的目标视频数据的缓存策略,即将目标视频数据的待缓存视频数据和预取视频数据均存储至对应的视频***级缓存模块。可选的,芯片***级缓存模块可设置为直通模式(by pass),从而外部存储器返回的目标视频数据可直接存储至视频***级缓存模块,芯片***级缓存模块不再缓存该预取视频数据。
在优选的实施方式中,所述数据类型包括三维空间相邻依赖类型,如图10所示,所述S120根据所述数据类型确定数据格式和预取数据量包括:
S1221:根据所述数据类型确定数据格式。
S1222:根据所述数据格式和所述三维空间相邻依赖类型的指定相邻方位,确定所述预取数据量。
具体的,当数据类型为三维空间相邻依赖类型时,确定待缓存视频数据的数据格式,例如,可以为16x16像素单位,像素单位可以为视频数据中像素块的整数倍。进一步的,可根据三维空间相邻依赖类型的数据类型的特点,得到该数据类型的指定相邻方位,计算得到预取数据量。
在一个具体例子中,子模块B中缓存的数据类型为三维空间相邻依赖类型,子模块B需要缓存当前16x16像素单位与相邻空间左右上下各16x16相邻像素单位的数据,根据子模块A的标识信息可确定指定相邻方位为相邻空间左右上下,获取目标视频数据为当前和左右上下5个16x16像素单位,得到待缓存视频数据和预取数据量。
在优选的实施方式中,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,如图11所示,所述S300将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块包括:
S3421:将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块。
S3422:将所述目标视频数据中的预取视频数据存储至对应的视频***级缓存模块。
可以理解的是,当预取数据单元包括芯片***级缓存模块和视频***级缓存模块等多级结构时,可定义预取视频数据的缓存策略,即可根据预取视频数据的特性设置该目标视频数据存储在视频数据处理子模块、芯片***级缓存模块和视频***级缓存模块的至少之一。
由此,在该优选的实施方式中,可设置三维空间相邻依赖类型的目标视频数据的缓存策略,即可将目标视频数据中的待缓存视频数据和预取视频数据存储至对应的视频***级缓存模块。可选的,芯片***级缓存模块可设置为直通模式(by pass),从而外部存储器返回的目标视频数据可直接存储至视频***级缓存模块,芯片***级缓存模块不再缓存该预取视频数据。
在优选的实施方式中,所述数据类型包括有限三维空间突变类型,如图12所示,所述S120根据所述数据类型确定数据格式和预取数据量包括:
S1231:根据所述数据类型确定数据格式。
S1232:根据所述数据格式和所述有限三维空间突变类型的突变地址,确定所述预取数据量。
具体的,当数据类型为有限三维空间突变类型时,可确定待缓存视频数据的数据格式,例如,可以为16x16像素单位,像素单位可以为视频数据中像素块的整数倍。进一步的,可根据有限三维空间突变类型的数据类型的特点,得到该数据类型的突变地址,计算得到预取数据量。
在一个具体例子中,子模块C中缓存的数据类型为有限三维空间突变类型,子模块C需要缓存一个突变地址的数据如16x16像素单位,根据子模块C的标识信息可确定其他数据的突变地址,进而可得到预取数据量。
在优选的实施方式中,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,如图13所示,所述S300将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块包括:
S3431:将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块。
S3432:将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块。
可以理解的是,当预取数据单元包括芯片***级缓存模块和视频***级缓存模块等多级结构时,可定义预取视频数据的缓存策略,即可根据预取视频数据的特性设置该目标视频数据存储在视频数据处理子模块、芯片***级缓存模块和视频***级缓存模块的至少之一。
由此,在该优选的实施方式中,可设置有限三维空间突变类型的目标视频数据的缓存策略,即将目标视频数据中的预取视频数据存储至芯片***级缓存模块,将目标视频数据中的待缓存视频数据存储至视频***级缓存模块,便于视频数据处理子模块的获取及处理。
下面通过一个具体例子来对本申请作进一步的说明。图14是应用本实施例数据缓存方法的芯片的一个具体实施例的示意图。如图14所示,在该具体实施例中,芯片包括中控模块(图中未示出)、视频处理模块L3和预取数据单元。
其中,视频处理模块L3包括分别用于缓存不同数据类型视频数据的三个视频数据处理子模块(A、B、C)。预取数据单元可包括芯片***级缓存模块L1和视频***级缓存模块L2。该芯片***级缓存模块L1可对接外部存储器100,实现与外部存储器100的数据交互,并用于存储整个芯片***的芯片***数据,还可用于存储预取视频数据。视频***级缓存模块L2可用于存储预取视频数据。在该具体实施例中,芯片***数据和预取视频数据分别存储在不同模块中,将具有不同数据特点的芯片***数据和预取视频数据分开存储,提高芯片存储空间的利用率。
中控模块用于根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据的数据存储地址,所述目标视频数据包括所述待缓存视频数据和预取视频数据;根据所述数据存储地址从外部存储器100中获取对应的目标视频数据;将所述待缓存视频数据存储至对应的视频数据处理子模块,将所述预取视频数据存储至对应的预取数据单元。
需要说明的是,中控模块可以独立于视频数据处理子模块和预取数据单元单独设置,也可以与视频数据处理子模块或预取数据单元集成在一起,还可以分为多个中控子模块,分别设置于视频数据处理子模块和预取数据单元,例如,中控模块包括分别设置于视频处理模块L3、芯片***级缓存模块L1和视频***级缓存模块L2的多个中控子模块,多个中控子模块共同实现中控模块的功能。在实际应用中,本领域技术人员可根据实际需求设置中控模块,本申请对此并不作限定。
本实施例中,芯片的视频处理模块L3包括A、B和C三个视频数据处理子模块,其中,视频数据处理子模块A缓存的数据类型为三维空间线性中的水平递增类型,视频数据处理子模块B缓存的数据类型为三维空间相邻依赖类型,视频数据处理子模块C缓存的数据类型为有限三维空间突变。A、B和C可设置不同的标识信息,用以标识不同数据类型的缓存策略,对于不同数据类型使用不同的缓存策略,有针对性的扩大了缓存空间,同时也能够兼顾***和视频内部缓存的通用性,提高视频数据缓存效率。其中,标识信息可包括数据类型、预取数据信息(例如获取数据数量)和预取地址步长等信息。
具体的,如图14所示,A视频数据处理子模块包括缓存A数据类型cache_type_a的视频数据的视频子模块级缓存单元a。B视频数据处理子模块包括缓存B数据类型cache_type_b的视频数据的视频子模块级缓存单元b。C视频数据处理子模块包括缓存C数据类型cache_type_c的视频数据的视频子模块级缓存单元c。
在该具体例子中,芯片视频数据缓存划分为三级,第一级为芯片***级缓存模块L1、第二级为视频***级缓存模块L2,第三级为包括三个视频数据处理子模块(A、B、C)的视频数据处理模块L3。其中,L1对接外部存储器100,与外部存储器100实现数据交互,并可缓存整个芯片***数据和预取视频数据。L2可用于存储预取视频数据。L3包括各细分视频数据处理子模块,可用于进行视频数据的处理以及缓存视频数据。其中,L2中设置有缓存区域视频***级缓存区域a、视频***级缓存区域b和视频***级缓存区域c,分别用于存储视频数据处理子模块A、视频数据处理子模块B和视频数据处理子模块C的预取视频数据。L1中设置有芯片***级缓存区域0、芯片***级缓存区域1、芯片***级缓存区域2…芯片***级缓存区域n等缓存区域,也可用于存储视频数据处理子模块A、视频数据处理子模块B和视频数据处理子模块C的预取视频数据。
在缓存视频数据时,子模块A存储的数据类型为三维空间线性中的水平递增类型,子模块A需要获取一个单位的待缓存视频数据,如8x8像素单位(单位大小可以配置为像素块的整数倍),L2根据cache_type_a的标识信息提前预取指定水平步长如16,指定单位为8个8x8像素单位的目标视频数据(包括待缓存视频数据和预取视频数据),计算出外部存储器100中目标视频数据的存储地址后,向L1发送数据获取请求,通过L1从外部存储器100获取目标视频数据,将目标视频数据存储至子模块A对应的视频***级缓存区域a中。其中,L1可以使用bypass模式,不再缓存数据。
子模块B存储的数据类型为三维空间相邻依赖类型,子模块B需要获取当前16 x16像素单位与相邻空间左右上下各16x16相邻像素单位的数据。L2根据cache_type_b这种数据类型的标识信息,提前预取5个16x16像素单位,计算出地址后,从外部存储器100提前预取目标视频数据并存储至视频子模块级缓存单元b和L2指定的视频***级缓存区域b中。其中,当前16 x 16像素单位的数据为待缓存视频数据,相邻空间左右上下各16x16相邻像素单位的数据为预取视频数据。L1可以使用最近最少使用的替换算法。在子模块B获取待缓存视频数据后,再次申请相邻的预取视频数据时,可以直接从L2的视频***级缓存区域b中得到。
子模块C存储的数据类型为有限三维空间突变类型,L3的子模块C需要提前获取突变次数为4的一个突变地址的待缓存视频数据,如16x16像素单位,L2根据cache_type_c的标识信息确定目标视频数据,存储一个突变地址的数据(待缓存视频数据)在指定的视频***级缓存区域b中。L1可采用最近最少使用替换算法,缓存另外三次突变地址的数据(预取视频数据)。各级cache的数据替换算法可以根据cache_type_c定义的方式灵活配置。
此外,若存在其他子模块N的数据类型没有对应的标识信息,可以使用芯片***默认的替换方法,并根据默认的标识信息,得到目标视频数据。例如,其他子模块可直接通过总线200向L1发送数据获取请求,以通过L1从外部存储器100获取目标视频数据。本领域技术人员可根据实际情况对其他子模块的视频数据获取方式进行设置,在此不再赘述。
本实施例的芯片使用L1、L2和L3三级缓存结构,分级存储不同缓存策略的不同形式的视频数据,可以大大减少对外部存储器100的访问,减少访存延时,提高有限的内存利用空间,提高数据利用效率。当然,在其他实施方式中,芯片可采用三级或三级以上的缓存结构,通过标识信息定义各子模块需要获取的目标视频数据以及三级或三级以上缓存结构中每一级的缓存策略和替换算法等信息,以进一步提升芯片缓存视频数据的灵活性、缓存空间利用效率和数据利用效率,基于该发明构思的相关技术方案也理应在本申请的保护范围内。
基于相同原理,本实施例还公开了一种芯片。所述芯片包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块、中控模块和预取数据单元。
所述中控模块被配置为根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据;以及确定外部存储器中所述目标视频数据的数据存储地址;
所述预取数据单元根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据。
在优选的实施方式中,所述中控模块进一步用于将所述目标视频数据的至少部分存储至所述视频数据处理子模块对应的预取数据单元。
在优选的实施方式中,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述中控模块进一步用于将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。
在优选的实施方式中,所述中控模块进一步用于根据待缓存视频数据的视频数据处理子模块的标识信息确定数据类型;根据所述数据类型确定数据格式和预取数据量;根据所述数据格式和预取数据量确定待获取的目标视频数据。
在优选的实施方式中,所述数据类型包括三维空间线性水平递增类型,所述中控模块进一步用于根据所述数据类型确定数据格式;根据所述数据格式和所述三维空间线性水平递增类型的指定水平步长和数据数量,确定所述预取数据量。
在优选的实施方式中,所述中控模块进一步用于将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;将所述目标视频数据中的预取视频数据存储至对应的视频***级缓存模块。
在优选的实施方式中,所述数据类型包括三维空间相邻依赖类型,所述中控模块进一步用于根据所述数据类型确定数据格式,根据所述数据格式和所述三维空间相邻依赖类型的指定相邻方位,确定所述预取数据量。
在优选的实施方式中,所述中控模块进一步用于将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;将所述目标视频数据中的预取视频数据存储至对应的视频***级缓存模块。
在优选的实施方式中,所述数据类型包括有限三维空间突变类型,所述中控模块进一步用于根据所述数据类型确定数据格式;根据所述数据格式和所述有限三维空间突变类型的突变地址,确定所述预取数据量。
在优选的实施方式中,所述中控模块进一步用于将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块。
在优选的实施方式中,所述视频***级缓存模块根据所述数据存储地址形成数据获取请求,将所述数据获取请求发送至所述芯片***级缓存模块。
所述芯片***级缓存模块根据所述数据获取请求从所述外部存储器获取所述数据存储地址中的视频数据,得到所述目标视频数据。
在优选的实施方式中,所述中控模块进一步用于根据所述标识信息确定对应的替换算法;根据所述替换算法将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。
在优选的实施方式中,所述中控模块进一步用于根据一个视频数据处理子模块传输的预取视频数据获取请求确定所述一个视频数据处理子模块对应的预取数据单元中的缓存区域;根据所述预取视频数据获取请求获取所述缓存区域中预取的目标视频数据;将所述目标视频数据的至少部分缓存至所述一个视频数据处理子模块。
由于该芯片解决问题的原理与以上方法类似,因此本芯片的实施可以参见方法的实施,在此不再赘述。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中计算机设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的由客户端执行的方法,或者,所述处理器执行所述程序时实现如上所述的由服务器执行的方法。
下面参考图15,其示出了适于用来实现本申请实施例的计算机设备600的结构示意图。
如图15所示,计算机设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有***操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶反馈器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (15)

1.一种数据缓存方法,其特征在于,用于芯片,所述芯片包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块以及预取数据单元,所述方法包括:
根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据;
确定外部存储器中所述目标视频数据的数据存储地址;
所述预取数据单元根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据;
所述根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据包括:
根据待缓存视频数据的视频数据处理子模块的标识信息确定数据类型;
根据所述数据类型确定数据格式和预取数据量;
根据所述数据格式和预取数据量确定待获取的目标视频数据。
2.根据权利要求1所述的数据缓存方法,其特征在于,所述方法进一步包括:
将所述目标视频数据的至少部分存储至所述视频数据处理子模块对应的预取数据单元。
3.根据权利要求2所述的数据缓存方法,其特征在于,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述方法进一步包括:
将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。
4.根据权利要求1所述的数据缓存方法,其特征在于,所述数据类型包括三维空间线性水平递增类型,所述根据所述数据类型确定数据格式和预取数据量包括:
根据所述数据类型确定数据格式;
根据所述数据格式和所述三维空间线性水平递增类型的指定水平步长和数据数量,确定所述预取数据量。
5.根据权利要求4所述的数据缓存方法,其特征在于,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述方法进一步包括:
将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;
将所述目标视频数据中的预取视频数据存储至对应的视频***级缓存模块。
6.根据权利要求1所述的数据缓存方法,其特征在于,所述数据类型包括三维空间相邻依赖类型,所述根据所述数据类型确定数据格式和预取数据量包括:
根据所述数据类型确定数据格式;
根据所述数据格式和所述三维空间相邻依赖类型的指定相邻方位,确定所述预取数据量。
7.根据权利要求6所述的数据缓存方法,其特征在于,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述方法进一步包括:
将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;
将所述目标视频数据中的预取视频数据存储至对应的视频***级缓存模块。
8.根据权利要求1所述的数据缓存方法,其特征在于,所述数据类型包括有限三维空间突变类型,所述根据所述数据类型确定数据格式和预取数据量包括:
根据所述数据类型确定数据格式;
根据所述数据格式和所述有限三维空间突变类型的突变地址,确定所述预取数据量。
9.根据权利要求8所述的数据缓存方法,其特征在于,所述目标视频数据包括待缓存视频数据和预取视频数据,所述预取数据单元包括芯片***级缓存模块和视频***级缓存模块,所述方法进一步包括:
将所述目标视频数据中的待缓存视频数据存储至对应的视频***级缓存模块;
将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块。
10.根据权利要求3所述的数据缓存方法,其特征在于,所述根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据包括:
所述视频***级缓存模块根据所述数据存储地址形成数据获取请求,将所述数据获取请求发送至所述芯片***级缓存模块;
所述芯片***级缓存模块根据所述数据获取请求从所述外部存储器获取所述数据存储地址中的视频数据,得到所述目标视频数据。
11.根据权利要求3所述的数据缓存方法,其特征在于,所述将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块包括:
根据所述标识信息确定对应的替换算法;
根据所述替换算法将所述目标视频数据中的待缓存视频数据存储至对应的视频数据处理子模块和/或视频***级缓存模块,将所述目标视频数据中的预取视频数据存储至对应的芯片***级缓存模块和/或视频***级缓存模块。
12.根据权利要求2所述的数据缓存方法,其特征在于,所述方法进一步包括:
根据一个视频数据处理子模块传输的预取视频数据获取请求确定所述一个视频数据处理子模块对应的预取数据单元中的缓存区域;
根据所述预取视频数据获取请求获取所述缓存区域中预取的目标视频数据;
将所述目标视频数据的至少部分缓存至所述一个视频数据处理子模块。
13.一种芯片,其特征在于,包括分别用于缓存不同数据类型视频数据的多个视频数据处理子模块、中控模块和预取数据单元;
所述中控模块被配置为根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据;以及确定外部存储器中所述目标视频数据的数据存储地址;所述根据待缓存视频数据的视频数据处理子模块的标识信息确定目标视频数据包括:根据待缓存视频数据的视频数据处理子模块的标识信息确定数据类型;根据所述数据类型确定数据格式和预取数据量;根据所述数据格式和预取数据量确定待获取的目标视频数据;
所述预取数据单元被配置为根据所述数据存储地址从所述外部存储器中获取对应的目标视频数据。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12任一所述方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至12任一所述方法。
CN202210999430.3A 2022-08-19 2022-08-19 数据缓存方法及芯片 Active CN115086706B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210999430.3A CN115086706B (zh) 2022-08-19 2022-08-19 数据缓存方法及芯片
TW112131302A TW202410698A (zh) 2022-08-19 2023-08-21 資料暫存方法、晶片、電腦設備、電腦可讀儲存介質及電腦程式產品
PCT/CN2023/113941 WO2024037650A1 (zh) 2022-08-19 2023-08-21 数据缓存

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210999430.3A CN115086706B (zh) 2022-08-19 2022-08-19 数据缓存方法及芯片

Publications (2)

Publication Number Publication Date
CN115086706A CN115086706A (zh) 2022-09-20
CN115086706B true CN115086706B (zh) 2023-01-06

Family

ID=83244177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210999430.3A Active CN115086706B (zh) 2022-08-19 2022-08-19 数据缓存方法及芯片

Country Status (3)

Country Link
CN (1) CN115086706B (zh)
TW (1) TW202410698A (zh)
WO (1) WO2024037650A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086706B (zh) * 2022-08-19 2023-01-06 摩尔线程智能科技(北京)有限责任公司 数据缓存方法及芯片
CN115297094B (zh) * 2022-10-08 2023-02-28 苏州浪潮智能科技有限公司 视频传输控制方法、装置、设备及计算机可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692229B (zh) * 2009-07-28 2012-06-20 武汉大学 基于数据内容的三维空间数据自适应多级缓存***
EP3295660A4 (en) * 2015-06-03 2019-05-29 MediaTek Inc. METHOD FOR PALLET CODING OF IMAGE AND VIDEO DATA
CN111124951B (zh) * 2018-10-31 2023-09-15 伊姆西Ip控股有限责任公司 管理数据访问的方法、设备和计算机程序产品
CN112565870B (zh) * 2019-09-26 2021-09-14 北京字节跳动网络技术有限公司 内容的缓存和读取方法、客户端及存储介质
CN112231243B (zh) * 2020-10-29 2023-04-07 海光信息技术股份有限公司 一种数据处理方法、处理器及电子设备
CN112887512A (zh) * 2021-01-26 2021-06-01 长威信息科技发展股份有限公司 一种视频流高分可视化***
CN115086706B (zh) * 2022-08-19 2023-01-06 摩尔线程智能科技(北京)有限责任公司 数据缓存方法及芯片

Also Published As

Publication number Publication date
CN115086706A (zh) 2022-09-20
TW202410698A (zh) 2024-03-01
WO2024037650A1 (zh) 2024-02-22

Similar Documents

Publication Publication Date Title
CN115086706B (zh) 数据缓存方法及芯片
US20170364210A1 (en) Method and Apparatus for Displaying Content on Same Screen, and Terminal Device
US8619083B2 (en) Multi-layer image composition with intermediate blending resolutions
KR102147356B1 (ko) 캐시 메모리 시스템 및 그 동작방법
US20200162757A1 (en) Predictive bitrate selection for 360 video streaming
JP2017509998A (ja) キャッシュ汚染を低減するために専用キャッシュセットにおける専用プリフェッチポリシーを競合させることに基づいた適応キャッシュプリフェッチング
US9430393B2 (en) System and method for managing cache
JP2019513271A (ja) 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと
EP2804144A1 (en) Method and device for processing input image data
CA2558657A1 (en) Embedded system with 3d graphics core and local pixel buffer
US20110069065A1 (en) Image processing apparatus, computer readable medium and method thereof
CN106897144A (zh) 一种资源分配方法及装置
US6919908B2 (en) Method and apparatus for graphics processing in a handheld device
CN107450860B (zh) 一种基于分布式存储的地图文件预读方法
US8850118B2 (en) Circuit and method for dynamically changing reference value for address counter based on cache determination
EP1828908B1 (en) System and method for caching and fetching data.
CN107977923A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN114928862B (zh) 基于任务卸载和服务缓存的***开销降低方法及***
CN111899151B (zh) 图片生成方法、装置、电子设备和计算机可读介质
CN111209504B (zh) 用于访问地图数据的方法和装置
CN114928862A (zh) 基于任务卸载和服务缓存的***开销降低方法及***
CN114025019A (zh) 基于arc算法的cdn缓存实现方法、装置和计算机设备
US20230245265A1 (en) Methods and apparatus to warp images for video processing
KR100859395B1 (ko) 정보 처리 장치 및 정보 처리 방법
US20150095545A1 (en) Method and apparatus for controlling cache memory

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