当前位置: 首页 > 专利查询>山东大学专利>正文

一种基于Android终端根据不同接口自动调整分辨率的系统及方法技术方案

技术编号:14032906 阅读:44 留言:0更新日期:2016-11-20 11:39
本发明专利技术涉及一种基于Android终端根据不同接口自动调整分辨率的系统及方法,包括最大分辨率获取模块、传输模块、Android系统属性创建模块、选择模块、设置模块,本发明专利技术根据Android终端连接的不同接口而输出不同的分辨率,使Android系统能够在连接VGA接口时能输出VGA接口芯片所能处理的最高分辨率,同理当连接HDMI接口时,Android系统能输出HDMI接口芯片所能处理的最高分辨率。完全避免了接口芯片把高分辨率的信号处理成低分辨率的信号,导致显示模糊的问题,真正达到改善显示效果,提高用户体验的目的。

System and method for automatically adjusting resolution based on different interface based on Android terminal

The invention relates to a system based on the Android terminal according to the different interface and automatically adjust the resolution of the method, including the maximum resolution acquisition module, transmission module, Android module, system attributes selection module, a setting module, according to the Android terminal connected with the interface and output of different resolution, the Android system can have the highest resolution can output VGA interface chip in VGA interface connection, as HDMI interface connection, Android system can the highest resolution can output HDMI interface chip. The invention avoids the problem that the high resolution signal is processed into a low resolution signal by the interface chip, which leads to the problem of fuzzy display, and achieves the purpose of improving the display effect and improving the user experience.

【技术实现步骤摘要】

:本专利技术涉及一种基于Android终端根据不同接口自动调整分辨率的系统及方法,属于信息处理

