CN1591372A - 一种基于多媒体处理器的图形处理方法 - Google Patents

一种基于多媒体处理器的图形处理方法 Download PDF

Info

Publication number
CN1591372A
CN1591372A CN 03156462 CN03156462A CN1591372A CN 1591372 A CN1591372 A CN 1591372A CN 03156462 CN03156462 CN 03156462 CN 03156462 A CN03156462 A CN 03156462A CN 1591372 A CN1591372 A CN 1591372A
Authority
CN
China
Prior art keywords
cpu
multimedia processor
management unit
memory management
memory
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
Application number
CN 03156462
Other languages
English (en)
Other versions
CN1324495C (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.)
Polycom Communications Technology Beijing Co Ltd
Original Assignee
BEIJING DINGSHITONG SOFTWARE TECHNOLOGY Co 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 BEIJING DINGSHITONG SOFTWARE TECHNOLOGY Co Ltd filed Critical BEIJING DINGSHITONG SOFTWARE TECHNOLOGY Co Ltd
Priority to CNB031564623A priority Critical patent/CN1324495C/zh
Publication of CN1591372A publication Critical patent/CN1591372A/zh
Application granted granted Critical
Publication of CN1324495C publication Critical patent/CN1324495C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本发明提供一种基于多媒体处理器的图形处理方法,其将具有内存管理单元的CPU与多媒体处理器CPU相耦合,并通过所述的具有内存管理单元的CPU读写所述的多媒体处理器CPU的视频缓冲区;所述的具有内存管理单元的CPU将自身生成的图形数据直接写到所述的多媒体处理器CPU的视频缓冲区;所述的多媒体处理器CPU的视频渲染单元将所述的图形数据转化成模拟信号输出。从而能利用具有内存管理单元CPU上的现有软件,不用移植,使载有多媒体处理器的终端具有完善的图形处理功能。

Description

