CN101369256A - 一种实现全屏预览的方法 - Google Patents

一种实现全屏预览的方法 Download PDF

Info

Publication number
CN101369256A
CN101369256A CNA200710120273XA CN200710120273A CN101369256A CN 101369256 A CN101369256 A CN 101369256A CN A200710120273X A CNA200710120273X A CN A200710120273XA CN 200710120273 A CN200710120273 A CN 200710120273A CN 101369256 A CN101369256 A CN 101369256A
Authority
CN
China
Prior art keywords
data
driver
camera
preview
screen preview
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.)
Pending
Application number
CNA200710120273XA
Other languages
English (en)
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.)
Techfaith Wireless Technology (Beijing) Ltd.
Original Assignee
China Techfaith Wireless Communication Technology Ltd
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 China Techfaith Wireless Communication Technology Ltd filed Critical China Techfaith Wireless Communication Technology Ltd
Priority to CNA200710120273XA priority Critical patent/CN101369256A/zh
Publication of CN101369256A publication Critical patent/CN101369256A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开一种实现全屏预览的方法,应用于支持基于Windows CE的嵌入式设备,用于图像的预览和处理。包括照相手机,PDA掌上电脑,游戏机,可视电话等带有摄像功能的设备。本发明通过直接访问显示的驱动程序得到数据,具体来说它直接访问照相机驱动程序得到数据。本发明能解决现有技术中手机预览帧率很低,拍照时间过长,CPU占用率高导致程序响应滞后的问题,使得用户使用全屏预览功能更加方便,响应更快,提高系统的反应速度。

Description

