CN106303673B - 码流对齐、同步处理方法及发送、接收终端和通信*** - Google Patents

码流对齐、同步处理方法及发送、接收终端和通信*** Download PDF

Info

Publication number
CN106303673B
CN106303673B CN201510304991.7A CN201510304991A CN106303673B CN 106303673 B CN106303673 B CN 106303673B CN 201510304991 A CN201510304991 A CN 201510304991A CN 106303673 B CN106303673 B CN 106303673B
Authority
CN
China
Prior art keywords
alignment
code stream
auxiliary information
video
layer
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.)
Active
Application number
CN201510304991.7A
Other languages
English (en)
Other versions
CN106303673A (zh
Inventor
吴钊
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.)
ZTE Corp
Original Assignee
ZTE 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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510304991.7A priority Critical patent/CN106303673B/zh
Priority to PCT/CN2016/073823 priority patent/WO2016192413A1/zh
Priority to US15/579,310 priority patent/US10582234B2/en
Priority to EP16802336.4A priority patent/EP3306945A4/en
Publication of CN106303673A publication Critical patent/CN106303673A/zh
Application granted granted Critical
Publication of CN106303673B publication Critical patent/CN106303673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23602Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234327Processing 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
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4342Demultiplexing isochronously with video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4346Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream involving stuffing data, e.g. packets or bytes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种码流对齐、同步处理方法及发送、接收终端和通信***,发送终端在多路码流需要对齐时,在该多路码流中设置对齐辅助信息后进行存储或发送给接收终端;接收终端获取到该多路码流后,则可根据各路码流中携带的对齐辅助信息对各路不同标准码流进行同步处理。可见,本发明直接在各路码流中设置对齐辅助信息,实现简单,且基本不需要对编解码其进行额外的改动,通用性好,且实现成本更低。

Description

