1、 KSKSKSKS KS X ISO/IEC 14496 5SKSKSKS KSKSKS SKSKS KSKS SKS KS (MPEG4) 5: KS X ISO/IEC 14496 5: 2005 2005 12 26 X ISO/IEC 14496 5: 2005 e ( ) ( ) ( ) ( ) ( ) ( ) ( ) : : 2001 12 31 : 2005 12 26 2005 0947 : e : e ( ) ( 02 509 7272 4) . 7 5 , . X ISO/IEC 14496 5: 2005 e . KS X ISO/IEC 14496 5 . A( ) B
2、( ) C( ) IPMP D( ) KS X ISO/IEC 14496 “ (MPEG 4)” . 1 : (KS X ISO/IEC 14496 1) 2 : (KS X ISO/IEC 14496 2) 3 : (KS X ISO/IEC 14496 3) 4 : (KS X ISO/IEC 14496 4) 5: (KS X ISO/IEC 14496 5) 6: (DMIF)(KS X ISO/IEC 14496 6) 7: MPEG 4 (KS X ISO/IEC 14496 7) 8: IP KS X ISO/IEC 14496 (KS X ISO/IEC 14496 8) 9
3、: (KS X ISO/IEC 14496 9) 10: (AVC)(KS X ISO/IEC 14496 10) 11: (KS X ISO/IEC 14496 11) 12: ISO (KS X ISO/IEC 14496 12) 13: (IPMP) (KS X ISO/IEC 14496 13) 14: MP4 (KS X ISO/IEC 14496 14) 15: (AVC) (KS X ISO/IEC 14496 15) 16: (AFX)(KS X ISO/IEC 14496 16) 17: (KS X ISO/IEC 14496 17) 18: (KS X ISO/IEC 14
4、496 18) 19: (KS X ISO/IEC 14496 19) . i X ISO/IEC 14496 5: 2005 i 1 1. 1 2. 1 3. 2 4. 2 5. 2 A( ) 4 B( ) 5 C( ) IPMP 6 D( ) 10 11 ii ICS 35.040 KS X ISO/IEC ( MPEG 4) 5 : 14496 5: 2005Information technology Coding of audio-visual objects(MPEG 4) Part 5: Reference software ISO/IEC 14496 5: 2001 Infor
5、mation technology Coding of audio-visual objects Part 5:Reference software . . 1. KS X ISO/IEC 14496 (MPEG 4) (bitstream) . . (decoding software) (normative) KS X ISO/IEC 14496 1, 2, 3, 6 . 3 . a) ( elementary stream) 3., 4., 5. . KS X ISO/IEC 14496 1, 2, 3, 6 , (media) . , . , . , KS X ISO/IEC 1449
6、6 1, 2, 3, 6 . b) (elementary stream) A . . KS X ISO/IEC 14496 1, 2, 3 (syntax) . , . c) (utility) B . , KS X ISO/IEC 14496 1, 2, 3, 6 . (source tree) . 2. , , . . , MPEG 2 AAC(KS X ISO/IEC 13818 7), MPEG 4 (KS X ISO/IEC 14496 1), MPEG 4 (KS X ISO/IEC 14496 2), MPEG 4 (KS X ISO/IEC 14496 3) . X ISO/
7、IEC 14496 5: 2005 “This software module was originally developed by ()(1) and edited by (), (),. in the course of development of the . This software module is an implementation of a part of one or more tools as specified by the . ISO/IEC gives users of the free license to this software module or mod
8、ifications thereof for use in hardware or software products claiming conformance to the . Those intending to use this software module in hardware or software products are advised that its use may infringe existing patents. The original developer of this software module and his/her company, the subse
9、quent editors and their companies, and ISO/IEC have no liability for use of this software module or modifications thereof in an implementation. Copyright is not released for non conforming products. CN1 retains full right to use the code for his/her own purpose, assign or donate the code to a third
10、party and to inhibit third parties from using the code for non conforming products. This copyright notice must be included in all copies or derivative works. Copyright 200_” (1) (First Name), (Last Name), (Company Name) 3. (Location) (Content) audio/natural/mp4AudVm_Rewrite audio/natural/mp4mcDec t/
11、f (stream) audio/natural/eptool audio/SNHC/mpeg4sa audio/SNHC/mpeg4ac audio/SNHC/mpeg4ttsi TTS 4. (Location) (Content) video/natural/MoMuSys-1.0-001220_sony C video/natural/microsoft-2.3-001213 C+ video/snhc/FBA_V2 video/snhc/m3d20010209 3 video/snhc/dct DCT FAP video/snhc/Fit FIT videol/snhc/Fit_li
12、u FIT video/snhc/lst/codec FAP video/snhc/Mesh2d 2 video/snhc/lst/rockwell_epfl_v18 FAP video/snhc/rockwell_vds2 (back channel) video/natural/Microsoft-vtc-update C video/natural/jm_86/ldecod AVC (8.6 ) C 5. 2 X ISO/IEC 14496 5: 2005 (Location) (Content) systems/mpeg-j MPEG J systems/Core5.7 systems
13、/docs/Systems.doc systems/mp4_file_format MP4 systems/xmt/xmta XMT A MP4 systems/xmt/xmto XMT O XMT A systems/Core/1M1Decoders/AFX/BBA BBA IM1/PMPNull IPMP H(Hooks) IM1/PMP IM1/Lib IM1/BinaryMessagesLib IPMP X(eXtentions) IM1/PMP_DESTool IM1/PMP_DummyTool IM1/PMP_MasterTool IM1/PMP_RELTool IM1/PMPXF
14、ull 3 X ISO/IEC 14496 5: 2005 A() A.1 (Location) (Content) audio/natural/mp4AudVm audio/natural/mp4mcEnc t/f audio/natural/epTool audio/natural/aacErrrobTrans AAC audio/SNHC/mpeg4sa audio/SNHC/mpeg4ttsi TTS A.2 (Location) (Content) video/natural/MoMuSys-1.0-001220_sony C video/natural/microsoft-2.3_
15、001213 C+ video/snhc/FBA_V2 EPFL video/snhc/m3d20010209 3 video/snhc/DCT DCT FAP video/snhc/FIT FIT video/snhc/fit_liu FIT video/snhc/IST/codec FAP video/snhc/Mesh2D 2 video/snhc/rockwell_epfl_v18 FAP video/snhc/rockwell_vds2 (back channel) video/natural/Microsoft-vtc-update C video/natural/jm_86/le
16、ncod AVC (8.6 ) C A.3 (Location) (Content) systems/mp4_file_format MP4 systems/mpeg-j MPEG J systems/Core5.7 systems/docs/Systems.doc 4 X ISO/IEC 14496 5: 2005 B() . B.1 (Location) (Content) audio/natural/conf_* audiol/natural/errGen B.2 (Location) (Content) video/snhc/EPFLBody video/snhc/Miraface5.
17、0 FAP video/snhc/ATT FAT FDP video/snhc/wireface_v3 FAP video/snhc/Mesh2D 2 video/snhc/IST 3 B.3 (Location) (Content) systems/Core5.7 systems/docs/Systems.doc 2 , Systems/Player3D-src-FBA-BasedOn3.0.0 IM1 3D FBA systems/opengl/ Player3D systems/Player3d/ systems/Player3D/AFX player3D AFX 5 X ISO/IEC
18、 14496 5: 2005 C() IPMP C.1 C.1.1 KS X ISO/IEC 14496 1 KS X ISO/IEC 14496 13 MPEG4 IPMP , . IM1 MPEG 4 IPMP . MPEG 4/System2 MPEG CVS . C.1.2 MPEG CVS WinCVS MPEG4/ . Remote/Checkout Checkout MPEG 4/System2 . MPEG 4/System2/IM1/Docs/ IM1 _ReadmeFirst.doc . BifsEnc, Mp4Enc, Im1Player, IM1 2D, Osmose
19、MPEG J Player3D . IPMP X IM1 IPMP X . C.1.3 IPMP X . IM1/IPMP H 3 IPMP Hooks . /IPMPNull /IPMP /Lib IM1/IPMP X IPMPX . /BinaryMessagesLib Mpeg 4 /include /IPMP_DESTool DES /IPMP_DummyTool /IPMP_MasterTool REL /IPMP_RELTool REL /IPMPXFull IPMP /Lib /TestFiles t2.723 ( .) t1.263 ( .) 6 (.txt, .scr, .m
20、p4, .trif) DES DESDLL.dll(ipmpx_REL_Dummy .) DESKey_IPMPS.bin IPMP (ipmpx_IPMP_DES .) 200 128 DESKeysFile.txt(ipmpx_IPMP_DES .) ToolAU Dummy.bin IPMP ipmpx_Dummy(TES) . 6 X ISO/IEC 14496 5: 2005 IM1/_WorkSpaces IPMP.dsw IPMP . IM1 IPMP . C.2 MPEG4 IPMP C.2.1 C.2.2 IM1 , , IPMP , IPMP MPEG 4 IPMPX IP
21、MP . . . IM1 / GoNoGo is called by the MR (Message router) with a true if processing the stream / may begin and a false if processing must stop. bool GoNoGo(bool go); / Called by the MR to create a control point. bool SetFilter(Filter* filter, int controlPoint); / Called by the MR to release a contr
22、ol point. bool ReleaseFilter(Filter* filter); 7 X ISO/IEC 14496 5: 2005 (IPMPXFull ) / setting TM (Tool Manager)s pointer, so that MR can use this to access TMs member functions bool SetTMPointer(TM_Interface* tmPointer); / Called by the Terminal to process an IPMPDescriptor bool ProcessIPMPDescript
23、or(IPMP_Descriptor* descriptor); / Called by the Terminal to process an Object Descriptor bool ProcessObjectDescriptor(ObjectDescriptor* pOD); / Called by the Terminal to process an Elementary Stream Desciptor bool ProcessESDescriptor(ESDescriptor* pESD); / Called by the Terminal to remove an IPMPDe
24、scriptor bool RemoveIPMPDescriptor(IPMP_Descriptor* descriptor); / Called by the Terminal to notify MR that an Object Descriptor was removed bool RemoveObjectDescriptor(ObjectDescriptor* pOD); / Called by the Terminal to notify MR that an Elementary Stream Descriptor was removed bool RemoveESDescrip
25、tor(ESDescriptor* pEOD); / Called by the Terminal to create a sink for an IPMP stream bool SetUpIPMPStream(ObjectDescriptor* pOD, ES_Descriptor* pESD, MediaStream* ipmpStream); / Called by the Terminal to destroy a sink for an IPMP stream that was previously created by the Terminal bool SetUpIPMPStr
26、eam(ES_Descriptor* pESD); / messaging interface bool ReceiveMessage(IPMP_ToolMessageBase* msg); IPMP (IPMPXFull ) / setting message routers pointer, so that TM can use this to access MRs member functions bool SetMRPointer(MR_Interface* tmPointer); / Called by the MR to indicate a tool is no longer n
27、eeded. bool DisconnectTool(void* toolPtr); / Called by the MR to request a tool be instantiated. void* ConnectTool(ES_Descriptor *pESD, IPMP_Descriptor* descriptor); 8 X ISO/IEC 14496 5: 2005 / Called by the Terminal to pass a tool elementary stream. bool ReceiveToolES(MediaStream* tool_ES, ES_Descriptor* tool_ESD); / Called by the Terminal to initialize all IPMP Tools from.dll files Bool Init_AvailableIPMPTools(); / Called by the Terminal when a Tool elementary stream is removed RemoveToolES(ES_Descriptor *pESD) / Called by the Terminal to pass the tool list. bool ReceiveIPMP_