CN107783883B - 一种检测窗口是否被遮挡的方法 - Google Patents

一种检测窗口是否被遮挡的方法 Download PDF

Info

Publication number
CN107783883B
CN107783883B CN201710935520.5A CN201710935520A CN107783883B CN 107783883 B CN107783883 B CN 107783883B CN 201710935520 A CN201710935520 A CN 201710935520A CN 107783883 B CN107783883 B CN 107783883B
Authority
CN
China
Prior art keywords
window
measured
blocked
current
conversely
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
CN201710935520.5A
Other languages
English (en)
Other versions
CN107783883A (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.)
Ye Yamin
Original Assignee
Ye Yamin
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 Ye Yamin filed Critical Ye Yamin
Priority to CN201710935520.5A priority Critical patent/CN107783883B/zh
Publication of CN107783883A publication Critical patent/CN107783883A/zh
Application granted granted Critical
Publication of CN107783883B publication Critical patent/CN107783883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/268Signal distribution or switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种检测窗口是否被遮挡的方法,包括如下步骤:步骤1:遍历待测窗口的当前窗口Ai,检测单个当前窗口是否完全遮挡待测窗口,若是,则进入步骤2,反之,进入步骤3;步骤2:判断待测窗口被遮挡,检测完成;步骤3:检测多个当前窗口Ai是否完全遮挡待测窗口,若是,则进入步骤2,反之,进入步骤4;步骤4:判断待测窗口未被遮挡,检测完成。本发明无论是单个或多个当前窗口,均可判断待测窗口是否被遮挡,对于看不到画面的视频,暂停解码和渲染,反之则继续解码和渲染,从而降低了客户端对系统硬件或IPC分辨率等系统配置的要求。

Description