码流对齐、同步处理方法及发送、接收终端和通信***
技术领域
本发明涉及通信领域,具体涉及一种码流对齐、同步处理方法及发送、接收终端和通信***。
背景技术
由ITU-T/VCEG(Video Coding Experts Group)和ISO/IEC MPEG联合制定的新一代视频压缩标准H.265/HEVC(High Efficiency Video Coding),延续了上一代视频标准H.264/AVC的风格,兼容可伸缩视频编码(Scalable Video Coding),与H.264/AVC不同的一个方面是,提出了多个编码标准联合的可伸缩编码(Different Coding Standards withScalability)的需求。目前已发布的H.265/HEVC标准(2014-10版本)称为“H.265/HEVCVersion 2”标准,在Version 2中为混合编码(Hybrid Scalability)提供一个用于指示基本层(Base Layer)的信息,至于如何将基本层(Base Layer)的图像放置进入增强层(Enhancement Layer)的参考帧管理中,采用外部方法(External Means),而外部方法在Version 2中不做说明。
预计未来几年使用H.264/AVC的设备将广泛应用,在全世界范围内,H.264/AVC将是数字视频主要采用的视频编码协议。因此,发展新一代视频可伸缩编码标准能够兼容H.264/AVC,在标准的迁移过程中就会非常有用。
多个编码标准联合的可伸缩编码是指两个不同的视频标准码流根据一定的规则组合,也称为多协议混合编码(Hybrid Coding)。例如,空间可伸缩(SpatialScalability),基本层(Base Layer)是H.264/AVC标准Constrained Baseline Profile,Main Profile和High Profile兼容的码流。增强层(Enhancement Layer)包含HEVC基本码流。这两层图像的尺寸可以相同,也可以不相同,即H.264/AVC采用低分辨率,H.265/HEVC采用高分辨率。空间可伸缩编码的基本层也可以使用MPEG-2的码流,与H.265/HEVC的增强层码流组合为混合编码。再如,视点可伸缩(View Scalability),基本层是一个视点,采用H.264/AVC编码方式,增强层是另一个视点,采用H.265/HEVC格式,以基本层作为参考。当然,多个编码标准联合的混合编码的基本层不止限于H.264/AVC或MPEG-2。相同协议码流组成的可伸缩码流,可以使用多种方式进行同步,比如在H.264/AVC中同一时刻获得的视频图像及其对应的编码比特组成一个接入单元(Access Unit,AU),因此,可以通过AU范围来同步不同层图像。在H.265/HEVC中,可以使用视频码流中的语法信息,如POC(Picture OrderCount)等。对于两层或者多层不同视频编码协议的码流来说,编解码器是各自独立的编解码器,而且不同的视频码流中包含的语法信息也略有不同,那么以何种形式进行码流封装,或者提供哪些语法信息,才能够确保同步,是混合编码(Hybrid Coding)需要解决的问题。
对此,现有的一种方法是将H.264/AVC和H.265/HEVC的码流封装起来,作为一个整体,采用带内方法(internal means)传输。也就是说在H.265/HEVC中增加一些语法元素,可以指示H.264/AVC码流存在的形式。JCT-VC标准会议有很多相关提案,如JCTVC-N0050针对AVC-HEVC混合码流提出了解决方案,在H.264/AVC NAL单元添加一个H.265/HEVC的新增NAL头(nal_unit_type=ENC_NUT),封装为HEVC NAL单元,在VPS扩展中增加avc_base_layer_flag来指示avc_base_profile_level_idc是否存在,而avc_base_profile_level_idc指示H.264/AVC的能力集(profile)。这种方法的缺点是一个标准的H.264/AVC解码器无法解码此种码流,需要先解包去掉对应H.265/HEVC的NAL单元头信息,才能够正确解码。
JCTVC-O0190是针对JCTVC-N0050提出了另一个不同的封装策略。其也是将H.264/AVC和H.265/HEVC的码流封装起来,作为一个整体,但基本层H.264/AVC NAL单元不改变,增强层H.265/HEVC NAL单元增加一个前缀字节(0x16)用来让H.264/AVC解码器识别这部分码流无法解码并且丢弃,其码流部分仍采用带内方法。同时建议增加一个变量HevcPrefixBytePresent,给解码器指示需要解析这个前缀字节。这种方法需要在NAL头中或者前面添加可标识不同码流的信息,而解码器必须能够识别属于自己的码流和不属于自己的码流。因此,无论是H.264/AVC解码器还是H.265/HEVC解码器,如果想支持混合编码(Hybrid Coding)的功能,都需要增加相应的处理。这个对于已有的设备中的解码器来说,就无法做到不改动或者改动很少即可实现功能。
可见,现有的方法都是基于带内方法对不同视频标准的码流进行传输,其对齐或同步处理过程都需要对现有的编解码设备进行改动,实现过程繁杂、通用性差且实现成本较高。
发明内容
本发明要解决的主要技术问题是,提供一种码流对齐、同步处理方法及发送、接收终端和通信***,解决现有针对多种不同视频码流对齐、同步处理实现过程繁杂,通用性差、成本高的问题。
为解决上述技术问题,本发明提供一种码流对齐方法,包括:
发送终端在多路码流需要对齐时,在所述多路码流中设置对齐辅助信息;
所述发送终端将所述多路码流进行存储或发送给接收终端。
在本发明的一种实施例中,所述码流为视频码流;所述发送终端在所述多路码流中设置对齐辅助信息包括:在所述多路码流的视频层、***层和应用层中的至少一层设置所述对齐辅助信息。
在本发明的一种实施例中,所述发送终端在所述多路码流的视频层设置所述对齐辅助信息时,包括:在视频层以下字段中的至少一个字段设置所述对齐辅助信息:
增强信息所对应的字段;
视频可用信息所对应的字段;
视频共有信息所对应的字段;
片头信息所对应的字段;
以及码流视频层除上述字段外的其他至少包含一个图像的字段。
在本发明的一种实施例中,所述发送终端在所述多路码流的***层设置所述对齐辅助信息时,包括:在***层中用于描述视频媒体属性所对应的字段设置所述对齐辅助信息。
在本发明的一种实施例中,所述发送终端在所述多路码流的应用层设置所述对齐辅助信息时,包括:在媒体文件中用于描述视频媒体属性所对应的字段、和/或应用层中用于描述视频媒体属性所对应的字段设置所述对齐辅助信息。
在本发明的一种实施例中,所述发送终端在所述多路码流中设置所述对齐辅助信息的位置和/或内容相同。
在本发明的一种实施例中,所述发送终端在所述多路码流中设置所述对齐辅助信息的个数和/或内容不同。
在本发明的一种实施例中,所述发送终端将所述多路码流发送给接收终端包括:所述发送终端将所述多路码流分别单独发送给所述接收终端;或所述发送终端将所述多路码流中的至少两路封装成一路后发送给所述接收终端;或所述发送端将所述多路码流拆分重新组合为多路码流后发送给所述接收终端。
在本发明的一种实施例中,所述发送终端将所述多路码流进行存储时,包括将所述多路码流写入一个文件进行存储,或将所述多路码流分别写入单独的文件进行存储,或将所述多路码流拆分重组后写入到不同的文件中进行存储。
在本发明的一种实施例中,所述对齐辅助信息包括对齐标量内容,或在包括所述对齐标量内容时,还包括对齐指示信息。
在本发明的一种实施例中,所述对齐标量内容包括图像绝对时间信息、图像相对时间信息、图像解码顺序信息、图像播放顺序信息、图像分隔符和图像特定界定符中的至少一种。
在本发明的一种实施例中,所述对齐辅助信息包括对齐指示信息时,所述对齐指示信息包括对齐标识信息和/或类型信息。
在本发明的一种实施例中,其特征在于,所述多路码流为两路不同视频标准的视频码流,且其中一路为H.265/HEVC视频码流。
为了解决上述问题,本发明还提供了一种码流接收方法,包括:
接收终端获取多路码流;
接收终端在所述多路码流中携带有所述发送终端设置的对齐辅助信息时,根据所述对齐辅助信息对所述多路码流进行同步处理。
在本发明的一种实施例中,所述码流为视频码流,所述接收终端从所述多路码流的应用层、***层、视频层中的至少一层查找所述对齐辅助信息。
在本发明的一种实施例中,当一路码流的多层中存在不一致的对齐辅助信息时,按照预设规则从中选择一层的对齐辅助信息进行同步处理。
在本发明的一种实施例中,所述预设规则包括:
选择信道传输可靠性高的层中的对齐辅助信息;
或,当视频层存在对齐辅助信息时,选择视频层中的对齐辅助信息,否则,选择离视频层最近的层中的对齐辅助信息;
或,选择所述接收终端需解码的有效层中的对齐辅助信息。
在本发明的一种实施例中,在一路码流的信道传输可靠性相对较低的层存在完整的对齐辅助信息,而信道传输可靠性高的层的对齐辅助信息缺失时,选择信道传输可靠性相对较低的层的对齐辅助信息进行同步处理;
或在一路码流的视频层外的其他层存在完整的对齐辅助信息,而视频层的对齐辅助信息缺失时,选择视频层外的其他层的对齐辅助信息进行同步处理。
在本发明的一种实施例中,所述对齐辅助信息至少包括对齐标量内容;所述接收终端根据所述对齐标量内容进行对所述多路码流进行同步处理。
为了解决上述问题,本发明还提供了一种码流处理方法,包括:
发送终端在多路码流需要对齐时,在所述多路码流中设置对齐辅助信息;
所述发送终端将所述多路码流进行存储或发送给接收终端;
所述接收终端获取所述多路码流;
所述接收终端在所述多路码流中携带有所述对齐辅助信息时,根据所述对齐辅助信息对所述多路码流进行同步处理。
为了解决上述问题,本发明还提供了包括处理模块和发送模块;
所述处理模块用于在多路码流需要对齐时,在所述多路码流中设置对齐辅助信息;
所述发送模块用于将所述多路码流进行存储或发送给接收终端。
在本发明的一种实施例中,所述码流为视频码流,所述处理模块包括写入子模块,用于在所述多路码流的视频层、***层和应用层中的至少一层设置所述对齐辅助信息。
为了解决上述问题,本发明还提供了包括获取模块和执行模块;
所述获取模块用于获取多路码流;
所述执行模块用于在所述多路码流中携带有所述发送终端设置的对齐辅助信息时,根据所述对齐辅助信息对所述多路码流进行同步处理。
在本发明的一种实施例中,所述执行模块包括查找子模块,用于从所述多路码流的应用层、***层、视频层中的至少一层查找所述对齐辅助信息。
为了解决上述问题,本发明还提供了一种通信***,包括如上所述的发送终端和如上所述的接收终端;
所述发送终端在多路码流需要对齐时,分别在所述多路码流中设置对齐辅助信息,并将所述多路码流进行存储或发送给所述接收终端;
所述接收终端获取所述多路码流,在所述多路码流中携带有所述对齐辅助信息时,根据所述对齐辅助信息对所述多路码流进行同步处理。
本发明的有益效果是:
本发明提供的码流对齐、同步处理方法及发送、接收终端和通信***,发送终端在多路码流需要对齐时,在该多路码流中设置对齐辅助信息后进行存储或发送给接收终端;接收终端接收到该多路码流后,则可根据各路码流中携带的对齐辅助信息对各路不同标准码流进行同步处理。可见,本发明直接在各路码流中设置对齐辅助信息,实现简单,且基本不需要对编解码其进行额外的改动,通用性好,且实现成本更低。
附图说明
图1为本发明实施例一中发送端完成码流对齐方法的流程示意图;
图2为本发明实施例二中接收端完成码流同步方法的流程示意图;
图3为本发明实施例三中通信***示意图;
图4为本发明实施例三中发送终端结构示意图;
图5为本发明实施例三中接收终端结构示意图。
具体实施方式
本发明为了尽可能减少对现有的编解码设备进行改动,发送端在确定码流需要进行对齐处理时,将对齐辅助信息(该对齐辅助信息是相对发送端而言,相对接收端则为用于同步,因此对于接收端而言其也可称为同步辅助信息)设置到各路不同标准的码流中,接收端获取到后即可根据各路码流中的对齐辅助信息完成同步处理。本发明直接分别在各路码流中设置对齐辅助信息,实现简单,且基本不需要对编解码其进行额外的改动,通用性好,且实现成本更低。下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
在本实施例中,发送端在确定当前的多路码流需要对齐时,分别在多路码流中设置对齐辅助信息,然后将该多路码流进行存储或发送给接收终端。该过程具体请参见图1所示,包括,
步骤101:发送终端判断当前的多路码流是否需要对齐,如是,转至步骤102,否则,转至步骤103;
步骤102:发送终端在多路码流中设置对齐辅助信息;
步骤103:发送终端将多路码流进行存储或发送给接收终端;此处的存储可以是在发送终端本地存储,也可以是存储到对应的服务器上,或则同时在本地和服务器上进行存储,且可以文件的形式进行存储。
上述步骤101是发送终端在需要发送当前多路码流时进行的,发送终端具体可根据应用需求判断是否需要对当前的多路码流进行对齐处理。该应用需求可以根据用户的具体需求或者具体的应用环境等因素确定,例如编码器是否使用基本层AVC图像作为增强层HEVC图像的参考,或AVC图像与HEVC图像需要同步输出等。
应当的理解的是,本实施例中的码流可以是视频码流;也可以是***层上的其他码流;本实施例对具体的码流类型不做任何限定;同时应当理解的是,本实施例中的多路码流可以是相同标准的多路码流,也可以是不同标准的多路码流,具体可视具体应用场景而定。以上情况的多路码流的对齐或同步操作都可通过上述图1所示的方案实现。下面本实施例仅以视频码流作为示例对本发明进行示例性的说明。
在上述步骤102中,发送终端在多路码流中设置对齐辅助信息时,其需先确定具体需要在各路视频码流的那个位置设置该对齐辅助信息;本实施例中,发送终端具体可以在多路码流的视频层、***层和应用层中的至少一层设置对齐辅助信息。发送终端在各路码流中设置对齐辅助信息时,可以直接利用码流中现有的信息作为对齐辅助信息,也可以选择在码流中增加新的内容作为对齐辅助信息。
具体的,发送终端在多路码流的视频层设置对齐辅助信息时,包括在视频层以下字段中的至少一个字段设置对齐辅助信息:
(1)增强信息所对应的字段,用于该字段有效范围内的所述码流中的图像,与对应拥有相应标识及内容信息的码流图像对齐或同步;例如对于H.265/HEVC视频码流,增强信息所对应的字段具体为补充增强信息(Supplemental Enhancement Information,SEI)字段,用于指示该SEI信息有效范围内的所述码流中的图像,与对应拥有相应标识及内容信息的码流图像对齐或同步;对应的,H.264/AVC视频码流增强信息所对应的字段具体为SEI字段;应当理解的是,对于其他格式的码流,则取具有类似功能字段作为增强信息所对应的字段即可,例如,在MPEG-2和MPEG-4中使用用户自定义所对应字段(User Data)来完成同样的功能;
(2)视频可用信息所对应的字段,指示该字段有效范围内的所述码流中的图像,与对应拥有相应标识及内容信息的码流图像对齐或同步;例如对于H.265/HEVC视频码流,视频可用信息所对应的字段具体为视频可用性信息(Video Usability Information,VUI)字段,对于H.264/AVC视频码流,视频可用信息所对应的字段具体为VUI字段,;对应的,对于其他格式的码流,则取具有类似功能字段作为视频可用信息所对应的字段即可,例如,在MPEG-2和MPEG-4中使用用户自定义所对应字段(User Data)来完成同样的功能;
(3)视频共有信息所对应的字段,指示参数集信息有效范围内的所述码流中的图像,与对应拥有相应标识及内容信息的码流图像对齐或同步;例如对于H.265/HEVC视频码流,该视频共有信息所对应的字段包括视频参数集(Video Parameter Set,VPS)、序列参数集(Sequence Parameter Set,SPS)及图像参数集(Picture Parameter Set,PPS),对应的,对于H.264/AVC视频码流,该参数集包括序列参数集(SPS)和图像参数集(PPS),对于MPEG-4视频码流,该视频信息共有字段是VOS(Visual Object Sequences)头、VO(Visual Object)头、VOL(Video Object Layer)头、GOV(Group of Video Object Plane)头和VOP(VideoObject Plane)头,对MPEG-2视频码流,该视频信息共有字段的Video Sequence头、Groupof pictures header和Picture header;对应的,对于其他格式的码流,则取类似功能字段作为视频共有信息所对应字段即可;
(4)片头信息所对应的字段,指示该片信息有效范围内的所述码流中的图像,与对应拥有相同标识及内容信息的码流图像对齐或同步;例如对于H.265/HEVC视频码流为Slice Header字段,对于H.264/AVC视频码流为Slice Header字段,对于MPGE-4视频码流为Video Packet Header字段;对应的,对于其他格式的码流,则取具有类似功能的字段作为片头信息字段即可;值得注意的是,本实施例中,对于同一幅视频图像,可以仅在第一个片头中设置,也可以在此基础上在其他至少一个片头中同时进行设置,在多个片头中设置的对齐辅助信息一致;
(5)码流视频层除上述字段外的其他至少包含一个图像(帧图像或场图像)的字段,指示码流的对应数据结构所作用的图像层是否执行对齐或同步操作,例如,用户自定义数据字段(User Data)或者扩展字段(Extension Data);
发送终端在多路码流的***层设置对齐辅助信息时,具体包括在***层的以下字段设置:
(6)***层中用于描述视频媒体属性所对应的字段,用于指示包含在***码流中的图像,与对应拥有相应标识及内容信息的码流图像对齐或同步
发送终端在多路码流的应用层设置所述对齐辅助信息时,包括在以下字段中的至少一个字段进行设置:
(7)媒体文件中用于描述视频媒体属性所对应的字段,用于指示包含在媒体文件中的码流中的图像,与对应拥有相应标识及内容信息的码流图像对齐或同步;
(8)应用层中用于描述视频媒体属性所对应的字段,用于指示包含在应用中的码流图像,与对应拥有相应标识及内容信息的码流图像对齐或同步。
对于以上字段中为编解码器非必要的内容的,解码器可以按照标准规则进行丢弃。
本实施例中发送终端可以在各路视频码流的上述字段中的任意一个字段进行设置,也可以同时在各路视频码流的上述字段中的多个字段进行设置,对于一路视频码流,理论上在上述任意层的任意一个字段设置对齐辅助信息即可;但是为了进一步提高可靠性,避免传输错误等因素导致对齐辅助信息的丢失或缺失,也可同时在多个字段进行设置,例如同时在一路码流的视频层、***层和应用层中的至少两层中的至少一个字段中设置。
另外,本实施例中的发送终端在各路视频码流中设置对齐辅助信息的位置可以相同,也可以不同;例如当所述多路码流为两路不同标准的视频码流时,对于这两路视频码流,可在同一位置设置对齐辅助信息,例如都在视频层的增强信息所对应的字段设置;也可在不同位置进行设置,例如其中一路在视频层的增强信息所对应的字段设置,另一路则在是视频层的视频共有信息所对应的字段设置,又例如其中一路在***层中用于描述视频媒体属性的字段,另外一路在应用层中用于描述视频媒体属性的字段设置。
本实施例中,发送终端在多路码流中设置的对齐辅助信息的内容相同可以相同,也可以不同,只要该内容能表征需要进行对齐操作且可被正确识别即可。
本实施例中,发送终端在多路码流中设置对齐辅助信息的个数可以相同,也可以不同,例如当所述多路码流为两路不同标准的视频码流时,对于这两路视频码流,可在其中一路码流中设置一个对齐辅助信息,在另外一路码流中设置多个对齐辅助信息。对于一路码流在同一层设置的多个对齐辅助信息的内容相同。
本实施例中,发送终端所设置的对齐辅助信息至少包括对齐标量内容,或在包括对齐标量内容时,还可进一步包括对齐指示信息。本实施例中的对齐标量内容包括图像绝对时间信息(即进行混合编码时的***时间)、图像相对时间信息、图像解码顺序信息、图像播放顺序信息、图像分隔符和图像特定界定符中的至少一种。正如上所述,当对齐标量内容为图像解码顺序信息时,当码流中本身就存在图像解码顺序信息时,则针对该码流即可直接利用其原本就存在的图像解码顺序信息作为对齐辅助信息,对于其他路码流则可增加该图像解码顺序信息作为对齐辅助信息。
对齐辅助信息包括对齐指示信息时,对齐指示信息具体可为对齐标识信息和/或类型信息。下面以一种具体示例进行示例性说明:
以下示例所使用的针对对齐或同步操作的对齐辅助信息中的对齐指示信息的对齐标识信息和类型信息分别采用如表1和/或表2所示的结构。对齐标量内容采用如表3所示的结构。表1所示的码流里包含标识整体或部分码流是否使用对齐或同步操作的标识信息。表2所示的码流里包含标识整体或部分码流对齐或同步操作的标识信息所属类型。表3所示码流中包含对齐或同步所需的内容信息。
表1
…… Descriptor
pic_alignment_flag u(1)
……
表2
…… Descriptor
pic_alignment_type()
……
表3
…… Descriptor
alignment_code()
……
其中,表1中各字段的语义如下:pic_al ignment_flag取值等于1表示码流中的不同编码格式的视频图像需要对齐或同步操作。pic_alignment_flag取值等于0是表示码流中的不同编码格式的视频图像不需要对齐或同步操作。对于本领域技术人员来说pic_alignment_flag取值及其所表示的含义也可以采用其它方式,具体本实施例中不做限定。pic_alignment_flag使用不同编码协议中对应的编解码方法。
可选的,如果码流中不存在pic_alignment_flag对应比特字段,则其对应变量pic_alignment_flag的取值默认为0。
表2中字段的语义(对应的控制操作)如下:pic_alignment_type()表示获取类型信息,这里所指类型是指用于存储对齐或同步信息字段放置在同一类型数据段下,需要通过获取类型信息才能进一步提取对齐或同步的内容信息。对于本领域技术人员来说pic_alignment_type()的内部形式及其所表示的含义也可以采用其它方式,具体本实施例中不做限定。
可选的,如果码流中不存在pic_alignment_type(),则其对应的类型信息是不存在的。
表3中字段语义(对应的控制操作)如下:alignment_code()包含的是对齐或同步所需的数据信息。表3中的字段可以与表1和/或表2中的字段组合使用。表3中alignment_code()可以使用以下所列信息中的一种或者多种,包括但不限于以下信息:图像绝对时间信息,图像相对时间信息,图像解码顺序信息,图像播放顺序信息,图像分隔符,图像特殊界定符等。
表1、表2和表3中的语法元素可以设置在上述(1)-(8)所示的至少一个字段或者多个字段混合的位置;表1、表2和表3中的语法元素对应的比特字段使用在对应于该数据结构的码流中。
上述步骤103中,发送终端将多路码流发送给接收终端时,其根据具体应用场景,可以灵活的选择将多路码流分别单独发送给接收终端;或选择将多路码流中的至少两路封装成一路后发送给接收终端。例如,当码流为三路(分别为A\B\C)时,可以选择将该三路封装成一路发送;也可以选择将该三路中的其中两路(例如A和B路)封装成一路,然后将封装后得到的一路码流和C路码流分别单独发送;对于三路以上的情况的处理则以此类推。还可以将多路码流拆分重新组合为多路码流后发送给所述接收终端。
上述步骤103中,发送终端将多路码流进行存储时,不管其是在本地存储还是存储到服务器上,都可以将多路码流写入一个文件进行存储,或将多路码流分别写入单独的文件进行存储,或将多路码流拆分重组后写入到不同的文件中进行存储。
优选的,本实施例中的多路码流具体设定为两路不同视频标准的视频码流,且其中一路(例如增强层)为H.265/HEVC视频码流,另一路(例如基本层)为非H.265/HEVC视频码流,例如H.264/AVC视频码流、MPGE-2视频码流、MPGE-4视频码流、VC-1视频流、VP8视频流、AVS视频流等。当然,本实施例中的多路码流也可具体设定为两路相同视频标准的视频码流,且其中一路(例如基本层)为H.265/HEVC视频码流,另一路(例如增强层)也为H.265/HEVC视频码流。
实施例二:
在本实施例中,接收终端进行码流同步的操作请参见图2所示,包括:
步骤201:接收终端获取多路码流;其获取方式可以从发送终端或服务器接收该多路码流,或者直接从对应存储介质中读取;
应当理解的是,该步骤中,发送终端将多路码流分别单独发送给接收终端时,则接收终端分别单独接收各路码流;当发送终端将多路码流封装成一路后发送给接收终端时,接收终端则接受封装后的一路码流即可;
步骤202:接收终端在多路码流中携带有发送终端设置的对齐辅助信息时,根据对齐辅助信息对多路码流进行同步处理。
应当的理解的是,本实施例中的码流可以是视频码流;也可以是***层上的其他码流;本实施例对具体的码流类型不做任何限定;同时应当理解的是,本实施例中的多路码流可以是相同标准的多路码流,也可以是不同标准的多路码流,具体可视具体应用场景而定。下面本实施例仅以视频码流作为示例对本发明进行示例性的说明。
本实施例中,接收终端接收到码流后,从多路码流的应用层、***层、视频层中的至少一层中查找对齐辅助信息。例如,当发送和接收终端二者之间有达成协议当需要对齐或同步时对其辅助信息具体添加到哪一层或几层时,则只需在该层查找即可;否则,则需要从码流的应用层、***层、视频层依次查找。
本实施例中,当一路码流的多层中存在不一致的对齐辅助信息时,则按照预设规则从中选择一层的对齐辅助信息进行同步处理。实施例中的预设规则包括但不限于:
选择信道传输可靠性高的层中的对齐辅助信息;例如当应用层和视频层都存在对齐辅助信息且不一致,但应用层的信道传输可靠性要比视频层的信道传输可靠性高,则选择应用层的对齐辅助信息;
或,当视频层存在对齐辅助信息时,则选择视频层中的对齐辅助信息,否则,选择离视频层最近的层中的对齐辅助信息;例如:当视频层和应用层都存在对齐辅助信息且不一致时,则选择视频层的对齐辅助信息;当视频层不存在对齐辅助信息,但***层和应用层存在不一致的对齐辅助信息时,则选择离视频层较近的视频层的对齐辅助信息;
或,选择接收终端所支持的有效层中的对齐辅助信息;本实施例中接收终端所支持的有效层是指接收终端需进行解码的层,对于接收终端不需要解码直接丢弃的层则相对接收终端为无效层。例如,当接收终端对于视频层中的SEI的处理方式是直接丢弃时,则当应用层和视频层中的SEI字段中都存在对齐辅助信息时,则接受终端直接选择应用层中的对齐辅助信息;如果具有对齐辅助信息的层中根本就没有接收终端所支持的有效层,则接收终端可以不做同步处理。
应当理解的是,本实施例中的预设规则除了上述示例的两种规则外,用户还可根据应用场景或其他因素自定义其他规则,主要能选择出有效的对齐辅助信息完成对齐或同步操作即可。
另外,在本实施例中,当一路码流的信道传输可靠性相对较低的层存在完整的对齐辅助信息,而信道传输可靠性高的层的对齐辅助信息缺失时,选择信道传输可靠性相对较低的层的对齐辅助信息进行同步处理;例如,当应用层的对齐辅助信息缺失,视频层的对齐辅助信息完整时,尽管应用层的信道传输可靠性要比视频层的信道传输可靠性高,但此时仍选择视频层的对齐辅助信息。
或当在一路码流的视频层外的其他层存在完整的对齐辅助信息,而视频层的对齐辅助信息缺失时,选择视频层外的其他层的对齐辅助信息进行同步处理。例如当视频层的对齐辅助信息缺失,而应用层的对齐辅助信息完整时,则选择应用层的对齐辅助信息。
本实施例中,发送终端所设置的对齐辅助信息至少包括对齐标量内容,或在包括对齐标量内容时,还可进一步包括对齐指示信息。本实施例中的对齐标量内容包括图像绝对时间信息(即进行混合编码时的***时间)、图像相对时间信息、图像解码顺序信息、图像播放顺序信息、图像分隔符和图像特定界定符中的至少一种。对齐辅助信息包括对齐指示信息时,对齐指示信息具体可为对齐标识信息和/或类型信息。接收终端则具体根据对齐标量内容进行对多路码流进行同步处理。
优选的,本实施例中的多路码流具体设定为两路不同视频标准的码流,且其中一路为H.265/HEVC视频码流,另一路为非H.265/HEVC视频码流,例如H.264/AVC视频码流、MPGE-2视频码流、MPGE-4视频码流、VC-1视频流、VP8视频流、AVS视频流等。当然,本实施例中的多路码流也可具体设定为两路相同视频标准的视频码流,且其中一路(例如基本层)为H.265/HEVC视频码流,另一路(例如增强层)也为H.265/HEVC视频码流。
实施例三:
请参见图3所示,本实施例提供了一种通信***,包括发送终端1和接收终端2,其中,发送终端1和接收终端2的结构请分别参见图4和5所示。
请参见图4所示,发送终端1,即源设备,包括处理模块11和发送模块12;
处理模块11用于在当前多路码流需要对齐时,在多路码流中设置对齐辅助信息;在各路码流中设置对齐辅助信息时,可以直接利用码流中现有的信息作为对齐辅助信息,也可以选择在码流中增加新的内容作为对齐辅助信息。
发送模块12用于将多路码流进行存储或发送给接收终端;进行存储时,其可以在发送终端本地存储,也可以在服务器上进行存储等;且可以将多路码流写入一个文件进行存储,或将多路码流分别写入单独的文件进行存储,或将多路码流拆分重组后写入到不同的文件中进行存储。进行发送时,其根据具体应用场景,可以灵活的选择将多路码流分别单独发送给接收终端;或选择将多路码流封装成一路后发送给接收终端;或将所述多路码流拆分重新组合为多路码流后发送给所述接收终端
处理模块11具体包括判断子模块111和写入子模块112;判断子模块111用于根据应用需求判断是否需要对当前的多路码流进行对齐处理。该应用需求可以根据用户的具体需求或者具体的应用环境等因素确定,例如编码器是否使用基本层AVC图像作为增强层HEVC图像的参考,或AVC图像与HEVC图像需要同步输出等;写入子模块112用于在码流的对应位置写入对齐辅助信息。
应当的理解的是,本实施例中的码流可以是视频码流;也可以是***层上的其他码流;本实施例对具体的码流类型不做任何限定;同时应当理解的是,本实施例中的多路码流可以是相同标准的多路码流,也可以是不同标准的多路码流,具体可视具体应用场景而定。下面本实施例仅以视频码流作为示例对本发明进行示例性的说明。
写入子模块112用于分别在多路码流的视频层、***层和应用层中的至少一层设置所述对齐辅助信息。具体的,发送终端在多路码流的视频层设置对齐辅助信息时,包括在视频层以下字段中的至少一个字段设置对齐辅助信息:
(1)增强信息所对应的字段;
(2)视频可用信息所对应的字段;
(3)视频共有信息所对应的字段;
(4)片头信息所对应的字段;
(5)码流视频层除上述字段外的其他至少包含一个图像(帧图像或场图像)的字段;
发送终端在多路码流的***层设置对齐辅助信息时,具体包括在***层的以下字段设置:
(6)***层中用于描述视频媒体属性所对应的字段;
发送终端在多路码流的应用层设置所述对齐辅助信息时,包括在以下字段中的至少一个字段进行设置:
(7)媒体文件中用于描述视频媒体属性所对应的字段;
(8)应用层中用于描述视频媒体属性所对应的字段。
写入子模块112可以在各路视频码流的上述字段中的任意一个字段进行设置,也可以同时在各路视频码流的上述字段中的多个字段进行设置,对于一路视频码流,理论上在上述任意层的任意一个字段设置对齐辅助信息即可;但是为了进一步提高可靠性,避免传输错误等因素导致对齐辅助信息的丢失或缺失,也可同时在多个字段进行设置,例如同时在一路码流的视频层、***层和应用层中的至少两层中的至少一个字段中设置。
另外,本实施例中的写入子模块112在各路视频码流中设置对齐辅助信息的位置可以相同,也可以不同;例如当所述多路码流为两路不同标准的视频码流时,对于这两路视频码流,可在同一位置设置对齐辅助信息,例如都在视频层的增强信息所对应的字段设置;也可在不同位置进行设置,例如其中一路在视频层的增强信息所对应的字段设置,另一路则在是视频层的视频共有信息所对应的字段设置,又例如其中一路在***层中用于描述视频媒体属性的字段,另外一路在应用层中用于描述视频媒体属性的字段设置。
本实施例中,写入子模块112在多路码流中设置的对齐辅助信息的内容相同可以相同,也可以不同,只要该内容能表征需要进行对齐操作且可被正确识别即可。
本实施例中,写入子模块112在多路码流中设置对齐辅助信息的个数可以相同,也可以不同,例如当所述多路码流为两路不同标准的视频码流时,对于这两路视频码流,可在其中一路码流中设置一个对齐辅助信息,在另外一路码流中设置多个对齐辅助信息。对于一路码流在同一层设置的多个对齐辅助信息的内容相同。
本实施例中,写入子模块112所设置的对齐辅助信息至少包括对齐标量内容,或在包括对齐标量内容时,还可进一步包括对齐指示信息。本实施例中的对齐标量内容包括图像绝对时间信息(即进行混合编码时的***时间)、图像相对时间信息、图像解码顺序信息、图像播放顺序信息、图像分隔符和图像特定界定符中的至少一种。对齐辅助信息包括对齐指示信息时,对齐指示信息具体可为对齐标识信息和/或类型信息。
请参见图5所示,接收终端2包括获取模块21和执行模块22;
获取模块21用于获取多路码流;其获取方式可以从发送终端或服务器接收该多路码流,或者直接从对应存储介质中读取;
执行模块22用于在多路码流中携带有发送终端设置的对齐辅助信息时,根据对齐辅助信息对多路码流进行同步处理。
其中,执行模块22包括查找子模块221,用于从多路码流的应用层、***层、视频层中的至少一层查找对齐辅助信息。当查找子模块221发现一路码流的多层中存在不一致的对齐辅助信息时,则按照预设规则从中选择一层的对齐辅助信息进行同步处理。实施例中的预设规则包括但不限于:
选择信道传输可靠性高的层中的对齐辅助信息;例如当应用层和视频层都存在对齐辅助信息且不一致,但应用层的信道传输可靠性要比视频层的信道传输可靠性高,则选择应用层的对齐辅助信息;
或,当视频层存在对齐辅助信息时,则选择视频层中的对齐辅助信息,否则,选择离视频层最近的层中的对齐辅助信息;例如:当视频层和应用层都存在对齐辅助信息且不一致时,则选择视频层的对齐辅助信息;当视频层不存在对齐辅助信息,但***层和应用层存在不一致的对齐辅助信息时,则选择离视频层较近的视频层的对齐辅助信息;
或,选择接收终端所支持的有效层中的对齐辅助信息;本实施例中接收终端所支持的有效层是指接收终端需进行解码的层,对于接收终端不需要解码直接丢弃的层则相对接收终端为无效层。例如,当接收终端对于视频层中的SEI的处理方式是直接丢弃时,则当应用层和视频层中的SEI字段中都存在对齐辅助信息时,则接受终端直接选择应用层中的对齐辅助信息;如果具有对齐辅助信息的层中根本就没有接收终端所支持的有效层,则接收终端可以不做同步处理。
应当理解的是,本实施例中的预设规则除了上述示例的两种规则外,用户还可根据应用场景或其他因素自定义其他规则,主要能选择出有效的对齐辅助信息完成对齐或同步操作即可。
另外,在本实施例中,当查找子模块221发现一路码流的信道传输可靠性相对较低的层存在完整的对齐辅助信息,而信道传输可靠性高的层的对齐辅助信息缺失时,选择信道传输可靠性相对较低的层的对齐辅助信息进行同步处理;例如,当应用层的对齐辅助信息缺失,视频层的对齐辅助信息完整时,尽管应用层的信道传输可靠性要比视频层的信道传输可靠性高,但此时仍选择视频层的对齐辅助信息。
或当在一路码流的视频层外的其他层存在完整的对齐辅助信息,而视频层的对齐辅助信息缺失时,选择视频层外的其他层的对齐辅助信息进行同步处理。例如当视频层的对齐辅助信息缺失,而应用层的对齐辅助信息完整时,则选择应用层的对齐辅助信息。
执行模块22还包括同步子模块222,用于根据对齐标量内容进行对多路码流进行同步处理。
应当理解的是,本实施例中的各个模块和子模块的功能可以通过使用专用硬件、软件或者软硬件结合来实现。该硬件或专用硬件可以包括专用集成电路(ASIC)、各种其它电路、各种处理器等。当由处理器实现时,该功能可以由单个专用处理器、单个共享处理器、或者多个独立的处理器(其中某些可能被共享)来提供。另外,处理器不应该被理解为专指能够执行软件的硬件,而是可以隐含地包括、而不限于数字信号处理器(DSP)硬件、用来存储软件的只读存储器(ROM)、随机存取存储器(RAM)、以及非易失存储设备。
本实施例的终端可以是视频通信应用中相关码流接收播放设备,例如,手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播***设备等。该装置可以位于宿设备中,该处理装置可以处理以下至少一种多层视频信号:可伸缩视频,多视点视频,多视点深度,多视点视频+多视点深度。其中,立体视频是多视点视频的一种视点数等于2的特殊形式。
实施例四:
为了更好的理解本发明,下面以几种具体的应用场景作为示例,对本发明做进一步说明。
示例1:
本示例中,SEI的负载类型(Payload Type)即为pic_alignment_type,其控制范围是使用该SEI的图像。在负载类型为时间信息的SEI单元时,使用表3的比特字段,进一步给出时间信息。
本示例中,不同编码格式视频码流的传输主要包括以下步骤:
步骤1:源设备(即发送终端)根据应用需求(如编码器是否使用基本层AVC图像作为增强层HEVC图像的参考,或AVC图像与HEVC图像需要同步输出),判断是否需要对不同编码格式的视频进行对齐操作。
若需要使用对齐信息,源设备中HEVC编码器编码一个time_code类型SEI单元(Time code SEI message),即SEI的payloadType等于136。源设备中AVC编码器编码一个pic_timing类型SEI单元(Picture timing SEI message),即SEI的payloadType等于1。
若不需要使用对齐信息,则不设置SEI单元。
步骤2:源设备使用u(n)对应的编码方法将payloadType在不同编码协议里的取值分别写入到AVC视频码流的SEI包头,和HEVC视频码流的SEI包头。
步骤3:源设备获取当前编码器进行混合编码时的***时间(即图像绝对时间信息),将此时间信息作为对齐信息分别写入AVC视频码流的SEI的payload字段中,和HEVC视频码流的SEI的payload字段中。
步骤4:宿设备(即接收终端)接收到码流后,分别在AVC视频码流和HEVC视频码流中寻找SEI数据。
步骤5:宿设备使用u(n)对应的解码方法分别从AVC视频码流的SEI包头,和HEVC视频码流的SEI包头中获取payloadType的值,判断是否存在时间信息(AVC中pic_timing类型,payloadType等于1,HEVC中time_code类型,payloadType等于136)。
步骤6:如果存在时间信息,宿设备根据payloadType,获取对应的表3所示字段,使用对应解码方法从码流中分别获取AVC图像和HEVC图像的时间信息。
步骤7:宿设备根据得到的时间信息,确定不同编码格式的图像是否需要同步。
步骤8:如果需要同步,即AVC和HEVC获取的时间信息一致,宿设备将当前AVC解码器解码获得的重建图像放入HEVC的参考帧管理列表中,供HEVC解码器使用。对于多视点应用中,宿设备利用此信息对不同视点的图像,进行同步输出显示操作。
示例2:
本示例中,VUI的负载类型中的vui_timing_info_present_flag即为pic_alignment_flag,其控制范围是使用该VUI的图像。当vui_timing_info_present_flag为1时,使用表3的比特字段,进一步给出时间信息。
本示例中,不同编码格式视频码流的传输主要包括以下步骤:
步骤1:源设备根据应用需求(如编码器是否使用基本层AVC图像作为增强层HEVC图像的参考,或AVC图像与HEVC图像需要同步输出),判断是否需要对不同编码格式的视频进行对齐操作。
若需要使用对齐信息,源设备中HEVC编码器编码一个VUI单元,其中VUI中的vui_timing_info_present_flag等于1。源设备中AVC编码器编码一个VUI单元,其中VUI中的vui_timing_info_present_flag等于1。
若不需要使用对齐信息,则vui_timing_info_present_flag等于0。
步骤2:源设备使用u(1)对应的编码方法将vui_timing_info_present_flag的取值分别写入到AVC视频码流的VUI中,和HEVC视频码流的VUI中。
步骤3:源设备获取当前编码器进行混合编码时的***时间,将此时间信息作为对齐信息分别写入AVC视频码流的VUI的时间信息字段中,和HEVC视频码流的VUI的时间信息字段中。
步骤4:宿设备接收到码流后,分别在AVC视频码流和HEVC视频码流中寻找VUI数据。
步骤5:宿设备使用u(1)对应的解码方法分别从AVC视频码流的VUI中,和HEVC视频码流的VUI中获取vui_timing_info_present_flag的值,判断是否存在时间信息(vui_timing_info_present_flag是否等于1)。
步骤6:如果存在时间信息(vui_timing_info_present_flag等于1),宿设备根据对应的表3所示字段,使用对应解码方法从码流中分别获取AVC图像和HEVC图像的时间信息。
步骤7:宿设备根据得到的时间信息,确定不同编码格式的图像是否需要同步。
步骤8:如果需要同步,即AVC和HEVC获取的时间信息一致,宿设备将当前AVC解码器解码获得的重建图像放入HEVC的参考帧管理列表中,供HEVC解码器使用。对于多视点应用中,宿设备利用此信息对不同视点的图像,进行同步输出显示操作。
示例3:
本示例中,视频共有信息所对应的字段(即参数集对应的字段)中的extension_flag即为pic_alignment_flag,其控制范围是使用该参数集的图像。当对应参数集的extension_flag为1时,extension_data即alignment_code,使用表3的比特字段,进一步给出时间信息。源设备和宿设备对pic_alignment_flag和alignment_code的操作方法与示例2相似。
本示例与示例2不同的是用户可以自行定义时间信息,源设备与宿设备协商统一规则即可。
例如:
视频参数集(VPS)的控制范围是多帧图像,那么视频参数集里可以存储单帧图像时间信息,也可以存储多帧图像时间信息;
序列参数集(SPS)的控制范围是多帧图像,那么序列参数集里可以存储单帧图像时间信息,也可以存储多帧图像时间信息;
图像参数集(PPS)的控制范围是单帧图像,那么图像参数集里存储的即是单帧图像时间信息。
时间信息在视频参数集、序列参数集和图像参数集中出现的位置可以是任意组合。设置的时间信息可以相同,也可以组合生成。
示例4:
本示例中,片头信息所对应字段中的slice_segement_header_extension_present_flag即pic_alignment_flag。当slice_segement_header_extension_present_flag为1时,slice_segment_header_extension_data即alignment_code,使用表3的比特字段,进一步给出时间信息。源设备和宿设备对pic_alignment_flag和alignment_code的操作方法与示例2相似。
本示例与示例2不同的是时间信息所处的位置不是整帧图像控制范围,而是片(Slice)。要求同一帧图像里的片,如果出现时间信息,那么必须一致。并且用户可以自行定义时间信息,源设备与宿设备协商统一规则即可。
示例5:
本示例中,对齐辅助信息位于其它作用范围至少包含一个图像(帧图像和/或场图像)的数据结构,对于所述其它作用范围至少包含一个图像(帧图像和/或场图像)的数据结构,若该数据结构中包含其它解码过程中必须使用的数据信息,则该数据结构是解码过程中所必需的数据结构。如果该数据结构使用的是类似pic_alignment_type的类型信息,则源设备和宿设备对pic_alignment_type和alignment_code的操作方法与示例1相似。如果该数据结构使用的是类似pic_alignment_flag标识,则源设备和宿设备对pic_alignment_flag和alignment_code的操作方法与示例2相似。
本示例与示例1和示例2的不同之处在于源设备使用对应的编码方法将pic_alignment_flag和/或pic_alignment_type,alignment_code写入所述至少包含一个图像(帧图像和/或场图像)的数据结构的对应码流中,宿设备使用对应的解码方法从所述至少包含一个图像(帧图像和/或场图像)的数据结构对应码流中解析pic_alignment_flag和/或pic_alignment_type,alignment_code对应字段,获取它们的值。
示例6:
本示例中,对齐或同步信息位于***层,如MPEG-2TS(Transport Stream)层,PTS_DTS_flags即为pic_alignment_flag,位于TS的PES_packet中。其控制范围是当前PES所属Transport Stream。PTS_DTS_flags等于2,表示后续有时间信息PTS(Presentation TimeStamps),PTS_DTS_flags等于3,表示后续有时间信息PTS和DTS(Decoding Time Stamps)。PTS_DTS_flags值等于0,后续没有时间信息PTS或DTS。
在PTS_DTS_flags字段后,使用表3的比特字段,进一步给出时间信息。
本示例中,不同编码格式视频码流的传输主要包括以下步骤:
步骤1:源设备根据应用需求(如编码器是否使用基本层AVC图像作为增强层HEVC图像的参考,或AVC图像与HEVC图像需要同步输出),判断是否需要对不同编码格式的视频进行对齐操作。
若需要使用对齐信息,源设备设置PTS_DTS_flags为2或3,否则设置PTS_DTS_flags为0。
步骤2:源设备使用对应编码方法将PTS_DTS_flags的取值分别写入到封装AVC视频码流的MPEG-2TS的PES包头中,和封装HEVC视频码流的MPEG-2TS的PES包头中。此时非HEVC和HEVC的视频码流在不同的TS包中。
步骤3:源设备获取当前编码器进行混合编码时的***时间,将此时间信息作为对齐信息分别写入封装AVC视频码流的MPEG-2TS的PES包头中,和封装HEVC视频码流的MPEG-2TS的PES包头中。
步骤4:宿设备接收到码流后,分别在封装AVC视频码流的MPEG-2TS的PES包头中,和封装HEVC视频码流的MPEG-2TS的PES包头中寻找PTS_DTS_flags。
步骤5:宿设备使用对应解码方法分别从封装AVC视频码流的MPEG-2TS的PES包头中,和封装HEVC视频码流的MPEG-2TS的PES包头中获取PTS_DTS_flags的值,判断是否存在时间信息(PTS_DTS_flags是否等于2或3)。
步骤6:如果存在时间信息(PTS_DTS_flags等于2或3),宿设备根据对应的表3所示字段,使用对应解码方法从码流中分别获取封装AVC视频码流的MPEG-2TS的PES包头中,和封装HEVC视频码流的MPEG-2TS的PES包头中的时间信息。
步骤7:宿设备根据得到的时间信息,确定不同编码格式的图像是否需要同步。
步骤8:如果需要同步,即AVC和HEVC获取的时间信息一致,宿设备将当前AVC解码器解码获得的重建图像放入HEVC的参考帧管理列表中,供HEVC解码器使用。对于多视点应用中,宿设备利用此信息对不同视点的图像,进行同步输出显示操作。
示例7:
本示例中,上述对齐辅助信息位于文件视频媒体属性对应的字段中,当包含有pic_alignment_flag和/或pic_alignment_type的视频媒体属性的字段的作用范围是媒体文件码流中的整个不同编码格式的视频码流,源设备和宿设备对pic_alignment_flag和/或pic_alignment_type的操作方法与示例1和示例2的操作方法相似。
本示例与示例1和示例2的不同之处在于源设备使用对应的编码方法将pic_alignment_flag和/或pic_alignment_type,alignment_code的取值写入所述视频媒体属性的字段的对应***码流中。宿设备使用对应的解码方法从所述描述视频媒体属性的字段的对应的***码流中解析pic_alignment_flag和/或pic_alignment_type,alignment_code对应字段,获取它们的取值。
示例8:
本示例中,上述对齐辅助信息位于应用层媒体数据区,当包含有pic_alignment_flag和/或pic_alignment_type的数据区的作用范围是应用层码流中的整个不同编码格式的视频码流,源设备和宿设备对pic_alignment_flag和/或pic_alignment_type的操作方法与示例1和示例2的操作方法相似。
本示例与示例1和示例2的不同之处在于源设备使用对应的编码方法将pic_alignment_flag和/或pic_alignment_type,alignment_code的取值写入所述媒体数据区的对应***码流中。宿设备使用对应的解码方法从所述媒体数据区的对应的***码流中解析pic_alignment_flag和/或pic_alignment_type,alignment_code对应字段,获取它们的取值。
如把上述对齐或同步信息写入到包含不同编码格式视频数据的DVB应用层码流中私有数据字节区(Private Data Bytes)。
主要包括以下步骤:
步骤1:源设备根据应用需求(如编码器是否使用基本层AVC图像作为增强层HEVC图像的参考,或AVC图像与HEVC图像需要同步输出),判断是否需要对不同编码格式的视频进行对齐操作。
若需要使用对齐信息,源设备将私有数据标志private_data_flag设为1,私有数据包头类型data_field_tag设置为用户自定义值之一(0xA0至0xFF,不限于此数值范围,与宿设备约定具体定义值)。否则设置private_data_flag为0。
步骤2:源设备使用对应编码方法将data_field_tag的取值分别写入到封装AVC视频码流的DVB私有数据区中,和封装HEVC视频码流的DVB私有数据区中。
步骤3:源设备使用对应的编码方法将data_field_tag的取值分别写入到非HEVC视频码流封装的DVB私有数据区中,和HEVC视频码流封装的DVB私有数据区中。
步骤4:源设备获取当前编码器进行混合编码时的***时间,将此时间信息作为对齐信息分别写入封装AVC视频码流的DVB私有数据区中,和封装HEVC视频码流的DVB私有数据区中。
步骤5:宿设备接收到码流后,分别在封装AVC视频码流的DVB私有数据区中,和封装HEVC视频码流的DVB私有数据区中寻找private_data_flag是否存在。
步骤6:宿设备使用u(1)对应的解码方法从封装非HEVC视频数据的DVB码流中,和封装HEVC视频数据的DVB码流中获取private_data_flag的值,判断是否存在私有数据信息。
步骤7:如果存在时间信息(private_data_flag等于1),宿设备获取私有数据,使用对应解码方法从码流中分别获取封装AVC视频码流的MPEG-2TS的PES包头中,和封装HEVC视频码流的MPEG-2TS的PES包头中解码出data_field_tag,如果是与源设备约定的用户自定义值(0xA0至0xFF中的某个值,不限于此数值范围),则存在时间信息,否则,不存在时间信息。
步骤8:如果存在时间信息,宿设备根据表3所示字段,使用对应解码方法从包含非HEVC视频数据的DVB私有数据区,和包含HEVC视频数据的DVB私有数据区获取的时间信息。
步骤9:宿设备根据得到的时间信息,确定不同编码格式的图像是否需要同步。
步骤10:如果需要同步,即AVC和HEVC获取的时间信息一致,宿设备将当前AVC解码器解码获得的重建图像放入HEVC的参考帧管理列表中,供HEVC解码器使用。对于多视点应用中,宿设备利用此信息对不同视点的图像,进行同步输出显示操作。
示例9:
上述示例1-8所示都是针对多路码流为不同标准码流时的处理,本示例则对多路码流为相同标准码流的情况进行示例说明,此时的多路码流对齐或同步的处理过程与多路码流为不同标准码流类似,下面以两路相同码流为例进行说明,例如:基本层和增强层都是H.265/HEVC视频码流。此时源设备根据应用需求,确定两个H.265/HEVC视频码流添加对齐或同步信息的形式。宿设备获取所需的对齐或同步信息。
源设备可以使用实例1至实例8的所述方法,设置视频码流层,***层和应用层中当高层数据结构与低层数据结构中的pic_alignment_flag和/或pic_alignment_type,alignment_code取值,并使用相应的编码方法将其写入码流。
宿设备对接收码流进行处理,使用实例1至实例8的所述方法,从应用层、***层和视频码流层查找获得pic_alignment_flag和/或pic_alignment_type,alignment_code的值,根据与源设备的统一约定,转换为统一的时间格式。宿设备使用上述各方法设置接收、解码过程中的差错控制、播放控制模块。
示例10:
本示例中,不同视频标准或相同视频标准的各码流携带上述对齐辅助信息的位置可以不同。源设备根据应用需求,确定各视频码流添加对齐或同步信息的位置,写入相同信息格式。宿设备按照应用层、***层和视频编码层的顺序进行搜索查找,直到获取所需的对齐或同步信息。
使用混合方法中,源设备首先根据应用需求,确定不同视频标准或相同视频标准的各码流的对齐方式,包括确定对齐信息所在层,以及数据形式。源设备根据以上所确定的信息,使用示例1至示例8的所述方法,设置视频码流层,***层和应用层中当高层数据结构与低层数据结构中的pic_alignment_flag和/或pic_alignment_type,alignment_code取值,并使用相应的编码方法将其写入码流。
宿设备对接收码流进行处理,使用示例1至示例8的所述方法,从应用层、***层和视频码流层查找获得pic_alignment_flag和/或pic_alignment_type,alignment_code的值,宿设备使用上述各方法设置接收、解码过程中的差错控制、播放控制模块。
示例11:
本示例中,不同视频标准或相同视频标准的各码流中携带上述对齐辅助信息的形式可不同。源设备根据应用需求,确定不同视频标准或相同视频标准的各码流添加对齐或同步信息的形式。通过与宿设备协商统一规则,如将时间信息统一转换为***时间,或者统一序号。宿设备按照应用层、***层和视频编码层的顺序进行搜索查找,直到获取所需的对齐或同步信息。
使用混合方法中,源设备首先根据应用需求,确定不同视频标准或相同视频标准的各码流对齐方式,包括确定对齐或同步信息所在层,以及数据形式。源设备根据以上所确定的信息,使用示例1至示例8的所述方法,设置视频码流层,***层和应用层中当高层数据结构与低层数据结构中的pic_alignment_flag和/或pic_alignment_type,alignment_code取值,并使用相应的编码方法将其写入码流。
宿设备对接收码流进行处理,使用示例1至示例8的所述方法,从应用层、***层和视频码流层查找获得pic_alignment_flag和/或pic_alignment_type,alignment_code的值,根据与源设备的统一约定,转换为统一的时间格式。宿设备使用上述各方法设置接收、解码过程中的差错控制、播放控制模块。
示例12:
本示例中,采用混合使用的方法携带上述对其辅助信息。对于不同视频标准或相同视频标准的各码流来说,应用层是高于***层的数据结构,***层是高于视频编码层的数据结构。
在示例中,pic_alignment_flag和/或pic_alignment_type,alignment_code可以在不同层次的数据结构中进行编码。当高层数据结构与低层数据结构中的pic_alignment_flag和/或pic_alignment_type,alignment_code取值不同时,低层数据结构中的值覆盖高层数据结构中的值。当低层数据结构中的pic_alignment_flag和/或pic_alignment_type,alignment_code有缺失时,可以借用高层数据结构中的这些值用于对齐或同步。
使用混合方法中,源设备首先根据应用需求,确定不同视频标准或相同视频标准的各码流对齐方式,包括确定对齐或同步信息所在层,以及数据形式。源设备根据以上所确定的信息,使用示例1至示例8的所述方法,设置视频码流层,***层和应用层中当高层数据结构与低层数据结构中的pic_alignment_flag和/或pic_alignment_type,alignment_code取值,并使用相应的编码方法将其写入码流。
宿设备对接收码流进行处理,使用示例1至示例8的所述方法,从应用层、***层和视频码流层获得pic_alignment_flag和/或pic_alignment_type,alignment_code的值,宿设备使用上述各方法设置接收、解码过程中的差错控制、播放控制模块。
宿设备可使用不同层获取得到的对齐或同步信息,作为其码流检错和播放操作控制条件。若不同层获取的对齐或同步信息有差异,宿设备执行差错控制机制,通过反馈信息向源设备报告错误。宿设备可直接根据对齐或同步信息进行该层图像与其它层图像间进行输出和播放控制。
综上所述,通过本发明实施例提供的方法,可以在码流高层、***层、视频层描述等增加不同编码格式的视频对齐的描述。同时,在码流高层结构上采用分层描述机制,有利于码流生成过程中的灵活控制。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (25)

