CN115766677B - 针对视频模式的帧率转换方法及装置 - Google Patents
针对视频模式的帧率转换方法及装置 Download PDFInfo
- Publication number
- CN115766677B CN115766677B CN202310024201.4A CN202310024201A CN115766677B CN 115766677 B CN115766677 B CN 115766677B CN 202310024201 A CN202310024201 A CN 202310024201A CN 115766677 B CN115766677 B CN 115766677B
- Authority
- CN
- China
- Prior art keywords
- buffer unit
- target
- frame data
- image frame
- output module
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Television Systems (AREA)
Abstract
本申请实施例提供了一种针对视频模式的帧率转换方法及装置,方法包括:检测到图像信号,图像信号指示输入模块即将接收到目标图像帧数据;判断输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果,第一目标缓冲单元包括第一缓冲单元或第二缓冲单元;根据判断结果配置输入模块所要写入的第二目标缓冲单元,第二目标缓冲单元包括第二缓冲单元或第一缓冲单元,第二目标缓冲单元与第一目标缓冲单元不同;判断输入模块的写入操作是否与输出模块的读取操作冲突;若是,则将目标图像帧数据丢弃;若否,则配置输出模块从第二目标缓冲单元获取目标图像帧数据;输出模块向显示设备输出目标图像帧数据。这样,能够将输入帧率转换为不同的输出帧率。
Description
技术领域
本申请属于通信技术领域,具体涉及一种针对视频模式的帧率转换方法及装置。
背景技术
目前,MIPI(Mobile Industry Processor Interface,移动产业处理器接口)VIDEO MODE(视频模式)中常常有输入帧率和输出帧率不同的情况,若直接输出则会造成显示异常,因此需要进行帧率转换。
发明内容
本申请实施例提供了一种针对视频模式的帧率转换方法及装置,以期通过软件方式针对视频模式进行帧率转换。
第一方面,本申请实施例提供了一种针对视频模式的帧率转换方法,应用于电子设备,所述电子设备包括输入模块、输出模块和第一缓冲单元、第二缓冲单元和显示设备,所述输入模块用于接收图像帧数据、并向所述第一缓冲单元或第二缓冲单元写入所述图像帧数据,所述输出模块用于从所述第一缓冲单元或第二缓冲单元读取所述图像帧数据、并向所述显示设备输出所述图像帧数据;所述方法包括:
检测到图像信号,所述图像信号用于指示所述输入模块即将接收到目标图像帧数据;
判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果,所述第一目标缓冲单元包括所述第一缓冲单元或第二缓冲单元;
根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;
判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;
若是,则将所述目标图像帧数据丢弃;
若否,则配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;
所述输出模块向所述显示设备输出所述目标图像帧数据。
第二方面,本申请实施例提供了一种针对视频模式的帧率转换装置,应用于电子设备,所述电子设备包括输入模块、输出模块和第一缓冲单元、第二缓冲单元和显示设备,所述输入模块用于接收图像帧数据、并向所述第一缓冲单元或第二缓冲单元写入所述图像帧数据,所述输出模块用于从所述第一缓冲单元或第二缓冲单元读取所述图像帧数据、并向所述显示设备输出所述图像帧数据;所述装置包括:
检测单元,用于检测到图像信号,所述图像信号用于指示所述输入模块即将接收到目标图像帧数据;
第一判断单元,用于判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果,所述第一目标缓冲单元包括所述第一缓冲单元或第二缓冲单元;
配置单元,用于根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;
第二判断单元,用于判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;
删除单元,用于在所述输入模块的写入操作与所述输出模块的读取操作冲突时,将所述目标图像帧数据丢弃;
第二配置单元,在所述输入模块的写入操作与所述输出模块的读取操作不冲突时,配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;
输出单元,用于控制所述输出模块向所述显示设备输出所述目标图像帧数据。
第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请实施例第一方面的步骤的指令。
第四方面,本申请实施例提供了一种计算机存储介质,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本实施例第一方面所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中,首先检测到图像信号;然后判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果;再根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;若是,则将所述目标图像帧数据丢弃;若否,则配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;所述输出模块向所述显示设备输出所述目标图像帧数据。这样,能够将输入帧率转换为不同的输出帧率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种电子设备的结构示意图;
图1b是本申请实施例提供的另一种电子设备的结构示意图;
图2是本申请实施例提供的一种针对视频模式的帧率转换方法的流程示意图;
图3是本申请实施例提供的一种针对视频模式的帧率转换装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、系统、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
目前,MIPI(Mobile Industry Processor Interface,移动产业处理器接口)VIDEO MODE(视频模式)中常常有输入帧率和输出帧率不同的情况,若直接输出则会造成显示异常,因此需要进行帧率转换。
此外,现有技术中还通过硬件转换的方式进行帧率转换。下面以90hz输入和60hz输出为例对硬件转换方法进行说明。
MIPI RX输出的第N个hsync 信号开始启动输出模块,N由寄存器定义。以3帧输入,2帧输出为一组;MIPI RX输出的第一帧,第N个hsync开始启动第一帧输出模块;输出模块显示完第一帧后马上显示下一帧。MIPI RX丢弃第三帧(包括vsync 和hsync)。第二组的开始,LCDC又开始和MIPI RX的第N个hsync同步信号同步。从1秒的范围来看,LCDC显示还是60Hz。但是,output frame1跟2,3跟4是连续的,而output frame 3需要等input frame4触发,由于计算的误差以及温漂问题,无法将输出一帧的时间配置得刚好等于3个input frame的时间,因此output frame 2跟3会呈现不连续的情况,造成屏端显示异常。
为解决上述问题,本申请实施例提供了一种针对视频模式的帧率转换方法。该方法可以应用于根据基于MIPI视频模式以软件方式进行帧率转换的场景中。可以在检测到图像信号时;判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果;再根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;若是,则将所述目标图像帧数据丢弃;若否,则配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;所述输出模块向所述显示设备输出所述目标图像帧数据。这样,能够将输入帧率转换为不同的输出帧率。
下面介绍本申请实施例涉及的系统架构。
图1a是本申请实施例提供的一种电子设备100的结构示意图。如图1a所示,所述电子设备100包括输入模块110、输出模块140和第一缓冲单元120、第二缓冲单元130和显示设备150,所述输入模块110用于接收图像帧数据、并向所述第一缓冲单元120或第二缓冲单元130写入所述图像帧数据,所述输出模块140用于从所述第一缓冲单元120或第二缓冲单元130读取所述图像帧数据、并向所述显示设备150输出所述图像帧数据。
图1b是本申请实施例提供的另一种电子设备10的结构示意图,如图1b所示,其包括至少一个处理器(processor)11;显示屏12;以及存储器(memory)13,还可以包括通信接口(Communications Interface)15和总线14。其中,处理器11、显示屏12、存储器13和通信接口15可以通过总线14完成相互间的通信。显示屏12设置为显示初始设置模式中预设的用户引导界面。通信接口15可以传输信息。处理器11可以调用存储器13中的逻辑指令,以执行上述实施例中的方法。
可选的,所述电子设备10可以是移动电子设备,也可以是电子设备或其他设备,在此不做唯一性限定。
此外,上述的存储器13中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器13作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器11通过运行存储在存储器13中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器13可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备10的使用所创建的数据等。此外,存储器13可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
下面对具体的方法进行详细的介绍。
请参阅图2,图2是本申请实施例提供的一种针对视频模式的帧率转换方法,包括:
步骤201、检测到图像信号。
其中,所述图像信号用于指示所述输入模块即将接收到目标图像帧数据。
具体实现中,所述电子设备在接收到Vsync事件时才调用软件程序进行所述帧率转换。当检测到图像信号之后,证明即将接收到目标图像帧数据。
示例的,所述检测到图像信号之前,注册图像回调函数,确定图像帧数据的消隐时间节点;在所述消隐时间节点对所述第一缓冲单元和/或第二缓冲单元进行控制。
步骤202、判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果。
其中,所述第一目标缓冲单元包括所述第一缓冲单元或第二缓冲单元。
具体实现中,为了能够实现帧率转换,需要两个缓冲单元交替使用。因此,需要先确定输出模块当前读取的缓冲单元是第一缓冲单元还是第二缓冲单元,进而确定出所述目标图像帧数据所要写入的缓冲单元。
步骤203、根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元。
其中,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同。
在一个可能的实施例中,所述根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,包括:
若所述第一目标缓冲单元为第一缓冲单元,则配置所述输入模块向所述第二缓冲单元写入所述目标图像帧数据;
若所述第一目标缓冲单元为第二缓冲单元,则配置所述输入模块向所述第一缓冲单元写入所述目标图像帧数据。
具体实现中,若当前所述输出模块正在读取第一缓冲单元中的图像帧数据,那么表示下一帧需要从第二缓冲单元中读取图像帧数据,因此需要配置所述输入模块向所述第二缓冲单元写入所述目标图像帧数据;若当前所述输出模块正在读取第二缓冲单元中的图像帧数据,那么表示下一帧需要从第一缓冲单元中读取图像帧数据,因此需要配置所述输入模块向所述第一缓冲单元写入所述目标图像帧数据。在配置完成所述输入模块之后,立即控制所述输入模块执行写入操作。
可以看出,本实施例中,通过交替使用两个缓冲单元,使得输入图像和输出图像之间存在缓冲时间,进而为帧率转换提供条件。
步骤204、判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突。
在一个可能的实施例中,所述判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突,包括:
若所述输出模块未将所述第二目标缓冲单元的图像帧数据读取完成,则确定所述输入模块的写入操作与所述输出模块的读取操作冲突;
若所述输出模块已将所述第二目标缓冲单元的图像帧数据读取完成,则确定所述输入模块的写入操作是否与所述输出模块的读取操作不冲突。
具体实现中,基于两个缓冲单元交替使用的前提,只能一个缓冲单元被读取数据,另一个缓冲单元被写入数据,即需要在输出模块读取完成缓冲单元中的数据之后,才能够再向该缓冲单元中重新写入数据,这样才能够避免对同一个缓冲单元同时进行写入和读取操作,这样会导致显示异常。因此,判断输入模块的写入操作和所述输出模块的读取操作是否冲突,只需要确定同一个缓冲单元是否同时存在写入操作和读取操作,其中,第二目标缓冲单元正要被所述输入模块写入数据,此时只需要确定所述第二目标缓冲单元是否正在被输出模块读取数据,即可确定是否存在冲突。
步骤205、若是,则将所述目标图像帧数据丢弃。
具体实现中,当存在冲突时,需要将即将要写入所述目标图像帧数据丢弃,避免出现显示异常。
步骤206、若否,则配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据。
具体实现中,当不存在冲突时,则确定所述输入模块对所述第二目标缓冲单元写入所述目标图像帧数据,并控制所述输出模块从苏松户第二目标缓冲单元中读取所述目标图像帧数据进行显示。
步骤207、所述输出模块向所述显示设备输出所述目标图像帧数据。
可以看出,本实施例中,首先检测到图像信号;然后判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果;再根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;若是,则将所述目标图像帧数据丢弃;若否,则配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;所述输出模块向所述显示设备输出所述目标图像帧数据。这样,能够将输入帧率转换为不同的输出帧率。
在一个可能的实施例中,所述判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突之前,所述方法还包括:确定所述输入模块的写入速率和所述输出模块的读取速率;确定所述写入速率和所述读取速率的比值;根据所述比值确定最小写入帧数和最小读取帧数;计算所述最小写入个数与最小读取个数的差值;将所述差值设置为丢弃帧数以最小写入帧数为一组,若在每组图像帧中的丢弃图像帧的帧数小于所述丢弃帧数,则判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突。
具体的,所述根据所述比值确定最小写入帧数和最小读取帧数,包括:将所述比值中所述写入速率对应的数字作为所述最小写入帧数;将所述比值中所述读取速率对应的数字作为所述最小读取帧数。
具体实现中,为了降低数据处理量,本实施例中先确定输入模块的写入速率和读取速率,当写入速率和读取速率为整倍数关系时,计算出所述整倍数,例如为2:1,即2倍,那么只需要每两帧丢弃一帧,只读取一帧,即可保证输出帧率不变。当写入速率和读取速率不为整倍数关系时,计算出所述比值之后,例如为3:2,那么所述差值为1,只需要每写入三帧图像丢弃一帧,即可是的输入帧数和输出帧数相等,确定输出帧率不变。在每一次最小写入帧数的循环中,若未丢弃图像帧,则进行冲突判断,若已丢弃足够的图像帧,则不需要再进行冲突判断。
可以看出,本实施例中,通过确定每组图像帧数据是否已满足丢弃帧数,来确定是否进行写入操作和读取操作的冲突判断,不需要每次写入数据时都进行判断,降低了所述电子设备数据处理量。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,移动电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图3,图3是本申请实施例提供的一种针对视频模式的帧率转换装置30,应用于电子设备,所述电子设备包括输入模块、输出模块和第一缓冲单元、第二缓冲单元和显示设备,所述输入模块用于接收图像帧数据、并向所述第一缓冲单元或第二缓冲单元写入所述图像帧数据,所述输出模块用于从所述第一缓冲单元或第二缓冲单元读取所述图像帧数据、并向所述显示设备输出所述图像帧数据;所述针对视频模式的帧率转换装置30包括:
检测单元31,用于检测到图像信号,所述图像信号用于指示所述输入模块即将接收到目标图像帧数据;
第一判断单元32,用于判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果,所述第一目标缓冲单元包括所述第一缓冲单元或第二缓冲单元;
第一配置单元33,用于根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;
第二判断单元34,用于判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;
删除单元35,用于在所述输入模块的写入操作与所述输出模块的读取操作冲突时,将所述目标图像帧数据丢弃;
第二配置单元36,在所述输入模块的写入操作与所述输出模块的读取操作不冲突时,配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;
输出单元37,用于控制所述输出模块向所述显示设备输出所述目标图像帧数据。
可以看出,本实施例中,首先检测到图像信号;然后判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果;再根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;若是,则将所述目标图像帧数据丢弃;若否,则配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;所述输出模块向所述显示设备输出所述目标图像帧数据。这样,能够将输入帧率转换为不同的输出帧率。
在一个可能的实施例中,所述判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突的方面,所述第二判断单元34具体用于:在所述输出模块未将所述第二目标缓冲单元的图像帧数据读取完成时,确定所述输入模块的写入操作与所述输出模块的读取操作冲突;在所述输出模块已将所述第二目标缓冲单元的图像帧数据读取完成时,确定所述输入模块的写入操作是否与所述输出模块的读取操作不冲突。
在一个可能的实施例中,所述根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元的方面,所述第一配置单元33具体用于:在所述第一目标缓冲单元为第一缓冲单元时,配置所述输入模块向所述第二缓冲单元写入所述目标图像帧数据;在所述第二目标缓冲单元为第二缓冲单元时,配置所述输入模块向所述第一缓冲单元写入所述目标图像帧数据。
在一个可能的实施例中,所述检测到图像信号之前,所述装置还包括:注册单元,用于注册图像回调函数;确定单元,用于确定图像帧数据的消隐时间节点;控制单元,用于在所述消隐时间节点对所述第一缓冲单元和/或第二缓冲单元进行控制。
在一个可能的实施例中,所述判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突之前,所述装置还包括:确定单元,确定所述输入模块的写入速率和所述输出模块的读取速率;以及,确定所述写入速率和所述读取速率的比值;以及,根据所述比值确定最小写入帧数和最小读取帧数;计算单元,用于计算所述最小写入个数与最小读取个数的差值;所述配置单元,还用于将所述差值设置为丢弃帧数;第二判断单元34,还用于以最小写入帧数为一组,若在每组图像帧中的丢弃图像帧的帧数小于所述丢弃帧数,则判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突。
在一个可能的实施例中,所述根据所述比值确定最小写入帧数和最小读取帧数的方面,所述确定单元具体用于:将所述比值中所述写入速率对应的数字作为所述最小写入帧数;将所述比值中所述读取速率对应的数字作为所述最小读取帧数。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、磁碟、光盘、易失性存储器或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,可轻易想到变化或替换,均可作各种更动与修改,包含上述不同功能、实施步骤的组合,包含软件和硬件的实施方式,均在本发明的保护范围。
Claims (7)
1.一种针对视频模式的帧率转换方法,其特征在于,应用于电子设备,所述电子设备包括输入模块、输出模块和第一缓冲单元、第二缓冲单元和显示设备,所述输入模块用于接收图像帧数据、并向所述第一缓冲单元或第二缓冲单元写入所述图像帧数据,所述输出模块用于从所述第一缓冲单元或第二缓冲单元读取所述图像帧数据、并向所述显示设备输出所述图像帧数据;所述方法包括:
检测到图像信号,所述图像信号用于指示所述输入模块即将接收到目标图像帧数据;
判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果,所述第一目标缓冲单元包括所述第一缓冲单元或第二缓冲单元;
根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;
确定所述输入模块的写入速率和所述输出模块的读取速率;
确定所述写入速率和所述读取速率的比值;
根据所述比值确定最小写入帧数和最小读取帧数,包括:将所述比值中所述写入速率对应的数字作为所述最小写入帧数;将所述比值中所述读取速率对应的数字作为所述最小读取帧数;
计算所述最小写入帧数与所述最小读取帧数的差值;
将所述差值设置为丢弃帧数;
以最小写入帧数为一组,若在每组图像帧中的丢弃图像帧的帧数小于所述丢弃帧数,则判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;
若是,则将所述目标图像帧数据丢弃;
若否,则配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;
所述输出模块向所述显示设备输出所述目标图像帧数据;
在每组所述最小写入帧数中,若未丢弃图像帧,则在写入前对每帧图像帧进行冲突判断,若已丢弃足够的图像帧,则不进行冲突判断。
2.根据权利要求1所述的方法,其特征在于,所述判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突,包括:
若所述输出模块未将所述第二目标缓冲单元的图像帧数据读取完成,则确定所述输入模块的写入操作与所述输出模块的读取操作冲突;
若所述输出模块已将所述第二目标缓冲单元的图像帧数据读取完成,则确定所述输入模块的写入操作是否与所述输出模块的读取操作不冲突。
3.根据权利要求1所述的方法,其特征在于,所述根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,包括:
若所述第一目标缓冲单元为第一缓冲单元,则配置所述输入模块向所述第二缓冲单元写入所述目标图像帧数据;
若所述第一目标缓冲单元为第二缓冲单元,则配置所述输入模块向所述第一缓冲单元写入所述目标图像帧数据。
4.根据权利要求1所述的方法,其特征在于,所述检测到图像信号之前,所述方法还包括:
注册图像回调函数,确定图像帧数据的消隐时间节点;
在所述消隐时间节点对所述第一缓冲单元和/或第二缓冲单元进行控制。
5.一种针对视频模式的帧率转换装置,其特征在于,应用于电子设备,所述电子设备包括输入模块、输出模块和第一缓冲单元、第二缓冲单元和显示设备,所述输入模块用于接收图像帧数据、并向所述第一缓冲单元或第二缓冲单元写入所述图像帧数据,所述输出模块用于从所述第一缓冲单元或第二缓冲单元读取所述图像帧数据、并向所述显示设备输出所述图像帧数据;所述装置包括:
检测单元,用于检测到图像信号,所述图像信号用于指示所述输入模块即将接收到目标图像帧数据;
第一判断单元,用于判断所述输出模块读取当前图像帧数据的第一目标缓冲单元,得到判断结果,所述第一目标缓冲单元包括所述第一缓冲单元或第二缓冲单元;
第一配置单元,用于根据所述判断结果配置所述输入模块所要写入的第二目标缓冲单元,所述第二目标缓冲单元包括所述第二缓冲单元或第一缓冲单元,所述第二目标缓冲单元与所述第一目标缓冲单元不同;
确定单元,用于确定所述输入模块的写入速率和所述输出模块的读取速率;以及确定所述写入速率和所述读取速率的比值;以及将所述比值中所述写入速率对应的数字作为最小写入帧数;将所述比值中所述读取速率对应的数字作为最小读取帧数;
计算单元,用于计算所述最小写入帧数与最小读取帧数的差值;
所述配置单元,还用于将所述差值设置为丢弃帧数;
第二判断单元,用于以最小写入帧数为一组,若在每组图像帧中的丢弃图像帧的帧数小于所述丢弃帧数,判断所述输入模块的写入操作是否与所述输出模块的读取操作冲突;以及在每组所述最小写入帧数中,若未丢弃图像帧,则在写入前对每帧图像帧进行冲突判断,若已丢弃足够的图像帧,则不进行冲突判断;
删除单元,用于在所述输入模块的写入操作与所述输出模块的读取操作冲突时,将所述目标图像帧数据丢弃;
第二配置单元,在所述输入模块的写入操作与所述输出模块的读取操作不冲突时,配置所述输出模块从所述第二目标缓冲单元获取所述目标图像帧数据;
输出单元,用于控制所述输出模块向所述显示设备输出所述目标图像帧数据。
6.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-4任一项所述的方法中的步骤的指令。
7.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-4任一项所述的方法中的步骤的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310024201.4A CN115766677B (zh) | 2023-01-09 | 2023-01-09 | 针对视频模式的帧率转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310024201.4A CN115766677B (zh) | 2023-01-09 | 2023-01-09 | 针对视频模式的帧率转换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115766677A CN115766677A (zh) | 2023-03-07 |
CN115766677B true CN115766677B (zh) | 2023-04-25 |
Family
ID=85348408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310024201.4A Active CN115766677B (zh) | 2023-01-09 | 2023-01-09 | 针对视频模式的帧率转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115766677B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236528A (zh) * | 2008-02-20 | 2008-08-06 | 华为技术有限公司 | 一种乒乓控制的方法及装置 |
CN102143318A (zh) * | 2011-01-21 | 2011-08-03 | 北京中星微电子有限公司 | 一种视频文件的生成方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8094234B2 (en) * | 2008-10-14 | 2012-01-10 | Texas Instruments Incorporated | System and method for multistage frame rate conversion |
CN104185083B (zh) * | 2013-05-20 | 2017-08-25 | 安凯(广州)微电子技术有限公司 | 一种自适应丢帧方法与装置 |
CN105872432B (zh) * | 2016-04-21 | 2019-04-23 | 天津大学 | 快速自适应帧率变换的装置与方法 |
CN114153414A (zh) * | 2021-11-27 | 2022-03-08 | 深圳曦华科技有限公司 | 图像防撕裂方法及相关装置 |
-
2023
- 2023-01-09 CN CN202310024201.4A patent/CN115766677B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236528A (zh) * | 2008-02-20 | 2008-08-06 | 华为技术有限公司 | 一种乒乓控制的方法及装置 |
CN102143318A (zh) * | 2011-01-21 | 2011-08-03 | 北京中星微电子有限公司 | 一种视频文件的生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115766677A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108702480B (zh) | 电子设备和用于驱动其显示器的方法 | |
EP3096203B1 (en) | Frame rate control method and electronic device thereof | |
US11074157B2 (en) | Splicing screen debugging method, splicing screen and splicing wall | |
US20160335940A1 (en) | Method for processing display data and electronic device for supporting the same | |
EP3395062B1 (en) | Apparatus and method for synchronizing data of electronic device | |
CN104615336A (zh) | 一种信息处理方法及电子设备 | |
US9030378B2 (en) | Sharing display processing system, display processing system, and display method | |
US11487258B2 (en) | Controller and control management system | |
KR20150086976A (ko) | 객체 표시 제어 방법 및 그 전자 장치 | |
CN113840174B (zh) | 图像显示方法、系统及存储介质 | |
KR102203130B1 (ko) | 심카드 사용 제어 방법 및 그 전자 장치 | |
US10587817B2 (en) | Image processing method and electronic device implementing the same | |
CN115766677B (zh) | 针对视频模式的帧率转换方法及装置 | |
US9456110B2 (en) | Method for improving video output definition and terminal device | |
JP2007199816A (ja) | バンクコントローラ、情報処理装置、撮像装置、および制御方法 | |
CN108024116B (zh) | 一种数据缓存方法及装置 | |
US20150243227A1 (en) | Electronic device and display control method thereof | |
KR20150045721A (ko) | 컨텐츠 제어 방법 및 그 전자 장치 | |
JP2001255860A (ja) | 映像データ転送装置及び映像データの転送方法 | |
CN115866156A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114500767B (zh) | 输入视频源调节方法、装置、视频输入卡和视频处理设备 | |
CN111290812B (zh) | 应用控件的显示方法、装置、终端及存储介质 | |
CN111767206B (zh) | 一种内容单元露出呈现率的统计方法、装置及电子设备 | |
KR20150116236A (ko) | 잠금 제어 방법 및 그 전자 장치 | |
CN113473113A (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 |