一种基于多媒体处理器的图形处理方法
技术领域
本发明涉及计算机图形处理,具体的讲是一种基于多媒体(Trimedia)处理器的图形处理方法。
背景技术
当前,许多视频会议终端均采用Trimedia核心的数字信号处理CPU(DSPCPU)作为其中央控制器。Trimedia处理器为超长指令字(VLIW:very-long instruction word)内核,其支持单指令多数据(SIMD:SingleInstruction Multiple Data)多媒体操作,非常适合做多媒体数据,如音频、视频数据的处理。Trimedia处理器内置了增强型视频输出单元,可以完成叠加视频/主视频的混合显示及色键控制。一般地,叠加视频为计算机图形,而不是活动视频。但与一般的计算机图形帧缓冲区格式不同,Trimedia处理器图形缓冲区像素格式为YUV422(如图1所示),而一般的计算机图形缓冲区像素格式为RGB。
在目前使用的采用Trimedia处理器的视频会议终端中存在以下两种情况:1)图形由Trimedia CPU本身生成,Trimedia处理器完成点、线、块、字体的渲染。系统可以由一个Trimedia CPU构成,无需其他辅助CPU(如图2所示,其中标号1表示图形输出方向);2)多CPU,但主CPU上有自己的显示卡(如图3所示,其中标号1表示图形输出方向)。在第2)中情况下,主CPU也不会往Trimedia处理器上写图形数据,相反地,Trimedia处理器往往向主CPU的显示卡输出图形/图像数据。采用这两种结构和图形生成方法存在以下弊端:
1)Trimedia处理器会消耗相当的处理能力用于图形处理,从而影响对音频/视频的处理;
2)Trimedia处理器目前采用pSOS操作系统,做一些简单的图形比较容易,但如果做浏览器,或功能强大的窗口系统,需要开发的工作量比较大;
3)其他操作系统,如Linux,WinCE等,图形功能强大,但不能在Trimedia处理器上运行,如果将相应的图形系统移植到Trimedia上,又需要大量的再开发工作。
因此,在只有多媒体处理器CPU(Trimedia CPU)的情况下,要开发完善的图形系统,需要较大的开发工作量,或者购买昂贵的第三方开发的专用图形系统。
发明内容
本发明的目的在于,提供一种基于多媒体处理器的图形处理方法,这种方法能直接利用已有的窗口系统软件,使载有多媒体处理器的终端具有完善的图形处理功能。
本发明的技术方案为:
一种基于多媒体处理器的图形处理方法,其将具有内存管理单元(MMU:Memory Management Unit)的CPU与多媒体处理器CPU相耦合,并通过所述的具有内存管理单元的CPU读写所述的多媒体处理器CPU的视频缓冲区;
所述的具有内存管理单元的CPU将自身生成的图形数据写到所述的多媒体处理器CPU的内存;
所述的多媒体处理器CPU的视频渲染单元将所述的图形数据转成模拟信号输出。
将具有内存管理单元的CPU与多媒体处理器CPU相耦合是指:在载有多媒体处理器的多媒体系统的PCI总线上,连接一具有内存管理单元和PCI总线的嵌入式CPU;其中:所述的嵌入式CPU为主控制器,所述的多媒体处理器CPU为数字信号处理器(DSP:Digital Signal Processor)。
在所述的具有内存管理单元的CPU上运行嵌入式操作系统,在所述的多媒体处理器CPU上运行pSOS系统;其中:
所述的多媒体处理器CPU在自身的内存空间申请一块叠加视频(Overlay)帧存,并将此帧存信息传给自身的视频渲染单元;
所述的多媒体处理器CPU将帧存信息通过所述的PCI总线传送给所述的具有内存管理单元的CPU;
所述的具有内存管理单元的CPU获得所述的帧存信息,并将所述的多媒体处理器CPU作为显示卡使用,该显示卡具有线性的帧存空间,像素格式为YUV422序列,也即YUYV格式。
所述的帧存信息至少包括:帧存物理地址。
所述的多媒体处理器CPU将帧存信息通过所述的PCI总线传送给所述的具有内存管理单元的CPU包括以下具体步骤:
步骤一、所述的具有内存管理单元的CPU和所述的多媒体处理器之间通过通信接口进行通信;
步骤二、所述的具有内存管理单元的CPU在自身的内存中创建事件,以接收所述的多媒体处理器的事件通知;
步骤三、所述的具有内存管理单元的CPU在自身的内存中设置共享缓冲区,以接收所述的多媒体处理器的数据;
步骤四、所述的具有内存管理单元的CPU重新启动所述的多媒体处理器,并等待所述的多媒体处理器的事件通知;
步骤五、所述的多媒体处理器开始运行,打开所述的事件和共享缓冲区;
步骤六、所述的多媒体处理器为自身的视频渲染单元开辟图形存储空间,并记下该图形存储空间的起始地址;
步骤七、所述的多媒体处理器初始化自身的视频渲染单元,并启动渲染;
步骤八、所述的多媒体处理器将所述的起始地址、图形区的高度/宽度信息放入所述的共享缓冲区;
步骤九、所述的多媒体处理器通过所述的事件,通知所述的具有内存管理单元的CPU;
步骤十、所述的具有内存管理单元的CPU接到通知后,取出图形缓冲区的起始地址、及高度/宽度信息;
步骤十一、所述的具有内存管理单元的CPU将起始地址通过MMAP系统调用转化为自己的内存地址;
步骤十二、所述的具有内存管理单元的CPU将所述的内存地址、图形缓冲区高度/宽度信息传给图形操作软件;
步骤十二、所述的图形操作软件响应用户操作,生成相应的图形,该图形直接写在所述的多媒体处理器的内存上,并由显示装置进行显示。
所述的图形操作软件在生成图形时,需进行RGB格式到YUYV格式的转换。
由所述的具有内存管理单元的CPU采用查表法进行RGB格式到YUYV格式的转换计算。
本发明的有益效果在于:
采用主CPU来进行图形生成,可以最大限度地利用自由软件领域的软件,可以加快系统的开发,特别地,在网络部分/图形显示部分,可以不用考虑向Trimedia移植问题,直接使用x86,PowerPC等平台上的软件。
此种图形生成方式,可以减少Trimedia CPU在这方面的开销,保证有更多的处理能力用于音频/视频的编解码。
通过其他CPU读写Trimedia 1300 CPU的视频缓冲区,并采用MMU CPU,(如486/586/Pentium等x86 CPU,IBM 405EP、Motorola MPC8241/8245等PowerPC CPU)上常用的图形生成软件,从而使整个终端具有完善的图形系统。
附图说明
图1为Trimedia CPU的图形帧存格式;
图2为单Trimedia CPU的系统结构框图;
图3为PC平台加Trimedia CPU的系统结构框图;
图4为嵌入CPU加Trimedia CPU的系统结构框图。
具体实施方式
下面结合附图说明本发明的具体实施方式,本发明提供了一种基于多媒体处理器的图形处理方法。将具有内存管理单元(MMU:Memory Management Unit)的CPU与多媒体处理器CPU相耦合,并通过所述的具有内存管理单元的CPU读写所述的多媒体处理器CPU的视频缓冲区;
所述的具有内存管理单元的CPU将自身生成的图形数据传送给所述的多媒体处理器CPU;
所述的多媒体处理器CPU将所述的图形数据输出。
在一般的Trimedia系统,在PCI总线上,格外连接上一颗带MMU和PCI总线的嵌入式CPU,如AMD ElanSC520,Motorola MPC8245,IBM PowerPC 405EP等,此MMU CPU为主控制器,Trimedia CPU当作DSP使用,主控制器没有自己的显示卡(如图4所示,其中标号1表示图形输出方向)。
MMU CPU上可以运行主流嵌入式操作系统,如Linux,VxWorks,WinCE等。Trimedia上运行pSOS。Trimedia先在自己的内存空间申请一块叠加视频(Overlay)帧存,并将此帧存信息传给CPU上的视频输出单元。然后,Trimedia通过某种机制,将帧存信息(主要是帧存物理地址)通过PCI总线通知MMU CPU。MMU CPU获得此信息后,便可以将Trimedia当作一块特殊显示卡使用,此显示卡具有线性的帧存空间,但像素格式为YUV422序列,也即YUYV格式。
上文所说的某种机制,可以是但不局限于下列这种方式:
1)MMU CPU运行Linux,MMU CPU和Trimedia之间通过tmman接口进行通信。
2)MMU CPU在自己的内存中创建事件A,用于接受Trimedia的事件通知;
3)MMU CPU在自己的内存中共享缓冲区MA,用于接收Trimedia的数据。
4)MMU CPU重新启动Trimedia,并等待Trimedia的事件通知。
5)Trimedia开始运行,打开事件A和共享缓冲区MA。
6)Trimedia为自己的视频渲染单元开辟图形存储空间,假设此空间起始地址为ADDR。
7)Trimedia初始化视频渲染单元并启动渲染。
8)Trimedia将ADDR、图形区的高度/宽度信息放入共享缓冲区MA。
9)Trimedia通过事件A通知MMU CPU。
10)MMU CPU接到通知后,取出图形缓冲区的起始地址ADDR及高度/宽度信息。
11)MMU CPU将ADDR通过MMAP系统调用转化为自己的内存地址。假设此地址为M_ADDR。
12)MMU CPU将M_ADDR、图形缓冲区高度/宽度信息传给图形操作软件MiniGUI。
13)MiniGUI响应用户操作,生成相应的图形,此图形直接写在Trimedia的内存上并由Trimedia进行显示。
通过以上这种机制,MiniGUI就将Trimedia子系统当作一块特殊的显示卡来使用。与一般显示卡不同的是,此显卡帧存像素格式为YUYV,而图形操作系统一般采用RGB的像素格式。因此,MiniGUI在生成图形时,存在RGB到YUYV的转化问题。由MMU CPU进行RGB到YUYV的计算,计算量很大,一种折衷的方式是查表法。
查表法就是预先计算好RGB和YUYV的对应表,在实际转化时,利用此对应表来避免计算。由于RGB888的取值范围为0~(224-1),所以此表非常庞大,但可作以下简化:
首先,将像素格式RGB888转化为RGB555,此转化会使颜色数从1600多万种将为32768种,但对于图形来说,32768种颜色已经足够。RGB555的取值范围为0~32767,每个YUYV值为4字节,整个表格大小为128K字节(见表1)。对于任意一个RGB888值,每个颜色值右移3位,降为5个bit,再重组为15bit,转化为RGB555。我们以RGB555作索引,就可以查出原来RGB888对应的YUYV的近似值。
RGB到YUYV的转化查找表                                                         表1
  RGB555     RGB888的R   RGB888的G   RGB888的B     Y     U     Y     V
   0      0~7    0~7    0~7    0x00    0x80    0x00    0x80
   1      0~7    0~7    8~15    0x01    0x84    0x01    0x7e
   2      0~7    0~7   16~24    0x02    0x88    0x02    0x7e
   3      0~7    0~7   24~31    0x03    0x8c    0x03    0x7e
   …
   31      0~7    0~7  248~255    0x1c    0xfc    0x1c    0x6c
   32      0~7    8~15    0~7    0x05    0x7c    0x05    0x7c
   33      0~7    8~15    8~15    0x06    0x80    0x06    0x7c
   …
   32765    248~255  248~255  232~239    0xf6    0x78    0xf6    0x80
   32766    248~255  248~255  240~247    0xf7    0x7c    0xf7    0x80
   32767    248~255  248~255  248~255    0xf8    0x80    0xf8    0x80
