当前位置: 首页 > 专利查询>ARM有限公司专利>正文

数据处理系统技术方案

技术编号:22977645 阅读:44 留言:0更新日期:2020-01-01 00:30
数据处理系统。视频数据处理系统包括视频处理单元,该视频处理单元产生视频数据的帧序列以供视频处理系统的消费者处理单元使用。该系统还包括:存储由视频处理单元产生的视频数据的帧序列的存储器(30)。视频处理单元将帧编码为编码数据块,将第一帧的特定编码块存储在存储器的第一位置(32),并存储第一位置的指示(34)。视频处理单元将第二帧的对应编码块存储在第二位置(33),并将指示(34)更新到第二位置。

data processing system

【技术实现步骤摘要】
数据处理系统
本专利技术涉及数据处理系统,并且更具体地,涉及在(例如视频)数据处理系统中产生和消费编码数据块。
技术介绍
在数据处理系统中,“生产者(producer)”处理单元可以产生(生成)数据流,然后由数据处理系统的一个或更多个其他“消费者”处理单元使用(例如,处理)该数据流。这种情况的示例是视频编码或解码。例如,在视频编码系统中,视频编码器可以编码(“产生”)表示已由视频摄像头捕获或已由图形处理器生成的、待显示的视频帧序列的比特流。然后,编码的比特流可以由显示处理器“消费”,例如,出于显示视频帧序列的目的。在这种布置中,生产者处理单元通常将其正在产生的数据流存储在与要使用所述数据流的消费者(consumer)处理单元共享(以及访问)的适当存储器中,然后消费者处理单元从存储器中读取所述数据流以供使用。通过允许消费者处理单元读取和处理由生产者处理单元(例如,作为数据流的一部分)产生的数据输出(该数据输出正在被产生并写入共享存储器),可以最小化向共享存储器写入数据和从共享存储器读取数据所引起的延迟。在图形或视频处理中,这种布置被称为“前置缓冲(frontbuffer)”渲染。例如,这与生产者处理单元完全写入诸如帧之类的数据输出之后消费者处理单元才能够开始使用数据输出的布置相反。然而,在这种布置中可能出现这样的情况:消费者处理单元试图读取尚未完全写入存储器的数据输出(的一部分)的数据。然后,消费者处理单元可以从存储器读取数据输出的新版本和旧版本(例如,在现有数据输出之上写入新数据输出的情况下)并尝试以某种方式组合它们。使用旧版本和新版本的数据输出的混合可能导致数据处理系统出现许多问题。例如,当消费者处理单元输出(例如用于显示)这种数据的混合时,可以造成不希望的伪影(artefacts)。在图形和视频处理系统中,这种效应被称为“撕裂”。当以逐块编码(例如,压缩)形式生成数据输出时,这些问题可能会更糟,使得消费者处理单元只有在具有数据输出的整个块的所有数据时才能处理数据输出的(块)的元素。在这种情况下,如果消费者处理单元试图仅读取部分写入的块,这可能在使用数据输出时引起更显著的伪影或错误(例如,损坏)。它还可能导致消费者处理单元陷入死结(deadlock)。因此,申请人认为,对于数据处理系统中生产处理单元与消费处理单元之间共享的数据输出的处理仍存在改进余地,特别是在该数据输出是通过共享存储器而被处理和消费时。
技术实现思路
当从第一方面看时,本专利技术提供了一种操作视频处理系统的方法,其中,所述视频处理系统的视频处理单元能够进行工作而产生视频数据的帧序列,以供所述视频处理系统的一个或更多个消费者处理单元使用,所述方法包括以下步骤:所述视频处理单元对视频数据的帧序列进行编码,各个帧被编码为一个或更多个编码数据块,并且将各个帧的编码数据块依次存储在存储器区域中,所述消费者处理单元将从所述存储器区域读取编码数据块以进行处理,与此同时,所述视频处理单元正在将所述帧的其他编码数据块存储在该存储区域中;该方法还包括以下步骤:所述视频处理单元:将所述帧序列中的第一帧的特定编码数据块存储在所述存储器区域中的第一位置;以及针对所述特定编码数据块存储所述第一位置的指示,以供所述消费者处理单元在读取特定数据块时使用;以及所述视频处理单元在存储所述帧序列中与所述第一帧的特定编码数据块相对应的第二帧的编码数据块时,将所述第二帧的编码数据块存储在所述存储器区域中不同于所述第一位置的第二位置;以及将所述存储器区域中的编码块的位置的指示更新为所述第二位置。当从第二方面看时,本专利技术提供了一种视频数据处理系统,该视频数据处理系统包括:视频处理单元,该视频处理单元能够进行工作而产生视频数据的帧序列,以供所述视频处理系统的一个或更多个消费者处理单元使用;以及存储器,该存储器存储由所述视频处理单元产生的视频数据的帧序列;其中,所述视频处理单元包括处理电路,该处理电路能够进行工作以:将视频数据的帧序列编码,各个帧被编码为一个或更多个编码数据块;以及将各帧的所述编码数据块依次存储在存储器区域中,其他编码数据块存储在该存储器区域中的同时,所述消费者处理单元将从该存储器区域读取编码数据块以进行处理,与此同时,所述视频处理单元正在将所述帧的其他编码数据块存储在该存储区域中;其中,所述处理电路还能够进行工作以:将所述帧序列中的第一帧的特定编码数据块存储在所述存储器区域中的第一位置;以及针对所述特定编码数据块存储第一位置的指示,以供所述消费者处理单元在读取特定数据块时使用;其中,所述处理电路还能够进行工作而在存储所述帧序列中与所述第一帧的特定编码数据块相对应的第二帧的编码数据块时,将所述第二帧的编码数据块存储在所述存储器区域中不同于所述第一位置的第二位置;以及将所述存储器区域中的编码块的位置的指示更新为所述第二位置。本专利技术涉及使用视频数据处理系统的视频处理单元对视频(图像)数据进行编码和存储。视频数据被生成为帧序列,其中每个视频帧被分成一个或更多个(优选地是多个)数据块(例如,帧的像素的块)。各个块被单独编码(然后,例如,单独解码)。视频数据的帧序列由视频处理单元产生,以供(例如,视频数据处理系统的)一个或更多个消费者处理单元使用。视频处理单元将帧序列的编码数据块存储在视频数据处理系统的存储器区域中。该存储器区域被视频数据处理系统用于存储(写入)帧的编码数据块,并同时被消费者处理单元用于读取已存储在该存储器区域中的帧的(其他)编码数据块。因此,存储器区域以“前置缓冲区”的方式使用并且优选地包括“前置缓冲区”,“前置缓冲区”在视频处理单元与一个或更多个消费者处理单元之间共享并且可以由视频处理单元和一个或更多个消费者处理单元同时访问。这允许消费者处理单元可以在视频处理单元完成将整个帧写入存储器区域之前从同一存储器区域读取同一帧的编码数据块,从而允许在消费者处理单元读取帧的编码块的同时,将相同(或后续)帧的其他块写入相同的存储器区域。例如,这种“前置缓冲区”渲染使得能够通过视频处理单元将视频数据的帧序列中的编码数据块连续写入存储器区域的同时,还允许消费者处理单元从相同的存储器区域开始连续读取已存储的编码数据块。这有助于减少产生和消费视频数据帧的延迟,例如,与此相对的系统是图像数据的整个帧在能够被提交到“前置”缓冲区(在该处图像数据帧可用于消费)之前,首先会被提交到“后置”缓冲区(生产者和消费者不能同时访问这种前置、后置缓冲区以便从中存储和读取数据。)本专利技术的方法和系统允许以下述方式使用存储器区域:由于与先前存储的来自帧序列中的另一(第一帧)的编码数据块相对应的(第二)帧中的编码数据块,将编码数据块存储至与先前存储的数据块(其存储在第一位置)不同的(第二)位置,而不是在存储器中覆盖该编码数据块的先前版本。因此,帧序列中的连续(对应)数据块被存储在存储器的相同区域的不同本文档来自技高网
...

