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

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

Info

Publication number
CN1324495C
CN1324495C CNB031564623A CN03156462A CN1324495C CN 1324495 C CN1324495 C CN 1324495C CN B031564623 A CNB031564623 A CN B031564623A CN 03156462 A CN03156462 A CN 03156462A CN 1324495 C CN1324495 C CN 1324495C
Authority
CN
China
Prior art keywords
cpu
multimedia processor
management unit
memory management
processor cpu
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.)
Expired - Fee Related
Application number
CNB031564623A
Other languages
English (en)
Other versions
CN1591372A (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

Landscapes

  • Controls And Circuits For Display Device (AREA)

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 1300CPU的视频缓冲区,并采用MMU CPU,(如486/586/Pentium等x86CPU,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相耦合是指:在载有多媒体处理器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重新启动所述的多媒体处理器CPU,并等待所述的多媒体处理器CPU的事件通知;
步骤五、所述的多媒体处理器CPU开始运行,打开所述的事件和共享缓冲区;
步骤六、所述的多媒体处理器CPU为自身的视频渲染单元开辟图形存储空间,并记下该图形存储空间的起始地址;
步骤七、所述的多媒体处理器CPU初始化自身的视频渲染单元,并启动渲染;
步骤八、所述的多媒体处理器CPU将所述的起始地址、图形存储空间的高度/宽度信息放入所述的共享缓冲区;
步骤九、所述的多媒体处理器CPU通过所述的事件,通知所述的具有内存管理单元的CPU;
步骤十、所述的具有内存管理单元的CPU接到通知后,取出图形存储空间的起始地址、及高度/宽度信息;
步骤十一、所述的具有内存管理单元的CPU将起始地址通过MMAP系统调用转化为自己的内存地址;
步骤十二、所述的具有内存管理单元的CPU将所述的内存地址、图形存储空间高度/宽度信息传给图形操作软件;
步骤十三、所述的图形操作软件响应用户操作,生成相应的图形,该图形直接写在所述的多媒体处理器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 CN1591372A (zh) 2005-03-09
CN1324495C true 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)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1235307A (zh) * 1998-05-13 1999-11-17 索尼公司 数字信号处理装置
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
US6427181B1 (en) * 1998-06-26 2002-07-30 Sony Computer Entertainment Inc. Method of and apparatus for processing information, and providing medium
US6609977B1 (en) * 2000-08-23 2003-08-26 Nintendo Co., Ltd. External interfaces for a 3D graphics system

Patent Citations (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
CN1235307A (zh) * 1998-05-13 1999-11-17 索尼公司 数字信号处理装置
US6427181B1 (en) * 1998-06-26 2002-07-30 Sony Computer Entertainment Inc. Method of and apparatus for processing information, and providing medium
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
CN1591372A (zh) 2005-03-09

Similar Documents

Publication Publication Date Title
TWI725299B (zh) 圖片檔處理方法、設備及儲存介質
CA2259513C (en) Compression and decompression scheme performed on shared workstation memory by media coprocessor
CN1253831C (zh) 用于产生图形数据的直观表示和数字文件处理的系统和方法
CN1324473C (zh) 具有图形上下文管理器的图形渲染装置、方法和系统
US8493396B2 (en) Multidimensional datapath processing in a video processor
CN1856819A (zh) 通过分布式应用程序的图形数据的网络传输的系统和方法
CN1950878A (zh) 对系统存储器的gpu渲染
JP2018534607A (ja) プリフェッチを用いた効率的な表示処理
CN1744684A (zh) 视频显示控制设备和视频显示控制方法
CN1968395A (zh) 一种视频图像的视窗切换控制方法及系统
KR20140021388A (ko) 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법
JP2003511764A (ja) データを格納及び検索する方法及び装置
CN1279430C (zh) 数字文件处理系统、数据处理系统和外围设备
CN1742481A (zh) 捕获实时图像的方法
CN1324495C (zh) 一种基于多媒体处理器的图形处理方法
CN114968152A (zh) 减少virtio-gpu额外性能损耗的方法
WO2012109582A1 (en) System and method for multistage optimized jpeg output
US8427496B1 (en) Method and system for implementing compression across a graphics bus interconnect
CN1955933A (zh) 数据处理设备和方法
CN101075342A (zh) 流媒体视频图像截取方法及装置
Okada et al. A single chip motion JPEG codec LSI
CN115409882A (zh) 一种gpu中实现纹理采样的装置和方法
CN1713688A (zh) 图像处理设备、显示设备、图像处理方法以及图像处理程序
CN101931804A (zh) 无需使用存储器的旋转图像的设备及方法
CN1747532A (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