一种多路多分辨率视频实时输出方法和系统与流程

文档序号:31715553发布日期:2022-10-04 21:41阅读:40来源:国知局
一种多路多分辨率视频实时输出方法和系统与流程

1.本发明涉及显示技术领域,特别涉及一种多路多分辨率识别实时输出方法和系统。


背景技术:

2.目前人们对不同分辨率显示器的要求越来越多,常规如平板电脑,手机,行车记录仪,手表,电子广告显示牌,电视等等,不同的显示器对视频的分辨率是不一致的,所以不同分辨率多路视频实时输出已经成为了一种关键方式。它的常规实现方法视频采集输入,缩放模块,存储模块,显示控制模块几部分组成。得到多路不同分辨率视频的常规实现方法是使用多个缩放模块并行实现,一个显示器就对应一个缩放模块。同时将缩放后数据进行存入外部存储设备,显示时再次从外部存储设备进行取数据显示。现有技术对一路视频输入多路视频输出的缩放处理主要采用的是叠加法,然而叠加法可能导致当显示器越来越多时,对缩放模块的数量配置也越来越多,会导致大量的硬件资源开销。另外在常规处理过程中,多个视频输出需要将数据写入外部存储设备,显示模块显示时需要再次从外部存储设备中取数据,增加了数据存取对存储设备的访问空间和带宽开销。


技术实现要素:

3.本发明其中一个发明目的在于提供一种多路多分辨率视频实时输出方法和系统,所述方法和系统改进了基于双线性插值的缩放方法,通过设置串转并复用控制模块和缓存模块,将多路视频输出共用缓存资源和逻辑资源,从而使得多路视频缩放过程中,缩放模块资源开销成几何倍数缩小。
4.本发明另一个发明目的在于提供一种多路多分辨率视频实时输出方法和系统,所述方法和系统在视频缩放过程中将非连续数据到连续数据转换的同步方法,将缩放后数据按照实时视频格式输出,从而使得本发明输出的实时视频可以满足不同显示器的存储需求,减少外部存储器的使用和开销,减少整体视频输出成本。
5.本发明另一个发明目的在于提供一种多路多分辨率视频实时输出方法和系统,所述方法和系统包括垂直缩放模块,且所述垂直缩放模块内包括垂直有效选择模块,所述垂直有效选择模块将根据视频缩放的倍数选择合适的垂直有效信号,并对复用的视频进行选择,从而降低了资源的开销。
6.为了实现至少一个上述发明目的,本发明进一步提供一种多路多分辨率视频实时输出方法,所述方法包括:获取视频数据,将所述视频数据由串行视频数据转换为多路并行视频数据;根据垂直缩放倍数选择并行视频数据进行垂直缩放,垂直缩放后进一步对视频数据进行水平缩放,生成不连续的视频数据;将所述不连续的视频数据通过视频同步的方式生成连续视频数据;将所述连续视频数据根据外从部显示器的分辨率时序输出缩放后的连续视频数
据。
7.根据本发明其中一个较佳实施例,所述串行视频数据转换为多路并行视频数据方法包括:获取视频数据输入端的时钟信号、复位信号、第一水平有效信号、第一垂直有效信号、转换使能信号和输入的视频数据;根据输入的信号将串行的输入视频数据通过转换使能信号转换为多路并行视频数据,并在输出端输出第二垂直有效信号、第二水平有效信号和转换后的多路并行视频数据。
8.根据本发明另一个较佳实施例,在完成所述输入的视频数据串并转换后,根据输出的第二垂直有效信号和未缩小的多路并行视频数据,在输入垂直方向上的缩小倍数信号后执行所述多路并行视频数据的缩放,其中不同路并行视频数据为不同行的视频数据。
9.根据本发明另一个较佳实施例,所述垂直缩放方法还包括:将转换后的多路并行视频数据存储至缓存中,当获取输入的视频缩放倍数信号和第二垂直有效信号后,根据所述视频缩放倍数从所述第二垂直有效信号选择对应的信号执行保存在缓存中多路视频的选择复用。
10.根据本发明另一个较佳实施例,所述垂直有效信号的产生方法包括:配置不同垂直缩放倍数,根据所述倍数计数器的计算,以及根据双线性插值计算方法,若当前对应所述倍数计数器的计数值等于所述双线性计算的理论值时,当前行即为垂直输出有效行,对应的有效信号为垂直有效信号。
11.根据本发明另一个较佳实施例,在完成视频数据的垂直缩放后,进一步在输出端输出完成缩放的第三垂直有效信号、第三水平有效信号和选择复用行的每个点的视频数据输出信号。
12.根据本发明另一个较佳实施例,所述视频同步方法包括:当完成视频水平方向的缩放后,进一步将完成水平缩放的视频数据存储到fifo缓存队列中,并进一步根据水平缩放倍数和分辨率信息输出符合分辨率间隔的连续视频数据。
13.根据本发明另一个较佳实施例,所述视频同步方法对应的视频同步模块输入端输入包括时钟信号、复位信号、水平缩放后输出的水平有效信号和垂直有效信号、一行的有效数据量、一行的总数据量、一场的有效行数据量、一场的总场数数据量、经过垂直缩放和水平缩放后的视频数据;其中视频同步模块的输出端为符合显示器分辨率要求的水平有效信号和垂直有效信号,以及同步转换后的视频数据。
14.为了实现至少一个上述发明目的,本发明进一步提供一种多路多分辨率视频实时输出系统,所述系统包括:串并转换复用模块;串并缓存;垂直缩放模块,其中所述垂直缩放模块包括信号选择模块;水平缩放模块;视频同步模块;显示控制模块;其中所述串并转换复用模块连接串并缓存,用于复用多路并行视频数据,所述垂
直缩放模块输入端连接所述串并转换复用模块,所述垂直缩放模块输出端连接水平缩放模块,所述水平缩放模块输出端连接视频同步模块输入端,所述视频同步模块输出端连接显示控制模块,所述系统执行上述一种多路多分辨率视频实时输出方法。
15.本发明进一步提供计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行上述一种多路多分辨率视频实时输出方法。
附图说明
16.图1显示的是本发明一种多路多分辨率视频实时输出方法的流程示意图。
17.图2显示的是本发明中一种多路多分辨率视频实时输出系统框图示意图。
18.图3显示的是本发明中串并转换复用模块的结构示意图。
19.图4显示的是本发明中垂直缩放模块的结构示意图。
20.图5显示的是本发明中垂直有效信号产生模块的波形示意图。
21.图6显示的是本发明中视频同步模块的结构示意图。
22.图7显示的是本发明中非连续视频数据到连续视频数据转换的波形示意图。
23.其中图2中01表示垂直有效信号选择模块。
具体实施方式
24.以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
25.可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
26.请结合图1-图7,本发明公开了一种多路多分辨率视频实时输出方法和系统,所述方法包括:获取原始视频数据,并对获取的原始视频数据进行串并转换,将串并转换后生成的多路并行视频数据保存在串并缓存中,用于后续对所述多路并行视频数据的选择复用。根据输入的缩放倍率信号和垂直有效信号选择后输出垂直缩放后的视频数据,进一步将垂直缩放后的视频数据进行水平缩放,将水平缩放后的视频数据输入到视频同步模块进行视频同步操作,将完成视频同步的视频数据根据显示器分辨率和时序输出。
27.具体而言,请参考图3显示的本发明串并转换模块的结构示意图,所述串并转换模块的输入端输入的数据包括:时钟信号(i_clk_vd)、复位信号(i_rst_n低电平有效)、第一水平有效信号(i_hvalid_vd)、第一垂直有效信号(i_vvalid_vd)、转换使能信号(i_downscaler_en)、以及16bit大小的视频数据(i_data_in)。其中所述串并转换模块输出端的数据包括:第二垂直有效信号(o_vvalid_delay)、第二水平有效信号(o_hvalid_vd)、以及8路16bit大小的并行视频数据(o_data_line0至o_data_line7)。需要说明的是,所述垂直有效信号为8bit信号,且所述8路数据中每一路表示不同行的视频数据,8路数据构成完整的原始视频数据,所述垂直有效信号用于后续垂直方向上的视频缩放输出垂直有效信号控制。其中所述水平有效信号为高时,表示该高信号对应范围的数据为该行内的有效数据。
当垂直有效信号为高时,高信号行内数据对应的全部行数据均为有效数据。由于本发明中需要满足不同的缩放倍数视频数据输出要求,因此本发明需要配置多比特的缩放数据,根据缩放倍数选择所述8路并行视频数据中的多路组合进行缩放,从而实现不同垂直缩放倍数的配置。其中所述水平缩放倍数的选择输出同理于垂直缩放倍数输出,本发明对此不再赘述。所述串并转换模块连接串并缓存,并在所述串并缓存中存储串并转换后每一行的视频数据,当存在输入的垂直缩放倍数信号时,所述缓存将提取对应行数据生成对应的垂直缩放视频数据。也就是说,所述串并缓存可以实现多路缩放视频数据的复用功能,从而大幅降低了缩放模块资源开销。
28.请参考图4显示的本发明垂直缩放模块结构示意图,在所述垂直缩放模块中输入端输入的信号包括:复位信号、缩放前的水平有效信号和垂直有效信号,缩放前的水平有效信号和垂直有效信号为所述串并转换模块输出端的第二水平有效信号和第二垂直有效信号,本发明中第一和第二用于分别表示当前模块的输入端信号和输出端信号,由于存在模块的连接关系,第一和第二所指的信号可以为相同信号。所述垂直缩放模块中输入端输入的信号还包括将要在垂直方向上需要进行缩放的多行视频数据、垂直方向上缩小倍数信号(i_down_ydelta)。所述垂直缩放模块的输出端输出信号包括:水平有效信号(o_hvalid),垂直有效信号(o_vvalid),以及缩放完成后视频数据每一行里每个点的16bit数据输出信号(o_row_data)。
29.值得一提的是,请参考图5,本发明在所述垂直缩放模块中设置了垂直有效信号产生模块,其中所述垂直有效信号产生模块内根据不同缩小倍数得到所述垂直有效信号o_vvalid_gen,其中如图5所示,所述输入垂直有效信号i_vvalid_delay[7:0]为前一模块所述第二垂直有效信号,比特0到比特7的跳变如图所示,相邻两比特延时一行;所包含的比特位在视频帧开始分别为8’h00、8’h01、8’h03、8’h07、8’h0f、8’h1f、8’h3f、8’h7f 、8’hff,在视频帧中间为8’hff,在视频帧结束时变化为8’hfe、8’hfc、8’hf8、8’hf0、8’he0、8’hc0、8’h80、8’h00;上述所述8’h表示16进制表示方法,方便图5展示。当所述垂直缩放模块在输入端获取到对应的垂直缩放倍数信号时,根据双线性插值方法,得到中间变量偶数垂直有效计数器cnt_valid_even[3:0]和奇数垂直有效计数器cnt_valid_odd[3:0],其中所述偶数表示输出从0开始计算的偶数行,所述奇数表示输出从1开始计算的奇数行,根据所述偶数垂直有效计数器和奇数垂直有效计数器,从而提取对应垂直方向上有效视频数据作为垂直方向上的缩放视频数据,计算得到所述垂直有效信号对应的有效数据,同时根据上述所述垂直有效计数器,得到所述有效信号产生模块的垂直有效信号o_vvalid_gen,其中图5中垂直有效信号o_vvalid_gen和图4中垂直有效信号o_vvalid之间存在延迟关系。需要说明的是,由于垂直有效信号、水平有效信号和被分成8路的并行视频数据是存储于串并缓存中,当存在新的垂直缩放倍数信号输入到所述垂直缩放模块中时,则可以从所述串并缓存中重新产生满足垂直缩放倍数要求的垂直有效信号,并根据所述垂直有效计数器从串并缓存中选择对应的视频数据重新组成垂直方向上的缩放视频数据,因此可以实现并行数据在不同垂直缩放模块下的复用,减少了垂直缩放模块的资源开销。
[0030]
在完成所述垂直方向上的视频数据缩放后,将垂直方式缩放完毕的视频数据输入到水平缩放模块中,其中所述水平缩放模块根据输入的水平缩放倍数信号选择适配于水平缩放倍数的水平有效信号,其中所述水平有效信号的产生配置可以预先设置,设置方式和
垂直有效信号相同,对此本发明不再赘述。进一步通过选定的水平有效信号从所述串并缓存中选取对应水平方向有效视频数据作为水平缩放视频数据,以完成视频数据的水平缩放。
[0031]
值得一提的是,在完成所述视频数据的水平缩放后,缩放后的视频数据为非连续的视频数据,为了保障输出视频数据是连续的,本发明进一步采用视频同步模块执行非连续视频数据的连续整合的技术效果。
[0032]
请参考图7,其中所述视频同步模块的输入端输入信号包括:时钟信号(i_clk),复位信号(i_rst_n),第一水平有效信号(i_hvalid),垂直有效信号(i_vvalid),一行的有效数据量(i_hactive),一行的总数据量(i_htotal),一场的有效行数数据量(i_vactive),一场的总场数数据量(i_vtotal),以及经过垂直和水平缩放后的视频数据(i_data)。输出端输出的信号包括符合终端显示设备分辨率要求的水平有效信号(o_hvalid),垂直有效信号(o_vvalid)和转换后的视频数据(o_data)。本实施例中,所述视频同步模块采用fifo存储队列输出缩放后连续视频数据,其中将缩放转换后的连续视频输入到fifo缓存。举例来说,图7中a区为输入的垂直有效信号波形图,b区为缩放前的水平有效信号波形图,进行3倍缩放后得到了如c区的水平有效信号波形示意图。由于c区相邻的水平有效信号之间时间间隔过大,因此需要将c区缩放处理后的水平有效信号存入到所述fifo缓存中,并根据显示器的分辨率和时序输出连续的视频数据。如图7中的d区所示,将存入fifo的转换后水平有效数据转换为符合当前图像分辨率的间隔输出(先将水平有效数据存入到fifo中,将不连续数据c1经过处理后,放到连续数据d1的位置上,不连续数据c2放到连续数据d2的位置上,以后依次放置),其中图7中e为水平方向两行之间的无效区时间间隔。
[0033]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、rf等等,或者上述的任
意合适的组合。
[0034]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0035]
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1