【技术保护点】
1.一种操作视频处理系统的方法,其中,所述视频处理系统的视频处理单元能够进行工作而产生视频数据的帧序列,以供所述视频处理系统的一个或更多个消费者处理单元使用,所述方法包括以下步骤:/n所述视频处理单元对视频数据的帧序列进行编码,每个帧被编码为一个或更多个编码数据块,并且所述视频处理单元将各个帧的编码数据块依次存储在存储器区域中,所述消费者处理单元将从所述存储器区域读取编码数据块以进行处理,与此同时,所述视频处理单元将所述帧的其他编码数据块存储在所述存储器区域中;/n该方法还包括以下步骤:/n所述视频处理单元将所述帧序列中的第一帧的特定编码数据块存储在所述存储器区域中的第一位置;以及/n所述视频处理单元针对所述特定编码数据块存储所述第一位置的指示,以供所述消费者处理单元在读取所述特定编码数据块时使用;以及/n所述视频处理单元在存储所述帧序列中与所述第一帧的所述特定编码数据块相对应的第二帧的编码数据块时,将所述第二帧的该编码数据块存储在所述存储器区域中不同于所述第一位置的第二位置;以及/n将所述存储器区域中的编码数据块的位置指示更新为所述第二位置。/n

【技术特征摘要】
20180622 GB 1810266.51.一种操作视频处理系统的方法,其中,所述视频处理系统的视频处理单元能够进行工作而产生视频数据的帧序列,以供所述视频处理系统的一个或更多个消费者处理单元使用,所述方法包括以下步骤:
所述视频处理单元对视频数据的帧序列进行编码,每个帧被编码为一个或更多个编码数据块,并且所述视频处理单元将各个帧的编码数据块依次存储在存储器区域中,所述消费者处理单元将从所述存储器区域读取编码数据块以进行处理,与此同时,所述视频处理单元将所述帧的其他编码数据块存储在所述存储器区域中;
该方法还包括以下步骤:
所述视频处理单元将所述帧序列中的第一帧的特定编码数据块存储在所述存储器区域中的第一位置;以及
所述视频处理单元针对所述特定编码数据块存储所述第一位置的指示,以供所述消费者处理单元在读取所述特定编码数据块时使用;以及
所述视频处理单元在存储所述帧序列中与所述第一帧的所述特定编码数据块相对应的第二帧的编码数据块时,将所述第二帧的该编码数据块存储在所述存储器区域中不同于所述第一位置的第二位置;以及
将所述存储器区域中的编码数据块的位置指示更新为所述第二位置。