技术介绍
:随着Android操作系统不断的发展,Android技术得到了很大的提高和完善,如今Android系统已经不仅局限于移动终端,各种Android盒子已被人们搬上桌面,试图与笨重的传统PC主机分一杯羹,凭借其轻便以及超高的性价比的优势,Android盒子在市场上迅速普及,由于市场上存在多种接口的主流显示器(比如VGA、HDMI接口显示器),因此很多Android盒子也做了多种接口。这样就带来了一个问题,每种接口芯片处理输出的分辨率不都一样,比如HDMI接口芯片能最高处理1920×1080P的分辨率,然后出于对成本的控制,厂商把VGA接口芯片做成最高能处理1280×720P的分辨率,一方面当厂商让Android系统输出1920×1080P的分辨率时,连接HDMI接口时能完美呈现画面,但当连接VGA接口时,接口芯片将1920×1080P的分辨率信号处理成1280×720P的分辨率信号,用抽样算法将高分辨率信号处理成低分辨率信号输出显示时,会造成显示模糊;另一方面当厂商让Android系统输出1280×720P的分辨率时,VGA能相对清晰的显示,但HDMI却达不到最高分辨率输出,达不到提升用户体验的效果。
技术实现思路
针对现有技术的不足,本专利技术提供了一种基于Android终端根据不同接口自动调整分辨率的系统;本专利技术还提供了一种基于Android终端根据不同接口自动调整分辨率的方法;本专利技术根据Android终端连接的不同接口而输出不同的分辨率,使Android系统能够在连接VGA接口时能输出VGA接口芯片所能处理的最高分辨率,同理当连接HDMI接口时,Android系统能输出HDMI接口芯片所能处理的最高分辨率。完全避免了接口芯片把高分辨率的信号处理成低分辨率的信号,导致显示模糊的问题,真正达到改善显示效果,提高用户体验的目的。本专利技术的技术方案为:一种基于Android终端根据不同接口自动调整分辨率的系统,包括最大分辨率获取模块、传输模块、Android系统属性创建模块、选择模块、设置模块,所述最大分辨率获取模块、所述传输模块、所述选择模块依次连接,所述Android系统属性创建模块连接所述选择模块,所述选择模块、所述设置模块、所述Android系统属性创建模块依次连接;所述最大分辨率获取模块通过Android终端系统内核中的接口芯片的驱动获取最高分辨率;并将获取的最高分辨率通过传输模块由内核空间传输到用户空间,以便设置最终输出分辨率;所述Android系统属性创建模块添加一个代表最终输出分辨率的Android系统属性,并为Android系统属性设置分辨率初始值;所述选择模块用于比较获取的最高分辨率与Android系统属性创建模块的分辨率初始值,如果获取的最高分辨率小于Android系统属性创建模块的分辨率初始值,则将Android系统属性创建模块的分辨率值设置为获取的最高分辨率,避免接口芯片将Android系统的高分辨率输出处理成低分辨率,否则,保持Android系统属性创建模块的分辨率初始值不变;所述设置模块用于:当Android系统需要最终输出分辨率参数时,读取代表最终输出分辨率的Android系统属性创建模块的值,并进行设置。一种基于上述系统根据不同接口自动调整分辨率的方法,具体步骤包括:(1)利用所述Android系统属性创建模块添加一个代表最终输出分辨率的Android系统属性,所述Android系统属性设置分辨率初始值:在Android系统中,用android/os/下的SystemProperties类创建所述Android系统属性,并分别用SystemProperties_set和SystemProperties_get接口来修改和获取所述Android系统属性的值;(2)通过Android终端系统内核中相应的芯片驱动程序获取接口芯片所能处理的最高分辨率;(3)将步骤(2)获取的接口芯片所能处理的最高分辨率写入到由FrameBuffer驱动在/dev目录下生成的设备文件中,相应的芯片驱动程序将芯片的控制寄存器映射到物理内存空间,用户空间通过mmap将物理内存空间中该控制寄存器对应内存的I/O映射到进程地址空间;从而可以直接访问;(4)在硬件抽象层HAL中读取步骤(3)所述设备文件中的接口芯片所能处理的最高分辨率,打开步骤(3)所述设备文件,利用FrameBuffer设备提供的ioctl命令,所述ioctl命令包括FBIOGET_FSCREENINFO和FBIOGET_VSCREENINFO,FBIOGET_FSCREENINFO返回与Framebuffer设备有关的固定的信息,包括图形硬件上实际的帧缓存空间的大小、能否硬件加速;FBIOGET_FSCREENINFO返回的是与Framebuffer设备有关的可变信息,包括Framebuffer的长度、宽度以及颜色深度;获得显示设备的固定信息以及与显示模式相关的可变信息,所述显示设备的固定信息包括显示内存大小、显示设备无关的颜色映射信息、屏幕缓冲区的物理地址和长度,所述与显示模式相关的可变信息包括分辨率、像素结构、每扫描线的字节宽度、每一个像素显示缓冲区的组织方式,以及位域长度和MSB指示;(5)获取步骤(1)中所述Android系统属性的分辨率初始值;(6)判断所述Android系统属性的分辨率初始值是否大于接口芯片所能处理的最高分辨率,如果大于,则进入步骤(7),否则,进入步骤(8);(7)将所述Android系统属性的值设置为接口芯片所能处理的最高分辨率;(8)读取所述Android系统属性的值并控制分辨率输出。根据本专利技术优选的,所述步骤(2),当接口芯片为VGA时,具体步骤包括:a、VGA芯片驱动程序获取RAMDAC模数转换器的RAMDAC的频率,RAMDAC模数转换器的RAMDAC的频率是固定的,将RAMDAC的频率存放在VGA显卡的BIOS中;RAMDAC频率,是指单位时间内由数字信号转化成模拟信号的像素的个数,单位为MHZ;b、读取RAMDAC的频率的值F,当F≥158MHZ时,获取接口芯片所能处理的最高分辨率为1920×1080P,当110MHZ≤F≤158MHZ时,获取接口芯片所能处理的最高分辨率为1600×900P,当70MHZ≤F≤110MHZ时,获取接口芯片所能处理的最高分辨率为1280×720P;c、将获取的接口芯片所能处理的最高分辨率以参数的形式传递给相应的VGA芯片驱动程序。根据本专利技术优选的,所述步骤(2),当接口芯片为HDMI时,获取接口芯片所能处理的最高分辨率为1920×1080P。影响接口芯片所能处理的最高分辨率的因素主要是GPU(显示芯片)的性能、显存(显存的大小和显存的速度),对于VGA接口来说还有RAMDAC(Random Access Memory Digital-to-Analog Converter随机数模转换记忆体)频率。随着GPU的发展,一般的GPU都能处理到1920×1080P的分辨率,因此GPU性能目前已经不是限制分辨率输出的一个瓶颈。目前主流显卡的显存容量本文档来自技高网...
一种基于Android终端根据不同接口自动调整分辨率的系统及方法