一种实现全屏预览的方法
技术领域
本发明应用于支持基于Windows CE的嵌入式设备,用于图像的预览和处理。包括照相手机,PDA掌上电脑,游戏机,可视电话等带有摄像功能的设备。
背景技术
Windows 是微软推出的新一代手机操作系统平台,这一智能手机电话解决方案提供了丰富的多媒体功能。尤其手机上的照相机已经发展到了百万像素的级别,几乎可以和低端的数码相机媲美。在这样的发展趋势下手机的照相机实现与数码相机同样全屏预览的效果能给用户带来全新的数码体验,这也是市场发展的趋势。
然而在Windows CE(Windows CE是为各种嵌入式系统和产品设计的一种压缩的、具有高效的、可升级的操作系统)中,按照传统微软DirectShow(直接显示中间件,是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,DirectShow广泛地支持各种媒体格式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒体数据的回放变得轻而易举)的解决方案在PXA27X(Intel处理器一种)系列嵌入式嵌入式微处理速度基础上还很难达到流畅清晰的效果。因此提出了非DirectShow的照相机的全屏解决方案。
传统DirectShow解决的方案简介:
DirectShow是一个微软的中间件,它能够提供对音视频媒体的回放和捕捉功能。DirectShow提供了API接口函数,通过这些函数可以从流设备比如照相机设备,直接回放录制的内容。这个中间件支持多种图像格式,支持照相机等硬件设备,支持编码解码。因此,传统的照相机预览解决方案都是通过DirectShow实现的,无论是图像的预览,还是视频的编码解码都是这样。在这样的模式下,要实现全屏预览和预览时半透明的菜单和图标效果只能在通过DirectShow提供的接口扩展这些功能。
如图1所示,要显示一个图像只需要增加一个用户定制的过滤器116(User Custom Filter),来实现图像和菜单按钮的合成数据。然后再传给DirectShow的视频显示部件110(Video Render)去显示。
在上述过程中,应用程序只能操作DirectShow提供的接口,实际的图像处理和显示都是DirectShow实现的。应用程序无法直接操作照相机和显示屏的驱动程序。因此,无法对摄像和显示实现优化,这样在效率上是比较差的,尤其是随着图像分辨率的增大,性能问题则更加的突出,因此在现有技术中就会存在预览帧率很低,拍照时间过长,CPU占用率高导致程序响应滞后等一系列问题。
发明内容
针对上述缺陷,本发明解决的技术问题在于,提供一种实现全屏预览的方法,能解决现有技术中预览帧率很低,拍照时间过长,CPU占用率高导致程序响应滞后的问题,使得用户使用全屏预览功能更加方便,响应更快,提高系统的反应速度。
本发明是一种实现全屏预览的方法,它通过直接访问显示的驱动程序得到数据。
所述的一种实现全屏预览的方法,于它直接访问照相机驱动程序得到数据。
所述的一种实现全屏预览的方法,其直接访问显示的驱动程序包括以下步骤:
照相机应用程序向缓冲区写入数据;
数据传到DMA;
LCD控制器获得数据;
将图像显示在显示屏上。
所述的一种实现全屏预览的方法,其照相机应用程序向显示的第一层缓冲区写入数据。
所述的一种实现全屏预览的方法,其照相机应用程序向显示的第二层缓冲区写入数据。
所述的一种实现全屏预览的方法,其照相机应用程序向显示的底层缓冲区写入数据。
所述的一种实现全屏预览的方法,它直接访问照相机驱动程序得到数据包括以下步骤:
打开照相机设备;
打开预览数据流传输设备和负责静态图像数据传输的设备;
初始化流并传送消息句柄;
分配空间并传给驱动程序;
把分配的空间入队列;
启动设备;
等待消息队列的消息进而得到图像数据的地址;
读取图像并归还缓冲区。
附图说明
图1是传统的DSHOW的解决方案;
图2是非DSHOW的解决方案;
图3是从驱动程序得到数据的流程图;
图4是应用程序的操作的示意图;
101:照相机驱动(Camera Driver);
102:视频流过滤器(Video Capture Filter);
103:智能分流(Smart Tee);
104,105,106:颜色空间转换器(Color Space Converter);
107:缓冲过滤器(Buffer Filter);
108:封装的多媒体组件(DMO Wrapper MultiPlexer);
109:写文件模块(File Writer);
110:视频显示部件(Video Renderer);
111:图像接收器(Image Sink);
112:LCD显示(LCD Display);
113:音频驱动(Audio Driver);
114:音频过滤器(Audio Capture Filter);
210:菜单图标;220:驱动程序;230:预览;240:静态图像;250:改变大小;260:扩展接口;270:显示驱动,其中包括显示底层(base),显示第一层(Overlay 1),显示第二层(Overlay 2);
310:打开照相机设备;320:打开两个PIN设备;330:初始化流并传送消息句柄;340:分配空间并传给驱动程序;350:把分配的空间入队列;360:启动PIN;370:等待消息队列的消息,进而得到图像数据的地址;380:读取图像并归还缓冲区;
410:照相机应用程序;420:向第一层显示缓冲区或底层显示缓冲区写入数据;430:或第二层显示缓冲区;440:直接内存访问控制其DMA;
450:LCD控制器获得数据;
460:将图像显示在显示屏上。
具体实施方式
为了解决上述传统方案中存在的问题,本发明提出了非DirectShow的照相机全屏预览的解决方案。下面结合附图对本发明做一个说明。
本发明通过直接访问照相机驱动程序,得到驱动程序送来的原始数据。基于DriectShow的驱动程序也是一个不太标准的流设备驱动程序,通过一系列操作,就可以从照相机的驱动程序中得到图像数据和控制照相机设备。
本发明通过直接访问显示驱动程序(绕过DirectShow),显示驱动程序属于典型的本地驱动程序,微软提供了接口访问显示的缓冲区和导出函数接口以便扩展功能。本发明通过把要显示的数据直接压入(DirectPush)显示缓冲区就可以显示了,从而性能得到提升。
本发明通过对显示驱动程序进行功能扩展,即实现OverLay的驱动程序(如图2)。Overlay是多媒体处理器所具有的一种分层显示的功能,即不同类型的数据可以分层显示,每层都有单独的缓冲区,需要哪层的图像只需要改变相应层的缓冲区数据即可。多层图像的叠加是由硬件完成的,这在现有技术中已经存在。因此经过直接访问照相机的驱动程序,直接访问显示驱动程序,同时对显示驱动程序进行功能扩展,就完全掌握了对图像的处理控制权,需要哪层的图像只需要改变相应层的缓冲区数据即可。
通过上面方法的改进,就完全掌握了对图像的处理控制权,因此在具体实现上就可以对一些细节的问题进行改进。如拍照处理,现有技术中传统的方法要把数据压缩成JPEG图像,然后再显示JPEG图像,这样便经过了压缩和解压缩的过程,效率低。在本发明中只需要把得到的数据改变一下尺寸大小(Resize),数据格式不变就可以在Overlay上显示了。如果是录像的话,系统将从驱动得到的数据一边送显示第二层(overlay 2)显示,一边调用第三方的编码器进行编码,这样可以在很大程度上降低CPU的占用率,提高录像速度。
如图2所示,使用本发明的方法,通常将菜单图标210放在底层(base)或者显示的第一层(Overlay 1),通过照相机的驱动程序220会得到两种图像数据,一种是拍照之前的预览图像数据230,一种是拍照后得到的静态图像数据240。如果是拍照之前的预览图像数据230,系统通过扩展接口260,将其显示在显示第二层(Overlay 2);如果是拍照后得到的静态图像数据240,系统先将得到的静态图像数据改变一下尺寸大小250,然后通过扩展接口260,数据格式不变就可以直接在第二层(Overlay 2)上显示了。如果是录像的话,系统将从驱动得到的图像数据改变一下尺寸大小,然后通过扩展接口,数据格式不变就直接在第二层(Overlay 2)上显示了,一边调用第三方的编码器进行编码,这样可以在很大程度上降低CPU的占用率,提高录像速度。
上述的方法,在试验条件是windows mobile平台,硬件配置是intelPXA270 312MHZ,64M SDRAM,试验结果如下:
1.QVGA(320×240)分辨率:达到了15帧以上的预览和软件编码视频效果。在现有技术中通常只能达到7帧或7帧左右的预览和软件编码视频效果。
2.200万的照片拍照,从按下拍照键到回显照片只需一秒多。此时已完成图像的JPEG压缩。现有技术中从按下拍照键到回显照片通常需要3秒多.
从试验数据可以看出,本发明提高了效率,使产品获得了良好的性能。
为更好的说明本发明,下面结合图3和图4来对本发明作进一步的说明。
现有技术中微软提供的照相机的驱动程序的模型是一个不太标准的流接口驱动程序,因此,通常对于驱动程序的访问可以按照流接口的访问方式进行存取。但是为了获得本发明的效果,本发明采用了以下的访问过程。
在照相机驱动程序中实现了三个‘设备’:一个设备是照相机的设备,对应的数据结构为CCameraDevice类,这个和普通流设备一样;此外,在此基础上还虚拟了两个流设备,称之为PIN,这两个PIN负责不同类型数据的传输,一个负责预览数据流的传输,一个负责静态图像数据的传输。
如图3所示,首先打开照相机设备310;
然后打开两个PIN设备320,这两个PIN设备一个负责预览数据流的传输,一个负责静态图像数据的传输;
初始化流并传送消息句柄330;
分配空间并传给驱动程序340;
把分配的空间入队列350;
启动PIN 360;
等待消息队列的消息,进而得到图像数据的地址370;
读取图像并归还缓冲区380;
这样系统就绕过了DirectShow,直接访问照相机的驱动程序,得到驱动程序送来的原始数据。
本发明通过直接访问显示的驱动程序,显示驱动程序属于典型的本地驱动程序,微软提供了接口访问显示的缓冲区和导出函数接口以便扩展功能。本发明把要显示的数据直接压入(DirectPush)显示缓冲区,就实现了显示,从而使设备的性能得到提升。
下面是本发明的对于显示驱动的访问和Overlay驱动程序的实现优选实施例。
现有技术中通过直接使用操作系统提供的标准函数来实现显示。本发明为提高显示的速度,通过微软提供的接口ExtEscape(逃逸接口)直接访问显示驱动程序的Buffer(缓冲区)。并在ExtEscape中加入了如下的接口:EnableOverlay,GetOverlayBufferAddress,在显示驱动中实现了Overlay的驱动程序。
EnableOverlay:使能Overlay,并对Overlay进行初始化操作。
GetOverlayBufferAddress:得到Overlay缓冲区的地址。这样以后只要向这个Buffer中填充数据就可以显示了。其中Overalay2支持YUV格式的数据,硬件能把YUV格式的数据转换并刷屏,因此从照相机得到的原始数据可以直接填入显示缓冲区。
如图4所示,照相机应用程序410向第一层显示缓冲区或底层显示缓冲区写入数据420,或向第二层显示缓冲区写入数据430;
数据传到DMA440;
LCD控制器获得数据450;
将图像显示在TFT屏上460;
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种实现全屏预览的方法,其特征在于它直接访问显示的驱动程序得到数据。
2.根据权利要求1所述的一种实现全屏预览的方法,其特征在于它直接访问照相机驱动程序得到数据。
3.根据权利要求1所述的一种实现全屏预览的方法,其特征在于其直接访问显示的驱动程序包括以下步骤:
照相机应用程序向缓冲区写入数据;
数据传到DMA;
LCD控制器获得数据;
将图像显示在显示屏上。
4.根据权利要求3所述的一种实现全屏预览的方法,其特征在于照相机应用程序向显示的第一层缓冲区写入数据。
5.根据权利要求3所述的一种实现全屏预览的方法,其特征在于照相机应用程序向显示的第二层缓冲区写入数据。
6.根据权利要求3所述的一种实现全屏预览的方法,其特征在于照相机应用程序向显示的底层缓冲区写入数据。
7.根据权利要求2或3或4或5或6所述的一种实现全屏预览的方法,其特征在于它直接访问照相机驱动程序得到数据包括以下步骤:
打开照相机设备;
打开预览数据流传输设备和负责静态图像数据传输的设备;
初始化流并传送消息句柄;
分配空间并传给驱动程序;
把分配的空间入队列;
启动设备;
等待消息队列的消息进而得到图像数据的地址;
读取图像并归还缓冲区。
CNA200710120273XA 2007-08-15 2007-08-15 一种实现全屏预览的方法 Pending CN101369256A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA200710120273XA CN101369256A (zh) 2007-08-15 2007-08-15 一种实现全屏预览的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA200710120273XA CN101369256A (zh) 2007-08-15 2007-08-15 一种实现全屏预览的方法

