CN113038273B - 视频帧处理方法、装置、存储介质及电子设备 - Google Patents

视频帧处理方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN113038273B
CN113038273B CN202110564498.4A CN202110564498A CN113038273B CN 113038273 B CN113038273 B CN 113038273B CN 202110564498 A CN202110564498 A CN 202110564498A CN 113038273 B CN113038273 B CN 113038273B
Authority
CN
China
Prior art keywords
splicing
processing module
data
module
image processing
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
CN202110564498.4A
Other languages
English (en)
Other versions
CN113038273A (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.)
Hubei Xinqing Technology Co ltd
Original Assignee
Hubei Xinqing 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 Hubei Xinqing Technology Co ltd filed Critical Hubei Xinqing Technology Co ltd
Priority to CN202110564498.4A priority Critical patent/CN113038273B/zh
Publication of CN113038273A publication Critical patent/CN113038273A/zh
Application granted granted Critical
Publication of CN113038273B publication Critical patent/CN113038273B/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/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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally

Abstract

本申请公开了一种视频帧处理方法、装置、存储介质及电子设备,包括:获取拼接指令,该拼接指令包括通过第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同该第一显示像素接口用于输入不同路视频帧;根据属性信息和拼接规则,确定每个图像处理模块对应的数据输出时序段和数据有效时序段;根据数据输出时序段、数据有效时序段和信号处理模块,控制第一显示像素接口经由图像处理模块向图像拼接模块传输相应视频帧中的像素数据;通过图像拼接模块对像素数据进行拼接,从而可以在多路视频的实时拍摄过程中进行视频拼接,拼接效率高。

Description

