CN102207839A - 消除图像水平撕裂的方法及*** - Google Patents
消除图像水平撕裂的方法及*** Download PDFInfo
- Publication number
- CN102207839A CN102207839A CN2011100786913A CN201110078691A CN102207839A CN 102207839 A CN102207839 A CN 102207839A CN 2011100786913 A CN2011100786913 A CN 2011100786913A CN 201110078691 A CN201110078691 A CN 201110078691A CN 102207839 A CN102207839 A CN 102207839A
- Authority
- CN
- China
- Prior art keywords
- read
- frame buffer
- write
- view data
- time
- 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.)
- Granted
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
一种消除图像水平撕裂的方法,包括:S1、在显卡内部建立至少三个帧缓冲器,在每个帧缓冲器中分别设置一个读写互斥标记器和一个时间标记器;S2、将帧缓冲器的读写互斥标记器设置为写操作状态,同时将图像数据写入帧缓冲器,在写入完成后,将时间标记器时间值设置为完成时刻的时间,同时读写互斥标记器设置为空闲状态;S3、将帧缓冲器的读写互斥标记器设置为读操作状态,读取帧缓冲器中的图像数据输出至显示器,在读取完成后,将读写互斥标记器设置为空闲状态,同时保持时间标记器的值不变。本发明还提供一种消除图像水平撕裂的***,通过本发明的技术,在图像显示中,既消除了图像水平撕裂,又保证了图像渲染的帧率。
Description
技术领域
本发明涉及图像显示技术,特别涉及消除图像水平撕裂的方法及***。
背景技术
在目前的图像显示领域中,为了消除画面的水平撕裂现象,我们通常要开启显卡的垂直同步;而开启了显卡的垂直同步,又会引起图像渲染帧率的急剧下降。如图1所示,图1是开启垂直同步引起帧率急剧下降的示意图,在不开启垂直同步的情况下,显卡可以渲染和显示a/b/c/d/e/f/g/h/i/j/k共11帧,但在使用中,可能会出现图像水平撕裂的现象。在“显卡的垂直同步时间”中,每一条黑色竖线代表一个垂直同步,垂直同步之间的时间是均匀的;“不开启垂直同步时帧的渲染时间”中,每一个竖线表示每一个帧的显示时间;“图像帧渲染时间”中,每一个方框代表渲染每一帧所需要的时间,并且每一帧的渲染开始于上一帧图像垂直同步显示之后;“图像帧显示时间”中说明了每一帧实际显示的时间。如该图所示,如“图像帧渲染时间”中所示的帧a、b、c、d、e、f分别在“图像帧显示时间”中所示的时间a、b、c、d、e、f显示。从图中可以看到,在到达时间f时,开启垂直同步的情况下,仅显示了a/b/c/d/e/f共5帧,所以,虽然开启垂直同步可以消除图像水平撕裂现象,却会造成帧率急剧下降,影响了显示的效果。
发明内容
本发明提供一种消除图像水平撕裂的方法及***,既消除了图像水平撕裂,又保证了图像渲染的帧率。
一种消除图像水平撕裂的方法,包括以下步骤:
S1、在显卡内部建立至少三个帧缓冲器,在每个所述帧缓冲器中分别设置一个读写互斥标记器和一个时间标记器;
所述读写互斥标记器标记的状态为写操作、读操作或空闲;
所述时间标记器标记的时间为写操作完成时刻的时间;
S2、将读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器的读写互斥标记器设置为写操作状态,同时将图像数据写入所述帧缓冲器,在写入所述图像数据完成后,将时间标记器时间值设置为写入完成时刻的时间,同时将所述读写互斥标记器设置为空闲状态;
S3、将时间标记器时间值最晚的帧缓冲器的所述读写互斥标记器设置为读操作状态,读取所述帧缓冲器中的图像数据输出至显示器,在读取所述图像数据完成后,将所述读写互斥标记器设置为空闲状态,同时保持所述时间标记器的值不变。
本发明还提供一种消除图像水平撕裂的***,包括:至少三个分别设置有一个读写互斥标记器和一个时间标记器的帧缓冲器,写入单元,读取单元;
所述帧缓冲器,用于储存显卡渲染的图像数据,每个帧缓冲器的图像数据都可以被显示器读取;
所述读写互斥标记器,用于标记所述帧缓冲器是处于写操作、读操作或空闲状态;
所述时间标记器,用于标记所述图像数据被写入所述帧缓冲器的完成时刻时间;
所述写入单元,用于将读写互斥标记器为空闲状态且没有图像数据的帧缓冲器的读写互斥标记器设置为写操作状态,同时将图像数据写入所述帧缓冲器,在写入所述图像数据完成时刻,将时间标记器时间值设置为完成时刻的时间,同时将所述读写互斥标记器设置为空闲状态;
所述读取单元,用于将时间标记器时间值最晚的所述帧缓冲器的所述读写互斥标记器设置为读操作状态,读取所述帧缓冲器中的图像数据输出至显示器,在读取所述图像数据完成时刻,将所述读写互斥标记器设置为空闲状态,同时保持所述时间标记器的值不变。
与现有技术相比,本发明通过在显卡内部设置多个帧缓冲器,同时修改写入及读出机制,将帧缓冲器的图像数据写入过程与读取过程进行互斥,使得帧缓冲器不会出现同时写入与读取现象,消除了图像水平撕裂,同时多个的帧缓冲器的设置,又能保证图像渲染的帧率。
附图说明
图1是开启垂直同步引起帧率急剧下降的示意图;
图2是本发明一种消除图像水平撕裂的方法的流程示意图;
图3是实施例中步骤S2具体操作过程流程示意图;
图4是实施例中步骤S3具体操作过程流程示意图;
图5是本发明一种消除图像水平撕裂的***的结构示意图。
具体实施方式
下面结合附图和实施例对本发明的技术做详细描述。
如图1所示,本发明的消除图像水平撕裂的方法包括:
S1、在显卡内部建立至少三个帧缓冲器,在帧缓冲器中分别设置一个读写互斥标记器和一个时间标记器;其中,每个帧缓冲器都可以被显示器读取,读写互斥标记器标记的状态为写操作、读操作或空闲三种,在帧缓冲器不进行读写操作时,读写互斥标记器标记为空闲状态,而且任何时刻都只能够有一种状态;时间标记器时间值为帧缓冲器在进行写操作时完成的时刻的时间。
S2、将读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器的读写互斥标记器设置为写操作状态,同时将图像数据写入所述帧缓冲器,在写入图像数据后,将时间标记器时间值设置为完成时刻的时间,同时将读写互斥标记器设置为空闲状态。
S3、将时间标记器时间值最晚的帧缓冲器的读写互斥标记器设置为读操作状态,读取该帧缓冲器中的图像数据输出至显示器,在读取图像数据完成后,将其读写互斥标记器设置为空闲状态,同时保持时间标记器的值不变。
为了进一步清晰地描述本发明的方法,以下阐述本发明方法的较佳实施例。
对于步骤S1、在显卡内部建立至少三个帧缓冲器,在帧缓冲器中分别设置一个读写互斥标记器和一个时间标记器;在初始状态时,将帧缓冲器的读写互斥标记器设置为空闲状态,将时间标记器记设置为0。
对于步骤S2,如图3所示,具体包括:
S201、图像渲染进程生成图像数据;
S202、根据显卡内的帧缓冲器排列,由上往下遍历帧缓冲器,直到找到读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器;
S203、将该帧缓冲器的读写互斥标记器设置为写操作状态,同时将图像数据写入帧缓冲器;
S204、在完成写入图像数据过程后,将时间标记器的时间值设置为完成时刻的时间,同时将读写互斥标记器设置为空闲状态;
在完成步骤S204后,即返回步骤S201,将下一帧的图像数据写入到时间标记器最早的帧缓冲器中,图像数据的渲染无需等待垂直同步信号,保证了渲染的帧率。
对于步骤S3,如图4所示,具体地,包括:
S301、根据显卡内的帧缓冲器排列,由上往下遍历帧缓冲器,直到找到读写互斥标记器为空闲状态且时间标记器时间值最晚的帧缓冲器;
S302、将该帧缓冲器的读写互斥标记器设置为读操作状态,然后读取图像数据输出至显示器;
S303、在完成读取图像数据后,将该帧缓冲器的读写互斥标记器设置为空闲状态,同时保持时间标记器的时间不变,保证了在屏幕刷新时还可以继续读取。
上述读操作过程,是以固定的帧率定时将最新(时间标记器时间值最晚)的帧缓冲器的图像数据发送至显示器,丢弃旧的帧缓冲器的图像数据(这些帧缓冲器被用来写入新的帧的图像数据);其中,帧率可以由本专利使用者根据实际情况设定。
在本发明的方法中,可以发现帧缓冲器不会再发生同时“读写”的现象,也就不会出现图像的水平撕裂现象;同时,由于设置多个帧缓冲,保证了显卡渲染的帧率,达到既能消除图像水平撕裂,又能保证图像渲染帧率的目的。
对应地,下面结合图5给出消除图像水平撕裂的***的具体实施例。
如图5所示,该***包括:至少三个分别设置有一个读写互斥标记器和一个时间标记器的帧缓冲器,写入单元,读取单元;
帧缓冲器用于储存显卡渲染的图像数据,且每个帧缓冲器的图像数据都可以被显示器读取;读写互斥标记器用于标记帧缓冲器当前是处于写操作、读操作还是空闲状态,时间标记器用于标记图像数据被写入所述帧缓冲器的完成时间;
其工作原理是:写入单元将读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器的读写互斥标记器设置为写操作状态,同时将图像数据写入该帧缓冲器,然后在写入所述图像数据完成时刻,将时间标记器设置为完成时刻的时间,同时将读写互斥标记器设置为空闲状态。
读取单元将时间标记器时间值最晚的帧缓冲器的读写互斥标记器设置为读操作状态,然后读取该4帧缓冲器中的图像数据输出至显示器,在读取所述图像数据完成时刻,将读写互斥标记器设置为空闲状态,同时保持时间标记器的值不变。
为了进一步清晰地描述本发明的***,以下阐述本发明***的较佳实施例。
该***还包括初始化模块,用于在初始状态时,将帧缓冲器的读写互斥标记器设置为空闲状态,将时间标记器设置为0。
对于写入单元,具体包括:图像数据生成模块,第一帧缓冲器查找模块,第一标记器设置模块,图像数据写入模块;
其工作原理是:图像数据生成模块生成图像数据;第一帧缓冲器查找模块根据显卡内的帧缓冲器排列,由上往下遍历帧缓冲器,直到找到读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器;第一标记器设置模块将该帧缓冲器的读写互斥标记器设置为写操作状态,同时图像数据写入模块将图像数据写入帧缓冲器;在完成写入图像数据过程后,第一标记器设置模块将时间标记器的时间值设置为完成时刻的时间,同时将读写互斥标记器设置为空闲状态。
对于读取单元,具体包括:第二帧缓冲器查找模块,第二标记器设置模块,图像数据读取模块;
其工作原理是:第二帧缓冲器查找模块根据显卡内的帧缓冲器排列,由上往下遍历帧缓冲器,直到找到读写互斥标记器为空闲状态且时间标记器时间值最晚的帧缓冲器;第二标记器设置模块将该帧缓冲器的读写互斥标记器设置为读操作状态,然后图像数据读取模块读取图像数据输出至显示器;在完成读取图像数据后,第二标记器设置模块将该帧缓冲器的读写互斥标记器设置为空闲状态,同时保持时间标记器的时间不变。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (8)
1.一种消除图像水平撕裂的方法,其特征在于,包括以下步骤:
S1、在显卡内部建立至少三个帧缓冲器,在每个所述帧缓冲器中分别设置一个读写互斥标记器和一个时间标记器;
所述读写互斥标记器标记的状态为写操作、读操作或空闲;
所述时间标记器标记的时间为写操作完成时刻的时间;
S2、将读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器的读写互斥标记器设置为写操作状态,同时将图像数据写入所述帧缓冲器,在写入所述图像数据完成后,将时间标记器时间值设置为写入完成时刻的时间,同时将所述读写互斥标记器设置为空闲状态;
S3、将时间标记器时间值最晚的帧缓冲器的所述读写互斥标记器设置为读操作状态,读取所述帧缓冲器中的图像数据输出至显示器,在读取所述图像数据完成后,将所述读写互斥标记器设置为空闲状态,同时保持所述时间标记器时间值不变。
2.根据权利要求1所述的消除水平图像撕裂的方法,其特征在于,所述步骤S1还包括:在初始状态时,将所述帧缓冲器的读写互斥标记器设置为空闲状态,将所述时间标记器设置为0。
3.根据权利要求1或2所述的消除水平图像撕裂的方法,其特征在于,所述S2具体包括:
S201、图像渲染进程生成图像数据;
S202、遍历所述帧缓冲器,找到读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器;
S203、将该帧缓冲器的读写互斥标记器设置为写操作状态,然后将所述图像数据写入帧缓冲器;
S204、在将所述图像数据写入该帧缓冲器完成时刻,将所述时间标记器的值设置为完成时刻的时间,同时将读写互斥标记器设置为空闲状态。
4.根据权利要求3所述的消除水平图像撕裂的方法,其特征在于,所述S3具体包括:
S301、遍历所述帧缓冲器,找到读写互斥标记器为空闲状态且时间标记器时间值最晚的帧缓冲器;
S302、将该帧缓冲器的读写互斥标记器设置为读操作状态,然后读取所述图像数据输出至显示器;
S303、在读取所述图像数据完成时刻,将该帧缓冲器的读写互斥标记器设置为空闲状态,同时保持时间标记器的值不变。
5.一种消除图像水平撕裂的***,其特征在于,包括:至少三个分别设置有一个读写互斥标记器和一个时间标记器的帧缓冲器,写入单元,读取单元;
所述帧缓冲器,用于储存显卡渲染的图像数据,每个帧缓冲器中的图像数据都可以被显示器读取;
所述读写互斥标记器,用于标记所述帧缓冲器是处于写操作、读操作或空闲状态;
所述时间标记器,用于标记所述图像数据被写入所述帧缓冲器的完成时刻时间;
所述写入单元,用于将读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器的读写互斥标记器设置为写操作状态,同时将图像数据写入所述帧缓冲器,在写入所述图像数据完成时刻,将时间标记器时间值设置为完成时刻时间,同时将所述读写互斥标记器设置为空闲状态;
所述读取单元,用于将时间标记器时间值最晚的所述帧缓冲器的所述读写互斥标记器设置为读操作状态,读取所述帧缓冲器中的图像数据输出至显示器,在读取所述图像数据完成时刻,将所述读写互斥标记器设置为空闲状态,同时保持所述时间标记器时间值不变。
6.根据权利要求5所述的消除水平图像撕裂的***,其特征在于,还包括初始化模块;
所述初始化模块,用于在初始状态时,将所述帧缓冲器的读写互斥标记器设置为空闲状态,将所述时间标记器设置为0。
7.根据权利要求5或6所述的消除水平图像撕裂的***,其特征在于,所述写入单元具体包括:图像数据生成模块,第一帧缓冲器查找模块,第一标记器设置模块,图像数据写入模块;
所述图像数据生成模块,用于生成图像数据;
所述第一帧缓冲器查找模块,用于遍历所述帧缓冲器,找到读写互斥标记器为空闲状态且时间标记器最早的帧缓冲器;
所述第一标记器设置模块,用于设置所述读写互斥标记器和时间标记器的值;
所述图像数据写入模块,用于将所述图像数据写入帧缓冲器。
8.根据权利要求7所述的消除水平图像撕裂的***,其特征在于,所述读取单元具体包括:第二帧缓冲器查找模块,第二标记器设置模块,图像数据读取模块;
所述第二帧缓冲器查找模块,用于遍历所述帧缓冲器,找到装载有图像数据的、读写互斥标记器为空闲状态且时间标记器的值最晚的帧缓冲器;
所述第二标记器设置模块,用于设置所述读写互斥标记器和时间标记器的值;
所述图像数据读取模块,用于读取所述图像数据输出至显示器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110078691 CN102207839B (zh) | 2011-03-30 | 2011-03-30 | 消除图像水平撕裂的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110078691 CN102207839B (zh) | 2011-03-30 | 2011-03-30 | 消除图像水平撕裂的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102207839A true CN102207839A (zh) | 2011-10-05 |
CN102207839B CN102207839B (zh) | 2013-08-21 |
Family
ID=44696693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110078691 Expired - Fee Related CN102207839B (zh) | 2011-03-30 | 2011-03-30 | 消除图像水平撕裂的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102207839B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748439A (zh) * | 2017-10-19 | 2018-03-02 | 成都虚拟世界科技有限公司 | 一种显示控制方法及头戴显示设备 |
CN110148391A (zh) * | 2019-03-29 | 2019-08-20 | 珠海亿智电子科技有限公司 | 一种避免图像显示撕裂的方法和终端设备 |
CN110618802A (zh) * | 2019-10-31 | 2019-12-27 | 睿思半导体(重庆)有限公司 | 显示适配方法及无帧缓存的显示适配装置 |
CN114153416A (zh) * | 2021-11-27 | 2022-03-08 | 深圳曦华科技有限公司 | 一种显示控制的方法及相关装置 |
CN115103229A (zh) * | 2022-06-22 | 2022-09-23 | 深圳市腾客科技有限公司 | 一种高帧率视频的实时显示方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538736A (zh) * | 2003-04-18 | 2004-10-20 | 成都威斯达芯片有限责任公司 | 视频信号处理中图像帧/场频率变换的方法 |
US20060170691A1 (en) * | 2005-01-28 | 2006-08-03 | Ruen-Rone Lee | Apparatus and method for frame buffer control |
CN101266761A (zh) * | 2007-03-16 | 2008-09-17 | 联发科技股份有限公司 | 存取存储器缓冲器的方法以及图像显示方法与*** |
-
2011
- 2011-03-30 CN CN 201110078691 patent/CN102207839B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538736A (zh) * | 2003-04-18 | 2004-10-20 | 成都威斯达芯片有限责任公司 | 视频信号处理中图像帧/场频率变换的方法 |
US20060170691A1 (en) * | 2005-01-28 | 2006-08-03 | Ruen-Rone Lee | Apparatus and method for frame buffer control |
CN101266761A (zh) * | 2007-03-16 | 2008-09-17 | 联发科技股份有限公司 | 存取存储器缓冲器的方法以及图像显示方法与*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748439A (zh) * | 2017-10-19 | 2018-03-02 | 成都虚拟世界科技有限公司 | 一种显示控制方法及头戴显示设备 |
CN110148391A (zh) * | 2019-03-29 | 2019-08-20 | 珠海亿智电子科技有限公司 | 一种避免图像显示撕裂的方法和终端设备 |
CN110618802A (zh) * | 2019-10-31 | 2019-12-27 | 睿思半导体(重庆)有限公司 | 显示适配方法及无帧缓存的显示适配装置 |
CN114153416A (zh) * | 2021-11-27 | 2022-03-08 | 深圳曦华科技有限公司 | 一种显示控制的方法及相关装置 |
CN114153416B (zh) * | 2021-11-27 | 2024-02-23 | 深圳曦华科技有限公司 | 一种显示控制的方法及相关装置 |
CN115103229A (zh) * | 2022-06-22 | 2022-09-23 | 深圳市腾客科技有限公司 | 一种高帧率视频的实时显示方法 |
CN115103229B (zh) * | 2022-06-22 | 2023-03-14 | 深圳市腾客科技有限公司 | 一种高帧率视频的实时显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102207839B (zh) | 2013-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102207839B (zh) | 消除图像水平撕裂的方法及*** | |
CN101976183B (zh) | 一种多窗口图像同时更新时图像更新的方法及装置 | |
CN100592379C (zh) | 利用视频帧缓冲器翻转队列在缓冲器之间进行切换的装置和方法 | |
CN101601084B (zh) | 图像显示装置以及图像显示方法 | |
US20170148422A1 (en) | Refresh control method and apparatus of display device | |
CN102004620B (zh) | 一种图像更新方法及装置 | |
WO2006113905A3 (en) | Displaying and image using memory control unit | |
CN100385498C (zh) | 液晶显示板控制装置、控制方法以及液晶显示设备 | |
CN102473393B (zh) | 显示装置 | |
CN101980072A (zh) | 基于Android***的电子墨水屏刷新控制***及方法 | |
CN104063198A (zh) | 一种多屏同步字幕叠加的方法和设备 | |
CN103021378A (zh) | 一种多屏拼接显示装置和方法 | |
CN104363508A (zh) | 一种防止视频回退的图像拼接方法及装置 | |
CN103617031A (zh) | 图像渲染的方法和装置 | |
TW201028994A (en) | Device and method for controlling input/output frame | |
CN106293578A (zh) | 显卡、图像显示装置、图像显示方法和*** | |
RU2015140694A (ru) | Система для визуализации данных | |
WO2006041094A1 (ja) | 矩形画像描画装置、矩形画像描画方法、及び集積回路 | |
WO2006041094A3 (ja) | 矩形画像描画装置、矩形画像描画方法、及び集積回路 | |
CN102663987B (zh) | 双路视频信号的显示驱动方法及其装置 | |
CN101448055A (zh) | 显示控制装置以及使用了它的图像形成装置 | |
JP2004320215A5 (zh) | ||
US8305384B2 (en) | System and method for storing and accessing pixel data in a graphics display device | |
CN101271357A (zh) | 写字板上内容记录方法及装置 | |
TWI426499B (zh) | 儲存及存取像素資料於圖形顯示裝置之系統及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 510670 Guangdong city of Guangzhou province Kezhu Guangzhou high tech Industrial Development Zone, Road No. 233 Patentee after: VTRON GROUP Co.,Ltd. Address before: 510663 Guangzhou province high tech Industrial Development Zone, Guangdong, Cai road, No. 6, No. Patentee before: VTRON TECHNOLOGIES Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130821 |