一种检测窗口是否被遮挡的方法
技术领域
本发明涉及一种检测窗口是否被遮挡的方法。
背景技术
安防行业里有种一体机,即硬件加监控软件组合的设备,监控软件运行在一体机上,常用的功能是播放监控画面,播放视频是客户端从前端设备,比如IPC中获取到视频码流数据,送入到播放库进行解码,然后渲染画面,这样才有画面出现。有时候一体机的硬件配置过低,或者IPC分辨率等配置较高,导致预览画面看着不流畅或者出现延时情况。一部分原因是一体机系统资源不足,影响了解码和渲染。
同样的,在安装有视频播放器的电脑、手机等智能设备中,也会出现由于智能设备系统资源不足从而导致画面看着不流畅或者出现延时情况。
针对播放视频的窗口隐藏的情况,这种方式比较常见,也比较好解决,当触发了窗口的隐藏事件时暂停解码,继而暂停渲染,当触发了窗口的显示事件时恢复解码和渲染。
但若播放视频的窗口(以下简称:待测窗口)被遮挡了,虽然窗口此时可能是显示的,但是画面看不到,这种情况比较棘手,目前并没有很好的解决方法。
发明内容
本发明提供了一种检测窗口是否被遮挡的方法,能够对待测窗口是否遮挡做出判断,从而在一定程度上缓解上述问题。
一种检测窗口是否被遮挡的方法,包括以下步骤:
步骤1:遍历待测窗口的当前窗口Ai(1≤i≤n;i,n∈正整数),检测单个当前窗口是否完全遮挡待测窗口,若是,则进入步骤2,反之,进入步骤3;
其中,所述的当前窗口为待测窗口的兄弟窗口和上层窗口;
步骤2:判断待测窗口被遮挡,检测完成;
即,若检测到窗口被遮挡,则暂停解码;
步骤3:检测多个当前窗口Ai是否完全遮挡待测窗口,若是,则进入步骤2,反之,进入步骤4;
进一步的,检测多个当前窗口Ai是否完全遮挡待测窗口的方法如下:
步骤3.1:获得当前窗口Ai的总面积其中,该当前窗口Ai为与待测窗口有重叠的窗口;
判断依次排序的当前窗口Ai,若首个窗口A1或末个窗口An未全部遮挡待测窗口,则进入步骤4;反之,进入步骤3.2;
步骤3.2:对当前窗口Ai进行两两判断,若任一两两之间无重叠,则进入步骤4;反之,判断并获得两两之间的重叠窗口Bj(1≤j≤m;j,m∈正整数),并获得重叠窗口Bj的面积之和
步骤3.3:对步骤3.2中获得的重叠窗口Bj进行两两判断,递归循环判断重叠窗口Bj的重叠区域,直至没有重叠;获得重叠区域递归判断后的总面积
步骤3.4:判断待测窗口的面积S是否大于若是,则进入步骤4;反之,进入步骤2。
步骤4:判断待测窗口未被遮挡,检测完成。
即,若检测到窗口未被遮挡,则继续解码。
本发明的有益效果:
通过本发明,无论是单个或多个当前窗口,均可判断待测窗口是否被遮挡,对于看不到画面的视频,暂停解码和渲染,反之则继续解码和渲染,从而降低了客户端对系统硬件或IPC分辨率等系统配置的要求。
附图说明
图1为本发明的方法流程图。
图2为当前窗口Ai的矩阵坐标图。
图3为待测窗口W的矩阵坐标图。
具体实施方式
如图1所示,一种检测窗口是否被遮挡的方法,包括如下步骤:
以当前窗口Ai(1≤i≤n;i,n∈正整数)的左上角为原点,记它的左上角坐标为(x1_Ai,y1_Ai),右上角坐标为(x2_Ai,y1_Ai),右下角坐标为(x2_Ai,y2_Ai),左下角坐标为(x1_Ai,y2_Ai);如图2所示。
记待测窗口W的左上角坐标为(x1_w,y1_w),右上角坐标为(x2_w,y1_w),右下角坐标为(x2_w,y2_w),左下角坐标为(x1_w,y2_w);如图2所示。
步骤(1):遍历待测窗口W的兄弟窗口和上层窗口,即当前窗口Ai,若该当前窗口Ai非子窗口,则进入步骤(2);
步骤(2):根据当前窗口Ai与待测窗口W的坐标值,判断待测窗口W是否被当前窗口Ai全部遮挡,若是,则进入步骤(3);反之,则进入步骤(4);
步骤(3):判断待测窗口W被遮挡,检测完成;即暂停解码;
步骤(4):将与待测窗口有重叠的当前窗口Ai的坐标保存在列表list_rect中并获得该列表中当前窗口Ai的总面积根据当前窗口Ai的x坐标值,由小到大依次对当前窗口Ai进行排序,若判断首个当前窗口A1的x1_A1值大于待测窗口W的x1_W值或末个窗口An的x2_An值小于待测窗口W的x2_W值,则进入步骤(5);反之,进入步骤(6);
步骤(5):判断待测窗口W未被遮挡,检测完成;即恢复解码;
步骤(6):对当前窗口Ai进行两两判断,若An-1的x2_An-1值小于An的x1_An值,则进入步骤(5);反之,进入步骤(7);
步骤(7):分别判断An的四个顶点,若An至少有一个顶点包含在An-1的区域中,则记录并保存An-1与An的重叠窗口Bj(1≤j≤m;j,m∈正整数),并将重叠窗口Bj的坐标保存在列表list_rect_overlap中,并获得重叠窗口总面积
其中,以An的左上角(x1_Ai,y1_Ai)为例,若满足:
x1_An-1≤x1_An≤x2_An-1且y2_An-1≤y1_An≤y1_An-1
则判断该顶点落入An-1的区域中;
步骤(8):对列表list_rect_overlap中的重叠窗口Bj进行两两判断,若判断重叠窗口Bj-1与Bj有重叠区域,则把重叠区域的坐标保存在新列表中,递归循环判断重叠窗口的重叠区域,直至没有重叠,判断方法与步骤(7)相同;获得重叠区域递归判断后的总面积(1≤k≤q;k,q∈正整数);
步骤(9):判断待测窗口W的面积S是否大于若是,则进入步骤(5);反之,进入步骤(3)。
步骤(9)即判断多个当前窗口Ai的总面积是否遮挡待测窗口W,若则表明没有遮挡,否则就是遮挡。
若判断为遮挡,则暂停解码,若判断为未遮挡,则继续解码。
更具体的来说,
本发明主要通过定时器循环检测窗口是否被遮挡,依据窗口的Z-order判断窗口是否是下层窗口,如果是下层窗口则肯定不会遮挡,没有意义,直接忽略,然后检测单个窗口是否遮挡,通过长度和宽度判断,再检测多个窗口拼接后是否遮挡,通过面积的大小判断。主要代码部分如下:
a)检测单个窗口是否遮挡:
b)检测多个窗口拼接后是否遮挡:
伪代码如下:
其中OverlapArea方法定义如下
//返回dsRect重叠的面积,rcRect是返回重叠的矩形列表
long CMyWidget::OverlapArea(list_Rect&rcRect,const list_Rect&dsRect)。其中:
兄弟窗口:即与当前窗口有同一个父窗口的窗口。
上层窗口:即父窗口以及父窗口的上层窗口。
子窗口:即窗口的父窗口为当前窗口的窗口。
父窗口:即直接的上层窗口,中间无其他窗口。
以上公开的仅为本发明的实施例,但是本发明并非局限于此,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。显然这些改动和变型均应属于本发明要求的保护范围保护内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何特殊限制。