1.一种码流对齐方法,特征在于,包括:
发送终端在多路码流需要对齐时,在所述多路码流中设置对齐辅助信息;
所述发送终端将所述多路码流进行存储或发送给接收终端;
其中,所述多路码流是不同视频标准的码流。
2.如权利要求1所述的码流对齐方法,其特征在于,所述码流为视频码流;所述发送终端在所述多路码流中设置对齐辅助信息包括:在所述多路码流的视频层、***层和应用层中的至少一层设置所述对齐辅助信息。
3.如权利要求2所述的码流对齐方法,其特征在于,所述发送终端在所述多路码流的视频层设置所述对齐辅助信息时,包括:在视频层以下字段中的至少一个字段设置所述对齐辅助信息:
增强信息所对应的字段;
视频可用信息所对应的字段;
视频共有信息所对应的字段;
片头信息所对应的字段;
以及码流视频层除上述字段外的其他至少包含一个图像的字段。
4.如权利要求2所述的码流对齐方法,其特征在于,所述发送终端在所述多路码流的***层设置所述对齐辅助信息时,包括:在***层中用于描述视频媒体属性所对应的字段设置所述对齐辅助信息。
5.如权利要求2所述的码流对齐方法,其特征在于,所述发送终端在所述多路码流的应用层设置所述对齐辅助信息时,包括:在媒体文件中用于描述视频媒体属性所对应的字段、和/或应用层中用于描述视频媒体属性所对应的字段设置所述对齐辅助信息。
6.如权利要求2-5任一项所述的码流对齐方法,其特征在于,所述发送终端在所述多路码流中设置所述对齐辅助信息的位置和/或内容相同。
7.如权利要求2-5任一项所述的码流对齐方法,其特征在于,所述发送终端在所述多路码流中设置所述对齐辅助信息的个数和/或内容不同。
8.如权利要求1-5任一项所述的码流对齐方法,其特征在于,所述发送终端将所述多路码流发送给接收终端时,包括:所述发送终端将所述多路码流分别单独发送给所述接收终端;或所述发送终端将所述多路码流中的至少两路封装成一路后发送给所述接收终端;或所述发送终端将所述多路码流拆分重新组合为多路码流后发送给所述接收终端。
9.如权利要求1-5任一项所述的码流对齐方法,其特征在于,所述发送终端将所述多路码流进行存储时,包括将所述多路码流写入一个文件进行存储,或将所述多路码流分别写入单独的文件进行存储,或将所述多路码流拆分重组后写入到不同的文件中进行存储。
10.如权利要求2-5任一项所述的码流对齐方法,其特征在于,所述对齐辅助信息包括对齐标量内容,或在包括所述对齐标量内容时,还包括对齐指示信息。
11.如权利要求10所述的码流对齐方法,其特征在于,所述对齐标量内容包括图像绝对时间信息、图像相对时间信息、图像解码顺序信息、图像播放顺序信息、图像分隔符和图像特定界定符中的至少一种。
12.如权利要求10所述的码流对齐方法,其特征在于,所述对齐辅助信息包括对齐指示信息时,所述对齐指示信息包括对齐标识信息和/或类型信息。
13.如权利要求2-5任一项所述的码流对齐方法,其特征在于,所述多路码流为两路不同视频标准的视频码流,且其中一路为H.265/HEVC视频码流。
14.一种码流接收方法,其特征在于,包括:
接收终端获取多路码流;
接收终端在所述多路码流中携带有发送终端设置的对齐辅助信息时,根据所述对齐辅助信息对所述多路码流进行同步处理;
其中,所述多路码流是不同视频标准的码流。
15.如权利要求14所述的码流接收方法,其特征在于,所述码流为视频码流,所述接收终端从所述多路码流的应用层、***层、视频层中的至少一层查找所述对齐辅助信息。
16.如权利要求15所述的码流接收方法,其特征在于,当一路码流的多层中存在不一致的对齐辅助信息时,按照预设规则从中选择一层的对齐辅助信息进行同步处理。
17.如权利要求16所述的码流接收方法,其特征在于,所述预设规则包括:
选择信道传输可靠性高的层中的对齐辅助信息;
或,当视频层存在对齐辅助信息时,选择视频层中的对齐辅助信息,否则,选择离视频层最近的层中的对齐辅助信息;
或,选择所述接收终端所支持的有效层中的对齐辅助信息。
18.如权利要求17所述的码流接收方法,其特征在于,在一路码流的信道传输可靠性相对较低的层存在完整的对齐辅助信息,而信道传输可靠性高的层的对齐辅助信息缺失时,选择信道传输可靠性相对较低的层的对齐辅助信息进行同步处理;
或在一路码流的视频层外的其他层存在完整的对齐辅助信息,而视频层的对齐辅助信息缺失时,选择视频层外的其他层的对齐辅助信息进行同步处理。
19.如权利要求14-18任一项所述的码流接收方法,其特征在于,所述对齐辅助信息至少包括对齐标量内容;所述接收终端根据所述对齐标量内容进行对所述多路码流进行同步处理。
20.一种码流处理方法,其特征在于,包括:
发送终端在多路码流需要对齐时,在所述多路码流中设置对齐辅助信息;
所述发送终端将所述多路码流进行存储或发送给接收终端;
所述接收终端获取所述多路码流;
所述接收终端在所述多路码流中携带有所述对齐辅助信息时,根据所述对齐辅助信息对所述多路码流进行同步处理;
其中,所述多路码流是不同视频标准的码流。
21.一种发送终端,其特征在于,包括处理模块和发送模块;
所述处理模块用于在多路码流需要对齐时,在所述多路码流中设置对齐辅助信息;
所述发送模块用于将所述多路码流进行存储或发送给接收终端。
22.如权利要求21所述的发送终端,其特征在于,所述码流为视频码流,所述处理模块包括写入子模块,用于在所述多路码流的视频层、***层和应用层中的至少一层设置所述对齐辅助信息。
23.一种接收终端,其特征在于,包括获取模块和执行模块;
所述获取模块用于获取多路码流;
所述执行模块用于在所述多路码流中携带有发送终端设置的对齐辅助信息时,根据所述对齐辅助信息对所述多路码流进行同步处理;
其中,所述多路码流是不同视频标准的码流。
24.如权利要求23所述的接收终端,其特征在于,所述执行模块包括查找子模块,用于从所述多路码流的应用层、***层、视频层中的至少一层查找所述对齐辅助信息。
25.一种通信***,其特征在于,包括如权利要求21或22所述的发送终端和如权利要求23或24所述的接收终端;
所述发送终端在多路码流需要对齐时,分别在所述多路码流中设置对齐辅助信息,并将所述多路码流进行存储或发送给所述接收终端;
所述接收终端获取所述多路码流,在所述多路码流中携带有所述对齐辅助信息时,根据所述对齐辅助信息对所述多路码流进行同步处理;
其中,所述多路码流是不同视频标准的码流。
CN201510304991.7A 2015-06-04 2015-06-04 码流对齐、同步处理方法及发送、接收终端和通信*** Active CN106303673B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510304991.7A CN106303673B (zh) 2015-06-04 2015-06-04 码流对齐、同步处理方法及发送、接收终端和通信***
PCT/CN2016/073823 WO2016192413A1 (zh) 2015-06-04 2016-02-15 码流对齐、同步处理方法及发送、接收终端和通信***
US15/579,310 US10582234B2 (en) 2015-06-04 2016-02-15 Bitstream alignment and synchronous processing method transmitting terminal, receiving terminal and communication system
EP16802336.4A EP3306945A4 (en) 2015-06-04 2016-02-15 Bitstream alignment and synchronous processing method and system, receiving terminal and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510304991.7A CN106303673B (zh) 2015-06-04 2015-06-04 码流对齐、同步处理方法及发送、接收终端和通信***