视频帧处理方法、装置、存储介质及电子设备
技术领域
本申请涉及视频帧处理技术领域,尤其涉及一种视频帧处理方法、装置、存储介质及电子设备。
背景技术
在安装有系统级芯片的系统中,通常由多个操作系统来实现不同的应用,比如基于Linux操作系统的应用或实时操作系统(Real Time Operating System,RTOS)的应用或基于安卓系统的应用,不同的操作系统会进行隔离。或者在操作系统中涉及多个不同的域/CPU核,利用不同的域/CPU核来实现不同的应用,不同的域/CPU核之间会进行隔离。当不同操作系统或者不同域或者不同CPU核下运行应用产生的视频(也即多路视频)需要显示在同一个显示屏中的时候,就会涉及到视频的拼接,其中,视频拼接是将多路视频解码后,对画面帧进行拉伸并重新布局编码为单路视频流。
目前,大部分多路视频都无法进行直接拼接,需要提前将各路系统DPI(DisplayPixel Interface,显示像素接口)传输过来的视频存储在本地,然后导入拼接软件中,通过在拼接软件中设定好拼接规则来实现视频拼接,之后,将拼接好的视频传输至显示器进行显示。这种视频拼接方式需要提前将视频存储在本地,也即要提前下载或缓存好视频,无法在实时拍摄的过程中直接进行视频拼接,拼接方式繁琐,使用局限性较强。
发明内容
本申请实施例提供一种视频帧处理方法、装置、存储介质及电子设备,能对实时视频进行拼接,拼接方式简单。
本申请实施例提供了一种视频帧处理方法,应用于电子设备,所述电子设备包括第一拼接模组,所述第一拼接模组包括信号处理模块、与所述信号处理模块连接的多个图像处理模块、以及与所述多个图像处理模块连接的图像拼接模块,每个所述图像处理模块与对应第一显示像素接口连接,所述视频帧处理方法包括:
获取拼接指令,所述拼接指令包括通过所述第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同所述第一显示像素接口用于输入不同路视频帧;
根据所述属性信息和所述拼接规则,确定每个所述第一显示像素接口的数据输入时序段、每个所述图像处理模块的数据输出时序段、以及每个所述数据输出时序段中的数据有效时序段;
根据所述数据输入时序段,通过所述信号处理模块控制所述第一显示像素接口向相应图像处理模块传输相应视频帧;
根据所述数据输出时序段和所述数据有效时序段,通过所述信号处理模块控制所述图像处理模块向所述图像拼接模块传输相应视频帧中的像素数据;
通过所述图像拼接模块对所述像素数据进行拼接。
本申请实施例提供了一种视频帧处理装置,应用于电子设备,所述电子设备包括第一拼接模组,所述第一拼接模组包括信号处理模块、与所述信号处理模块连接的多个图像处理模块、以及与所述多个图像处理模块连接的图像拼接模块,每个所述图像处理模块与对应第一显示像素接口连接,所述视频帧处理装置包括:
获取单元,用于获取拼接指令,所述拼接指令包括通过所述第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同所述第一显示像素接口用于输入不同路视频帧;
确定单元,用于根据所述属性信息和所述拼接规则,确定每个所述第一显示像素接口的数据输入时序段、每个所述图像处理模块的数据输出时序段、以及每个所述数据输出时序段中的数据有效时序段;
控制单元,用于根据所述数据输出时序段、所述数据有效时序段和所述信号处理模块,控制所述第一显示像素接口经由所述图像处理模块向所述图像拼接模块传输相应视频帧中的像素数据;
拼接单元,用于通过所述图像拼接模块对所述像素数据进行拼接。
其中,所述确定单元具体用于:
根据所述属性信息和所述拼接规则,确定每路所述视频帧中像素数据的拼接坐标;
根据所述拼接坐标,确定每个所述图像处理模块对应的数据输出时序段和数据有效时序段。
其中,所述控制单元具体用于:
当所述信号处理模块中的第一计数器到达任意的所述数据输出时序段时,通过所述信号处理模块向相应图像处理模块发送输出指令;
当接收到所述输出指令的所述图像处理模块中的第二计数器到达相应数据有效时序段时,通过相应图像处理模块拉高相应第一显示像素接口的反压信号,以向相应图像处理模块传输相应视频帧;
将相应图像处理模块中接收到的所述视频帧中的像素数据,传输至所述图像拼接模块。
其中,在通过所述信号处理模块向相应图像处理模块发送输出指令之后,所述控制单元还用于:
当接收到所述输出指令的所述图像处理模块中的第二计数器未到达相应数据有效时序段时,通过相应图像处理模块拉低所述第一显示像素接口的反压信号,以停止向相应图像处理模块传输相应视频帧;
通过相应图像处理模块向所述图像拼接模块传输预设像素数据。
其中,在所述确定单元确定每个所述图像处理模块对应的数据输出时序段和数据有效时序段之后,所述控制单元还用于:
当所述信号处理模块中的第一计数器未到达所述数据输出时序段时,通过所述信号处理模块向相应图像处理模块发送停止输出指令;
通过接收到所述停止输出指令的所述图像处理模块,检测相应第一显示像素接口传输的数据有效信号的状态;
当所述状态为无效状态时,通过接收到所述停止输出指令的所述图像处理模块拉高相应第一显示像素接口的反压信号;
当所述状态为有效状态时,通过接收到所述停止输出指令的所述图像处理模块拉低相应第一显示像素接口的反压信号。
其中,所述第二控制单元还用于:
当所述信号处理模块中的第一计数器未到达所述数据输出时序段时,控制所述信号处理模块向对应图像处理模块发送停止输出指令,以使相应图像处理模块关闭第二计数器。
其中,所述拼接单元还用于:
通过所述信号处理模块生成所述像素数据对应的控制信号。
其中,所述电子设备还包括第二拼接模组;所述信号处理模块和所述图像拼接模块,通过第二显示像素接口与所述第二拼接模组连接,所述视频帧处理装置还包括第三控制单元,用于:
通过所述第二拼接模组拉低所述第二显示像素接口的反压信号,以使所述第一拼接模组停止向所述第二拼接模组进行数据传输;或者,
通过所述第二拼接模组拉高所述第二显示像素接口的反压信号,以使所述第一拼接模组向所述第二拼接模组进行数据传输。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项视频帧处理方法中的步骤。
本申请实施例还提供一种电子设备,包括第一拼接模组、存储器和处理器;所述第一拼接模组包括信号处理模块、与所述信号处理模块连接的多个图像处理模块、以及与所述多个图像处理模块连接的图像拼接模块,每个所述图像处理模块与对应第一显示像素接口连接;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行上述任一项视频帧处理方法中的步骤。
本申请提供的视频帧处理方法、装置、存储介质及电子设备,通过获取拼接指令,该拼接指令包括通过第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同第一显示像素接口用于输入不同路视频帧,接着,根据该属性信息和该拼接规则,确定每个该图像处理模块对应的数据输出时序段和数据有效时序段,之后,根据该数据输出时序段、该数据有效时序段和该信号处理模块,控制该第一显示像素接口经由该图像处理模块向该图像拼接模块传输相应视频帧中的像素数据,之后,通过该图像拼接模块对该像素数据进行拼接。本申请实施例通过在DPI处设置拼接模组硬件,从而可以在多路视频的实时拍摄过程中进行视频拼接,既不影响现有视频拍摄流程,也无需将多路视频提前下载或缓存在本地,方法简单,拼接效率高。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的视频帧处理方法的应用场景示意图。
图2为本申请实施例提供的第一拼接模组的结构示意图。
图3为本申请实施例提供的视频帧处理方法的流程示意图。
图4为本申请实施例提供的第一种视频帧拼接方式的展示示意图。
图5为本申请实施例提供的第二种视频帧拼接方式的展示示意图。
图6为本申请实施例提供的视频帧拼接过程的展示示意图。
图7为本申请实施例提供的另一视频帧处理方法的流程示意图。
图8为本申请实施例提供的各个时序段的展示示意图。
图9为本申请实施例提供的视频帧多次拼接过程的展示示意图。
图10为本申请实施例提供的视频帧处理装置的结构示意图。
图11为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种视频帧处理方法、装置、电子设备及存储介质。本申请实施例提供的任一种视频帧处理装置,可以集成在电子设备中。该电子设备包括但不限于拥有不同操作系统或者不同域或者不同CPU核的智能手机、平板电脑、笔记本电脑、智能电视、智能机器人、个人计算机(Personal Computer,PC)、服务器以及智能车载设备,等等。
本申请实施例提供的视频帧处理方法,主要应用于来自至少两个不同操作系统/至少两个不同域/至少两个不同CPU核下的多个视频,或者单个操作系统或CPU下的多个视频的视频拼接、屏幕共享等场景,视频可以是任一系统/域/CPU核下的运行应用产生的实时拍摄画面,或者网络下载画面等。为描述本申请技术方案,本申请实施例以电子设备为智能车载设备,视频帧处理装置集成在智能车载系统内且实现视频拼接为例进行说明。
请参阅图1,图1是本申请实施例提供的视频帧处理方法的应用场景示意图。电子设备可以包括至少一个拼接模组和显示屏,每个拼接模组与其他拼接模组,或者不同操作系统或者不同域或者不同CPU核下的DPI(Display Pixel Interface,显示像素接口)连接,用于接收DPI或其他拼接模组传输过来的视频,并对这些视频进行拼接,以将多个视频合并为一个视频。其中,在不同操作系统或者不同域或者不同CPU核中,DPI和DPU(displayprocessing unit,显示处理单元)连接,DPU与应用程序连接,DPU用于接收并处理应用程序的视频数据。
比如当电子设备为车载设备时,可以在车载设备的操作系统中设置一个拼接模组,仪表域和娱乐域中的DPI均与该拼接模组连接,该DPI可以用于传输对应域中DPU处理的应用程序的视频数据,这些应用程序可以具有视频拍摄功能,或者具有从外界获取视频数据的功能,当需要对不同域的视频数据进行拼接时,可以将这些视频数据传输至拼接模组,边传输边拼接,从而无需将视频先保存到操作系统的内存中,最后拼接视频可以通过显示屏显示。
需要说明的是,显示屏显示的拼接视频可以是单次拼接得到的(也即电子设备包括单个拼接模组),也可以是多次拼接得到的(也即电子设备包括多个拼接模组),每个拼接模组可以对至少两路视频数据进行拼接,这些视频数据可以是原始视频,也可以是拼接过的视频,具体组合设置可以根据用户的需求而定。以下将以电子设备包括第一拼接模组为例,对视频帧处理方法进行详细说明。
请参见图2和图3,图2为本申请实施例提供的第一拼接模组的结构示意图,图3为本申请实施例提供的视频帧处理方法的流程示意图。在图2中,第一拼接模组包括信号处理模块、与该信号处理模块连接的多个图像处理模块、以及与该多个图像处理模块连接的图像拼接模块,每个该图像处理模块与对应第一显示像素接口DPI连接。该视频帧处理方法包括以下步骤:
S101. 获取拼接指令,该拼接指令包括通过该第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同该第一显示像素接口用于输入不同路视频帧。
其中,拼接指令可以是自动使生成的,比如当多个默认的应用程序均启动时,比如倒车应用和视频通话应用,可以认为需要在同一显示屏中对这些应用程序产生的视频进行显示,此时,系统可以自动使生成拼接指令。拼接指令也可以是用户手动使生成的,比如车载设备或者系统界面上可以提供使视频拼接功能的实体按键或虚拟按键,当用户点击该按键时,可以使对默认应用程序产生的视频进行拼接显示。
请继续参见图2,第一像素显示接口DPI可以实时获取应用程序的视频数据,视频数据一般包括连续视频帧,每个视频帧包括像素数据pixdata和控制信号,控制信号可以包括帧同步信号Vsync、行同步信号Hsync和数据有效信号DE等。通过DPI可以实现像素数据和控制信号的并行传输,而DPI对视频数据的传输可以通过反压信号ready来控制,当反压信号ready拉高时,可以进行视频数据的正常传输,当反压信号ready拉低时,只能进行同步时钟信号CLK的传输,其余信号都会暂停传输。
属性信息可以包括视频帧的尺寸信息,比如1920*720,拼接规则可以包括拼接方式,比如左右拼接,上下拼接、叠加拼接等,例如参见图4和图5,图4中视频帧A和视频帧B是左右拼接,图5中视频帧A和视频帧B是叠加拼接,而对于尺寸不同的多个视频帧,当为非叠加方式拼接时,比如简单的左右、上下等拼接方式,一般会使它们具有相同行数或者相同列数,从而在拼接过程中,会存在dummy行数据的填充,dummy行数据一般是指默认颜色值的像素数据,Dummy行数据可以基于拼接比例填充在最终拼接视频里,拼接比例通常根据需求而定。
比如请参见图6,当视频帧A的尺寸为1920*720,视频帧B的尺寸为720*360,且拼接方式为左A右B拼接时,需要对视频帧B进行dummy行数据填充,若拼接比例为2:1,表示拼接了2行视频帧A的像素数据和1行视频帧B的像素数据时,需要填充1行dummy数据,而若拼接比例为3:2,表示在得到最终拼接视频C的过程中,拼接了3行视频帧A的像素数据和2行视频帧B的像素数据时,需要填充1行dummy数据,当然,若拼接比例为1:1,则表示拼接了1行视频帧A的像素数据,就拼接1行视频帧B的像素数据,不需要填充dummy行数据。其中,拼接规则可以是系统默认设置的,也可以是用户选择的,比如可以提供一个拼接规则选择界面,通过该界面向用户展示多种拼接规则选项,以便用户从中选择所需的选项。
S102. 根据该属性信息和该拼接规则,确定每个该图像处理模块对应的数据输出时序段和数据有效时序段。
具体的,数据输出时序段主要用于控制图像处理模块的数据输出动作,也即控制图像处理模块向图像拼接模块的数据传输,在数据输出时序段内,图像处理模块可以传输DPI那边的行像素数据给图像拼接模块,也可以传输预设像素数据(也即默认的dummy行数据)给图像拼接模块,而当传输的是DPI那边的行像素数据时,还需拉高对应DPI的反压信号,以使DPI将那边的行像素数据传过来,当传输的是dummy行数据时,需拉低对应DPI的反压信号,以暂停DPI那边行像素数据的传输。数据有效时序段对应的是图像处理模块输出从DPI那边拿到的行像素数据给图像拼接模块的时段,也即DE有效阶段。
进一步地,请参见图7,上述步骤S102具体可以包括:
S1021. 根据该属性信息和该拼接规则,确定每路该视频帧中像素数据的拼接坐标;
S1022. 根据该拼接坐标,每个该图像处理模块对应的数据输出时序段和数据有效时序段。
其中,可以根据视频帧尺寸和拼接规则,确定所有视频帧中每个像素点在最终拼接视频上的坐标(拼接坐标),基于每个视频帧对应的拼接坐标确定对应的数据有效时序段,且若不存在dummy行数据的填充,比如上述图4中视频帧A和B的拼接就不需要填充dummy行数据,这种情况下,可以直接将数据有效时序段作为图像处理模块的数据输出时序段,而若存在dummy行数据的填充,比如上述图6中的拼接视频帧C,则在确定出每个视频帧对应的数据有效时序段的同时,还需根据dummy行数据的拼接坐标确定dummy行对应的时序段,基于数据有效时序段和dummy行时序段,确定图像处理模块的数据输出时序段。通常,如果涉及dummy行数据的填充,视频帧中像素点的拼接坐标通常存在间断区域,该间断区域也即dummy行数据的拼接坐标区域,比如,对于上述图6中的视频帧A和B,若拼接坐标(x,y)中x代表列数,y代表行数,拼接比例为2:1,则在拼接视频帧中,(0~1919,0~719)是视频帧A的行数据对应的拼接坐标,(1920~2739,0~719)是视频帧B和dummy的行数据对应的拼接坐标,其中,每间隔1行视频帧B的行数据,存在一行dummy数据,比如,(1920~2739,1)是视频帧B行数据的拼接坐标,(1920~2739,2)是dummy行的拼接坐标。
比如,对于图6中的视频帧A和视频帧B,若对应的图像处理模块分别为image A和image B,则各个时序段的展示请参见图8,其中,image A对应的数据输出时序段为H1,数据有效时序段为M1,image B对应的数据输出时序段为H2,数据有效时序段为M2。
S103.根据该数据输出时序段、该数据有效时序段和该信号处理模块,控制该第一显示像素接口经由该图像处理模块向该图像拼接模块传输相应视频帧中的像素数据。
其中,信号处理模块中可以设置两个计数器(也即第一计数器),主要用于记录像素的坐标位置,比如可以包括横坐标计数器和纵坐标计数器,通过第一计数器来确定到达了哪个图像位置(比如图6中的视频帧A或视频帧B),进而确定到达了哪个图像处理模块的数据输出时序段。每个图像处理模块中可以设置三个计数器(也即第二计数器),这三个计数器主要用于记录已输出的行数,其相对于信号处理模块中的第一计数器是独立工作的。第二计数器用于确定是否到达了数据有效时序段,当到达了数据有效时序段时,图像处理模块向图像拼接模块输出实时视频帧行数据,当第二计数器未到达数据有效时序段,但是第一计数器到达数据输出时序段时,图像处理模块向图像拼接模块输出dummy行数据。
具体的,第二计数器可以包括记录单个循环内发送了多少行视频帧像素数据(也即DE有效时的像素数据)的计数器1,记录单个循环内发送了多少行dummy数据的计数器2,以及记录单个视频帧中总共发送了多少行视频帧像素数据的计数器3,单个循环总长是基于拼接规则来定的,比如视频帧A和视频帧B的拼接规则是2:1时,单个循环就包括2行视频帧像素数据、1行dummy数据。当单个循环走完时,计数器1和计数器2会清零重新开始计数,而计数器3会等到信号处理模块向图像处理模块传输帧开始信号时才会清零重新开始计数。通常情况下,如果计数器3记录的总行数已经到达视频帧像素数据的总行数,那么剩下的像素数据都发dummy行数据。
通常,第一计数器是一直在计数的,一旦第一计数器确定到达了某个或某几个图像处理模块对应的数据输出时序段,比如图6中的视频帧A或视频帧B的数据输出时序段时,信号处理模块会向相应图像处理模块发送输出指令(比如valid为1的信号),而图像处理模块接收到该输出指令后,会基于自身内置的第二计数器的计数情况,确定是需要向图像拼接模块发送视频帧像素数据,还是dummy行数据,并进行相应操作,也即,请继续参见图7,上述步骤S103具体可以包括:
S1031a. 当该信号处理模块中的第一计数器到达任意的该数据输出时序段时,通过该信号处理模块向相应图像处理模块发送输出指令;
S1032a. 当接收到该输出指令的该图像处理模块中的第二计数器到达相应数据有效时序段时,通过相应图像处理模块拉高相应第一显示像素接口的反压信号,以向相应图像处理模块传输相应视频帧;
S1033a. 将相应图像处理模块中接收到的该视频帧中的像素数据,传输至该图像拼接模块。
其中,一旦信号处理模块中的第一计数器到达某个或某几个图像处理模块的数据输出时序段,比如到达图8中的H1或H2,则信号处理模块向这个或这几个图像处理模块发送输出指令(比如valid为1的信号),而图像处理模块接收到该输出指令后,若自身的第二计数器到达数据有效时序段,比如到达图8中的M1或M2,则需要拉高相应第一显示像素接口DPI的反压信号,以从DPI中获取实时视频帧,并通过图像处理模块将实时视频帧中的像素数据传输至图像拼接模块。
进一步地,在上述步骤S1031a之后,该视频帧处理方法还可以包括:
S1034a. 当接收到该输出指令的该图像处理模块中的第二计数器未到达相应数据有效时序段时,通过相应图像处理模块拉低该第一显示像素接口的反压信号,以停止向相应图像处理模块传输相应视频帧;
通过相应图像处理模块向该图像拼接模块传输预设像素数据。
其中,一旦第一计数器到达某个或某几个图像处理模块的数据输出时序段,但相应第二计数器未到达其数据有效时序段时,比如到达图8中的H2,但未到达M2,则说明需要传输dummy行数据,需要拉低相应第一显示像素接口DPI的反压信号,并将dummy行数据传输至图像拼接模块。
此外,由于DPI是以数据行的形式传输像素数据,且每次传输完一行后,DPI会进入一个行消隐时段,在这个时段,并不会传输正常像素数据,数据有效信号DE处于无效状态,而DPI需要拉高反压信号ready以尽快渡过这个阶段,因此,在进行视频拼接时,需要考虑行消隐时段的影响。具体的,在上述步骤S102之后,该视频帧处理方法还可以包括:
S1031b. 当该信号处理模块中的第一计数器未到达该数据输出时序段时,通过该信号处理模块向相应图像处理模块发送停止输出指令;
S1032b. 通过接收到该停止输出指令的该图像处理模块,检测相应第一显示像素接口传输的数据有效信号的状态;
S1033b. 当该状态为无效状态时,通过接收到该停止输出指令的该图像处理模块拉高相应第一显示像素接口的反压信号;当该状态为有效状态时,通过接收到该停止输出指令的该图像处理模块拉低相应第一显示像素接口的反压信号。
其中,若信号处理模块中的第一计数器未到达某个图像处理模块的数据输出时序段,比如未到达图8中的H1或H2,则信号处理模块向这个图像处理模块发送停止输出指令(比如valid为0的信号),而图像处理模块接收到该停止输出指令后,会判断DPI是否进入行消隐时段,如果进入行消隐时段(也即未到达数据输出时序段,但数据有效信号DE处于无效状态),则拉高对应第一显示像素接口DPI的反压信号,以使该DPI尽快渡过该行消隐时段,而如果没有进入行消隐时段(也即未到达数据输出时序段,且数据有效信号DE处于有效状态),则拉低对应第一显示像素接口DPI的反压信号,此时,相应DPI只会向图像处理模块传输同步时钟信号CLK,其余信号都会暂停传输,等待下一次图像处理模块接收输出指令。
需要指出的是,行消隐时段通常出现在每个数据有效时序段之后,而当处于数据有效时序段或行消隐时段时,都需要拉高相应第一显示像素接口DPI的反压信号,也即,当反压信号ready被拉高时,相应DPI可以正常传输视频帧数据(比如像素数据和控制信号)或者快速渡过行消隐时段,故可以将数据有效时序段和行消隐时序段作为相应DPI的数据输入时序段,在数据输入时序段内,相应DPI的反压信号会被拉高,在数据输入时序段之外,相应DPI的反压信号会被拉低,比如,在图8中,若视频帧A和视频帧B对应的第一显示像素接口分别为 DPI A和DPI B,则对于DPI A,其数据输入时序段可以为L1,对于DPI B,其数据输入时序段可以为L2。
通常,对于常规拼接方式,比如左右拼接、上下拼接,不同DPI之间的数据输入时序段通常不同,比如图8中的数据输入时序段L1和L2完全不存在重叠,也即当任意一个DPI在进行视频帧传输时,其余DPI处于只传输CLK的阶段。而对于叠加拼接,比如图5中的视频A和视频B,拼接形成具有画中画效果的视频C,DPI A和DPI B对应的数据输入时序段会存在重叠时段,也即会存在需要DPI A和DPI B同时进行视频帧传输的时段。
S104. 通过该图像拼接模块对该像素数据进行拼接。
其中,图像拼接模块一旦接收到图像处理模块传输过来的像素数据,比如实时视频帧的像素数据,或者dummy行数据,即可以对这些像素数据进行拼接。具体的,可以提前为不同拼接规则设定不同的拼接算法,之后基于用户选择或者系统优选的拼接规则来选取合适的拼接算法进行像素数据的拼接。
与此同时,由于一个视频帧既包括像素数据,又包括控制信号,其中,控制信号主要包括上述帧同步信号Vsync、行同步信号Hsync和数据有效信号DE等。而图像拼接模块主要用于接收并处理像素数据,故当通过图像拼接模块形成新视频帧的像素数据时,还需形成新的控制信号,也即,在执行上述步骤S105的过程中,该视频帧处理方法还可以包括步骤:通过该信号处理模块生成该像素数据对应的控制信号。
需要指出的是,在生成拼接视频帧后,可以通过DPI将拼接视频帧传输至显示屏进行显示,上述实施例大部分是以两路视频帧的首次拼接为例进行拼接方法的介绍,而实际单次拼接涉及的视频帧数量、以及总拼接次数可以根据需求而定,比如,请参见图9,可以是对三路视频帧A、B、D分两次拼接得到视频帧E,其中,第一次拼接是对视频帧A和B,得到视频帧C,第二次拼接可以是对视频帧C和视频帧D,得到视频帧E。而对于多次拼接,通常需要设置多个拼接模组,也即,该电子设备还可以包括第二拼接模组,其中,该信号处理模块和该图像拼接模块,通过第二显示像素接口与该第二拼接模组连接,该视频帧处理方法还包括:
通过该第二拼接模组拉低该第二显示像素接口的反压信号,以使该第一拼接模组停止向该第二拼接模组进行数据传输;或者,
通过该第二拼接模组拉高该第二显示像素接口的反压信号,以使该第一拼接模组向该第二拼接模组进行数据传输。
其中,第二拼接模组的具体结构和实现原理可以参见第一拼接模组,此处不再赘述。第一拼接模组向第二拼接模组的数据传输主要包括像素数据和控制信号的传输。对于有多个拼接模组的结构,拼接模组之间通过DPI实现传输,比如在图9中,第二显示像素接口DPI C实现第一拼接模组和第二拼接模组间像素数据和控制信号的传输,且第二拼接模组可以通过拉高或拉低DPI C的反压信号ready,来控制DPI C。
由上述可知,本申请提供的视频帧处理方法,通过获取拼接指令,该拼接指令包括通过第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同第一显示像素接口用于输入不同路视频帧,接着,根据该属性信息和该拼接规则,确定每个该图像处理模块对应的数据输出时序段和数据有效时序段,之后,根据该数据输出时序段、该数据有效时序段和该信号处理模块,控制该第一显示像素接口经由该图像处理模块向该图像拼接模块传输相应视频帧中的像素数据,之后,通过该图像拼接模块对该像素数据进行拼接。本申请实施例通过在DPI处设置拼接模组硬件,从而可以在多路视频的实时拍摄过程中进行视频拼接,既不影响现有视频拍摄流程,也无需将多路视频提前下载或缓存在本地,方法简单,拼接效率高。
根据上述实施例所描述的方法,以下将从视频帧处理装置的角度进一步进行描述,该视频帧处理装置具体可以作为独立的实体来实现,也可以集成在电子设备中,该电子设备包括但不限于拥有不同操作系统或者不同域或者不同CPU核的智能手机、平板电脑、笔记本电脑、智能电视、智能机器人、个人计算机(Personal Computer,PC)、服务器以及智能车载设备,等等。
请参阅图10,图10具体描述了本申请实施例提供的视频帧处理装置,应用于电子设备,其中,电子设备包括第一拼接模组,第一拼接模组包括信号处理模块、与该信号处理模块连接的多个图像处理模块、以及与该多个图像处理模块连接的图像拼接模块,每个该图像处理模块与对应第一显示像素接口DPI连接。该视频帧处理装置包括获取单元10、确定单元20、控制单元30以及拼接单元40,其中:
(1)获取单元10
获取单元10,用于获取拼接指令,该拼接指令包括通过该第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同该第一显示像素接口用于输入不同路视频帧。
其中,拼接指令可以是自动使生成的,比如当多个默认的应用程序均启动时,比如倒车应用和视频通话应用,可以认为需要在同一显示屏中对这些应用程序产生的视频进行显示,此时,系统可以自动使生成拼接指令。拼接指令也可以是用户手动使生成的,比如车载设备或者系统界面上可以提供使视频拼接功能的实体按键或虚拟按键,当用户点击该按键时,可以使对默认应用程序产生的视频进行拼接显示。
请继续参见图2,第一像素显示接口DPI可以实时获取应用程序的视频数据,视频数据一般包括连续视频帧,每个视频帧包括像素数据pixdata和控制信号,控制信号可以包括帧同步信号Vsync、行同步信号Hsync和数据有效信号DE等。通过DPI可以实现像素数据和控制信号的并行传输,而DPI对视频数据的传输可以通过反压信号ready来控制,当反压信号ready拉高时,可以进行视频数据的正常传输,当反压信号ready拉低时,只能进行同步时钟信号CLK的传输,其余信号都会暂停传输。
属性信息可以包括视频帧的尺寸信息,比如1920*720,拼接规则可以包括拼接方式,比如左右拼接,上下拼接、叠加拼接等,例如参见图4和图5,图4中视频帧A和视频帧B是左右拼接,图5中视频帧A和视频帧B是叠加拼接,而对于尺寸不同的多个视频帧,当为非叠加方式拼接时,比如简单的左右、上下等拼接方式,一般会使它们具有相同行数或者相同列数,从而在拼接过程中,会存在dummy行数据的填充,dummy行数据一般是指默认颜色值的像素数据,Dummy行数据可以基于拼接比例填充在最终拼接视频里,拼接比例通常根据需求而定。
比如请参见图6,当视频帧A的尺寸为1920*720,视频帧B的尺寸为720*360,且拼接方式为左A右B拼接时,需要对视频帧B进行dummy行数据填充,若拼接比例为2:1,表示拼接了2行视频帧A的像素数据和1行视频帧B的像素数据时,需要填充1行dummy数据,而若拼接比例为3:2,表示在得到最终拼接视频C的过程中,拼接了3行视频帧A的像素数据和2行视频帧B的像素数据时,需要填充1行dummy数据,当然,若拼接比例为1:1,则表示拼接了1行视频帧A的像素数据,就拼接1行视频帧B的像素数据,不需要填充dummy行数据。其中,拼接规则可以是系统默认设置的,也可以是用户选择的,比如可以提供一个拼接规则选择界面,通过该界面向用户展示多种拼接规则选项,以便用户从中选择所需的选项。
(2)确定单元20
确定单元20,用于根据该属性信息和该拼接规则,确定每个该第一显示像素接口的数据输入时序段、每个该图像处理模块的数据输出时序段、以及每个该数据输出时序段中的数据有效时序段。
具体的,数据输出时序段主要用于控制图像处理模块的数据输出动作,也即控制图像处理模块向图像拼接模块的数据传输,在数据输出时序段内,图像处理模块可以传输DPI那边的行像素数据给图像拼接模块,也可以传输预设像素数据(也即默认的dummy行数据)给图像拼接模块,而当传输的是DPI那边的行像素数据时,还需拉高对应DPI的反压信号,以使DPI将那边的行像素数据传过来,当传输的是dummy行数据时,需拉低对应DPI的反压信号,以暂停DPI那边行像素数据的传输。数据有效时序段对应的是图像处理模块输出从DPI那边拿到的行像素数据给图像拼接模块的时段,也即DE有效阶段。
进一步地,确定单元20具体用于:
S1021. 根据该属性信息和该拼接规则,确定每路该视频帧中像素数据的拼接坐标;
S1022. 根据该拼接坐标,每个该图像处理模块对应的数据输出时序段和数据有效时序段。
其中,可以根据视频帧尺寸和拼接规则,确定所有视频帧中每个像素点在最终拼接视频上的坐标(拼接坐标),基于每个视频帧对应的拼接坐标确定对应的数据有效时序段,且若不存在dummy行数据的填充,比如上述图4中视频帧A和B的拼接就不需要填充dummy行数据,这种情况下,可以直接将数据有效时序段作为图像处理模块的数据输出时序段,而若存在dummy行数据的填充,比如上述图6中的拼接视频帧C,则在确定出每个视频帧对应的数据有效时序段的同时,还需根据dummy行数据的拼接坐标确定dummy行对应的时序段,基于数据有效时序段和dummy行时序段,确定图像处理模块的数据输出时序段。通常,如果涉及dummy行数据的填充,视频帧中像素点的拼接坐标通常存在间断区域,该间断区域也即dummy行数据的拼接坐标区域,比如,对于上述图6中的视频帧A和B,若拼接坐标(x,y)中x代表列数,y代表行数,拼接比例为2:1,则在拼接视频帧中,(0~1919,0~719)是视频帧A的行数据对应的拼接坐标,(1920~2739,0~719)是视频帧B和dummy的行数据对应的拼接坐标,其中,每间隔1行视频帧B的行数据,存在一行dummy数据,比如,(1920~2739,1)是视频帧B行数据的拼接坐标,(1920~2739,2)是dummy行的拼接坐标。
比如,对于图6中的视频帧A和视频帧B,若对应的图像处理模块分别为image A和image B,则各个时序段的展示请参见图8,其中,image A对应的数据输出时序段为H1,数据有效时序段为M1,image B对应的数据输出时序段为H2,数据有效时序段为M2。
(3)控制单元30
控制单元30,用于根据该数据输出时序段、该数据有效时序段和该信号处理模块,控制该第一显示像素接口经由该图像处理模块向该图像拼接模块传输相应视频帧中的像素数据。
其中,信号处理模块中可以设置两个计数器(也即第一计数器),主要用于记录像素的坐标位置,比如可以包括横坐标计数器和纵坐标计数器,通过第一计数器来确定到达了哪个图像位置(比如图6中的视频帧A或视频帧B),进而确定到达了哪个图像处理模块的数据输出时序段。每个图像处理模块中可以设置三个计数器(也即第二计数器),这三个计数器主要用于记录已输出的行数,其相对于信号处理模块中的第一计数器是独立工作的。第二计数器用于确定是否到达了数据有效时序段,当到达了数据有效时序段时,图像处理模块向图像拼接模块输出实时视频帧行数据,当第二计数器未到达数据有效时序段,但是第一计数器到达数据输出时序段时,图像处理模块向图像拼接模块输出dummy行数据。
具体的,第二计数器可以包括记录单个循环内发送了多少行视频帧像素数据(也即DE有效时的像素数据)的计数器1,记录单个循环内发送了多少行dummy数据的计数器2,以及记录单个视频帧中总共发送了多少行视频帧像素数据的计数器3,单个循环总长是基于拼接规则来定的,比如视频帧A和视频帧B的拼接规则是2:1时,单个循环就包括2行视频帧像素数据、1行dummy数据。当单个循环走完时,计数器1和计数器2会清零重新开始计数,而计数器3会等到信号处理模块向图像处理模块传输帧开始信号时才会清零重新开始计数。通常情况下,如果计数器3记录的总行数已经到达视频帧像素数据的总行数,那么剩下的像素数据都发dummy行数据。
通常,第一计数器是一直在计数的,一旦第一计数器确定到达了某个或某几个图像处理模块对应的数据输出时序段,比如图6中的视频帧A或视频帧B的数据输出时序段时,信号处理模块会向相应图像处理模块发送输出指令(比如valid为1的信号),而图像处理模块接收到该输出指令后,会基于自身内置的第二计数器的计数情况,确定是需要向图像拼接模块发送视频帧像素数据,还是dummy行数据,并进行相应操作,也即,上述控制单元30具体可以用于:
S1031a. 当该信号处理模块中的第一计数器到达任意的该数据输出时序段时,通过该信号处理模块向相应图像处理模块发送输出指令;
S1032a. 当接收到该输出指令的该图像处理模块中的第二计数器到达相应数据有效时序段时,通过相应图像处理模块拉高相应第一显示像素接口的反压信号,以向相应图像处理模块传输相应视频帧;
S1033a. 将相应图像处理模块中接收到的该视频帧中的像素数据,传输至该图像拼接模块。
其中,一旦信号处理模块中的第一计数器到达某个或某几个图像处理模块的数据输出时序段,比如到达图8中的H1或H2,则信号处理模块向这个或这几个图像处理模块发送输出指令(比如valid为1的信号),而图像处理模块接收到该输出指令后,若自身的第二计数器到达数据有效时序段,比如到达图8中的M1或M2,则需要拉高相应第一显示像素接口DPI的反压信号,以从DPI中获取实时视频帧,并通过图像处理模块将实时视频帧中的像素数据传输至图像拼接模块。
进一步地,在上述步骤S1031a之后,上述控制单元30还可以用于:
S1034a. 当接收到该输出指令的该图像处理模块中的第二计数器未到达相应数据有效时序段时,通过相应图像处理模块拉低该第一显示像素接口的反压信号,以停止向相应图像处理模块传输相应视频帧;
通过相应图像处理模块向该图像拼接模块传输预设像素数据。
其中,一旦第一计数器到达某个或某几个图像处理模块的数据输出时序段,但相应第二计数器未到达其数据有效时序段时,比如到达图8中的H2,但未到达M2,则说明需要传输dummy行数据,需要拉低相应第一显示像素接口DPI的反压信号,并将dummy行数据传输至图像拼接模块。
此外,由于DPI是以数据行的形式传输像素数据,且每次传输完一行后,DPI会进入一个行消隐时段,在这个时段,并不会传输正常像素数据,数据有效信号DE处于无效状态,而DPI需要拉高反压信号ready以尽快渡过这个阶段,因此,在进行视频拼接时,需要考虑行消隐时段的影响。具体的,在该确定单元20确定每个该图像处理模块对应的数据输出时序段和数据有效时序段之后,该控制单元30还用于:
S1031b. 当该信号处理模块中的第一计数器未到达该数据输出时序段时,通过该信号处理模块向相应图像处理模块发送停止输出指令;
S1032b. 通过接收到该停止输出指令的该图像处理模块,检测相应第一显示像素接口传输的数据有效信号的状态;
S1033b. 当该状态为无效状态时,通过接收到该停止输出指令的该图像处理模块拉高相应第一显示像素接口的反压信号;当该状态为有效状态时,通过接收到该停止输出指令的该图像处理模块拉低相应第一显示像素接口的反压信号。
其中,若信号处理模块中的第一计数器未到达某个图像处理模块的数据输出时序段,比如未到达图8中的H1或H2,则信号处理模块向这个图像处理模块发送停止输出指令(比如valid为0的信号),而图像处理模块接收到该停止输出指令后,会判断DPI是否进入行消隐时段,如果进入行消隐时段(也即未到达数据输出时序段,但数据有效信号DE处于无效状态),则拉高对应第一显示像素接口DPI的反压信号,以使该DPI尽快渡过该行消隐时段,而如果没有进入行消隐时段(也即未到达数据输出时序段,且数据有效信号DE处于有效状态),则拉低对应第一显示像素接口DPI的反压信号,此时,相应DPI只会向图像处理模块传输同步时钟信号CLK,其余信号都会暂停传输,等待下一次图像处理模块接收输出指令。
需要指出的是,行消隐时段通常出现在每个数据有效时序段之后,而当处于数据有效时序段或行消隐时段时,都需要拉高相应第一显示像素接口DPI的反压信号,也即,当反压信号ready被拉高时,相应DPI可以正常传输视频帧数据(比如像素数据和控制信号)或者快速渡过行消隐时段,故可以将数据有效时序段和行消隐时序段作为相应DPI的数据输入时序段,在数据输入时序段内,相应DPI的反压信号会被拉高,在数据输入时序段之外,相应DPI的反压信号会被拉低,比如,在图8中,若视频帧A和视频帧B对应的第一显示像素接口分别为 DPI A和DPI B,消隐时段为Q,则对于DPI A,其数据输入时序段可以为L1,对于DPIB,其数据输入时序段可以为L2。
通常,对于常规拼接方式,比如左右拼接、上下拼接,不同DPI之间的数据输入时序段通常不同,比如图8中的数据输入时序段L1和L2完全不存在重叠,也即当任意一个DPI在进行视频帧传输时,其余DPI处于只传输CLK的阶段。而对于叠加拼接,比如图5中的视频帧A和视频帧B,拼接形成具有画中画效果的视频帧C,DPI A和DPI B对应的数据输入时序段会存在重叠时段,也即会存在需要DPI A和DPI B同时进行视频帧传输的时段。
(4)拼接单元40
拼接单元40,用于通过该图像拼接模块对该像素数据进行拼接。
其中,其中,图像拼接模块一旦接收到图像处理模块传输过来的像素数据,比如实时视频帧的像素数据,或者dummy行数据,即可以对这些像素数据进行拼接。具体的,可以提前为不同拼接规则设定不同的拼接算法,之后基于用户选择或者系统优选的拼接规则来选取合适的拼接算法进行像素数据的拼接。
与此同时,由于一个视频帧既包括像素数据,又包括控制信号,其中,控制信号主要包括上述帧同步信号Vsync、行同步信号Hsync和数据有效信号DE等。而图像拼接模块主要用于接收并处理像素数据,故当通过图像拼接模块形成新视频帧的像素数据时,还需形成新的控制信号,也即,在通过该图像拼接模块对该像素数据进行拼接的过程中,该拼接单元40还用于:通过该信号处理模块生成该像素数据对应的控制信号。
需要指出的是,在生成拼接视频后,可以通过DPI将拼接视频传输至显示屏进行显示,上述实施例大部分是以视频的首次拼接、两路视频拼接为例进行拼接过程的介绍,而实际单次拼接涉及的视频数量、以及总拼接次数可以根据需求而定,比如,请参见图9,可以是对视频帧A、B、D分两次拼接得到视频帧E,其中,第一次拼接是对视频帧A和B,得到视频帧C,第二次拼接可以是对视频帧C和视频帧D,得到视频帧E。而对于多次拼接,通常需要设置多个拼接模组,也即,该电子设备还可以包括第二拼接模组;该信号处理模块和该图像拼接模块,通过第二显示像素接口与该第二拼接模组连接,该视频帧处理装置还包括第三控制单元,用于:
通过该第二拼接模组拉低该第二显示像素接口的反压信号,以使该第一拼接模组停止向该第二拼接模组进行数据传输;或者,
通过该第二拼接模组拉高该第二显示像素接口的反压信号,以使该第一拼接模组向该第二拼接模组进行数据传输。
其中,第二拼接模组的具体结构和实现原理可以参见第一拼接模组,此处不再赘述。第一拼接模组向第二拼接模组的数据传输主要包括像素数据和控制信号的传输。对于有多个拼接模组的结构,拼接模组之间通过DPI实现传输,比如在图9中,第二显示像素接口DPI C实现第一拼接模组和第二拼接模组间像素数据和控制信号的传输,且第二拼接模组可以通过拉高或拉低DPI C的反压信号ready,来控制DPI C。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上述可知,本申请提供的视频帧处理装置,通过获取单元10获取拼接指令,该拼接指令包括通过第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同第一显示像素接口用于输入不同路视频帧,接着,确定单元20根据该属性信息和该拼接规则,确定每个该图像处理模块对应的数据输出时序段和数据有效时序段,之后,控制单元30根据该数据输出时序段、该数据有效时序段和该信号处理模块,控制该第一显示像素接口经由该图像处理模块向该图像拼接模块传输相应视频帧中的像素数据,之后,拼接单元40通过该图像拼接模块对该像素数据进行拼接。本申请实施例通过在DPI处设置拼接模组硬件,从而可以在多路视频的实时拍摄过程中进行视频拼接,既不影响现有视频拍摄流程,也无需将多路视频提前下载或缓存在本地,方法简单,拼接效率高。
本申请实施例还提供一种电子设备,如图11所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器901、一个或一个以上计算机可读存储介质的存储器902、射频(Radio Frequency,RF)电路903、电源904、输入单元905、以及显示单元906等部件。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器901是该电子设备的控制中心。其中,处理器利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器可包括一个或多个处理核心;优选的,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地是,上述调制解调处理器也可以不集成到处理器中。
存储器902可用于存储软件程序(计算机程序)以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以包括存储器控制器,以提供处理器901对存储器902的访问。
RF电路903可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器901处理;另外,将涉及上行的数据发送给基站。通常,RF电路903包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路903还可以通过无线通信与网络和其他设备通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobilecommunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
电子设备还包括给各个部件供电的电源904(比如电池),优选的,电源904可以通过电源管理系统与处理器901逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源904还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元905,该输入单元905可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体地实施例中,输入单元905可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器901,并能接收处理器901发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元905还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
该电子设备还可包括显示单元906,该显示单元906可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元906包括多个硬件显示处理单元、视频帧处理模块、显示屏等。其中,多个硬件显示处理单元、视频帧处理模块可集成在处理芯片中。其中,显示屏可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器901以确定触摸事件的类型,随后处理器901根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。电子设备还包括第一拼接模组,该第一拼接模组包括信号处理模块、与该信号处理模块连接的多个图像处理模块、以及与该多个图像处理模块连接的图像拼接模块,每个该图像处理模块与对应第一显示像素接口连接。具体在本实施例中,电子设备中的处理器901会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现各种功能,如下:
获取拼接指令,该拼接指令包括通过该第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同该第一显示像素接口用于输入不同路视频帧;根据该属性信息和该拼接规则,确定每个该图像处理模块对应的数据输出时序段和数据有效时序段;根据该数据输出时序段、该数据有效时序段和该信号处理模块,控制该第一显示像素接口经由该图像处理模块向该图像拼接模块传输相应视频帧中的像素数据;通过该图像拼接模块对该像素数据进行拼接。
该电子设备可以实现本申请实施例所提供的视频帧处理方法任一实施例中的步骤,因此,可以实现本申请实施例所提供的任一视频帧处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令(计算机程序)来完成,或通过指令(计算机程序)控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本发明实施例所提供的视频帧处理方法中任一实施例的步骤。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本发明实施例所提供的任一视频帧处理方法实施例中的步骤,因此,可以实现本发明实施例所提供的任一视频帧处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种视频帧处理方法、装置、电子设备以及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种视频帧处理方法,其特征在于,应用于电子设备,所述电子设备包括第一拼接模组,所述第一拼接模组包括信号处理模块、与所述信号处理模块连接的多个图像处理模块、以及与所述多个图像处理模块连接的图像拼接模块,每个所述图像处理模块与对应第一显示像素接口连接,所述视频帧处理方法包括:
获取拼接指令,所述拼接指令包括通过所述第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同所述第一显示像素接口用于输入不同路视频帧;
根据所述属性信息和所述拼接规则,确定每个所述图像处理模块对应的数据输出时序段和数据有效时序段,所述数据输出时序段指的是用于控制对应图像处理模块向所述图像拼接模块的数据传输的时段,所述数据有效时序段对应的是对应图像处理模块输出从对应第一显示像素接口处得到的行像素数据给所述图像拼接模块的时段;
根据所述数据输出时序段、所述数据有效时序段和所述信号处理模块,控制所述第一显示像素接口经由所述图像处理模块向所述图像拼接模块传输相应视频帧中的像素数据,包括:当所述信号处理模块中的第一计数器到达任意的所述数据输出时序段时,通过所述信号处理模块向相应图像处理模块发送输出指令;当接收到所述输出指令的所述图像处理模块中的第二计数器未到达相应数据有效时序段时,通过相应图像处理模块拉低所述第一显示像素接口的反压信号,以停止向相应图像处理模块传输相应视频帧;通过相应图像处理模块向所述图像拼接模块传输预设像素数据;
通过所述图像拼接模块对所述像素数据进行拼接。
2.根据权利要求1所述的视频帧处理方法,其特征在于,所述根据所述属性信息和所述拼接规则,确定每个所述图像处理模块对应的数据输出时序段和数据有效时序段,包括:
根据所述属性信息和所述拼接规则,确定每路所述视频帧中像素数据的拼接坐标;
根据所述拼接坐标,确定每个所述图像处理模块对应的数据输出时序段和数据有效时序段。
3.根据权利要求1所述的视频帧处理方法,其特征在于,在通过所述信号处理模块向相应图像处理模块发送输出指令之后,还包括:
当接收到所述输出指令的所述图像处理模块中的第二计数器到达相应数据有效时序段时,通过相应图像处理模块拉高相应第一显示像素接口的反压信号,以向相应图像处理模块传输相应视频帧;
将相应图像处理模块中接收到的所述视频帧中的像素数据,传输至所述图像拼接模块。
4.根据权利要求1所述的视频帧处理方法,其特征在于,在确定每个所述图像处理模块对应的数据输出时序段和数据有效时序段之后,还包括:
当所述信号处理模块中的第一计数器未到达所述数据输出时序段时,通过所述信号处理模块向相应图像处理模块发送停止输出指令;
通过接收到所述停止输出指令的所述图像处理模块,检测相应第一显示像素接口传输的数据有效信号的状态;
当所述状态为无效状态时,通过接收到所述停止输出指令的所述图像处理模块拉高相应第一显示像素接口的反压信号;
当所述状态为有效状态时,通过接收到所述停止输出指令的所述图像处理模块拉低相应第一显示像素接口的反压信号。
5.根据权利要求1所述的视频帧处理方法,其特征在于,在通过所述图像拼接模块对所述像素数据进行拼接时,还包括:
通过所述信号处理模块生成所述像素数据对应的控制信号。
6.根据权利要求1-5中任一项所述的视频帧处理方法,其特征在于,所述电子设备还包括第二拼接模组;所述信号处理模块和所述图像拼接模块,通过第二显示像素接口与所述第二拼接模组连接,所述视频帧处理方法还包括:
通过所述第二拼接模组拉低所述第二显示像素接口的反压信号,以使所述第一拼接模组停止向所述第二拼接模组进行数据传输;或者,
通过所述第二拼接模组拉高所述第二显示像素接口的反压信号,以使所述第一拼接模组向所述第二拼接模组进行数据传输。
7.一种视频帧处理装置,其特征在于,应用于电子设备,所述电子设备包括第一拼接模组,所述第一拼接模组包括信号处理模块、与所述信号处理模块连接的多个图像处理模块、以及与所述多个图像处理模块连接的图像拼接模块,每个所述图像处理模块与对应第一显示像素接口连接,所述视频帧处理装置包括:
获取单元,用于获取拼接指令,所述拼接指令包括通过所述第一显示像素接口输入的视频帧的属性信息、以及拼接规则,不同所述第一显示像素接口用于输入不同路视频帧;
确定单元,用于根据所述属性信息和所述拼接规则,确定每个所述第一显示像素接口的数据输入时序段、每个所述图像处理模块的数据输出时序段、以及每个所述数据输出时序段中的数据有效时序段,所述数据输出时序段指的是用于控制对应图像处理模块向所述图像拼接模块的数据传输的时段,所述数据有效时序段对应的是对应图像处理模块输出从对应第一显示像素接口处得到的行像素数据给所述图像拼接模块的时段;
控制单元,用于当所述信号处理模块中的第一计数器到达任意的所述数据输出时序段时,通过所述信号处理模块向相应图像处理模块发送输出指令;当接收到所述输出指令的所述图像处理模块中的第二计数器未到达相应数据有效时序段时,通过相应图像处理模块拉低所述第一显示像素接口的反压信号,以停止向相应图像处理模块传输相应视频帧;通过相应图像处理模块向所述图像拼接模块传输预设像素数据;
拼接单元,用于通过所述图像拼接模块对所述像素数据进行拼接。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述权利要求1至6任一项所述的视频帧处理方法中的步骤。
9.一种电子设备,其特征在于,包括第一拼接模组、存储器和处理器;所述第一拼接模组包括信号处理模块、与所述信号处理模块连接的多个图像处理模块、以及与所述多个图像处理模块连接的图像拼接模块,每个所述图像处理模块与对应第一显示像素接口连接;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至6任一项所述的视频帧处理方法中的步骤。
CN202110564498.4A 2021-05-24 2021-05-24 视频帧处理方法、装置、存储介质及电子设备 Active CN113038273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110564498.4A CN113038273B (zh) 2021-05-24 2021-05-24 视频帧处理方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110564498.4A CN113038273B (zh) 2021-05-24 2021-05-24 视频帧处理方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN113038273A CN113038273A (zh) 2021-06-25
CN113038273B true CN113038273B (zh) 2021-08-10

