WO2012094915A1 - 流媒体前向纠错实现方法及系统 - Google Patents

流媒体前向纠错实现方法及系统 Download PDF

Info

Publication number
WO2012094915A1
WO2012094915A1 PCT/CN2011/081236 CN2011081236W WO2012094915A1 WO 2012094915 A1 WO2012094915 A1 WO 2012094915A1 CN 2011081236 W CN2011081236 W CN 2011081236W WO 2012094915 A1 WO2012094915 A1 WO 2012094915A1
Authority
WO
WIPO (PCT)
Prior art keywords
fec
related information
code stream
media
error correction
Prior art date
Application number
PCT/CN2011/081236
Other languages
English (en)
French (fr)
Inventor
王芳
陈光亮
李竹平
赵宇
刘继年
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012094915A1 publication Critical patent/WO2012094915A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end

Definitions

  • the present invention relates to the field of streaming media technologies, and in particular, to a streaming media forward error correction implementation method and system.
  • streaming media services mostly pack code stream data according to certain rules and distribute data through a packet-based communication network.
  • IPTV interactive network television
  • a TS over RTP Transport Stream over Real-time Transport Protocol
  • a TS Over UDP Transport Stream over User Datagram Protocol
  • FEC Forward Error Correction
  • the transmitted media data packet is FEC-encoded to obtain a FEC redundant data packet, which is also distributed through the IP network.
  • the terminal can recover the lost media data packets through a certain algorithm.
  • the terminal In order to ensure that the FEC code stream can be correctly received and recognized, and the FEC decoding recovery work is performed correctly, the terminal must obtain information about the FEC, such as the transmission mode of the FEC code stream, the receiving port, the FEC coding scheme, the redundancy, Group size, and FEC package format, etc.
  • the method of delivering relevant FEC information through SDP is defined in the IETF (Internet Engineering Task Force) and related specifications of 3GPP.
  • the terminal may lack such means to obtain FEC information through an out-of-band method such as SDP.
  • SDP Service Data Streaming Protocol
  • the terminal can usually only obtain a multicast address and port corresponding to the channel code stream.
  • RTSP Real Time Streaming Protocol
  • SDP Service Data Streaming Protocol
  • the terminal can usually only be done according to the agreed rules. For example, an IPTV system at a certain site pre-agreed the code stream for a certain channel.
  • the corresponding FEC code stream uses the same multicast address as the channel code stream, but the port number is incremented by the code stream port number. In this way, the terminal can receive the corresponding FEC code stream on the agreed port while acquiring the code stream.
  • the present invention provides a streaming media forward error correction implementation method, the method comprising:
  • the transmitting end sends Forward Error Correction (FEC) related information by using the same transmission manner as the media code stream, where the FEC related information includes an FEC encoding scheme identifier and an FEC data encapsulation format identifier;
  • FEC Forward Error Correction
  • the receiving end receives the FEC code stream according to the configured FEC related information and parses the FEC data.
  • the FEC data is used for FEC decoding and repairing.
  • the FEC related information further includes a group size, channel information, a FEC code stream identifier, a size of the FEC operation unit, and/or a correspondence between the media code stream and the FEC code stream.
  • the step of transmitting the FEC related information includes: the sending end periodically sends the FEC related information.
  • the method further includes: when the FEC related information is modified, the sending end sends the modified FEC related information, and the receiving end updates the locally configured FEC related information after receiving the modified FEC related information.
  • the FEC related information is transmitted based on an extended Moving Picture Experts Group (MPEG) protocol or an extended Real Time Transport Protocol (RTP).
  • MPEG Moving Picture Experts Group
  • RTP Real Time Transport Protocol
  • the method further includes: the transmitting end separately package and transport the media code stream and the FEC code stream.
  • the present invention also provides a streaming media forward error correction implementation system, including a transmitting end and a receiving end, where:
  • the sending end is configured to: send forward error correction by using the same transmission mode as the media code stream
  • the FEC related information includes an FEC coding scheme identifier and an FEC data enclosure format identifier;
  • the receiving end includes:
  • Receiving a configuration module configured to receive and configure the FEC related information
  • the FEC code stream processing module is configured to: receive the FEC code stream according to the configured FEC related information and parse the FEC data, and when detecting the media code stream loss, use the FEC data to perform FEC decoding and repair.
  • the FEC related information further includes a group size, channel information, a FEC code stream identifier, a size of the FEC operation unit, and/or a correspondence between the media code stream and the FEC code stream.
  • the streaming media forward error correction implementation method and system of the present invention delivers FEC encoding and transmission related information in an in-band manner, so that as long as the terminal can receive the media code stream, the corresponding FEC information can be obtained, and the FEC can be conveniently implemented. Dynamic update of information. BRIEF abstract
  • FIG. 1 is a schematic diagram of a method for implementing forward error correction of a streaming media according to the present invention
  • FIG. 2 is a schematic diagram of transmitting FEC related information and FEC packets in a TS stream
  • FIG. 3 is a schematic diagram of a code stream for transmitting FEC information by using an RTP channel
  • Figure 4 is an RTP extension header structure for transmitting FEC information
  • Figure 5 is a data structure for passing FEC information parameters in an RTP packet
  • FIG. 6 is a schematic diagram of a streaming media forward error correction implementation system of the present invention. Preferred embodiment of the invention
  • the basic idea of the method and system for implementing forward error correction of the present invention is: transmitting FEC related information in an in-band manner, so that as long as the terminal can receive the media stream, the corresponding FEC can be obtained.
  • Information and can easily implement dynamic update of FEC information.
  • the streaming media forward error correction implementation method of the present invention includes:
  • Step 101 The transmitting end sends forward error correction (FEC) related information by using the same transmission mode as the media code stream, where the FEC related information includes an FEC coding scheme identifier and an FEC data encapsulation format identifier.
  • FEC forward error correction
  • the FEC coding scheme identifier indicates the FEC error correction code algorithm used, and the FEC data encapsulation format identifier indicates the FEC data packing format used. Different FEC coding scheme identifiers correspond to different FEC algorithms. Different FEC data package format identifiers correspond to different FEC data package formats. These two parameters are necessary for the terminal to identify the encapsulation format of the FEC data and the FEC encoding algorithm used;
  • the FEC related information further includes a FEC coding scheme related parameter and a FEC data transmission related parameter.
  • a FEC coding scheme related parameter For example, group size, channel information, FEC stream identification, size of the FEC unit, and/or correspondence between the media stream and the FEC stream.
  • group size, channel information, FEC stream identification, size of the FEC unit, and/or correspondence between the media stream and the FEC stream For example, group size, channel information, FEC stream identification, size of the FEC unit, and/or correspondence between the media stream and the FEC stream.
  • the meaning of each parameter is as follows:
  • the group size may be fixed, or the terminal may parse the corresponding parameters from the FEC packet, so this parameter is optional for some FEC encoding schemes and FEC encapsulation formats;
  • Channel information such as the transmission channel port number used for the FEC stream, whether the channel is single channel or dual channel, etc. This parameter is optional.
  • the terminal defaults to the single channel mode, that is, the FEC code stream is a transmission channel in which the media code stream is multiplexed;
  • FEC arithmetic unit This parameter is optional for some FEC encoding schemes. For example, when FEC encoding is a packet for TS over RTP, it is generally defaulted. The size of the symbol used is 1336 bytes, which is the length of 7 TS packets, plus the length of the RTP header;
  • This parameter can also be omitted when there is only one media stream, or one FEC stream protects all media streams.
  • the transmitting end encapsulates the FEC related information according to the used media transmission protocol, and then transmits the same transmission mode as the media code stream.
  • the FEC related information can be carried by adding a relevant field in the media data packet, or by defining a new data packet format, and then multiplexing the transmission channel of the media code stream, and transmitting with the media code stream. This program does not limit this.
  • the FEC related information can be sent periodically to ensure that the newly received receiver (such as the terminal) can obtain relevant information in time.
  • the related information is constructed according to the new parameters, and then the updated information is sent as described above.
  • Step 102 The receiving end receives and configures the FEC related information.
  • the receiving end When receiving the media code stream, the receiving end also receives the FEC related information transmitted in the same manner as the media code stream, and the receiving end parses the related FEC information, and configures according to the specific information, specifically, the terminal records the information locally. It can be saved in memory, for example, directly modifying the parameters of related object instances in the program, or it can be recorded on a storage device, such as a file.
  • the specific configuration mode is determined by the specific implementation of the receiving end. As long as the receiving end can ensure that the FEC code stream can be processed according to the information obtained here.
  • the FEC related information sent by the transmitting end is the modified FEC related information
  • the receiving end updates the locally saved information after receiving the modified FEC related information.
  • Step 103 The receiving end receives the FEC code stream according to the configured FEC related information and parses the FEC data. When detecting the media stream loss, the FEC data is used to perform FEC decoding and repair, and the lost media data packet is recovered.
  • the FEC related information may be transmitted based on an extended Moving Picture Experts Group (MPEG) protocol or an extended Real Time Transport Protocol (RTP). Specific examples are given below for the extension of these two protocols:
  • MPEG Moving Picture Experts Group
  • RTP Real Time Transport Protocol
  • This embodiment implements the in-band mode to transmit FEC related information on the basis of MPEG-2 TS. That is, when the code stream is directly transmitted through the MPEG-2 TS stream, the related FEC information can be encapsulated in the PMT (Program Map Table) of the TS stream.
  • the FEC redundant data can be used as an ES (Elementary Stream) stream and multiplexed in the TS stream for transmission.
  • the transmission is shown in Figure 2:
  • the transmitting end multiplexes the video PES (Packetized Elementary Stream), the audio PES, other ES and FEC ES streams, and the FEC related information, and the receiving end receives and demultiplexes the video, audio, and FEC. And the FEC related information, if the packet loss is detected, the FEC related information and the FEC data are used for forward error correction.
  • video PES Packetized Elementary Stream
  • audio PES Packetized Elementary Stream
  • other ES and FEC ES streams and the FEC related information
  • FEC related information if the packet loss is detected, the FEC related information and the FEC data are used for forward error correction.
  • a program-level fee-signal-descriptor is defined as follows:
  • the uimsbf in the table indicates unsigned integer (the most significant bit first, see the related definition in ISO/IEC13818-1 for details).
  • the bslbf in the table indicates the bit string (bit string, left bit first, see The relevant definitions in the ISO/IEC13818-1 standard) are the same as below.
  • descriptor - tag 127, indicating that the descriptor is fee_signal_descriptor.
  • Descriptor_length indicates the length of the arq_signal_descriptor, see
  • Encoding- id - indicates the FEC coding scheme used, and different values represent different FEC error correction code algorithms
  • Packaging— id indicates the FEC data encapsulation format used. Different values represent different FEC data packing formats.
  • Group— count —— indicates the group size.
  • the terminal needs to adapt itself according to parameters such as FEC encoding scheme
  • the terminal needs to adapt itself according to the parameters such as the FEC coding scheme.
  • a stream-type type of the booster port is used to identify the FEC stream. For example, when the stream_type value is OxFF, the corresponding PID (Packet Identifier) stream is the FEC stream;
  • Other fields have the following meanings:
  • the FEC coding scheme specified in the FEC related information completes the generation of the FEC data, and is encapsulated into a FEC stream of a corresponding format and multiplexed into the TS stream;
  • the relevant regulations for PMT transmission can follow the relevant provisions of MPEG-2 TS. Since the FEC information is sent along with the PMT, it can be guaranteed that the new access terminal can obtain the FEC information in time. It can also guarantee the update of the FEC information when it changes;
  • the FEC repair is performed by using the received media packet and the FEC packet.
  • Terminals that cannot identify the relevant FEC information and FEC streams can discard the corresponding FEC streams according to the PID.
  • FEC related signaling is transmitted through RTP/RTCP (RTP Control Protocol) to implement in-band transmission of FEC related information.
  • RTP/RTCP RTP Control Protocol
  • the related FEC information can be encapsulated in the RTP/RTCP packet and transmitted through the RTP/RTCP channel.
  • Figure 3 shows an illustration of the transfer of FEC information using the RTP channel.
  • FEC redundant data can be used as one RTP stream, multiplexing The RTP channel of the media stream, or use the new RTP channel for transmission.
  • Assign a special PT payload Type, PT field in the RTP header to identify the payload type
  • PT payload Type, PT field in the RTP header to identify the payload type
  • the RTP packet used to transmit the FEC information can have its own independent sequence space to avoid interference with the normal RTP code stream.
  • RTP extension header that identifies which specification the RTP packet format that passes the FEC information follows. Only valid when the PT value is equal to 125.
  • the extension header definition is shown in Figure 4, following the relevant definition of RFC3550. You can set the defined by profile field to a special value, such as the ASCII character "FE" to indicate the corresponding RTP payload, which is used to pass FEC information.
  • the different values of the Identifier field in the extension header indicate the corresponding specifications. Different specifications may correspond to different RTP packet format definitions. For example, if the value of the Identifier is ASCII character "ZFEC", it indicates that the format of the FEC information parameter carried in the RTP payload that follows is in accordance with the relevant provisions in this embodiment;
  • TLV Type-Length-Value
  • the basic structure is shown in Figure 5.
  • the FEC parameters that need to be supported are as follows:
  • the port number of the corresponding FEC stream (relative to the RTP stream port number)
  • the media stream uses the same port.
  • the FEC related information and the FEC packet are used to perform FEC repair on the media packet.
  • the present invention also provides a streaming media forward error correction implementation system, as shown in the figure
  • the system includes a transmitting end and a receiving end, wherein
  • the sending end is configured to: send Forward Error Correction (FEC) related information by using the same transmission mode as the media code stream, where the FEC related information includes an FEC encoding scheme identifier and an FEC data encapsulation format identifier;
  • FEC Forward Error Correction
  • the FEC related information further includes a group size, channel information, and an FEC code stream identifier
  • the size of the FEC arithmetic unit and/or the correspondence between the media code stream and the FEC code stream is not limited.
  • the receiving end includes:
  • Receiving a configuration module configured to receive and configure the FEC related information
  • the FEC code stream processing module is configured to: receive the FEC code stream according to the configured FEC related information and parse the FEC data, and when detecting the media code stream loss, use the FEC data to perform FEC decoding and repair. Further, the sending end is configured to periodically send the FEC related information.
  • the sending end sends the modified FEC related information
  • the receiving configuration module of the receiving end receives the modified FEC related information and updates the locally saved FEC related information.
  • the FEC related information is transmitted based on an extended Moving Picture Experts Group (MPEG) protocol or an extended Real Time Transport Protocol (RTP).
  • MPEG Moving Picture Experts Group
  • RTP Real Time Transport Protocol
  • the functional modules mentioned in the above system are related to the prior art, and in the technical solution, the transmitting end and the receiving end do not exclude new or existing functional modules.
  • the user can conveniently obtain the relevant FEC related information while receiving the media code stream, thereby smoothly receiving and repairing the FEC code stream.
  • the user can also be notified in time to make corresponding adjustments.
  • the media code stream and the FEC code stream may be separately packaged and transmitted separately, or the FEC data and the media code stream may be combined and packaged for transmission.
  • the FEC encoding and transmission related information is transmitted in an in-band manner, so that as long as the terminal can receive the media stream, the corresponding FEC information can be obtained, and the FEC information can be dynamically updated.
  • the terminal can determine whether it is necessary to receive the FEC code stream according to its own resource condition.
  • the FEC code stream may be received according to the obtained FEC transmission related information, and the FEC data is parsed according to the obtained FEC data encapsulation information, and then FEC decoding operation is performed according to the obtained FEC encoding related information, and the repair code is used. flow.
  • the streaming media forward error correction implementation method and system of the present invention transmits the relevant information of the FEC encoding and transmission in an in-band manner, so that the terminal can obtain the corresponding FEC information as long as the terminal can receive the media code stream. And can easily implement dynamic update of FEC information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种流媒体前向纠错实现方法及系统,该方法包括:发送端采用与媒体码流相同的传输方式发送前向纠错(FEC)相关信息,所述FEC相关信息包括FEC编码方案标识;接收端接收并配置所述FEC相关信息;以及所述接收端按照配置后的FEC相关信息接收FEC码流并解析出FEC数据,当检测到媒体码流丢包时,利用所述FEC数据进行FEC解码修复。本发明流媒体前向纠错实现方法及系统可以便于实现流媒体前向纠错。