且计算公式如下:
Y=(unsigned char)(0.299*(R&0xf8)+0.587*(G&0xf8)+0.114*(B&0xf8)+0.5);
U=(unsigned char)(-0.1687*(R&0xf8)-0.3313*(G&0xf8)+0.5*(B&0xf8)+128.5);
V=(unsigned char)(0.5*(R&0xf8)-0.4197*(G&0xf8)-0.0813*(B&0xf8)+128.5);
本申请相对现有技术而言所具有的优点和效果为:
采用主CPU来进行图形生成,可以最大限度地利用自由软件领域的软件,可以加快系统的开发,特别地,在网络部分/图形显示部分,可以不用考虑向Trimedia移植问题,直接使用x86,PowerPC等平台上的软件。
此种图形生成方式,可以减少Trimedia CPU在这方面的开销,保证有更多的处理能力用于音频/视频的编解码。
以上具体实施方式仅用于说明本发明,而非用于限定本发明。

Claims (7)

1.一种基于多媒体处理器的图形处理方法,其特征在于,将具有内存管理单元的CPU与多媒体处理器CPU相耦合,并通过所述的具有内存管理单元的CPU读写所述的多媒体处理器CPU的视频缓冲区;
所述的具有内存管理单元的CPU将自身生成的图形数据写到所述的多媒体处理器CPU的内存;
所述的多媒体处理器CPU的视频渲染单元将所述的图形数据转成模拟信号输出。
2.根据权利要求1所述的方法,其特征在于,将具有内存管理单元的CPU与多媒体处理器CPU相耦合是指:在载有多媒体处理器的多媒体系统的PCI总线上,连接一具有内存管理单元和PCI总线的嵌入式CPU;其中:所述的嵌入式CPU为主控制器,所述的多媒体处理器CPU为数字信号处理器。
3.根据权利要求2所述的方法,其特征在于,在所述的具有内存管理单元的CPU上运行嵌入式操作系统,在所述的多媒体处理器CPU上运行pSOS系统;其中:
所述的多媒体处理器CPU在自身的内存空间申请一块叠加视频帧存,并将此帧存信息传给自身的视频渲染单元;
所述的多媒体处理器CPU将帧存信息通过所述的PCI总线传送给所述的具有内存管理单元的CPU;
所述的具有内存管理单元的CPU获得所述的帧存信息,并将所述的多媒体处理器CPU作为显示卡使用,该显示卡具有线性的帧存空间,像素格式为YUV422序列,也即YUYV格式。
4.根据权利要求3所述的方法,其特征在于,所述的帧存信息至少包括:帧存物理地址。
5.根据权利要求3所述的方法,其特征在于,所述的多媒体处理器CPU将帧存信息通过所述的PCI总线传送给所述的具有内存管理单元的CPU包括以下具体步骤:
步骤一、所述的具有内存管理单元的CPU和所述的多媒体处理器之间通过通信接口进行通信;
步骤二、所述的具有内存管理单元的CPU在自身的内存中创建事件,以接收所述的多媒体处理器的事件通知;
步骤三、所述的具有内存管理单元的CPU在自身的内存中设置共享缓冲区,以接收所述的多媒体处理器的数据;
步骤四、所述的具有内存管理单元的CPU重新启动所述的多媒体处理器,并等待所述的多媒体处理器的事件通知;
步骤五、所述的多媒体处理器开始运行,打开所述的事件和共享缓冲区;
步骤六、所述的多媒体处理器为自身的视频渲染单元开辟图形存储空间,并记下该图形存储空间的起始地址;
步骤七、所述的多媒体处理器初始化自身的视频渲染单元,并启动渲染;
步骤八、所述的多媒体处理器将所述的起始地址、图形区的高度/宽度信息放入所述的共享缓冲区;
步骤九、所述的多媒体处理器通过所述的事件,通知所述的具有内存管理单元的CPU;
步骤十、所述的具有内存管理单元的CPU接到通知后,取出图形缓冲区的起始地址、及高度/宽度信息;
步骤十一、所述的具有内存管理单元的CPU将起始地址通过MMAP系统调用转化为自己的内存地址;
步骤十二、所述的具有内存管理单元的CPU将所述的内存地址、图形缓冲区高度/宽度信息传给图形操作软件;
步骤十三、所述的图形操作软件响应用户操作,生成相应的图形,该图形直接写在所述的多媒体处理器的内存上,并由显示装置进行显示。
6.根据权利要求5所述的方法,其特征在于,所述的图形操作软件在生成图形时,需进行RGB格式到YUYV格式的转换。
7.根据权利要求6所述的方法,其特征在于,由所述的具有内存管理单元的CPU采用查表法进行RGB格式到YUYV格式的转换计算。
CNB031564623A 2003-08-28 2003-08-28 一种基于多媒体处理器的图形处理方法 Expired - Fee Related CN1324495C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031564623A CN1324495C (zh) 2003-08-28 2003-08-28 一种基于多媒体处理器的图形处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031564623A CN1324495C (zh) 2003-08-28 2003-08-28 一种基于多媒体处理器的图形处理方法

