发明内容
本申请针对现有的方式的缺点,提出一种数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品,用于解决如何在实现亮色分离的情况下,降低SOC成本的问题。
第一方面,本申请提供了一种数据处理方法,包括:
获取视频信号;
将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;
将跨时钟域处理后的数据储存在预设的公共存储模块中;
基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;视频信号、延迟的帧数据和延迟的场数据用于亮色分离处理。
在一个实施例中,视频信号为待延迟视频流信号,将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据,包括:
将待延迟视频流信号通过预设的写缓存模块,进行跨时钟域处理,将待延迟视频流信号对应的时钟转换为公共存储模块工作的时钟,得到跨时钟域处理后的数据,跨时钟域处理后的数据对应的时钟为公共存储模块工作的时钟。
在一个实施例中,将跨时钟域处理后的数据储存在预设的公共存储模块中,包括:
基于预设的写缓存模块和预设的第一接口转换模块之间的状态机控制,通过第一接口转换模块,将写缓存模块输出的跨时钟域处理后的数据,储存在预设的公共存储模块中。
在一个实施例中,写缓存模块为先进先出存储器,第一接口转换模块用于将数据流接口转换为总线接口。
在一个实施例中,基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据,包括:
通过预设的延迟计数模块、预设的第一读缓存模块和预设的第二接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据;
通过预设的延迟计数模块、预设的第二读缓存模块和预设的第三接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据。
在一个实施例中,通过预设的延迟计数模块、预设的第一读缓存模块和预设的第二接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据,包括:
通过预设的延迟计数模块,将第一缓存延迟值发送给预设的第二接口转换模块,并将针对视频信号的帧延迟值发送给预设的第一读缓存模块;第一缓存延迟值小于帧延迟值;
基于第一缓存延迟值、帧延迟值,以及第一读缓存模块和第二接口转换模块之间的状态机控制,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据。
在一个实施例中,通过预设的延迟计数模块、预设的第二读缓存模块和预设的第三接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据,包括:
通过预设的延迟计数模块,将第二缓存延迟值发送给预设的第三接口转换模块,并将针对视频信号的场延迟值发送给预设的第二读缓存模块;第二缓存延迟值小于场延迟值;
基于第二缓存延迟值、场延迟值,以及第二读缓存模块和第三接口转换模块之间的状态机控制,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据。
在一个实施例中,延迟计数模块为加法器,第一读缓存模块和第二读缓存模块都为先进先出存储器,第二接口转换模块和第三接口转换模块用于将总线接口转换为数据流接口。
在一个实施例中,在基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据之后,还包括:
将视频信号、延迟的帧数据和延迟的场数据输入至预设的3D梳状滤波器;
通过3D梳状滤波器,将视频信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
在一个实施例中,公共存储模块为双倍速率同步动态随机存储器。
第二方面,本申请提供了一种数据处理系统,包括:数据处理装置和公共存储模块;
数据处理装置用于:获取视频信号;将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;将跨时钟域处理后的数据储存在公共存储模块中;基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;将视频信号、延迟的帧数据和延迟的场数据输入至数据处理装置中的3D梳状滤波器;通过3D梳状滤波器,将视频信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
第三方面,本申请提供了一种数据处理装置,包括:
第一处理模块,用于获取视频信号;
第二处理模块,用于将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;
第三处理模块,用于将跨时钟域处理后的数据储存在预设的公共存储模块中;
第四处理模块,用于基于公共存储模块中储存的所述跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;视频信号、延迟的帧数据和延迟的场数据用于亮色分离处理。
在一个实施例中,视频信号为待延迟视频流信号,第二处理模块,具体用于:
将待延迟视频流信号通过预设的写缓存模块,进行跨时钟域处理,将待延迟视频流信号对应的时钟转换为公共存储模块工作的时钟,得到跨时钟域处理后的数据,跨时钟域处理后的数据对应的时钟为公共存储模块工作的时钟。
在一个实施例中,第三处理模块,具体用于:
基于预设的写缓存模块和预设的第一接口转换模块之间的状态机控制,通过第一接口转换模块,将写缓存模块输出的跨时钟域处理后的数据,储存在预设的公共存储模块中。
在一个实施例中,写缓存模块为先进先出存储器,第一接口转换模块用于将数据流接口转换为总线接口。
在一个实施例中,第四处理模块,具体用于:
通过预设的延迟计数模块、预设的第一读缓存模块和预设的第二接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据;
通过预设的延迟计数模块、预设的第二读缓存模块和预设的第三接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据。
在一个实施例中,第四处理模块,具体用于:
通过预设的延迟计数模块,将第一缓存延迟值发送给预设的第二接口转换模块,并将针对视频信号的帧延迟值发送给预设的第一读缓存模块;第一缓存延迟值小于帧延迟值;
基于第一缓存延迟值、帧延迟值,以及第一读缓存模块和第二接口转换模块之间的状态机控制,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据。
在一个实施例中,第四处理模块,具体用于:
通过预设的延迟计数模块,将第二缓存延迟值发送给预设的第三接口转换模块,并将针对视频信号的场延迟值发送给预设的第二读缓存模块;第二缓存延迟值小于所述场延迟值;
基于第二缓存延迟值、场延迟值,以及第二读缓存模块和第三接口转换模块之间的状态机控制,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据。
在一个实施例中,延迟计数模块为加法器,第一读缓存模块和第二读缓存模块都为先进先出存储器,第二接口转换模块和第三接口转换模块用于将总线接口转换为数据流接口。
在一个实施例中,第四处理模块,还用于:
将视频信号、延迟的帧数据和延迟的场数据输入至预设的3D梳状滤波器;
通过3D梳状滤波器,将视频信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
在一个实施例中,公共存储模块为双倍速率同步动态随机存储器。
第四方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;
总线,用于连接处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请第一方面的数据处理方法。
第五方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被用于执行本申请第一方面的数据处理方法。
第六方面,本申请提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请第一方面中数据处理方法的步骤。
本申请实施例提供的技术方案,至少具有如下有益效果:
获取视频信号;将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;将跨时钟域处理后的数据储存在预设的公共存储模块中;基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;视频信号、延迟的帧数据和延迟的场数据用于亮色分离处理;如此,将视频信号、延迟的帧数据和延迟的场数据用于3D梳状滤波器的亮色分离处理,节省了存储空间随机存取存储器RAM,充分利用公共存储空间,即公共存储模块,从而降低了芯片成本。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“B”,或者实现为“A和B”。
可以理解的是,在本申请的具体实施方式中,涉及到数据处理相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例是数据处理系统提供的一种数据处理方法,该数据处理方法涉及电视广播、实时视频流延迟等领域。
为了更好的理解及说明本申请实施例的方案,下面对本申请实施例中所涉及到的一些技术用语进行简单说明。
复合视频信号是亮度信号和色差信号的混合,电视机要完整播放彩色视频,必须提前需要将其亮度信号和色差信号分离干净。早期的彩色电视机使用Y/C分离电路进行分离,分离效果比较差,色度信号中依然混杂着亮度信号,而且还会存在高频亮度信号丢失。为了提高亮色分离精度,发展了梳状滤波器,主要包含2D_2line梳状滤波器、2D_3line梳状滤波器和3D梳状滤波器,虽然2D_3line梳状滤波器提高了亮色分离的效果,但是垂直相关性较差,分离效果依然存在缺陷,2D梳状滤波器目前主要用于一些低成本器件,对视频效果要求不高的设备使用。
SOC:SOC(System on Chip,片上系统)也称为系统级芯片,SOC是一个产品,SOC是一个有专用目标的集成电路,SOC中包含完整系统并有嵌入软件的全部内容。
本申请实施例提供的方案涉及数据处理技术,下面以具体的实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
为了更好的理解本申请实施例提供的方案,下面结合具体的一个应用场景对该方案进行说明。
在一个实施例中,本申请实施例所适用的一种数据处理系统,包括:数据处理装置和公共存储模块;
数据处理装置用于:获取视频信号;将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;将跨时钟域处理后的数据储存在公共存储模块中;基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;将视频信号、延迟的帧数据和延迟的场数据输入至数据处理装置中的3D梳状滤波器;通过3D梳状滤波器,将视频信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
在一个实施例中,图1中示出了本申请实施例所适用的一种数据处理系统的架构示意图,可以理解的是,本申请实施例所提供的数据处理方法可以适用于但不限于应用于如图1所示的应用场景中。
本示例中,如图1所示,该示例中的数据处理系统处于SOC中,即SOC集成了数据处理系统;数据处理系统的架构可以包括但不限于数据处理装置10、总线20和公共存储模块30;其中,数据处理装置10可以为CVBS(Composite Video Broadcast Signal,复合同步视频广播信号)模块。数据处理装置10包括3D梳状滤波器101、数据流获取模块102、帧数据处理模块103、场数据处理模块104、延迟计数模块105、写缓存模块106、读缓存模块107(第一读缓存模块)、读缓存模块108(第二读缓存模块)、接口转换模块109(第一接口转换模块)、接口转换模块110(第二接口转换模块)和接口转换模块111(第三接口转换模块)。数据处理装置10通过数据流获取模块102将电视模拟信号转换为数字信号,并通过写缓存模块106将数字信号进行跨时钟域处理,得到跨时钟域处理后的数据;数据处理装置10通过接口转换模块109将跨时钟域处理后的数据储存在预设的公共存储模块30中;基于公共存储模块30中储存的跨时钟域处理后的数据,通过延迟计数模块105、读缓存模块107、读缓存模块108、接口转换模块110和接口转换模块111,确定延迟的帧数据和延迟的场数据;通过读缓存模块107将延迟的帧数据发送给帧数据处理模块103;通过读缓存模块108将延迟的场数据发送给场数据处理模块104;数据流获取模块102将数字信号发送给3D梳状滤波器101,帧数据处理模块103将帧数据发送给3D梳状滤波器101,场数据处理模块104将场数据发送给3D梳状滤波器101;通过3D梳状滤波器101,将数字信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
可理解,上述仅为一种示例,本实施例在此不作限定。
参见图2,图2示出了本申请实施例提供的一种数据处理方法的流程示意图,其中,该方法可以由任一电子设备执行,如可以是电视机中SOC包括的数据处理装置,数据处理装置可以是CVBS模块,作为一可选实施方式,该方法可以由数据处理装置执行,为了描述方便,在下文的一些可选实施例的描述中,将以数据处理装置作为该方法执行主体为例进行说明。如图2所示,本申请实施例提供的数据处理方法包括如下步骤:
S201,获取视频信号。
具体地,如图1所示,SOC中集成的数据处理装置10通过数据流获取模块,获取电视模拟信号。数据处理装置10通过数据流获取模块,将电视模拟信号转换为数字信号,即视频信号;例如数字信号可以是CVBS,CVBS对应的时钟可以是27MHz。
S202,将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据。
具体地,如图1所示,SOC中集成的数据处理装置10通过写缓存模块106将CVBS进行跨时钟域处理,得到跨时钟域处理后的数据,跨时钟域处理后的数据对应的时钟为公共存储模块30工作的时钟,例如公共存储模块30工作的时钟可以是400MHz。
S203,将跨时钟域处理后的数据储存在预设的公共存储模块中。
具体地,如图1所示,SOC中集成的数据处理装置10通过接口转换模块109(预设的第一接口转换模块),将数据流接口转换为总线接口,如此,可以通过总线20将跨时钟域处理后的数据储存在预设的公共存储模块30中,预设的公共存储模块30可以为双倍速率同步动态随机存储器DDR。
S204,基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;视频信号、延迟的帧数据和延迟的场数据用于亮色分离处理。
具体地,如图1所示,SOC中集成的数据处理装置10基于公共存储模块30中储存的跨时钟域处理后的数据,通过延迟计数模块105、读缓存模块107(第一读缓存模块)、读缓存模块108(第二读缓存模块)、接口转换模块110(第二接口转换模块)和接口转换模块111(第三接口转换模块),确定延迟的帧数据和延迟的场数据;通过读缓存模块107(第一读缓存模块)将延迟的帧数据发送给帧数据处理模块;通过读缓存模块108(第二读缓存模块)将延迟的场数据发送给场数据处理模块104;数据流获取模块102将数字信号(视频信号)发送给3D梳状滤波器101,帧数据处理模块103将帧数据发送给3D梳状滤波器101,场数据处理模块104将场数据发送给3D梳状滤波器101;通过3D梳状滤波器101,将数字信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
本申请实施例中,获取视频信号;将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;将跨时钟域处理后的数据储存在预设的公共存储模块中;基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;视频信号、延迟的帧数据和延迟的场数据用于亮色分离处理;如此,将视频信号、延迟的帧数据和延迟的场数据用于3D梳状滤波器的亮色分离处理,节省了存储空间随机存取存储器RAM,充分利用公共存储空间,即公共存储模块,从而降低了芯片成本。
在一个实施例中,视频信号为待延迟视频流信号,将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据,包括:
将待延迟视频流信号通过预设的写缓存模块,进行跨时钟域处理,将待延迟视频流信号对应的时钟转换为公共存储模块工作的时钟,得到跨时钟域处理后的数据,跨时钟域处理后的数据对应的时钟为公共存储模块工作的时钟。
具体地,视频信号为数字信号,数字信号可以为待延迟视频流信号,待延迟视频流信号可以为CVBS信号。
在SOC设计中,跨时钟域设计(跨时钟域处理)是必不可少。将数据流获取模块产生的数据流(数字信号)和使能信号输入至写缓存模块;当使能信号有效时,数据流可写入写缓存模块;当使能信号无效时,数据流则无法写入写缓存模块,即通过使能信号筛选有效的数据流,以使有效的数据流缓存在写缓存模块中。写缓存模块根据使能信号,存储流入的数据流,直到fifo快满时(例如,fifo中能够存储的数据为256个,若fifo已经存储了254个数据,则确定fifo快满),拉高fifo_pop_af信号,即将fifo_pop_af信号从0->1;其中,,fifo_pop_af信号是图3的空闲态->写状态中的fifo几乎满标志,当fifo_pop_af信号为1时,fifo_pop_af信号有效,即fifo几乎满标志有效。当使能信号有效时,延迟计数模块开始工作,每个时钟累计一次。
CVBS模块通过数据流获取模块,生成待延迟视频流信号。例如,待延迟视频流信号可以是CVBS信号,CVBS信号对应的时钟是固定的27MHz,CVBS信号对应的时钟与系统存储器(公共存储模块)工作的时钟(例如400MHz)不一致,需要通过写缓存模块进行跨时钟域处理;例如写缓存模块的输入数据流的时钟是27MHz,通过写缓存模块进行跨时钟域处理,写缓存模块的输出数据流的时钟是400MHz,即写缓存模块的输出数据流的时钟400MHz和系统存储器(公共存储模块)工作的时钟400MHz保持一致。写缓存模块可以为FIFO(First InputFirst Output,先进先出)存储器。写缓存模块可以为任何存储设备,例如双端口RAM、FIFO存储器等。延迟计数模块为一个加法器。
在一个实施例中,将跨时钟域处理后的数据储存在预设的公共存储模块中,包括:
基于预设的写缓存模块和预设的第一接口转换模块之间的状态机控制,通过第一接口转换模块,将写缓存模块输出的跨时钟域处理后的数据,储存在预设的公共存储模块中。
具体地,预设的写缓存模块和预设的第一接口转换模块之间的状态机控制如图3所示。写缓存模块中数据(跨时钟域处理后的数据)通过写状态机控制,输入至第一接口转换模块。若检测到fifo_pop_af信号不为高时,即fifo_pop_af信号为0时,写状态机为空闲状态,直到fifo_pop_af信号拉高有效(fifo_pop_af信号为1时,fifo_pop_af信号有效,即fifo几乎满标志有效),数据输入至第一接口转换模块,状态机跳转至写状态;若检测到数据流结束标志有效时,写状态机直接跳转至结束状态,等待数据读空(写缓存模块中缓存的数据全部读完),当写缓存模块中缓存的数据全部读完时,fifo_pop_empty信号拉高,跳转至空闲态,结束状态机;其中,fifo_pop_empty信号是反映写缓存模块状态的一个信号,当写缓存模块中数据全部被读完,该信号就会被拉高,即fifo_pop_empty信号从0->1,写缓存模块中只要存在数据,该信号即保持为0,fifo_pop_empty信号是图3中结束状态和空闲状态之间的fifo为空标志。由于写数据缓存模块中流出数据时钟大于流入数据时钟,写数据缓存模块中数据必然会读空。fifo几乎快空时(例如,fifo中能够存储的数据为256个,若fifo中只存储了1个数据,则确定fifo几乎快空),拉高fifo_pop_ae信号(fifo_pop_ae信号为1时,fifo_pop_ae信号有效,即fifo几乎空标志有效),写状态机跳转至暂停状态,直到下一次fifo_pop_af信号被拉高(fifo_pop_af信号为1时,fifo_pop_af信号有效,即fifo几乎满标志有效),跳转至写状态;其中,fifo_pop_ae信号是指写缓存模块的fifo几乎空标志,(例如,fifo中能够存储的数据为256个,系统配置决定fifo中只剩1个数据,即fifo中只存储了1个数据),fifo_pop_ae信号是应图3中写状态到暂停状态之间的fifo几乎空标志。在暂停状态时,若检测到数据流结束标志有效时,写状态机直接跳转至结束状态,等待数据读空,fifo_pop_empty信号拉高,跳转至空闲态,结束状态机。
第一接口转换模块是将普通数据流接口转换为特定总线接口,图1中所示的总线20包括AXI3/4总线、APB总线、noc总线等。总线接口是一种总线协议,总线接口例如AXI接口,通过AXI接口与总线连接,从而可以通过仲裁获取访问公共存储模块(例如DDR)的权限,进而将视频信号(跨时钟域处理后的数据)缓存到公共存储模块中。
在一个实施例中,写缓存模块为先进先出存储器,第一接口转换模块用于将数据流接口转换为总线接口。
具体地,写缓存模块可以为任何存储设备,例如双端口RAM、FIFO存储器等。
在一个实施例中,基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据,包括:
通过预设的延迟计数模块、预设的第一读缓存模块和预设的第二接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据;
通过预设的延迟计数模块、预设的第二读缓存模块和预设的第三接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据。
具体地,当延迟计数模块的计数值达到缓存预设值时,缓存预设值要小于实际延迟值,提前通过接口转换模块(第二接口转换模块和第三接口转换模块)读取数据流,并缓存于读缓存模块(第一读缓存模块和第二读缓存模块),由于总线并不一定时刻空闲,需要获取总线仲裁权限,才可以通过总线访问公共存储模块,读取存储于公共存储模块的数据流;其中,实际延迟值为3D梳状滤波器的帧延迟值或场延迟值。延迟计数模块将缓存预设值发送给接口转换模块(第二接口转换模块和第三接口转换模块),延迟计数模块将实际延迟值发送给读缓存模块。
接口转换模块用于将特定总线接口转换为普通数据接口,例如将AXI总线接口转换为普通接口。
在一个实施例中,通过预设的延迟计数模块、预设的第一读缓存模块和预设的第二接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据,包括:
通过预设的延迟计数模块,将第一缓存延迟值发送给预设的第二接口转换模块,并将针对视频信号的帧延迟值发送给预设的第一读缓存模块;第一缓存延迟值小于帧延迟值;
基于第一缓存延迟值、帧延迟值,以及第一读缓存模块和第二接口转换模块之间的状态机控制,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据。
具体地,第一缓存延迟值为缓存预设值,帧延迟值为实际延迟值。
延迟计数模块的计数值到达缓存预设值时,读状态机启动,跳转至读状态,直到第一读缓存模块的fifo_push_af信号被拉高时,状态机跳转至暂停状态;其中,fifo_push_af信号是指第一读缓存模块的fifo几乎满标志,fifo_push_af信号是图4中读状态和暂停状态之间的fifo几乎满标志,当fifo_push_af信号为1时,则fifo_push_af信号有效,即fifo几乎满标志有效。第一读缓存模块暂停写入,若延迟计数模块的计数值达到额定的实际延迟值,则第一读缓存模块中数据持续流入帧数据处理模块,直到第一读缓存模块的fifo_push_ae信号被拉高(fifo_push_ae信号为1),跳转至读状态;若检测到数据流结束标志有效时,则跳转至结束状态,状态机结束;其中,fifo_push_ae信号为第一读缓存模块的fifo几乎空标志,fifo_push_ae信号是图4中暂停状态->读状态之间的fifo几乎空标志,当fifo_push_ae信号为1时,则fifo_push_ae信号有效,即fifo几乎空标志有效。
第一读缓存模块可以为任何存储设备,例如双端口RAM、FIFO存储器等。
在一个实施例中,通过预设的延迟计数模块、预设的第二读缓存模块和预设的第三接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据,包括:
通过预设的延迟计数模块,将第二缓存延迟值发送给预设的第三接口转换模块,并将针对视频信号的场延迟值发送给预设的第二读缓存模块;第二缓存延迟值小于所述场延迟值;
基于第二缓存延迟值、场延迟值,以及第二读缓存模块和第三接口转换模块之间的状态机控制,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据。
具体地,第二缓存延迟值为缓存预设值,场延迟值为实际延迟值。
延迟计数模块的计数值到达缓存预设值时,读状态机启动,跳转至读状态,直到第二读缓存模块的fifo_push_af信号被拉高时,状态机跳转至暂停状态;其中,fifo_push_af信号是指第二读缓存模块的fifo几乎满标志,fifo_push_af信号是图4中读状态和暂停状态之间的fifo几乎满标志。第二读缓存模块暂停写入,若延迟计数模块计时达到额定的实际延迟值,则第二读缓存模块中数据持续流入帧数据处理模块,直到第二读缓存模块的fifo_push_ae信号被拉高,跳转至读状态;若检测到数据流结束标志有效时,则跳转至结束状态,状态机结束;其中,fifo_push_ae信号为第二读缓存模块的fifo几乎空标志,fifo_push_ae信号是图4中暂停状态->读状态之间的fifo几乎空标志。
第二读缓存模块可以为任何存储设备,例如双端口RAM、FIFO存储器等。
在一个实施例中,延迟计数模块为加法器,第一读缓存模块和第二读缓存模块都为先进先出存储器,第二接口转换模块和第三接口转换模块用于将总线接口转换为数据流接口。
具体地,第一读缓存模块和第二读缓存模块都可以为FIFO存储器。第一读缓存模块和第二读缓存模块都可以为任何存储设备,例如双端口RAM、FIFO存储器等。第二接口转换模块和第三接口转换模块是将特定总线接口转换为普通数据接口。
在一个实施例中,在基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据之后,还包括:
将视频信号、延迟的帧数据和延迟的场数据输入至预设的3D梳状滤波器;
通过3D梳状滤波器,将视频信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
具体地,如图1所示,数据流获取模块将数字信号发送给3D梳状滤波器,帧数据处理模块将帧数据发送给3D梳状滤波器,场数据处理模块将场数据发送给3D梳状滤波器;通过3D梳状滤波器,将数字信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
在一个实施例中,公共存储模块为双倍速率同步动态随机存储器DDR。
应用本申请实施例,至少具有如下有益效果:
实现了将SOC中公共的DDR替代3D梳状滤波器的存储空间(RAM)。DDR是电视机主控芯片的必要也是重要的组成部分,将3D梳状滤波器所需的一帧数据流或一场数据存储于DDR中,在指定的延迟后,将延迟的帧数据和延迟的场数据用于3D梳状滤波器的亮色分离处理,节省了一个外接存储空间RAM,从而充分利用公共存储空间DDR,降低了SOC成本。由于在SOC中需要通过总线访问DDR,并不能立即通过仲裁获得权限,需要通过延迟计数模块中的两组计数器(第一组计数器和第二组计数器)从FIFO存储器中读取数据流,即第一组计数器的计数值达到缓存预设值时,提前读取DDR中存储的数据,并缓存于FIFO存储器中,等到第二组计数器的计数值等于实际延迟值时,从FIFO存储器中读取数据流,从而保证了数据流延迟的精确度。
为了更好的理解本申请实施例所提供的方法,下面结合具体应用场景的示例对本申请实施例的方案进行进一步说明。
在一个具体应用场景实施例中,例如电视机中的亮色分离处理场景,参见图5,示出了一种数据处理方法的处理流程,如图5所示,本申请实施例提供的数据处理方法的处理流程包括如下步骤:
S501,SOC中的CVBS模块通过数据流获取模块,获取电视模拟信号。
S502,CVBS模块通过数据流获取模块,将电视模拟信号转换为CVBS信号;并通过数据流获取模块,将CVBS信号和使能信号输入至写缓存模块。
具体地,CVBS信号为视频信号,即CVBS信号为数字信号。
S503,若使能信号有效,则将CVBS信号缓存在写缓存模块中;CVBS模块通过写缓存模块将CVBS信号进行跨时钟域处理,得到跨时钟域处理后的数据。
S504,CVBS模块通过第一接口转换模块,将跨时钟域处理后的数据储存在DDR中;转到步骤S505和步骤S505处理。
S505,CVBS模块通过延迟计数模块、第一读缓存模块和第二接口转换模块,将DDR中储存的跨时钟域处理后的数据,转换为延迟的帧数据;转到步骤S507处理。
具体地,例如,DDR工作的时钟为400MHz,即DDR中储存的跨时钟域处理后的数据对应的时钟为400MHz;第一读缓存模块进行跨时钟域处理,使第一读缓存模块输出的延迟的帧数据对应的时钟为27MHz,即延迟的帧数据对应的时钟和CVBS信号对应的时钟相同;其中,CVBS信号对应的时钟为27MHz。
由于在SOC中需要通过总线访问DDR,并不能立即通过仲裁获得权限,需要通过延迟计数模块中的两组计数器(第一组计数器和第二组计数器)从FIFO存储器(第一读缓存模块)中读取数据流,即第一组计数器的计数值达到缓存预设值时,提前读取DDR中存储的数据,并缓存于FIFO存储器中,等到第二组计数器的计数值等于实际延迟值时,从FIFO存储器中读取数据流,从而保证了数据流延迟的精确度。
S506,CVBS模块通过延迟计数模块、第二读缓存模块和第三接口转换模块,将DDR中储存的跨时钟域处理后的数据,转换为延迟的场数据;转到步骤S508处理。
具体地,例如,DDR工作的时钟为400MHz,即DDR中储存的跨时钟域处理后的数据对应的时钟为400MHz;第二读缓存模块进行跨时钟域处理,使第二读缓存模块输出的延迟的场数据对应的时钟为27MHz,即延迟的场数据对应的时钟和CVBS信号对应的时钟相同;其中,CVBS信号对应的时钟为27MHz。
由于在SOC中需要通过总线访问DDR,并不能立即通过仲裁获得权限,需要通过延迟计数模块中的两组计数器(第一组计数器和第二组计数器)从FIFO存储器(第二读缓存模块)中读取数据流,即第一组计数器的计数值达到缓存预设值时,提前读取DDR中存储的数据,并缓存于FIFO存储器中,等到第二组计数器的计数值等于实际延迟值时,从FIFO存储器中读取数据流,从而保证了数据流延迟的精确度。
S507,CVBS模块通过第一读缓存模块,将延迟的帧数据发送给帧数据处理模块。
S508,CVBS模块通过第二读缓存模块,将延迟的场数据发送给场数据处理模块。
S509,CVBS模块通过数据流获取模块将CVBS信号发送给3D梳状滤波器,通过帧数据处理模块将帧数据发送给3D梳状滤波器,通过场数据处理模块将场数据发送给3D梳状滤波器。
S510,CVBS模块通过3D梳状滤波器,将CVBS信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
应用本申请实施例,至少具有如下有益效果:
实现了将SOC中公共的DDR替代3D梳状滤波器的存储空间(RAM)。DDR是电视机主控芯片的必要也是重要的组成部分,将3D梳状滤波器所需的一帧数据流或一场数据存储于DDR中,在指定的延迟后,将延迟的帧数据和延迟的场数据用于3D梳状滤波器的亮色分离处理,节省了一个外接存储空间RAM,从而充分利用公共存储空间DDR,降低了SOC成本。由于在SOC中需要通过总线访问DDR,并不能立即通过仲裁获得权限,需要通过延迟计数模块中的两组计数器(第一组计数器和第二组计数器)从FIFO存储器中读取数据流,即第一组计数器的计数值达到缓存预设值时,提前读取DDR中存储的数据,并缓存于FIFO存储器中,等到第二组计数器的计数值等于实际延迟值时,从FIFO存储器中读取数据流,从而保证了数据流延迟的精确度。
本申请实施例还提供了一种数据处理装置,该数据处理装置的结构示意图如图6所示,数据处理装置70,包括第一处理模块701、第二处理模块702、第三处理模块703和第四处理模块704。
第一处理模块701,用于获取视频信号;
第二处理模块702,用于将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;
第三处理模块703,用于将跨时钟域处理后的数据储存在预设的公共存储模块中;
第四处理模块704,用于基于公共存储模块中储存的所述跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;视频信号、延迟的帧数据和延迟的场数据用于亮色分离处理。
在一个实施例中,视频信号为待延迟视频流信号,第二处理模块702,具体用于:
将待延迟视频流信号通过预设的写缓存模块,进行跨时钟域处理,将待延迟视频流信号对应的时钟转换为公共存储模块工作的时钟,得到跨时钟域处理后的数据,跨时钟域处理后的数据对应的时钟为公共存储模块工作的时钟。
在一个实施例中,第三处理模块703,具体用于:
基于预设的写缓存模块和预设的第一接口转换模块之间的状态机控制,通过第一接口转换模块,将写缓存模块输出的跨时钟域处理后的数据,储存在预设的公共存储模块中。
在一个实施例中,写缓存模块为先进先出存储器,第一接口转换模块用于将数据流接口转换为总线接口。
在一个实施例中,第四处理模块704,具体用于:
通过预设的延迟计数模块、预设的第一读缓存模块和预设的第二接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据;
通过预设的延迟计数模块、预设的第二读缓存模块和预设的第三接口转换模块,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据。
在一个实施例中,第四处理模块704,具体用于:
通过预设的延迟计数模块,将第一缓存延迟值发送给预设的第二接口转换模块,并将针对视频信号的帧延迟值发送给预设的第一读缓存模块;第一缓存延迟值小于帧延迟值;
基于第一缓存延迟值、帧延迟值,以及第一读缓存模块和第二接口转换模块之间的状态机控制,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的帧数据。
在一个实施例中,第四处理模块704,具体用于:
通过预设的延迟计数模块,将第二缓存延迟值发送给预设的第三接口转换模块,并将针对视频信号的场延迟值发送给预设的第二读缓存模块;第二缓存延迟值小于所述场延迟值;
基于第二缓存延迟值、场延迟值,以及第二读缓存模块和第三接口转换模块之间的状态机控制,将公共存储模块中储存的跨时钟域处理后的数据,转换为延迟的场数据。
在一个实施例中,延迟计数模块为加法器,第一读缓存模块和第二读缓存模块都为先进先出存储器,第二接口转换模块和第三接口转换模块用于将总线接口转换为数据流接口。
在一个实施例中,第四处理模块704,还用于:
将视频信号、延迟的帧数据和延迟的场数据输入至预设的3D梳状滤波器;
通过3D梳状滤波器,将视频信号、延迟的帧数据和延迟的场数据进行亮色分离处理。
在一个实施例中,公共存储模块为双倍速率同步动态随机存储器。
应用本申请实施例,至少具有如下有益效果:
获取视频信号;将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;将跨时钟域处理后的数据储存在预设的公共存储模块中;基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;视频信号、延迟的帧数据和延迟的场数据用于亮色分离处理;如此,将视频信号、延迟的帧数据和延迟的场数据用于3D梳状滤波器的亮色分离处理,节省了存储空间随机存取存储器RAM,充分利用公共存储空间,即公共存储模块,从而降低了芯片成本。
本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图7所示,图7所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:电视机等。
应用本申请实施例,至少具有如下有益效果:
获取视频信号;将视频信号进行跨时钟域处理,得到跨时钟域处理后的数据;将跨时钟域处理后的数据储存在预设的公共存储模块中;基于公共存储模块中储存的跨时钟域处理后的数据,确定延迟的帧数据和延迟的场数据;视频信号、延迟的帧数据和延迟的场数据用于亮色分离处理;如此,将视频信号、延迟的帧数据和延迟的场数据用于3D梳状滤波器的亮色分离处理,节省了存储空间随机存取存储器RAM,充分利用公共存储空间,即公共存储模块,从而降低了芯片成本。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
基于与本申请实施例提供的方法相同的原理,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述本申请任一可选实施例中提供的方法。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。