Family

ID=76455727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110564498.4A Active CN113038273B (zh) 2021-05-24 2021-05-24 视频帧处理方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN113038273B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095777B (zh) * 2022-01-20 2022-05-17 广东欧谱曼迪科技有限公司 一种视频处理系统、方法、电子设备及存储介质
CN115829897B (zh) * 2023-02-17 2023-06-06 湖北芯擎科技有限公司 一种图像融合处理方法、装置、电子设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105627991A (zh) * 2015-12-21 2016-06-01 武汉大学 一种无人机影像实时全景拼接方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673473A (zh) * 2009-09-24 2010-03-17 浙江大学 基于dsp的全景视觉泊车辅助装置及生成全景视觉图像的方法
CN102164274B (zh) * 2011-04-26 2013-11-06 石黎 一种视场可变的车载虚拟全景系统
CN103021378B (zh) * 2012-12-25 2015-09-09 广东威创视讯科技股份有限公司 一种多屏拼接显示装置和方法
EP3111647B1 (en) * 2014-02-26 2019-03-20 Searidge Technologies Inc. Image stitching and automatic-color correction
CN106792155A (zh) * 2016-12-06 2017-05-31 天脉聚源(北京)传媒科技有限公司 一种多视频流的视频直播的方法及装置
CN107392846B (zh) * 2017-07-31 2020-10-30 四川长虹电器股份有限公司 行车记录仪图像拼接方法
CN109996013B (zh) * 2019-05-31 2019-08-16 南京巨鲨显示科技有限公司 一种低延时视频拼接方法、装置和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105627991A (zh) * 2015-12-21 2016-06-01 武汉大学 一种无人机影像实时全景拼接方法及系统