2.根据权利要求1所述的方法,所述方法还包括以下步骤:
当将所述视频数据的所述第二帧的对应编码数据块存储至所述第二位置时,不覆盖存储在所述第一位置的、所述视频数据的所述第一帧的所述特定编码数据块。


3.根据权利要求1或2所述的方法,其中,所述存储器区域包括单独的第一存储器子区域和第二存储器子区域,并且所述方法包括以下步骤:
将所述第一帧的所述特定编码数据块存储在所述第一存储器子区域中,并将所述第二帧的对应编码数据块存储在所述第二存储器子区域中。


4.根据权利要求3所述的方法,所述方法包括以下步骤:
将所述视频数据的所述第一帧的全部多个编码数据块存储在所述第一存储器子区域中,并且将所述视频数据的所述第二帧的全部多个编码数据块存储在所述第二存储器子区域中。


5.根据权利要求1或2所述的方法,其中,所述存储器区域包括存储编码数据块的位置指示的头部缓冲区。


6.根据权利要求1或2所述的方法,其中,编码数据块的位置指示包括指向存储该编码数据块的位置的指针。


7.根据权利要求1或2所述的方法,所述方法包括以下步骤:
所述存储器向所述视频处理单元确认已存储了编码数据块,使得该编码数据块至少能够由所述消费者处理单元使用。


8.根据权利要求7所述的方法,所述方法包括以下步骤:
一旦所述存储器确认已存储了编码数据块,就存储该编码数据块的位置指示。


9.根据权利要求1或2所述的方法,所述方法包括以下步骤:
由所述消费者处理单元读取编码数据块的位置指示;
由所述消费者处理单元从所述存储器区域中由所述编码数据块的位置指示所指示的位置读取编码数据块;以及
由所述消费者处理单元消费所述编码块数据。


10.根据权利要求1或2所述的方法,所述方法还包括以下步骤:
所述消费者处理单元从所述存储器区域读取一个或更多个编码数据块,与此同时,所述视频处理单元将一个或更多个其他编码数据块存储在同一存储器区域中。


11.一种视频数据处理系统,该视频数据处理系统包括:
视频处理单元,该视频处理单元能够进行工作而产生视频数据的帧序列,以供所述视频处理系统的一个或更多个消费者处理单元使用;以及
存储器,该存储器存储由所述视频处理单元产生的视频数据的帧序列,
其中,所述视频处理单元包括处理电路,该处理电路能够操作以:
对视频数据的帧序列进行编码,每个帧被编码为一个或更多个编码数据块;以及
将各个帧的编码数据块依次存储在存储器区域中,所述消费者处理单元将从所述存储器区域读取编码数据块以进行处理,与此同时,所述视频处理单元将所述帧的其他编码数据块存储在所述存储器区域中,
其中,所述处理电路还能够操作以:
将所述帧序列中的第一帧的特定编码数据块存储在所述存储器区域中的第一位置;以及
针对所述特定编码数据块,存储所述第一位置的指示,以供所述消费者处理单元在读取所述特定数据块时使用,
其中,所述处理电路还能够进行工作而在存储所述帧序列中与所述第一帧的所述特定编码数据块相对应的第二帧的编码数据块时,将所述第二帧的该编码数据块存储在所述存储器区域中不同于所述第一位置的第二位置;以及
将所述存储器区域中的编码块的位置的指示更新为所述第二位置。


12.根据权利要求11所述的视频数据处理系统,其中,所述处理电路能够进行工作而在将所述视频数据的第二帧的对应编码数据块存储至所述第二位置时,不覆盖存储在所述第一位置的、所述视频数据的所述第一帧的所述特定编码数据块。


13.根据权利要求11或12所述的视频数据处理系...

【专利技术属性】
技术研发人员:O·弗洛达尔J·费赖斯
申请(专利权)人:Arm有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利