CN101208872A - 用于对音频-视频编解码器进行抽象化的系统 - Google Patents

用于对音频-视频编解码器进行抽象化的系统 Download PDF

Info

Publication number
CN101208872A
CN101208872A CNA2006800134014A CN200680013401A CN101208872A CN 101208872 A CN101208872 A CN 101208872A CN A2006800134014 A CNA2006800134014 A CN A2006800134014A CN 200680013401 A CN200680013401 A CN 200680013401A CN 101208872 A CN101208872 A CN 101208872A
Authority
CN
China
Prior art keywords
media
medium
encoded
source
player
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
CNA2006800134014A
Other languages
English (en)
Inventor
M·麦克基斯沃茨
B·斯特恩格拉斯
D·史密斯
D·平克弗德
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101208872A publication Critical patent/CN101208872A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种利用编解码器抽象层(CAL)来使得在不要求游戏应用程序代码被更改的情况下,游戏系统能够容纳新颖和/或经更改的编解码器的游戏系统。用作应用程序编程接口(API)的CAL在媒体源与游戏应用程序之间工作。游戏应用程序与CAL而非编解码器交互动作。编解码器之间的差异对于游戏应用程序而言是透明的。在不用更改现有应用程序代码的情况下,可引入新的编解码器并通过现有应用程序使用它。CAL处理来自诸如存储器、文件、http源、队列、定制源、外部驱动器或游戏媒体源(例如XMedia)的多个源的媒体。CAL确定媒体的源、所接收到的媒体的类型(例如音频、视频、动画或游戏)以及用于压缩媒体的编解码器。CAL向游戏应用程序提供经解码的媒体。

Description