Claims (3)

1.一种检测窗口是否被遮挡的方法,包括如下步骤:
步骤1:遍历待测窗口的当前窗口Ai,检测单个当前窗口是否完全遮挡待测窗口,若是,则进入步骤2,反之,进入步骤3;
步骤2:判断待测窗口被遮挡,检测完成;
步骤3:检测多个当前窗口Ai是否完全遮挡待测窗口,若是,则进入步骤2,反之,进入步骤4;
步骤4:判断待测窗口未被遮挡,检测完成;
其中,所述的步骤3包括:
步骤3.1:获得当前窗口Ai的总面积其中,该当前窗口Ai为与待测窗口有重叠的窗口;
判断依次排序的当前窗口Ai,若首个窗口A1或末个窗口An未全部遮挡待测窗口,则进入步骤4;反之,进入步骤3.2;
步骤3.2:对当前窗口Ai进行两两判断,若任一两两之间无重叠,则进入步骤4;反之,判断并获得两两之间的重叠窗口Bj,并获得重叠窗口Bj的面积之和
步骤3.3:对步骤3.2中获得的重叠窗口Bj进行两两判断,递归循环判断重叠窗口Bj的重叠区域,直至没有重叠;获得重叠区域递归判断后的总面积
步骤3.4:判断待测窗口的面积S是否大于若是,则进入步骤4;反之,进入步骤2;
其中,1≤j≤m;j,m∈正整数;
1≤i≤n;i,n∈正整数;
1≤k≤q;k,q∈正整数。
2.根据权利要求1所述的检测窗口是否被遮挡的方法,其特征在于:所述的当前窗口为待测窗口的兄弟窗口和上层窗口。
3.根据权利要求1所述的检测窗口是否被遮挡的方法,其特征在于:通过坐标值比对对两两之间的窗口进行判断是否重叠。
CN201710935520.5A 2017-10-10 2017-10-10 一种检测窗口是否被遮挡的方法 Active CN107783883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710935520.5A CN107783883B (zh) 2017-10-10 2017-10-10 一种检测窗口是否被遮挡的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710935520.5A CN107783883B (zh) 2017-10-10 2017-10-10 一种检测窗口是否被遮挡的方法

Publications (2)