Publications (2)

Publication Number Publication Date
CN1591372A true CN1591372A (zh) 2005-03-09
CN1324495C CN1324495C (zh) 2007-07-04

Family

ID=34598423

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031564623A Expired - Fee Related CN1324495C (zh) 2003-08-28 2003-08-28 一种基于多媒体处理器的图形处理方法

Country Status (1)

Country Link
CN (1) CN1324495C (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055373A (en) * 1997-04-28 2000-04-25 Ncr Corporation Computer system including a digital signal processor and conventional central processing unit having equal and uniform access to computer system resources
JPH11328100A (ja) * 1998-05-13 1999-11-30 Sony Corp ディジタル信号処理装置
JP2000010913A (ja) * 1998-06-26 2000-01-14 Sony Computer Entertainment Inc 情報処理装置および方法、並びに提供媒体
US6609977B1 (en) * 2000-08-23 2003-08-26 Nintendo Co., Ltd. External interfaces for a 3D graphics system

Also Published As

Publication number Publication date
CN1324495C (zh) 2007-07-04

Similar Documents

Publication Publication Date Title
TWI725299B (zh) 圖片檔處理方法、設備及儲存介質
CN1253831C (zh) 用于产生图形数据的直观表示和数字文件处理的系统和方法
CN1324473C (zh) 具有图形上下文管理器的图形渲染装置、方法和系统
CN1856819A (zh) 通过分布式应用程序的图形数据的网络传输的系统和方法
CN101030365A (zh) 一种数字图像的存储、显示方法及装置
CN1744684A (zh) 视频显示控制设备和视频显示控制方法
CN1659595A (zh) 用于编码纹理信息的方法和设备
CN107105266A (zh) 一种png图像的解码方法、装置及系统
CN1968395A (zh) 一种视频图像的视窗切换控制方法及系统
KR20140021388A (ko) 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법
CN1279430C (zh) 数字文件处理系统、数据处理系统和外围设备
CN100336381C (zh) 捕获实时图像的方法
CN1224267C (zh) 最高有效位匹配数字图像压缩
CN1470988A (zh) 进程间调用门技术
CN1324495C (zh) 一种基于多媒体处理器的图形处理方法
CN1427361A (zh) 基于客户/服务器结构的底层设备驱动的方法
US8427496B1 (en) Method and system for implementing compression across a graphics bus interconnect
CN1955933A (zh) 数据处理设备和方法
Ooi et al. The Dali multimedia software library
CN1655617A (zh) 一元化解码器结构
CN1105966C (zh) 生成图象的方法和装置
CN101075342A (zh) 流媒体视频图像截取方法及装置
CN1684033A (zh) 智能仪表界面自动生成方法
CN1281063C (zh) 动画快速压缩及解压方法
CN1713688A (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
C56 Change in the name or address of the patentee

Owner name: POLYCOM COMMUNICATION TECHNOLOGY ( BEIJING ) CO.,

Free format text: FORMER NAME: BEIJING DINGSHITONG SOFTWARE TECHNOLOGY CO., LTD.

CP03 Change of name, title or address

Address after: Beijing city Chaoyang District East Third Ring Road No. two Tianyuan port C center A block 17 layer 1701170317051710 unit

Patentee after: POLYCOM Communications Technology (Beijing) Co., Ltd.

Address before: Executive Hotel garden 30, Garden East Road, Beijing, Haidian District

Patentee before: Beijing Dingshitong Software Technology Co., Ltd.

DD01 Delivery of document by public notice

Addressee: POLYCOM communication technology (Beijing) Co., Ltd. Liu Na

Document name: Notification to Pay the Fees

C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 100027, A, No. 3, Xinyuan South Road, Beijing, Chaoyang District, 25

Patentee after: POLYCOM communication technology (Beijing) Co., Ltd.

Address before: 100027, 1701-17031705-1710 17, block A, Tianyuan port center, No. two East Third Ring Road, Chaoyang District, Beijing

Patentee before: POLYCOM communication technology (Beijing) Co., 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: 20070704

Termination date: 20190828