Description

流媒体前向纠错实现方法及系统
技术领域
本发明涉及流媒体技术领域, 更具体地, 涉及一种流媒体前向糾错实现 方法及系统。
背景技术
随着宽带网的普及和多媒体技术的发展, 流媒体技术的应用也越来越广 泛。 目前的流媒体服务, 多是将码流数据按一定规则打包后, 通过基于分组 的通信网络进行数据的分发。 例如 IPTV (交互式网络电视)应用中, 多使用 TS over RTP ( Transport Stream over Real-time Transport Protocol, 传输流承载 在实时传输协议上)或者 TS over UDP ( Transport Stream over User Datagram Protocol, 传输流承载在用户数据报协议上)方式, 通过 IP 网络进行分发。 由于 IP网络尽力转发的特性, 将不可避免的存在分组丟失的情况。 为解决这 种情况, 现有技术多釆用 FEC ( Forward Error Correction, 前向纠错)方式对 码流进行保护, 尤其是直播的时候。 即对传输的媒体数据包进行 FEC编码, 得到 FEC冗余数据包,并同样通过 IP网络进行分发。这样终端只要收到足够 数量的媒体数据包及 FEC冗余包, 就可以通过一定的算法, 恢复出丟失的媒 体数据包。
为了确保能正确的接收并识别出 FEC码流,并正确的进行 FEC解码恢复 的工作, 终端必须获得 FEC的相关信息, 例如 FEC码流的传送方式、接收端 口、 FEC编码方案、 冗余度、 组大小、 以及 FEC包格式等。 IETF (互联网工 程任务组)和 3GPP的相关规范中定义了通过 SDP (会话描述协议)传递相 关 FEC信息的方法。
但是在某些情况下,终端可能缺少这种通过 SDP等带外方式获取 FEC信 息的手段。 例如目前很多 IPTV应用中,对于直播频道, 终端通常只能获取到 对应于频道码流的一个组播地址和端口。没有 RTSP(实时流传输协议)链接, 没有 SDP, 则上述的 FEC信息, 终端都无从获取。 此时, 终端通常只能根据 约定的规则来做。例如某个局点的 IPTV系统,事先约定对于某个频道的码流, 其相应的 FEC码流使用与频道码流同样的组播地址, 但是端口号釆用码流端 口号加 2的方式。 这样, 终端就可以在获取码流的同时, 在约定的端口上, 接收相应的 FEC码流。
这种方式是非常不方便的。 规则一旦确定就不能轻易发生变动, 如果发 生变动就需要修改所有终端的配置信息, 工作量十分巨大, 且非常麻烦。 另 夕卜, 属于一个局点的终端, 拿到其他局点后, 由于约定的规则可能不一样, 该终端可能将无法在新的局点使用。 此外, FEC信息中的相关参数也不能动 态更新, 若进行动态更新则也会给终端带来问题。 发明内容
本发明的目的是提供一种流媒体前向纠错实现方法及系统, 以便于实现 流媒体前向纠错。
为解决以上技术问题, 本发明提供了一种流媒体前向纠错实现方法, 该 方法包括:
发送端釆用与媒体码流相同的传输方式发送前向纠错(FEC )相关信息, 所述 FEC相关信息包括 FEC编码方案标识和 FEC数据封装格式标识;
接收端接收并配置所述 FEC相关信息; 以及
所述接收端按照配置后的 FEC相关信息接收 FEC码流并解析出 FEC数 据, 当检测到媒体码流丟包时, 利用所述 FEC数据进行 FEC解码修复。
所述 FEC相关信息还包括组大小、 通道信息、 FEC码流标识、 FEC运算 单元的大小和 /或媒体码流与 FEC码流的对应关系。
发送 FEC相关信息的步骤包括: 发送端周期性发送所述 FEC相关信息。 该方法还包括: 所述 FEC相关信息有修改时, 所述发送端发送修改后的 FEC相关信息, 所述接收端接收所述修改后的 FEC相关信息后更新本地配置 的 FEC相关信息。
发送 FEC相关信息的步骤中,所述 FEC相关信息基于扩展的运动图像专 家组(MPEG )协议或扩展的实时传输协议(RTP )发送。
该方法还包括: 发送端将所述媒体码流和 FEC码流分别打包传输。 为解决以上技术问题, 本发明还提供了一种流媒体前向纠错实现系统, 包括发送端和接收端, 其中:
所述发送端设置成: 釆用与媒体码流相同的传输方式发送前向纠错
( FEC )相关信息,所述 FEC相关信息包括 FEC编码方案标识和 FEC数据封 装格式标识;
所述接收端包括:
接收配置模块, 其设置成接收并配置所述 FEC相关信息; 以及
FEC码流处理模块, 其设置成: 按照配置后的 FEC相关信息接收 FEC 码流并解析出 FEC数据, 当检测到媒体码流丟包时, 利用所述 FEC数据进行 FEC解码修复。
所述 FEC相关信息还包括组大小、 通道信息、 FEC码流标识、 FEC运算 单元的大小和 /或媒体码流与 FEC码流的对应关系。
本发明流媒体前向纠错实现方法和系统通过带内方式传递 FEC编码和传 输的相关信息, 这样只要终端能够收到媒体码流, 就可以获取到相应的 FEC 信息, 并可以方便的实现 FEC信息的动态更新。 附图概述
图 1 是本发明流媒体前向纠错实现方法的示意图;
图 2是在 TS流内传输 FEC相关信息和 FEC包的示意图;
图 3是利用 RTP通道传输 FEC信息的码流示意图;
图 4是用于传递 FEC信息的 RTP扩展头结构;
图 5是用于在 RTP包中传递 FEC信息参数的数据结构;
图 6是本发明流媒体前向纠错实现系统的示意图。 本发明的较佳实施方式
本发明流媒体前向纠错实现方法和系统的基本思想是: 通过带内方式传 递 FEC相关信息,这样只要终端能够收到媒体码流,就可以获取到相应的 FEC 信息, 并可以方便的实现 FEC信息的动态更新。
下文中将结合附图对本发明的实施例进行详细说明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互组合。
如图 1所示, 本发明流媒体前向纠错实现方法, 该方法包括:
步骤 101: 发送端釆用与媒体码流相同的传输方式发送前向纠错( FEC ) 相关信息, 所述 FEC相关信息包括 FEC编码方案标识和 FEC数据封装格式 标识;
其中 FEC编码方案标识表明了所釆用的 FEC纠错码算法, FEC数据封装 格式标识则表明了所釆用的 FEC数据打包格式,不同的 FEC编码方案标识对 应不同的 FEC算法。 不同的 FEC数据封装格式标识对应不同的 FEC数据封 装格式。 这两个参数是必须的, 以便终端识别 FEC数据的封装格式和所釆用 的 FEC编码算法等;
除 FEC编码方案标识和 FEC数据封装格式标识外, 优选地, 所述 FEC 相关信息还包括 FEC编码方案相关的参数和 FEC数据传输相关的参数。例如 组大小、通道信息、 FEC码流标识、 FEC运算单元的大小和 /或媒体码流与 FEC 码流的对应关系。 具体地, 各参数含义如下:
组大小一一对于某些 FEC编码方案, 组大小可能是固定的, 或者终端可 以从 FEC数据包中解析到相应的参数, 所以该参数对某些 FEC编码方案和 FEC封装格式是可选项;
通道信息——例如 FEC码流所用的传输通道端口号、 通道是单通道还是 双通道等, 该参数是可选项。 当 FEC信息中不包含该参数时, 终端默认是单 通道方式, 即 FEC码流是复用了媒体码流的传输通道;
相应的 FEC流的标识——如果缺少了该参数, 终端可以通过排除所有 可以识别的码流, 来识别出 FEC流, 但是存在干扰码流的时候, 可能会导致 误判。所以推荐在 FEC信息中始终包含该参数,以便终端能够明确识别出 FEC 流;
FEC运算单元(symbol ) 的大小——对于某些 FEC编码方案, 该参数 是可选项。 例如当 FEC编码是针对 TS over RTP的数据包时, 一般默认所釆 用的 symbol大小就是 1336字节, 即 7个 TS包的长度, 再加上 RTP头的长 度;
媒体码流与 FEC码流的对应关系——推荐在 FEC信息中始终包含该参 数, 以便终端明确 FEC流所保护的媒体码流。 当只有一路媒体码流, 或者一 路 FEC流保护所有的媒体码流时, 也可以省略该参数。
发送端根据所釆用的媒体传输协议, 将上述的 FEC相关信息进行封装, 然后釆用与媒体码流相同的传输方式发送。 FEC相关信息可以通过在媒体数 据包中增加相关字段携带, 也可以通过定义新的数据包格式, 然后复用媒体 码流的传输通道的方式, 随媒体码流发送。 本方案对此不作限制。
对于直播码流的情况, 该 FEC相关信息可以周期性的发送, 以保证新接 入的接收端 (如终端)可以及时获取到相关信息。
当该 FEC相关信息有修改更新时, 则按照新的参数构造相关信息, 然后 按上述方式发送更新后的信息。
步骤 102: 接收端接收并配置所述 FEC相关信息;
接收端接收媒体码流的同时, 也会接收到与媒体码流釆用相同方式传送 的 FEC相关信息, 接收端解析相关的 FEC信息, 并据此进行配置, 具体指终 端在本地记录这些信息, 可以保存在内存中, 例如直接修改程序中相关对象 实例的参数, 也可以是记录在存储设备上, 例如文件中。 具体配置方式由接 收端的具体实现决定。 只要保证接收端后续能按照这里获取到的信息处理 FEC码流即可。
所述 FEC相关信息有修改时,所述发送端发送的 FEC相关信息是修改后 的 FEC相关信息,所述接收端接收所述修改后的 FEC相关信息后更新本地保 存的信息。
步骤 103: 所述接收端按照配置后的 FEC相关信息接收 FEC码流并解析 出 FEC数据, 当检测到媒体码流丟包时, 利用 FEC数据进行 FEC解码修复, 恢复丟失的媒体数据包。
所述 FEC相关信息可以基于扩展的运动图像专家组(MPEG )协议或扩 展的实时传输协议(RTP )发送。 以下就这两种协议的扩展分别给出具体实施例:
实施例 1
本实施例在 MPEG-2 TS基础上, 实现带内方式传递 FEC相关信息。 即 当码流直接通过 MPEG-2 TS流传输时,可以将相关的 FEC信息封装在 TS流 的 PMT ( Program Map Table, 节目映射表) 中。 FEC冗余数据可以作为一路 ES ( Elementary Stream, 基本码流)流, 复用在 TS码流中进行传输。 传输示 意如图 2所示:
发送端将视频 PES (Packetized Elementary Stream , 打包的基本码流)、音 频 PES、 其他 ES及 FEC ES流、 FEC相关信息复用后发送, 接收端接收并解 复用后,得到视频、音频、 FEC及 FEC相关信息,若检测到丟包,则利用 FEC 相关信息和 FEC数据进行前向纠错。
对 MPEG-2 TS进行如下扩展:
在 PMT中增力。一个节目级别的 fee— signal— descriptor, 定义如下:
Figure imgf000008_0001
注: 表中的 uimsbf表示无符号整数 ( Unsigned integer, most significant bit first, 具体参见 ISO/IEC13818-1标准中的相关定义) , 表中的 bslbf表示比特 串 ( Bit string, left bit first, 具体参见 ISO/IEC13818-1标准中的相关定义) , 以下同。
1、 descriptor— tag: 127 , 表明该 descriptor为 fee— signal— descriptor。 其他各 字段的含义如下: descriptor— length 表明该 arq_signal— descriptor 的长度, 参见
ISO/IEC13818-1标准中的相关定义;
encoding— id —— 表明所釆用的 FEC编码方案, 不同的取值代表了不同 的 FEC纠错码算法;
packaging— id 表明所釆用的 FEC数据封装格式,不同的取值代表了 不同的 FEC数据打包格式;
group— count— flag 该字段的值为 1时,表明后面有 group— count字段 , 为零则没有 group— count字段;
symbol— size— flag 该字段的值为 1时,表明后面有 symbol— size字段, 为零则没有 symbol— size字段;
reserved —— 保留字段, 应全置为 0;
group— count —— 表示组大小, 没有的时候, 终端需要根据 FEC编码方 案等参数自行适配;
symbol— size —— 表示 FEC运算时的 symbol大小, 没有的时候, 终端需 要根据 FEC编码方案等参数自行适配;
2、 增力口一个 stream— type类型, 用于标识 FEC流, 例 ¾口 stream— type值为 OxFF时, 表示相应的 PID ( Packet Identifier ) 流为 FEC流;
3、 在 PMT中增加 ES级别的 fee— label— descriptor, 用于给 ES流添加一 个 FEC标签。标签值相同的媒体流对应于同一个 FEC流。这样可以标识媒体 码流与 FEC码流的对应关系。 定义如下:
Figure imgf000009_0001
其中 descriptor— tag=128, 表明该 descriptor为 fee— label— descriptor。 其他 各字段的含义如下:
label —— 标签值, 具有同样标签值的非 FEC流, 被具有同样标签值的 FEC流保护。
对于支持上述 MPEG-2 TS扩展的流媒体系统来说,其发送端和接收端的 处理流程如下:
发送端:
( 1 )根据上述对 MPEG-2 TS的扩展,在 PMT中增加 FEC相关信息; 按
FEC相关信息中指定的 FEC编码方案, 完成 FEC数据的生成,并封装成相应 格式的 FEC流, 复用到 TS流中;
( 2 )发送添加了 FEC相关信息和数据的 TS码流;
PMT发送的相关规定, 例如发送频率、 更新等, 可以遵循 MPEG-2 TS 的相关规定。 由于 FEC信息会随着 PMT—起周期发送, 从而可以保证新接 入终端可以及时获取 FEC信息。同样也可以保证 FEC信息发生变化时的更新; 接收端
( 1 )接收 TS码流, 解析其中的 PMT, 从中获取媒体码流的相关信息, 和 FEC的相关信息;
( 2 )根据 PMT中得到的信息,对 TS流进行解复用, 得到其中的媒体码 流和 FEC流;
( 3 ) 当检测到媒体码流发生丟包时, 则利用已收到的媒体包和 FEC包, 进行 FEC修复。
不能识别相关 FEC信息和 FEC流的终端, 可以根据 PID, 丟弃相应的 FEC流。
实施例 2
本实施例通过 RTP/RTCP ( RTP Control Protocol )传递 FEC相关信令, 实现 FEC相关信息的带内传递。
当码流通过 RTP流传输时(例如 TS over RTP ) , 可以将相关的 FEC信 息封装在 RTP/RTCP包中, 通过 RTP/RTCP通道进行传输。 图 3给出了利用 RTP通道传送 FEC信息的示意。 FEC冗余数据可以作为一路 RTP流, 复用 媒体码流的 RTP通道, 或者使用新的 RTP通道进行传输。
对 RTP进行如下扩展:
1、 分配一个专门的 PT ( Payload Type, RTP包头中的 PT字段, 用于标 识负载类型)值,例如 125 ,用于标识相应的 RTP流是用于传递 FEC信息的。 这样用于传递 FEC信息的 RTP包,就可以有自己独立的序号空间,避免对正 常的 RTP码流造成干扰;
2、 定义一个 RTP扩展头, 用于标识传递 FEC信息的 RTP包格式遵循哪 个规范。仅在 PT值等于 125时有效。扩展头定义如图 4所示, 遵循 RFC3550 的相关定义。可以设定 defined by profile字段为一个特殊值,例如 ASCII字符 "FE" ,以标明相应的 RTP负载,是用于传递 FEC信息的。扩展头中的 Identifier 字段的不同取值, 表明相应的规范, 不同的规范可能对应不同的 RTP包格式 定义。 例如 Identifier取值为 ASCII字符 "ZFEC" 时, 则表明后面跟的 RTP 负载中, 所携带的 FEC信息参数的格式遵循本实施例中的相关规定;
3、 定义 FEC信息相关参数在 RTP包中的格式。 由于 FEC信息中的部分 参数属于可选项, 为便于构造消息, 可以对信令中的参数釆用
Type-Length-Value ( TLV ) 的结构。 即基本结构如图 5所示。 首先通过 Type 字段标明不同的参数类型, 然后通过 Length字段标明该参数值的长度, 然后 在 Value字段携带具体的参数值。 如果有多个参数, 则 RTP负载中就是相应 的多个 TLV结构。 需要支持的 FEC参数如下所示:
类型( Type ) 取值(Value )
FEC编码方案, 不同的取值代表了不同的 FEC纠错
0x01
码算法。
FEC封装格式, 不同的取值代表了不同的 FEC数据
0x02
包格式。
0x03 组大小
0x04 FEC运算时的 symbol大小。
0x05 与该 RTP流对应的 FEC流的 PT值。
0x06 与该 RTP流对应的 FEC流的 SSRC值。
相应的 FEC流的端口号 (相对于 RTP流端口号的偏
0x07 移) , 没有或者取值为零的时候, 则认为 FEC流与
媒体流使用同样的端口。
0x08 FEC流的接收地址, 没有该参数时, 则默认与媒体流 的接收地址一样。
对于支持上述 RTP扩展的流媒体系统来说, 其发送端和接收端的处理流 程如下:
发送端
( 1 )根据上述对 RTP的扩展, 将 FEC相关信息封装到 RTP包中; ( 2 )使用媒体包的 RTP通道, 发送携带了 FEC相关信息的 RTP包; 这种携带了 FEC相关信息的 RTP包可以周期发送, 当 FEC相关信息发 生变化时, 则根据变化后的 FEC相关信息, 构造 RTP格式的消息包, 然后按 上述规则发送。
接收端
( 1 )接收 RTP包, 解复用出其中携带 FEC相关信息的 RTP包;
( 2 )根据所获取的 FEC相关信息, 接收 FEC数据包;
( 3 ) 当检测到媒体 RTP流发生丟包时, 利用 FEC相关信息和 FEC包, 对媒体包进行 FEC修复。
对应于以上方法, 本发明还提供了一种流媒体前向纠错实现系统, 如图
6所示, 该系统包括发送端和接收端, 其中,
发送端设置成: 釆用与媒体码流相同的传输方式发送前向纠错(FEC ) 相关信息, 所述 FEC相关信息包括 FEC编码方案标识和 FEC数据封装格式 标识;
进一步地,所述 FEC相关信息还包括组大小、通道信息、 FEC码流标识、
FEC运算单元的大小和 /或媒体码流与 FEC码流的对应关系。
接收端包括:
接收配置模块, 其设置成接收并配置所述 FEC相关信息; 以及
FEC码流处理模块, 其设置成: 按照配置后的 FEC相关信息接收 FEC 码流并解析出 FEC数据, 当检测到媒体码流丟包时, 利用所述 FEC数据进行 FEC解码修复。 进一步地, 所述发送端是设置成周期性发送所述 FEC相关信息。
进一步地, 所述 FEC相关信息有修改时, 所述发送端发送修改后的 FEC 相关信息, 所述接收端的接收配置模块接收所述修改后的 FEC相关信息后更 新本地保存的 FEC相关信息。
进一步地, 所述 FEC相关信息基于扩展的运动图像专家组(MPEG )协 议或扩展的实时传输协议(RTP )发送。
可理解的, 以上系统中所提及的功能模块是本发明区别于现有技术的相 关内容, 本技术方案中, 发送端和接收端并不排除有新的或现有的功能模块。 釆用本发明的技术方案, 可以使用户在接收媒体码流的同时, 方便地获 取到相关的 FEC相关信息, 从而顺利地实现 FEC码流的接收和修复。 同时, 当 FEC相关信息有所更改时, 也可以及时地通知用户, 作出相应的调整。
本发明中,媒体码流和 FEC码流可以分别打包,分别传输,也可以将 FEC 数据和媒体码流合并在一起打包传输。 通过带内方式传递 FEC编码和传输的 相关信息,这样只要终端能够收到媒体码流,就可以获取到相应的 FEC信息, 并可以方便的实现 FEC信息的动态更新。当媒体码流和 FEC码流分别打包传 输时,终端可以根据自己的资源情况,确定是否需要接收 FEC码流。 需要时, 就可以根据所获取的 FEC传输相关信息接收 FEC码流,并根据所获取的 FEC 数据封装信息从中解析出 FEC数据, 然后按照所获取的 FEC编码相关信息, 作 FEC解码运算, 修复码流。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。 相应地, 上述实施例中的各模块可以釆用硬件 的形式实现, 也可以釆用软件功能模块的形式实现。 本发明不限制于任何特 定形式的硬件和软件的结合。
工业实用性 与现有技术相比, 本发明流媒体前向纠错实现方法和系统通过带内方式 传递 FEC编码和传输的相关信息, 使得终端只要能够收到媒体码流, 就可以 获取到相应的 FEC信息, 并可以方便的实现 FEC信息的动态更新。