Publications (1)

Publication Number Publication Date
CN101369256A true CN101369256A (zh) 2009-02-18

Family

ID=40413078

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200710120273XA Pending CN101369256A (zh) 2007-08-15 2007-08-15 一种实现全屏预览的方法

Country Status (1)

Country Link
CN (1) CN101369256A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317973A (zh) * 2017-08-17 2017-11-03 珠海市魅族科技有限公司 一种信息处理方法及装置、计算机装置及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317973A (zh) * 2017-08-17 2017-11-03 珠海市魅族科技有限公司 一种信息处理方法及装置、计算机装置及可读存储介质

Similar Documents

Publication Publication Date Title
CN102981793B (zh) 一种屏幕同步方法及装置
CN101609401B (zh) 一种无干扰屏幕录制方法和系统
CN102497591B (zh) 一种终端以及该终端与电视进行无线传屏的方法
WO2021008424A1 (zh) 图像合成方法、装置、电子设备及存储介质
KR101952260B1 (ko) 다수의 동영상 썸네일을 동시에 표시하기 위한 영상 재생 장치 및 방법
CN1550979A (zh) 用于在屏幕区域内嵌图中呈现数据表示的接口
KR20140111859A (ko) 콘텐트 공유 방법 및 이를 위한 디바이스
JP6333858B2 (ja) 複数の視覚コンポーネントを有する画面を共有するためのシステム、装置、および方法
JP6511038B2 (ja) クラウドストリーミングサービス提供方法及びそのための装置
CN104052922A (zh) 图像数据处理方法和支持图像数据处理方法的电子设备
CN105992005A (zh) 视频解码方法、装置及终端设备
CN109168021A (zh) 一种推流的方法及装置
TW201347537A (zh) 用於傳輸視覺內容之系統及方法
CN102664939A (zh) 一种屏幕镜像移动终端的方法及设备
KR20130131695A (ko) 다중 동영상 재생 방법 및 장치
CN108605159A (zh) 共享从视频传输中提取的快照的方法和系统
CN103037169A (zh) 嵌入式硬盘录像机的画面拼接合成的方法
CN202210851U (zh) 一种用于标清和高清音视频编解码的控制装置
CN111741343A (zh) 视频处理方法及装置、电子设备
KR20140117889A (ko) 클라이언트 장치, 서버 장치, 멀티미디어 리디렉션 시스템 및 그 방법
WO2023125316A1 (zh) 视频处理方法、装置、电子设备及介质
CN101369256A (zh) 一种实现全屏预览的方法
KR20160131827A (ko) 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
TW201218770A (en) Multi-stream video system, video monitoring device and multi-stream video transmission method
KR101291074B1 (ko) 플래시 미디어 서비스 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: JINGXIN CENTURY( BEIJING )SEMICONDUCTOR SCIENCE CO

Free format text: FORMER OWNER: TECHFAITH WIRELESS TECHNOLOGY (BEIJING) LTD.

Effective date: 20100317

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100016 BUILDING M8, NO.1, JIUXIANQIAO EAST ROAD, CHAOYANG DISTRICT, BEIJINGCITY TO: 100176 ROOM 164, TOWER A, NO.18, WEST RING SOUTH ROAD, BEIJING CITY ECONOMIC AND TECHNOLOGICAL DEVELOPMENT ZONE, BEIJING CITY

TA01 Transfer of patent application right

Effective date of registration: 20100317

Address after: 164, room 100176, block A, 18 West South Road, Beijing economic and Technological Development Zone, Beijing, China

Applicant after: Techfaith Wireless Technology (Beijing) Ltd.

Address before: 100016, M8, building 1, Jiuxianqiao East Road, Beijing, Chaoyang District

Applicant before: China TechFaith Wireless Communication Technology Limited.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
DD01 Delivery of document by public notice

Addressee: Techfaith Wireless Technology (Beijing) Ltd.

Document name: Notification that Application Deemed to be Withdrawn

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20090218