Publication Number Publication Date
CN107783883A CN107783883A (zh) 2018-03-09
CN107783883B true CN107783883B (zh) 2018-11-16

Family

ID=61434271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710935520.5A Active CN107783883B (zh) 2017-10-10 2017-10-10 一种检测窗口是否被遮挡的方法

Country Status (1)

Country Link
CN (1) CN107783883B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111263231B (zh) * 2018-11-30 2022-07-15 西安诺瓦星云科技股份有限公司 窗口设置方法、装置、系统和计算机可读介质
CN110471731B (zh) * 2019-08-09 2022-08-05 网易(杭州)网络有限公司 显示界面绘制方法、装置、电子设备及计算机可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645320A (zh) * 2005-01-31 2005-07-27 浙江大学 确定图形用户界面中窗口剪切关系的方法
CN101334725A (zh) * 2007-06-29 2008-12-31 联想(北京)有限公司 提高窗口显示性能的方法与装置
CN106303583A (zh) * 2016-08-19 2017-01-04 浙江宇视科技有限公司 基于图像动态缩放的图像数据传输带宽分配方法及装置
CN106649369A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 窗口显示的调整方法及装置
CN106681583A (zh) * 2016-12-02 2017-05-17 广东威创视讯科技股份有限公司 重叠窗口中显示内容的处理方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645320A (zh) * 2005-01-31 2005-07-27 浙江大学 确定图形用户界面中窗口剪切关系的方法
CN101334725A (zh) * 2007-06-29 2008-12-31 联想(北京)有限公司 提高窗口显示性能的方法与装置
CN106649369A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 窗口显示的调整方法及装置
CN106303583A (zh) * 2016-08-19 2017-01-04 浙江宇视科技有限公司 基于图像动态缩放的图像数据传输带宽分配方法及装置
CN106681583A (zh) * 2016-12-02 2017-05-17 广东威创视讯科技股份有限公司 重叠窗口中显示内容的处理方法和系统

Also Published As

Publication number Publication date
CN107783883A (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
US9134878B2 (en) Device and method for secure user interface gesture processing using processor graphics
US8305188B2 (en) System and method for logging in multiple users to a consumer electronics device by detecting gestures with a sensory device
CN107783883B (zh) 一种检测窗口是否被遮挡的方法
CN107480502A (zh) 指纹识别方法、装置、移动终端及存储介质
CN107066174A (zh) 浮层显示方法、装置及用户终端
EP3215915B1 (en) User terminal device and method for controlling user terminal device thereof
CN105573586A (zh) 终端设备的防误操作方法及装置
US20180159971A1 (en) Method and apparatus for generating unlocking interface, and electronic device
CN106488133A (zh) 一种运动对象的检测方法及移动终端
CN112691381B (zh) 虚拟场景的渲染方法、装置、设备及计算机可读存储介质
CN110209326B (zh) 一种截图方法、装置、折叠屏设备及存储介质
CN110865753B (zh) 应用消息的通知方法及装置
CN102930852A (zh) 通过动态调节屏幕刷新率来提高移动终端系统性能的方法
US9798437B2 (en) Information processing method and electronic device
CN107018137A (zh) 一种Flash重定向方法及装置
Bochem et al. Hardware acceleration of blob detection for image processing
CN105893908B (zh) 二维码图片识别方法及装置
WO2014033885A1 (ja) 画像処理装置、画像処理方法および画像処理プログラム
Corso et al. The 4D Touchpad: Unencumbered HCI With VICs
CN112286429B (zh) 电子设备的控制方法、控制装置和电子设备
CN107358117B (zh) 一种切换方法、电子设备和计算机存储介质
CN105511759A (zh) 一种图片处理方法及电子设备
CN114612321A (zh) 视频处理方法、装置以及设备
AU2008264173A1 (en) Splitting a single video stream into multiple viewports based on face detection
CN114089868A (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