集成的无线多媒体传输系统的制作方法

文档序号:7637060阅读:220来源:国知局
专利名称:集成的无线多媒体传输系统的制作方法
技术领域
本发明一般涉及数据由源至监视器的无线实时传输的方法与系 统。本发明还一般涉及无线设备的充分的自动设置。
背景技术
个人运用其计算设备,包括个人电脑、存储设备、移动电话、个 人数据助理和服务器,来存储、记录、传输、接收和重放媒体,包括 但不限于图形、文本、视频、图像和音频。此类媒体可以从许多源获 得,包括但不限于互联网、CD、 DVD、其他网络或其他存储设备。特 别是,个人可以通过公网快速和大量分发和访问媒体,通常不受时间、 地理位置、成本、内容范围或其他限制。然而,用户却通常被迫在不 适合超过1或2个受众的小屏幕上体验所获得的媒体。尽管计算设备存储、记录、传输、接收和重放媒体的应用快速增 长并具灵活性,但全世界的大多数个体仍然将电视作为接收视频/音频 传输的主要手段。特别是,以无线电传媒、卫星和有线方式传输至电 视仍然代表着视频/音频媒体传输至用户并由用户体验的主要手段。然 而,此类传输就其成本、内容范围、访问时间和地理而言都受到了高 度限制。鉴于用于存储、记录、传输、接收和重放媒体的个人计算设备普 遍存在,优选的是能够运用此类相同计算设备并结合大量安装的电视 基础,来使用户能够快速灵活的获得媒体,并仍能够运用电视来体验 此媒体。先前的对于使计算设备能够集成于电视上的尝试主要关注于a)将电视变换为可以直接访问互联网来获得媒体的联网计算装置,b)创 建一个专门的硬件设备来从计算设备接收媒体,对其进行存储,并通 过有线连接传递至电视,和/或C)为电视集成用于接受存储设备的装 置,例如记忆棒。然而,这些传统的方法遭遇了必须大量改动现存设 备的困境,即取代现存的计算设备和/或电视,或购买昂贵的新硬件。 另外,这些种方法通常需要多个物理有线连接来传输图形、文本、音 频和视频。此类的物理连接将设备的使用限制于单一电视,将设备的 摆放位置限制在家中某一特定区域,并导致出现一个不雅观的电线网。 最后,物理存储媒体至存储元件(例如记忆棒)然后输入至电视的需 要不仅麻烦和不灵活,还高度限制了所传输的数据量。因为仍然存在着这样一种对方法、设备及系统的需要,使用户能 够利用现存计算设备来接收、传输、存储和回放媒体,并运用现存电 视来体验此媒体。还有一种对简单经济的从计算设备无线传输媒体至 电视的方法的需求,由此将电视变换为远程监视器。如果多个可应用 于文本、图形、视频、音频传输的不同标准可由一个唯一的无线媒体 传输系统管理将为首选。最后,还存在对无线设备的方便和自动操纵 设置的需求。发明内容本发明一般涉及数据由源至监视器的无线实时传输的方法与系 统。本发明还一般涉及无线设备的充分的自动设置。在一个实施例中,本发明是一种从源捕捉媒体并无线传输此媒体 的方法,包含以下歩骤在计算设备上播放所述媒体,所述媒体至少 包括音频数据和视频数据;利用镜像显示驱动器捕捉所述视频数据; 从输入源捕捉所述音频数据;压縮所捕捉的音频和视频数据,及利用 发射机传输压縮的视频和音频数据。可选择的,本方法进一步包含在接收机处接收所述媒体、压縮所 述捕捉的音频和视频数据、在远离源的所述显示器上播放所述压縮的 音频和视频数据的步骤。可选择的,发射机和接收机利用TCP建立连 接,发射机利用UDP发送视频数据包。可选择的,媒体进一歩包含图形和文本数据,其中利用镜像显示驱动器捕捉所述图形和文本数据及所述视频数据。可选择的,本方法进一步包含利用多媒体数字信号编解码器(CODEC)处理所述视频数 据的步骤。可选择的,多媒体数字信号编解码器利用运动估计模块将 时间冗余从视频数据中移除。可选择的,多媒体数字信号编解码器将 视频数据的一帧利用离散余弦变换(DCT)变换模块转换为8X8的或 4X4的象素块的形式。可选择的,多媒体数字信号编解码器利用可变 长度编码(VLC)编码电路将视频内容编码成较短的字。可选择的,多媒 体数字信号编解码器利用离散余弦逆变换模块将视频数据的空间频率 转换回象素域。可选择的,多媒体数字信号编解码器包含加速媒体传 输的速率控制机制。在另一实施例中,本发明包含存储于计算机可读基底上的程序, 用于从源捕捉至少包含视频数据的媒体并无线传输所述媒体,包含用 于捕捉所述视频数据的操作于内核模式的镜像显示驱动器;用于处理 所述视频数据的多媒体数字信号编解码器;及用于传输所述处理的视 频数据的发射机。可选择的,本方法进一步包含虚拟显示驱动器。可选择的,发射 机利用TCP与接收机建立连接,并利用UDP发送视频数据包。可选择 的,媒体进一步包含图形和文本数据,所述的镜像显示驱动器捕捉所 述视频数据的同时一起捕捉图形和文本数据。可选择的,多媒体数字 信号编解码器包含用于从视频数据中移除时间冗余的运动估计块。可 选择的,多媒体数字信号编解码器包含用于将视频数据的一帧转换为8 X8的或4X4的块象素的DCT变换模块。可选择的,多媒体数字信号 编解码器包含用于将视频内容编码成较短的字的可变长度编码电路。 可选择的,多媒体数字信号编解码器包含用于将视频数据的空间频率 转换回象素域的离散余弦逆变换模块。可选择的,多媒体数字信号编 解码器包含用于加速媒体传输的速率控制机制。这些及其他实施例,将在具体实施方式
中结合


更清晰地 进行描述。

本发明的这些及其他特征及优势在参考具体实施方式
并结合附图后将会得到更好的理解并得以认可,其中图1描述了本发明的集成的无线媒体传输系统的方块图;图2描述了本发明一个实施例中的发射机的组件;图3描述了包含本发明一个实施例的软件实现的多个软件模块;图4描述了本发明一个实施例中的接收机的组件;图5为描述本发明一示范性操作的流程图;图6描述了本发明TCP/UDP实时混合型协议头结构的一个实施例;图7为描述本发明TCP/UDP实时传输协议的示范性的功能步骤 的流程图;图8描述了应用于本发明的示范性的多媒体数字信号编解码器 (codec)的方块图;图9为应用于本发明的示范性的运动估计块的功能图;图10描述了数字信号波形和对应的数据转换的一个实施例;图11为本发明离散余弦逆变换(IDCT)模块的示范性的视频处理 和选择性优化的方块图;图12为描述本发明用于同步音频和视频数据的同歩电路组件的方 块图;图13为描述本发明同步音频和视频信号的另一实施例的流程图; 图14描述了本发明音频和视频同步电路的另一实施例; 图15描述了本发明自动下载和更新软件的企业设置; 图16为描述发射机和多个接收机间通信的示意图;图17描述了开发显示驱动器的微软Windows架构的方块图; 图18描述了图形设备接口 (GDI)和显示驱动器间相互作用的方 块图;图19描述了 DirectDraw结构的方块图。
具体实施方式
本发明是用于实时的将媒体从一个设备无线传输至另一设备的集 成的无线系统。本发明将结合上面提到的图进行描述。于此所描述的 实施例并不旨在毫无遗漏或将本发明限制于所公开的准确形式。他们用于解释本发明及其应用,并使本领域技术人员能够利用本发明。参考图l,计算设备ioi,例如常见的个人计算机、桌上型电脑、 笔记本电脑、PDA、移动电话、游戏机、置顶盒、卫星接收机、DVD 播放器、个人摄像机或其他任何操作本发明新系统的设备,都通过无 线网络102与远程监视器103进行通信。优选的,计算设备101和远 程监视器103进一步包含能够无线传输和接收以多种标准编码的图形、 音频、文本和视频的片上处理系统。远程监视器103可以为电视、等 离子显示器、平板LCD、 HDD、投影仪或其他任何当前所知的能够呈 现图形、音频和视频的电子显示设备。片上处理系统可以集成在远程 监视器103和计算设备101上,或合并至与远程监视器103或计算设 备101进行有线通信的单个设备。PCT/US2006/00622中描述了一个示 范性的片上处理系统,此公开也转让至本应用的所有者,在此以引用 方式并入。参考图2,描述了本发明的计算设备200。计算设备200包含能够 运行本公开新软件系统202的操作系统201和收发机203。操作系统 201可以为任何一种操作系统,包含但不限于微软Windows 2000、微 软Windows NT、微软Windows XP、 Linux、 OS/2、基于Palm的操作 系统、手机操作系统、iPod操作系统和Mac操作系统。计算设备200 运用适合的传输图形、文本、视频和音频信号的无线标准传输媒体, 例如IEEE 802.11a、 802.11g、蓝牙2.0、 HomeRF 2.0、 HiperLAN/2和 超宽带,除此之外还包含这些标准中任何一个的所有延伸。参考图3,描述了本发明的新软件系统300的模块。软件300包含 实时捕捉媒体的模块301、管理存储所捕捉媒体的缓冲区的模块302、 压縮和解压縮媒体的多媒体数字信号编解码器303及打包用于传输的 所处理媒体的模块304。在一个实施例中,计算设备从源接收媒体,无 论它下载于互联网,为互联网上的实时流,由电缆或卫星站传来,从 存储设备上转移而来或任何其他源。媒体可以通过安装在计算设备上 的适合的播放器在计算设备上进行播放。当计算设备播放媒体时,软 件模块301实时捕捉数据并在传输至多媒体数字信号编解码器之前将 其暂时存放在缓冲区内。多媒体数字信号编解码器303将其进行压縮 并准备传输。参考图4,描绘了本发明的接收机。接收机400包含收发机401、 多媒体数字信号编解码器402、呈现视频和图形数据的显示器件403 及呈现音频数据的音频器件404。收发机401接收压縮的媒体数据,优 选的通过本发明应用的新传输协议。在一个范例中,新传输协议为 TCP/UDP混合型协议。实时传输包的TCP/UDP混合型协议将TCP的 安全服务与UDP的简单及低处理需求相结合。随后接收机接收的内容 传输至多媒体数字信号编解码器402进行解压。多媒体数字信号编解 码器解压媒体并准备传输至显示设备403和扬声器404进行播放的视 频和音频信号。参考图5,流程图描述了本发明集成的无线系统的示范性操作。501 中,个人计算机运用其控制台上合适的媒体播放器对媒体进行播放。 此类媒体播放器可以包含Apple播放器(iPod)、 RealNetworks (Realplayer)、微软(Windows媒体播放器)或其他任何媒体播放器。 502中,本发明的软件直接从视频缓冲区捕捉实时视频。所捕捉的视频 随后在503中利用多媒体数字信号编解码器进行压縮。相似的,504 中音频可用利用操作于计算设备上的音频软件捕捉并由多媒体数字信 号编解码器进行压縮。在一个实施例中,本发明的软件通过执行包含镜像显示驱动器和 虚拟显示驱动器的软件模块捕捉视频。在一个实施例中,镜像显示驱 动器和虚拟显示驱动器在运行于作为本发明软件载体的计算机上的操 作系统内核模式中安装为组件。虚拟设备的镜像显示驱动器通过映射物理显示设备驱动器的操作 来映射物理显示设备驱动器。在一个实施例中,镜像显示驱动器捕捉 计算机上主要显示的内容,虚拟显示驱动器捕捉计算机上"扩展的桌 面"或次显示设备的内容。使用中,操作系统将图形和视频内容呈现于虚拟显示驱动器和镜 像显示驱动器的视频内存上。因此,任何在计算机上利用例如媒体播 放器播放的媒体都呈现于这些驱动器之一上。本发明软件的一应用组 件将虚拟显示驱动器和镜像显示驱动器映射在应用空间内。以此方式, 本发明的应用获得了一个指向视频内存的指针。本发明的应用通过将 内存从映射视频内存复制至本地分配内存的方法捕捉显示器上放映的实时图像(即所显示的实时图形和视频内容)。在一个实施例中,镜像显示驱动器和虚拟显示驱动器操作于微软操作系统,例如Windows 2000/NT可兼容操作系统的内核空间。参考 图17,展示了开发显示驱动器的微软Windows架构1700。在计算机上 执行的应用1701发布了至图形显示接口 (指Win32 GDI (图形显示接 口) 1702)的调用。GDI 1702产生图形输出请求。这些请求发送至在 内核空间操作的软件,包括内核模式GDI 1705。内核模式GDI 1705 为内核模式图形驱动器1706和应用1701的中间支持。内核模式GDI 1705将这些请求发送至合适的微型端口 1709或图形驱动器,例如显示 驱动器1706或指针驱动器(未显示)。每一个显示驱动器(DDI)都有一个相应的视频微型端口 1709。 微型驱动器1709为一个图形适配器(或适配器族)写入。视频驱动器 1706可为任何数目的共享共同图片接口的适配器写入。这是因为显示 驱动器绘图,而微型端口执行例如模式设置的操作,并将硬件的信息 提供给驱动器。多于一个的显示驱动器与某一特定微型端口驱动器一 起工作也是可能的。此结构中的主动式组件为Win32-GDI过程1702 和应用1701。其余的组件1705-1710由Win32-GDI过程1702调用。视频微型接口 1709通常处理与其他内核组件1703相互作用的操 作。例如,如由NTI/0子系统进行的硬件初始化和内存映射需要动作 的操作。视频微型端口驱动器1709的职责包括资源管理,例如硬件设 置和物理设备的内存映射。视频微型端口驱动器1709特定为视频硬件 所用。视频驱动器1706利用视频微型端口驱动器1709来进行不太频 繁请求的操作;例如管理资源,实施物理器件内存映射,确保寄存器 输出邻近出现或响应中断。视频微型端口驱动器1709还处理与显卡的 交互模式设置,多个硬件类型(最小化显示驱动器中硬件类型的依赖 性)及将视频寄存器映射至显示驱动器1706的地址空间。为执行微型端口写入的操作,驱动器写入器需要执行一些函数。 这些函数输出至与微型端口相互作用的视频端口。驱动器写入器指定 视频内存和寄存器的绝对地址(呈现于视频卡上,在微型端口内)。这 些地址首先转换为总线相对地址,然后转换为调用过程地址空间内的 虚拟地址。显示驱动器1706的首要职责为呈现。当应用调用Win32函数并带 有无关于设备的图形请求时,图形设备接口 (GDI) 1705解释指令并 调用显示驱动器1706。显示驱动器1706随后将这些指令翻译成让视频 硬件在屏幕上绘图的指令。显示驱动器1706能够直接访问硬件。默认的,图形设备接口 1705 处理在标准格式位图上的绘图操作,例如在具有帧缓冲的硬件上。显 示驱动器1706可钩住并实施该硬件提供特殊援助的任何一个绘图函 数。对于不太紧急的操作和图形适配器不支持的比较复杂的操作,驱 动器1706可以将函数推回图形设备接口 1705,并允许图形设备接口 1705进行此操作。对于时间特别紧急的操作,显示驱动器1706有视频 硬件寄存器的直接访问权。例如,x86系统的VGA显示驱动器利用优 化的组装码来实现对硬件寄存器在绘图和文本操作中的直接访问。除了呈现,显示驱动器1706还执行例如表面管理和平面管理等其 他操作。参考图18,显示了在图形设备接口和显示驱动器间的多个输 入输出。在一个实施例中,图形设备接口 1801发出DrvEnableDriver命 令1801至显示驱动器1802 。图形设备接口 1801随后发出 DrvEnablePDEV命令1811至显示驱动器1802。图形设备接口 1801之 后从显示驱动器1802接收了 EngCreatePalette命令1812。图形设备接 口 1801接下来发出DrvComplatePDEV命令1813至显示驱动器1802。 图形设备接口 1801随即发出DrvEnableSurface命令1814至显示驱动 器1802。图形设备接口 1801接下来从显示驱动器1802接收 EngCreateDeviceSurface命令1815及EngModifySurface命令1816。参考图19,所示为图形产生系统的软件结构1900。软件结构1900 代表微软的DirectDraw,包括下列成分1. 用户模式DirectDraw,由DirectDraw应用加载并调用。此 组件提供了硬件仿真,管理多个DirectDraw对象,并提供 显示器内存和显示器硬件管理服务。2. 内核模式DirectDraw,由内核模式显示驱动器加载的系统 提供的图形引擎。这部分DirectDraw为驱动器执行参数验 证,使其易于执行更多的鲁棒性好(robust)的驱动器。 内核模式DirectDraw还能处理与图形设备接口及所有跨过程状态的同步。3. 显示驱动器的DirectDraw部分,与其余的显示驱动器一起,由显卡硬件供应商实现。显示驱动器的其余部分处理 图形设备接口和其他非DirectDraw相关的调用。当调用DirectDraw 1900时,它直接通过DirectDraw驱动器1902 访问显卡。DirectDraw 1900调用DirectDraw驱动器1902以获得支持 硬件函数,或硬件仿真层(HEL) l卯3以获得软件中必须仿真的函数。 GDI 1905的调用被送至驱动器。在初始化和模式转换期间,显示驱动器返回性能比特至DirectDraw 1900。这使DirectDraw 1900能够访问关于可利用驱动器函数的信息, 它们的地址及显卡和驱动器的性能(例如展宽、透明比特、显示间距 或其他高级特征)。 一旦DirectDraw 1900掌握了这个信息,他可以利 用DirectDraw驱动器直接访问显卡,而不需要执行图形设备接口调用 或利用显示驱动器的图形设备接口特定部分。为了从应用直接访问视 频缓冲区,有必要将视频内存映射至调用过程的虚拟地址空间。在一个实施例中,虚拟显示驱动器和镜像显示驱动器源自正常显 示驱动器的结构,并包括微型接口驱动器和对应的显示驱动器。在常 见的显示驱动器中,有一种连接于PCI总线或AGP槽的物理器件。视 频内存和寄存器都在视频卡上有物理体现,他们运用DirectDraw映射 于图形设备接口处理或捕捉应用的地址空间。然而,在所介绍的一个 实施例中,没有物理视频内存。操作系统通过在总内存中分配内存的 方法假设存在物理器件(指虚拟器件)及其内存,代表视频内存和寄 存器。当加载本发明的微型端口时,大块内存,例如2.5MB,从未分 页的内存池中预留出来。此块内存作为视频内存。此内存随后映射至 图形设备接口处理的虚拟地址空间(在图形绘制操作情况中的应用)。 当本发明的显示驱动器请求至内存的指针时,微型接口返回在随机存 取存储器(RAM)中预留的指向视频内存的指针。因此对于图形设备 接口和显示设备接口 (或在DirectDraw中的应用),视频内存是在随机 存取存储器还是视频卡上是透明的。显示驱动器接口或图形设备接口 在此内存地点进行呈现。本发明的微型端口也为覆盖分配了一块独立 的内存。 一些应用和视频播放器例如Power DVD、 WinDVD等利用覆盖内存进行视频呈现。在一个常见实施例中,呈现由显示驱动器接口和图形设备接口实 现。图形设备接口提供了独立于呈现操作的普通设备,而显示驱动器 接口执行特定操作的设备。显示结构层中图形设备接口在显示驱动器 接口之上,并提供了显示驱动器接口可以将其职责委派给图形设备接 口的便利。在本发明的一实施例中,因为没有物理设备,就没有特定 操作的设备。因此,本发明的显示驱动器将呈现操作委派给图形设备 接口。显示驱动器接口将视频内存指针提供给图形设备接口,图形设备接口基于从Win32图形设备接口处理接收的请求实施呈现。相似的, 在本发明与DirectDraw兼容的情况下,呈现操作由显示驱动器接口委 派给HEL (硬件仿真层)。在一个实施例中,本发明包含镜像驱动器,当加载时,将自己附 于主显示驱动器上。因此,所有至主显示驱动器的重现调用也路由至 镜像驱动器,任何在主显示驱动器的视频内存上重现的数据也在镜像 驱动器的视频内存上呈现。如此,镜像驱动器用于计算机显示复制。在一个实施例中,本发明包含虚拟驱动器,当加载时,作为扩展 虚拟驱动器操作。当安装了虚拟驱动器后,在计算机的显示属性上显 示为次级驱动器,用户可以将显示扩展到此显示驱动器上。在一个实施例中,镜像驱动器和虚拟驱动器支持下列的分辨率 640X480, 800X600, 1024X768, 1280X1024。对于每个分辨率,驱 动器支持8、 16、 24、 32比特色深和75赫兹的刷新率。在覆盖表面上 的呈现以YUV 420格式进行。在一个实施例中,软件库用于支持利用镜像或虚拟驱动器捕捉计 算机显示。库将分配给镜像和虚拟设备驱动器的视频内存在其初始化 时映射至应用空间。在捕捉功能中,库复制应用缓冲区中映射的视频 缓冲区。如此,应用在此特殊情况中具有计算机显示的复制。为捕捉覆盖表面,库将视频缓冲区映射至应用空间。另外,指针 也映射至拥有最后呈现的覆盖表面地址的应用空间。指针在驱动器里 更新。当在覆盖内存的重现开始时,库从虚拟显示驱动器上获得通知。 显示驱动器将颜色提取值通知捕捉库。在复制主视频内存后,软件模 块,CAPI,复制利用由驱动器空间映射的指针所呈现的最后的覆盖表面。它进行YUV至RGB转换,并在RGB数据延展至所需尺寸后将其 粘贴在呈现颜色提取值的主视频内存的矩形区域。颜色提取值为一个 由GDI粘贴在主视频内存上的特殊值,以代表覆盖层上的数据应当复 制到的区域。在计算机操作当前Windows/NT操作系统的使用中,覆 盖仅应用于扩展的虚拟设备驱动器而不用于镜像驱动器,因为当附加 镜像驱动器时,DirectDraw被自动禁用。尽管视频和图形捕捉方法和系统都特别关联微软操作系统进行描 述,但应当了解相似的镜像显示驱动器和虚拟显示驱动器方法都可用 于其他计算机操作的其他操作系统。在一个实施例中,通过用于常见的基于计算机的音频播放器接口 捕捉音频以播放音频数据。在一个实施例中,利用与微软Windows和 NT操作系统兼容的微软Windows Multimedia API捕捉音频。微软 Windows多媒体库提供了至应用的接口,以利用waveOut调用在视频 设备上播放音频数据。相似的,微软Windows多媒体库还提供了从音 频设备录制音频数据的接口 。录制设备的源可以为线路输入(Line In), 麦克风或其他源标识。应用可以在它想录制的数据中指定格式(采样率、 每个采样的比特数)。在Windows/NT兼容的操作系统计算环境中音频 捕捉的示范性性步骤设置如下。
1. 应用利用WavelnOpen()函数打开音频设备。它指定了要 录制的音频格式,每次捕捉音频数据的大小和当音频数 据指定大小可用时的回叫函数。
2. 应用调用waveInAddBuffer()函数给windows音频子系统 传递多个空的音频缓冲区。
3. 调用wavelnStart()函数指定捕捉应用的开始。
4. 当指定大小的音频数据可利用时,Windows音频子系统 调用回叫函数,将音频数据传递给由应用传递的一个或 多个音频缓冲区中的应用。
5. 应用将音频数据复制到当地缓冲区,如果需要继续捕捉, 通过wavelnAddBuffer()函数将空音频缓冲区传递至 windows音步员子系统。
6. 当应用需要停止捕捉时,应用调用waveInCloseO。在一个实施例中,在媒体回放应用中选择立体声混音菜单并在过 程中捕捉音频。音频设备通常具有传送音频的能力,在输出端播放, 返回至输入端。虽然在不同系统中命名有所不同,通常指的都是"立体 声混音"。如果在回放菜单中选择立体声混音菜单,则在默认音频设备上调用waveln录制音频,从而所有在系统上播放的东西都被录制下来, 也就是说在系统上播放的音频可以被捕捉。应当了解某个指定的方法 依赖于特定音频设备的能力,本领域技术人员应当了解如果结合上面 的指导来捕捉音频流。还应当了解,为了避免计算机和远程设备音频 的同歩回放,本地音频(计算机上)应当静音,但此类静音不应当也静音 路由至输入端的音频。在另一实施例中,虚拟音频驱动器,指虚拟音频线(VAC),安装为 可以选择为默认回放和/或录制设备的正常音频驱动器。虚拟音频线的 特点是,默认的,它将所有行至其音频数据端的音频路由至输入端。 因此,如果将虚拟音频线选择为默认回放设备,所有在系统上播放的 视频将行至虚拟音频线的输出端进而进入输入端。如果任何应用从虚 拟音频线的输入端利用合适的接口 ,例如waveln API捕捉音频,它可 能够捕捉在系统上播放的任何媒体。为了利用虚拟音频线捕捉音频, 必须将其选择为默认音频设备。 一旦将虚拟音频线选择为默认音频设 备,将听不到在本地扬声器上的音频。Where然后媒体同时的以同步方式无线传输505至接收机,如前所述。 与远程监视设备通信的接收机接收506压縮的媒体数据。媒体数据然 后利用多媒体数字信号编解码器解压507。数据最后在视频设备508 呈现。传输媒体可以采用任何传输协议。然而,优选的为依照混合型 TCP/UDP协议,传输独立的利用时钟或计数器同步的视频和音频数据 流。特别地,时钟或计数器序列的传送提供了每个数据流定时的参考。参考图6,描述了本发明前述TCP/UDP混合型协议的一实施例。 TCP/UDP混合型协议600包含与20 TCP、 20 IP和物理层包头大小相 等的TCP包头601,及与8TCP、 20IP和物理层包头大小相等的UDP 包头602。图7为描述本发明实现的TCP/UDP实时(RT)传输协议的功能性步骤的流程图。发射机和接收机,如前所述,步骤701中,利用TCP建 立连接;在步骤702中,发射机利用TCP发送所有的参考帧。其后, 步骤703中,发射机利用在歩骤701中建立连接的相同的TCP端口发 送剩余的实时包,但在步骤704将UDP切换为传送协议。在利用UDP 传输实时包的同时,发射机还进一步检查是否存在延迟传输的实时包。 在歩骤705中,发射机在其本身处的IP与MAC之间的延迟帧。但是 延迟参考帧/包却总是发送的。因此,TCP/UDP协议在大幅度改进了实 时通信量和网络吞吐率的同时显著降低了冲突。TCP/UDP协议还使用ACK电子欺骗(spoofing)作为在无线网络 实时传输的拥塞信令的方法。在无线网络上发送实时通信可能是缓慢 的。其中的原因之一为在传输每个数据块之后,TCP常常在重新开始 接收下一个数据帧之前要求接收来自目的地/接收机的ACK信号。在 IP网络中,特别是无线网,存在由于网络拥塞使ACK信号丢失的较大 概率,在实时通信中尤其如此。因此,由于TCP进行流量控制和拥塞 控制,拥塞控制会由于例如在接收机处没收到ACK信号而导致无线网 络的连接故障。为处理连接故障,在一个实施例中,本发明在网络上发送的实时 通信上应用ACK电子欺骗。通过执行ACK电子欺骗,如果接收机在 一定时间段内没有收到如何ACK信号,发射机为TCP产生一个伪ACK 信号以恢复发送过程。在另一个实施例中,对于由于拥塞和下降的网 络吞吐量引起的低品质传输,发射机和接收机之间的连接被破坏,一 个新的TCP连接对相同的接收机开放。这就可以使前面连接的拥塞问 题得以清除。应当了解本传输方法仅为多个传输方法之一,旨在描述 示例性的操作。参考图8,方块图描述了集成的无线系统中多媒体数字信号编解码 器的组件。多媒体数字信号编解码器800包含将数据流内容中的时间 冗余移除的运动估计块801,将帧转换为执行离散余弦变换(DCT)的8 X8块象素的离散余弦变换模块802,进一歩将内容编码为较短字的可 变长度编码(VLC)编码电路803,将空间频率转回象素域的离散余弦逆 变换(IDCT)模块804,及加快媒体传输的速率控制机制805。运动估计模块801用于采用视频相邻帧的时间冗余压縮视频。在运动估计中所用到的算法优选的为完全搜索算法,其中参考帧的每一 块都与当前块进行比较以找到最为匹配的块。正如其术语所表示的, 完全搜索算法将搜索区域中的每一个点都作为检査点,并将对应参考 帧与当前帧块的所有检查点的所有象素逐一比较。最佳的检查点被判 定获得运动向量值。例如,图9描述了运动估计块的一个实施例的功能性步骤。图中所示的检査点A和Al分别对应参考帧中的块902和904。如果检査点 A向左下方移动一个象素,它就变成了检査点A1。这样,当块902向 左下方移动一个象素时,它就变成了块卯4。比较技术实施的方法为,计算所有对应象素的图像信息差并将图 像信息中差值的绝对值相加。最后,执行绝对差值的和(SAD)。然后, 在所有的检査点中,具有最低SAD的检査点被判定为最佳检査点。对 应于最佳检查点的块为参考帧的块,此参考帧块最佳匹配将要进行编 码的当前帧。此两块获得运动向量。参考回图8, 一旦实施了运动估计,图像将由离散余弦模块802 通过离散余弦变换编码。离散余弦变换编码方案将象素(或误差项)变换 为一组对应于特定余弦基本函数幅度的系数。离散余弦变换(DCT)通常 被视为视频压縮的最有效方法并应用于采样数据,例如数字图像数据, 而不是连续波形。使用离散余弦变换进行图像压縮是有优势的,因为变换将象素行 和列形式的高度相关的N点输入空间向量转换为包括离散余弦变换系 数行和列的N点离散余弦变换系数向量,其中的频率系数通常为零。 由每个向量的平方值定义的空间向量的能量由离散余弦变换保留,以 便所有典型的、低频的高度相关的空间图像的能量都集中于最低频率 离散余弦变换系数中。此外,人类心理视觉系统对高频信号低敏感, 使得高频离散余弦变换系数表达式中准确度的下降只导致了能感觉到 的图像质量的最小降低。在一个实施例中,来自离散余弦变换块的8 X8块与归一化矩阵相除,以降低离散余弦变换系数的幅度。在此种情 况下,人眼所能见的关于高频的信息趋于消失。此结果被重新排序并 发送至可变编码块803。可变长度编码(VLC)块803为给待编码的值分配码字的统计编码块。高频出现的值分配以短码字,而低频出现的值则分配以长码字。 平均来看,更多频繁出现的短码字占优势,以至码串比普通数据的长 度短。可变长度编码产生由离散余弦变换系数值和非零离散余弦变换 系数间象素数的游程长度组成的编码,当非零离散余弦变换系数的数 量最大时产生高度压縮的编码。从可变长度编码块获得的数据以合适 的比特率传输给发射机。每秒传送的数据量为比特率。图10描述了示例性的数字信号波形和数据传送。垂直轴1001代表电压,水平轴1002代表时间。数字波形的脉宽为N,周期为2N,其 中N代表脉冲的比特时间(即信息传送的时间)。脉宽N,可以为任何时 间单位,诸如纳秒、微秒、皮秒等。以此方式可以传输的最大数据率 为每秒1/N次传送,或者每半周期一比特数据(标为时间N的数量)。 数字波形的基频为1/2N赫兹。在一个实施例中,采用了较之使用上述 方法的MPEG2数据比特率提高了 50%的简单速率控制。从而在较短时 间内有大量数据传送至发射机而使过程实时。然后依照上述传输协议传输压缩的数据,并由接收机无线接收。 为提供运动视频功能,压縮的视频信息必须快速且有效的解码。在优 选实施例中使用的解压过程,为离散余弦逆变换(IDCT)。离散余弦逆 变换(IDCT)将变换域数据转换回空间域形式。经常使用的二维数据块 大小为8X8个象素,提供了在编码效率和硬件复杂度间的良好妥协。 离散余弦逆变换电路在解码视频信号上逐块执行离散余弦逆变换来提 供解压的视频信号。参考图11,描述了离散余弦逆变换块处理和选择性优化图。电路 1100包括预处理离散余弦变换系数模块llOl(后用PDCT表示),评估 系数模块1102,离散余弦逆变换选择模块1103,离散余弦逆变换计算 模块1104,帧速率监视模块1105和离散余弦逆变换参数调整模块 1106。操作中,从发射机接收的无线传输的媒体,包括多个编码的离 散余弦变换系数,被发送至PDCT模块1101。 PDCT模块1101选择性 将一些离散余弦变换系数设置为零,以提高离散余弦变换程序的处理 速度而少损害或不损害视频质量。离散余弦变换系统评估模块1102从 PDCT 1101接收预处理的离散余弦变换系数。评估电路1102在进行离 散余弦逆变换操作之前检査离散余弦变换系数模块中的系数。依据非零系数的数目,离散余弦逆变换(IDCT)选择电路1103选择处理系数 的最佳离散余弦逆变换程序。系数的计算由离散余弦逆变换计算模块 1104完成。在一个实施例中,多种离散余弦逆变换(IDCT)引擎可由 选择电路1103选择性激活。典型的,离散余弦逆变换系数与先前显示 的数据相结合。帧速率监视模块1105其后确定视频系统的合适帧速率, 例如通过读取系统时钟寄存器(未显示),对应需求的帧速率比较逝去 时间与预存储的帧间隔。然后,IDCT参数调整模块1106根据需求的 或适合的帧速率调整包括非零系数阈值、频率和幅度的参数。上述的IDCT模块依据所选择的合适IDCT方法进行离散余弦逆变 换。例如,8X8前向离散余弦变换由下列公式定义<formula>formula see original document page 20</formula>其中x(i,j)为在空间域i,j中8X8图像块的象素值,X(u, v)为变换 域u, v中8X8变换块的变化系数。C(O) = 1/V^",C(u) = C(v) = 1 。 离散余弦逆变换(IDCT)由下面公式定义<formula>formula see original document page 20</formula>8X8的IDCT被视为64个正交DCT基矩阵的组合,每个二维频 率(v, u)对应一个基矩阵。而且,每个基矩阵被视为每个设置为1的变 换系数的二维IDCT变换。因为在8X8IDCT中有64个变换系数,就 有64个基矩阵。IDCT变换核K(v,u),也称为DCT基矩阵,代表在频 率(v,u)的变换系统,依据公式<formula>formula see original document page 20</formula>nu(u) = 1/2 u 〉 0的规一化系数。IDCT通过变换系数对每个 在那个区域的核进行换算并将所换算的核相加的方法进行计算。空间 域矩阵S利用下列公式得到应当了解,使用4X4变换块也是可以的。如前所讨论的,虽然不同的媒体流可以多路复用并在单个流中传输,优选的为以同步方式单独传输各媒体数据流。参考图12,方块图 描述了集成的无线系统同步媒体数据的同步电路的组件。同步电路1200包含载有视频和音频媒体的缓冲区1201,传输视频的第一插槽 1202和传输音频的第二插槽1203,在发射机1206端的第一计数器1204 和第二计数器1205,接收视频数据的第一接收机1207,接收音频数据 的第二接收机1208,第一计数器1209,第二计数器1210,混合器1211 和接收机末端1213的缓冲区1212。可操作的,在发射机1206端的缓冲区1201的音频和视频数据在 压縮后独立地在第一插槽1202和第二插槽1203传输。计数器1204、 1205为之前传输的视频和音频数据都添加识别序列号。在一个实施例 中,音频数据优选的通过用户数据电报协议(UDP)传递而视频数据 则通过终端控制协议(TCP)传递。在接收机末端1213,由音频接收 机模块1208和视频接收机模块1207实施的UDP协议和TCP协议接收 音频和视频信号。计数器1209、 1210确定音频和视频信号的序列号并 将其提供至混合器1211以激活信号的精确混合。混合的数据由缓冲区 1212缓冲然后由远程监视器呈现。参考图13,流程图描述了本发明集成无线系统同步音频和视频信 号的另一实施例。起初,接收机在歩骤1301无线接收编码视频数据流 和编码音频数据流。然后接收机在步骤1302确定处理编码数据流的视 频部分和音频部分所需要的时间。之后,在歩骤1303,接收机决定处 理编码流的视频部分与处理音频部分的时间差。随后在步骤1304中, 接收机确立哪个的处理时间较长(即视频处理时间或音频处理时间)。如果音频处理时间较长,则视频的展示由已确定的时间差延迟, 从而将解码的视频数据与解码的音频数据同歩。然而,如果视频的处 理时间较长,则音频的展示则不被延时而在步骤1306中以正常的速率 进行。视频展示尝试通过一定时间间隔后忽略视频帧的方法追赶音频 展示。数据最终在步骤1307呈现于远程监视器上。因此,音频"领导" 视频表示视频将其自身与音频同步。在一特别实施例中,解码的视频数据大体上与音频数据同步。大 体同步的意思是,虽然在视频数据展示与音频数据展示之间存在理论 上可测量的微小差,但用户在看和听所展示的视频数据和音频数据时几乎是觉察不到如此小的差异的。典型的传输流以大体恒定的速率接收。在此情况下,应用于视频 展示和音频展示的延迟不能频繁的改变。如上所述的程序可以周期性的(例如每几秒或每30接收的视频帧)进行,以确保当前应用于视频展示或音频展示的延迟仍然在某一特定阈值内(例如视觉和听觉感知 不到的)。或者,此程序可为每一从传输流接收的新一帧的视频数据实 施。参考图14,描述了音频视频同步电路的另一实施例。发射机末端 1401的同步电路1400包含载有媒体数据的缓冲区1402,结合媒体数 据信号(例如图片、文本、音频和视频信号)的多路开关选择器1403, 为媒体内容同步提供时间戳的时钟1404。在接收机末端1405,多路信 号分离器1406利用时钟1407将数据流移交至单体媒体数据流。时钟 提供的时间戳帮助在接收机末端同步视频和音频。时钟设置为与接收 机的频率相同。分离的视频和音频,传输至扬声器1408和显示器1409 进行呈现。在一个实施例中,本发明提供了在计算设备或远程监视器上自动 下载、安装和更新本发明新软件的系统与方法。在远程监视器、远程 监视器的接收机、计算设备或计算设备的发射机上安装软件程序不需 要软件CD。作为例子,提供了个人电脑与无线投影仪间的通信,虽然 此描述为概括性的,但可以应用于任何计算设备和远程监视器的组合。 如前所述的,假设个人电脑与无线投影仪都与片上的操作系统进行数 据通信。启动时,无线投影仪(WP-AP)运行一个脚本将自己配置为一个 接入点。无线投影接入点设置服务区标识符(SSID)为QWPxxxxxx, 其中xxxxxx是接入点物理地址的低六字节。无线投影接入点把它的IP 地址设置为10.0.0.1。无线投影接入点启动一个超文本传输协议(HTTP) 服务器。无线投影接入点启动拥有下列配置文件的动态主机配置协议 (DHCP)服务器起始地址10.0.0.3结束地址10.0.0.254域名服务器10.0.0.1缺省网关10.0.0.1 (地址的第二以及第三个八位字节可以配置)无线投影接入点启动一个小型域名(DNS)服务器,此服务器配 置成对所有的域名查询返回10.0.0.1 (也就是无线投影接入点的地址)。 如果无线投影接入点的IP地址变化了,回应中的IP地址也会变化。超 文本传输协议服务器的缺省页面有一个小型的软件程序进行软件的自 动升级,这个小型程序可以是Java网页程序。超文本传输协议服务器 的错误页面总是被重定向到缺省页面,确保任意的超文本传输协议请 求可以访问缺省页面。这种情况也适用于浏览器的缺省页面指定了某 些目录,比如http:〃www.microsoft.com/isapi/redir.dll prd=ie&pver=6&=msnhome无线投影接入点通过它的片上系统和收发器,作为接入点进行通 信。用户的计算设备有能够依据已知的无线传输协议和标准进行无线 传输协议和接收信息的收发器。用户的计算设备把无线投影仪识别为 一个接入点,用户通过图形用户界面引导计算设备加入接入点,此图 形用户界面为本领域技术人员所周知。当加入无线投影仪的接入点之后,用户打开计算设备的网页浏览 器应用,在对话框中键入任意的统一资源定位符(URL),或者允许浏 览器跳转至默认的URL。打开网页浏览器访问了无线投影接入点超文 本传输协议服务器的默认网页,导致了软件程序的初始化(例如Java 程序)。在一个实施例中,软件程序检查用户的浏览器是否对其进行支持 以便进行自动软件升级。其余的例子将关于Java进行描述,但应当了 解任何软件程序语言都可以使用。如果浏览器支持Java, Java程序将检査执行于此所描述的媒体传 输方法的软件和驱动器是否己经安装。如果已经存在,Java程序进行 版本比较,如果计算设备的软件版本低于远程监视器的版本则自动开 始安装新版本。如果浏览器不支持Java,则用户网页被重新定向至一个可执行的 安装,提示用户对其保存或运行。页面还显示如何保存和运行安装的 指导。安装程序还检査用户是否已经安装了此软件和版本是否需要升级。这样通常建议用户安装Java。在第一实施例中,无线投影接入点的域名服务器的起始地址为 10.0.0.2。无线投影接入点运行动态主机分配协议(DHCP)进行以太 网连接,并从本地网络的动态主机分配协议服务器上获得IP、网关、 子网及域名服务器地址。如果动态主机分配协议被禁用,则使用固定 值。安装程序安装应用、卸载程序和驱动程序。应用自动运行。连接 中,应用获取无线投影接入点以太网端口的域名服务器地址,并将其 设置在本地机器上。当建立连接之后,无线投影接入点激活IP转发并 设置防火墙,以便其只将包从连接应用转发至以太网,反之亦然。这 些设置使用户能够访问无线投影接入点的本地以太网络及接入互联 网。防火墙确保只有连接至无线投影接入点的用户及其应用可以访问 本地网络/以太网。断开过程中,无线投影接入点禁用IP转发,并恢复 防火墙设置。应用在用户系统上运行并设置域名服务器为10.0.0.1。在 退出应用过程中,域名服务器设置为动态主机分配协议。在另一实施例中,在安装过程中,提示用户选择计算设备是否选 择为网关。依赖于其响应,安装合适的驱动程序、软件和脚本。参考图15,展示了自动下载和升级本发明软件的另一示例性设置。 无线投影接入点具有预分配的IP地址IO.A.B.I,网关系统有预分配的 IP地址10.A.B.2,其中A、 B两个可以由用户改变的8位字节。无线投影接入点被导入。用户的计算设备扫描可利用的无线网络 并选择QWPxxxxxx。计算设备的无线设置应当具有激活的自动TCP/IP 设置,即应当检查"自动获取IP地址"和"自动获取域名服务器地址"选 项。计算设备将自动获取从10.0.0.3至10.0.0.254的IP地址。默认网 关和域名服务器设置为10.0.0.1。用户打开浏览器,如果其支持Java,则开始自动软件更新。如果 其不支持Java,将提示用户保存安装程序然后需要手动运行。如果计 算设备将不作为至网络(例如因特网)的网关,在安装过程中,用户 将网关选项选择为"不"。安装运行脚本以将域名服务器地址设置为10.0.0.2,以便可以适当 的引导下一个域名服务器请求。在桌面上创建一个应用链接。用户运 行应用,开始传输用户屏幕上的准确内容至投影仪。如果需要,用户现在可以改变无线投影接入点的设置(服务器标识符、信道、IP地址 设置第二和第三个八位字节可以变为IO.O.O.X)。如果计算设备作为至网络(例如因特网)的网关,在安装过程中, 当提示时用户将网关选项选择为"是"。然后安装激活以太网接口上的因特网共享(IP转发,共享为Windows 2000和Windows XP网络接口 属性中的选项),设置系统的无线接口 IP地址为10.0.0.2,设置系统的 无线接口的掩码为255.255.255.0,设置系统无线接口网关为10.0.0.1。 在桌面上创建应用链接。用户运行应用,开始传输用户屏幕上的准确 内容至投影仪。如果需要,用户现在可以改变无线投影接入点的设置 (服务器标识符、信道、IP地址设置第二和第三个八位字节可以变 为lO.O.O.x)。应当了解本发明使媒体能够从计算设备实时传输至一个或多个远 程监视器设备或其他设备。参考图16,描述了本发明集成的无线多媒 体系统的另一安排方式。在此特定实施例中,描述了发射机1601与多 个接收机1602、 1603、 1604的通信。发射机1601将媒体无线传输至 集成于,或与多个设备1602、 1603、 1604进行数据通信的接收机。在 另一实施例中,上文提到的软件还可用于镜像捕捉模式和扩展模式。 在镜像捕捉模式中,内容的实时流与在发射机和接收机端显示的相同 内容同时进行。然而,在扩展模式中,用户可以在发射机端进行其他 应用,传输作为后台进程继续。上面的例子仅例证了本发明系统的多个应用。尽管在此只描述了 本发明的一些实施例,应当理解本发明可以在不偏离其发明精神或使 用范围的基础下实施以许多其他的形式。例如,在本发明的范围和意 图之内可以使用发射机、网络和接收机的其他设置。因此,所呈现的 例子和实施例都作为说明性的而非限制性的,本发明不限于于此给出 的详细内容,可以在所附权利要求的范围内进行修改。
权利要求
1、一种从源捕捉媒体并无线传输所述媒体的方法,包含的步骤有在计算设备上播放所述媒体,包含至少视频数据和音频数据;利用镜像显示驱动器捕捉所述视频数据;从输入源捕捉所述音频数据;压缩所述捕捉的音频和视频数据;及利用发射机传输所述压缩的音频和视频数据。
2、 如权利要求1所述的方法,进一步包含的歩骤有,在接收机接 收所述媒体、解压所述捕捉的音频和视频数据、在远离所述源的显示 器上播放所述解压的音频和视频数据。
3、 如权利要求2所述的方法,其中所述的发射机和接收机利用TCP 建立连接,发射机利用UDP传输视频数据包。
4、 如权利要求1所述的方法,其中所述媒体进一歩包含图形和文 本数据,其中所述的图形和文本数据与所述视频数据一起利用镜像显 示驱动器进行捕捉。
5、 如权利要求l所述的方法,进一步包含利用多媒体数字信号编 解码器处理所述视频数据的步骤。
6、 如权利要求1所述的方法,其中所述的多媒体数字信号编解码 器利用运动估计模块将来自视频数据的时间冗余移除。
7、 如权利要求1所述的方法,其中所述的多媒体数字信号编解码 器利用离散余弦变换模块将视频数据帧转换为8X8的块。
8、 如权利要求1所述的方法,其中所述的多媒体数字信号编解码 器利用可变长度编码电路将视频内容编码为较短的字。
9、 如权利要求1所述的方法,其中所述的多媒体数字信号编解码 器利用离散余弦逆变换模块将视频数据的空间频率转换回象素域。
10、 如权利要求1所述的方法,其中所述的多媒体数字信号编解码器具有加快媒体传输的速率控制机制。
11、 一种存储于计算机可读基底的程序,用于从源捕捉包含至少视频数据的媒体,并无线传输所述媒体,包含用于捕捉所述视频数据的操作于内核模式的镜像显示驱动器;用于处理所述视频数据的多媒体数字信号编解码器;用于传输所述处理的视频数据的发射机。
12、 如权利要求1所述的程序,进一步包含虚拟显示驱动器。
13、 如权利要求1所述的程序,其中所述的发射机和接收机利用 TCP建立连接,发射机利用UDP传输视频数据包。
14、 如权利要求1所述的程序,其中所述媒体进一步包含图形和 文本数据,其中所述的图形和文本数据与所述视频数据一起利用镜像 显示驱动器进行捕捉。
15、 如权利要求1所述的程序,其中所述的多媒体数字信号编解 码器包括运动估计模块用于移除来自视频数据的时间冗余。
16、 如权利要求1所述的程序,其中所述的多媒体数字信号编解 码器包括离散余弦变换模块,用于将视频数据帧转换为8X8的块。
17、 如权利要求1所述的程序,其中所述的多媒体数字信号编解 码器包括可变长度编码电路,用于将视频内容编码为较短的字。
18、 如权利要求1所述的程序,其中所述的多媒体数字信号编解 码器包括离散余弦逆变换模块,用于将视频数据的空间频率转换回象素域。
19、如权利要求1所述的程序,其中所述的多媒体数字信号编解 码器具有加快媒体传输的速率控制机制。
全文摘要
本发明一般涉及数据由源至监视器无线实时传输的方法与系统。本发明还一般涉及无线设备大量的自动设置。在一示意性实施例中,本发明为一种从源捕捉视频与音频数据并无线传输此数据的方法,包含播放数据,利用镜像显示驱动器捕捉视频数据,从输入源捕捉音频数据,压缩所捕捉的音频和视频数据,及利用发射机传输压缩的视频和音频数据的步骤。
文档编号H04N7/12GK101273630SQ200680013457
公开日2008年9月24日 申请日期2006年4月18日 优先权日2005年4月21日
发明者A·J·考恩, J·阿比希克, M·I·西迪基, M·奥斯曼, M·萨基卜, P·劳尔特, S·艾哈迈德 申请人:四次方有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1