CN114189732B - 图像数据读写控制的方法及相关装置 - Google Patents
图像数据读写控制的方法及相关装置 Download PDFInfo
- Publication number
- CN114189732B CN114189732B CN202111426753.5A CN202111426753A CN114189732B CN 114189732 B CN114189732 B CN 114189732B CN 202111426753 A CN202111426753 A CN 202111426753A CN 114189732 B CN114189732 B CN 114189732B
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- read
- module
- write
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 239000000872 buffer Substances 0.000 claims abstract description 101
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 238000007906 compression Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000006835 compression Effects 0.000 claims description 9
- 230000009467 reduction Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请实施例中提供了一种应用于芯片的图像数据读写控制方法及相关装置,芯片包括数据处理模块VIDC、数据获取模块LCDC、缓存模块FB和缓存控制模块,FB包括第一缓存模块FB1和第二缓存模块FB2;缓存控制模块判断FB1是否执行读数据操作;若未执行,则VIDC向FB1写入第一数据,以及在写入完成后,VIDC转入FB2写第二数据;缓存控制模块判断FB1是否执行写数据操作;若未执行,则判断第一数据是否被读取;若未被读取,则LCDC从FB1读取第一数据,以及在第一数据被写入完成后,VIDC转入FB2写第二数据。本申请实施例通过引入双缓存和相应的控制机制确保图像能正常显示,避免了图像撕裂的出现。
Description
技术领域
本申请涉及图像数据处理的技术领域,具体涉及一种图像数据读写控制的方法及相关装置。
背景技术
通常的帧图像缓存(framebuffer)控制流程都是类似先进先出(firstinfirstout,FIFO)的控制,通过控制framebuffer读写的速度使得不会读溢出或者写溢出。
当帧图像缓存写速度比读速度快,且写指针追上读指针,或者framebuffer读速度比写速度快,且读指针追上写指针,显示画面就会出现新旧画面各显示一部分的现象,该现象即为撕裂。
发明内容
本申请提供一种图像数据读写控制的方法及相关装置,因为AP每帧输入的时刻基本上是可预测的,所以可通过控制framebuffer读写开始的时机和适当的丢帧机制保证读和写指针互相追不上。本申请通过引入了双缓冲区,并通过相应的控制机制确保图像能正常显示且质量没有太多的损失。
第一方面,本申请实施例提供一种图像数据读写控制的方法,其特征在于,应用于芯片,所述芯片包括数据处理模块VIDC、数据获取模块LCDC、缓存模块FB和缓存控制模块,其中,所述FB用于暂存数据,所述FB包括第一缓存模块FB1和第二缓存模块FB2;所述方法包括:
所述缓存控制模块判断所述第一缓存模块是否执行读数据操作;
若判断出所述第一缓存模块当前未执行所述读数据操作,则所述缓存控制模块指令所述VIDC向所述第一缓存模块写入第一数据,所述第一数据是用于表征一个画面的单帧数据;
在所述第一数据被写入完成后,所述缓存控制模块控制所述VIDC在所述第二缓存模块写入第二数据,所述第二数据为所述第一数据的下一帧数据;
所述缓存控制模块判断所述第一缓存模块是否执行写数据操作;
若判断出所述第一缓存模块未执行所述写数据操作,则判断所述第一数据是否被读取;
若判断出所述第一数据未被读取,则所述LCDC从所述第一缓存模块读取所述第一数据;
在所述第一数据被读取后,所述缓存控制模块控制所述LCDC在所述第二缓存模块读取所述第二数据。
第二方面,本申请实施例提供一种图像数据读写控制的装置,其特征在于,包括:
数据接收器,所述数据接收器用于接收设备发送的视频数据;
缓存器,所述缓存器用于暂存数据,所述缓存器包括第一缓冲区和第二缓冲区;
数据处理器,所述数据处理器用于选择所述第一缓冲区或所述第二缓冲区进行写数据操作;
缓存控制器,所述缓存控制器用于判断所述第一缓冲区和所述第二缓冲区的读写状态以及控制所述读数据操作和所述写数据操作的缓存区选择;
数据获取器,所述数据获取器用于选择所述第一缓冲区或所述第二缓冲区进行读数据操作;
数据发送器,所述数据发送器用于接收将所述数据获取器读取的数据,传输到显示屏。
第三方面,本申请实施例提供了一种电子设备,上述设备包括:
一个或多个处理器;
一个或多个存储器,用于存储程序,一个或多个存储器和程序被配置为,由一个或多个处理器控制所述设备执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有用于电子数据交换的计算机程序,计算机程序包括执行指令,执行指令用于执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中提供了一种应用于芯片的图像数据读写控制方法,其中芯片包括数据处理模块VIDC、数据获取模块LCDC、缓存模块FB和缓存控制模块,FB包括第一缓存模块FB1和第二缓存模块FB2;缓存控制模块判断第一缓存模块是否执行读数据操作;若第一缓存模块当前未执行读数据操作,则缓存控制模块控制VIDC向第一缓存模块写入第一数据;在第一数据被写入完成后,缓存控制模块控制VIDC在第二缓存模块写入第二数据;缓存控制模块判断第一缓存模块是否执行写数据操作;若第一缓存模块未执行写数据操作,则判断第一数据是否被读取;若第一数据未被读取,则LCDC从第一缓存模块读取所述第一数据;在第一数据被读取后,缓存控制模块控制LCDC在第二缓存模块读取第二数据。本申请实施例通过引入了双缓冲区,并通过相应的控制机制确保读写操作能够有序进行,避免了图像撕裂现象的出现,使图像能正常显示。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种芯片应用场景架构图;
图2是本申请实施例提供的一种图像数据读写控制的方法的流程示意图;
图3是本申请实施例提供的一种图像数据读写控制方法的帧数据读写时序图;
图4是本申请实施例提供的一种图像数据读写控制方法的帧数据读写时序图;
图5是本申请实施例提供的一种图像数据读写控制的装置的结构示意图;
图6是本申请实施例提供的另一种图像数据读写控制的装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤的过程、方法、***、产品或设备没有限定于已列出的步骤,而是可选地还包括没有列出的步骤,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
相关设计中,当framebuffer写速度比读速度快,且写指针追上读指针,或者framebuffer读速度比写速度快,且读指针追上写指针,显示画面就会出现新旧画面各显示一部分的现象,该现象即为撕裂。因为读写处于同一帧,那么一定会发生某个时刻读的像素还没有写入buffer中,必定会产生撕裂。这时候需要用到双buffer控制技术。
针对上述问题,本申请实施例中提供了一种应用于芯片的图像数据读写控制方法,可以适用于手机各种输入格式包括:命令模式和图像模式等。
具体地,视频模式下,与显示屏连接的主处理器(Application Processor,AP)需要持续刷新显示屏,由于不使用专用的数据信号传输同步信息,数据是以报文的形式通过移动产业处理器接口(MobileIndustry Processor Interface,MIPI)总线传输的。因为主处理器需要定期刷新显示屏,因此显示屏不需要帧缓冲器。命令模式下,主处理器的MIPI总线控制器使用显示命令报文来向显示屏发送数据,显示屏具有一个全帧长的帧缓冲器(Frame Buffer),用来存储帧数据。帧数据是指某一帧周期中AP下发的一帧图像数据。一但帧数据被放入显示屏的帧缓冲器中,显示屏的数据驱动器(Date Driver IC,DDIC)会从帧缓冲器中读取帧数据,并将数据显示在屏幕上。主处理器AP向帧缓冲器中写入帧数据时,由主处理器AP和显示屏的数据驱动器产生的撕裂效应(Tear Effect,TE)信号共同控制。
本方案主要针对适用低温多晶氧化物显示屏(Low TemperaturePolycrystalline Oxide,LTPO)场景下的命令模式输入进行展开描述。具体的,LTPO屏的AP输入时,可以不关注屏端的TE信号,且AP端输出的时刻点在初始时是不固定的。当手机显示动态画面的时候,自动提高刷新率,当手机显示静止画面的时候,则自动降低刷新率,从而有效的降低功耗。
为了更好理解本发明实施例公开的一种图像数据读写控制的方法及装置,下面对本发明实施例进行详细介绍。
下面先对本发明实施例适用的芯片应用场景架构图进行描述。请参阅图1,图1是本发明实施例公开的一种芯片应用场景架构图。如图1所示,该应用场景架构图,具体包括:
芯片与手机AP端和显示屏相连接的。具体地,芯片通过内部的接收模块与AP端相连接,实现数据交互。具体应用中,接收模块为移动产业处理器接口接收器MIPI-RX(MobileIndustry Processor Interface-Receiver,MIPI-RX),发送模块为移动产业处理器接口发送器MIPI-TX(Mobile Industry Processor Interface-Transmit,MIPI-TX)。
MIPI-RX接收AP端发送的数据,将MIPI协议解析出真实数据;
VPRE:将命令信息和图像数据过滤分离。命令信息可以由硬件直接解析或者存入缓存器中由软件解析。图像数据经过显示流压缩技术(Display Stream Compression,DSC)压缩处理后传输到VIDC中;
VIDC:用于对DSC压缩处理后的数据进行一系列数据处理,包括但不限于格式转换,分辨率缩小、镜像、旋转、压缩等,并将处理结果以单帧数据的形式向缓存模块写入数据;
缓存控制模块:用于判断缓存模块的读写状态和控制读写操作缓存区的选择。具体地,缓存控制模块判断当前缓存模块是否正在进行读数据操作或写数据操作,进一步实现VIDC向缓存器写入数据和LCDC从缓存区读数据,所述缓存控制模块,所述翻转是指从一个缓存模块切换到另一缓存模块;
缓存模块:图像数据会以帧的形式暂存于该区域,其中缓存模块分为第一缓存模块和第二缓存模块;
LCDC:用于以固定帧率从缓存模块中读取单帧数据;
MIPI-TX:将LCDC传来的数据调制到MIPI协议,输出视频数据到显示屏。
具体的,本申请实施例提出来的一种芯片作为转码芯片,接收AP端发送的MIPI视频数据,并响应AP的命令。经过降帧率,降分辨率的处理,转换成适配TDDI显示屏的HD@60Hz的高清视频,再通过MIPI发送视频给屏端。
基于此,本申请实施例提供的一种图像数据读写控制的方法,请参阅图2,图2是本申请实施例提供的一种图像数据读写控制的方法的流程示意图,应用于芯片,所述芯片包括数据处理模块VIDC、数据获取模块LCDC、缓存模块FB和缓存控制模块,其中,所述FB用于暂存数据,所述FB包括第一缓存模块FB1和第二缓存模块FB2;如图所示,本身请实施例中,图像数据读写控制的方法包括以下操作流程:
步骤201,所述缓存控制模块判断所述第一缓存模块是否执行读数据操作。步骤202,若判断出所述第一缓存模块当前未进行所述读数据操作,则所述缓存控制模块指令所述VIDC向所述第一缓存模块写入第一数据。
步骤203,在所述第一数据被写入完成后,所述缓存控制模块控制所述VIDC在所述第二缓存模块写入第二数据。
步骤204,所述缓存控制模块判断所述第一缓存模块是否执行写数据操作。
步骤205,若判断出所述第一缓存模块未执行所述写数据操作,则判断所述第一数据是否被读取。
步骤206,若判断出所述第一数据未被读取,则所述LCDC从所述第一缓存模块读取所述第一数据。
步骤207,在所述第一数据被读取后,所述缓存控制模块控制所述LCDC在所述第二缓存模块读取所述第二数据。
具体地,为更好地描述上述步骤的方法,下面将结合图3的一种图像数据读写控制方法的帧数据读写时序图进一步说明。如图3所示:
其中,实线用于表示LCDC从缓存模块读取数据,虚线用于表示VIDC向缓存模块写入数据。横坐标表示读写周期,纵坐标FB1和FB2用于表示上述第一缓存模块和第二缓存模块。斜率表示读写速度,由图可知写入速度是读取速度的两倍。
具体地,用wr_frm_act=0或wr_frm_act=1表示当前是否进行写数据操作,其中0表示当前buffer未执行写数据操作,1表示当前buffer在执行写数据操作;同理,用rd_frm_act=0或1表示当前buffer是否正在进行读数据操作。
具体地,LCDC以固定帧率从缓存模块中读取单帧数据。为便于理解,本申请实施例中,以LCDC从FB1开始读和VIDC从FB2开始写为例进行展开描述,在具体应用中,不做此限制。
示例性地,初始化时,LCDC会从当前buffer中读取空帧,然后翻转,开始进行实际性的读数据操作,也就是翻转到FB1后真正开始读取数据。
1.若此时wr_frm_act=0且读写不在同一buffer中,则判断当前buffer的最新一帧数据是否被读取,若没有,则从当前buffer读取该数据。如图3所示的读取第1帧数据,在读完第1帧数据后,LCDC将跳转到FB2中准备读取下一帧数据。
2.若当前wr_frm_act=0且读写处于同一buffer中,表明当前buffer没有新帧写入,则LCDC跳转至FB1进行读数据操作。此时条件满足上述步骤1,则进行第2帧的读取,如图3所示在FB1中进行实线表示的第2帧读取,第2帧读取完成后,LCDC再次跳转到FB2中进行下一帧数据的读取如此循环。
示例性地,VIDC向buffer中写入数据的过程为:
若rd_frm_act=1且读写不在同一个buffer,则表明当前代表写和读不在同一个buffer进行,互相之间无影响,因此当前帧数据可以直接写入到FB2。对应图3所示的虚线第1帧写操作。此时FB1中正在进行实线表示的第3帧数据的读操作。写完成第1帧后VIDC跳转到FB1中准备进行下一帧写入,对应图3所示的虚线表示的第2帧写操作。
具体地,LCDC读数据前进行条件判断,若满足条件则直接从当前buffer中读取数据,若不满足,则跳转至另一个buffer中进行数据读取,且LCDC读数据可以连续从同一个buffer中读取最新的一帧数据。VIDC写数据前进行条件判断,若条件满足,则直接写入,且VIDC写数据需要保证前后两帧写入分处不同buffer。
可以看出,本申请实施例中提供了一种应用于芯片的图像数据读写控制方法,其中芯片包括数据处理模块VIDC、数据获取模块LCDC、缓存模块FB和缓存控制模块,FB包括第一缓存模块FB1和第二缓存模块FB2;缓存控制模块判断第一缓存模块是否执行读数据操作;若第一缓存模块当前未执行读数据操作,则缓存控制模块控制VIDC向第一缓存模块写入第一数据;在第一数据被写入完成后,缓存控制模块控制VIDC在第二缓存模块写入第二数据;缓存控制模块判断第一缓存模块是否执行写数据操作;若第一缓存模块未执行写数据操作,则判断第一数据是否被读取;若第一数据未被读取,则LCDC从第一缓存模块读取所述第一数据;在第一数据被读取后,缓存控制模块控制LCDC在第二缓存模块读取第二数据。本申请实施例通过引入了双缓冲区,并通过相应的控制机制确保读写操作能够有序进行,避免了图像撕裂现象的出现,使图像能正常显示。
在一个可能的示例中,所述缓存控制模块判断所述第一缓存模块是否执行读数据操作,所述方法包括:若判断出所述第一缓存模块当前有读数据操作,则判断所述读数据操作是否开始执行;若所述读数据操作已经开始执行,则所述缓存控制模块控制所述VIDC丢弃所述第一数据后,所述VIDC继续在所述第一缓存模块写入所述第二数据;若所述读数据操作未开始执行,则所述缓存控制模块控制所述VIDC向所述第一缓存模块写入所述第一数据;在所述第一数据被写入完成后,所述缓存控制模块控制所述VIDC在所述第二缓存模块写入所述第二数据。
具体地,如图4所示一种图像数据读写控制方法的帧数据读写时序图。如图4所示,示例性地,VIDC写数据操作流程的另一种情形如下:
1.若此时rd_frm_act=1且读数据和写数据在同一个buffer。因为写数据的速度比读数据的速度快,因此会有追上读数据造成图像撕裂,因此为避免此种情况发生,VIDC须选择丢掉当前一帧的写入。如图4中带箭头线条表示的第3帧写入,当前正在进行第4帧数据的读操作,若在此时开始写数据操作,会造成图像撕裂,因此第3帧被丢弃,故当前buffer无新数据写入,下一帧的写入继续保持在当前buffer中进行,如图4上的VIDC在FB2中写入虚线表示的第4帧数据的写入。
2.若此时rd_frm_act=0且读数据和写数据在同一个buffer,表明当前虽然读数据操作和写数据操作在同一个buffer,但读数据操作还没有开始。因为写数据的速度比读数据的速度快,因此读数据操作无法追上写数据操作,此种情况下允许写入。写完成后VIDC跳转到FB1中准备进行下一帧写入WFB翻转,如图4虚线表示的第5帧数据的写入。
可以看出,本申请实施例中,VIDC在进行写数据操作前,通过判断当前buffer的读写状态以及确定读写操作开始的先后顺序,来决定是否写入当前帧,从而避免因写数据速度过快追上读速度而出现图像撕裂的现象。
在一种可能的示例中,所述缓存控制模块判断所述第一缓存模块是否执行写数据操作,所述方法包括:若判断出所述第一缓存模块正在执行写数据操作,则所述LCDC从所述第一缓存模块读取数据;在所述第一数据被读取后,所述缓存控制模块控制所述LCDC在所述第二缓存模块读取所述第二数据。
具体地,如图4所示一种图像数据读写控制方法的帧数据读写时序图。如图4所示,示例性地,LCDC读数据操作流程的另一种情形如下:
1.若此时wr_frm_act=1且读数据和写数据在同一个buffer,则表明此时该buffer正在进行写数据操作,因为读速度比写速度慢,因此还是可以读到最新的一帧数据,故LCDC保持在当前buffer中读取帧数据。参见图4中的实现表示的第4帧数据读取,FB2中虚线表示的第1帧数据写入正在进行,此时LCDC计划读取第4帧,写数据的速度时读数据的2倍,因此读写之间互不影响,LCDC仍然可以从FB2中读取第4帧数据,在读完第4帧数据后,LCDC将跳转到FB1中准备读取下一帧数据。
2.若此时wr_frm_act=1且读数据和写数据在不同buffer,则表明此时另一个buffer正在写入,LCDC保持在当前buffer进行数据的读取。如图4所示实线表示的第5帧数据的读取。
可以看出,本申请实施例中,LCDC在进行读数据操作前,通过判断当前buffer的读写状态以及确定读写操作开始的先后顺序,来决定是否选择跳转到另一个buffer读取数据,从而保证LCDC当前读取到的每一帧数据都是最新一帧的数据,同时还可以有效的避免图像撕裂。
在一个可能的示例中,所述若判断出所述第一缓存模块未执行所述写数据操作,则判断所述第一数据是否被读取,所述方法包括:若判断出所述第一数据已经被读取,则所述缓存控制模块控制所述LCDC在所述第二缓存模块读取所述第二数据。
若当前wr_frm_act=0且读写处于同一buffer中,表明当前buffer没有新帧写入,LCDC在当前buffer中最新一帧数据可以读取,此时LCDC跳转至另一个buffer中进行读数据操作。如图3所示在FB1中进行实线表示的第2帧读取,第2帧读取完成后,LCDC再次跳转到FB2中进行下一帧数据的读取。
可以看出,本申请实施例中,LCDC在进行读数据操作前,通过判断当前buffer的有无新数据写入,来决定是否选择跳转到另一个buffer读取数据,从而保证LCDC当前读取到的每一帧数据都是最新一帧的数据。
在一个可能的示例中,所述写数据操作的速度是所述读数据操作的速度的两倍。
具体地,由于写数据的速度比读数据的速度快,可以根据当前读写的先后顺序,来判断当前的读数据操作是否要继续进行或者当前的写入数据是否要进行丢帧处理。
可以看出,本申请实施例中,由于写数据操作的速度是读数据操作的速度的两倍,可以根据这一特性在实际数据的读取过程中,控制读写操作的有序进行,通过丢帧处理来有效规避写数据操作追赶上读数据操作。
在一个可能的示例中,所述VIDC写入所述FB中的前后两帧所述单帧数据处于不同的所述缓存模块。
可以看出,本申请实施例中,VIDC始终保持在前后两帧数据在不同的buffer中写入,以保证两个buffer中都会有新的数据写入。
在一个可能的示例中,所述缓存控制模块指令所述VIDC向所述第一缓存模块写入第一数据之前,所述方法还包括:所述VIDC对所述第一数据进行数据处理,包括格式转换、分辨率缩小、镜像、旋转、压缩中的一种或多种。
芯片与手机AP端和显示屏相连接的。具体地,芯片通过内部的接收模块与AP端相连接,实现数据交互。
具体应用中,MIPI-RX接收AP端发送的数据,将MIPI协议解析出真实数据。VPRE将命令信息和图像数据过滤分离,其中,命令信息可以由硬件直接解析或者存入缓存器中由软件解析。而图像数据经过DSC压缩后传输到VIDC中。VIDC对经过DSC压缩处理后的图像数据进一步处理,处理操作包括但不限于:格式转换,分辨率缩小、镜像、旋转、压缩等,并将处理结果以单帧数据的形式向缓存模块写入数据。
进一步地,缓存模块中存放的是经过压缩处理后的数据。若LCDC输出小于1080*2440,缓存模块内的分辨率等于LCDC输出分辨率;若LCDC输出大于1080*2440,framebuffer内的分辨率为1080*2440。
进一步地,LCDC从缓存模块读取压缩数据,执行解压缩操作。若LCDC输出大于1080*2440,则根据输入图像和frame buffer的分辨率比执行压缩(scaledown)操作;若LCDC输出小于1080*2440,则跳过scaledown操作。
在另一种可能是,若输出是pentile格式,执行rgb2pent操作;否则跳过执行rgb2pent。
进一步地,LCDC按时序将视频数据通过MIPITX输出到显示屏上。
可以看出,本申请实施例中,可以通过VIDC从AP端接收到的数据进行压缩、格式转换等一系列操作后存入缓存模块,然后通过LCDC从缓存模块中读取出数据后进行一系列的转换,以保证最后通过MIPI TX输出到显示屏上的视频图像的质量。
与上述图2所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种图像数据读写控制装置,其特征在于,包括:
数据接收器,所述数据接收器用于接收设备发送的视频数据。
缓存器,所述缓存器用于暂存数据,所述缓存器包括第一缓冲区和第二缓冲区。
数据处理器,所述数据处理器用于选择所述第一缓冲区或所述第二缓冲区进行写数据操作。
缓存控制器,所述缓存控制器用于判断所述第一缓冲区和所述第二缓冲区的读写状态以及控制所述读数据操作和所述写数据操作的缓存区选择。
数据获取器,所述数据获取器用于选择所述第一缓冲区或所述第二缓冲区进行读数据操作。
数据发送器,所述数据发送器用于接收将所述数据获取器读取的数据,传输到显示屏。
在一个可能的实施例中,在实际应用场景中,上述芯片还可以用于手机换屏场景。
示例性地,上述芯片能够搭载在手机屏幕,通过上述步骤所实现的功能,能够保证换屏后的手机可以正常上电完成启动流程,并且提高换屏后的手机上电的稳定性和数据加载的安全性。
其中,上述芯片设备作为转码芯片,接收AP端发送的MIPI视频数据,并响应AP的命令。经过降帧率、降分辨率的处理,将数据转换成适配触控与显示驱动器集成(Touch andDisplay Driver Integration,TDDI)显示屏的HD@60Hz的高清视频,再通过MIPI发送视频给屏端。
进一步地,上述芯片设备同时支持触控反馈协议的转换以及屏幕背光调节的协议转换。从触控与显示驱动器集成(Touch and Display Driver Integration,TDDI)反馈回来的触控数据,以及背光调节数据经过码片转换成主芯片支持的格式。上述芯片设备进行的是协议转换,具体的TDDI显示驱动,触控计算等功能都使用单独的芯片完成。
可以看出,本申请实施例中提供了一种应用于芯片的图像数据读写控制方法,其中芯片包括数据处理模块VIDC、数据获取模块LCDC、缓存模块FB和缓存控制模块,FB包括第一缓存模块FB1和第二缓存模块FB2;缓存控制模块判断第一缓存模块是否执行读数据操作;若第一缓存模块当前未执行读数据操作,则缓存控制模块控制VIDC向第一缓存模块写入第一数据;在第一数据被写入完成后,缓存控制模块控制VIDC在第二缓存模块写入第二数据;缓存控制模块判断第一缓存模块是否执行写数据操作;若第一缓存模块未执行写数据操作,则判断第一数据是否被读取;若第一数据未被读取,则LCDC从第一缓存模块读取所述第一数据;在第一数据被读取后,缓存控制模块控制LCDC在第二缓存模块读取第二数据。本申请实施例通过引入了双缓冲区,并通过相应的控制机制确保读写操作能够有序进行,避免了图像撕裂现象的出现,使图像能正常显示。
具体地,本申请实施例可以根据上述方法示例对图像数据读写控制的装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
与上述图2所示的实施例一致的,请参阅图6,图6是本申请实施例提供的另一种图像数据读写控制装置的结构示意图,如图6所示:
一种电子设备,包括:
一个或多个处理器;一个或多个存储器,用于存储程序,一个或多个存储器和程序被配置为,由一个或多个处理器控制所述设备执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
其中,存储器可以是易失性存储器如动态随机存储器DRAM,也可以是非易失性存储器如机械硬盘。上述存储器用于存储一组可执行程序代码,上述处理器用于调用存储器中存储的可执行程序代码,可以执行如上述图像数据读写控制的方法实施例中记载的任何一种图像数据读写控制的方法的部分或全部步骤。
上述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global Systemof Mobile communication,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA2000(CodeDivision Multiple Access2000,码分多址2000)、WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)、TD-SCDMA(TimeDivision-Synchronous CodeDivision Multiple Access,时分同步码分多址)、FDD-LTE(Frequency DivisionDuplexing-Long Term Evolution,频分双工长期演进)和TDD-LTE(Time DivisionDuplexing-Long Term Evolution,分时双工长期演进)等。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有用于电子数据交换的计算机程序,计算机程序包括执行指令,执行指令用于执行如上述图像数据读写控制的方法实施例中记载的任何一种图像数据读写控制的方法的部分或全部步骤,上述计算机包括电子终端设备。
本申请实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机如上述方法实施例中记载的任何一种图像数据读写控制的方法的部分或全部步骤,该计算机程序产品可以是一个软件安装包。
需要说明的是,对于前述的任一种图像数据读写控制的方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请一种图像数据读写控制的方法及相关装置的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请一种图像数据读写控制的方法及相关装置的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
本申请是参照本申请实施例的方法、硬件产品和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现所公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域普通技术人员可以理解上述任一种图像数据读写控制的方法实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
可以理解的是,凡是被控制或者被配置以用于执行本申请一种图像数据读写控制的方法实施例所描述的流程图的处理方法的产品,如上述流程图的装置以及计算机程序产品,均属于本申请所描述的相关产品的范畴。
显然,本领域的技术人员可以对本申请提供的一种图像数据读写控制的方法及装置进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (7)
1.一种图像数据读写控制的方法,其特征在于,应用于芯片,所述芯片包括数据处理模块VIDC、数据获取模块LCDC、缓存模块FB和缓存控制模块,其中,所述FB用于暂存数据,所述FB包括第一缓存模块FB1和第二缓存模块FB2;所述方法包括:
所述缓存控制模块判断所述第一缓存模块是否执行读数据操作;
若判断出所述第一缓存模块当前未执行所述读数据操作,则所述缓存控制模块指令所述VIDC向所述第一缓存模块写入第一数据,所述第一数据是用于表征一个画面的单帧数据;
在所述第一数据被写入完成后,所述缓存控制模块控制所述VIDC在所述第二缓存模块写入第二数据,所述第二数据为所述第一数据的下一帧数据;
若判断出所述第一缓存模块当前有所述读数据操作,则判断所述读数据操作是否开始执行;
若所述读数据操作已经开始执行,则所述缓存控制模块控制所述VIDC丢弃所述第一数据后,所述VIDC继续在所述第一缓存模块写入所述第二数据;
若所述读数据操作未开始执行,则所述缓存控制模块控制所述VIDC向所述第一缓存模块写入所述第一数据;
在所述第一数据被写入完成后,所述缓存控制模块控制所述VIDC在所述第二缓存模块写入所述第二数据;
所述缓存控制模块判断所述第一缓存模块是否执行写数据操作;
若判断出所述第一缓存模块未执行所述写数据操作,则判断所述第一数据是否被读取;
若判断出所述第一数据未被读取,则所述LCDC从所述第一缓存模块读取所述第一数据;
在所述第一数据被读取后,所述缓存控制模块控制所述LCDC在所述第二缓存模块读取所述第二数据;
若判断出所述第一缓存模块正在执行所述写数据操作,则所述LCDC从所述第一缓存模块读取所述第一数据;
在所述第一数据被读取后,所述缓存控制模块控制所述LCDC在所述第二缓存模块读取所述第二数据。
2.根据权利要求1所述的方法,其特征在于,所述若判断出所述第一缓存模块未执行所述写数据操作,则判断所述第一数据是否被读取,所述方法包括:
若判断出所述第一数据已经被读取,则所述缓存控制模块控制所述LCDC在所述第二缓存模块读取所述第二数据。
3.根据权利要求1-2任一所述方法,其特征在于,所述方法包括:
所述写数据操作的速度是所述读数据操作的速度的两倍。
4.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述VIDC写入所述FB中的前后两帧所述单帧数据处于不同的所述缓存模块。
5.根据权利要求1所述的方法,其特征在于,所述缓存控制模块指令所述VIDC向所述第一缓存模块写入第一数据之前,所述方法还包括:
所述VIDC对所述第一数据进行数据处理,包括格式转换、分辨率缩小、镜像、旋转、压缩中的一种或多种。
6.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器,用于存储程序,
所述一个或多个存储器和所述程序被配置为,由所述一个或多个处理器控制所述设备执行如权利要求1-5任一项所述的方法中的步骤。
7.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-5任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111426753.5A CN114189732B (zh) | 2021-11-27 | 2021-11-27 | 图像数据读写控制的方法及相关装置 |
CN202310380316.7A CN116560566A (zh) | 2021-11-27 | 2021-11-27 | 图像数据读写控制的方法及相关装置、存储介质和程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111426753.5A CN114189732B (zh) | 2021-11-27 | 2021-11-27 | 图像数据读写控制的方法及相关装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310380316.7A Division CN116560566A (zh) | 2021-11-27 | 2021-11-27 | 图像数据读写控制的方法及相关装置、存储介质和程序 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114189732A CN114189732A (zh) | 2022-03-15 |
CN114189732B true CN114189732B (zh) | 2023-04-07 |
Family
ID=80602796
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310380316.7A Pending CN116560566A (zh) | 2021-11-27 | 2021-11-27 | 图像数据读写控制的方法及相关装置、存储介质和程序 |
CN202111426753.5A Active CN114189732B (zh) | 2021-11-27 | 2021-11-27 | 图像数据读写控制的方法及相关装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310380316.7A Pending CN116560566A (zh) | 2021-11-27 | 2021-11-27 | 图像数据读写控制的方法及相关装置、存储介质和程序 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116560566A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115831074B (zh) * | 2023-02-20 | 2024-05-03 | 深圳曦华科技有限公司 | 基于单缓存模式的帧率转换方法及装置 |
CN116027930B (zh) * | 2023-02-21 | 2023-08-08 | 深圳曦华科技有限公司 | 动态帧率控制方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511861A (zh) * | 2020-12-03 | 2021-03-16 | 威创集团股份有限公司 | 一种低延时视频传输方法及其***、储存介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402409B (zh) * | 2010-09-07 | 2016-06-01 | 无锡中感微电子股份有限公司 | 一种刷屏方法和装置 |
CN102625110B (zh) * | 2012-03-30 | 2014-08-20 | 天津天地伟业物联网技术有限公司 | 视频数据的缓存***及缓存方法 |
CN104185083B (zh) * | 2013-05-20 | 2017-08-25 | 安凯(广州)微电子技术有限公司 | 一种自适应丢帧方法与装置 |
US11049211B2 (en) * | 2017-07-06 | 2021-06-29 | Channel One Holdings Inc. | Methods and system for asynchronously buffering rendering by a graphics processing unit |
-
2021
- 2021-11-27 CN CN202310380316.7A patent/CN116560566A/zh active Pending
- 2021-11-27 CN CN202111426753.5A patent/CN114189732B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511861A (zh) * | 2020-12-03 | 2021-03-16 | 威创集团股份有限公司 | 一种低延时视频传输方法及其***、储存介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116560566A (zh) | 2023-08-08 |
CN114189732A (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114189732B (zh) | 图像数据读写控制的方法及相关装置 | |
CN109992232B (zh) | 图像更新方法、装置、终端及存储介质 | |
US8259123B2 (en) | Image processing apparatus | |
US9318072B2 (en) | Display driver, operating method thereof, host for controlling the display driver, and system having the display driver and the host | |
CN1981519B (zh) | 用于显示图像帧序列的方法和*** | |
CN105144281B (zh) | 存储器控制装置和便携终端 | |
US10019971B2 (en) | Switching video streams for a display without a visible interruption | |
CN104620311A (zh) | 存储器控制装置、便携终端、存储器控制程序以及计算机可读取的记录介质 | |
EP2757779A2 (en) | Method and terminal for video processing | |
JP2002236480A (ja) | 画面上の画像フレームを更新する方法及び表示システム | |
CN104603867B (zh) | 存储器控制装置和便携终端 | |
JP2002287728A (ja) | ディスプレイシステムのインターフェース装置及びその方法 | |
CN114023270A (zh) | 一种电子墨水屏驱动方法、装置、设备及存储介质 | |
US12014700B2 (en) | Accelerated frame transmission | |
WO2023040593A1 (zh) | 图像数据传输方法、装置、终端及介质 | |
CN115103208A (zh) | 一种视频数据的行缓存方法、行读取方法及处理*** | |
KR102619668B1 (ko) | 슬라이스 업데이트 맵을 이용하는 장치 및 방법 | |
CN114153415A (zh) | 图像帧率的控制方法及相关产品 | |
CN102625086B (zh) | 一种用于高清数字矩阵的ddr2存储方法和*** | |
CN116635929A (zh) | 在多显示器***上执行异步存储器时钟改变 | |
US7081874B2 (en) | Portable display device and method utilizing embedded still image buffer to facilitate full motion video playback | |
CN115101025B (zh) | 一种支持虚拟帧缓冲的lcd控制电路及其控制方法 | |
EP1484737A1 (en) | Display controller | |
US7643023B2 (en) | Matrix type display device and display method thereof | |
JPH09116827A (ja) | 縮小映像信号処理回路 |
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 |