【技术保护点】
一种基于Android终端根据不同接口自动调整分辨率的系统,其特征在于,包括最大分辨率获取模块、传输模块、Android系统属性创建模块、选择模块、设置模块,所述最大分辨率获取模块、所述传输模块、所述选择模块依次连接,所述Android系统属性创建模块连接所述选择模块,所述选择模块、所述设置模块、所述Android系统属性创建模块依次连接;所述最大分辨率获取模块通过Android终端系统内核中的接口芯片的驱动获取最高分辨率;并将获取的最高分辨率通过传输模块由内核空间传输到用户空间;所述Android系统属性创建模块添加一个代表最终输出分辨率的Android系统属性,并为Android系统属性设置分辨率初始值;所述选择模块用于比较获取的最高分辨率与Android系统属性创建模块的分辨率初始值,如果获取的最高分辨率小于Android系统属性创建模块的分辨率初始值,则将Android系统属性创建模块的分辨率值设置为获取的最高分辨率,否则,保持Android系统属性创建模块的分辨率初始值不变;所述设置模块用于:当Android系统需要最终输出分辨率参数时,读取代表最终输出分辨率的Android系统属性创建模块的值,并进行设置。...

【技术特征摘要】
1.一种基于Android终端根据不同接口自动调整分辨率的系统,其特征在于,包括最大分辨率获取模块、传输模块、Android系统属性创建模块、选择模块、设置模块,所述最大分辨率获取模块、所述传输模块、所述选择模块依次连接,所述Android系统属性创建模块连接所述选择模块,所述选择模块、所述设置模块、所述Android系统属性创建模块依次连接;所述最大分辨率获取模块通过Android终端系统内核中的接口芯片的驱动获取最高分辨率;并将获取的最高分辨率通过传输模块由内核空间传输到用户空间;所述Android系统属性创建模块添加一个代表最终输出分辨率的Android系统属性,并为Android系统属性设置分辨率初始值;所述选择模块用于比较获取的最高分辨率与Android系统属性创建模块的分辨率初始值,如果获取的最高分辨率小于Android系统属性创建模块的分辨率初始值,则将Android系统属性创建模块的分辨率值设置为获取的最高分辨率,否则,保持Android系统属性创建模块的分辨率初始值不变;所述设置模块用于:当Android系统需要最终输出分辨率参数时,读取代表最终输出分辨率的Android系统属性创建模块的值,并进行设置。2.一种基于权利要求1所述的系统根据不同接口自动调整分辨率的方法,其特征在于,具体步骤包括:(1)利用所述Android系统属性创建模块添加一个代表最终输出分辨率的Android系统属性,所述Android系统属性设置分辨率初始值:在Android系统中,用android/os/下的SystemProperties类创建所述Android系统属性,并分别用SystemProperties_set和SystemProperties_get接口来修改和获取所述Android系统属性的值;(2)通过Android终端系统内核中相应的芯片驱动程序获取接口芯片所能处理的最高分辨率;(3)将步骤(2)获取的接口芯片所能处理的最高分辨率写入到由FrameBuffer驱动在/dev目录下生成的设备文件中,相应的芯片驱动程序将芯片的控制寄存器映射到物理内存空间,用户空间通过mmap将物理内存空间中该控制寄存器对应内存的I/O映射到进程地址空间;(4)在硬件抽象层HAL中读取步骤(3)所述设备文件中的接口芯片所能处理的最高分辨率,打开步骤(3)所述设备文件,利用FrameBuffer设备提供的ioctl命令...

【专利技术属性】
技术研发人员:袁东风张浪
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1