Windows Media 格式内幕 凌梅 Development Lead Windows Digital Media Division Microsoft Corporation Agenda Opportunities with WM Windows Media Format SDK Windows Media 9 Series Core Promises Dramatically Improved Playback • Fast Streaming provides instant-on/always-on experience Unmatched Audio/Video Quality • 20% better compression across the board extends industry lead Most Comprehensive Platform • Intelligent Streaming optimizes the experience • Fast & flexible player with industry’s first Smart Jukebox • New voice/screen codecs, video smoothing boost dial-up quality • New HD video & 5.1 audio delivers home-theater experiences • Industry’s best scalability, reliability & manageability • End-to-end extensible architecture • Improved economics throughout Windows Media 9 Series Platform Component Drill-down On-Line Services Authoring Movie Maker Producer Third Party Tools WM Encoder & OCX DRM License Creation Content Discovery/ Metadata Playback Windows Media Player Windows Media Player OCX DRM License Acquisition WMP.DLL Server Services DShow WM Format SDK WM Server MMC Admin WM Server Web Admin DRM WM Format SDK WMS Admin Object File Codecs DShow Networking IIS Windows Media Server File Networking DRM Codecs WM Codec Parameters Into 3rd generation codecs v8 Encoding utility Support streamed / local playback WM is ASF (WMV / WMA) Codecs DRM v1 and v7 GOAL Smallest size for quality (e.g. 1/2 MP3) Near DVD @ 500kbps Maintain consistent quality Video Smoothing (Frame Interpolation) Generates missing frames at playback time using optical-flow analysis Improves perceived video quality (motion smoothness) at lower data rates Can be used to improve quality or save bandwidth by encoding fewer frames Bandwidth reduction reduces operating cost for ICPs E.g. MSNBC encodes only 15 frames/sec, but user of WM9 Player will experience full frame rate demo Video Smoothing WMV Screen 9 Highly efficient compression engine for “palletized video” Typical scenario is capturing application/desktop output for training/demo Entire desktop can be compressed and transmitted at rates as low as 28kbps! Up to 100X more efficient than commonly used Runlength-encoding (RLE) Original Version (V7) shipped in 2000 Version 9 improves in both picture quality and CPU usage More efficient handling of continuous-tone images and window dragging/scrolling demo Screen Codec WMA Professional 9 New high-performance audio codec to handle greater than CD resolution/channels Up to 96Khz sampling rate, 24-bits, and 8 channels (“7.1”) CD is stereo at 44Khz using 16-bit samples Targets are multi-channel music distribution and movie sound tracks at broadband rates More efficient than existing technologies: Twice as good as Dolby Digital (AC-3) and DTS used in DVDs Blind listening test shows WMA Pro at 768Kbps outperforms all existing codecs in the market demo WMA 9 Pro Codec 192K WMA Pro 5.1 vs. 192K MP3 WMA Voice 9 Unique “hybrid” voice and music coder for low data rates (<= 20Kbps). Voice mode: new proprietary voice codec First codec to properly handle mixed mode content (e.g. news plus musical commercial) Uses an auto/manual classifier to detect voice/music Applies appropriate coding mode for each segment 20% better than ACELP shipping today (used by Real and WM) Music mode: WMA algorithms demo WMA 9 Voice Codec WMA Voice vs. AMR (3G-GSM) Windows Media Format Our Advantages Extensible file format Support advanced MS and 3rd party codecs Support rich media Scalable Efficient local playback Efficient Streaming (HTTP +) High capacity Media Servers Author once, playback anywhere Streams 28.8Kbps 1Mbps broadband Replay PC’s, PDA’s, Consumer Elec. Car stereos, Cellphones, In home devices, PD’s Windows Media Format File Container Supports files as large as 17 million terabytes Supports multi-bitrate audio, video streams in a file Stores media and metadata in one file Metadata Title, copyright, author, markers, script commands, etc. ID3 v1, v2 music meta-information Media Audio, Video, rich media and Script Commands (URLs, CC) AudioStream Video Stream #1 Video Stream #n Rich Stream Script Stream Timeline Windows Media Format File Container (Cont.) Able to select a stream, based on available bandwidth Interleaved data is optimal for HTTP Files can be read sequentially, avoiding expensive seeks Timeline based synchronization Bursty data can be smoothed Send Timestamp (milliseconds) Presentation Timestamp (Rational time units) Presentation Time Send Time Presentation Time Rich Feature Set Time-code with Frame accurate seeking support Live DRM Video Smoothing (Frame Interpolation) Rich Media Streaming VBR streaming/progressive down-load optimizations Bandwidth sharing Enables fast stream MBR audio and multiple resolution MBR Video PhotoMotion demo Photo Motion Windows Media Format SDK Win32 only (Win98, WinMe,Win2000, WinXP) COM-style interface Support audio/video/script authoring and playback Enhance metadata authoring and playback DRM support (encryption and decryption) Streaming support (“net-read”, “net-write”) Ideal for applications that handle dataflow Raw or Compressed Audio Target solutions Raw or Compressed Audio Raw or Compressed Video Raw or Compressed Video Script Commands Script Commands IP Jukebox, Header MetaData Header MetaData Network Live Encoder, Read Write Interface Interface Video Editor .wma or .wmv file Read with WM Format SDK IWMReader IWMReaderAdvanced Read WM data. WMCreateReader User driven clock Manual stream selection Custom buffer allocation QI from IWMReader IWMSyncReader Synchronous Read No streaming support Ideal for editing app WMCreateSyncReader Encode with WM Format SDK IWMWriter IWMWriterAdvanced Encode and write WM data WMCreateWriter Set output sink(s) Directly write compressed data QI from IWMWriter Output to different destinations Output to file (WMCreateWriterFileSink) Output to port (WMCreateWriterNetworkSink) Output to WM Server (WMCreateWriterPushSink) Custom sink Encode with WM Format SDK (Cont.) Basic calls hr = WMCreateWriter( NULL, &pWriter ); hr = pWriter->QueryInterface( IID_IWMWriter, ( VOID ** )&pWriter ); hr = pWriter->SetProfile( pProfile ); hr = pWriter->SetOutputFilename( outfile ); hr = pWriter->BeginWriting( ); Hr = pWriter->WriteSample(); … Hr = pWriter/->EndWriting (); Edit with WM Format SDK IWMMetadataEditor WMCreateEditor Open Close QI for IWMHeaderInfo IWMHeaderInfo Read and edit header attributes 如果您有任何问题,请加入 微软中文新闻组 继续讨论 加入微软中文新闻组 http://www.microsoft.com/china/community © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.