Claims

权 利 要 求 书
1、 一种流媒体前向纠错实现方法, 包括:
发送端釆用与媒体码流相同的传输方式发送前向纠错(FEC )相关信息, 所述 FEC相关信息包括 FEC编码方案标识和 FEC数据封装格式标识;
接收端接收并配置所述 FEC相关信息; 以及
所述接收端按照配置后的 FEC相关信息接收 FEC码流并解析出 FEC数 据, 当检测到媒体码流丟包时, 利用所述 FEC数据进行 FEC解码修复。
2、 如权利要求 1所述的方法, 其中, 所述 FEC相关信息还包括组大小、 通道信息、 FEC码流标识、 FEC运算单元的大小、 和 /或媒体码流与 FEC码流 的对应关系。
3、 如权利要求 1所述的方法, 其中, 发送 FEC相关信息的步骤包括: 所述发送端周期性发送所述 FEC相关信息。
4、 如权利要求 1所述的方法, 还包括: 所述 FEC相关信息有修改时, 所述发送端发送修改后的 FEC相关信息, 所述接收端接收所述修改后的 FEC 相关信息后更新本地配置的 FEC相关信息。
5、 如权利要求 1所述的方法, 其中, 发送 FEC相关信息的步骤中, 所 述 FEC相关信息基于扩展的运动图像专家组(MPEG )协议或扩展的实时传 输协议(RTP )发送。
6、 如权利要求 1 所述的方法, 还包括: 所述发送端将所述媒体码流和 FEC码流分别打包传输。
7、 一种流媒体前向纠错实现系统, 包括发送端和接收端, 其中: 所述发送端设置成: 釆用与媒体码流相同的传输方式发送前向纠错 ( FEC )相关信息,所述 FEC相关信息包括 FEC编码方案标识和 FEC数据封 装格式标识;
所述接收端包括: 接收配置模块, 其设置成接收并配置所述 FEC相关信息; 以及
FEC码流处理模块, 其设置成: 按照配置后的 FEC相关信息接收 FEC 码流并解析出 FEC数据, 当检测到媒体码流丟包时, 利用所述 FEC数据进行 FEC解码修复。
8、 如权利要求 7所述的系统, 其中, 所述 FEC相关信息还包括组大小、 通道信息、 FEC码流标识、 FEC运算单元的大小和 /或媒体码流与 FEC码流的 对应关系。
9、 如权利要求 7所述的系统, 其中, 所述发送端是设置成周期性发送所 述 FEC相关信息。
10、如权利要求 7所述的系统,其中,所述发送端还设置成: 在所述 FEC 相关信息有修改时, 发送修改后的 FEC相关信息; 所述接收端的接收配置模块还设置成: 接收所述修改后的 FEC相关信息 后更新本地配置的 FEC相关信息。
11、 如权利要求 7所述的系统, 其中, 所述发送端是设置成基于扩展的 运动图像专家组( MPEG )协议或扩展的实时传输协议( RTP )发送所述 FEC 相关信息。
PCT/CN2011/081236 2011-01-11 2011-10-25 流媒体前向纠错实现方法及系统 WO2012094915A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110004961.6A CN102595252B (zh) 2011-01-11 2011-01-11 流媒体前向纠错实现方法及系统
CN201110004961.6 2011-01-11

