windows media 格式内幕 凌梅
TRANSCRIPT
Windows Media Windows Media 格式内幕格式内幕
凌梅凌梅Development LeadDevelopment LeadWindows Digital Media DivisionWindows Digital Media DivisionMicrosoft CorporationMicrosoft Corporation
AgendaAgenda
Opportunities with WMOpportunities with WM Windows Media Format SDKWindows Media Format SDK
Windows Media 9 Series Windows Media 9 Series Core PromisesCore Promises
UnmatchedUnmatchedAudio/VideoAudio/Video
QualityQuality
DramaticallyDramaticallyImprovedImprovedPlaybackPlayback
MostMostComprehensiveComprehensive
PlatformPlatform
• 20% better compression across the board extends industry lead20% better compression across the board extends industry lead
• New voice/screen codecs, video smoothing boost dial-up New voice/screen codecs, video smoothing boost dial-up
qualityquality
• New HD video & 5.1 audio delivers home-theater experiencesNew HD video & 5.1 audio delivers home-theater experiences
• Fast Streaming provides instant-on/always-on experienceFast Streaming provides instant-on/always-on experience
• Intelligent Streaming optimizes the experience Intelligent Streaming optimizes the experience
• Fast & flexible player with industry’s first Smart JukeboxFast & flexible player with industry’s first Smart Jukebox
• Industry’s best scalability, reliability & manageabilityIndustry’s best scalability, reliability & manageability
• End-to-end extensible architectureEnd-to-end extensible architecture
• Improved economics throughoutImproved economics throughout
File
Codecs
DShow
DRM Networking
DShow
DRM License Acquisition
Windows Media Server
WMS Admin Object
WM Server MMC Admin
WM Server Web Admin
Server ServicesServer Services
WM Format SDK
Movie Maker
Producer
Third Party Tools
WM Encoder & OCX
DRM LicenseCreation
Content Discovery/Metadata
IIS
Networking DRM Codecs
File
WM Format SDK
WMP.DLL
WindowsMedia Player
Windows Media Player OCX
AuthoringAuthoring On-Line ServicesOn-Line Services PlaybackPlayback
Windows Media 9 SeriesWindows Media 9 SeriesPlatform Component Drill-downPlatform Component Drill-down
WM Codec ParametersWM Codec Parameters
Into 3rd generation codecs v8Into 3rd generation codecs v8 Encoding utilityEncoding utility
Support streamed / local playbackSupport streamed / local playback WM isWM is
ASF (WMV / WMA)ASF (WMV / WMA) CodecsCodecs DRM v1 and v7DRM v1 and v7
GOALGOAL Smallest size for quality (e.g. 1/2 MP3)Smallest size for quality (e.g. 1/2 MP3) Near DVD @ 500kbpsNear DVD @ 500kbps Maintain consistent qualityMaintain consistent quality
Video Smoothing (Frame Video Smoothing (Frame Interpolation)Interpolation) Generates missing frames at playback time Generates missing frames at playback time
using optical-flow analysis using optical-flow analysis Improves perceived video quality (motion Improves perceived video quality (motion
smoothness) at lower data ratessmoothness) at lower data rates Can be used to improve quality or save Can be used to improve quality or save
bandwidth by encoding fewer framesbandwidth by encoding fewer frames Bandwidth reduction reduces operating cost for Bandwidth reduction reduces operating cost for
ICPsICPs E.g. MSNBC encodes only 15 frames/sec, but E.g. MSNBC encodes only 15 frames/sec, but
user of WM9 Player will experience full frame user of WM9 Player will experience full frame raterate
Video SmoothingVideo Smoothing
demodemo demodemo
WMV Screen 9WMV Screen 9
Highly efficient compression engine for Highly efficient compression engine for “palletized video”“palletized video” Typical scenario is capturing application/desktop Typical scenario is capturing application/desktop
output for training/demooutput for training/demo Entire desktop can be compressed and transmitted Entire desktop can be compressed and transmitted
at rates as low as 28kbps!at rates as low as 28kbps! Up to 100X more efficient than commonly used Run-Up to 100X more efficient than commonly used Run-
length-encoding (RLE)length-encoding (RLE)
Original Version (V7) shipped in 2000Original Version (V7) shipped in 2000 Version 9 improves in both picture quality and Version 9 improves in both picture quality and
CPU usageCPU usage More efficient handling of continuous-tone images More efficient handling of continuous-tone images
and window dragging/scrollingand window dragging/scrolling
Screen CodecScreen Codec
demodemo
WMA Professional 9WMA Professional 9
NewNew high-performance audio codec to handle high-performance audio codec to handle greater than CD resolution/channelsgreater than CD resolution/channels Up to 96Khz sampling rate, 24-bits, and 8 channels Up to 96Khz sampling rate, 24-bits, and 8 channels
(“7.1”)(“7.1”) CD is stereo at 44Khz using 16-bit samplesCD is stereo at 44Khz using 16-bit samples
Targets are multi-channel music distribution and Targets are multi-channel music distribution and movie sound tracks at broadband ratesmovie sound tracks at broadband rates
More efficient than existing technologies:More efficient than existing technologies: Twice as good as Dolby Digital (AC-3) and DTS used in Twice as good as Dolby Digital (AC-3) and DTS used in
DVDsDVDs Blind listening test shows WMA Pro at 768Kbps Blind listening test shows WMA Pro at 768Kbps
outperforms all existing codecs in the marketoutperforms all existing codecs in the market
WMA 9 Pro CodecWMA 9 Pro Codec
demodemo
192K WMA Pro 5.1 vs. 192K MP3192K WMA Pro 5.1 vs. 192K MP3
WMA Voice 9WMA Voice 9
Unique “hybrid” voice and music coder for low Unique “hybrid” voice and music coder for low data rates (<= 20Kbps).data rates (<= 20Kbps). First codec to properly handle mixed mode content First codec to properly handle mixed mode content
(e.g. news plus musical commercial)(e.g. news plus musical commercial) Uses an auto/manual classifier to detect Uses an auto/manual classifier to detect
voice/music voice/music Applies appropriate coding mode for each segmentApplies appropriate coding mode for each segment
Voice mode: new proprietary voice codecVoice mode: new proprietary voice codec 20% better than ACELP shipping today (used by 20% better than ACELP shipping today (used by
Real and WM)Real and WM)
Music mode: WMA algorithmsMusic mode: WMA algorithms
WMA 9 Voice CodecWMA 9 Voice Codec
demodemo
WMA Voice vs. AMR (3G-GSM)WMA Voice vs. AMR (3G-GSM)
Windows Media FormatWindows Media Format Our AdvantagesOur Advantages
Extensible file formatExtensible file format Support advanced MS and 3rd party codecsSupport advanced MS and 3rd party codecs Support rich mediaSupport rich media
ScalableScalable Efficient local playbackEfficient local playback Efficient Streaming (HTTP +)Efficient Streaming (HTTP +) High capacity Media ServersHigh capacity Media Servers
Author once, playback anywhereAuthor once, playback anywhere Streams 28.8Kbps Streams 28.8Kbps 1Mbps broadband 1Mbps broadband Replay PC’s, PDA’s, Consumer Elec.Replay PC’s, PDA’s, Consumer Elec.
Car stereos, Cellphones, In home Car stereos, Cellphones, In home devices, PD’sdevices, PD’s
Windows Media FormatWindows Media FormatFile ContainerFile Container Supports files as large as 17 million terabytesSupports files as large as 17 million terabytes Supports multi-bitrate audio, video streams in a fileSupports multi-bitrate audio, video streams in a file Stores media and metadata in one fileStores media and metadata in one file
MetadataMetadata Title, copyright, author, markers, script commands, etc.Title, copyright, author, markers, script commands, etc. ID3 v1, v2 music meta-informationID3 v1, v2 music meta-information
MediaMedia Audio, Video, rich media and Script Commands (URLs, CC)Audio, Video, rich media and Script Commands (URLs, CC)
AudioStreamAudioStream
Video Stream #1Video Stream #1
Video Stream Video Stream
#n#n
Script StreamScript Stream
TimelineTimeline
Rich StreamRich Stream
Windows Media FormatWindows Media FormatFile Container (Cont.)File Container (Cont.) Able to select a stream, based on available bandwidth Able to select a stream, based on available bandwidth Interleaved data is optimal for HTTPInterleaved data is optimal for HTTP Files can be read sequentially, avoiding expensive seeksFiles can be read sequentially, avoiding expensive seeks Timeline based synchronizationTimeline based synchronization Bursty data can be smoothedBursty data can be smoothed
Send Timestamp Send Timestamp (milliseconds)(milliseconds)
Presentation Timestamp Presentation Timestamp (Rational time units)(Rational time units)
PresentationPresentationTimeTime
PresentationPresentationTimeTime
SendSendTimeTime
Rich Feature SetRich Feature Set
Time-code with Frame accurate seeking Time-code with Frame accurate seeking supportsupport
Live DRMLive DRM Video Smoothing (Frame Interpolation)Video Smoothing (Frame Interpolation) Rich Media StreamingRich Media Streaming VBR streaming/progressive down-load VBR streaming/progressive down-load
optimizationsoptimizations Bandwidth sharingBandwidth sharing Enables fast streamEnables fast stream MBR audio and multiple resolution MBR MBR audio and multiple resolution MBR
VideoVideo PhotoMotionPhotoMotion
Photo MotionPhoto Motion
demodemo
Windows Media Format SDKWindows Media Format SDK Win32 only (Win98, WinMe,Win2000, WinXP) Win32 only (Win98, WinMe,Win2000, WinXP) COM-style interfaceCOM-style interface Support audio/video/script authoring and playbackSupport audio/video/script authoring and playback Enhance metadata authoring and playbackEnhance metadata authoring and playback DRM support (encryption and decryption)DRM support (encryption and decryption) Streaming support (“net-read”, “net-write”)Streaming support (“net-read”, “net-write”) Ideal for applications that handle dataflowIdeal for applications that handle dataflow Target solutionsTarget solutions
Jukebox, Jukebox, Live Live Encoder, Encoder, Video EditorVideo Editor
WriteWriteInterfaceInterface
ReadReadInterfaceInterface
.wma or.wma or.wmv file.wmv file
Raw or Compressed AudioRaw or Compressed AudioRaw or Compressed VideoRaw or Compressed Video
Script CommandsScript CommandsHeader MetaDataHeader MetaData IPIP
NetworkNetwork
Raw or Compressed AudioRaw or Compressed AudioRaw or Compressed VideoRaw or Compressed Video
Script CommandsScript CommandsHeader MetaDataHeader MetaData
Read with WM Format SDKRead with WM Format SDK IWMReaderIWMReader
Read WM data.Read WM data. WMCreateReaderWMCreateReader
IWMReaderAdvancedIWMReaderAdvanced User driven clockUser driven clock Manual stream selectionManual stream selection Custom buffer allocationCustom buffer allocation QI from IWMReaderQI from IWMReader
IWMSyncReaderIWMSyncReader Synchronous ReadSynchronous Read No streaming supportNo streaming support Ideal for editing appIdeal for editing app WMCreateSyncReaderWMCreateSyncReader
Encode with WM Format Encode with WM Format SDKSDK IWMWriterIWMWriter
Encode and write WM dataEncode and write WM data WMCreateWriterWMCreateWriter
IWMWriterAdvancedIWMWriterAdvanced Set output sink(s)Set output sink(s) Directly write compressed dataDirectly write compressed data QI from IWMWriterQI from IWMWriter
Output to different destinationsOutput to different destinations Output to file (WMCreateWriterFileSink)Output to file (WMCreateWriterFileSink) Output to port (WMCreateWriterNetworkSink)Output to port (WMCreateWriterNetworkSink) Output to WM Server (WMCreateWriterPushSink)Output to WM Server (WMCreateWriterPushSink) Custom sinkCustom sink
Encode with Encode with WM Format SDK (Cont.)WM Format SDK (Cont.) Basic callsBasic calls
hr = WMCreateWriter( NULL, &pWriter );hr = WMCreateWriter( NULL, &pWriter ); hr = pWriter->QueryInterface( IID_IWMWriter, hr = pWriter->QueryInterface( IID_IWMWriter,
( VOID ** )&pWriter );( VOID ** )&pWriter ); hr = pWriter->SetProfile( pProfile );hr = pWriter->SetProfile( pProfile ); hr = pWriter->SetOutputFilename( outfile );hr = pWriter->SetOutputFilename( outfile ); hr = pWriter->BeginWriting( );hr = pWriter->BeginWriting( ); Hr = pWriter->WriteSample();Hr = pWriter->WriteSample(); …… Hr = pWriter/->EndWriting ();Hr = pWriter/->EndWriting ();
Edit with WM Format SDKEdit with WM Format SDK
IWMMetadataEditorIWMMetadataEditor WMCreateEditorWMCreateEditor OpenOpen CloseClose QI for IWMHeaderInfoQI for IWMHeaderInfo
IWMHeaderInfoIWMHeaderInfo Read and edit header attributesRead and edit header attributes
如果您有任何问题,请加入如果您有任何问题,请加入微软中文新闻组微软中文新闻组继续讨论继续讨论
加入微软中文新闻组加入微软中文新闻组http://www.microsoft.com/china/communityhttp://www.microsoft.com/china/community
© 2002 Microsoft Corporation. All rights reserved.© 2002 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.