用于对音频-视频编解码器进行抽象化的系统
技术领域
本发明一般地涉及游戏系统,尤其涉及用于将游戏系统应用程序与各种编解码器连接的应用程序编程接口(API)。
背景技术
游戏系统在本领域中是众所周知的。示例游戏系统包括微软公司的Xbox和Xenon游戏系统。日益更新换代的动态多媒体产业会对游戏系统产生影响。此外,用户的偏好在变化。今天流行的东西可能在明天就不流行。新颖和经改进的多媒体格式和压缩模式正持续不断地打入市场。例如,频繁地开发并实现新颖/经改进的编解码器。编解码器是一种可在软件、硬件或其组合中实现的压缩和解压缩算法。通常,编解码器用于在媒体存储或传输压缩形式与其再现的非压缩形式之间转换该媒体(例如视频、音频、图像等)。通常,当实现新颖编解码器时,必须将与该新颖编解码器连接的应用程序更改成与它们相兼容。这可能是耗时、麻烦且昂贵的。这在游戏系统中尤其确切,因为已交付到用户手中的游戏系统并非可容易地更改。
当开发出新颖编解码器、现有编解码器被更改或用户偏好改变时,在无需更改游戏应用程序的情况下,使游戏系统与新颖/经更改的编解码器相兼容是有益的。因而,期望在无需对游戏应用程序代码更改的情况下,游戏系统允许实现新颖和/或经更改的编解码器。
发明内容
在本发明的一个示例性实施例中,在媒体源与游戏应用程序之间实现编解码器抽象层(codecs abstraction layer)。以一个或多个计算机程序的形式实现编解码器抽象层(CAL),并且在一个示例性实施例中被实现为应用程序编程接口(API)。CAL能够处理来自各种源的、根据各种编解码器编码的媒体。CAL还能够根据适当的编解码器对经编码的媒体进行解码。CAL向游戏应用程序提供经解码的媒体。CAL确定媒体源、进行接收的媒体类型、以及用于压缩媒体的编解码器。媒体源包括例如存储器、文件、http源、队列、定制源、外部驱动器、或游戏媒体源(例如XMedia)。媒体类型包括例如音频媒体、视频媒体、图像媒体、动画、游戏媒体或其组合。CAL确保从媒体源适当获得媒体并对其格式化,以及确保对经编码的媒体适当地解码以经由游戏媒体播放器再现。游戏应用程序与CAL而非与编解码器交互动作。编解码器之间的差异与游戏应用程序不相关。在不更改现有应用程序代码的情况下,可引入并使用新颖编解码器。
附图说明
图1是根据本发明的一个示例性实施例的、用于向媒体播放器提供媒体的系统的框图;
图2是根据本发明的一个示例性实施例的编解码器抽象层的单个示例的示图;
图3是根据本发明的一个示例性实施例的、示出了多个媒体源、多个解码器对象、多个存储器队列(memory queue)和多个再现器(Renderer)对象的CAL示图;
图4是根据本发明的一个示例性实施例的CAL的类层次结构示图;
图5是根据本发明的一个示例性实施例的、示出了子类的CAL的更详细的类层次结构示图;以及
图6是示出了其中实现本发明的多个方面的示例计算环境的框图。
具体实施方式
随着技术的改进和用户需求的增加,将开发新颖编解码器及更改现有编解码器。因而,这对于游戏开发者开发能够适应新颖编解码器和经更改的编解码器的游戏系统而言是有益的。在无需对游戏应用程序进行更改的情况下,根据本发明的一个示例性实施例的游戏系统能够适应新颖和经更改的编解码器。这可通过实现可扩展编解码器抽象层(CAL)来完成。CAL管理不同的编解码器和媒体格式,使得游戏应用程序与CAL交互动作,而无需特定编解码器。
编解码器是压缩和解压缩的缩写词。压缩媒体以减小媒体信息的大小或数量。解压缩经压缩的媒体以获得原始媒体、或原始媒体的近似值。通常,压缩技术是有损的,这表示对于用户而言,冗余或不可觉察的信息被丢弃并且无法恢复。压缩和解压缩通常比名义上可能隐含的意思更复杂。压缩媒体涉及根据复杂信号处理技术对媒体进行编码,而解压缩经压缩的媒体涉及根据相同编解码器的复杂信号处理技术来对媒体进行解码。
当前存在许多类型的编解码器,并且许多现有编解码器与多种格式一起使用。例如,脉冲编码调制(PCM)被用于传输和存储未压缩的媒体。例如,PCM是被许多应用程序以及诸如CD和数字录音带(DAT)的设备使用的通用算法。PCM的变化包括差分脉冲编码调制(DPCM)和自适应差分脉冲编码调制(ADPCM)。DPCM是使用媒体的连续采样之间的差值的有损压缩技术。ADPCM类似于DPCM,除了用于表示采样之间的差值的比特数量取决于媒体信号特性进行变化之外。PCM及其变体通常被用于WAV文件。WAV文件是用于WINDOWSPC上的默认格式。还可以MP3格式编码WAV文件。MP3是运动图像专家组(MPEG)层III格式。MP3提供相对高级别的压缩,因而通常用于在因特网上提供媒体、用于在存储容量有限的设备和便携式播放器中存储媒体。也称为MP4的高级音频编码(Advanced AudioCoding)(AAC)是一种以低于MP3的比特率提供更高质量的媒体的编码/解码技术。称为μ律压缩的另一种格式是可用于WAV文件的有损格式。此外,微软公司还开发出用于根据视窗媒体音频(Windows Media Audio)(WMA)格式而格式化的媒体的编解码器。
图1是根据本发明的一个示例性实施例向媒体播放器提供媒体的系统10的框图。系统10包括接收器部分14、解码器部分16、存储器部分18和再现器部分20。媒体通过媒体源12来提供,并经由媒体播放器22来再现。如这里所述,系统10的示例性实施例向游戏媒体播放器(例如Xenon)提供媒体,然而系统10并非限于此。系统10可应用于其它适当类型的媒体播放器,比如DVD播放器、CD播放器、监视器和音频播放器。
经由媒体源12向系统10提供媒体。媒体源12可包括单个媒体源或多个媒体源。示例媒体源包括文件、队列、存储器(例如半导体存储器、寄存器)、HTTP源、游戏源(例如Xmedia)、外部驱动器(例如硬盘驱动器、DVD播放器、CD播放器、记忆棒)、定制媒体源、网络或其组合。提供给系统10的媒体可根据以下格式的任意组合:WAV、MP3、AAC(MP4)、WMA、PCM、DPCM和ADPCM。系统10能够适应至少前述媒体格式。提供给系统10的媒体可包括多种类型的媒体的任意组合。示例类型的媒体包括音频媒体、视频媒体、图像媒体(例如JPEG格式、BMP格式、TIFF格式)、游戏媒体(例如Xmedia)、动画媒体、电影媒体、多媒体或其组合。如以下更详细描述的,通过媒体源12提供给系统10的媒体可以是原始的、经格式化的、经编码的或其组合。
媒体被提供给接收器部分14。接收器部分14可包括能够从媒体源(多个)12接收媒体的任意适当接收器。在本发明的一个示例性实施例中,接收器14将接收到的媒体格式化成流媒体。如本领域中公知的,以恒定流方式提供流媒体。对于使用许多类型媒体而言,流媒体是有益的,因为可实现媒体连续流。流媒体特别适用于游戏媒体,因为用户不期望在游戏进行期间遭遇间隙和中断。尽管由接收部分14提供的媒体被示为流媒体,但并非限于此。由接收器部分14提供的媒体还可以离散实体来提供(例如下载)。
解码器部分16从接收器部分14接收媒体。如果媒体被编码,则解码部分16根据适当的解码器解码媒体。解码器部分16根据上述解码技术的任一种来解码媒体。
存储器部分18从解码部分16接收经解码的媒体。存储器部分18可包括任意适当存储器。适当存储器的示例包括半导体存储器、磁存储器、静态存储器、易失性存储器、光学存储器、寄存器或其组合。在本发明的一个示例性实施例中,存储器部分16向相应的存储器队列提供经解码的媒体。即,对每种编解码器类型,将经解码的媒体提供给独立且专用的存储器队列。专用于每种类型的经解码的媒体的独立存储器队列易于媒体的迅速处理。
经由存储器部分18向再现器20提供经解码的媒体。再现器20处理和/或格式化用于媒体播放器22的媒体。系统10可包括一个或多个媒体播放器22。再现器20适当地再现用于由各个媒体播放器22实现的媒体。例如,如果媒体播放器22包括DVD播放器,则再现器20将媒体处理并格式化成使其可通过DVD播放器来再现。如果媒体播放器22是游戏媒体播放器(例如Xenon),则再现器将音频、视频和/或动画媒体处理并格式化成使其可通过游戏媒体播放器来适当再现。
图2是根据本发明的一个示例性实施例的CAL的单个示例的示图。CAL包括流对象24、解码器对象26、存储器队列28和再现器对象30。媒体播放器对象32经由控制信号34、36和38向解码器对象26、存储器队列28和再现器对象30分别提供控制。由控制对象32提供的控制类型的示例包括一些如播放、停止、倒带、搜索、终止和选择流等。
流对象24用于从给定媒体源(例如文件、队列、存储器(例如半导体存储器、寄存器)、HTTP源、游戏源(例如Xmeida)、外部驱动器(例如硬盘驱动器、DVD播放器、CD播放器、记忆棒)、定制媒体源、网络)加载媒体,并将它呈现给其它对象。解码对象26取得经编码的媒体流并利用合适的编解码器将它解码。如以下所述的,对于每个可预想的编解码器,存在由游戏系统使用(例如Xenon)的一个解码器类。再现器对象30获取输出自解码器对象26且经由存储器队列28提供的流,并且在通过媒体播放器对象32控制时再现经解码的媒体(例如经由音频和声频输出)。对解码器的每个基本类实现一个再现器类。例如,存在从其派生出所有音频解码器的基本类解码器,并且存在对应的音频再现器类。播放器对象32是其它类的一个客户程序,它被设计成用于比如播放音频、播放视频或播放DVD电影的特定任务。媒体播放器对象经由控制信号34、36和38分别向解码器对象26、存储器队列28和再现器对象30提供控制。
图3是根据本发明的一个示例性实施例的、示出了多个媒体源121-12K、多个解码器对象261-26N、多个存储器队列281-28N和多个再现器对象301-30N的CAL的示图。媒体源121到12K表示CAL可容纳的媒体源的预定数目。流对象24将由媒体源121-12K提供的经编码的媒体格式化成流媒体。流对象24向解码器对象261到26N提供经编码且格式化的媒体。下标1到N表示CAL可容纳的编解码器的预定的多个数目。注意:预定数目K并非必需等于预定数目N。向对应的解码器对象提供用特定编码技术编码的每个媒体流。例如,接收自媒体源121的WMA媒体可通过流对象24格式化成流媒体,并提供给用于解码的解码器对象261,而接收自媒体源122的MP3媒体可通过流对象24格式化成流媒体,并提供给用于解码的解码器对象262。各个解码器对象261到26N经由相应的存储器队列281-28N向相应的再现器对象301-30N提供经解码的流媒体。因而,随着添加、删除或更改媒体源、随着添加、删除或更改媒体格式、或者随着添加、删除或更改编解码器,CAL引导媒体通过处理链的对应实例。
图4是根据本发明的一个示例性实施例的、示出了基本类的CAL的类层次结构示图。CAL包括从其派生出所有具体CAL类的一些基本类。图4中示出的基本类包括CAL基本类40、媒体信息(Media Info)基本类42、再现器(Renderer)基本类44、电影解码器(Movie Decoder)基本类46、电影播放器(Movie Player)基本类48、流(Stream)基本类50、播放器(Player)基本类52和解码器(Decoder)基本类54。媒体信息基本类42、再现器基本类44、电影解码器基本类46、电影播放器基本类48、流基本类50、播放器基本类52和解码器基本类54响应于CAL基本类40。媒体信息基本类42定义了用于与媒体源相关联的对象的变量和方法。流基本类50定义了用于流对象24的变量和方法。解码器基本类54和电影解码器基本类46定义了用于解码器对象26的变量和方法。再现器基本类44定义了用于再现器对象30的变量和方法。播放器基本类52和电影播放器基本类48定义了用于媒体播放器对象32的变量和方法。各个基本类42、44、46、48、50和54包括相应地响应于其的自身子类。基本类用于提供由它们的其它具体派生类所共用的功能。例如,音频解码器和视频解码器具有一些类似处,因为在不管数据类型的情况下,它们将数据从一种形式转换成另一种。为了合并代码,公共的功能被移入到将从其中派生出音频和视频解码器的基本解码器类中。
图5是根据本发明的一个示例性实施例的、示出了基本类42、44、46、48、50、52和54的相应子类的CAL的更详细的类层次结构示图。Media Info基本类42具有响应于其的以下子类:音频信息(audio info)类、视频信息(video info)类、图像信息(image info)类。再现器基本类具有响应于其的以下子类:音频再现器(audio renderer)类、视频再现器(video renderer)类、子再现器(sub renderer)类、图像再现器(image renderer)类。子再现器类用于再现诸如主视频流上的隐藏式字幕(closed captioning)的次级视频流。电影解码器基本类46具有响应于其的以下子类:WMA(视窗媒体视频)解码器(WMA decoder)类和MP2解码器(MP2decoder)类。电影播放器基本类48具有响应于其的DVD播放器(DVD player)类。流基本类50具有响应于其的以下子类:文件流(file stream)类、HTTP流(HTTPstream)类、定制流(custom stream)类、存储器流(memory stream)类和存储器队列(memory queue)类。播放器基本类52具有响应于其的以下子类:音频播放器(audio player)类、视频播放器(video player)类和图像播放器(image player)类。解码器基本类54具有响应于其的以下子类:音频解码器(audio decoder)类、视频解码器(video decoder)类、子解码器(sub decoder)类和图像解码器(imagedecoder)类。音频解码器类具有响应于其的PCM解码器(PCM decoder)类、WAV解码器(WAV decoder)类、MP3解码器(MP3 decoder)类、WMA解码器(WMAdecoder)类和AAC解码器(AAC decoder)类。视频解码器类具有响应于其的RCV解码器(RCV decoder)类。图像解码器类具有响应于其的BMP解码器(BMPdecoder)类、JPEG解码器(JPEG decoder)和TIFF解码器(TIFF decoder)。
尽管已在能够容纳多个编解码器的示例性游戏系统的环境中描述了本发明,但是它适用于其中可容纳多个编解码器的更通用的计算环境。图6示出了其中可实现本发明的一个示例性实施例的适当计算系统环境600的一个示例。计算系统环境600仅作为适当计算环境的一个示例,而非旨在对本发明的用途范围或功能性做任何限制。计算环境600也不应当解释成对示例性操作环境600中所示元件的任何一个或其组合有任何的依赖性或要求。
本发明可在许多其它通用或专用计算系统环境或配置中运行。可适合用于本发明的众所周知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持型或膝上型设备、多处理机系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括上述系统或设备的任意种类的分布式计算环境等。
可在由计算机执行的诸如程序模块的计算机可执行指令的通用环境中描述本发明。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。也可在其中通过经由通信网络或其它数据传输介质链接的远程处理设备执行任务的分布式计算环境中实践本发明。在分布式计算环境中,程序模块可位于包括存储器存储设备的本地或远程计算机存储介质中。
参看图6,用于实现本发明的示例性系统包括计算机610形式的通用计算设备。在本发明的一个示例性实施例中,计算机610包括游戏控制台。计算机610的组件可包括但不限于:处理单元620;系统存储器630;以及将包括将系统存储器在内的各种系统元件耦合到处理单元620的系统总线621。系统总线621可以是包括使用各种总线架构中的任一种的存储器总线或存储器控制器、外围总线以及局域总线在内的若干类型总线结构中的任意一种。作为示例而非限制,这些架构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线、以及外设部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机610通常包括各种计算机可读介质。计算机可读介质可以是可由计算机610访问的任何可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任意方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用光盘(DVD)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备、或者可被用来存储所需信息并可由计算机610访问的任意其它介质。通信介质通常以诸如载波或其它传送机制的已调制数据信号的方式体现计算机可读指令、数据结构、程序模块或者其它数据,并且包括任意信息传输介质。术语“已调制数据信号”是指以在信号中编码信息的方式设置或改变了其特性中的一个或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接连接的有线介质、以及诸如声波、RF、红外线和其它无线介质的无线介质。以上介质的任意组合应当也可包括在计算机可读介质的范围内。
系统存储器630包括诸如ROM 131和RAM 132的易失性和/或非易失性存储器形式的计算机存储介质。包含有助于诸如在启动期间在计算机610内的元件之间传递信息的基本例程的基本输入/输出系统(BIOS)633通常存储在ROM 631中。RAM 632通常包含通过处理单元620直接存取和/或立即操作的数据和/或程序模块。作为示例而非限制,图6示出了操作系统634、应用程序635、其它程序模块636和程序数据637。
计算机610也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图6示出了对不可移动的非易失性磁性介质读或写的硬盘驱动器641、对可移动的非易失性磁盘652读或写的磁盘驱动器651、以及对诸如CD-ROM或其它光学介质的可移动的非易失性光盘656读或写的光盘驱动器655。可被用在示例性操作环境中的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于:磁带盒、闪存卡、数字通用光盘、数字视频磁带、固态RAM、固态ROM等。硬盘驱动器641通常经由诸如接口640的不可移动存储器接口连接到系统总线621,而磁盘驱动器651和光盘驱动器655通常经由诸如接口650的可移动存储器接口连接到系统总线621。
驱动器以及与它们相关联的计算机存储介质为计算机610提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图6中,硬盘驱动器641被示为存储操作系统644、应用程序645、其它程序模块646以及程序数据647。注意:这些组件可与操作系统634、应用程序635、其它程序模块636和程序数据637相同或不同。这里,操作系统644、应用程序645、其它程序模块646和程序数据647被赋予不同附图标记,以便最低限度说明它们是不同的副本。
用户可通过诸如键盘662和通常称之为鼠标、跟踪球或触摸板的定点设备661向计算机610输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些或其它输入设备常常经由耦合于系统总线的用户输入接口660连接到处理单元620,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口和总线结构连接。
监视器691或其它类型的显示设备也经由诸如可包括图形处理单元(GPU)和视频存储器690的视频接口的接口连接到系统总线621。除监视器之外,计算机还可包括诸如扬声器697和打印机696的其它外围输出设备,它们可经由输出外围接口695连接。
计算机610可工作在使用到诸如远程计算机680的一个或多个远程计算机的逻辑连接的网络化环境中。远程计算机680可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括以上就计算机610所描述的组件中的许多或所有组件,尽管图6仅示出了存储器存储设备681。所示逻辑连接包括LAN 671和WAN 673,但也可包括其它网络。这些网络环境在办公室、企业计算机网络、内联网和因特网中是普遍的。
当用在LAN网络环境中时,计算机610经由网络接口或适配器670连接到LAN 671。当用在WAN网络环境中时,计算机610通常包括调制解调器672或在诸如因特网的WAN 673上建立通信的其它装置。或为内置式或为外置式的调制解调器672可经由用户输入接口660或其它适当的机制连接到系统总线621。在网络化环境中,关于计算机610所述的程序模块或其一部分可被存储在远程存储器存储设备中。作为示例而非限制,图6示出了驻留在存储设备681的远程应用程序685。应当理解,所示网络连接仅是示例性的,并且也可使用在计算机之间建立通信链接的其它装置。
如上所述,虽然已联系各种计算设备描述了本发明的示例性实施例,但是这些基本概念可应用于其中期望在无需更改使用经由新颖和/或经更改的编解码器处理的媒体的应用程序代码的情况下,就容纳新颖和/或经更改的编解码器的任何计算设备或系统。
可结合硬件或软件、或者它们的适当组合来实现这里所述的各种技术。因而,本发明的方法和装置,或者其特定方面或部分可采用程序代码(例如指令)方式体现于诸如软盘、CD-ROM、硬盘驱动器或任意其它机器可读存储介质的有形介质中,其中,当程序代码被加载到诸如计算机的机器中,并由其来执行时,该机器变成用于实践本发明的装置。在程序代码执行于可编程计算机上的情况中,计算设备通常包括处理器、可通过处理器读取的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。如有需要,可以汇编或机器语言实现程序。在任何情况下,语言可以是经编译的语言或解释语言,并且结合硬件实现。
本发明的方法和装置可经由以在诸如经过电线或电缆、通过光纤、或经由任意其它传输方式的一些传输介质上传输的程序代码方式体现的通信来实践,其中,当接收到程序代码,并且加载到诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户机等的机器中并由它们执行时,机器变成用于实践本发明的装置。当在通用处理器上实现时,程序代码结合处理器以提供操作成调用本发明的功能的唯一装置。另外,结合本发明使用的任何存储技术可以总是硬件和软件的组合。
根据本发明的一个示例性实施例的CAL提供从不同源到多个编解码器的统一简单的接口。降低了添加新的编解码器的复杂性。在无需修改客户机应用程序代码的情况下,可在任意时间替换低级别的编解码器库。由于能够重复利用代码,从而减少了开发时间。CAL向经由XMedia库API呈现给游戏开发者的任意编解码器提供了简单且统一的机制。经由流类对来自CAL对象的输入和输出进行抽象化,这些输入和输出可以是任何东西,比如存储器、文件、网络、队列或用户定义的输入。因为通过向流馈送数据或馈送自其的数据而实现了改进系统测试的CAL,从而可容易地核实各个组件是否正确地工作。
虽然已结合各个附图的优选实施例描述了本发明,但是应当理解,可使用其它类似实施例,或者对所述实施例做出更改和添加以便在不用背离本发明的情况下执行本发明的相同功能。例如,本发明的一个示例性实施例可包括在例如图1中所示的媒体源与流对象之间实现的媒体源提取层(MSAL)。流对象可与MSAL而非与媒体源交互动作。媒体源之间的差异将与流对象不相关。在不更改流对象的情况下,可引入新的媒体源并通过流媒体使用它。因而,本发明不应当限于任何单一的实施例,而是应当根据所附权利要求的广度和范围进行解释。