Publications (1)

Publication Number Publication Date
WO2012094915A1 true WO2012094915A1 (zh) 2012-07-19

Family

ID=46483383

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/081236 WO2012094915A1 (zh) 2011-01-11 2011-10-25 流媒体前向纠错实现方法及系统

Country Status (2)

Country Link
CN (1) CN102595252B (zh)
WO (1) WO2012094915A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102127685B1 (ko) * 2013-04-17 2020-06-29 삼성전자주식회사 순방향 오류 정정 패킷 송수신 장치 및 방법
CN105827361B (zh) * 2015-01-08 2019-02-22 上海交通大学 一种基于媒体内容的fec方法
CN104811651B (zh) * 2015-03-20 2017-08-25 中国人民解放军信息工程大学 电路域骚扰电话无感替换方法
CN106330392A (zh) * 2015-07-01 2017-01-11 中兴通讯股份有限公司 一种plmn信息处理方法、系统和设备
CN107483144B (zh) * 2016-06-07 2021-11-23 中兴通讯股份有限公司 前向纠错反馈信息传输方法、装置
CN110312141A (zh) * 2019-07-05 2019-10-08 杭州当虹科技股份有限公司 一种事件型互联网直播方法
EP3996302B1 (en) * 2019-09-10 2024-03-20 Huawei Technologies Co., Ltd. Message processing method and apparatus, and chip
CN112564855A (zh) * 2019-09-10 2021-03-26 华为技术有限公司 报文处理方法、装置以及芯片
CN114070458B (zh) * 2020-08-04 2023-07-11 成都鼎桥通信技术有限公司 数据传输方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1014730A1 (en) * 1998-12-23 2000-06-28 Pixstream Incorporated Forward error correction at MPEG-2 transport stream layer
CN1859580A (zh) * 2005-10-17 2006-11-08 华为技术有限公司 支持错误弹性的多媒体数据网络实时传送方法
CN101114987A (zh) * 2006-07-25 2008-01-30 中兴通讯股份有限公司 语音前向纠错信息传输在cdma2000系统中的实现方法
CN102111233A (zh) * 2009-12-28 2011-06-29 华为软件技术有限公司 一种fec数据的处理方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505202B (zh) * 2009-03-16 2011-09-14 华中科技大学 一种流媒体传输自适应纠错方法
CN101719809B (zh) * 2009-11-25 2012-10-10 中兴通讯股份有限公司 一种媒体数据包丢包恢复的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1014730A1 (en) * 1998-12-23 2000-06-28 Pixstream Incorporated Forward error correction at MPEG-2 transport stream layer
CN1859580A (zh) * 2005-10-17 2006-11-08 华为技术有限公司 支持错误弹性的多媒体数据网络实时传送方法
CN101114987A (zh) * 2006-07-25 2008-01-30 中兴通讯股份有限公司 语音前向纠错信息传输在cdma2000系统中的实现方法
CN102111233A (zh) * 2009-12-28 2011-06-29 华为软件技术有限公司 一种fec数据的处理方法、装置及系统

