CN101595475B - 可伸缩视频编码(svc)文件格式 - Google Patents
可伸缩视频编码(svc)文件格式 Download PDFInfo
- Publication number
- CN101595475B CN101595475B CN200680033481XA CN200680033481A CN101595475B CN 101595475 B CN101595475 B CN 101595475B CN 200680033481X A CN200680033481X A CN 200680033481XA CN 200680033481 A CN200680033481 A CN 200680033481A CN 101595475 B CN101595475 B CN 101595475B
- Authority
- CN
- China
- Prior art keywords
- data stream
- svc
- scalable
- sublayer
- metadata
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 40
- 238000012986 modification Methods 0.000 claims description 36
- 230000004048 modification Effects 0.000 claims description 36
- 239000000284 extract Substances 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000009826 distribution Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000004304 visual acuity Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/30—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
- G11B27/3027—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8451—Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/912—Applications of a database
- Y10S707/913—Multimedia
- Y10S707/914—Video
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
通过提供用于存储和访问目前SVC标准定义的视频内容的扩充来修改目前现有的ISO/AVC文件格式。确切地来说,进行对AVC文件格式的扩充提供能够存储和访问可伸缩视频数据的新SVC文件格式。将可伸缩视频数据作为SVC文件格式的媒体数据部分内的单个音轨来存储。对SVC文件格式的元数据部分内的描述项和框定义了新扩充。这些扩充提供从媒体数据部分中存储的可伸缩视频数据的单个音轨提取子流或层的方式。
Description
相关申请
本申请要求相同发明人于2005年7月15日提交的美国临时申请序列号60/699,535、标题为“可伸缩视频编码(Scalable Video CodingSVC)文件格式”的优先权。本申请通过引用与2005年7月15日提交的美国临时申请序列号60/699,535、标题为“可伸缩视频编码(SVC)文件格式”结合。
技术领域
本发明涉及视频编码的领域。更具体地来说,本发明涉及SVC编码并扩充目前的AVC文件格式以便使用可伸缩视频编码来支持视频编码的数据的存储的领域。
背景技术
文件格式是用于将信息编码以用于在计算机文件中存储的特定方式。存储文件的格式的一种便利方式是在文件系统中明确地存储有关格式的信息。此方法将元数据与主数据和文件名都分开。
ISO基本媒体文件格式设计为包含定时媒体信息或媒体数据流(例如电影)。存储的媒体信息可以在本地传输或经由网络或其他流送交机构来传输。这些文件具有逻辑结构、时间结构和物理结构。文件的逻辑结构包括一组时间并行的音轨(track)。文件的时间结构为这些音轨提供时间上的数据样本序列,并通过可选的编辑列表将那些序列映射到整个媒体数据流的时间线。文件的物理结构将逻辑、时间和结构分解所需的数据与媒体数据样本本身分开。此结构信息被汇聚在元数据框中,并且可能地通过元数据分段框在时间上延伸。该元数据框将数据样本的逻辑和定时关系归档,并还包括指向存储数据样本所在位置的指针。
每个媒体数据流包含在专用于该媒体类型(音频、视频等)的音轨中,并进一步地由样本项来设定参数。样本项包括确切媒体类型的“名称”,例如将媒体数据流解码所需的解码器的类型和解码所需的其他参数。对于多种媒体类型,有定义的样本项格式。
对于元数据的支持采用两种形式。首先,将定时的元数据存储在适合的音轨中,并将其与它所描述的媒体数据同步。其次,存在对附着于媒体数据流或个别音轨的非定时元数据的普遍支持。也以元数据框的形式在文件级使用这些规范化的元数据结构。在此情况中,元数据框是对存储的媒体数据流的主访问部件。
在一些情况中,音轨内的数据样本具有不同特征或需要专门标识音轨内的数据样本。一种此类特征是同步点,通常称为视频I-帧。这些点由每个音轨中的特殊表来标识。更一般性地,以此方式来归档音轨样本之间的相关特性。还存在样本组的概念。样本组能够将一些数据样本所共有的任意特征归档在音轨中。在高级视频编码(AVC)文件格式中,使用样本组来支持分层和子序列的概念。
AVC文件格式定义用于根据AVC标准编码的视频流的存储格式。AVC文件格式扩展ISO基本媒体文件格式。AVC文件格式使AVC视频流能够结合其他媒体流(例如音频)一起使用,使用提示音轨进行格式化以通过流传输服务器来送交,以及继承ISO基本媒体文件格式的所有使用实例和特征。
图1图示AVC文件格式10的示范配置,AVC文件格式10包括媒体数据部分20和元数据部分30。每个数据流被存储在媒体数据部分20中。可以将多个数据流以一种文件格式来存储。如图1所示,四个数据流22、24、26和28存储在媒体数据部分20中。对于AVC文件格式的媒体数据部分中存储的每个数据流,有元数据部分中存储的一个对应音轨。在图1中,音轨32对应于数据流22,音轨33对应于数据流24,音轨36对应于数据流26,以及音轨38对应于数据流28。一般来说,对应于数据部分中存储的N个数据流,有元数据部分中存储的N个音轨。
H.264或MPEG-4部分10规范是采取常常公知为联合视频组(JVT)的协同工作关系的ITU-T视频编码专家组(VCEG)与ISO/TEC运动图片专家组(MPEG)一起编制的一种高压缩数字视频编解码器标准。ITU-T H.264标准和ISO/IEC MPEG-4部分10标准(规范为ISO/IEC 14496-10)在技术上是完全相同的,该技术也公知为AVC(高级视频编码的简称)。应该注意H.264是与H.26x视频标准的ITU-T线相关的名称,而在ITU-T中作为称为H.26L的项目完成早期开发之后,AVC与完成该标准工作的伙伴项目的ISO/IEC MPEG端相关。通常将该标准称为H.264/AVC(或AVC/H.264或H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)来强调其共有的继承性。有时候,根据开发它的JVT组织,也曾称为“JVT编解码器”。
目前JVT正在致力于开发一种公知为可伸缩视频编解码器(SVC)的新编解码器,它是对现有AVC编解码器的扩充。SVC的开发工作最初在MPEG领域中作为MPEG-21标准的一部分于2003年独立启动。但是,在2004年的开发期间,它与JVT团体的活动合并以着重于开发与现有AVC编解码器后向兼容的编码技术。因此,它目前在MPEG和ITU-T中由JVT团体联合开发。可伸缩视频编解码器(SVC)活动的目标是解决对空间、时间和指令(SNR)级别中的可伸缩性的需求和提供空间、时间和指令(SNR)级别中的可伸缩性。
现有文件格式(ISO/MP4和AVC)未提供容易且清楚的机制以从以该文件格式存储的媒体数据中提取空间、时间和SNR(质量)层的不同变化。因此,必须通过分析编码的媒体流来提取此信息,这是非常低效且缓慢的。因此,有需要增强并定义新扩充来支持新出现的视频编码标准(SVC)的存储以及解决目前文件格式存储方法的现有局限性。这些新扩充定义用于一组图片和每个样本内存在的相关性的结构化和分组机制,以便获取提供空间、时间和质量方面灵活性的灵活的流结构。SVC标准提出将整个可伸缩媒体数据作为一个可伸缩比特流来编码,从其中可以提取时间、空间和质量层的变化。
在AVC标准中,将每个视频流作为符合特定帧速率、分辨率和质量的独立流来编码,此后将其作为符合特定帧速率、分辨率和质量的独立流来解码。根据SVC标准,从单个编码的视频流(称为SVC基本流)中,可以提取多种不同类型的视频,例如低分辨率的视频流、标准分辨率的视频流或高分辨率的视频流。要支持文件格式中的此类可伸缩视频流的存储和提取,需要修改文件格式。
SVC标准目前正在开发中,并且因为SVC标准定义视频编解码器的新设计,所以还需要适当定义的新文件标准以便能够存储和提取新的SVC视频流。为了支持新的SVC视频流,正在开发的SVC文件格式将AVC文件格式扩充成支持SVC视频流的存储。但是,仍需要开发定义对存储的可伸缩视频的访问的特定扩充。
发明内容
描述一种系统和方法,用于将目前的ISO/MP4/AVC文件格式扩充成存储例如使用MPEG-4:部分10/Amd-1可伸缩视频编解码器(SVC)标准编码的视频内容,在MPEG/ITU-T中,MPEG-4:部分10/Amd-1可伸缩视频编解码器(SVC)标准的开发目前正在进行中。确切地来说,进行对AVC文件格式的扩充以便提供能够存储和访问可伸缩视频数据的新SVC文件格式。可以将可伸缩视频数据作为SVC文件格式的媒体数据部分内的单个音轨来存储。对SVC文件格式的元数据部分内的描述项和框定义了新扩充。这些扩充提供从媒体数据部分中存储的可伸缩视频数据的单个音轨提取子流或层的方式。
在一方面中,修改的文件格式包括用于存储可伸缩数据流的媒体数据部分,以及包括与媒体数据部分中存储的可伸缩数据流关联的至少一个音轨的元数据部分,其中每个音轨包括一个或多个元数据框,该一个或多个元数据框用于定义可伸缩数据流的子层数据流并将其分组。该可伸缩数据流可以包括可伸缩视频流。该可伸缩视频流可以包括可伸缩视频编码(SVC)基本流。该修改的文件格式可以包括修改的可伸缩视频编码(SVC)文件格式。该可伸缩数据流可以包括单个编码的音轨。该可伸缩数据流可以包括一系列访问单元。该一个或多个元数据框可以配置成根据从能够处理子层数据流的终端用户装置接收的一个或多个装置要求来定义该子层数据流。该一个或多个元数据框还可以配置成根据一个或多个装置要求来定义多个描述项的其中一个描述项。该一个或多个元数据框还可以配置成根据所选的描述项来定义访问单元的子集,其中所定义的访问单元的子集包括子层数据流。该一个或多个元数据框可以包括SVC样本组描述框,该SVC样本组描述框配置成定义一个描述项。该一个或多个元数据框可以包括SVC样本至分组框(SVC Sample To Group Box),该SVC样本至分组框用于定义访问单元的子集并将其分组。该一个或多个元数据框可以包括对伸缩视频编码(SVC)标准的扩充。该可伸缩数据流可以包括多个子层数据流。该一个或多个元数据框可以配置成定义与子层数据流关联的提示音轨。该子层数据流可以包括高级视频编码(AVC)兼容的基层流。
在另一方面中,描述了配置成利用修改的文件格式的文件服务器。该文件服务器包括用于根据修改的文件格式来存储和提取数据的存储器,其中该修改的文件格式包括用于存储可伸缩数据流的媒体数据部分,以及包括与元数据部分中存储的可伸缩数据流关联的至少一个音轨的元数据部分,其中每个音轨包括一个或多个元数据框,该一个或多个元数据框用于定义可伸缩数据流的子层数据流并将其分组。该文件服务器还包括处理模块,该处理模块配置成向存储器提供控制指令并从可伸缩数据流中提取子层数据流。该可伸缩数据流可以包括一系列访问单元。该文件服务器还可以包括网络接口模块,该网络接口模块配置成从终端用户装置接收一个或多个装置要求并传送所定义的子层数据流。该一个或多个元数据框还可以配置成根据一个或多个装置要求来定义多个描述项的其中一个描述项。该一个或多个元数据框还可以配置成根据所选的描述项来定义访问单元的子集,其中所定义的访问单元的子集包括子层数据流。该一个或多个元数据框可以包括SVC样本组描述框,该SVC样本组描述框配置成定义一个描述项。该一个或多个元数据框可以包括SVC样本至分组框,该SVC样本至分组描述框用于定义访问单元的子集并将其分组。该可伸缩数据流可以包括可伸缩视频流。该可伸缩数据流可以包括可伸缩视频编码(SVC)基本流。该修改的文件格式可以包括修改的可伸缩视频编码(SVC)文件格式。该可伸缩数据流可以包括单个编码的音轨。该可伸缩数据流可以包括多个子层数据流。
在另一方面中,描述了配置成利用修改的文件格式的系统。该系统包括用于传送一个或多个装置要求的终端用户装置和配置成接收一个或多个装置要求并利用修改的文件系统的文件服务器。该文件服务器包括存储器和处理模块。该存储器配置成根据修改的文件格式来存储和提取数据,其中该修改的文件格式包括用于存储可伸缩数据流的媒体数据部分,以及包括与元数据部分中存储的可伸缩数据流关联的至少一个音轨的元数据部分,其中每个音轨包括一个或多个元数据框,该一个或多个元数据框用于根据一个或多个装置要求来定义可伸缩数据流的子层数据流并将其分组。该处理模块配置成向存储器提供控制指令并从媒体数据部分中提取子层数据流。该文件服务器还可以包括网络接口模块,该网络接口模块配置成从终端用户装置接收一个或多个装置要求并传送所定义的子层数据流。该可伸缩数据流可以包括一系列访问单元。该一个或多个元数据框还可以配置成根据一个或多个装置要求来定义多个描述项的其中一个描述项。该一个或多个元数据框还可以配置成根据所选的描述项来定义访问单元的子集,其中所定义的访问单元的子集包括子层数据流。该一个或多个元数据框可以包括SVC样本组描述框,该SVC样本组描述框配置成定义一个描述项。该一个或多个元数据框可以包括SVC样本至分组描述框,该SVC样本至分组描述框用于定义访问单元的子集并将其分组。该可伸缩数据流可以包括可伸缩视频流。该可伸缩视频流可以包括可伸缩视频编码(SVC)基本流。该修改的文件格式可以包括修改的可伸缩视频编码(SVC)文件格式。该一个或多个元数据框可以包括对伸缩视频编码(SVC)标准的扩充。该一个或多个元数据框可以包括对伸缩视频编码(SVC)标准的扩充。该可伸缩数据流可以包括单个编码的音轨。该可伸缩数据流可以包括多个子层数据流。该一个或多个元数据框可以配置成定义与子层数据流关联的提示音轨。该子层数据流可以包括高级视频编码(AVC)兼容的基层流。
在另一方面中,描述了从修改的文件格式中提取数据流的方法。该方法包括接收对特定数据流的请求,其中该请求包括一个或多个装置要求,将该请求与修改的文件格式的媒体数据部分中存储的特定可伸缩数据流关联,确定与该特定可伸缩数据流对应的一个或多个音轨,其中该一个或多个音轨存储在修改的文件格式的元数据部分中,每个音轨包括一个或多个元数据框,该一个或多个元数据框根据一个或多个装置要求来确定特定可伸缩数据流的子层数据流,其中使用该一个或多个元数据框来确定子层数据流,并从存储的可伸缩数据流中提取子层数据流。该方法还可以包括传送所提取的子层数据流。该方法还可以包括在确定子层数据流之前将所确定的一个或多个音轨解码。该一个或多个元数据框可以包括对伸缩视频编码(SVC)文件格式标准的扩充。该可伸缩数据流可以包括可伸缩视频流。该可伸缩视频流可以包括可伸缩视频编码(SVC)基本流。该修改的文件格式可以包括修改的可伸缩视频编码(SVC)文件格式。该可伸缩数据流可以包括单个编码的音轨。该可伸缩数据流可以包括一系列访问单元。该方法还可以包括将一个或多个元数据框配置成根据一个或多个装置要求来定义多个描述项的其中一个描述项。该方法还可以包括将一个或多个元数据框配置成根据所选的描述项来定义访问单元的子集,其中所定义的访问单元的子集包括子层数据流。该一个或多个元数据框可以包括SVC样本组描述框,该SVC样本组描述框配置成定义一个描述项。该一个或多个元数据框可以包括SVC样本至分组描述框,该SvC样本至分组描述框用于定义访问单元的子集并将其分组。该一个或多个元数据框可以包括对伸缩视频编码(SVC)标准的扩充。该可伸缩数据流可以包括多个子层数据流。该方法还可以包括将可伸缩数据流的已编码版本存储在媒体数据部分中。该可伸缩数据流可以根据伸缩视频编码(SVC)标准来进行编码。该方法还可以包括将一个或多个元数据框配置成定义与子层数据流关联的提示音轨。该子层数据流可以包括高级视频编码(AVC)兼容的基层流。
附图说明
图1图示AVC文件格式的示范配置。
图2图示包括配置成实现修改的文件格式的文件服务器的示范网络的框图。
图3图示图2的文件服务器的内部组件的示范框图。
图4图示SVC基本流的示范配置。
图5图示修改的SVC文件格式的示范配置。
图6示出根据SVC标准的SVC访问单元的示范结构。
图7图示实现修改的SVC文件格式的示范方法。
修改的文件格式的实施例是参考多个附图来描述的。在一个或多个附图中公开并示出适合且仅完全相同的部件的情况下,将使用相同的引用号来表示此类完全相同的部件。
具体实施方式
图2图示包括配置成实现修改的文件格式的文件服务器的示范网络的框图。文件服务器50经由网络70耦合到回放装置60。网络是能够传送数据的任何便利的网络,包括有线或无线网络。回放装置60是能够接收和处理所传送的数据的任何便利的装置。
图3图示图2的文件服务器50的内部组件的示范框图。该文件服务器50是可配置成实现修改的文件格式的任何便利的计算装置。该文件服务器50包括处理模块82、主机存储器84、视频存储器86、海量存储装置88以及接口电路90,所有这些部件由常规双向系统总线92耦合在一起。该接口电路90包括用于通过网络70发送和接收通信的物理接口电路(图3)。该接口电路90在文件服务器50内的网络接口卡上实现。但是,对于本领域技术人员来说,应该显见到接口电路90可以在文件服务器50内以任何其他适合的方式来实现,包括将该接口电路内置于主板本身上。海量存储装置88可以包括采用磁、光或磁光存储技术中的任何一种或多种技术或任何其他可用海量存储技术的固定和可移动的媒体。系统总线92使得能够访问存储器84和88的任何部分以及能够实现CPU 82、主机存储器84、视频存储器86和海量存储装置88之间及其中间的数据传输。主机存储器84用作处理模块82使用的系统主存储器。
文件服务器50还耦合到多个外围输入和输出装置,包括键盘94、鼠标96和关联的显示器98。键盘94耦合到CPU 82以使用户能够将数据和控制命令输入到文件服务器50中。鼠标96耦合到键盘94或耦合到CPU 82,以便作为光标控制装置来操纵显示器98上的图形图像。文件服务器50包括用于将数据转换成适于显示的信号的图形电路100。要理解的是图3所示的文件服务器50的配置仅是出于举例的目的,并且可以采用任何其他便利的方式来配置文件服务器50。
因为SVC文件格式是AVC文件格式的扩充,所以SVC文件格式也包括元数据部分和媒体数据部分。媒体数据部分存储未改变的编码的SVC基本流,例如视频数据流,其中SVC基本流由一系列访问单元组成。图4图示SVC基本流40的示范配置。SVC基本流40包括一系列称为访问单元(AU)的连续单元。接收SVC基本流的解码器将每个访问单元解码成图片,由此产生视频序列。
元数据部分存储有关媒体数据部分中存储的每个SVC基本流的信息。此类信息包括但不限于,视频流的类型、视频流的分辨率、视频流的帧速率、视频流中每个访问单元的存储地址、视频流内的随机访问点以及有关何时要将每个访问单元解码的定时。
可伸缩视频流使得能够与多种网络相适应。例如,如果以每秒60帧的速率将可伸缩视频流编码,但是回放装置仅支持每秒30帧,则仅将可伸缩视频流的一部分传送到该回放装置。又如,如果编码的可伸缩视频流的质量非常高,如10Mbps,但是传送该可伸缩视频流所要通过的网络仅支持1Mbps,则同样仅传送该可伸缩视频流的一部分以与该网络所支持的传输速度相匹配。以此方式,基于网络或回放装置的要求以从文件格式中提取编码的可伸缩视频流的全部或仅部分。
基于如果将整个可伸缩视频流解码,则结果是完整分辨率、完整帧速率和高质量,所以可伸缩视频流是完全可伸缩的。但是,如果网络或回放装置不支持整个可伸缩视频流的完整分辨率、完整帧速率或高质量,则仅从文件格式的数据部分提取该可伸缩视频流的若干部分,并通过网络传送这些部分,由此节省了带宽。
为了以SVC文件格式来进行存储,根据SVC标准定义的格式将可伸缩视频流编码。将编码的可伸缩视频流存储在SVC文件格式的数据部分中。将音轨存储在SVC文件格式的元数据部分中,其中这些音轨包含与媒体数据部分中存储的可伸缩视频流对应的元数据信息。这些音轨包含用于提取SVC文件格式的数据部分中存储的全部或部分编码的可伸缩视频流的信息。在每个音轨内,定义了新的元数据框。这些新元数据框定义用于从可伸缩视频流提取多种类型的视频流的参数。用于定义提取的视频流的参数包括但不限于分辨率、帧速率和质量。例如,一个提取的视频流对应于低分辨率要求,第二个提取的视频流对应于标准分辨率要求,以及第三个提取的视频流对应于高分辨率要求。
图5图示修改的SVC文件格式110的示范配置。修改的SVC文件格式110包括媒体数据部分120和元数据部分130。媒体数据部分120包括一个或多个可伸缩数据流、即SVC基本流。元数据部分130包括一个或多个音轨。在一个实施例中,对应于媒体数据部分120中存储的每个SVC基本流,元数据部分130中有一个音轨。如图5所示,媒体数据部分120包括两个SVC基本流122和124。元数据部分130中的音轨132对应于媒体数据部分120中存储的SVC基本流122。元数据部分130中的音轨134对应于媒体数据部分120中存储的SVC基本流124。每个SVC基本流包括一系列访问单元。如图5所示,SVC基本流122扩展为显示它的访问单元的一部分。
在修改的SVC文件格式的元数据部分内提供新的扩充,以便定义并提取存储的可伸缩视频流内的子层,其中按指定的装置要求(例如分辨率、帧速率和/或质量)来确定特定的子层数据流。定义一个或多个元数据框来标识和提取与每个子层数据流对应的特定访问单元。每个音轨配置成包括这些一个或多个元数据框。图5示出一个实施例,其中定义了元数据框140和元数据框142以便定义并提取构成该特定子层数据流的特定访问单元。在此实施例中,元数据框140称为SampleGroupDescription框,以及元数据框142称为SampleToGroup框。
参考图3和5,回放装置60向文件服务器50发送对特定视频流的请求,在本例中是对文件格式110的媒体数据部分120中存储的SVC基本流122的请求。该请求包含回放装置60的必要规范,例如所支持的特定分辨率和帧速率。当接收到此请求时,文件服务器50将所请求的视频流SVC基本流122与元数据部分130中其对应的音轨132匹配。使用文件格式解码器,仅将匹配音轨132解码。文件格式解码器并不将元数据部分130中存储的其他音轨解码,该文件格式解码器也不将媒体数据部分120中存储的包含SVC基本流122的任何编码的可伸缩视频流解码。此外,对媒体数据部分120中存储的媒体数据编码不同于元数据部分130中存储的元数据,因此需要不同的解码器。
一旦确定音轨132并将其解码,则访问元数据框140。元数据框140利用一个或多个装置要求来确定匹配描述项。匹配描述项定义与这些装置要求对应的参数值和group_description_index值。元数据框142使用group_description_index的值来标识并提取对应SVC基本流122中的特定访问单元。图5图示元数据框142确定并提取访问单元1、4、7等的示范例子。所提取的访问单元保持未改变和编码状态。一旦提取,则将访问单元作为满足最初提供的装置要求的子层数据流传送到终端用户装置。
在上面结合图5描述的实施例中,将每个可伸缩视频流作为单个视频流存储在文件格式的数据部分,并将与该单个视频流关联的对应一个音轨存储在文件格式的元数据部分中。定义新的扩充,以提供从单个视频流中提取感兴趣的子流或层的方式。或者,可以将多于一个音轨与单个视频流关联。
作为此备选实施例的实例,假定为不同的终端用户装置创建了单独的音轨。这些装置的每个装置仍可能具有它们可以支持的内部帧速率、空间分辨率、质量等的各自内部子集。一种可伸缩视频流支持多种装置要求,例如空间分辨率(QCIF、CIF、SD和HD)、帧速率(7.5、15、30、60fps)和对应于上面这些的多种质量。仍将流存储在修改的文件格式的媒体数据部分中。在元数据部分中,可以有例如三个音轨。这三个音轨的每个音轨指代相同的可伸缩视频流。但是,每个音轨对整个可伸缩流的子集起作用。例如,将音轨1定制为用于便携式播放器(小尺寸屏幕、低帧速率等),将音轨2定制为用于标准TV、计算机等(SD尺寸屏幕、中等帧速率等)以及将音轨3定制为用于HD播放器(大尺寸屏幕、高帧速率等)。每个音轨仍包括定义描述项的元数据框,因为每个音轨仍支持一定数量的变化(可伸缩性)。在此实例中,音轨1支持QCIF和CIF、7.5和15fps。音轨2支持全部音轨1以及SD和30fps。音轨3支持全部音轨2以及HD和60fps。
在此备选实施例中,终端用户装置所请求的特定视频流不对应于单个音轨。设想不同的方法来在此情况中确定适合的音轨。首先,文件服务器将音轨的一部分解码以确定它定义的装置要求。其次,文件服务器在高级别上分析这些音轨来标识要使用哪个音轨。第三,音轨具有提供有关它们描述的内容的更多信息的音轨头。在此特定情况中,文件服务器将一些高级别信息从每个音轨中解码来决定要使用哪个音轨。一般来说,可以使用将终端用户装置请求中接收到的装置要求与适合的音轨匹配的任何方法。
在一个实施例中,通过定义两个新框SampleGroupDescription框和SVCSampleToGroup框来支持提取SVC基本流的若干部分。这两个新框定义用于标识要提取可伸缩视频流内的哪些访问单元的特征和字段。在定义唯一的描述项的SampleGroupDescription框内定义每个新描述项,其中每个描述项指代可以从SVC基本流中提取的不同类型的视频流。例如,如果将SVC基本流编码成支持三种不同的分辨率:低、标准和高,则有三个描述项,每个支持的分辨率对应于一个描述项。每个描述项定义如下所述对应于特定分辨率(低、标准或高)的描述项字段。如果将SVC基本流编码成支持三种不同的分辨率:低、标准和高,并且还支持两种不同的帧速率:高和低,则有六个不同的描述项,每个分辨率和帧速率的组合对应于一个描述项。
SVC相关性描述项或简称为“描述项”将SVC基本流内存在的多种可能的空间-时间组合归档并描述它们。使用分组类型“svcd”来定义每个描述项。依据这些描述项的相关性来将其排序。第一个描述项归档基层描述,而后续描述项归档增强层描述。使用group_description_index来对排序的描述项建立索引。还使用group_description_index来将多种SVC NAL单元分组。每个SVC NAL单元指代描述项的其中之一。
使用索引group_desciption_index将SVC基本流中的每个SVCNAL单元分组成排序的描述项列表。指代特定索引的NAL单元可能需要所有或一些指代所有较低索引的NAL单元来实现适合的解码操作,但是不需要指代较高索引值的任何NAL单元。换言之,仅在较低层方向上存在相关性。
在一个实施例中,文件服务器基于描述项内存在的描述字段的值(例如分辨率和或时间速率)来确定适合的解码操作所需的索引的子集。在另一个实施例中,终端用户装置确定索引的子集。
用于指代排序的描述项列表的分组类型是“svcd”。分组类型用于将此列表中存在的项链接到SVCSampleToGroup框,SVCSampleToGroup框包括所有SVC样本的分组,下文将对此进行更详细的描述。
下列的是示范SVC相关性描述项语法:
class SVCDependencyDescriptionEntry()extends VisualSampleGrroupEntry(‘svcd’)
{
unsigned int(8)Profilelndieation;
unsigned int(8)profile_compatibility;
unsigned int(8)LevelIndication;
unsigned int(8)temporal_level;
unsigned int(8)dependency_id;
unsigned int(8)temporalFrameRate;
unsigned int(16)visualWidth;
unsigned int(16)visualHeight;
unsigned int(16)bageBitRate;
unsigned int(16)maxBitRate;
unsigned int(16)avgBitRate;
unsigned int(8)progressiveRefinementLayerFlag;
unsigned int(32)reserved=0;
//当稍后定义ScalabilityInformationSEIBox()时可以跟随可选的框或字段;
//可选
}
class ScalabilityInformationSEIBox extends Box(′seib′)
{
//包含JSVM 2.0文献编码描述(N7084)中的第4.1节可伸缩信息SEI消息语法中定义的所有字段
}
变量profileIndication包括AVC/SVC视频规范中定义的分布(profile)代码。变量profile_compatibility是定义为刚好与AVC/SVC视频规范中定义的序列参数集中的profile_DC与level_DC之间出现的字节相同的字节。变量levelIndication包括AVC/SVC视频规范中定义的级别代码。每个项中存在的profileIndication和levelIndication字段指示字段提供特定层所兼容的分布和级别值。变量temporal_level取AVC/SVC视频规范中定义的可伸缩扩充NAL单元中存在的temporal_level语法元素的值。其非负整数指示样本沿时间提供的时间级别。将最低时间级别编号为零,将时间方向上的增强层编号为1或更高数值。在AVC NAL单元的情况中,temporal_level字段取零的缺省值。在SVC可伸缩扩充NAL单元中,如果extension_flag等于0,则SPS中存在指定将simple_priority_id到temporal_level的映射的参数,并相应地对其进行映射。
变量dependency_id取AVC/SVC视频规范中定义的可伸缩扩充NAL单元中存在的dependency-id语法元素的值。Dependency_id是非负整数,其零值表明NAL单元对应于最低空间分辨率,而所有较高值表明增强层提供空间分辨率和/或质量(例如粗略颗粒可伸缩性(coarse grain scalability))中的提高。dependency_id也控制空间可伸缩性。在AVC NAL单元的情况中,dependency_id字段取零的缺省值。在SVC可伸缩扩充NAL单元中,如果extension_flag等于0,则SPS中存在指定simple_priority_id到dependency_id的映射的参数,并相应地对其进行映射。变量temporalFrameRate指示与项中的时间级别字段关联的时间帧速率。变量visualWidth对SVC流的此层中的像素中的编码的图片的宽度赋值。变量visualHeight对SVC流的此层中的像素中的编码的图片的高度赋值。变量baseBitRate赋予在无任何渐进精细化(progressive refinement)的情况下由此层提供的最低质量的比特率(以比特数/秒为单位)。在计算中将落在相关性层次结构内的此级别和较低级别中的NAL单元纳入考虑。变量maxBitRate赋予任何一秒的窗口上由此层提供的最高速率(以比特数/秒为单位)。在计算中将落在相关性分层结构内的此级别和较低级别中的NAL单元纳入考虑。变量avgBitRate赋予平均比特率(以比特数/秒为单位)。在计算中将此级别和较低级别中的NAL单元纳入考虑。当变量progressiveRefinementLayerFlag为真时,它指示此层包含渐进精细化单元,并且是FGS可伸缩的。
SVCSampleToGroup框用于根据时间、空间和质量要求方面施加的约束,从SVC文件格式中存储的SVC基本流提取SVC可伸缩子流。SVCSampleToGroup框提供用于SVC样本的每个NAL单元的分组信息。分组信息通过group_description_index来提供,group_description_index将每个NAL单元与SVCDependencyDescriptionEntry中存在的其描述信息关联。group_description_index指代特定的描述项。group_description_index的范围是1至SampleGroupDescription框中的样本组项的数量。对这些访问单元内的每个NAL单元赋予特定的group_description_index值。终端用户装置指定的要求最终确定特定的group_description_index值。从文件格式的媒体数据部分中存储的可伸缩视频流中提取这些访问单元内被赋予所确定的group_description_index值的所有NAL单元,或这些访问单元内其group_description_Index值低于所确定的group_description_index值的那些NAL单元。将那些提取的访问单元传送到终端用户装置。以此方式,可以根据终端用户装置指定的要求来提取单个可伸缩视频流的若干部分,并将其传送到终端用户装置。
下列的是示范SVCSampleToGroup框语法:
aligned(8)class SVCSampleToGroupBox extends FullBox(′svcg′,version=0,0)
{
unsigned int(32)grouping_type;//分组类型“svcd”
unsigned int sample_count;//由样本至块框计算
for(int i=1;i<=sample_count;i++)
{
unsigned int(8)numberOfNalUnits;
for(int j=1;j<=numberOfNalUnits;j++)
{
unsigned int(8) group_description_index;
unsigned int(1) isDiscardableNalUnitFlag;
unsigned int(1) isPRNalUnitFlag;
unsigned int(2) quality_level;
unsigned int(4) reserved=0;
}
}
}
变量grouping_type是标识所采用的样本分组的类型的整数。它将SVCSampleToGroup框链接到它关联的具有分组类型值“svcd”的样本组描述表。变量sample_count表示SVC基本流的媒体音轨中存在的样本的数量,它是使用样本至块(Sample to Chunk)框计算的推导值。变量numberOfNalUnits是赋予SVC样本中存在的NAL的数量的整数。变量group_description_index是赋予描述此组中的NAL单元的样本组项的索引的整数。该索引的范围为1至特定SampleGroupDescription框中的样本组项的数量,或取值0以指示该特定的SVC样本是此类型的无组的成员。变量isDiscardableNalUnitFlag是一个标记,在AVC视频规范的NAL单元语义中指定了其语义。变量isPRNalUnitFlag是一个标记,如果等于1,则该标记指示NAL单元是渐进精细化NAL单元。变量quality_level指定NAL单元头或quality_level_list[]中指定的当前NAL单元的质量级别。如果不存在,则将其值推导为零。
ISO基本语法中定义的子样本信息框无法容易地用于定义用来提取SVC基本流的选定部分的SampleToGroup框。首先,子样本信息框没有映射到相关描述项的“grouping_type”指示符。其次,子样本信息框对于达到此目的是不够的,因为子样本信息框需要称为“sample_count”的(32)位特项。这起初是用来指示一组样本(a runof samples),但是在SVC文件格式中,每个SVC样本可以具有可变数量的subsample_count,从而利用了对每个SVC样本强制的此sample_count。第三,新的文件格式无需告知每个子样本大小,因为使用NAL单元的计数,并且在它们之前已经指定每个NAL单元的长度。
图6图示根据SVC标准的SVC样本或SVC访问单元的示范结构。SVC样本在外部成帧,并且具有该外部成帧提供的大小。SVC访问单元由一组NAL单元组成。每个NAL单元是附有长度来表示的,该长度指示后续NAL单元的以字节为单位的长度。该长度字段配置为1、2或4个字节的。该配置大小是在解码器配置记录中指定的。每个NAL单元包含ISO/TEC AVC/SVC视频规范中指定的NAL单元数据。
SVC解码器配置记录包含每个样本中使用的长度字段的大小,以便指示它包含的NAL单元的长度以及初始参数集。SVC解码器配置记录是外部成帧的,这意味着它的大小是由包含它的结构提供的。SVC解码器配置记录还包括版本字段。版本号的改变指示对SVC解码器配置记录的不兼容更改。
当用来提供参数集基本流的配置或结合参数集基本流使用的视频基本流的配置时,该配置记录未包含任何序列参数集或图片参数集,例如变量numOfSequenceParameterSets和numOfPictureParameterSets具有值。
SVCProfileIndication、SVCLevelIndication和指示分布兼容性的标记的值对于可伸缩视频流的所有参数集有效。级别指示指示等于或大于所含的参数集中指示的最高级别的能力的级别。如果将所有所含的参数集设置了该标记,则每个分布兼容性标记被设置。分布指示指示整个流所遵循的分布。在SVCDependencyDescriptionEntry框中归档每个层的个别分布和级别。
下列的是示范SVC解码器配置记录语法:
aligned(8)class SVCDecoderConfigurationRecord{
unsigned int(8)confiqurationVersion=1;
unsigned int(8)SVCProfilelndication;
unsigned int(8)profile_compatibility;
unsigned int(8)SVCLevellndication;
bit(6)reserved=‘111111’b;
unsigned int(2)lengthSizeMinusOne;
bit(3)reserved=‘111’b;
unsigned int(5)numOfSequenceParameterSets;
for(i=0;i<numOfSequenceParameterSets;i++){
unsigned int(16)sequencePararneterSetLength;
bit(8*sequenceParameterSetLength)sequenceParameterSetNALUnit;
}
unsigned int(8)numOfPictureParameterSets;
for(i=0,i<numOfPictureParameterSets;i++){
unsigned int(16)pictureParameterSetLength;
bit(8*pictureParameterSetLength)pictureParameterSetNALUnit;
}
}
变量SVCProfileIndication包含SVC规范中的定义的分布码。变量profile_compatibility是定义为与AVC视频规范中定义的序列参数集中的profile_DC与level_IDC之间出现的字节相同的字节。变量SVCLevelIndication包含AVC规范中的定义的级别码。变量lengthSizeMinusOne指示关联的流的SVC视频样本或SVC参数集样本中的NALUnitLength字段的长度(以字节为单元)减一。例如,以0的值指示一个字节的大小。此字段的值是分别对应于以1、2或4个字节编码的长度的0、1或3的其中之一。变量numOfSequenceParameterSets指示用作用于将SVC基本流解码的序列参数集的初始设置的序列参数集的数量。变量sequenceParameterSetLength指示AVC规范中定义的序列参数集NAL单元的长度(以字节为单位)。变量sequenceParameterSetNALUnit包含AVC规范中指定的序列参数集NAL单元。序列参数集按参数集标识符的升序出现,且允许空缺。变量numOfPictureParameterSets指示用作用于将SVC基本流解码的图片参数集的初始设置的图片参数集的数量。变量pictureParameterSetLength指示AVC规范中定义的图片参数集NAL单元的长度(以字节为单位)。变量pictureParameterSetNALUnit包含AVC规范中指定的图片参数集NAL单元。图片参数集按参数集标识符的升序出现,且允许空缺。
如本文描述的,可伸缩SVC视频流作为单个音轨存储。如果可伸缩SVC视频流具有属于AVC兼容的基层,则使用新扩充将每个SVC样本中存在的那些AVC兼容NAL单元分组在一起,如前文描述的。为了找出属于AVC兼容的项,使用SVCDependencyDescriptionEntries中存在的分布和级别指示符来分析SVCSampleToGroup框,并从属于AVC兼容的每个SVC样本中仅提取那些NAL单元。
修改的SVC文件格式从ISO基本媒体文件格式导出。因此,存在修改的SVC文件格式与ISO基本媒体文件格式中的术语的对应。例如,修改的SVC文件格式中使用的术语流和访问单元分别对应于ISO基本媒体文件格式中的术语音轨和样本。
在ISO基本媒体文件格式规范的术语中,SVC音轨(视频和参数集音轨)是视频或可视音轨。因此,它们使用HandlerBox中的“vide”的handler_type、视频媒体头“vmhd”以及如下文定义的VisualSampleEntry的派生。
如下定义了SVC视频基本流的样本项和样本格式。定义包括:
框类型:“avc1”、“avcC”、“svc1”、“svcC”
容器:样本表框(“stb1”)
强制性:Avc1(如果基层是AVC)或svc1框是强制的。
数量:可能存在一个或多个样本项
为了保持与AVC的后向兼容性,定义了两种类型的可视样本项。第一,如果SVC基本流包含AVC兼容的基层,则使用AVC可视样本项(“avc1”)。这里,该项最初包含AVC配置框,后跟SVC配置框,如下文定义的。在AVC文件格式规范中,AVC配置框归档AVCDecoderConfigurationRecord定义的有关AVC兼容的基层的分布、级别和参数集信息。SVC配置框归档下文定义的SVCDecoderConfigurationRecord所定义的有关SVC兼容增强层的分布、级别和参数集信息。如果SVC基本流未包含AVC基层,则使用SVC可视样本项(“svc1”)。SVC可视样本项包含SVC配置框,如下文定义的。这包括SVCDecoderConfigurationRecord,也如下文定义的。按ISO基本媒体文件格式规范所允许的,使用多个样本描述来指示使用不同配置或参数集的视频部分。
下列的是示范AVC配置框和SVC配置框语法:
//可视序列
clags AVCConfigurationgox extends Box(’avcC’){
AVCDecoderConfig-urationReeord()AVCConfig;
}
class SVCConfigurationBox extends Box(’svcC’){
SVCDecoderConfigurationReeord()SVCConfig;
}
//如果基层属于AVC兼容的,则使用它
class AVCSampleEntry()extends VisualSampleEntry(′avc1′){
AVCConfigurationBox avcconfig;
SVCConfigurationBox svcconfig;
MPEG4BitRateBox(); //可选
MPEG4ExtensionDescriptorsBox(); //可选
}
//如果基层不属于AVC兼容的,则使用它
class SVCSampleEhtry()extends VisualSamplesntry(′svc1′){
SVCConfigurationBox svcconfig;
MPEG4BitRateBox(); //可选
MPEG4ExtensionDescniptorsBox(); //可选
}
基本类VisualSampleEntry中的变量Compressorname指示所使用的压缩器的名称,并且建议值“\012AVC编码”或“\012SVC编码”(\012是10,作为字节的字符串的长度)。如果使用单独的参数集流,则变量numOfSequenceParameterSets和numOfPictureParameterSets必须均为零。
SVC视频基本流中的样本的格式通过SVC基本流的解码器专用配置来进行配置。SVC样本包含有关对应于图7所示的主要编码的图片存在的所有可伸缩级别的所有NAL单元。
下列的是示范SVC样本语法:
aligned(8)class SVCSample
{
unsigned int PictureLength=sample_size;//来自SampleSizeBox的SVCSample太小
for(i=0;i<PictureLength;)//直到图片结束为止
unsigned int((SVCDecoderConfigurationRecord.LengthSizeMinusOne+1)*8)
NALUnitLength;
bit(NALUnitLength*8)NALUnit;
i+=(SVCDecoderConfigurationRecord.LengthSizeMinusOnc+1)+NALUnitLength;
}
}
变量NALUnitLength指示以字节为单位测量的NAL单元的大小。该长度字段包括一个字节的NAL头和EBSP有效负载的大小,但是不包括该长度字段本身。变量NALUnit包含单个NAL单元。NAL单元的语法按ISO/TEC AVC/SVC视频规范中定义的,并且包括一个字节的NAL头和可变长度的封装字节流有效负载。
AVC文件格式中指定的AVC参数集基本流的定义也适用于此情况中用于将SVC参数集作为单独的基本流存储。
VisualSampleEntry中的宽度和高度归档根据通过将整个可伸缩比特流解码获得的像素的正确剪切的最大空间分辨率。为了获得每个层的个别宽度和高度,估算组描述项。除非这里另行指定,否则AVC文件格式规范中指定的所有其他定义均适用。
一般来说,新的SVC文件格式扩充支持完全可伸缩且分层的可伸缩流的访问和调整。该分组方法使得能够创建多个组描述项,其中每个描述项描述完全可伸缩流情况中的可伸缩层的特性及其可能的精细化。每个描述项归档时间帧速率(时间可伸缩性)、空间尺寸(空间可伸缩性)、可从此层获取的比特率的范围、指示此层是否是精细颗粒可伸缩的、分布和级别指示、以及相关性信息。相关性分层结构容易地由组描述项的索引来维护,其中每个较高的索引指示它与它以下的项描述的所有或一些较低层相关。SampleToGroup框将SVC样本的每个NAL单元映射到它的group_description_index。这样能够实现读取、分析和跳过任何不需要的数据的高效方法。如果期望整个可伸缩样本,则读取完整的SVC样本。如果仅期望特定的可伸缩层,则在分析时跳过未映射到期望的层的那些NAL单元(VCL或其他)。
该修改的文件格式定义一种访问和提取文件格式中存储的整个可伸缩层或其一部分的机制。为了通过网络来传输以及通过网络可能地调整编码的数据,使用SEI消息中的可伸缩性信息或使用通过网络丢弃非期望的NAL单元的备选规则。一种可能性是作为RTP映射进程的一部分来定义规则以启用此类备选功能。
修改的文件格式与现有AVC文件格式规范达到最充分程度地后向兼容。当存储AVC兼容的流时DecoderConfiguration、样本语法结构和基本流结构中没有改变。文件类型指示使用其compatible_brands列表中的牌子“avc1”来告知AVC兼容的基层流的存在。通过读取每个group_description_entry中存在的分布/级别指示符来检测AVC兼容的流的存在。或者,也为AVC兼容的基层流创建单独的“提示”音轨。
在一个实施例中,使用实时传输协议(RTP)通过网络传送所提取的访问单元。RTP具有添加到有效负载(在此情况中为提取的访问单元)中的它自己的头。提示音轨包括预先生成的RTP头和指向可伸缩数据的指针。当文件服务器传送提取的访问单元时,访问适合的提示音轨以便检索预先生成的RTP头和指针,从而消除生成RTP头的附加开销。
AVC提示音轨中的每个样本存储指代可伸缩视频流中的AVC基层兼容的NAL单元的信息。此样本内的所有NAL单元具有相同的时间戳。
下列的是AVC提示音轨的样本语法:
aligned(8)class AVCHintsample{
unsigned int(32) sample_index;
unsigned int(8) nalunitcount;
unsigned int(8) reserved;
}
变量sample_index指示包含AVG基层NAL单元的SVC样本的样本数量。变量nalunitcount指示自属于AVG兼容的SVC样本的起始处起的连续NAL单元的数量。
图7图示实现修改的SVC文件格式的示范方法。在步骤200,配置成实现修改的SVC文件格式的文件服务器从终端用户装置接收请求。该请求标识要传送的特定数据流的名称。该特定的数据流对应于修改的文件格式中存储的特定可伸缩数据流。该请求还包含终端用户装置的装置要求,例如支持的分辨率和帧速率。在步骤210,文件服务器确定与指定的数据关联的音轨。在步骤220,文件服务器将步骤210中确定的音轨解码。在步骤230,使用解码的音轨内的一个或多个元数据框来确定与装置要求关联的描述项。在一个实施例中,解码的音轨包括用于确定关联的描述项的SampleGroupDescription框。在此实施例中,该描述项定义与装置要求对应的参数值。在步骤240,使用一个或多个元数据框确定访问单元;以及特定可伸缩数据流内的每个访问单元内的特定NAL单元。根据步骤230中确定的描述项来确定访问单元内的特定NAL单元。在一个实施例中,解码的音轨包括用于确定特定访问单元的SampleToGroup框。在步骤250,从特定可伸缩数据流提取步骤240中确定的特定访问单元。所提取的访问单元是特定可伸缩数据流的子层数据流。该子层数据流与步骤200中接收的装置要求匹配,并因此被终端用户装置所支持。在步骤260,将子层数据流传送到终端用户装置。
已结合细节就特定实施例描述了本发明,以帮助理解本发明的结构和操作的原理。本文中对特定实施例及其细节的此类引用无意将所附权利要求的范围局限于此。对于本领域人员来说,显然在不背离本发明的精神和范围的前提下可以在用于说明而选择的这些实施例中进行修改。
Claims (40)
1.一种从装置上实现的修改的文件格式中提取数据流的系统,所述系统包括:
用于接收对特定数据流的请求的装置,其中所述请求包括一个或多个装置要求;
用于将所述请求与所述修改的文件格式的媒体数据部分中存储的特定可伸缩数据流关联的装置;
用于确定与所述特定可伸缩数据流对应的一个或多个音轨的装置,其中所述一个或多个音轨存储在所述修改的文件格式的元数据部分中,而且其中每个音轨包括一个或多个元数据框;
用于根据所述一个或多个装置要求来确定所述特定可伸缩数据流的子层数据流的装置,其中使用所述一个或多个元数据框来确定所述子层数据流;以及
用于从所存储的可伸缩数据流中提取所述子层数据流的装置。
2.如权利要求1所述的系统,其特征在于,还包括用于发送所提取的子层数据流的装置。
3.如权利要求1所述的系统,其特征在于,还包括用于在确定所述子层数据流之前将所确定的一个或多个音轨解码的装置。
4.如权利要求1所述的系统,其特征在于,所述一个或多个元数据框包括对伸缩视频编码(SVC)文件格式标准的扩充。
5.如权利要求1所述的系统,其特征在于,所述可伸缩数据流包括可伸缩视频流。
6.如权利要求5所述的系统,其特征在于,所述可伸缩视频流包括可伸缩视频编码(SVC)基本流。
7.如权利要求1所述的系统,其特征在于,所述修改的文件格式包括修改的可伸缩视频编码(SVC)文件格式。
8.如权利要求1所述的系统,其特征在于,所述可伸缩数据流包括单个编码的音轨。
9.如权利要求1所述的系统,其特征在于,所述可伸缩数据流包括一系列访问单元。
10.如权利要求9所述的系统,其特征在于,还包括用于将所述一个或多个元数据框配置成根据所述一个或多个装置要求来定义多个描述项的其中一个描述项的装置。
11.如权利要求9所述的系统,其特征在于,还包括用于将所述一个或多个元数据框配置成根据所选的描述项来定义访问单元的子集的装置,其中所定义的访问单元的子集包括所述子层数据流。
12.如权利要求11所述的系统,其特征在于,所述一个或多个元数据框包括SVC样本组描述框,所述SVC样本组描述框配置成定义所述一个描述项。
13.如权利要求12所述的系统,其特征在于,所述一个或多个元数据框包括SVC样本至分组框,所述SVC样本至分组框用于定义访问单元的子集并将其分组。
14.如权利要求1所述的系统,其特征在于,所述一个或多个元数据框包括对伸缩视频编码(SVC)标准的扩充。
15.如权利要求1所述的系统,其特征在于,所述可伸缩数据流包括多个子层数据流。
16.如权利要求1所述的系统,其特征在于,还包括用于将所述可伸缩数据流的已编码版本存储在所述媒体数据部分中的装置。
17.如权利要求16所述的系统,其特征在于,根据伸缩视频编码(SVC)标准将所述可伸缩数据流编码。
18.如权利要求1所述的系统,其特征在于,还包括用于将所述一个或多个元数据框配置成定义与所述子层数据流关联的提示音轨的装置。
19.如权利要求18所述的系统,其特征在于,所述子层数据流包括高级视频编码(AVC)兼容的基层流。
20.一种从装置上实现的修改的文件格式中提取数据流的方法,所述方法包括:
a.接收对特定数据流的请求,其中所述请求包括一个或多个装置要求;
b.将所述请求与所述修改的文件格式的媒体数据部分中存储的特定可伸缩数据流关联;
c.确定与所述特定可伸缩数据流对应的一个或多个音轨,其中所述一个或多个音轨存储在所述修改的文件格式的元数据部分中,而且其中每个音轨包括一个或多个元数据框;
d.根据所述一个或多个装置要求来确定所述特定可伸缩数据流的子层数据流,其中使用所述一个或多个元数据框来确定所述子层数据流;以及
e.从所存储的可伸缩数据流中提取所述子层数据流。
21.如权利要求20所述的方法,其特征在于,还包括发送所提取的子层数据流。
22.如权利要求20所述的方法,其特征在于,还包括在确定所述子层数据流之前将所确定的一个或多个音轨解码。
23.如权利要求20所述的方法,其特征在于,所述一个或多个元数据框包括对伸缩视频编码(SVC)文件格式标准的扩充。
24.如权利要求20所述的方法,其特征在于,所述可伸缩数据流包括可伸缩视频流。
25.如权利要求24所述的方法,其特征在于,所述可伸缩视频流包括可伸缩视频编码(SVC)基本流。
26.如权利要求20所述的方法,其特征在于,所述修改的文件格式包括修改的可伸缩视频编码(SVC)文件格式。
27.如权利要求20所述的方法,其特征在于,所述可伸缩数据流包括单个编码的音轨。
28.如权利要求20所述的方法,其特征在于,所述可伸缩数据流包括一系列访问单元。
29.如权利要求28所述的方法,其特征在于,还包括将所述一个或多个元数据框配置成根据所述一个或多个装置要求来定义多个描述项的其中一个描述项。
30.如权利要求28所述的方法,其特征在于,还包括将所述一个或多个元数据框配置成根据所选的描述项来定义访问单元的子集,其中所定义的访问单元的子集包括所述子层数据流。
31.如权利要求30所述的方法,其特征在于,所述一个或多个元数据框包括SVC样本组描述框,所述SVC样本组描述框配置成定义所述一个描述项。
32.如权利要求31所述的方法,其特征在于,所述一个或多个元数据框包括SVC样本至分组框,所述SVC样本至分组框用于定义访问单元的子集并将其分组。
33.如权利要求20所述的方法,其特征在于,所述一个或多个元数据框包括对伸缩视频编码(SVC)标准的扩充。
34.如权利要求20所述的方法,其特征在于,所述可伸缩数据流包括多个子层数据流。
35.如权利要求20所述的方法,其特征在于,还包括将所述可伸缩数据流的已编码版本存储在所述媒体数据部分中。
36.如权利要求35所述的方法,其特征在于,根据伸缩视频编码(SVC)标准将所述可伸缩数据流编码。
37.如权利要求20所述的方法,其特征在于,还包括将所述一个或多个元数据框配置成定义与所述子层数据流关联的提示音轨。
38.如权利要求37所述的方法,其特征在于,所述子层数据流包括高级视频编码(AVC)兼容的基层流。
39.一种从装置上实现的修改的文件格式中提取数据流的方法,所述方法包括:
a.接收对特定数据流的请求,其中所述请求包括一个或多个装置要求;
b.将所述请求与所述修改的文件格式的媒体数据部分中存储的特定可伸缩数据流关联,所述可伸缩数据流包括一系列访问单元和多个子层数据流;
c.确定与所述特定可伸缩数据流对应的一个或多个音轨,其中所述一个或多个音轨存储在所述修改的文件格式的元数据部分中,而且其中每个音轨包括一个或多个元数据框,其中所述一个或多个元数据框包括对伸缩视频编码(SVC)文件格式标准的扩充;
d.根据所述一个或多个装置要求来确定所述特定可伸缩数据流的子层数据流,其中使用所述一个或多个元数据框来确定所述子层数据流;
e.从所存储的可伸缩数据流中提取所述子层数据流;
f.发送所提取的子层数据流;
g.在确定所述子层数据流之前将所确定的一个或多个音轨解码;
h.将所述一个或多个元数据框配置成根据所述一个或多个装置要求来定义多个描述项的其中一个描述项;
i.将所述一个或多个元数据框配置成根据所选的描述项来定义访问单元的子集,其中所定义的访问单元的子集包括所述子层数据流;
j.将所述可伸缩数据流的已编码版本存储在所述媒体数据部分中;
k.将所述一个或多个元数据框配置成定义与所述子层数据流关联的提示音轨,其中所述子层数据流包括高级视频编码(AVC)兼容的基层流。
40.一种从装置上实现的修改的文件格式中提取数据流的系统,所述系统包括:
用于接收对特定数据流的请求的装置,其中所述请求包括一个或多个装置要求;
用于将所述请求与所述修改的文件格式的媒体数据部分中存储的特定可伸缩数据流关联的装置,所述可伸缩数据流包括一系列访问单元和多个子层数据流;
用于确定与所述特定可伸缩数据流对应的一个或多个音轨的装置,其中所述一个或多个音轨存储在所述修改的文件格式的元数据部分中,而且其中每个音轨包括一个或多个元数据框,其中所述一个或多个元数据框包括对伸缩视频编码(SVC)文件格式标准的扩充;
用于根据所述一个或多个装置要求来确定所述特定可伸缩数据流的子层数据流的装置,其中使用所述一个或多个元数据框来确定所述子层数据流;
用于从所存储的可伸缩数据流中提取所述子层数据流的装置;
用于发送所提取的子层数据流的装置;
用于在确定所述子层数据流之前将所确定的一个或多个音轨解码的装置;
用于将所述一个或多个元数据框配置成根据所述一个或多个装置要求来定义多个描述项的其中一个描述项的装置;
用于将所述一个或多个元数据框配置成根据所选的描述项来定义访问单元的子集的装置,其中所定义的访问单元的子集包括所述子层数据流;
用于将所述可伸缩数据流的已编码版本存储在所述媒体数据部分中的装置;
用于将所述一个或多个元数据框配置成定义与所述子层数据流关联的提示音轨的装置,其中所述子层数据流包括高级视频编码(AVC)兼容的基层流。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69953505P | 2005-07-15 | 2005-07-15 | |
US60/699,535 | 2005-07-15 | ||
US11/398,195 | 2006-04-04 | ||
US11/398,195 US7725593B2 (en) | 2005-07-15 | 2006-04-04 | Scalable video coding (SVC) file format |
PCT/US2006/027602 WO2007011836A2 (en) | 2005-07-15 | 2006-07-14 | Scalable video coding (svc) file format |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101595475A CN101595475A (zh) | 2009-12-02 |
CN101595475B true CN101595475B (zh) | 2012-12-12 |
Family
ID=37662860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680033481XA Expired - Fee Related CN101595475B (zh) | 2005-07-15 | 2006-07-14 | 可伸缩视频编码(svc)文件格式 |
Country Status (6)
Country | Link |
---|---|
US (3) | US7725593B2 (zh) |
EP (1) | EP1920322A4 (zh) |
JP (1) | JP2009502055A (zh) |
CN (1) | CN101595475B (zh) |
TW (1) | TW200721844A (zh) |
WO (1) | WO2007011836A2 (zh) |
Families Citing this family (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307487B1 (en) * | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) * | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US9240810B2 (en) * | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
EP2357731B1 (en) | 2002-10-05 | 2021-06-09 | QUALCOMM Incorporated | Systematic decoding of chain reaction codes |
US7370212B2 (en) * | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US7483532B2 (en) * | 2003-07-03 | 2009-01-27 | Microsoft Corporation | RTP payload format |
US7139960B2 (en) * | 2003-10-06 | 2006-11-21 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
WO2005112250A2 (en) * | 2004-05-07 | 2005-11-24 | Digital Fountain, Inc. | File download and streaming system |
US7721184B2 (en) * | 2004-08-11 | 2010-05-18 | Digital Fountain, Inc. | Method and apparatus for fast encoding of data symbols according to half-weight codes |
EP2002653A2 (en) * | 2004-12-08 | 2008-12-17 | Imagine Communications Ltd., | Distributed statistical multiplexing of multi-media |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8725646B2 (en) * | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US20060265758A1 (en) * | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
WO2006125850A1 (en) * | 2005-05-24 | 2006-11-30 | Nokia Corporation | Method and apparatuses for hierarchical transmission/reception in digital broadcast |
US7684566B2 (en) * | 2005-05-27 | 2010-03-23 | Microsoft Corporation | Encryption scheme for streamed multimedia content protected by rights management system |
US7769880B2 (en) * | 2005-07-07 | 2010-08-03 | Microsoft Corporation | Carrying protected content using a control protocol for streaming and a transport protocol |
US7561696B2 (en) * | 2005-07-12 | 2009-07-14 | Microsoft Corporation | Delivering policy updates for protected content |
US20070022215A1 (en) * | 2005-07-19 | 2007-01-25 | Singer David W | Method and apparatus for media data transmission |
DE102005033981A1 (de) * | 2005-07-20 | 2007-02-01 | Siemens Ag | Verfahren zur Speicherung einzelner Datenelemente eines skalierbaren Datenstroms in eine Datei sowie zugehörige Vorrichtung |
US8321690B2 (en) * | 2005-08-11 | 2012-11-27 | Microsoft Corporation | Protecting digital media of various content types |
US7634816B2 (en) | 2005-08-11 | 2009-12-15 | Microsoft Corporation | Revocation information management |
US7720096B2 (en) * | 2005-10-13 | 2010-05-18 | Microsoft Corporation | RTP payload format for VC-1 |
KR100772868B1 (ko) * | 2005-11-29 | 2007-11-02 | 삼성전자주식회사 | 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치 |
KR20070108434A (ko) * | 2006-01-09 | 2007-11-12 | 한국전자통신연구원 | SVC(Scalable Video Coding)파일포맷에서의 데이터 공유 개선방법 |
KR20070108433A (ko) * | 2006-01-09 | 2007-11-12 | 한국전자통신연구원 | 청크 디스크립터를 이용한 svc 파일포맷에서의 비디오데이터 공유방법 |
US8767818B2 (en) * | 2006-01-11 | 2014-07-01 | Nokia Corporation | Backward-compatible aggregation of pictures in scalable video coding |
JP5550834B2 (ja) * | 2006-02-13 | 2014-07-16 | デジタル ファウンテン, インコーポレイテッド | 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング |
US9270414B2 (en) * | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US7971129B2 (en) | 2006-05-10 | 2011-06-28 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9386064B2 (en) * | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US8699583B2 (en) * | 2006-07-11 | 2014-04-15 | Nokia Corporation | Scalable video coding and decoding |
WO2008048065A1 (en) * | 2006-10-19 | 2008-04-24 | Lg Electronics Inc. | Encoding method and apparatus and decoding method and apparatus |
KR100776680B1 (ko) * | 2006-11-09 | 2007-11-19 | 한국전자통신연구원 | Svc 비디오 압축 비트스트림에 대한 패킷타입 분류방법과 이를 이용한 rtp 패킷화 장치 및 그 방법 |
EP3484123A1 (en) | 2007-01-12 | 2019-05-15 | University-Industry Cooperation Group Of Kyung Hee University | Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format |
WO2009024926A1 (en) * | 2007-08-20 | 2009-02-26 | Nokia Corporation | Segmented metadata and indexes for streamed multimedia data |
CA2697764A1 (en) | 2007-09-12 | 2009-03-19 | Steve Chen | Generating and communicating source identification information to enable reliable communications |
JP5170708B2 (ja) * | 2008-01-24 | 2013-03-27 | 日本電気株式会社 | 動画像ストリーム加工方法及び装置、それを用いた動画像再生装置並びに動画像配信装置 |
US8681856B2 (en) * | 2008-04-24 | 2014-03-25 | Sk Planet Co., Ltd. | Scalable video providing and reproducing system and methods thereof |
US20100153395A1 (en) * | 2008-07-16 | 2010-06-17 | Nokia Corporation | Method and Apparatus For Track and Track Subset Grouping |
KR101547557B1 (ko) * | 2008-11-14 | 2015-08-26 | 삼성전자주식회사 | 컨텐츠 재생 장치 선정 방법 및 그 장치 |
KR20100071688A (ko) * | 2008-12-19 | 2010-06-29 | 한국전자통신연구원 | 스케일러블 비디오 코딩 기반의 포괄적 비디오 접근을 위한스트리밍 서비스 장치 및 방법 |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US20100250763A1 (en) * | 2009-03-31 | 2010-09-30 | Nokia Corporation | Method and Apparatus for Transmitting Information on Operation Points |
US20100250764A1 (en) * | 2009-03-31 | 2010-09-30 | Nokia Corporation | Method and Apparatus for Signaling Layer Information of Scalable Media Data |
JP5542912B2 (ja) * | 2009-04-09 | 2014-07-09 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | メディア・コンテナ・ファイル管理 |
CN102165776B (zh) * | 2009-07-06 | 2012-11-21 | 华为技术有限公司 | 一种可伸缩视频编码文件的传输方法、接收方法及装置 |
US8566393B2 (en) * | 2009-08-10 | 2013-10-22 | Seawell Networks Inc. | Methods and systems for scalable video chunking |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US9917874B2 (en) * | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
KR20110071707A (ko) * | 2009-12-21 | 2011-06-29 | 삼성전자주식회사 | 동영상 컨텐트 제공 방법 및 그 장치, 동영상 컨텐트 재생 방법 및 그 장치 |
TWI419568B (zh) * | 2010-05-27 | 2013-12-11 | Univ Nat Sun Yat Sen | 三維之影像切割方法 |
US20130091154A1 (en) * | 2010-06-14 | 2013-04-11 | Thomson Licensing | Method And Apparatus For Encapsulating Coded Multi-Component Video |
JP2013534101A (ja) * | 2010-06-14 | 2013-08-29 | トムソン ライセンシング | 符号化マルチコンポーネント・ビデオをカプセル化する方法および装置 |
US20130097334A1 (en) * | 2010-06-14 | 2013-04-18 | Thomson Licensing | Method and apparatus for encapsulating coded multi-component video |
WO2011159605A1 (en) * | 2010-06-14 | 2011-12-22 | Technicolor Usa Inc | Method and apparatus for encapsulating coded multi-component video |
US9485546B2 (en) | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
US9131033B2 (en) | 2010-07-20 | 2015-09-08 | Qualcomm Incoporated | Providing sequence data sets for streaming video data |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US8799405B2 (en) * | 2010-08-02 | 2014-08-05 | Ncomputing, Inc. | System and method for efficiently streaming digital video |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
CN102547273B (zh) * | 2010-12-08 | 2014-05-07 | 中国科学院声学研究所 | 一种基于mkv的支持可伸缩编码的多媒体文件构造方法 |
US9118939B2 (en) | 2010-12-20 | 2015-08-25 | Arris Technology, Inc. | SVC-to-AVC rewriter with open-loop statistical multiplexer |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
KR102047492B1 (ko) * | 2012-03-12 | 2019-11-22 | 삼성전자주식회사 | 스케일러블 비디오 부호화 방법 및 장치, 스케일러블 비디오 복호화 방법 및 장치 |
US10313696B2 (en) | 2012-03-16 | 2019-06-04 | Lg Electronics Inc | Method for storing image information, method for parsing image information and apparatus using same |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
US9351016B2 (en) | 2012-04-13 | 2016-05-24 | Sharp Kabushiki Kaisha | Devices for identifying a leading picture |
US9161004B2 (en) * | 2012-04-25 | 2015-10-13 | Qualcomm Incorporated | Identifying parameter sets in video files |
WO2013165215A1 (ko) * | 2012-05-04 | 2013-11-07 | 엘지전자 주식회사 | 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치 |
US9554146B2 (en) | 2012-09-21 | 2017-01-24 | Qualcomm Incorporated | Indication and activation of parameter sets for video coding |
US20140092953A1 (en) * | 2012-10-02 | 2014-04-03 | Sharp Laboratories Of America, Inc. | Method for signaling a step-wise temporal sub-layer access sample |
US20140098868A1 (en) * | 2012-10-04 | 2014-04-10 | Qualcomm Incorporated | File format for video data |
RU2651201C2 (ru) * | 2012-11-30 | 2018-04-18 | Сони Корпорейшн | Устройство обработки изображения и способ |
US9648299B2 (en) * | 2013-01-04 | 2017-05-09 | Qualcomm Incorporated | Indication of presence of texture and depth views in tracks for multiview coding plus depth |
KR101748779B1 (ko) * | 2013-01-18 | 2017-06-19 | 캐논 가부시끼가이샤 | 분할된 시간 설정형 미디어 데이터를 캡슐화하는 방법, 디바이스 및 컴퓨터 프로그램 |
US9589533B2 (en) | 2013-02-28 | 2017-03-07 | Robert Bosch Gmbh | Mobile electronic device integration with in-vehicle information systems |
CN105308964A (zh) * | 2013-04-12 | 2016-02-03 | 三星电子株式会社 | 用于随机访问的多层视频编码方法及其装置以及用于随机访问的多层视频解码方法及其装置 |
US10356459B2 (en) * | 2013-07-22 | 2019-07-16 | Sony Corporation | Information processing apparatus and method |
US9756363B2 (en) * | 2013-08-20 | 2017-09-05 | Lg Electronics Inc. | Apparatus for transmitting media data via streaming service, apparatus for receiving media data via streaming service, method for transmitting media data via streaming service and method for receiving media data via streaming service |
JP5774652B2 (ja) | 2013-08-27 | 2015-09-09 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
US9621919B2 (en) * | 2013-10-23 | 2017-04-11 | Qualcomm Incorporated | Multi-layer video file format designs |
CN106464941B (zh) * | 2014-06-30 | 2019-10-29 | 索尼公司 | 信息处理装置和方法 |
JP6590925B2 (ja) * | 2014-11-05 | 2019-10-16 | コリン,ジャン−クロード | 動画像を作成するための方法 |
US9928297B2 (en) * | 2015-02-11 | 2018-03-27 | Qualcomm Incorporated | Sample grouping signaling in file formats |
CN108605152B (zh) * | 2016-02-09 | 2021-07-16 | 索尼公司 | 发送装置、发送方法、接收装置和接收方法 |
US10349067B2 (en) * | 2016-02-17 | 2019-07-09 | Qualcomm Incorporated | Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks |
CN105635188B (zh) * | 2016-03-31 | 2019-07-09 | 深圳市矽伟智科技有限公司 | 一种可视化内容分发方法及系统 |
US10187443B2 (en) * | 2017-06-12 | 2019-01-22 | C-Hear, Inc. | System and method for encoding image data and other data types into one data format and decoding of same |
US11588872B2 (en) | 2017-06-12 | 2023-02-21 | C-Hear, Inc. | System and method for codec for combining disparate content |
KR102495915B1 (ko) * | 2018-04-30 | 2023-02-03 | 삼성전자 주식회사 | 스토리지 장치 및 상기 스토리지 장치를 포함하는 서버 |
WO2020064733A1 (en) | 2018-09-25 | 2020-04-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Media bistream having backwards compatibility |
JP6648811B2 (ja) * | 2018-12-13 | 2020-02-14 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
GB2585052B (en) * | 2019-06-26 | 2023-07-26 | Canon Kk | Method and apparatus for encapsulating panorama images in a file |
JP6773205B2 (ja) * | 2019-12-19 | 2020-10-21 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
US12095582B2 (en) | 2020-02-07 | 2024-09-17 | Microsoft Technology Licensing, Llc | Latency compensation for synchronously sharing video content within web conferencing sessions |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1334677A (zh) * | 2000-05-17 | 2002-02-06 | 三菱电机株式会社 | 由视频重放系统从压缩数字视频信号中动态地提取特征 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7047241B1 (en) * | 1995-10-13 | 2006-05-16 | Digimarc Corporation | System and methods for managing digital creative works |
US6728775B1 (en) * | 1997-03-17 | 2004-04-27 | Microsoft Corporation | Multiple multicasting of multimedia streams |
US6937273B1 (en) * | 1997-05-28 | 2005-08-30 | Eastman Kodak Company | Integrated motion-still capture system with indexing capability |
US6757450B1 (en) * | 2000-03-30 | 2004-06-29 | Microsoft Corporation | Negotiated image data push processing |
US7383288B2 (en) * | 2001-01-11 | 2008-06-03 | Attune Systems, Inc. | Metadata based file switch and switched file system |
GB2372165A (en) * | 2001-02-10 | 2002-08-14 | Hewlett Packard Co | A method of selectively storing images |
US20040199565A1 (en) * | 2003-02-21 | 2004-10-07 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
WO2003073770A1 (en) * | 2002-02-25 | 2003-09-04 | Sony Electronics, Inc. | Method and apparatus for supporting avc in mp4 |
EP1535239A2 (en) * | 2002-06-25 | 2005-06-01 | Quix Technologies Ltd. | Image processing using probabilistic local behavior assumptions |
US7590145B2 (en) * | 2002-09-17 | 2009-09-15 | Scientific-Atlanta, Inc. | Multiplexing octets from a data flow over MPEG packets |
KR20050052531A (ko) | 2002-10-15 | 2005-06-02 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Ip 네트워크를 통해 스캐일 가능한 코드화된 비디오를전송하기 위한 시스템 및 방법 |
US6937723B2 (en) * | 2002-10-25 | 2005-08-30 | Avaya Technology Corp. | Echo detection and monitoring |
JP2004280283A (ja) * | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
US20050235047A1 (en) * | 2004-04-16 | 2005-10-20 | Qiang Li | Method and apparatus for a large scale distributed multimedia streaming system and its media content distribution |
US20050254575A1 (en) * | 2004-05-12 | 2005-11-17 | Nokia Corporation | Multiple interoperability points for scalable media coding and transmission |
KR100679031B1 (ko) * | 2004-12-03 | 2007-02-05 | 삼성전자주식회사 | 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치 |
DE102005001287A1 (de) * | 2005-01-11 | 2006-07-20 | Siemens Ag | Verfahren und Vorrichtung zur Verarbeitung von skalierbaren Daten |
US7876833B2 (en) * | 2005-04-11 | 2011-01-25 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive up-scaling for spatially scalable coding |
US20060233247A1 (en) * | 2005-04-13 | 2006-10-19 | Visharam Mohammed Z | Storing SVC streams in the AVC file format |
JP5470828B2 (ja) * | 2008-12-10 | 2014-04-16 | 株式会社日立製作所 | データ配信用通信装置、及びデータ配信システム |
-
2006
- 2006-04-04 US US11/398,195 patent/US7725593B2/en not_active Expired - Fee Related
- 2006-07-14 EP EP06787503.9A patent/EP1920322A4/en not_active Withdrawn
- 2006-07-14 CN CN200680033481XA patent/CN101595475B/zh not_active Expired - Fee Related
- 2006-07-14 TW TW095125926A patent/TW200721844A/zh unknown
- 2006-07-14 WO PCT/US2006/027602 patent/WO2007011836A2/en active Application Filing
- 2006-07-14 JP JP2008521689A patent/JP2009502055A/ja active Pending
-
2010
- 2010-03-10 US US12/721,383 patent/US20100161692A1/en not_active Abandoned
- 2010-04-07 US US12/755,674 patent/US8291104B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1334677A (zh) * | 2000-05-17 | 2002-02-06 | 三菱电机株式会社 | 由视频重放系统从压缩数字视频信号中动态地提取特征 |
Also Published As
Publication number | Publication date |
---|---|
US8291104B2 (en) | 2012-10-16 |
EP1920322A4 (en) | 2015-07-01 |
US20100198887A1 (en) | 2010-08-05 |
WO2007011836A2 (en) | 2007-01-25 |
CN101595475A (zh) | 2009-12-02 |
JP2009502055A (ja) | 2009-01-22 |
WO2007011836A3 (en) | 2009-04-30 |
US20070016594A1 (en) | 2007-01-18 |
US7725593B2 (en) | 2010-05-25 |
EP1920322A2 (en) | 2008-05-14 |
TW200721844A (en) | 2007-06-01 |
US20100161692A1 (en) | 2010-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101595475B (zh) | 可伸缩视频编码(svc)文件格式 | |
CN100419748C (zh) | 一种计算方法和采用该方法的装置和系统 | |
JP6516766B2 (ja) | 分割タイムドメディアデータのストリーミングを改善するための方法、デバイス、およびコンピュータプログラム | |
CN101669369B (zh) | 媒体文件中的多个解码时间的信号传输 | |
Amon et al. | File format for scalable video coding | |
RU2635549C1 (ru) | Способ, устройство и компьютерная программа для инкапсуляции масштабируемых разделенных данных мультимедиа с временной привязкой | |
CN101283351B (zh) | 用于媒体数据传输的方法和设备 | |
EP3092796B1 (en) | Method, device, and computer program for encoding inter-layer dependencies | |
US20170134829A1 (en) | Method, device, and computer program for encapsulating partitioned timed media data | |
US20040006575A1 (en) | Method and apparatus for supporting advanced coding formats in media files | |
EP2904808B1 (en) | Method for signaling a step-wise temporal sub-layer access sample | |
US20060233247A1 (en) | Storing SVC streams in the AVC file format | |
KR20200051718A (ko) | 시간 설정형 미디어 데이터를 발생시키는 방법, 디바이스, 및 컴퓨터 프로그램 | |
CN109155875A (zh) | 用于对定时媒体数据进行封装和解析的方法、装置和计算机程序 | |
CN105556982A (zh) | 使用子轨特征来封装分区定时媒体数据的方法、装置和计算机程序 | |
CN105556981A (zh) | 使用针对编码依赖性的通用信号通知来封装分区定时媒体数据的方法、装置和计算机程序 | |
CN103957448A (zh) | 媒体容器文件管理 | |
CN102224733B (zh) | 用于处理视频文件的系统和方法 | |
WO2014111421A1 (en) | Method of displaying a region of interest in a video stream | |
GB2522014A (en) | Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data | |
De Neve et al. | Using bitstream structure descriptions for the exploitation of multi-layered temporal scalability in H. 264/AVC’s base specification | |
CN101228586B (zh) | 在文件中存储可定标数据流的各个数据元素的方法以及所属设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121212 Termination date: 20210714 |