Claims (20)

1.一种向媒体播放器提供媒体的方法,所述方法包括:
接收来自多个媒体源的至少之一的经编码的媒体,所述经编码的媒体是根据预定数目的解码技术的至少之一进行编码的;
根据相应的预定解码技术对所述经编码的媒体进行解码;以及
经由多个媒体播放器的至少之一再现所述经解码的媒体,所述多个媒体播放器包括至少一个游戏媒体播放器,其中对所述编码和解码技术的至少之一的更改无需更改所述游戏媒体播放器。
2.如权利要求1所述的方法,其特征在于,还包括:
根据预定格式对所述接收到的经编码的媒体进行格式化;以及
提供所述被格式化的经编码的媒体以便进行解码。
3.如权利要求1所述的方法,其特征在于,所述多个媒体源包括文件、存储器、http源、队列、定制源、网络和游戏媒体源的至少之一。
4.如权利要求1所述的方法,其特征在于,所述经编码的媒体包括经编码的音频媒体、经编码的视频媒体、经编码的图像媒体、经编码的动画媒体和经编码的游戏媒体的至少之一。
5.如权利要求1所述的方法,其特征在于,所述媒体根据WAV、MP3、AAC、MP4、WMA、PAC、DPCM、ADPCM、JPEG、TIFF和BMP的至少之一来格式化。
6.一种向媒体播放器提供媒体的系统,所述系统包括:
接收器,它用于:
接收来自多个媒体源的至少之一的经编码的媒体;以及
以预定格式提供所述经编码的媒体,所述经编码的媒体是根据预定数目的编码技术的至少之一进行编码的;
解码器,它用于:
接收所述被格式化的媒体;以及
根据所述预定数目的解码技术的至少之一对所述被格式化的媒体相应地进行解码;以及
再现器,它用于:
接收所述经解码的媒体;以及
经由多个媒体播放器的至少之一再现所述经解码的媒体,所述多个媒体播放器包括至少一个游戏媒体播放器,其中对所述编码和解码技术的至少之一的更改无需更改所述游戏媒体播放器。
7.如权利要求6所述的系统,其特征在于,还包括至少一个存储器队列,各个存储器队列用于:
接收根据所述预定数目的解码技术的相应之一解码的经解码的媒体;以及
向所述再现器提供所述经解码的媒体。
8.如权利要求6所述的系统,其特征在于,所述多个媒体源包括文件、存储器、http源、队列、定制源、网络和游戏媒体源的至少之一。
9.如权利要求6所述的系统,其特征在于,所述经编码的媒体包括经编码的音频媒体、经编码的视频媒体、经编码的图像媒体、经编码的动画媒体和经编码的游戏媒体的至少之一。
10.如权利要求6所述的系统,其特征在于,所述媒体根据WAV、MP3、AAC、MP4、WMA、PAC、DPCM、ADPCM、JPEG、TIFF和BMP的至少之一来格式化。
11.如权利要求6所述的系统,其特征在于,所述经再现的媒体包括音频媒体、视频媒体、图像媒体、电影媒体和游戏媒体的至少之一。
12.如权利要求6所述的系统,其特征在于,所述媒体播放器包括音频媒体播放器、视频媒体播放器、活动视频媒体播放器、DVD、CD和游戏媒体播放器的至少之一。
13.一种向媒体播放器提供媒体的应用程序编程接口(API),所述API包括:
流对象,用于接收来自多个媒体源的至少之一的经编码的媒体,并且用于以预定格式提供所述经编码的媒体,所述经编码的媒体是根据预定数目的编码技术的至少之一进行编码;
解码器对象,用于接收所述经格式化的媒体并用于根据预定数目的解码技术中的至少一个相应地对所述经格式化的媒体进行解码;以及
再现器对象,用于接收所述经解码的媒体并经由多个媒体播放器的至少之一再现所述经解码的媒体,所述多个媒体播放器包括至少一个游戏媒体播放器。
14.如权利要求13所述的API,其特征在于,编码技术在不用更改接口到所述API的应用程序的情况下在所述预定数目的编码技术的范围内可扩展。
15.如权利要求13所述的API,其特征在于,解码技术在不用更改接口到所述API的应用程序的情况下在所述预定数目的解码技术的范围内可扩展。
16.如权利要求13所述的API,其特征在于,还包括至少一个存储器队列,各个存储器队列用于:
接收根据所述预定数目的解码技术的相应之一解码的经解码的媒体;以及
向所述再现器提供所述经解码的媒体。
17.如权利要求13所述的API,其特征在于,所述多个媒体源包括文件、存储器、http源、队列、定制源、网络和游戏媒体源的至少之一。
18.如权利要求13所述的API,其特征在于,所述经编码的媒体包括经编码的音频媒体、经编码的视频媒体、经编码的图像媒体、经编码的动画媒体和经编码的游戏媒体的至少之一。
19.如权利要求5所述的API,其特征在于,所述媒体根据WAV、MP3、AAC、MP4、WMA、PAC、DPCM、ADPCM、JPEG、TIFF和BMP的至少之一来格式化。
20.如权利要求13所述的API,其特征在于,所述经再现的媒体包括音频媒体、视频媒体、图像媒体、电影媒体和游戏媒体的至少之一。
CNA2006800134014A 2005-04-26 2006-04-19 用于对音频-视频编解码器进行抽象化的系统 Pending CN101208872A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/114,510 2005-04-26
US11/114,510 US7634727B2 (en) 2005-04-26 2005-04-26 System for abstracting audio-video codecs