Also Published As

Publication number Publication date
CN102595252A (zh) 2012-07-18
CN102595252B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
US10715844B2 (en) Method and apparatus for transceiving data for multimedia transmission system
WO2012094915A1 (zh) 流媒体前向纠错实现方法及系统
KR101972951B1 (ko) 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법
KR102340240B1 (ko) 지상파 방송망과 인터넷 프로토콜망 연동 기반의 하이브리드 방송 시스템에서 방송 서비스의 송수신 방법 및 장치
JP6719481B2 (ja) ブロードキャストサービスのためのサービスシグナリングを送受信する方法及び装置
JP7400875B2 (ja) 受信装置
KR101280084B1 (ko) 인터넷 프로토콜 기반 tv 시스템에서 tv 데이터 전송 중 신뢰도를 보장하는 방법 및 장치
WO2012094994A1 (zh) 流媒体丢包重传实现方法和系统
JP6811613B2 (ja) 送信装置、送信方法、受信装置および受信方法
CN101193290A (zh) 一种mpeg-4的传输码流到互联网流媒体联盟流的实时转换系统
JP7188510B2 (ja) 送信方法および受信装置
KR101757459B1 (ko) 패킷을 처리하는 방법 및 장치
KR102451242B1 (ko) 방송 서비스 제공을 위한 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11855489

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11855489

Country of ref document: EP

Kind code of ref document: A1