Also Published As

Publication number Publication date
CN113038273A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN106792188B (zh) 一种直播页面的数据处理方法、装置、系统和存储介质
US9658757B2 (en) Method and device for managing progress indicator display
CN107977144B (zh) 一种截屏处理方法及移动终端
US9760998B2 (en) Video processing method and apparatus
CN106254910B (zh) 一种记录图像的方法和装置
WO2018161534A1 (zh) 一种显示图像的方法、双屏终端和计算机可读的非易失性存储介质
CN113038273B (zh) 视频帧处理方法、装置、存储介质及电子设备
US11165950B2 (en) Method and apparatus for shooting video, and storage medium
WO2015131768A1 (en) Video processing method, apparatus and system
CN109995862B (zh) 一种资源调度方法及终端
WO2015032245A1 (en) Method and device for managing progress indicator display
CN108984066B (zh) 一种应用程序图标显示方法及移动终端
CN107396193B (zh) 视频播放的方法和装置
CN112040324A (zh) 一种播放进度调节方法、装置、存储介质及终端
CN111212316B (zh) 视频生成方法及电子设备
CN112817685B (zh) 一种显示切换方法、装置、电子设备和存储介质
CN107622234B (zh) 一种显示萌脸礼物的方法和装置
EP4123437A1 (en) Screen projection display method and system, terminal device, and storage medium
CN105513098B (zh) 一种图像处理的方法和装置
CN112235082A (zh) 通信信息的传输方法、装置、设备及存储介质
CN110213437B (zh) 一种编辑方法及移动终端
CN111949239A (zh) 一种屏幕共享方法、装置、存储介质及终端
CN107193551A (zh) 一种生成图像帧的方法和装置
CN108011860A (zh) 一种处理广播消息的方法及装置
CN106484529A (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
GR01 Patent grant
GR01 Patent grant