Publications (1)

Publication Number Publication Date
CN101208872A true CN101208872A (zh) 2008-06-25

Family

ID=37188542

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800134014A Pending CN101208872A (zh) 2005-04-26 2006-04-19 用于对音频-视频编解码器进行抽象化的系统

Country Status (6)

Country Link
US (1) US7634727B2 (zh)
EP (1) EP1875622A4 (zh)
JP (1) JP5335416B2 (zh)
KR (1) KR101219923B1 (zh)
CN (1) CN101208872A (zh)
WO (1) WO2006115962A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112002335A (zh) * 2010-12-03 2020-11-27 杜比实验室特许公司 音频解码方法和装置及用于处理媒体数据的方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234193A1 (en) * 2006-03-29 2007-10-04 Huan-Hung Peng Method for simultaneous display of multiple video tracks from multimedia content and playback system thereof
US9680900B2 (en) * 2007-05-01 2017-06-13 Agora Laboratories Inc. Universal multimedia engine and method for producing the same
JP5652642B2 (ja) * 2010-08-02 2015-01-14 ソニー株式会社 データ生成装置およびデータ生成方法、データ処理装置およびデータ処理方法
US9264720B2 (en) * 2010-10-08 2016-02-16 Samsung Electronics Co., Ltd Apparatus and method for multimedia service
UA109312C2 (uk) 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
RU2580022C2 (ru) * 2011-08-31 2016-04-10 Общество С Ограниченной Ответственностью "Базелевс Инновации" Визуализация текста на естественном языке
CN103582012B (zh) 2012-08-07 2018-06-01 中兴通讯股份有限公司 一种数据分发方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523046B2 (en) * 2000-02-25 2003-02-18 Microsoft Corporation Infrastructure and method for supporting generic multimedia metadata

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10211358A (ja) * 1997-01-28 1998-08-11 Sega Enterp Ltd ゲーム装置
US6092107A (en) * 1997-04-07 2000-07-18 At&T Corp System and method for interfacing MPEG-coded audiovisual objects permitting adaptive control
US6233356B1 (en) * 1997-07-08 2001-05-15 At&T Corp. Generalized scalability for video coder based on video objects
US6216152B1 (en) * 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US6934906B1 (en) * 1999-07-08 2005-08-23 At&T Corp. Methods and apparatus for integrating external applications into an MPEG-4 scene
US6452600B1 (en) * 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US7080386B2 (en) * 2000-01-25 2006-07-18 Texas Instruments Incorporated Architecture with digital signal processor plug-ins for general purpose processor media frameworks
US6697074B2 (en) * 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
US7080152B2 (en) * 2001-06-14 2006-07-18 International Business Machines Corporation Broadcast user controls for streaming digital content under remote direction
US20030084283A1 (en) * 2001-09-04 2003-05-01 Pixton Jeffrey Seth Digital broadcast system
US7457359B2 (en) * 2001-09-26 2008-11-25 Mabey Danny L Systems, devices and methods for securely distributing highly-compressed multimedia content
US7599434B2 (en) * 2001-09-26 2009-10-06 Reynolds Jodie L System and method for compressing portions of a media signal using different codecs
WO2003027876A1 (en) * 2001-09-26 2003-04-03 Jodie Lynn Reynolds System and method for communicating media signals
US7302102B2 (en) * 2001-09-26 2007-11-27 Reynolds Jodie L System and method for dynamically switching quality settings of a codec to maintain a target data rate
US7574113B2 (en) * 2002-05-06 2009-08-11 Sony Corporation Video and audio data recording apparatus, video and audio data recording method, video and audio data reproducing apparatus, and video and audio data reproducing method
US20040128421A1 (en) * 2002-12-30 2004-07-01 Intel Corporation Apparatus and method for providing upgraded system memory for mobile platforms using mobile docking stations
US20050033758A1 (en) * 2003-08-08 2005-02-10 Baxter Brent A. Media indexer
US20050135792A1 (en) * 2003-12-19 2005-06-23 Microtek International, Inc. Compact multimedia player
US20050273825A1 (en) * 2004-06-02 2005-12-08 Miran Eldeeb Media converter with detachable media player
US8434117B2 (en) * 2005-02-14 2013-04-30 Microsoft Corporation Tunerless media presentation unit and methods of use

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523046B2 (en) * 2000-02-25 2003-02-18 Microsoft Corporation Infrastructure and method for supporting generic multimedia metadata

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112002335A (zh) * 2010-12-03 2020-11-27 杜比实验室特许公司 音频解码方法和装置及用于处理媒体数据的方法

Also Published As

Publication number Publication date
JP5335416B2 (ja) 2013-11-06
JP2008542855A (ja) 2008-11-27
EP1875622A2 (en) 2008-01-09
WO2006115962A3 (en) 2007-11-15
US20060242551A1 (en) 2006-10-26
WO2006115962A2 (en) 2006-11-02
EP1875622A4 (en) 2012-04-25
US7634727B2 (en) 2009-12-15
KR20080013871A (ko) 2008-02-13
KR101219923B1 (ko) 2013-01-21

Similar Documents

Publication Publication Date Title
CN101208872A (zh) 用于对音频-视频编解码器进行抽象化的系统
US8050542B2 (en) Method and apparatus for reproducing multimedia contents, apparatus and method for creating multimedia contents, and medium for storing multimedia contents
US20070260615A1 (en) Media with Pluggable Codec
KR20110103953A (ko) 화상 회의 레이트 매칭
US8407565B2 (en) System and method for producing importance rate-based rich media, and server applied to the same
US20070111801A1 (en) Method, apparatus and system for transmitting and receiving media data
JP5329846B2 (ja) ディジタルデータプレーヤー、そのデータ処理方法及び記録媒体
KR20090053723A (ko) 미디어 스트림에 데이터를 임베딩하는 방법 및 장치
US20070061522A1 (en) Storage device for storing different data formats
KR20210002103A (ko) 복수의 채널을 이용하여 동적 비트레이트의 비디오를 송출 및 재생하는 방법 및 시스템
US20100104267A1 (en) System and method for playing media file
US20110072166A1 (en) Storage device and driving method thereof
WO2007114107A1 (ja) コンテンツ送信システムにおけるサーバー装置およびコンテンツ送信方法
JP2007013602A (ja) コンテンツ記録装置、コンテンツ再生装置及びパラメータ情報記録方法
US8649523B2 (en) Methods and systems using a compensation signal to reduce audio decoding errors at block boundaries
US20130121663A1 (en) Method and apparatus for generating multimedia data having decoding level, and method and apparatus for reconstructing multimedia data by using the decoding level
Gerzon et al. The MLP lossless compression system for PCM audio
KR100630109B1 (ko) 휴대형 뮤직 비디오 시스템
JP2004272631A (ja) ローカルサーバのデータ処理方法、及びローカルサーバ装置
KR101656102B1 (ko) 컨텐츠 파일 생성/제공 장치 및 방법
JP2008252445A (ja) 情報処理装置
KR20090068710A (ko) 단말장치와 리치미디어 서버와 리치미디어 전송 시스템 및리치미디어 전송 방법
KR20120080356A (ko) 휴대 단말기 및 그 휴대 단말기에서 오디오 데이터 처리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20080625