Publications (2)

Publication Number Publication Date
CN106303673A CN106303673A (zh) 2017-01-04
CN106303673B true CN106303673B (zh) 2021-01-22

Family

ID=57440003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510304991.7A Active CN106303673B (zh) 2015-06-04 2015-06-04 码流对齐、同步处理方法及发送、接收终端和通信***

Country Status (4)

Country Link
US (1) US10582234B2 (zh)
EP (1) EP3306945A4 (zh)
CN (1) CN106303673B (zh)
WO (1) WO2016192413A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019852A (zh) * 2019-05-29 2020-12-01 杭州海康威视数字技术股份有限公司 一种目标类型帧识别方法、装置及电子设备
CN110798731A (zh) * 2019-11-15 2020-02-14 北京字节跳动网络技术有限公司 视频数据的处理方法、装置、电子设备及计算机可读介质
CN110958466A (zh) * 2019-12-17 2020-04-03 杭州当虹科技股份有限公司 一种基于rtmp传输的sdi信号同步回传方法
CN115695883A (zh) * 2022-09-27 2023-02-03 北京奇艺世纪科技有限公司 一种视频数据处理方法、装置、设备以及存储介质

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX9801212A (es) * 1995-09-29 1998-04-30 Matsushita Electric Ind Co Ltd Metodo y dispositivo para grabar y reproducir una corriente de bits intercalada sobre y desde un medio.
US6188987B1 (en) * 1998-11-17 2001-02-13 Dolby Laboratories Licensing Corporation Providing auxiliary information with frame-based encoded audio information
US7010037B2 (en) * 2002-08-06 2006-03-07 Koninklijke Philips Electronics N.V. System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
US20070165717A1 (en) * 2003-04-18 2007-07-19 Ye Jong C System and method for rate-distortion optimized data partitioning for video coding using parametric rate-distortion model
US8503541B2 (en) * 2004-01-16 2013-08-06 Motorola Mobility Llc Method and apparatus for determining timing information from a bit stream
US9071344B2 (en) * 2005-08-22 2015-06-30 Qualcomm Incorporated Reverse link interference cancellation
US8436889B2 (en) * 2005-12-22 2013-05-07 Vidyo, Inc. System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers
US7882442B2 (en) * 2007-01-05 2011-02-01 Eastman Kodak Company Multi-frame display system with perspective based image arrangement
US8289998B2 (en) * 2009-02-13 2012-10-16 Samsung Electronics Co., Ltd. Method and apparatus for generating three (3)-dimensional image data stream, and method and apparatus for receiving three (3)-dimensional image data stream
WO2010147289A1 (en) * 2009-06-16 2010-12-23 Lg Electronics Inc. Broadcast transmitter, broadcast receiver and 3d video processing method thereof
US8948241B2 (en) * 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
US8976871B2 (en) * 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
US9049497B2 (en) * 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
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
TW201210325A (en) * 2010-07-21 2012-03-01 Nokia Corp Method and apparatus for indicating switching points in a streaming session
CN101951506B (zh) * 2010-09-17 2014-03-12 中兴通讯股份有限公司 实现可伸缩视频编码业务同步发送、接收的***和方法
US20120069927A1 (en) * 2010-09-17 2012-03-22 Intel Corporation CQI feedback mechanisms for distortion-aware link adaptation toward enhanced multimedia communications
CN102480634B (zh) * 2010-11-24 2015-12-16 中兴通讯股份有限公司 移动多媒体广播中分级业务同步的方法、设备和***
KR101831775B1 (ko) * 2010-12-07 2018-02-26 삼성전자주식회사 멀티미디어 컨텐츠를 송수신하는 송신 장치 및 수신 장치와, 그 재생 방법
DE112012002526B4 (de) * 2011-06-20 2021-01-07 Lg Electronics Inc. Medieninhalt-Übertragungsverfahren und Übertragungsvorrichtung unter Verwendung desselben
US9357275B2 (en) * 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
US20130195171A1 (en) * 2012-01-30 2013-08-01 Qualcomm Incorporated Method of coding video and storing video content
US9313486B2 (en) * 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
US20140098883A1 (en) * 2012-10-09 2014-04-10 Nokia Corporation Method and apparatus for video coding
US9774927B2 (en) * 2012-12-21 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Multi-layer video stream decoding
US20150312581A1 (en) * 2012-12-26 2015-10-29 Sony Corporation Image processing device and method
KR101466574B1 (ko) * 2013-03-19 2014-12-02 삼성전자주식회사 스케일러블 비디오 부호화 방법 및 장치, 스케일러블 비디오 복호화 방법 및 장치
US9596486B2 (en) * 2013-04-05 2017-03-14 Qualcomm Incorporated IRAP access units and bitstream switching and splicing
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
US9602822B2 (en) * 2013-04-17 2017-03-21 Qualcomm Incorporated Indication of cross-layer picture type alignment in multi-layer video coding
US20150016503A1 (en) * 2013-07-15 2015-01-15 Qualcomm Incorporated Tiles and wavefront processing in multi-layer context
GB2516824A (en) * 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
RU2675051C2 (ru) * 2013-09-12 2018-12-14 Сони Корпорейшн Устройство кодирования, устройство передачи и устройство приема
WO2015056179A1 (en) * 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding using syntax element
WO2015082763A1 (en) * 2013-12-02 2015-06-11 Nokia Technologies Oy Video encoding and decoding
CN104754347B (zh) * 2013-12-26 2019-05-17 中兴通讯股份有限公司 视频图像序号的编码、解码方法及装置、电子设备
CN104754358B (zh) * 2013-12-27 2019-02-19 中兴通讯股份有限公司 码流的生成和处理方法、装置及***
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding

Also Published As

Publication number Publication date
CN106303673A (zh) 2017-01-04
EP3306945A1 (en) 2018-04-11
US10582234B2 (en) 2020-03-03
US20180176617A1 (en) 2018-06-21
WO2016192413A1 (zh) 2016-12-08
EP3306945A4 (en) 2018-05-23

Similar Documents

Publication Publication Date Title
CN108702503B (zh) 用于提供视频比特流的方法及装置
US9602802B2 (en) Providing frame packing type information for video coding
EP3363204B1 (en) Support of random access and switching of layers and sub-layers in multi-layer video files
US9485287B2 (en) Indicating bit stream subsets
EP3363205B1 (en) Alignment of operation point sample group in multi-layer bitstreams file format
US20180255324A1 (en) Hrd descriptor and buffer model of data streams for carriage of hevc extensions
US10999605B2 (en) Signaling of important video information in file formats
US10038899B2 (en) File format for video data
US11638066B2 (en) Method, device and computer program for encapsulating media data into a media file
CN106303673B (zh) 码流对齐、同步处理方法及发送、接收终端和通信***
CN107787585B (zh) 用于处理立体视频数据的mmt装置和mmt方法
US10291922B2 (en) Method and apparatus for decoding an enhanced video stream
CN106507112B (zh) 码流处理方法、装置及***
US20130250059A1 (en) Method and apparatus for transmitting stereoscopic video information
JP2016076957A (ja) 送信装置、送信方法、受信装置および受信方法
KR20120060771A (ko) 스테레오스코픽 영상 정보의 전송 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant