WO2014047938A1 - Digital video code stream decoding method, splicing method and apparatus - Google Patents

Digital video code stream decoding method, splicing method and apparatus Download PDF

Info

Publication number
WO2014047938A1
WO2014047938A1 PCT/CN2012/082483 CN2012082483W WO2014047938A1 WO 2014047938 A1 WO2014047938 A1 WO 2014047938A1 CN 2012082483 W CN2012082483 W CN 2012082483W WO 2014047938 A1 WO2014047938 A1 WO 2014047938A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter set
video
modified
decoding
type
Prior art date
Application number
PCT/CN2012/082483
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Priority to PCT/CN2012/082483 priority Critical patent/WO2014047938A1/en
Priority to CN201280002009.5A priority patent/CN103959796B/en
Publication of WO2014047938A1 publication Critical patent/WO2014047938A1/en

Links

Classifications

    • 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/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement

Definitions

  • the present application relates to digital video splicing techniques, and more particularly to a decoding method, a splicing method and apparatus for a digital video stream. Background technique
  • the code stream splicing technology has a wide range of application scenarios. For example, operators can select personalized advertisements according to user preferences, and replace the universal advertisements in the program with personalized advertisements by stream stream splicing technology to improve the hit rate and viewing effect of advertisements, thereby improving user experience and operator revenue.
  • a video content can be divided into one or more encoded video sequences (CVS: Coded Video Sequence); one CVS contains multiple pictures (Picture); one picture can be divided into one or more pictures (Slice One or more encoded pictures at the same time are called an access unit (AU: Access Unit).
  • AU Access Unit
  • NALU network abstraction layer unit
  • Network Abstraction Layer Unit is composed of units.
  • NALU is divided into two categories: Video Coding Layer (VCL: Video Coding Layer) NALU and non-VCL NALU.
  • VCL Video Coding Layer
  • Non-VCL NALU can be further divided into: Parameter set NALU: NALU for encapsulating parameter sets, Supplemental Enhancement Information (SEI)
  • SEI Supplemental Enhancement Information
  • NALU NALU for encapsulating SEI messages.
  • the parameter set NALU includes a parameter set and a parameter set identifier corresponding to the parameter set (ID: Identifier). If the parameter set also references other parameter sets, the parameter set further includes a parameter set corresponding to the parameter set of the bow I. ID.
  • the parameter set contains header information shared by multiple VCL NALUs, such as profile and level information, video color format information, video resolution information, and the like. Parameter sets can be divided into multiple types, and different types of parameter sets contain different types of shared header information.
  • a video stream can contain one or more parameter sets of the same type.
  • a parameter set contains a parameter set ID, and the value of the parameter set ID is unique in a parameter set of the same type of a code stream.
  • Shared header information After being placed in the parameter set, the corresponding VCL NALU refers to the header information in the parameter set through the parameter set ID.
  • the parameter set was introduced by the video coding standard H.264 and is widely used by subsequent video coding standards. The purpose of introducing a parameter set is for robust and efficient transmission of header information. After the parameter set is introduced, the header information shared by multiple VCL NALUs needs to be transmitted only once, thus improving the transmission efficiency.
  • the parameter sets defined by the H.264 standard are: Sequence Parameter Set (SPS) and PPS.
  • SPS Sequence Parameter Set
  • MPEG Moving Pictures Experts Group
  • MPEG Moving Pictures Experts Group
  • VPS Video Parameter Set
  • Two parameter sets of APS Adaptation Parameter Set
  • the parameter set defined by MPEG's 3DVC Three-Dimensional Video Coding standard, in addition to SPS and PPS, includes depth range parameters.
  • Set DRPS: Depth Range Parameter Set).
  • the parameter sets defined by different video coding standards can be divided into two categories: the parameter set directly referenced by VCL NALU in the video stream and the parameter set indirectly referenced by VCL NALU. If the parameter set is a parameter set directly referenced by VCL NALU, the VCL NALU contains the parameter set ID of the parameter set; if the parameter set is a parameter set indirectly referenced by VCL NALU, the parameter set ID of the parameter set is not included in the VCL NALU, and The parameter set ID of the parameter set is included in the directly referenced parameter set of the VCL NALU or in the indirectly referenced parameter set.
  • the bitstream splicing technology receives a first video code stream (such as personal advertisement content, etc.) and a second video code stream (such as a program requested by a terminal, etc.) for the splicer.
  • the splicer sends the first video code stream to the terminal during the splicing period, and sends the second video code stream to the terminal at other time periods in the process of outputting the second video code stream for the terminal.
  • the second video and the first video are independently encoded using different encoders (second encoder, first encoder). Since the parameter set identifier (ID: Identifier) is entropy coded, the smaller the value of the parameter set ID is, the smaller the number of bits required to represent the parameter set ID is.
  • ID parameter set identifier
  • the encoder assigns the parameter set ID, it is often allocated from 0 value. Therefore, the parameter sets ID assigned by the two encoders to the same type of parameter set may be the same.
  • the second video code stream is the same as the parameter set ID of the same type of parameter set in the first video code stream, and the parameter set ID in the output video code stream cannot uniquely identify a parameter set.
  • the parameter set adopts the out-of-band transmission mode it will cause the wrong parameter set to be used in decoding, resulting in decoding errors.
  • a first The picture parameter set (PPS: Picture Parameter Set) ID in the network abstraction layer unit of the video coding layer (VCL: Video Coding Layer) of the video is the same as the PPS ID of a certain PPS of the second video.
  • the decoder may decode the first video VCL NALU using the PPS of the second video, resulting in a decoding error.
  • the prior art modifies the parameter set ID in the first video bitstream by the splicer to ensure the uniqueness of the parameter set ID in the output video bitstream.
  • the terminal receives the output video stream, decodes each VCL NALU, and obtains a parameter set referenced by the VCL NALU from the parameter set obtained by the out-of-band method according to the parameter set ID, and uses these parameter sets to decode the VCL NALU.
  • the prior art requires the splicer to have entropy decoding and entropy coding capabilities.
  • splicers in existing networks usually do not have entropy decoding and entropy coding capabilities.
  • Entropy decoding and entropy coding operations require more computing resources and storage resources, and parameter set IDs appear frequently in video streams, ie, splicing.
  • the device requires frequent entropy decoding and entropy encoding operations.
  • the invention provides a decoding and splicing method and device for a digital video code stream, which not only ensures that the correct parameter set is used when the terminal decodes the first video code stream, but also does not need to add extra on the splicer of the existing network.
  • the hardware resources, or the replacement of splicers in existing networks with new splicers, are less expensive to operate than in the prior art.
  • a first aspect of the embodiments of the present invention provides a method for decoding a digital video code stream, including: receiving a first video code stream and a parameter set identifier modification message of the first video, where the parameter set identifier modification message of the first video includes a parameter set identifier ID modification information of the first video; acquiring a parameter set ID of a parameter set for decoding a video coding layer VCL NALU of the network abstraction layer unit according to the parameter set ID modification information of the first video; Decoding a parameter set ID of a parameter set of the VCL NALU to obtain a parameter set for decoding the VCL NALU; decoding the VCL NALU according to the parameter set for decoding the VCL NALU, and outputting the decoded first video.
  • the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and an original parameter corresponding to the parameter set type of the parameter set ID to be modified.
  • the parameter set ID of the parameter set of the NALU is specifically obtained by acquiring, according to the parameter set type of the parameter set ID to be modified, a location corresponding to the parameter set type of the parameter set ID to be modified from the first video code stream.
  • the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and is used for decoding the VCL.
  • the parameter set ID modification information acquires a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
  • the parameter set ID modification information includes an original parameter set ID of a parameter set type of the parameter set ID to be modified, and a corresponding to the original parameter set ID. Decoding the parameter set ID of the parameter set of the VCL NALU;
  • the parameter set ID of the parameter set of the NALU is specifically: acquiring a parameter set of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified. ID.
  • the first video parameter set ID modification information is a parameter set type of the parameter set ID to be modified
  • the method further includes: sending a real-time transmission control protocol RTCP request to the splicer
  • the RTCP request includes a parameter set type of the parameter set ID to be modified; receiving an RTCP response returned by the splicer, where the RTCP response carries an original parameter set corresponding to a parameter set type of a parameter set ID to be modified.
  • the parameter set ID of the parameter set for decoding the VCL NALU according to the parameter set ID modification information of the first video is specifically: according to the The parameter set of the parameter set for decoding the VCL NALU corresponding to the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified carried in the RTCP response or the parameter set type of the parameter set ID to be modified ID, or from the parameter set ID modification information according to the original parameter set ID of the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID Obtaining a parameter set ID of a parameter set for decoding the VCL NALU
  • the method further includes: by means of an out-of-band method, before obtaining a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU Obtaining a modified parameter set of the first video, where the parameter set ID of the modified parameter set is a parameter set ID of a parameter set used for decoding the VCL NALU; or acquiring an original parameter set of the first video by using an outband manner; a parameter set ID for decoding a parameter set of the VCL NALU, the original parameter set of the first video carries the original parameter set ID; modifying the original parameter according to the parameter set ID of the parameter set for decoding the VCL NALU Set ID.
  • the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and the information acquisition is modified according to the parameter set ID of the first video.
  • the parameter set ID of the parameter set for decoding the VCL NALU is specifically: obtaining a parameter set ID of a parameter set for directly decoding a VCL NALU directly referenced by the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU, the method further comprising Obtaining, according to the obtained parameter set ID of the parameter set directly used by the VCL NALU for decoding the VCL NALU, the parameter set directly referenced by the VCL NALU in the first video code stream; obtaining the decoding from the directly referenced parameter set
  • the parameter set ID of the parameter set indirectly referenced by the VCL NALU of the VCL NALU; or the parameter set type of the parameter set ID to be modified is the parameter set type directly referenced by the VCL NALU and the parameter set indirectly referenced by the VCL
  • Decoding the VCL NALU according to the parameter set for decoding the VCL NALU, and outputting the decoded first video is specifically: a parameter set according to the obtained directly referenced VCL NALU and an indirect of the VCL NALU
  • the referenced parameter set decodes the VCL NALU and outputs the decoded first video.
  • a second aspect of the embodiments of the present invention further provides a method for splicing a digital video code stream, including: receiving information of a first video code stream from an application server, where information of the first video code stream includes parameters of a first video stream And modifying the information according to the first video parameter set, and sending, by the first video parameter set, the first video code stream and the parameter set identifier modification message of the first video, where the parameter set identifier modification message of the first video carries the parameter of the first video And the identifier ID modification information is obtained, so that the terminal acquires a parameter set ID of a parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and the terminal is used to decode the VCL according to the
  • the parameter set ID of the parameter set of the NALU acquires a parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the de
  • the parameter set ID modification information of the first video is a parameter set type of the parameter set ID to be modified
  • the method further includes: receiving a real-time transmission control protocol RTCP request sent by the terminal
  • the RTCP request includes the parameter set type of the parameter set ID to be modified; and returns an RTCP response to the terminal, where the RTCP response carries the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified.
  • the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and an original parameter corresponding to the parameter set type of the parameter set ID to be modified.
  • the method further includes: sending a parameter set identifier modification message of the first video that is not valid when the second video code stream is sent to the terminal; receiving a second media description information acquisition request sent by the terminal; returning the second to the terminal.
  • a third aspect of the embodiments of the present invention provides a method for splicing a digital video code stream, including: receiving media description information of a first video sent by a first content server, where media description information of the first video carries a first video The original parameter set and the parameter set of the first video and the original parameter set ID of the parameter set corresponding to each type; the media description information of the second video sent by the second content server, and the media description information of the second video The parameter set of the second video parameter set carrying the second video and the parameter set ID of the parameter set corresponding to each type; determining the parameter set ID of the first video of the same type and the parameter set of the second video The set ID is the same, and the parameter set identification modification information of the first video is determined; the information of the first video stream is sent to the splicer, where the information of the first video code stream includes parameter set identification modification information of the first video, where The parameter set modification identifier information of a video is carried in the parameter set identifier modification message of the first video, so that the splic
  • a fourth aspect of the embodiments of the present invention provides a decoding apparatus for a digital video code stream, including: a receiving module, configured to receive a first video code stream and a parameter set identifier modification message of the first video, where the parameter set of the first video
  • the identifier modification message includes parameter set identifier ID modification information of the first video
  • the first obtaining module is configured to obtain a video for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video received by the receiving module.
  • a parameter set ID of a parameter set of the coding layer VCL NALU configured to acquire a parameter for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU acquired by the first acquisition module
  • a decoding output module configured to decode the VCL NALU according to the parameter set for decoding the VCL NALU acquired by the second acquiring module, and output the decoded first video.
  • the parameter set ID modification information packet And a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified;
  • the first video code stream includes the VCL for decoding The original parameter set ID of the parameter set of the NALU;
  • the first acquiring module is specifically configured to: obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, from the first code stream Determining the original parameter set ID corresponding to the parameter set type of the modified parameter set ID; and offsetting the original parameter set ID corresponding to the original parameter set ID and the parameter set type of the parameter set ID to be modified Obtaining a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
  • the parameter set ID modification information includes a parameter set type of a parameter set ID to be modified and a parameter set ID of a parameter set for decoding a VCL NALU, where the first
  • the obtaining module is specifically configured to: obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, the use of the parameter set type corresponding to the parameter set ID to be modified from the parameter set ID modification information.
  • the parameter set ID of the parameter set for decoding VCL NALU is specifically configured to: obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, the use of the parameter set type corresponding to the parameter set ID to be modified from the parameter set ID modification information.
  • the parameter set ID modification information is an original parameter set ID of a parameter set type of the parameter set ID to be modified, and the original parameter set ID is used for decoding.
  • a parameter set ID of a parameter set of the VCL NALU; the first obtaining module is configured to: obtain the information according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified received by the receiving module The parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID.
  • a fifth aspect of the embodiments of the present invention provides a splicing apparatus for a digital video code stream, including: a receiving module, configured to receive information of a first video code stream from an application server, where the first video code stream information includes a first video a parameter set modification information, the sending module, configured to send, according to the first video parameter set modification information received by the receiving module, a first video code stream and a parameter set identifier modification message of the first video, where the first The parameter set identifier modification message of the video carries the parameter set identifier ID modification information of the first video, so that the terminal acquires the parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video.
  • the terminal acquires a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU, and the terminal decodes the VCL according to the parameter set for decoding the VCL NALU NALU and output the decoded first video.
  • a fifth aspect of the embodiments of the present invention provides a splicing apparatus for a digital video code stream, including:
  • the first receiving module is configured to receive the media description information of the first video sent by the first content server, where the media description information of the first video carries the original parameter set of the first video and the type of the parameter set of the first video and The original parameter set ID of the parameter set corresponding to each type;
  • the second receiving module is configured to receive the media description information of the second video sent by the second content server, where the media description information of the second video carries the parameter of the second video a set, a type of the second video parameter set, and a parameter set ID of the parameter set corresponding to each type;
  • a determining module configured to determine an original parameter set ID of the first video received by the first receiving module of the same type, The second video parameter set ID received by the second receiving module is the same, and the parameter set identification modification information of the first video is determined;
  • the sending module is configured to send information of the first video stream to the splicer,
  • the parameter set identifier ID modification information of the first video is modified by the parameter set identifier of the first video, so that the terminal decodes and outputs the first video according to the parameter set identifier ID modification information, thereby eliminating the need for a splicer pair.
  • the parameter set ID in each VCL NALU of a video stream is modified, not only when the terminal decodes the first video stream, but also ensures that the correct parameter set is used, and there is no need to add extra on the splicer of the existing network.
  • Hardware resources, or the replacement of splicers in existing networks with new splicers, requires less operational cost than in the prior art.
  • FIG. 1 is a network system architecture diagram of a splicing of a typical digital video code stream according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of relationship between an output video code stream, a second video code stream, and a first video code stream according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of reference between a VCL NALU and a parameter set of a video code stream complying with the HEVC standard according to an embodiment of the present invention
  • 4 is a flowchart of a method for decoding a digital video code stream according to an embodiment of the present invention
  • FIG. 5 is a flowchart of a method for splicing a digital video code stream according to an embodiment of the present invention
  • FIG. 7 is a flowchart of another method for splicing a digital video stream according to an embodiment of the present invention
  • FIG. 8 is a parameter set of a real-time transmission control protocol according to an embodiment of the present invention
  • RTCP PSIC-R Real-time Transport Control Protocol Parameter Set ID Change - Request
  • FIG. 9 is a schematic structural diagram of feedback control information (FCI: Feedback Control Information) according to an embodiment of the present disclosure.
  • FIG. 10 is another feedback control information provided by an embodiment of the present invention (FCI: Feedback Control)
  • FIG. 11 is a schematic structural diagram of still another feedback control information (FCI: Feedback Control Information) according to an embodiment of the present disclosure
  • FIG. 12 is a schematic structural diagram of still another feedback control information (FCI: Feedback Control Information) according to an embodiment of the present disclosure
  • FIG. 13 is a flowchart of a method for splicing a digital video code stream according to an example of the present invention
  • FIG. 14 is a flowchart of a method for splicing a digital video code stream according to an example of the present invention
  • FIG. 15 is a schematic structural diagram of a digital video code stream decoding apparatus according to an embodiment of the present invention
  • FIG. 16 is a schematic structural diagram of a digital video code stream splicing apparatus according to an embodiment of the present invention
  • FIG. 18 is a schematic structural diagram of a decoding apparatus or a splicing apparatus for a digital video code stream according to an embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a code stream splicing system according to an embodiment of the present invention, which mainly includes a second encoder, a first encoder, a second content server, a first content server, a splicer, a router, and a terminal.
  • the second encoder is connected to the second content server, and the second content server provides the video code stream output by the second encoder as a second video code stream to the splicer.
  • the first encoder is coupled to the first content server, and the first content server provides the video stream output by the first encoder as a first video stream to the splicer.
  • Splicer The second video stream and the first video stream are received from the second content server and the first content server, respectively. During the splicing period, the first video code stream is sent to the terminal, and the second video code stream is sent to the terminal at other time periods.
  • the video code stream (including the second video code stream and the first video code stream) sent by the splicer to the terminal is collectively referred to as an output video code stream.
  • FIG. 2 is a schematic diagram showing a relationship between an output video code stream and a second video code stream and a first video code stream according to an embodiment of the present invention. During the splicing period, the output video stream is the first video stream; at other times, the output video stream is the second video stream.
  • the starting point of the splicing period that is, the point at which the first video stream is outputted, is referred to as a splicing point;
  • the end point of the splicing period that is, the point at which the end of the output of the first video stream is ended, is referred to as a return point.
  • the splicer is usually located on a physical entity at the edge of the Internet Protocol (IP) network, such as a router or an edge media server.
  • IP Internet Protocol
  • These physical entities are usually not as intelligent as encoders and decoders, such as entropy coding and/or entropy decoding, unlike encoders and decoders.
  • the splicer and content server can be on the same physical entity or on different physical entities.
  • the application server respectively receiving media description information sent by the second content server and the first content server, and sending media description information for decoding the output video code stream to the terminal (the media description information includes parameters for decoding the received video stream) Set and parameter set ID).
  • the router acts as a device for transmitting routes.
  • the terminal receives the output video code stream sent by the splicer according to the received media description information sent by the application server, and decodes and displays the output video code stream.
  • FIG. 3 is a schematic diagram of reference between a VCL NALU and a parameter set of a video code stream complying with the HEVC standard according to an embodiment of the present invention. As shown in FIG.
  • the video code stream conforms to the HEVC standard
  • the VPS, the SPS, the PPS, and the APS respectively include the parameter set ID corresponding to the parameter set, that is, the VPS ID, the SPS ID, the PPS ID, and the APS ID, respectively.
  • PPS and APS are the parameter sets directly referenced by VCL NALU.
  • the parameters contained in PPS and APS can be directly referenced by all code fragments NALU (that is, VCL NALU) of the same picture or pictures.
  • Each VCL NALU contains the PPS ID and APS ID.
  • SPS, VPS is a parameter set indirectly referenced by VCL NALU.
  • the parameters contained in SPS can be referenced by one or more PPSs. Therefore, the PPS also contains the SPS ID.
  • the corresponding VCL NALU indirectly references the SPS through the PPS.
  • the parameters contained in the VPS can be One or more SPS references, so the SPS also contains the VPS ID, and the corresponding VCL NALU indirectly references the SPS through the PPS, and indirectly references the VPS through the SPS.
  • the value of the parameter set ID is an unsigned integer, and most parameter set IDs are entropy encoded, such as unsigned exponential Columbus encoding.
  • the purpose of entropy coding is to improve coding efficiency.
  • the characteristic of entropy coding is that the codeword obtained by coding is variable in length, and the smaller the value, the smaller the number of bits required to represent the value.
  • the application server transmits the parameter set transmission to the terminal, it needs to ensure that the decoder located in the terminal receives the parameter set referenced by the VCL NALU before receiving the VCL NALU, including the directly referenced parameter set and the indirectly referenced parameter set, so the parameter Sets are usually transmitted in an out-of-band manner.
  • the parameter set is used as a kind of media description information, which is sent to the terminal before the session is established or during the session establishment process. If the parameter set has changed during the session, the parameter set is sent to the terminal during the session change or through the notification message in the session.
  • There are various encapsulation formats for parameter sets including but not limited to the parameters of the Session Description Protocol (SDP), and the elements of the Extensible Markup Language (XML).
  • SDP Session Description Protocol
  • XML Extensible Markup Language
  • the sending of the parameter set can be based on a variety of protocol methods, including but not limited to Session Initiation Protocol (SIP), Invite, Re-Invite, SIP, and SIP notification. Info), Real Time Streaming Protocol (RTSP) Description (Describe), RTSP Notification (Notify), RTSP Play Notification (Play-Notify), RTSP Set Parameter (Set Parameter), RTSP Get Parameter (Get Parameter) Hypertext Transfer Protocol (HTTP) acquires one of the protocol methods (Get) and HTTP (Post).
  • SIP Session Initiation Protocol
  • Invite Invite
  • Re-Invite Session Initiation Protocol
  • SIP Session Initiation Protocol
  • SIP Session Initiation Protocol
  • RTSP Real Time Streaming Protocol
  • RTSP Notification Notify
  • RTSP Play Notification Play-Notify
  • HTTP Hypertext Transfer Protocol
  • FIG. 4 is a schematic diagram of a method for decoding a digital video code stream according to an embodiment of the present invention, including the following steps Step:
  • Step 401 Receive a parameter set identifier modification message of the first video code stream and the first video, where the parameter set identifier of the first video includes a parameter set identifier ID modification information of the first video.
  • the terminal receives the splicing The first video code stream sent by the device and the parameter set identifier modification message of the first video, the parameter set ID modification information including a parameter set type of the parameter set ID to be modified and a parameter set with the parameter set ID to be modified An offset of the original parameter set ID corresponding to the type; the first video code stream includes an original parameter set ID of a parameter set for decoding a video coding layer VCL NALU of the network abstraction layer unit.
  • the terminal receives the first video code stream sent by the splicer and the parameter set identification modification message of the first video, where the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified, and The parameter set ID of the parameter set for decoding VCL NALU.
  • the terminal receives the first video code stream sent by the splicer and the parameter set identifier modification message of the first video, where the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified.
  • the parameter set identification modification message of the first video is an SEI message generated by a splicer and/or in a manner of generating a supplemental enhanced SEI message, specifically a parameter set identifier modification supplementary enhanced SB message, and an adaptive parameter set identifier modification
  • the SEI message, the picture parameter set identifier modifies the SEI message.
  • the SEI message may also be another type of SEI message, which is not limited herein.
  • the parameter set identification modification message of the first video is sent to the terminal together with the first video code stream.
  • Step 402 Acquire a parameter set ID for decoding a parameter set of the VCL NALU according to the parameter set ID modification information of the first video (that is, a network abstraction layer unit VCL for decoding a video coding layer in the first video code stream.
  • the parameter set ID of the parameter set of the NALU that is, the modified parameter set ID.
  • the modified parameter set ID refers to the video coding layer used for decoding the first video code stream.
  • the parameter set ID of the parameter set of the network abstraction layer unit VCL NALU that is, the parameter set ID of the parameter set used to decode the VCL NALU);
  • the terminal acquires an original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified from the first video code stream according to the parameter set type of the parameter set ID to be modified; according to the original parameter
  • the set ID and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified acquire the VCL corresponding to the parameter set type of the parameter set ID to be modified.
  • the terminal directly according to the parameter set to be modified.
  • the parameter set type of the ID obtains, from the parameter set ID modification information, a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
  • the VCL NALU is decoded.
  • the terminal according to the parameter set type of the parameter set ID to be modified, the decoding corresponding to the parameter set type of the parameter set ID to be modified in the first video code stream for decoding
  • the parameter set ID of the parameter set of the VCL NALU; the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID is obtained according to the original parameter set ID.
  • the parameter set type of the parameter set ID to be modified includes at least one original parameter set ID
  • the parameter set type of the parameter set ID to be modified needs to be respectively corresponding to each original parameter set ID.
  • the parameter set ID modification information includes the original parameter set ID of a parameter set type of the parameter set ID to be modified, and a parameter set of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID
  • the ID of the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID is obtained by the terminal according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified.
  • Step 403 Acquire a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU.
  • the terminal acquires a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU.
  • Step 404 Decode the VCL according to the parameter set used to decode the VCL NALU.
  • NALU and output the decoded first video.
  • the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoded first video.
  • the first video parameter set ID modification information may also be a parameter set type of the parameter set ID to be modified
  • the terminal sends a real-time transmission control protocol RTCP request to the splicer.
  • the RTCP request includes the parameter set type of the parameter set ID to be modified; the terminal receives the RTCP response returned by the splicer, and the RTCP response carries the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified.
  • the set ID is specifically: according to the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified carried in the RTCP response or the parameter set type corresponding to the parameter set ID to be modified, for decoding
  • the parameter set ID modification information further includes a modification effective flag
  • the method further includes: the receiving is not effective. Determining, by the parameter set of the first video, a modification message; determining that the parameter set identifier modification message of the first video that is not in effect includes flag information indicating that the parameter set ID modification information is not valid; and sending a second media description information acquisition request to the application server; And receiving, by the application server, a second media description information acquisition response, where the second media description information acquisition response carries the modified parameter set of the first video, where the parameter set ID of the parameter set in the first video modification is The parameter set ID of the parameter set used to decode the VCL NALU.
  • the method before the acquiring the parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU, the method further includes: acquiring the first video by using an outband manner.
  • the modified parameter set, the parameter set ID of the modified parameter set is a parameter set ID of a parameter set for decoding the VCL NALU; or, the original parameter set of the first video is obtained by an out-of-band method and used for decoding a parameter set ID of a parameter set of the VCL NALU, the original parameter set of the first video carries the original parameter set ID; and the original parameter set ID is modified according to the parameter set ID of the parameter set for decoding the VCL NALU.
  • the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and the information acquisition is modified according to the parameter set ID of the first video.
  • the parameter set ID of the parameter set for decoding the VCL NALU is specifically: obtaining a parameter set ID of a parameter set for directly decoding a VCL NALU directly referenced by the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU, the method further comprising Obtaining, according to the obtained parameter set ID of the parameter set directly used by the VCL NALU for decoding the VCL NALU, a parameter set directly referenced by the VCL NALU in the first video code stream; obtaining the decoding from the directly referenced parameter set The parameter set ID of the parameter set indirectly referenced by VCL NALU of VCL NALU; or
  • the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU and a parameter set type indirectly referenced by the VCL NALU, and the parameter information is modified according to the parameter set ID of the first video.
  • the parameter set ID of the parameter set for decoding the VCL NALU is specifically: acquiring the VCL NALU for decoding the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU according to the parameter set ID modification information of the first video, respectively.
  • Obtaining the parameter set ID for decoding the VCL NALU in the parameter set ID of the parameter set of the decoded VCL NALU is specifically: acquiring the parameter set ID according to the obtained directly referenced parameter set and the parameter set ID of the indirectly referenced parameter set a directly referenced parameter set of the VCL NALU and a parameter set of the indirect reference of the VCL NALU;
  • Decoding the VCL NALU according to the parameter set for decoding the VCL NALU, and outputting the decoded first video is specifically: a parameter set according to the obtained directly referenced VCL NALU and an indirect of the VCL NALU
  • the referenced parameter set decodes the VCL NALU and outputs the decoded first video.
  • the parameter set identifier ID modification information of the first video is modified by the parameter set identifier of the first video, so that the terminal decodes and outputs the first video according to the parameter set identifier ID modification information instead of directly according to the first video.
  • the original parameter set ID in the code stream obtains a parameter set of the VCL NALU that decodes the first video code, thereby eliminating the need for a splicer for each VCL of the first video stream.
  • the parameter set ID in the NALU is modified, not only when the terminal decodes the first video stream, but also ensures that the correct parameter set is used, and there is no need to add additional hardware resources to the splicer of the existing network, or use a new one.
  • the splicer replaces the splicer in the existing network with less operational cost than is required in the prior art.
  • FIG. 5 is a flowchart of a method for splicing a code stream according to an embodiment of the present invention, including the following steps: Step 501: The second content server receives the second video code stream and the second video parameter set.
  • the second encoder encodes the second video content, and the parameter set ID can be obtained by entropy coding. And transmitting the outputted second video code stream and the acquired parameter set of the second video to the second content server.
  • Step 502 The first content server receives the first video code stream and the first video parameter set.
  • the first encoder encodes the first video content, and the parameter set ID may be acquired by entropy coding, and the output first video code stream and the acquired parameter set ID are included as the original parameter set ID.
  • the original parameters of the first video are sent to the first content server.
  • step 501 there is no temporal sequence between step 501 and step 502.
  • Step 503 The terminal sends a first media description information acquisition request message to the application server, where the first media description information acquisition request message includes a content identifier of the second content.
  • Step 504 The application server acquires media description information of the second content according to the content identifier of the second content. Including but not limited to the following information: Parameter set of the second video The type of the second video parameter set and the parameter set ID of the parameter set corresponding to each type.
  • An optional manner for the application server to obtain the media description information of the second content is: after the application server receives the media description information acquisition request message sent by the terminal, determining, according to the content identifier of the second content, that the content server where the second content is located is the second The content server, and sending a media description information acquisition request message to the second content server.
  • the media description information acquisition request message in step 503 is sent during the session establishment process, that is, a session establishment request message, specifically, a SIP Invite request message.
  • the media description information acquisition request message sent by the application server to the second content server is also a session establishment request message.
  • the second content server receives the media description information acquisition request message, determines the second video code stream, the parameter set NALU of the second video according to the content identifier of the second content, and allocates the second video code stream identification information for the second video code stream.
  • the media description information acquisition response message is a session establishment response message corresponding to the foregoing session establishment request message, such as a SIP 200 response message.
  • the media description information acquisition response message includes a parameter set of the second video and second video code stream identification information.
  • the application server obtains and stores the parameter set of the second video carried in the media description information acquisition response message.
  • the SDP is included in the media description information acquisition response message, and the parameter set NALU of the second video is included in the SDP.
  • the information in the parameter set NALU can be represented in another manner, such as using an SDP parameter or an XML element.
  • the embodiment of the present invention is not limited herein.
  • the SDP may further include a source IP address, a port, and a synchronization source identifier (S SRC Synchronization Source) of a real time transport protocol (RTP: Real Time Transport) stream carrying the second video stream, where the RTP stream carrying the second video stream is included.
  • RTP Real Time Transport
  • the media description acquisition request message in step 503 may also be used as an initialization media description information acquisition request message (such as an RTSP Describe request message, before the session is established). HTTP Get request message, etc.) is sent.
  • the media description information acquisition request message sent by the application server to the second content server is an initialization media description information acquisition request message, and the second content server receives the initialization media description information acquisition request message and sends the second video to the application server.
  • the media description information acquisition response message of the media description information is an initialization media description information acquisition response message.
  • the initial media description information acquisition response message may be an RTSP 200 response message, an HTTP 200 response message, or the like.
  • a further optional way for the application server to obtain the media description information of the second content is that the media description acquisition request message in step 503 is sent before the session is established, and before the step 504, the second content server is the second video code stream.
  • the second video code stream identification information is allocated, and the content identifier of the second content and the media description information of the second content are sent to the application server.
  • the media description information of the second content includes a parameter set of the second video and second video code stream identification information.
  • the application server may obtain the media description information of the second content from the second content server in another manner, which is not described in detail herein.
  • Step 505 The application server acquires media description information of the first content. Including but not limited to the following information: the original parameter set of the first video and the acquisition information of the first video.
  • An optional manner for the application server to obtain the media description information of the first content is that the application server sends the first video media to the first content server according to the configured address of the first content server. Describe the information acquisition request message.
  • the first content server receives the first video media description information acquisition request message sent by the application server, and sends the media description information of the first video to the application server, where the media description information of the first video includes at least the original parameter set of the first video and The information of the video stream, the type of the parameter set of the first video, and the original parameter set ID of the parameter set corresponding to each type.
  • the information of the first video stream may be used to obtain the first video from the first content server.
  • the RTSP uniform resource locator URL: Uniform Resource Locator
  • the terminal may further include the identifier of the user in the request message for sending the media description information sent to the application server in step 503, and the media sent by the application server to the first content server.
  • the obtaining request message of the description information carries the identifier of the user, so that the first content server can determine the first content for the user according to the identifier of the user, and determine the parameter set of the first video and the obtained information of the first video code stream. Sent to the application server.
  • Step 506 The application server modifies the original parameter set ID of the first video, where the original parameter set ID of the first video is the parameter set ID included in the original parameter set of the first video in step 505.
  • the application server determines, for each type of parameter set ID, whether the original parameter set ID of the first video of the type is the parameter set ID of the second video of the type. The same, if the same, you need to modify the original parameter set ID of the first video of this type. This process is described by taking the same original parameter set ID of the first video of the type and the parameter set ID of the second video of the type as an example.
  • the application server determines the offset of the original parameter set ID of the first video of the type, and adds the value of the original parameter set ID of the first video of the type plus the offset of the original parameter set ID as the first of the type.
  • the parameter set ID of the video for decoding the parameter set of the VCL NALU; or the application server directly assigns a new value to the original parameter set ID of the first video of the type, the new value of the allocation is the same as all the same type
  • the parameter set ID of the two videos is different, and the original parameter set IDs of all other first videos of the same type are also different, and the assigned new value is used as the parameter set ID of the parameter set for decoding the VCL NALU (ie, Decoding the parameter set ID of the parameter set of the VCL NALU in the first video bitstream).
  • the application server determines whether the original parameter set ID of the first video of the type is the same as the parameter set ID of the second video of the type, and the application server is the first type of the type.
  • the original parameter set ID of the video is compared to the parameter set ID of all second videos of the type, if the original parameter set ID of the first video of the type is the same as the parameter set ID of one of the second videos of the type.
  • the application server determines that the original parameter set ID of the first video of the type is the same as the parameter set ID of the second video of the type.
  • an optional manner for the application server to determine an offset of the original parameter set ID of the first video of the certain type is: the application server determines a maximum value of all parameter IDs of the second video of the type, all the types The minimum value in the original parameter set ID of the first video, the difference between the maximum value of the parameter set IDs of all the second videos and the minimum value of the original parameter set IDs of all the first videos is calculated, and the application server compares the difference The sum of the value and a positive integer is the offset of the original parameter set ID of the first video of that type. Specifically, as an alternative, the positive integer is 1.
  • the offset can be applied to the original parameter set ID of the first video of the type, and the original parameter set ID of the first video of the different types can be set to different offsets, which is not limited herein.
  • Step 507 The application server sends a first media description information acquisition response to the terminal, where the parameter set of the second video and the parameter set of the first video are included.
  • the SDP is included in the first media description information acquisition response message
  • the parameter set of the second video is included in the SDP (may be a set of parameter encapsulation parameters of the NALU, and may also be other forms, and the implementation of the present invention includes no special It is indicated that NALU is only used as an optional example and does not limit the encapsulation form of the parameter set), the modified parameter set of the first video.
  • the parameter set ID of the modified parameter set of the first video is the parameter set ID of the parameter set of the first video for decoding the VCL NALU, specifically, the value of the original parameter set ID of the first video plus the original parameter set.
  • the offset of the ID, or the value assigned by the application server directly to the parameter set ID of the parameter set of the first video used to decode the VCL NALU.
  • Steps 501-507 In the method for the terminal to acquire the second video parameter set and the first video parameter set, the terminal is a parameter set obtained from outside the video code stream, and thus may be referred to as an out-of-band mode (or called an external mode). Steps 501-507: The method for the terminal to acquire the second video parameter set and the first video parameter set is only an optional manner in which the terminal acquires the second video parameter set and the first video parameter set in an outband manner, and the terminal may also adopt another The method obtains the second video parameter set and the first video parameter set in an out-of-band manner, and the embodiment of the present invention is no longer detailed.
  • Step 508 The application server sends the second video code stream information and the first video code stream information to the splicer.
  • the second video code stream information includes the second video code stream identification information
  • the first video code stream information includes: the first video code stream acquisition information and the first video parameter set ID modification information (eg, The parameter set type of the parameter set ID of the first video to be modified and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, or the parameter set type of the parameter set ID to be modified and the application server to be modified
  • the parameter set ID that is, the parameter set ID of the parameter set for decoding the VCL NALU allocated by the application server for the parameter set ID to be modified
  • the parameter set ID modification information of the first video is the parameter set ID modification information of the parameter set type directly referenced by the VCL NALU of the first video, that is, the parameter set type of the parameter set ID of the first video to be modified can only be The parameter set type directly referenced by VCL NALU.
  • Step 508 is an example in which the parameter set modification information of the first video includes the parameter set type of the parameter set ID of the first video to be modified and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified.
  • the acquiring information of the first video code stream may be an RTSP URL for acquiring the first video code stream to the first content server, where the second video code stream identification information may be an RTP stream for carrying the second video code stream.
  • the parameter set type of the parameter set ID of the first video to be modified may be a parameter set type represented by a three-byte text form, for example, vps,,, "sps,,," pps ,,,, "aps” respectively represent the parameter set types as VPS, SPS, PPS, and APS.
  • the parameter set ID offset can be a 1-byte unsigned integer.
  • the second video stream and the first video stream information can be as shown in Table 1 (ie, the video configuration information table):
  • the source IP address in the second video code stream identification information is 219.133.0.1, the port is 49170, and the SSRC is 1234.
  • the information about the first video stream corresponding to the second video stream is rtsp: ⁇ example. Com/fizzle/foo;
  • the application server determines the VPS, SPS, PPS in the first video,
  • the ID of the APS needs to be modified, and the offset of the original parameter set ID of each type of the first video is 1, that is, when the parameter set ID of the first video parameter set of the corresponding type is modified, all the original parameter set IDs are The value is incremented by 1 to the value of the parameter set ID of the corresponding parameter set for decoding the VCL NALU.
  • Table 1 only contains 2 parameter set ID modification information, that is, parameter set ID modification information of PPS and parameter set ID modification information of APS. It should be noted that the offset of the original parameter set ID in the above example is 1, for the sake of simplification of the example, and does not mean that the parameter set ID offsets of different types of parameter sets are the same.
  • steps 507 and 508 have no prioritization in time.
  • Step 509 The second content server sends a second video code stream to the splicer.
  • the splicer is located at the edge router, the destination IP address of the RTP stream carrying the second video stream, the port is a multicast IP address, and the port, and the RTP stream carrying the second video stream is sent to the splicing based on the network routing policy.
  • the second content server acquires a multicast IP address and port allocated by the network management system for the second video code stream.
  • the second content server obtains the IP address and port of the splicer.
  • the session establishment request message sent by the application server to the second content server in step 504 is taken as an example for description. Specifically, the second content server obtains the IP address and port of the splicer from the session establishment request message sent by the application server to the second content server in step 504.
  • Step 510 The splicer sends the second video code stream as an output video code stream to the terminal.
  • the port is the IP address of the splicer, and the port.
  • the splicer changes the destination IP address and port ⁇ in all IP packets carrying the second video stream to the IP address and port of the corresponding terminal.
  • Step 511 The terminal acquires VCL NALU from a parameter set obtained in an out-of-band manner (the out-of-band manner is from the second video stream) according to the parameter set ID in the VCL NALU of the received second video code stream.
  • the referenced parameter set ie, the parameter set of the VCL NALU used to decode the second video stream
  • Step 512 The splicer according to the second video code stream identification information from the video configuration information table, that is, Table 1 The obtaining information of the first video code stream is found, and the first video code stream is obtained according to the obtaining information of the first video code stream.
  • the splicer determines whether splicing preparation is required. If splicing preparation is required, the splicer acquires the first video code stream from the first content server.
  • An optional manner for determining whether the splicing preparation is required is: the media description information of the second content obtained by the application server in step 504, and the second video code stream information sent by the application server to the splicer in step 508 further includes a splicing point.
  • the time information is determined by the splicer according to the pre-configured preparation threshold (the interval between the time point for starting the splicing preparation and the splicing point), whether the splicing preparation is required, that is, whether the first video code stream is obtained from the first content server.
  • the splicer sets the time for starting the splicing preparation to be the time information of the splicing point minus the preparation threshold. If the current time has reached the time for starting the splicing preparation, the splicer needs to perform the splicing preparation.
  • the format of the time information may be hh:mm:ss.fff, where hh represents hours, mm represents minutes, ss represents seconds, and fff represents milliseconds.
  • the time information of the splicing point is 01:01:01.001 for 1 hour, 1 minute, 1 second, and 1 millisecond.
  • the preparation threshold is 500, which means 500 milliseconds.
  • the time to start the stitching preparation is 01:01:00.499 for 1 hour, 1 minute, and 499 milliseconds. If the current time is equal to or later than 01:01:00.499, the splicing preparation is required to acquire the first video code stream from the first content server.
  • Another alternative method for determining whether the splicing preparation is required is that the second content server sets the time for starting the splicing preparation. If the current time has reached the time for starting the splicing preparation, the RTP belongs to the RTP stream that carries the second video stream. The packet header is inserted into the repare tag to instruct the splicer to prepare for splicing. The splicer checks whether the RTP header corresponding to the second video stream contains a prepare tag. If yes, the splicing preparation is required to obtain the first video stream from the first content server.
  • Step 513 The splicer generates a parameter set identifier ID modification message of the first video, where the first video parameter set ID modification information is included.
  • the parameter set identifier modification message may be a Parameter Set ID Change Info SEI message, or a PPS ID Change Info SEI message and/or an APS identifier modification information SEI.
  • the APS ID Change Info SEI message where the parameter set identification modification information SEI message may carry one or more modification information of the parameter set type of the parameter set ID to be modified, and the PPS identification modification information SEI message includes only the parameter to be modified.
  • the parameter set type of the set ID is the repair of the PPS
  • the APS identification modification information SEI message includes only the modification information of the parameter set type of the parameter set ID to be modified as APS.
  • the splicer determines whether the video configuration information table (ie, Table 1) includes the first video parameter set ID modification information corresponding to the second video code stream identification information, such as the parameter set type of the ID to be modified. And a parameter set ID offset corresponding to the parameter set type of the modified ID.
  • Table 1 the video configuration information table
  • the splicer If the video configuration information table includes the first video parameter set ID modification information corresponding to the second video code stream identification information, the splicer generates a parameter set identifier modification message of the first video (specifically, the splicer adopts a method for generating an SEI message)
  • the SEI message is generated, such as the parameter set identifier modification supplementary enhancement information SEI message, and the adaptive parameter set identifier modification SEI message or the picture parameter set identifier modification SEI message may also be another type of SEI message, which is not limited herein. ).
  • the parameter set type of the parameter set ID to be modified is the parameter set ID modification information of the first video of the parameter set type directly referenced by the VCL NALU.
  • the parameter set ID of the modified parameter set of the first video sent by the application server to the terminal in the outband manner is the parameter set ID of the parameter set for decoding the VCL NALU, and the terminal obtains the VCL NALU directly.
  • the parameter set ID of the parameter set indirectly referenced by the VCL NALU in the parameter set directly referenced by the VCL NALU is the parameter set ID of the parameter set used to decode the VCL NALU. Therefore, the parameter set ID modification information of the parameter set type indirectly referenced by the VCL NALU by the application server is not sent to the splicer, and is sent to the terminal by the splicer through the parameter set ID modification message.
  • the parameter set modification information of the first video includes the parameter set type of the parameter set ID of the video to be modified and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified.
  • the method for generating the parameter set identifier modification information SEI message as the parameter set identifier modification message may be:
  • the splicer obtains the first video parameter set ID modification information from the video configuration information table, and includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified.
  • the first video parameter set type of the parameter set ID to be modified only contains the parameter set type directly referenced by the VCL NALU.
  • the splicer generates the parameter set identification modification information SEI message according to the obtained first video parameter set ID modification information.
  • the first encoder is an encoder that complies with the HEVC standard, that is, the parameter set type directly referenced by the VCL NALU includes PPS and APS as an example.
  • the splicer when the first video parameter set type of the ID to be modified includes the PPS and/or the APS, the splicer generates the parameter set identifier modification information SEI message.
  • the parameter set identification modification information SEI message includes two flags (flag): a picture parameter set identification change flag (pps_id_change_flag), and an adaptive parameter set identification change flag (aps_id_change_flag), which are respectively used to indicate the parameter set ID of the corresponding type parameter set (That is, whether the PPS ID and APS ID need to be modified. If the parameter set ID of the corresponding type parameter set needs to be falsified, the parameters ps id change flag and aps id change flag have a value of 1.
  • the parameter set identifier modification information SEI message further includes an offset of the original parameter set ID of the parameter set type of the parameter set ID to be modified. If the ID of the corresponding type parameter set needs to be modified, the values of the parameter ps id change flag and the aps id change flag are equal to 1.
  • the format of the parameter set identification modification information SEI message is as shown in Table 2:
  • the parameter aps id change flag has a value of 1, indicating that the APS ID needs to be modified.
  • the value of the parameter ps id change flag is 1, indicating that the PPS ID needs to be modified.
  • the descriptor ( Descirptor ) u(l) indicates that the parameters aps id change flag and ps id change flag occupy one bit.
  • the parameter aps_id_diff (adaptive parameter set identifier offset) carries the offset of the original parameter set ID corresponding to the APS
  • the parameter ps_id_diff (picture parameter set identifier offset) carries the offset of the original parameter set ID corresponding to the PPS.
  • u(5) indicates an unsigned integer represented by 5 bits
  • u(8) indicates an unsigned integer represented by 8 bits.
  • the PPS identification modification information SEI message and the APS identification modification information SEI message may be separately generated as the parameter set identification modification message for the change of the PPS ID and the change of the APS ID.
  • the PPS identifier modification information SEI message carries the offset of the original parameter set ID corresponding to the PPS, and the message format is as follows: Table 3 shows:
  • the parameter pps_id_diff carries the offset of the original parameter set ID corresponding to the PPS.
  • the APS identification modification information SEI message carries the offset of the corresponding original parameter set ID, and its message format: ⁇ Table 4:
  • the parameter aps_id_diff carries the offset of the original parameter set ID corresponding to the APS.
  • the splicer only generates the PPS identification modification information SEI message; if the first video parameter set type of the ID needs to be modified, APS, excluding PPS, the splicer only generates the APS identification modification information SEI message; if the first video parameter set type of the ID needs to be modified to include both PPS and APS, the splicer can separately generate the PPS identification modification information SEI message and the APS identification modification. Information SEI message.
  • the first video parameter set type that needs to be modified ID includes both PPS and APS
  • the splicing can generate a parameter set identifier modification information SEI message
  • the parameter set identification information SEI message includes PPS and APS modification information.
  • Step 514 The splicer sends a parameter set identifier modification message (such as a parameter set identifier modification information SEI message) of the first video to the terminal, and the first video code stream, that is, the splicer modifies the parameter set identification message of the first video with the first The video stream is sent to the terminal together.
  • a parameter set identifier modification message such as a parameter set identifier modification information SEI message
  • the splicer Before performing the step 514, the splicer further determines whether the splicing point is reached, and sends the parameter set identification modification message and the first video code stream to the terminal when the splicing point is reached. Specifically, an optional manner of determining whether the splicing point is reached is: the splicer determines whether the current time of outputting the second video code stream has reached the starting point of the splicing point period, and if the starting point of the splicing period has been reached, the splicing point is considered to be reached. .
  • Another alternative way of determining whether the splicing point is reached is that the second content server inserts a slice tag into the header of the RTP packet corresponding to the second video stream before the splicing point and specifies a distance splicing point in the slice tag.
  • the splicer checks whether the RTP header corresponding to the second video stream contains a slice tag and the time at which the splicing point is specified is 0. If it is included, it indicates that the splicing point is reached.
  • the parameter set identification modification message is sent at least with the random access point (RAP: Random Access Point) and applied to all pictures between the associated RAP and the next RAP.
  • RAP random access point
  • the RAP is a picture in the middle of the code stream that only uses intra prediction, and the decoder can start the decoding process from the picture.
  • the splicer inserts the NALU encapsulated with the parameter set identification modification message into the associated RAP AU separator NALU, before the VCL NALU in the first video code stream.
  • Step 515 After receiving the parameter set identifier modification message (such as the parameter set identifier modification information SEI message) of the first video and the first video code stream, the terminal modifies the message according to the parameter set identifier of the first video (such as the parameter set identifier modification information SEI).
  • the terminal modifies the message according to the parameter set identifier of the first video (such as the parameter set identifier modification information SEI).
  • Message Determine the parameter set ID of the parameter set referenced by the VCL NALU in the first video stream (ie, the parameter set ID of the parameter set used to decode the VCL NALU).
  • the parameter set whose parameter set ID is the determined parameter set ID is obtained from the parameter set obtained by the out-of-band method according to the determined parameter set ID, that is, the parameter set of the VCL NALU used for decoding the first video code stream.
  • the parameter set identifier modification message of the first video is used as the parameter set identifier modification information SEI message, and the parameter set type directly referenced by the VCL NALU includes PPS and APS as an example for description.
  • Modifying information according to the parameter set identifier The SEI message determines the parameter set ID of the parameter set referenced by the VCL NALU and the method of the parameter set may be:
  • the terminal first identifies the modification information according to the parameter set identifier.
  • the SEI message determines the parameter set ID of the parameter set directly referenced by the VCL NALU, and then obtains the parameter set directly referenced by the VCL NALU from the parameter set obtained by the out-of-band method according to the parameter set ID.
  • the terminal confirms that the parameter set identification information SEI message carries the APS ID change flag, such as the parameter aps id change flag value in the message is 1, or other identifier.
  • the APS ID from the received VCL NALU of the first video stream, that is, the original parameter set ID of the adaptive parameter set referenced by the VCL NALU (ie, the original aps id of the aps id), and according to the APS ID.
  • Original The value and the parameter set identification modification information SEI message offset from the original parameter set ID corresponding to the APS calculates a new value (ie, the value of the parameter set ID used to decode the parameter set of the VCL NALU).
  • the original value + the offset of the original parameter set ID corresponding to the APS takes a new value, and uses the new aps id as a reference_aps_id (reference adaptive).
  • the value of the parameter set identifier is obtained, and then the APS including the aps_id which is the same as the reference_aps_id (that is, the same as the new_aps_id) is obtained from the parameter set obtained by the outband method, that is, the parameter set for decoding the VCL NALU in the first video bitstream.
  • the parameter set for decoding the VCL NALU in the first video bitstream from the parameter set obtained by the outband mode according to the value of the reference adaptive parameter set identifier is specifically:
  • the terminal obtains the parameter set NALU from the media description information obtained in step 507. according to
  • the nal_unit_type in the NALU header determines the type of the parameter set in the NALU. Different types of parameter sets have different formats, and the parameter set type must be determined before the parameter set can be parsed according to the corresponding format. If the type of the parameter set is APS, get the aps id in it. If the asp_id is equal to the reference aps id, that is, the parameter set corresponding to the asp_id is the APS for decoding the VCL NALU in the first video bitstream; otherwise, the next parameter set NALU is processed until the aps_id is equal to the reference aps id. APS.
  • the terminal confirms the parameter set identification modification information, and the SEI message carries the PPS ID change flag, and obtains the offset of the original parameter set ID corresponding to the PPS from the parameter set identifier modification information SEI message.
  • the terminal obtains the original parameter set ID of the PPS referenced by the VCL NALU from the VCL NALU of the received first video stream, and calculates a new value according to the original parameter set ID and the offset of the original parameter set ID corresponding to the PPS. And taking the new value as the value of the modified PPS ID (reference picture parameter set identifier), and obtaining the PPS of the modified PPS ID obtained from the parameter set NALU in step 507.
  • the terminal then obtains the parameter set indirectly referenced by VCL NALU, such as SPS and VPS, according to the parameter set ID indirectly referenced by VCL NALU contained in the parameter set directly referenced by VCL NALU.
  • VCL NALU such as SPS and VPS
  • the SPS including the same sps id as the sps id in the PPS is obtained from the parameter set NALU obtained in step 507 according to the sps_id in the PPS; and the parameter set NALU is obtained from the step 507 according to the vps_id in the SPS.
  • the VPS of the same vps id as the vps id in the SPS is obtained from the parameter set NALU obtained in step 507 according to the sps_id in the PPS.
  • Both the parameter set directly referenced by the VCL NALU and the parameter set indirectly referenced by the VCL NALU serve as a parameter set for decoding the VCL NALU of the first video stream.
  • the terminal does not generate the parameter set identification modification information SEI message in step 513, but generates the PPS identification modification information SEI message and the APS identification modification information SEI message respectively, then in step 515, The terminal determines a parameter set ID of the PPS referenced by the VCL NALU according to the PPS identifier modification information SEI message, and determines a parameter set ID of the APS referenced by the VCL NALU according to the APS identifier modification information SEI message, and according to the determined parameter set ID of the PPS And the parameter set ID of the APS obtains the parameter set ID of the PPS and the PPS and APS of the parameter set ID of the APS from the parameter set obtained by the outband mode, and acquires the SPS according to the sps id in the PPS; according to the SPS The
  • the specific acquisition method is the same as the method for obtaining the SEI message according to the parameter set identification modification information.
  • the embodiment of the present invention is not described in detail herein.
  • Step 516 Using a parameter set obtained from a parameter set obtained by an out-of-band method (for example, using the first encoder as an encoder conforming to the HEVC standard, including APS, PPS, SPS, and VPS) to the first video stream.
  • the VCL NALU in the decoding is performed.
  • the splicer only needs to generate the parameter set identifier.
  • the modification message such as (parameter set identification modification information SEI message, or PPS identification modification information SEI message and/or APS identification modification information SEI message).
  • the parameter set identifier modification information carries the parameter set ID modification information of the first video, and the terminal determines the parameter set ID of the parameter set used for decoding the VCL NALU according to the parameter set identifier modification message, without directly modifying the first video stream by using the splicer.
  • the parameter set ID in .
  • the splicer Since the operation of generating the parameter set identification modification message is relatively simple, the splicer does not need entropy decoding and entropy coding capability and the operation frequency is low, so only a small amount of computing resources and storage resources are needed. This requires only a simple upgrade of the splicer in the existing network, without the need to add additional hardware resources to the splicer in the existing network, or to replace the splicer in the existing network with a new splicer. Therefore, operators need less operating costs than the prior art.
  • the application server modifies the first video parameter set parameter set ID in step 506, and then transmits the first video parameter set including the modified parameter set ID to the terminal in step 507.
  • the application server may not modify the parameter set ID of the first video parameter set, and the media description information acquisition response sent to the terminal in step 507 indicates that the first video parameter set is used for The parameter set ID of the parameter set that decodes the VCL NALU. That is, the media description information acquisition response sent by the application server to the terminal includes a parameter set of the second video, an original parameter set of the first video, and an original parameter set of the first video for decoding the VCL.
  • the parameter set ID of the NALU parameter set, where the original parameter set of the first video is the application server in the step
  • the media description information sent to the terminal in step 507 is taken as an SDP format as an example.
  • the application server obtains a set of sub-parameters of the parameter sprop-parameter-sets (flow characteristic parameter set) in the SDP in the media description information in the media description information: ⁇ parameter set id>: ⁇ parameter set data > to carry a parameter set NALUc
  • parameter set type is a three-byte text representing the type of the parameter set.
  • the parameter set id is a 1-byte unsigned integer representing the value of the parameter set ID.
  • the value of this field can be different from the value of the original parameter set ID in the parameter set NALU. If the value of the parameter set id is different from the value of the original parameter set ID in the parameter set NALU, the value of the parameter set id field is used as the parameter set ID of the parameter set used to decode the VCL NALU.
  • the original parameter set is a set of sub-parameters of the parameter sprop-parameter-
  • the ID is the parameter set ID in the parameter set NALU sent by the first content server to the application server in step 502, that is, the parameter set ID of the first video that has not been modified.
  • the parameter set id is the parameter set ID of the parameter set that needs to be used to decode the VCL NALU.
  • the parameter set data is the Base64 (basic 64 character) encoded parameter set NALU.
  • the carried parameter set NALU is a parameter set NALU sent by the first content server to the application server.
  • the parameter sprop-parameter-sets can contain multiple sets of sub-parameters to carry multiple parameter sets NALU. If parameter-sets contains multiple sets of sub-parameters to carry multiple parameter sets NALU, each set of sub-parameters is separated by the character ",".
  • step 507 the SDP example of the parameter set NALU sent by the application server to the terminal is as follows:
  • the second video parameter set NALU received by the application server includes a VPS NALU, an SPS NALU, a PPS NALU, and an APS NALU, corresponding parameter sets.
  • the VPS ID, SPS ID, PPS ID, and APS ID in the NALU are both 0.
  • the first video parameter set NALU received by the application server also includes a VSP NALU, an SPS NALU, a PPS NALU and an APS NALU, and the VPS ID, SPS ID, PPS ID, and APS ID in the corresponding parameter set NALU are also 0. .
  • the SDP carries eight parameter sets NALU, and the first to fourth sets of sub-parameters carry the parameter set NALU of the second video, and the corresponding parameter set types are VPS, SPS, PPS, APS; the parameter set of the second video parameter set The ID does not need to be modified, so the corresponding sub-parameter arameter set id in the SDP is 0, and the parameter set ID in the parameter set NALU in the corresponding parameter set data is 0; the fifth to eighth sub-parameters carry the first video.
  • the parameter set ID of the first video parameter set needs to be modified and the new value is all 1, so the corresponding sub-parameter parameter set id in the SDP is 1, but the parameter in the parameter set NALU in the corresponding parameter set data
  • the set ID is 0.
  • the parameter set modification information of the first video includes the parameter set type of the parameter set ID of the first video to be modified and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified as an example. Be explained.
  • the parameter set ID in the original parameter set NALU of the first video sent by the application server to the terminal in step 507 is the original parameter set ID of the first video
  • the VCL NALU is directly
  • the parameter set ID of the parameter set indirectly referenced by the VCL NALU in the referenced parameter set is the original parameter set ID. Since the parameter set ID is based on the parameter set ID indicated in the media description response message, the terminal cannot pass the original parameter set ID.
  • the parameter set obtained in the parameter set acquired in the outband manner obtains the correct parameter set. Therefore, in step 508, the parameter set ID modification information of the first video further includes the parameter set ID modification information indirectly referenced by the VCL NALU.
  • the parameter set identification modification message also needs to include the parameter set ID modification information of the VCL NALU indirect reference.
  • the first encoder is an encoder that complies with the HEVC standard, that is, the parameter set type indirectly referenced by VCL NALU includes SPS and VPS as an example.
  • the parameter set identification modification information SEI message also needs to include vps_id_change_flag (video parameter set identification change flag), sps_id_change_flag (sequence parameter set identification change identifier), if the parameter set type of the parameter set ID to be modified includes vps, the splicer sets vps_id_change_flag to 1 And passing the corresponding parameter set ID offset by vps id diff (video parameter set identifier offset); if the parameter set type of the parameter set ID to be modified includes sps, the splicer sets sps_id_change_flag to 1, and identifies by the parameter sequence parameter set The offset (sps_id_diff ) passes the corresponding parameter set ID offset. That is, in this way, the format of the parameter set identification modification information SEI message is as shown in Table 5:
  • Table 5 The description of the parameters of the fifth table is the same as that of the second embodiment. The embodiment of the present invention is not described in detail herein.
  • Each parameter set NALU is stored in a parameter set NALU record table, and the format of the parameter set NALU record table is as shown in Table 6.
  • Parameter set type parameter set id parameter set data where, as described above, arameter set type represents the parameter set type, arameter set id represents the parameter set ID of the parameter set used to decode the VCL NALU, and the parameter set data is the Base64 encoded modified parameter.
  • the parameter set NALU record table is as follows. Table 7 shows
  • step 515 after receiving the parameter set identification modification information SEI message, the terminal obtains the reference aps id and the reference_pps_id according to the parameter set identifier tamper information SEI message, and takes the reference aps id and the reference_pps_id from the parameters learned by the sufficiency method.
  • the centralized capture contains the aps id as the reference aps id APS, including the ⁇ ps id as the reference_pps_id PPS.
  • the sps_id included in the PPS is obtained, that is, the original_sps_id, and the reference information is modified according to the parameter set identifier SEI message to obtain the reference_sps_id (reference sequence parameter set identifier value), and the included sps id is obtained from the parameter set obtained by the outband method according to the reference aps id.
  • SPS for reference sps id SPS for reference sps id.
  • the vps id in the SPS is taken as the original_vps_id, and the reference information is modified according to the parameter set identifier SEI message to obtain the reference_vps_id (reference video parameter set identifier value), and the included parameter is obtained from the parameter set obtained by the outband method according to the reference vps id.
  • the reference parameter set is obtained by using a reference aps id , a reference_pps_id, a reference sps id, or a reference vps id
  • the parameter set type is obtained from the parameter set NALU record table and the arameter set id is equal to the reference aps id , reference_pps_id, Reference sps id or reference vps id
  • the NALU record extracts the corresponding Base64 encoded parameter set NALU from the parameter set data of the record, and then decodes the VCL NALU.
  • the splicer may directly include the new value of the corresponding parameter set ID in the Parameter Set ID Change Info SEI message instead of the corresponding parameter set ID. Offset.
  • the splicer may directly include the modified PPS in the PPS identification modification information SEI message or the APS identification modification information SEI message.
  • the terminal directly obtains the corresponding parameter set ID from the parameter set identification modification message of the first video to determine the parameter set ID of the parameter set used to decode the VCL NALU.
  • the parameter set ID modification information of the first video in step 508 is a parameter set type of the parameter set ID to be modified and a parameter set ID of a parameter set for decoding the VCL NALU, where The parameter set ID of the parameter set of the VCL NALU is the value of the modified parameter set ID assigned by the application server for the parameter set ID to be modified.
  • a parameter set including a first video in which the parameter set ID is modified in the SDP is adopted.
  • NALU is taken as an example for illustration.
  • the splicer is sent to the terminal.
  • the parameter APS identifier change identifier (aps_id_change_flag) has a value of 1, indicating that the APS ID needs to be modified
  • the parameter PPS identifier change identifier (pps_id_change_flag) has a value of 1, indicating that the PPS ID needs to be modified.
  • Descirptor:u(l) indicates that the parameters aps_id_change_flag and pps_id_change_flag occupy one bit.
  • the parameter new_aps_id carries the modified APS ID
  • the parameter new_aps_id carries the modified PPS ID.
  • Descirptor: u(5) indicates an unsigned integer incremented by a 5-bit table
  • u(8) indicates an unsigned integer represented by 8 bits.
  • the message format is similar to that of the table 8, which is not described in detail in the embodiment of the present invention.
  • step 507 the original parameter set NALU and the original parameter set including the first video in the SDP are adopted.
  • the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the NALU is taken as an example for description.
  • the parameter set identifies the modification information.
  • the format of the SEI message is as shown in Table 9:
  • the first video may also be determined in the middle of the session process.
  • the address of the first content server needs to be pre-configured on the splicer.
  • the splicer determines that splicing preparation is required, the first video code stream is requested from the first content server.
  • the terminal only has a parameter set of the second video in the media description information obtained before the session is initiated or the session is established, and the terminal needs to re-acquire the media set including the parameter set of the second video and the parameter set of the first video in the middle of the session. Description. Referring to FIG. 6, another flowchart of a code stream splicing method provided by an embodiment of the present invention includes the following steps:
  • Step 606 The application server sends a first media description information acquisition response message to the terminal, where the media description information includes a parameter set of the second video.
  • the steps 607-609 are the same as the steps 509-511, and the embodiments of the present invention are not described in detail herein.
  • Step 610 The splicer sends a first video acquisition request to the first content server according to the configured address of the first content server, where the first video acquisition request further includes a user identifier and second video code stream identification information.
  • the splicer determines whether splicing preparation is required. If splicing preparation is required, the splicer sends a first video acquisition request to the first content server.
  • step 512 For the method of determining whether the splicer needs to be spliced, refer to the description of step 512, and the embodiment of the present invention will not be described in detail herein.
  • Step 611 The first content server determines the first video code stream, and sends the first video code stream to the splicer.
  • the first video acquisition request sent by the splicer in step 608 received by the first content server includes the identifier of the terminal user, the first content.
  • the server acquires the user preference of the terminal user according to the identifier of the terminal user, selects the first video according to the acquired user preference, and determines the first video code stream.
  • the first content server may further acquire an insertion policy of the second content according to the identification information of the second video stream, select the first content according to the insertion strategy, and determine the first video. Code stream.
  • the first video acquisition request in step 608 needs to include the identification information of the second video stream.
  • the first content server can also select the first content based only on the stored business policy.
  • the first content server may determine the first video bitstream in another manner, which is not described in detail herein.
  • Step 612 The first content server sends the media description information of the first video to the application server, where the media description information of the first video includes an original parameter set of the first video, a type of the parameter set of the first video, and a type corresponding to each type.
  • the original parameter set ID of the parameter set is a parameter set of the parameter set.
  • Step 613 The application server modifies the original parameter set ID of the first video.
  • the application server determines, according to the identifier of the terminal user or the second video code stream identification information, the description information of the second video corresponding to the received media description information of the first video.
  • the specific method of the application server to modify the original parameter set ID of the first video is the same as the step 506, and the embodiment of the present invention will not be described in detail herein.
  • Step 614 The application server sends the second video code stream and the first video code stream information to the splicer.
  • the second video code stream information is the second video code stream identification information
  • the first video code stream information is the first video parameter set ID modification information.
  • Step 615 The splicer generates a parameter set identifier modification message (such as a parameter set identifier modification information SEI message) that is not valid according to the first video parameter set ID modification information, and the parameter set identifies the modification message except the parameter of the first video.
  • a parameter set identifier modification message such as a parameter set identifier modification information SEI message
  • the parameter set identifies the modification message except the parameter of the first video.
  • the flag information indicating that the parameter set ID modification information is not valid is further included.
  • the parameter set identifier modification message includes only the parameter set ID modification information corresponding to the parameter set type directly referenced by the VCL NALU, and the parameter set identifier modification message is the parameter set identifier modification information SEI message as an example.
  • the modification information validation flag (change_info_enable_flag) is included in the example, and the value of the flag is set to 0.
  • other methods such as taking the value, F, The character string, the TALSE, and other identifiers are not valid, and the parameter set ID modification information carried in the parameter set ID modification information SEI message is not valid.
  • the parameter set modification type of the parameter set of the first video includes the parameter set type of the parameter set ID of the first video and the parameter set ID offset corresponding to the parameter set type of the parameter set ID to be modified, and the first encoder is The encoder according to the HEVC standard is explained. Further, the format of the parameter Set ID Change Info SEI message carrying the modification information valid flag is shown in the port table 10:
  • the splicer sets change_info_enable_flag to 0. Indicates that the parameter set ID modification information of the message does not take effect temporarily.
  • change_info_enable_flag 0.
  • the embodiments of the present invention are not described in detail herein.
  • Step 616 The splicer sends, to the terminal, a parameter set identifier modification message (ie, a parameter set identifier modification message that is not valid) and a second video code stream, where the first video that indicates that the parameter set ID modification information is not valid is sent.
  • a parameter set identifier modification message ie, a parameter set identifier modification message that is not valid
  • a second video code stream where the first video that indicates that the parameter set ID modification information is not valid is sent.
  • the splicer sends, according to the second video code stream sending step 615, a parameter set identifier modification message that includes flag information indicating that the parameter set ID modification information is not valid, such as including the indication parameter set.
  • the parameter set ID modification information SEI message of the flag information in which the ID modification information does not take effect.
  • the NALU encapsulating the parameter set identifier tampering message may be inserted in consecutive AUs.
  • the splicer In order to ensure smooth transmission, the splicer usually has a buffer. After receiving the video stream, the splicer stores the video stream in a buffer. In order to reduce the overhead caused by the parameter set identifier modification message including the flag information indicating that the parameter set ID modification information is not valid, the splicer may wait for the second video stream before the splicing point to be buffered, and determine the current to be sent. Whether the second video picture is the last RAP before the splicing point, and if so, the parameter set identification modification message including the flag information indicating that the parameter set ID modification information is not valid is sent with the second video RAP. Similarly, in order to ensure that the terminal receives the SEI message, the NALU encapsulating the parameter set identifier tampering message may be inserted into multiple consecutive AUs after the RAP AU.
  • the splicer may similarly generate PPS identification modification information including flag information indicating that the parameter set ID modification information is not valid.
  • Step 617 The terminal receives the parameter set identifier modification message of the first video that includes the flag information indicating that the parameter set ID modification information is not valid, and confirms that the flag information indicating that the parameter set ID modification information is invalid is not included, and sends the second media to the application server. Describe the information acquisition request (such as a session change request).
  • the terminal determines that the change info enable flag in the parameter set identifier modification message is 0, that is, the confirmation parameter set identifier modification message includes the flag information indicating that the parameter set ID modification information is invalid.
  • the terminal sends a media description information acquisition request to the application server, such as a SIP Re-Invite request,
  • Step 618 The application server sends a second media description information acquisition response (such as a session change response) to the terminal, where the media description information acquisition response includes a second video parameter set NALU, a first view.
  • Frequency parameter set NALU The parameter set ID in the first video parameter set NALU is the parameter set ID of the modified first video, specifically the original value of the parameter set ID of the first video plus the offset of the parameter set ID, or the application server. The value assigned directly to the parameter set ID of the modified first video.
  • Step 619 The splicer generates a parameter set identifier modification message (such as a parameter set ID modification information SEI message, or a PPS identifier modification information SEI message and/or an APS identifier tamper information SEI, including flag information indicating that the parameter set ID modification information is valid.
  • the message is that change_info_enable_flag is set to 1.
  • Step 620 The splicer sends, to the terminal, a parameter set identifier modification message and a first video code stream that include flag information indicating that the parameter set ID modification information is valid.
  • the splicer Before performing step 620, the splicer also determines if the splice point is reached. The splicer sends a parameter set identification modification message and a first video code stream to the terminal when the splicing point is reached. The specific manner in which the splicer judges whether or not the splice point is reached is the same as the same description in the flow described in FIG.
  • the parameter set identification modification message (parameter set ID modification information SEI message, or PPS identification modification information SEI message and/or APS identification modification information SEI message) is transmitted at least with the random access point and applied to the associated RAP All pictures between the next RAP and the next RAP.
  • the RAP is a picture in the middle of the code stream that only uses intra prediction, and the decoder can start the decoding process from the picture.
  • the splicer inserts the NALU encapsulated with the parameter set identifier modification message into the AU separator NALU of the associated RAP, before all VCL NALUs.
  • a parameter set identifier modification message (such as a parameter set ID modification information SEI message, or a PPS identity modification information SEI message and/or an APS identity modification information SEI message) that includes flag information indicating that the parameter set ID modification information is valid
  • the acknowledgment includes the flag information indicating that the parameter set ID modification information is valid (for example, the change_info_enable_flag in the parameter set identifier modification message is 1), and the modification is determined according to the parameter set identifier including the flag information indicating that the parameter set ID modification information is valid.
  • the parameter set ID of the parameter set for decoding VCL NALU. Obtaining the parameter set ID from the parameter set obtained by the out-of-band method according to the determined parameter set ID and determining the parameter set ID The same parameter set.
  • the method for determining the parameter set ID of the VCL NALU parameter set in the video code stream according to the parameter set identification modification message may refer to the description of step 515, which is not described in detail herein.
  • the application server may not actively perform the step 615 to 618, and the application server actively sends the media description information to the terminal (not shown in the flowchart).
  • the media description information includes a parameter set of the second video and a modified modified parameter set of the first video.
  • the modified parameter set ID of the first video is the parameter set ID of the modified first video (ie, the parameter set ID of the parameter set used to decode the VCL NALU).
  • the application server may send a session change request message including the media description information, such as a SIP Re-Invite request message or a SIP Update request message, to the terminal, or send a notification message including the media description information to the terminal, such as an RTSP Play-Notify request.
  • a session change request message including the media description information such as a SIP Re-Invite request message or a SIP Update request message
  • a notification message including the media description information such as an RTSP Play-Notify request.
  • Message RTSP Set Parameter request message, RTSP Notify request message or SIP Info request message.
  • the terminal receives the media description information sent by the application server, and obtains the second video parameter set NALU and the first video parameter set NALU. It is also possible to perform steps 513-516 without performing steps 619-622.
  • the parameter set identifier modification message in the process corresponding to FIG. 6 further includes parameter set ID modification information corresponding to the parameter set type indirectly referenced by the VCL NALU of the first video, and correspondingly, the media in step 618
  • the description information acquisition response message or the media description information that the application server actively sends to the terminal includes the original parameter set of the first video and the parameter set ID of the parameter set for decoding the VCL NALU.
  • the parameter set identifies the modification message (such as parameter set ID modification)
  • the SEI message contains the parameter set type of the parameter set ID to be modified, and does not carry other parameter set ID modification information, such as carrying the modified value or the parameter set ID to modify the offset, that is, carrying one or more * * * _id_change_flag, without carrying * * * - id - diff parameter or new_* * *_id parameter.
  • the terminal After receiving the parameter set identifier modification message, the terminal determines the type of the first video parameter set that needs to be modified according to the parameter set identifier modification message, and requests the splicer to send the first video parameter set type corresponding to the ID to be modified by the RTCP message.
  • FIG. 7 is a flowchart of another method for splicing a code stream according to an embodiment of the present invention, including the following steps:
  • Steps 701-712 are the same as steps 501-512, and embodiments of the present invention are not described in detail herein.
  • Step 713 The splicer generates a parameter set identifier modification message (such as a parameter set ID modification information SEI message).
  • the parameter set identifies a parameter set type including only the parameter set ID to be modified in the modification message, and does not carry other parameter set ID modification information, such as a parameter set ID or a parameter set ID that does not carry a parameter set for decoding the VCL NALU. Offset.
  • the media description information sent by the application server to the terminal in step 707 carries the modified parameter set of the first video (that is, the parameter set ID in the modified parameter set is used to decode the parameter set of the VCL NALU. Parameter set ID), then the parameter set type of the parameter set ID to be modified in this step is only the parameter set type directly referenced by VCL NALU.
  • the first encoder is an encoder that complies with the HEVC coding standard as an example.
  • the parameter set type of the parameter set ID to be modified is APS and/or PPS, that is, the parameter set ID modification information carries aps_id_change_flag and pps id change flag, and if the splicer receives the ID of the parameter set ID of the first video to be modified,
  • the first video parameter set type includes APS, the splicer sets aps_id_change_flag to 1, otherwise it is set to 0; if the splicer receives the first video parameter set ID modification information, the first video parameter set type of the ID to be modified includes the PPS
  • the splicer sets pps_id_change_flag to 1, otherwise it is set to 0.
  • the parameter set type of the parameter set ID to be modified in this step is further A parameter set type that contains an indirect reference to the VCL NALU.
  • the first encoder is an encoder that complies with the HEVC coding standard as an example.
  • the parameter set identifier modification message must include the vps id change flag, the sps id change flag, the aps id change flag, and the pps id change flag.
  • the specific format of the parameter set ID modification information SEI message is as shown in Table 11.
  • Step 714 The splicer sends a parameter set identifier modification message (such as a Parameter Set ID Change Info SEI message) and the first video code stream to the terminal.
  • the parameter set identifies a parameter set type including only the modified parameter set ID in the modification message, and does not carry other parameter set ID modification information, such as a parameter set ID or a original parameter set that does not carry a parameter set for decoding the VCL NALU. The offset of the ID.
  • Step 715 The terminal determines, according to the parameter set identifier modification message, a parameter set type that needs to be modified.
  • Step 716 The terminal sends an RTCP request to the splicer, where the parameter set type determined in step 715 that needs to modify the parameter set ID is included.
  • the above RTCP request may be an RTCP parameter set identifier tamper information request Parameter Set ID Change - Request message, referred to as RTCP PSIC-R message.
  • the RTCP PSIC-R message is an RTCP feedback message, as shown in Figure 8.
  • PT Payload Type
  • FMT Feedback Message Type
  • SSRC of packet sender SSRC of the sender of the RTCP feedback message
  • SSRC of media source SSRC of the RTP stream corresponding to the RTCP feedback message.
  • FCI Flight Control Information
  • the PT value of the RTCP PSIC-R message is 206, which means it is Payload Specific Feedback Message; the FMT value is 4, which means it is a PSIC message; the SSRC of packet sender is the SSRC of the terminal; and the SSRC of media source is obtained from the SDP.
  • RTP for carrying the output video stream The SSRC of the stream, that is, the SSRC in the second video stream identification information. (For the terminal, the second video stream and the first video stream are not distinguished, and the SSRC seen by the terminal is one).
  • the format of the FCI is shown in Figure 9. among them
  • SFMT Sub Feedback Message Type: The type of PSIC message. Set here to 1, representing the PSIC-R message;
  • Number of Parameter Set Type The number of parameter set types whose ID needs to be modified
  • Parameter Set Type The parameter set type identifier of the ID to be modified. There are a total of Number of Parameter Set Type Parameter Set Type.
  • the Parameter Set Type can take many forms.
  • the first encoder is an encoder that complies with the HEVC standard.
  • the value of the Parameter Set Type can be a positive integer, and the values 1, 2, 3, and 4 represent VPS, SPS, PPS, and APS, respectively.
  • Step 717 After receiving the RTCP request (such as the RTCP PSIC-R message), the splicer sends the parameter set ID modification information of the first video to the terminal by using an RTCP response (such as an RTCP PSIC-I message).
  • the RTCP PSIC-I message is also an RTCP PSIC message whose SFMT is set to 2, including Number of Parameter Set ID Change Info, indicating the parameter set identifier contained in the RTCP PSIC-I message. Modify the number of messages.
  • a parameter set identification modification information includes a parameter set type (Parameter Set Type) and an original parameter set ID offset (Parameter Set Diff).
  • the FCI format is as shown in FIG.
  • a parameter set identification modification information includes a Parameter Set Type, an Original Parameter Set ID, and a New Parameter Set ID. If the parameter set ID modification information includes a first video parameter set type of the ID to be modified and a corresponding new value of the parameter set ID, the FCI format is as follows. Figure 12 shows.
  • a parameter set identification modification information includes a Parameter Set Type and a New Parameter Set ID.
  • Step 720 The terminal receives the RTCP PSIC-I message, for each first video VCL NALU, The terminal determines the value of the parameter set ID of the VCL NALU reference parameter set according to the RTCP PSIC-I message, and obtains all referenced parameter sets, and decodes the corresponding VCL NALU by using the obtained parameter set.
  • the first video parameter set ID modification information may also be sent by the splicer to the terminal by using the transport layer signaling.
  • the splicer generates an RTCP PSCI-I message as described above for the RTCP PSCI-I message.
  • the splicer sends a first video bitstream and an RTCP PSCI-I message to the terminal, and the terminal receives the first video bitstream and the RTCP PSCI-I message.
  • the terminal For each first video VCL NALU, the terminal is based on the RTCP PSIC- The I message determines the value of the parameter set ID of the VCL NALU reference parameter set, and obtains all referenced parameter sets, and the terminal uses these parameter sets to decode the corresponding VCL NALU.
  • the splicer may also determine the sequence number of the first RTP packet used to encapsulate the first video code stream, and then Send an RTCP PSCI-I message.
  • the RTCP PSCI-I message includes the first sequence number (first sequence number) in addition to all the information of the RTCP PSCI-I message in step 717, and the first sequence number is used to encapsulate the first video stream.
  • the serial number of the RTP package In order to ensure that the terminal receives the RTCP PSCI-I message, the splicer can continuously send multiple identical RTCP PSCI-I messages.
  • the parameter set identification modification message (such as: Parameter Set ID Change Info SEI Message) is generated by the splicer.
  • the parameter set identification modification message (such as: Parameter Set ID Change Info SEI Message) can also be generated by the application server and sent to the splicer.
  • the application server sends the parameter set identifier modification information to the splicer
  • the parameter set ID modification information of the first video is directly sent in the form of a Parameter Set ID Change Info SEI Message.
  • the splicer is only responsible for the transmission of the Parameter Set ID Change Info SEI Message.
  • the application server Since the application server has entropy coding and entropy decoding capability, when the application server generates the Parameter Set ID Change Info SEI Message, the ***_id_diff or the new_***_id in the Parameter Set ID Change Info SEI Message may be entropy encoded, for example Unsigned index Columbus code.
  • FIG. 1 Unsigned index Columbus code.
  • Step 1301 Receive information of a first video code stream from an application server, where information of the first video code stream includes first The parameter set modification information of the video; specifically, the splicer receives information of the first video code stream from the application server, where the first video code stream information includes parameter set modification information of the first video. Further, the splicer can also receive information of the second video stream from the application server.
  • Step 1302 Send a first video code stream and a parameter set identifier modification message of the first video to the terminal according to the first video parameter set modification information, where the parameter set identifier modification message of the first video carries a parameter set of the first video Identifying ID modification information, so that the terminal acquires a parameter set ID of a parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and the terminal is used to decode the VCL NALU according to the The parameter set ID of the parameter set acquires a parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoded first video.
  • the splicer prior to step 1302, the splicer also pauses outputting the second video stream during the output of the second video stream.
  • the splicer also pauses outputting the second video stream during the output of the second video stream.
  • the parameter set ID modification information of the first video is a parameter set type of the parameter set ID to be modified, and the splicer further receives a real-time transmission control protocol RTCP request sent by the terminal receiving terminal, where the RTCP request includes the parameter set ID to be modified.
  • a parameter set type returning an RTCP response to the terminal, where the RTCP response carries an original parameter corresponding to the parameter set type of the parameter set ID to be modified
  • An offset of the set ID or a parameter set ID carrying a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set type carrying the parameter set ID to be modified
  • the parameter set ID modification information is an offset of a parameter set type of the parameter set ID to be modified and an original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set ID to be modified.
  • the parameter set ID modification information further comprising a modification validation flag, the parameter for decoding the VCL NALU being obtained according to the parameter set ID of the parameter set for decoding the VCL NALU
  • the receiver further sends a parameter set identifier modification message of the first video that is not valid when the second video code stream is sent to the terminal; the second media description information acquisition request sent by the terminal is received; and the second media is returned to the terminal.
  • a description information acquisition response the second media
  • the parameter set identification modification message of the first video is: a parameter set identifier modification supplementary enhancement information SEI message, an adaptive parameter set identifier modification SEI message, or a picture parameter set identifier modification SEI message, and the splicer further Generating a parameter set identification modification message of the first video according to the first video parameter set modification information.
  • the splicer after receiving the parameter set modification information of the first video sent by the application server, the splicer does not modify the parameter set ID referenced by the VCL NALU in the first video code stream according to the parameter set modification information. Rather, the parameter set identifier modification message carrying the parameter set modification information is sent to the terminal, and the terminal obtains the parameter of the VCL NALU in the first video code stream according to the parameter set identifier modification message before decoding the VCL NALU in the first video stream. Set to decode the parameter set.
  • the splicer to have the ability to modify the entropy coding and entropy decoding of the parameter set ID of the VCL NALU reference in the first video stream, thereby eliminating the need to add extra hard on the splicer of the existing network.
  • FIG. 14 is a flowchart of a method for splicing a digital video code stream according to an example of the present invention, including the following steps:
  • Step 1401 Receive media description information of the first video sent by the first content server, where the media description information of the first video carries the type of the parameter set of the first video of the original parameter set of the first video and the parameter corresponding to each type The original parameter set ID of the set;
  • Step 1402 Receive media description information of the second video sent by the second content server, where the media description information of the second video carries the parameter set of the second video parameter set of the second video and a parameter set ID of a parameter set corresponding to each type;
  • Step 1403 Determine that the parameter set ID of the first video of the same type is the same as the parameter set ID of the parameter set of the second video, and determine the parameter set identification modification information of the first video.
  • Step 1404 Send the first to the splicer The information of the video stream, the information of the first video code stream includes the parameter set identifier modification information of the first video, and the parameter set modification identifier information of the first video is carried in the parameter set identifier modification message of the first video, so that And sending, by the splicer, the parameter set identification modification message of the first video to the terminal, and in order for the terminal to modify the message according to the parameter set identifier of the first video to decode and output the first video.
  • the application server further modifies the original parameter set ID of the original parameter set of the first video to the video coding layer for decoding the network abstraction layer unit according to the determined parameter set identification modification information of the first video.
  • the parameter set ID of the parameter set of the VCL NALU; the modified parameter set carrying the first video is sent to the terminal, and the parameter set ID in the modified parameter set is the parameter set ID of the parameter set used to decode the VCL NALU;
  • the parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an original parameter of the first video corresponding to the parameter set type of the parameter set ID to be modified.
  • the parameter set identification modification message of the video includes a parameter set ID of the parameter set type of the parameter set ID to be modified, the original parameter set ID, and a parameter set for decoding the VCL NALU corresponding to the original parameter set ID. ;
  • the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU.
  • the application server further needs to send, to the terminal, an original parameter set of the first video and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU, where the first video is The original parameter set carries the original parameter set ID;
  • the parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to a parameter set type of the parameter set ID to be modified, or
  • the parameter set identification modification message of a video includes the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identification modification message of a video, the original parameter set ID of the parameter set type of the parameter set ID to be modified, and a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the original parameter set ID;
  • the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and a parameter set type indirectly referenced by the VCL NALU. It can be seen from the foregoing embodiment that the application server determines that the original parameter set ID of the first video parameter set of the same type is the same as the parameter set ID of the second video parameter set, and determines the offset of the original parameter set ID of the first video of the type.
  • a parameter set ID for decoding a parameter set of the VCL NALU and directly sending a parameter set identification modification message of the first video to the splicer, so that the splicer identifies the parameter set of the first video to modify the message, thereby eliminating the need for a splicer
  • 15A is a schematic structural diagram of a decoding apparatus for a digital video code stream according to an embodiment of the present invention, including a receiving module 1501, a first obtaining module 1502, a second obtaining module 1503, a decoding input module 1504, a determining module 1505, and a sending module 1506.
  • the receiving module 1501 is configured to receive a parameter set identifier modification message of the first video code stream and the first video, where the parameter set identifier modification message of the first video includes the parameter set identifier ID modification information of the first video; a first obtaining module 1502, configured to acquire, according to the parameter set ID modification information of the first video received by the receiving module 1501, a parameter set ID of a parameter set for decoding a video encoding layer VCL NALU of the network abstraction layer unit;
  • the obtaining module 1503 is configured to acquire, according to the parameter set ID of the parameter set for decoding the VCL NALU acquired by the first acquiring module 1502, a parameter set for decoding the VCL NALU, and the decoding output module 1504, according to the second
  • the parameter set for decoding the VCL NALU acquired by the obtaining module 1503 decodes the VCL NALU and outputs the decoded first video.
  • the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified;
  • the first video code stream includes an original parameter set ID for decoding a parameter set of the VCL NALU;
  • the first obtaining module 1502 is specifically configured to: according to the parameter set to be modified received by the receiving module 1501 Obtaining, by the parameter set type of the ID, the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified from the first code stream; according to the original parameter set ID and the parameter to be modified
  • the offset of the original parameter set ID corresponding to the parameter set type of the set ID is obtained by acquiring the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
  • the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and a parameter set ID of the parameter set for decoding the VCL NALU
  • the first obtaining module 1502 is specifically configured to: Obtaining, according to the parameter set type of the parameter set ID to be modified received by the receiving module 1501, from the parameter set ID modification information, the type corresponding to the parameter set type of the parameter set ID to be modified, for decoding the VCL NALU
  • the parameter set ID of the parameter set is an original parameter set ID of a parameter set type of the parameter set ID to be modified, and a parameter corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU.
  • the first acquiring module is configured to: obtain, according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified received by the receiving module, the original parameter set ID Decoding the parameter set ID of the parameter set of the VCL NALU; or the first obtaining module is specifically configured to obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, from the first video code stream
  • the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified acquiring the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID according to the original parameter set ID.
  • the first video parameter set ID modification information is a parameter set to be modified.
  • the parameter set type of the ID further includes: a sending module 1506, configured to send a real-time transport control protocol RTCP request to the splicer, where the RTCP request includes a parameter set type of the parameter set ID to be modified; 1501 is further configured to: receive an RTCP response returned by the splicer, where the RTCP response carries an offset of an original parameter set ID corresponding to a parameter set type of a parameter set ID to be modified, or a parameter set ID to be modified a parameter set ID of a parameter set for decoding a VCL NALU corresponding to a parameter set type, or the original parameter set ID of a parameter set type of a parameter set ID to be modified, and a corresponding to the original parameter set ID Decoding a parameter set ID of a parameter set of the VCL NALU; the first obtaining module 1502 is specifically configured to: according to the parameter set type of the parameter set ID to be modified carried in the RTCP response received by the receiving module 1501 The offset of the original parameter set ID or
  • the parameter set ID modification information further includes a modification effective flag.
  • Receiving module The method 1501 is further configured to: before receiving the parameter set identifier modification message of the first video code stream and the first video, receive a parameter set identifier modification message of the first video that is not valid; the apparatus further includes: the determining module 1505 is further configured to: Determining, by the receiving module, that the parameter set identifier modification message of the inactive first video includes the flag information indicating that the parameter set ID modification information is not valid; the sending module 1506 is configured to send the second media description information to the application server.
  • the receiving module 1501 is further configured to: receive a second media description information acquisition response returned by the application server, where the second media description information acquisition response carries the second video parameter set, and the modified parameter set of the first video
  • the parameter set ID of the parameter set in the first video modification is the parameter set ID of the parameter set for decoding the VCL NALU.
  • the receiving module 1501 is further configured to pass the band before the second obtaining module 1503 obtains a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU.
  • Obtaining a modified parameter set of the first video the parameter set ID of the modified parameter set is a parameter set ID of a parameter set for decoding the VCL NALU; or the receiving module 1501 is in the second acquiring
  • the module 1503 is further configured to obtain an original parameter set of the first video by using an out-of-band manner and to decode the VCL, before acquiring the parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU.
  • the parameter set ID of the parameter set of the NALU; the original parameter set ID is modified according to the modified parameter set ID.
  • the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU; the first obtaining module 1502 is specifically configured to: acquire a parameter set directly received by the receiving module and the VCL NALU The parameter set ID of the parameter set directly referenced by the VCL NALU for decoding the VCL NALU, and is obtained by the second obtaining module 1503 according to the parameter set ID of the parameter set directly referenced by the VCL NALU for decoding the VCL NALU. After the parameter set directly referenced by the VCL NALU in the first video bitstream, the first obtaining module 1502 further obtains, from the directly referenced parameter set, a parameter set of a parameter set for invoking a VCL NALU indirect reference of the VCL NALU. ID; or
  • the parameter set type of the parameter set ID to be modified is the parameter set type directly referenced by the VCL NALU and the parameter set type indirectly referenced by the VCL NALU.
  • the first obtaining module 1502 is specifically configured to: respectively The parameter set ID modification information of a video acquires a parameter set ID of a parameter set of a direct reference for decoding a VCL NALU of the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU, and obtains an indirect reference with the VCL NALU Reference a parameter set ID corresponding to the parameter set of the VCL NALU corresponding to the number set type;
  • the second obtaining module 1503 is specifically configured to: obtain a directly referenced parameter of the VCL NALU according to the parameter set ID of the directly referenced parameter set acquired by the first obtaining module 1502 and the parameter set ID of the indirectly referenced parameter set. And a parameter set of the indirect reference of the VCL NALU; the decoding output module 1504 is specifically configured to: according to the directly referenced parameter set of the VCL NALU acquired by the second obtaining module 1502 and the indirect of the VCL NALU The referenced parameter set decodes the VCL NALU and outputs the decoded first video.
  • the device in FIG. 15 may be the terminal in the foregoing embodiment, and may perform any step performed by the terminal in the foregoing embodiment, and the embodiment of the present invention is not described in detail herein.
  • FIG. 16 is a splicing device for a digital video code stream according to an embodiment of the present invention, including: a receiving module
  • a module 1602 and a sending module 1603 are generated.
  • the receiving module 1601 is configured to receive, by the application server, information about the first video code stream, where the first video code stream information includes parameter set modification information of the first video.
  • the sending module 1603 is configured to send, according to the first video parameter set modification information received by the receiving module 1601, a first video code stream and a parameter set identifier modification message of the first video, where the parameter set identifier of the first video
  • the modification message carries the parameter set identifier ID modification information of the first video, so that the terminal acquires the parameter set ID of the parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and The terminal acquires a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoding.
  • the first video After the first video.
  • the receiving module 1601 is further configured to receive a real-time transmission control protocol RTCP request sent by the terminal, where The RTCP request includes a parameter set type of the parameter set ID to be modified; the sending module 1603 is further configured to return an RTCP response to the terminal, where the RTCP response carries a parameter set type corresponding to the parameter set ID to be modified.
  • the offset of the original parameter set ID, or the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or the parameter set type carrying the parameter set ID to be modified The original parameter set ID and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU.
  • the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified, and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, or includes a to-be-modified
  • the parameter set ID modification information further includes a modification effective flag, and the sending module 1603 sends the first video code stream and the parameter set identifier modification of the first video to the terminal.
  • the receiving module 1601 is further configured to receive the second media description sent by the terminal.
  • the sending module 1603 is further configured to: return a second media description information acquisition response to the terminal, where the second media description information acquisition response carries the first video
  • the modified parameter set, the parameter set ID of the modified parameter set of the first video is a parameter set ID of a parameter set for decoding the VCL NALU.
  • the device advancement comprises a generating module 1602, configured to generate a parameter set identifier modification message of the first video according to the first video parameter set modification information.
  • the generating module 1602 is further configured to generate any message sent to the sending module 1603 according to the information received by the receiving module 1601.
  • the embodiments of the present invention are no longer detailed herein. For details, refer to the description of each step of the foregoing method embodiment.
  • the apparatus described in FIG. 16 may be a splicer in the foregoing implementation, and any of the steps performed by the splicer in the foregoing embodiment may be performed, and the embodiment of the present invention is not described in detail herein.
  • FIG. 17 is a splicing apparatus for a digital video code stream according to an embodiment of the present invention, including a first receiving module 1701, a second receiving module 1702, a determining module 1703, and a sending module 1704.
  • the first receiving module 1701 is configured to receive the media description information of the first video that is sent by the first content server, where the media description information of the first video carries the original parameter set of the first video and the parameter set of the first video. Type and original parameter set ID of the parameter set corresponding to each type;
  • the second receiving module 1702 is configured to receive media description information of the second video sent by the second content server, where the media description information of the second video carries a parameter set of the second video, a type of the second video parameter set, and The parameter set ID of the parameter set corresponding to each type;
  • a determining module 1703 configured to determine an original parameter set ID of the first video received by the first receiving module 1701 of the same type, and a second video parameter set ID received by the second receiving module 1702 Same as, and determining parameter set identification modification information of the first video;
  • the sending module 1704 is configured to send information about the first video stream to the splicer, where the information of the first video code stream includes parameter set modification information of the first video, and the parameter set modification information of the first video is carried in the first
  • the parameter set identifier of the video is modified in the message, so that the splicer sends the parameter set identification modification message of the first video to the terminal, and the terminal is configured to modify the message according to the parameter set identifier of the first video to decode and output the first message.
  • the apparatus further includes: a modifying module 1705, configured to determine, according to the determining module 1703, the parameter set identifier modification information to modify an original parameter set ID of an original parameter set of the first video to be used for decoding The parameter set ID of the parameter set of the video coding layer VCL NALU of the network abstraction layer unit;
  • the sending module is further configured to: send the modified parameter set of the first video to the terminal, where the parameter set ID in the modified parameter set is the parameter set ID of the parameter set used to decode the VCL NALU;
  • the parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of an original parameter set ID of the first video corresponding to the parameter set type of the parameter set ID to be modified, Or a parameter set type including the parameter set ID to be modified and a parameter set ID for decoding a parameter set of the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identifier modification of the first video
  • the message includes a parameter set ID of the parameter set type of the parameter set ID to be modified corresponding to the original parameter set ID for decoding the parameter set of the VCL NALU;
  • the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU.
  • the sending module is further configured to: send, to the terminal, an original parameter set of the first video and a parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID, where The original parameter set ID of the first video carries the original parameter set ID;
  • the parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to a parameter set type of the parameter set ID to be modified, or
  • the parameter set identification modification message of a video includes the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identification modification message of a video, the original parameter set ID in a parameter set type of the parameter set ID to be modified, and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU;
  • the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and a parameter set type indirectly referenced by the VCL NALU.
  • the device shown in FIG. 17 may be an application server, and may perform any of the steps or functions performed by the application server in the foregoing embodiment.
  • the embodiments of the present invention are not described in detail herein.
  • FIG. 18 is a schematic structural diagram of a decoding apparatus or a splicing apparatus for a digital video stream according to an embodiment of the present invention, including a processor 1801, an input device 1802, an output device 1803, a memory 1804, and a communication interface 1805.
  • the computer system may specifically be a processor based computer such as a general purpose personal computer (PC), a portable device such as a tablet computer, or a smart phone.
  • Computer systems include buses, processors, memories, communication interfaces, input devices, and output devices.
  • the bus can include a path to transfer information between various components of the computer.
  • the processor 1801 can be a general purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention.
  • the computer system also includes one or more memories 1805, which may be read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM) or Other types of dynamic storage devices that store information and instructions may also be disk storage. These memories are connected to the processor via a bus.
  • Input device 1801 can include a means for receiving data and information input by a user, such as a keyboard, mouse, camera, scanner, light pen, voice input device, touch screen, and the like.
  • the output device can include a means to allow output of information to the user, including display screens, printers, speakers, and the like.
  • the computer system also includes a communication interface 1804 that uses devices such as any transceiver to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), and the like.
  • RAN Radio Access Network
  • WLAN Wireless Local Area Network
  • a memory 1805 such as a RAM, holds an operating system and a program for executing the inventive scheme.
  • the operating system is a program that controls the running of other programs and manages system resources.
  • the program code for carrying out the inventive arrangement is stored in a memory and is controlled by the processor 1801 for execution.
  • the memory 1805 can store instructions to cause the processor 1801 to perform the following processes:
  • the processor 1805 can also be used to perform the steps performed by the terminal or the decoding device in FIG. 1 to FIG. 15 in the method embodiment, which is not described in detail herein.
  • the processor 1801 may further perform the following process: receiving information of the first video code stream from the application server, where the information of the first video code stream includes parameter set modification of the first video Transmitting, according to the first video parameter set modification information, a first video code stream and a parameter set identifier modification message of the first video, where the parameter set identifier modification message of the first video carries a parameter set identifier of the first video
  • the ID modifies the information, so that the terminal acquires the parameter set ID of the parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and the terminal according to the method for decoding the VCL NALU
  • the parameter set ID of the parameter set acquires a parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoded first video.
  • the processor 1805 can also be used to perform the
  • the processor may further perform the following process: receiving media description information of the first video sent by the first content server, where the media description information of the first video carries the original parameter set of the first video and the first The type of the parameter set of the video and the original parameter set ID of the parameter set corresponding to each type; the media description information of the second video sent by the second content server, where the media description information of the second video carries the second video a parameter set second video parameter set type and a parameter set ID of a parameter set corresponding to each type; determining a parameter set ID of the first video of the same type is the same as a parameter set ID of a parameter set of the second video, and determining The parameter set of the first video identifies the modification information; the information of the first video stream is sent to the splicer, the information of the first video code stream includes parameter set identification modification information of the first video, and the parameter set of the first video is modified.
  • the identifier information is carried in the parameter set identifier modification message of the first video, so that the splicer sends the parameter set identifier modification message of the first video to the terminal. And, in order for the terminal to modify the message according to the parameter set identification of the first video, and output the first video.
  • the processor 1805 can also be used to perform the steps performed by the application server in FIG. 1 to FIG. 17 in the embodiment of the method.
  • the embodiments of the present invention are not described in detail herein. A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above may refer to the corresponding processes in the foregoing method embodiments, and details are not described herein again.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise.
  • the components displayed for the unit may or may not be physical units, ie may be located in one place, or may be distributed over multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the above software functional unit is stored in a storage medium and includes a plurality of instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to execute the method of the various embodiments of the present application. Part of the steps.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program code. .

Landscapes

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

Abstract

Provided are a digital video code stream decoding method, a digital video code stream splicing method and apparatus. By means of a parameter set identification modification message of a first video containing parameter set identification (ID) modification information of the first video, a terminal decodes and outputs the first video according to the parameter set identification (ID) modification information. Not only can a correct parameter set be used when a terminal decodes a first video code stream, but also additional hardware resources do not need to be added to a splicer of an existing network or there is no need to replace the splicer of the existing network with a new splicer, which requires fewer operating costs than those required in the prior art.

Description

数字视频码流的解码方法拼接方法和装置  Method and device for splicing digital video code stream decoding method
技术领域 本申请涉及数字视频拼接技术, 尤其涉及数字视频码流的解码方法、 拼 接方法和装置。 背景技术 TECHNICAL FIELD The present application relates to digital video splicing techniques, and more particularly to a decoding method, a splicing method and apparatus for a digital video stream. Background technique
码流拼接技术具有广泛的应用场景。 比如, 运营商可以根据用户偏好选 择个性化广告,通过码流拼接技术将节目中的普遍性广告替换成个性化广告, 提高广告的命中率和收视效果, 从而提高用户体验和运营商营收。  The code stream splicing technology has a wide range of application scenarios. For example, operators can select personalized advertisements according to user preferences, and replace the universal advertisements in the program with personalized advertisements by stream stream splicing technology to improve the hit rate and viewing effect of advertisements, thereby improving user experience and operator revenue.
在视频编码中, 一段视频内容可以划分为一个或多个编码的视频序列 ( CVS: Coded Video Sequence ); 一个 CVS包含多个图片 ( Picture ); 一个 图片又可以划分成一个或多个片 (Slice ) ; 同一时刻的一个或多个编码的图 片称为一个访问单元(AU: Access Unit) 。 编码器对视频内容编码后, 输出的视频码流以网络抽象层单元( NALU: In video coding, a video content can be divided into one or more encoded video sequences (CVS: Coded Video Sequence); one CVS contains multiple pictures (Picture); one picture can be divided into one or more pictures (Slice One or more encoded pictures at the same time are called an access unit (AU: Access Unit). After the encoder encodes the video content, the output video stream is in the network abstraction layer unit (NALU:
Network Abstraction Layer Unit)为单位组成。 NALU分为两类: 视频编码层 ( VCL: Video Coding Layer) NALU和非 VCL NALU。其中一个 VCL NALU 中是一个编码片 (coded slice ) , 因此通常也称为编码片 NALU; 而非 VCL NALU中是元数据和附加信息。 非 VCL NALU又可以分为: 参数集 NALU: 用于封装参数集的 NALU, 补充增强信息 (SEI: Supplemental Enhancement Information ) NALU: 用于封装 SEI消息的 NALU等。 其中参数集 NALU中 包含参数集以及该参数集对应的参数集标识 (ID: Identifier ) , 如果该参数 集还引用了其他的参数集,则该参数集中还包含弓 I用参数集对应的参数集 ID。 Network Abstraction Layer Unit) is composed of units. NALU is divided into two categories: Video Coding Layer (VCL: Video Coding Layer) NALU and non-VCL NALU. One of the VCL NALUs is a coded slice, so it is often referred to as the code slice NALU; instead of VCL NALU is metadata and additional information. Non-VCL NALU can be further divided into: Parameter set NALU: NALU for encapsulating parameter sets, Supplemental Enhancement Information (SEI) NALU: NALU for encapsulating SEI messages. The parameter set NALU includes a parameter set and a parameter set identifier corresponding to the parameter set (ID: Identifier). If the parameter set also references other parameter sets, the parameter set further includes a parameter set corresponding to the parameter set of the bow I. ID.
参数集包含被多个 VCL NALU共享的头信息, 如档次(profile )和层级 ( level )信息、 视频色彩格式信息、 视频分辨率信息等等。 参数集可以分为 多种类型, 不同类型的参数集包含不同类型的共享头信息。 一个视频码流可 以包含一个或多个同一类型的参数集。 一个参数集包含一个参数集 ID, 并且 参数集 ID的取值在一个码流的同一类型的参数集中是唯一的。将共享头信息 放到参数集后, 相应的 VCL NALU通过参数集 ID引用参数集中的头信息。 参数集由视频编码标准 H.264引入,并被之后的视频编码标准广泛使用。 引入参数集的目的是为了头信息的鲁棒(robust )和高效传输。 引入参数集后, 被多个 VCL NALU共享的头信息只需要传输一次, 因此提高了传输效率。 The parameter set contains header information shared by multiple VCL NALUs, such as profile and level information, video color format information, video resolution information, and the like. Parameter sets can be divided into multiple types, and different types of parameter sets contain different types of shared header information. A video stream can contain one or more parameter sets of the same type. A parameter set contains a parameter set ID, and the value of the parameter set ID is unique in a parameter set of the same type of a code stream. Shared header information After being placed in the parameter set, the corresponding VCL NALU refers to the header information in the parameter set through the parameter set ID. The parameter set was introduced by the video coding standard H.264 and is widely used by subsequent video coding standards. The purpose of introducing a parameter set is for robust and efficient transmission of header information. After the parameter set is introduced, the header information shared by multiple VCL NALUs needs to be transmitted only once, thus improving the transmission efficiency.
不同的视频编码标准定义的参数集不同。 H.264 标准定义的参数集有: 序列参数集( SPS: Sequence Parameter Set )和 PPS。动态图片专家组( MPEG: Moving Pictures Experts Group ) 正在制定的高效视频编码 (HEVC : High Efficiency Video Coding )标准定义的参数集除了 SPS和 PPS夕卜, 还包括视频 参数集 ( VPS: Video Parameter Set )、自适应参数集 ( APS: Adaptation Parameter Set )两种参数集, MPEG正在制定的三维视频编码( 3DVC: Three-Dimensional Video Coding )标准定义的参数集除了 SPS和 PPS夕卜, 还包括深度范围参数 集 ( DRPS: Depth Range Parameter Set ) 。 但不同的视频编码标准定义的参数集都可以分为两类: 视频码流中 VCL NALU直接引用的参数集和 VCL NALU间接引用的参数集。 如果参数集是 VCL NALU直接引用的参数集, VCL NALU中包含该参数集的参数集 ID; 如果参数集是 VCL NALU间接引用的参数集, VCL NALU中不包含该参数 集的参数集 ID, 而是在 VCL NALU的直接引用的参数集或者间接引用的参 数集中包含该参数集的参数集 ID。  Different video coding standards define different parameter sets. The parameter sets defined by the H.264 standard are: Sequence Parameter Set (SPS) and PPS. The Moving Picture Experts Group (MPEG: Moving Pictures Experts Group) is developing a parameter set defined by the HEVC (High Efficiency Video Coding) standard in addition to SPS and PPS, and also includes a Video Parameter Set (VPS: Video Parameter Set). Two parameter sets of APS: Adaptation Parameter Set, the parameter set defined by MPEG's 3DVC: Three-Dimensional Video Coding standard, in addition to SPS and PPS, includes depth range parameters. Set (DRPS: Depth Range Parameter Set). However, the parameter sets defined by different video coding standards can be divided into two categories: the parameter set directly referenced by VCL NALU in the video stream and the parameter set indirectly referenced by VCL NALU. If the parameter set is a parameter set directly referenced by VCL NALU, the VCL NALU contains the parameter set ID of the parameter set; if the parameter set is a parameter set indirectly referenced by VCL NALU, the parameter set ID of the parameter set is not included in the VCL NALU, and The parameter set ID of the parameter set is included in the directly referenced parameter set of the VCL NALU or in the indirectly referenced parameter set.
在视频拼接技术中, 码流( Bitstream )拼接技术为拼接器分别接收第一 视频码流(比如个人性广告内容等 )和第二视频码流(比如终端请求观看的 节目等) 。 拼接器在为终端输出第二视频码流的过程中, 在拼接时段把第一 视频码流发送给终端, 在其他时段将第二视频码流发给终端。 第二视频和第一视频使用不同编码器 (第二编码器, 第一编码器)独立编 码。 由于参数集标识(ID: Identifier )采用熵编码, 参数集 ID的值越小, 表 示参数集 ID所需的比特数越少, 因此编码器分配参数集 ID时, 往往从 0值 开始分配。 因此两个编码器给同一类型的参数集分配的参数集 ID可能相同。 第二视频码流与第一视频码流中同一类型参数集的参数集 ID相同,则输出视 频码流中的参数集 ID不能唯一标识一个参数集。当参数集采用带外传输方式 时, 会导致解码时使用错误的参数集, 从而导致解码错误。 比如, 一个第一 视频的视频编码层( VCL: Video Coding Layer )的网络抽象层单元( NALU: network Abstraction Layer Unit ) 中的图片参数集 ( PPS: Picture Parameter Set ) ID与第二视频的某个 PPS的 PPS ID相同,解码器可能使用该第二视频的 PPS 对该第一视频 VCL NALU进行解码, 从而导致解码错误。 In the video splicing technology, the bitstream splicing technology receives a first video code stream (such as personal advertisement content, etc.) and a second video code stream (such as a program requested by a terminal, etc.) for the splicer. The splicer sends the first video code stream to the terminal during the splicing period, and sends the second video code stream to the terminal at other time periods in the process of outputting the second video code stream for the terminal. The second video and the first video are independently encoded using different encoders (second encoder, first encoder). Since the parameter set identifier (ID: Identifier) is entropy coded, the smaller the value of the parameter set ID is, the smaller the number of bits required to represent the parameter set ID is. Therefore, when the encoder assigns the parameter set ID, it is often allocated from 0 value. Therefore, the parameter sets ID assigned by the two encoders to the same type of parameter set may be the same. The second video code stream is the same as the parameter set ID of the same type of parameter set in the first video code stream, and the parameter set ID in the output video code stream cannot uniquely identify a parameter set. When the parameter set adopts the out-of-band transmission mode, it will cause the wrong parameter set to be used in decoding, resulting in decoding errors. For example, a first The picture parameter set (PPS: Picture Parameter Set) ID in the network abstraction layer unit of the video coding layer (VCL: Video Coding Layer) of the video is the same as the PPS ID of a certain PPS of the second video. The decoder may decode the first video VCL NALU using the PPS of the second video, resulting in a decoding error.
为了解决上述问题,现有技术由拼接器对第一视频码流中的参数集 ID进 行修改, 保证输出视频码流中参数集 ID的唯一性。 终端接收输出视频码流, 对各 VCL NALU进行解码, 根据其中的参数集 ID从通过带外方式获得的参 数集中获取 VCL NALU引用的的参数集, 使用这些参数集对 VCL NALU进 行解码。  In order to solve the above problem, the prior art modifies the parameter set ID in the first video bitstream by the splicer to ensure the uniqueness of the parameter set ID in the output video bitstream. The terminal receives the output video stream, decodes each VCL NALU, and obtains a parameter set referenced by the VCL NALU from the parameter set obtained by the out-of-band method according to the parameter set ID, and uses these parameter sets to decode the VCL NALU.
如前所述, 由于参数集 ID采用熵编码, 因此现有技术要求拼接器具备熵 解码和熵编码能力。而现有网络中的拼接器通常不具备熵解码和熵编码能力, 熵解码和熵编码操作需要较多的计算资源和存储资源,而参数集 ID在视频码 流中的出现非常频繁, 即拼接器需要进行频繁的熵解码和熵编码操作。 因此 为了让拼接器具备熵解码和熵编码能力, 需要在现有网络中的拼接器上增加 额外的硬件资源, 或者使用新的拼接器对现有网络中的拼接器进行替换, 从 而给运营商额外增加很多运营成本。 发明内容  As mentioned above, since the parameter set ID is entropy encoded, the prior art requires the splicer to have entropy decoding and entropy coding capabilities. However, splicers in existing networks usually do not have entropy decoding and entropy coding capabilities. Entropy decoding and entropy coding operations require more computing resources and storage resources, and parameter set IDs appear frequently in video streams, ie, splicing. The device requires frequent entropy decoding and entropy encoding operations. Therefore, in order to enable the splicer to have entropy decoding and entropy coding capabilities, it is necessary to add additional hardware resources to the splicer in the existing network, or use a new splicer to replace the splicer in the existing network, thereby giving the operator Adding a lot of additional operating costs. Summary of the invention
本发明提出一种数字视频码流的解码、 拼接方法和装置, 不但当终端在 解码第一视频码流时, 能够保证使用正确的参数集, 而且不需要在现有网络 的拼接器上增加额外的硬件资源, 或者使用新的拼接器对现有网络中的拼接 器进行替换, 相比于现有技术中所需的运营成本更少。  The invention provides a decoding and splicing method and device for a digital video code stream, which not only ensures that the correct parameter set is used when the terminal decodes the first video code stream, but also does not need to add extra on the splicer of the existing network. The hardware resources, or the replacement of splicers in existing networks with new splicers, are less expensive to operate than in the prior art.
本发明实施例第一方面提供一种数字视频码流的解码方法,包括:接收 第一视频码流和第一视频的参数集标识修改消息,所述第一视频的参数集标 识修改消息中包含第一视频的参数集标识 ID修改信息;根据所述第一视频的 参数集 ID修改信息获取用于解码网络抽象层单元的视频编码层 VCL NALU 的参数集的参数集 ID;根据所述用于解码 VCL NALU的参数集的参数集 ID获 取用于解码所述 VCL NALU的参数集;根据所述用于解码 VCL NALU的参数 集解码所述 VCL NALU ,并输出解码后的第一视频。 结合本发明实施例第一方面的第一实现方式,所述参数集 ID修改信息包 括待修改的参数集 ID的参数集类型和与所述待修改的参数集 ID的参数集类 型对应的原参数集 ID的偏移;所述第一视频码流中包含用于解码所述 VCL NALU的参数集的原参数集 ID;所述根据所述第一视频的参数集 ID修改信息 获取用于解码 VCL NALU的参数集的参数集 ID具体为 :根据所述待修改的 参数集 ID的参数集类型从所述第一视频码流中获取与所述待修改的参数集 ID的参数集类型对应的所述原参数集 ID;根据所述原参数集 ID以及与所述待 修改的参数集 ID的参数集类型对应的原参数集 ID的偏移获取与所述待修改 的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 结合本发明实施例第一方面的第二实现方式,所述参数集 ID修改信息包 括待修改的参数集 ID的参数集类型和用于解码 VCL NALU的参数集的参数 集 ID;所述根据所述第一视频的参数集 ID修改信息获取所述用于解码 VCL NALU的参数集的参数集 ID具体为 :根据所述待修改的参数集 ID的参数集 类型从所述参数集 ID修改信息中获取与所述待修改的参数集 ID的参数集类 型对应的用于解码 VCL NALU的参数集的参数集 ID。 A first aspect of the embodiments of the present invention provides a method for decoding a digital video code stream, including: receiving a first video code stream and a parameter set identifier modification message of the first video, where the parameter set identifier modification message of the first video includes a parameter set identifier ID modification information of the first video; acquiring a parameter set ID of a parameter set for decoding a video coding layer VCL NALU of the network abstraction layer unit according to the parameter set ID modification information of the first video; Decoding a parameter set ID of a parameter set of the VCL NALU to obtain a parameter set for decoding the VCL NALU; decoding the VCL NALU according to the parameter set for decoding the VCL NALU, and outputting the decoded first video. With reference to the first implementation manner of the first aspect of the embodiment, the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and an original parameter corresponding to the parameter set type of the parameter set ID to be modified. An offset of the set ID; the first video code stream includes an original parameter set ID for decoding a parameter set of the VCL NALU; and the parameter set ID modification information acquisition according to the first video is used to decode the VCL The parameter set ID of the parameter set of the NALU is specifically obtained by acquiring, according to the parameter set type of the parameter set ID to be modified, a location corresponding to the parameter set type of the parameter set ID to be modified from the first video code stream. Deriving the original parameter set ID; obtaining the parameter set type of the parameter set ID to be modified according to the original parameter set ID and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified The corresponding parameter set for decoding the parameter set of the VCL NALU is combined with the second implementation manner of the first aspect of the embodiment of the present invention. The parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and is used for decoding the VCL. NALU parameter set a parameter set ID according to the parameter set ID modification information of the first video, and the parameter set ID of the parameter set for decoding the VCL NALU is specifically: according to the parameter set type of the parameter set ID to be modified The parameter set ID modification information acquires a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
合本发明实施例第一方面的第三实现方式,所述参数集 ID修改信息包括 待修改的参数集 ID的参数集类型的原参数集 ID, 以及与所述原参数集 ID对 应的用于解码 VCL NALU的参数集的参数集 ID;  In a third implementation manner of the first aspect of the embodiments of the present invention, the parameter set ID modification information includes an original parameter set ID of a parameter set type of the parameter set ID to be modified, and a corresponding to the original parameter set ID. Decoding the parameter set ID of the parameter set of the VCL NALU;
所述根据所述第一视频的参数集 ID修改信息获取所述用于解码 VCL Determining, according to the parameter set ID modification information of the first video, the decoding used to decode the VCL
NALU的参数集的参数集 ID具体为 :根据所述待修改的参数集 ID的参数集 类型对应的原参数集 ID获取所述原参数集 ID对应的用于解码 VCL NALU的 参数集的参数集 ID。 The parameter set ID of the parameter set of the NALU is specifically: acquiring a parameter set of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified. ID.
本发明实施例第一方面的第四实现方式,所述第一视频参数集 ID修改信 息为待修改的参数集 ID的参数集类型, 该方法进一步包括: 向拼接器发送实 时传输控制协议 RTCP请求,所述 RTCP请求包含所述待修改参数集 ID的参 数集类型;接收所述拼接器返回的 RTCP响应, 所述 RTCP响应中携带与待修 改的参数集 ID的参数集类型对应的原参数集 ID的偏移或与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID, 或者与 待修改的参数集 ID的参数集类型的所述原参数集 ID以及与所述原参数集 ID 对应的用于解码 VCL NALU的参数集的参数集 ID;所述根据所述第一视频的 参数集 ID修改信息获取所述用于解码 VCL NALU的参数集的参数集 ID具体 为 :根据所述 RTCP响应中携带的与待修改的参数集 ID的参数集类型对应的 原参数集 ID的偏移或与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID, 或者根据与待修改的参数集 ID的参数集 类型的原参数集 ID以及与原参数集 ID对应的用于解码 VCL NALU的参数集 的参数集 ID ,从所述参数集 ID修改信息中获取与所述待修改的参数集 ID的 参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID。 In a fourth implementation manner of the first aspect of the embodiment, the first video parameter set ID modification information is a parameter set type of the parameter set ID to be modified, and the method further includes: sending a real-time transmission control protocol RTCP request to the splicer The RTCP request includes a parameter set type of the parameter set ID to be modified; receiving an RTCP response returned by the splicer, where the RTCP response carries an original parameter set corresponding to a parameter set type of a parameter set ID to be modified. The offset of the ID or the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or the original parameter set ID of the parameter set type of the parameter set ID to be modified And with the original parameter set ID Corresponding parameter set ID of the parameter set for decoding the VCL NALU; the parameter set ID of the parameter set for decoding the VCL NALU according to the parameter set ID modification information of the first video is specifically: according to the The parameter set of the parameter set for decoding the VCL NALU corresponding to the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified carried in the RTCP response or the parameter set type of the parameter set ID to be modified ID, or from the parameter set ID modification information according to the original parameter set ID of the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID Obtaining a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
结合本发明的任意实现方式的第一可能,所述根据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集之前该 方法进一步包括:通过带外方式获取第一视频的修改后的参数集, 所述修改 后的参数集中的参数集 ID为用于解码 VCL NALU的参数集的参数集 ID; 或 通过带外方式获取第一视频的原参数集以及用于解码 VCL NALU的参数集的 参数集 ID,所述第一视频的原参数集中携带所述原参数集 ID; 根据所述用于 解码 VCL NALU的参数集的参数集 ID修改所述原参数集 ID。  In conjunction with a first possibility of any implementation of the present invention, the method further includes: by means of an out-of-band method, before obtaining a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU Obtaining a modified parameter set of the first video, where the parameter set ID of the modified parameter set is a parameter set ID of a parameter set used for decoding the VCL NALU; or acquiring an original parameter set of the first video by using an outband manner; a parameter set ID for decoding a parameter set of the VCL NALU, the original parameter set of the first video carries the original parameter set ID; modifying the original parameter according to the parameter set ID of the parameter set for decoding the VCL NALU Set ID.
结合本发明的任意实现方式的第二可能,所述待修改的参数集 ID的参数 集类型为 VCL NALU直接引用的参数集类型,所述根据所述第一视频的参数 集 ID修改信息获取用于解码 VCL NALU的参数集的参数集 ID具体为 :获取 与所述 VCL NALU直接引用的参数集类型对应的用于解码 VCL NALU的 VCL NALU直接引用的参数集的参数集 ID ,该方法进一步包括:根据获取的 用于解码 VCL NALU的 VCL NALU直接引用的参数集的参数集 ID获取所述 第一视频码流中 VCL NALU直接引用的参数集;从所述直接引用的参数集中 获取用于解码 VCL NALU的 VCL NALU间接引用的参数集的参数集 ID;或, 所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参数集 类型和所述 VCL NALU间接引用的参数集类型,所述根据所述第一视频的参 数集 ID修改信息获取用于解码 VCL NALU的参数集的参数集 ID具体为 :分 别根据所述第一视频的参数集 ID修改信息获取与所述 VCL NALU直接引用 的参数集类型对应的用于解码 VCL NALU的 VCL NALU的直接引用的参数 集的参数集 ID ,以及获取与所述 VCL NALU间接引用的参数集类型对应的 用于解码 VCL NALU的 VCL NALU间接引用的参数集的参数集 ID;所述根据 所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集具体为 :根据获取的直接引用的参数集的参数集 ID以及间接 引用的参数集的参数集 ID获取所述 VCL NALU的直接引用的参数集以及所 述 VCL NALU的间接引用的参数集; With reference to the second possibility of any implementation of the present invention, the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and the information acquisition is modified according to the parameter set ID of the first video. The parameter set ID of the parameter set for decoding the VCL NALU is specifically: obtaining a parameter set ID of a parameter set for directly decoding a VCL NALU directly referenced by the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU, the method further comprising Obtaining, according to the obtained parameter set ID of the parameter set directly used by the VCL NALU for decoding the VCL NALU, the parameter set directly referenced by the VCL NALU in the first video code stream; obtaining the decoding from the directly referenced parameter set The parameter set ID of the parameter set indirectly referenced by the VCL NALU of the VCL NALU; or the parameter set type of the parameter set ID to be modified is the parameter set type directly referenced by the VCL NALU and the parameter set indirectly referenced by the VCL NALU The parameter set ID of the parameter set for decoding the VCL NALU according to the parameter set ID modification information of the first video is specifically: respectively according to the parameter set of the first video The ID modification information acquires a parameter set ID of a directly referenced parameter set of the VCL NALU for decoding the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU, and acquires a parameter set type corresponding to the VCL NALU indirect reference a parameter set ID of a parameter set for indirect reference of a VCL NALU for decoding a VCL NALU; The parameter set ID of the parameter set for decoding the VCL NALU acquires a parameter set for decoding the VCL NALU, specifically: a parameter set ID according to the obtained directly referenced parameter set and a parameter set ID of the indirectly referenced parameter set Obtaining a parameter set of a direct reference of the VCL NALU and a parameter set of an indirect reference of the VCL NALU;
所述根据所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并 输出解码后的第一视频具体为 :根据获取的所述 VCL NALU的直接引用的参 数集以及所述 VCL NALU的间接引用的参数集解码所述 VCL NALU,并输出 解码后的第一视频。  Decoding the VCL NALU according to the parameter set for decoding the VCL NALU, and outputting the decoded first video is specifically: a parameter set according to the obtained directly referenced VCL NALU and an indirect of the VCL NALU The referenced parameter set decodes the VCL NALU and outputs the decoded first video.
本发明实施例第二方面还提供了一种数字视频码流的拼接的方法,包括: 从应用服务器接收第一视频码流的信息,所述第一视频码流的信息包括第一 视频的参数集修改信息;根据所述第一视频参数集修改信息向终端发送第一 视频码流和第一视频的参数集标识修改消息, 所述第一视频的参数集标识修 改消息携带第一视频的参数集标识 ID修改信息,以便于终端根据第一视频的 参数集 ID修改信息获取用于解码网络抽象层单元的视频编码层 VCL NALU 的参数集的参数集 ID,以及终端根据所述用于解码 VCL NALU的参数集的参 数集 ID获取用于解码 VCL NALU的参数集,以及终端根据所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并输出解码后的第一视频。  A second aspect of the embodiments of the present invention further provides a method for splicing a digital video code stream, including: receiving information of a first video code stream from an application server, where information of the first video code stream includes parameters of a first video stream And modifying the information according to the first video parameter set, and sending, by the first video parameter set, the first video code stream and the parameter set identifier modification message of the first video, where the parameter set identifier modification message of the first video carries the parameter of the first video And the identifier ID modification information is obtained, so that the terminal acquires a parameter set ID of a parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and the terminal is used to decode the VCL according to the The parameter set ID of the parameter set of the NALU acquires a parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoded first video.
结合本发明实施例第二方面的第一实现方式,第一视频的参数集 ID修改 信息为待修改的参数集 ID的参数集类型,该方法进一步包括:接收终端发送 的实时传输控制协议 RTCP请求, 所述 RTCP请求包含所述待修改参数集 ID 的参数集类型;向终端返回 RTCP响应, 所述 RTCP响应中携带与所述待修改 的参数集 ID的参数集类型对应的原参数集 ID的偏移、 或携带与所述待修改 的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID、 或者携带与待修改的参数集 ID的参数集类型的所述原参数集 ID以及与 所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。  With reference to the first implementation manner of the second aspect of the embodiment of the present invention, the parameter set ID modification information of the first video is a parameter set type of the parameter set ID to be modified, and the method further includes: receiving a real-time transmission control protocol RTCP request sent by the terminal The RTCP request includes the parameter set type of the parameter set ID to be modified; and returns an RTCP response to the terminal, where the RTCP response carries the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified. Offset, or a parameter set ID carrying a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or the original of the parameter set type carrying the parameter set ID to be modified A parameter set ID and a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the original parameter set ID.
结合本发明实施例第二方面的第二实现方式,所述参数集 ID修改信息包 括待修改的参数集 ID的参数集类型和与所述待修改的参数集 ID的参数集类 型对应的原参数集 ID的偏移,或包括所述待修改的参数集 ID的参数集类型 和用于解码 VCL NALU的参数集的参数集 ID ,或包括待修改的参数集 ID的 参数集类型的所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID ,所述参数集 ID修改信息进一步包含修改生效 标志,所述根据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解 码所述 VCL NALU的参数集之前,该方法进一步包括:向终端发送所述第二 视频码流的时发送不生效的第一视频的参数集标识修改消息;接收终端发送 的第二媒体描述信息获取请求;向终端返回第二媒体描述信息获取响应,所述 第二媒体描述信息获取响应中携带第一视频的修改后的参数集,所述第一视 频的修改后的参数集中的参数集 ID为用于解码 VCL NALU的参数集的参数 集 ID。 With reference to the second implementation manner of the second aspect of the embodiment of the present invention, the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and an original parameter corresponding to the parameter set type of the parameter set ID to be modified. The offset of the set ID, or the parameter set type including the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU, or the original of the parameter set type including the parameter set ID to be modified a parameter set ID and a decoding corresponding to the original parameter set ID for decoding the VCL a parameter set ID of a parameter set of the NALU, the parameter set ID modification information further comprising a modification effective flag, the parameter set for decoding the VCL NALU being acquired according to the parameter set ID of the parameter set for decoding the VCL NALU The method further includes: sending a parameter set identifier modification message of the first video that is not valid when the second video code stream is sent to the terminal; receiving a second media description information acquisition request sent by the terminal; returning the second to the terminal The media description information acquisition response, the second media description information acquisition response carries a modified parameter set of the first video, and the parameter set ID of the modified parameter set of the first video is a parameter used for decoding the VCL NALU The parameter set ID of the set.
本发明实施例第三方面提供了一种数字视频码流的拼接方法,包括:接 收第一内容服务器发送的第一视频的媒体描述信息, 所述第一视频的媒体描 述信息携带第一视频的原参数集和第一视频的参数集的类型及与各类型对应 的参数集的原参数集 ID;接收第二内容服务器发送的第二视频的媒体描述信 息, 所述第二视频的媒体描述信息中携带第二视频的参数集第二视频参数集 的类型及与各类型对应的参数集的参数集 ID;确定同一类型的第一视频的参 原参数集 ID与第二视频的参数集的参数集 ID相同, 以及确定第一视频的参 数集标识修改信息;向拼接器发送第一视频流的信息,所述第一视频码流的信 息包括第一视频的参数集标识修改信息,所述第一视频的参数集修改标识信 息携带在第一视频的参数集标识修改消息中,以便于拼接器将所述第一视频 的参数集标识修改消息发送给终端,以及以便于终端根据所述第一视频的参 数集标识修改消息解码并输出第一视频。  A third aspect of the embodiments of the present invention provides a method for splicing a digital video code stream, including: receiving media description information of a first video sent by a first content server, where media description information of the first video carries a first video The original parameter set and the parameter set of the first video and the original parameter set ID of the parameter set corresponding to each type; the media description information of the second video sent by the second content server, and the media description information of the second video The parameter set of the second video parameter set carrying the second video and the parameter set ID of the parameter set corresponding to each type; determining the parameter set ID of the first video of the same type and the parameter set of the second video The set ID is the same, and the parameter set identification modification information of the first video is determined; the information of the first video stream is sent to the splicer, where the information of the first video code stream includes parameter set identification modification information of the first video, where The parameter set modification identifier information of a video is carried in the parameter set identifier modification message of the first video, so that the splicer sets the parameters of the first video. Modify message to the terminal identification, and to modify the decoded message to the terminal according to the first set of parameters identifying the video and outputs the first video.
本发明实施例第四方面提供了一种数字视频码流的解码装置包括:接收 模块,用于接收第一视频码流和第一视频的参数集标识修改消息,所述第一 视频的参数集标识修改消息中包含第一视频的参数集标识 ID修改信息;第一 获取模块,用于根据所接收模块接收的所述第一视频的参数集 ID修改信息获 取用于解码网络抽象层单元的视频编码层 VCL NALU的参数集的参数集 ID; 第二获取模块,用于根据所述第一获取模块获取的用于解码 VCL NALU的参 数集的参数集 ID获取用于解码所述 VCL NALU的参数集;解码输出模块,用 于根据所述第二获取模块获取的所述用于解码 VCL NALU的参数集解码所 述 VCL NALU ,并输出解码后的第一视频。  A fourth aspect of the embodiments of the present invention provides a decoding apparatus for a digital video code stream, including: a receiving module, configured to receive a first video code stream and a parameter set identifier modification message of the first video, where the parameter set of the first video The identifier modification message includes parameter set identifier ID modification information of the first video, and the first obtaining module is configured to obtain a video for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video received by the receiving module. a parameter set ID of a parameter set of the coding layer VCL NALU; a second acquisition module, configured to acquire a parameter for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU acquired by the first acquisition module And a decoding output module, configured to decode the VCL NALU according to the parameter set for decoding the VCL NALU acquired by the second acquiring module, and output the decoded first video.
结合本发明实施例第四方面的第一实现方式,所述参数集 ID修改信息包 括待修改的参数集 ID的参数集类型和与所述待修改的参数集 ID的参数集类 型对应的原参数集 ID的偏移;所述第一视频码流中包含用于解码所述 VCL NALU的参数集的原参数集 ID;所述第一获取模块具体用于:根据所述接收模 块接收的所述待修改的参数集 ID的参数集类型从所述第一码流中获取与所 述待修改的参数集 ID的参数集类型对应的所述原参数集 ID;根据所述原参数 集 ID以及所述待修改的参数集 ID的参数集类型对应的原参数集 ID的偏移从 获取与所述待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的 参数集的参数集 ID。 With reference to the first implementation manner of the fourth aspect of the embodiment of the present invention, the parameter set ID modification information packet And a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified; the first video code stream includes the VCL for decoding The original parameter set ID of the parameter set of the NALU; the first acquiring module is specifically configured to: obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, from the first code stream Determining the original parameter set ID corresponding to the parameter set type of the modified parameter set ID; and offsetting the original parameter set ID corresponding to the original parameter set ID and the parameter set type of the parameter set ID to be modified Obtaining a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
结合本发明实施例第四方面的第二实现方式,所述参数集 ID修改信息包 括待修改的参数集 ID的参数集类型和用于解码 VCL NALU的参数集的参数 集 ID ,所述第一获取模块具体用于:根据所述接收模块接收的待修改的参数 集 ID的参数集类型从所述参数集 ID修改信息中获取与所述待修改的参数集 ID的参数集类型对应的用用于解码 VCL NALU的参数集的参数集 ID。  With reference to the second implementation manner of the fourth aspect of the embodiment of the present invention, the parameter set ID modification information includes a parameter set type of a parameter set ID to be modified and a parameter set ID of a parameter set for decoding a VCL NALU, where the first The obtaining module is specifically configured to: obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, the use of the parameter set type corresponding to the parameter set ID to be modified from the parameter set ID modification information. The parameter set ID of the parameter set for decoding VCL NALU.
合本发明实施例第四方面的第三实现方式,所述参数集 ID修改信息为待 修改的参数集 ID的参数集类型的原参数集 ID、与所述原参数集 ID对应的用 于解码 VCL NALU的参数集的参数集 ID;所述第一获取模块具体用于:根据 所述接收模块接收的所述待修改的参数集 ID的参数集类型对应的所述原参 数集 ID获取所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。  In a third implementation manner of the fourth aspect of the embodiments of the present invention, the parameter set ID modification information is an original parameter set ID of a parameter set type of the parameter set ID to be modified, and the original parameter set ID is used for decoding. a parameter set ID of a parameter set of the VCL NALU; the first obtaining module is configured to: obtain the information according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified received by the receiving module The parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID.
本发明实施例第五方面提供了一种数字视频码流的拼接装置,包括: 接收模块,用于从应用服务器接收第一视频码流的信息,所述第一视频 码流信息包括第一视频的参数集修改信息;发送模块,用于根据所述接收模块 接收的所述第一视频参数集修改信息向终端发送第一视频码流和第一视频的 参数集标识修改消息, 所述第一视频的参数集标识修改消息携带第一视频的 参数集标识 ID修改信息,以便于终端根据第一视频的参数集 ID修改信息获 取用于解码网络抽象层单元的视频编码层 VCL NALU的参数集的参数集 ID , 以及终端根据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码 所述 VCL NALU的参数集,以及终端根据所述用于解码 VCL NALU的参数 集解码所述 VCL NALU ,并输出解码后的第一视频。  A fifth aspect of the embodiments of the present invention provides a splicing apparatus for a digital video code stream, including: a receiving module, configured to receive information of a first video code stream from an application server, where the first video code stream information includes a first video a parameter set modification information, the sending module, configured to send, according to the first video parameter set modification information received by the receiving module, a first video code stream and a parameter set identifier modification message of the first video, where the first The parameter set identifier modification message of the video carries the parameter set identifier ID modification information of the first video, so that the terminal acquires the parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video. a parameter set ID, and the terminal acquires a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU, and the terminal decodes the VCL according to the parameter set for decoding the VCL NALU NALU and output the decoded first video.
本发明实施例第五方面提供了一种数字视频码流的拼接装置,包括: 第一接收模块, 用于接收第一内容服务器发送的第一视频的媒体描述信 息, 所述第一视频的媒体描述信息携带第一视频的原参数集和第一视频的参 数集的类型及与各类型对应的参数集的原参数集 ID;第二接收模块,用于接收 第二内容服务器发送的第二视频的媒体描述信息, 所述第二视频的媒体描述 信息中携带第二视频的参数集、 第二视频参数集的类型及与各类型对应的参 数集的参数集 ID;确定模块,用于确定同一类型的所述第一接收模块接收的第 一视频的原参数集 ID与所述第二接收模块接收的第二视频参数集 ID相同, 以及确定第一视频的参数集标识修改信息;发送模块, 用于向拼接器发送第一 视频流的信息,所述第一视频码流的信息包括第一视频的参数集修改信息, 所述第一视频的参数集修改信息携带在第一视频的参数集标识修改消息中, 以便于拼接器将所述第一视频的参数集标识修改消息发送给终端,以及以便 于终端根据所述第一视频的参数集标识修改消息解码并输出第一视频。 A fifth aspect of the embodiments of the present invention provides a splicing apparatus for a digital video code stream, including: The first receiving module is configured to receive the media description information of the first video sent by the first content server, where the media description information of the first video carries the original parameter set of the first video and the type of the parameter set of the first video and The original parameter set ID of the parameter set corresponding to each type; the second receiving module is configured to receive the media description information of the second video sent by the second content server, where the media description information of the second video carries the parameter of the second video a set, a type of the second video parameter set, and a parameter set ID of the parameter set corresponding to each type; a determining module, configured to determine an original parameter set ID of the first video received by the first receiving module of the same type, The second video parameter set ID received by the second receiving module is the same, and the parameter set identification modification information of the first video is determined; the sending module is configured to send information of the first video stream to the splicer, where the first video code stream is The information includes the parameter set modification information of the first video, and the parameter set modification information of the first video is carried in the parameter set identifier modification message of the first video, so as to facilitate Connector set of parameters identifying the first video modification message sent to the terminal, decode the message and to modify the parameter set according to the terminal identifier of the first video and outputs the first video.
由以上实施例可知, 通过第一视频的参数集标识修改消息中包含第一视 频的参数集标识 ID修改信息,以便终端根据参数集标识 ID修改信息解码输 出第一视频,从而无需拼接器对第一视频码流的各 VCL NALU中的参数集 ID 进行修改,不但当终端在解码第一视频码流时, 能够保证使用正确的参数集, 而且不需要在现有网络的拼接器上增加额外的硬件资源, 或者使用新的拼接 器对现有网络中的拼接器进行替换,相比于现有技术中所需的运营成本更少。 附图说明 为了更清楚地说明本申请实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下 面描述中的附图是本申请的一些实施例, 对于本领域普通技术人员来讲, 在 不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。  It can be seen from the foregoing embodiment that the parameter set identifier ID modification information of the first video is modified by the parameter set identifier of the first video, so that the terminal decodes and outputs the first video according to the parameter set identifier ID modification information, thereby eliminating the need for a splicer pair. The parameter set ID in each VCL NALU of a video stream is modified, not only when the terminal decodes the first video stream, but also ensures that the correct parameter set is used, and there is no need to add extra on the splicer of the existing network. Hardware resources, or the replacement of splicers in existing networks with new splicers, requires less operational cost than in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief description of the drawings used in the embodiments or the prior art description will be briefly described below. The drawings are some embodiments of the present application, and those skilled in the art can obtain other drawings based on these drawings without any inventive labor.
图 1 为本发明实施例提供的典型数字视频码流的拼接的网络系统架构 图;  1 is a network system architecture diagram of a splicing of a typical digital video code stream according to an embodiment of the present invention;
图 2为本发明实施例提供的输出视频码流与第二视频码流、 第一视频码 流的关系示意图;  2 is a schematic diagram of relationship between an output video code stream, a second video code stream, and a first video code stream according to an embodiment of the present invention;
图 3为本发明实施例提供的遵循 HEVC标准的视频码流的 VCL NALU 与参数集之间引用的示意图; 图 4为本发明实施例提供的数字视频码流的解码方法的流程图; 图 5为本发明实施例提供的数字视频码流的拼接方法的流程图; 图 6为本发明实施例提供的另一数字视频码流的拼接方法的流程图; 图 7为本发明实施例还提供的另一数字视频码流的拼接方法的流程图; 图 8为本发明实施例提供的实时传输控制协议参数集标识修改信息请求3 is a schematic diagram of reference between a VCL NALU and a parameter set of a video code stream complying with the HEVC standard according to an embodiment of the present invention; 4 is a flowchart of a method for decoding a digital video code stream according to an embodiment of the present invention; FIG. 5 is a flowchart of a method for splicing a digital video code stream according to an embodiment of the present invention; A flowchart of a method for splicing a digital video stream; FIG. 7 is a flowchart of another method for splicing a digital video stream according to an embodiment of the present invention; FIG. 8 is a parameter set of a real-time transmission control protocol according to an embodiment of the present invention; Identification modification information request
( RTCP PSIC-R: Real-time Transport Control Protocol Parameter Set ID Change - Request ) 消息的结构示意图; ( RTCP PSIC-R: Real-time Transport Control Protocol Parameter Set ID Change - Request)
图 9 为本发明实施例提供的反馈控制信息 (FCI : Feedback Control Information ) 的结构示意图;  FIG. 9 is a schematic structural diagram of feedback control information (FCI: Feedback Control Information) according to an embodiment of the present disclosure;
图 10为本发明实施例提供的另一反馈控制信息 ( FCI: Feedback Control FIG. 10 is another feedback control information provided by an embodiment of the present invention (FCI: Feedback Control)
Information ) 的结构示意图; Schematic diagram of Information);
图 11为本发明实施例提供的又一反馈控制信息 (FCI: Feedback Control Information ) 的结构示意图;  FIG. 11 is a schematic structural diagram of still another feedback control information (FCI: Feedback Control Information) according to an embodiment of the present disclosure;
图 12为本发明实施例提供的又一反馈控制信息 (FCI: Feedback Control Information ) 的结构示意图;  FIG. 12 is a schematic structural diagram of still another feedback control information (FCI: Feedback Control Information) according to an embodiment of the present disclosure;
图 13为本发明实例提供的数字视频码流的拼接方法的流程图;  13 is a flowchart of a method for splicing a digital video code stream according to an example of the present invention;
图 14为本发明实例提供的数字视频码流的拼接方法的流程图;  14 is a flowchart of a method for splicing a digital video code stream according to an example of the present invention;
图 15为本发明实施例提供的数字视频码流的解码装置的结构示意图; 图 16为本发明实施例提供的数字视频码流的拼接装置的结构示意图; 图 17为本发明实施例提供的数字视频码流的拼接装置的结构示意图; 图 18 为本发明实施例提供的数字视频码流的解码装置或拼接装置的结 构示意图。 具体实施方式 为使本申请实施例的目的、 技术方案和优点更加清楚, 下面将结合本申 请实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本申请一部分实施例, 而不是全部的实施例。 基于 本申请中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例, 都属于本申请保护的范围。  FIG. 15 is a schematic structural diagram of a digital video code stream decoding apparatus according to an embodiment of the present invention; FIG. 16 is a schematic structural diagram of a digital video code stream splicing apparatus according to an embodiment of the present invention; FIG. 18 is a schematic structural diagram of a decoding apparatus or a splicing apparatus for a digital video code stream according to an embodiment of the present invention. The technical solutions in the embodiments of the present application are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present application. The embodiments are part of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present application without departing from the inventive scope are the scope of the present invention.
另外, 本文中术语"和 /或", 仅仅是一种描述关联对象的关联关系, 表示 可以存在三种关系, 例如, A和 /或 可以表示: 单独存在 , 同时存在 A 和 单独存在 B这三种情况。 另外, 本文中字符" /", 一般表示前后关联对 象是一种"或"的关系。 图 1为本发明实施例提供的典型的码流拼接系统架构图, 主要包括第二 编码器、 第一编码器、 第二内容服务器, 第一内容服务器、 拼接器、 路由器 和终端。 其中, 第二编码器和第二内容服务器连接, 第二内容服务器将由第 二编码器输出的视频码流作为第二视频码流提供给拼接器。 第一编码器和第一内容服务器连接, 第一内容服务器将由第一编码器输 出的视频码流作为第一视频码流提供给拼接器。 拼接器: 分别从第二内容服务器和第一内容服务器接收第二视频码流和 第一视频码流。 在拼接时段, 把第一视频码流发送给终端, 在其他时段将第 二视频码流发给终端。 本发明实施例将拼接器发送给终端的视频码流(包含 第二视频码流和第一视频码流)统称为输出视频码流。参考为本发明实施例 提供的输出视频码流与第二视频码流、 第一视频码流的关系示意图即图 2。 在拼接时段, 输出视频码流为第一视频码流; 在其他时段, 输出视频码流为 第二视频码流。 将拼接时段的起点即开始输出第一视频码流的时间点称为拼 接点; 将拼接时段的终点即结束输出第一视频码流的时间点称为返回点。 拼 接器通常位于互联网协议( IP , Internet Protocol )网络边缘的物理实体上, 比如路由器、 边缘媒体服务器。 这些物理实体通常不像编码器、 解码器一 样智能, 比如不像编码器、 解码器一样具备熵编码和 /或熵解码能力。 拼接 器和内容服务器可以位于同一物理实体上, 也可以位于不同物理实体上。 应用服务器: 分别接收第二内容服务器、 第一内容服务器发送的媒体 描述信息, 向终端发送用于解码输出视频码流的媒体描述信息 (媒体描述 信息中包含用于解码接收到的视频流的参数集及参数集 ID ) 。 路由器作为传输路由的设备。 终端根据接收到的应用服务器发送的媒体描述信息, 接收拼接器发送的 输出视频码流, 对输出视频码流进行解码并显示。 图 3为本发明实施例提供的遵循 HEVC标准的视频码流的 VCL NALU 与参数集之间引用的示意图。 如图 3所示, 视频码流遵循 HEVC标准, VPS、 SPS. PPS和 APS中分别包含该参数集对应的参数集 ID,即分别包含 VPS ID、 SPS ID、 PPS ID和 APS ID。 PPS、 APS为 VCL NALU直接引用的参数集, PPS , APS 中包含的参数可以被同一或多个图片的所有编码片 NALU (即 VCL NALU )直接引用,其中每一个 VCL NALU中都包含 PPS ID和 APS ID。 SPS , VPS为 VCL NALU间接引用的参数集, SPS中包含的参数可以被一个 或多个 PPS引用, 因此 PPS中还包含 SPS ID, 相应 VCL NALU通过 PPS间 接引用 SPS; VPS中包含的参数可以被一个或多个 SPS引用, 因此 SPS中还 包含 VPS ID, 相应 VCL NALU通过 PPS间接引用 SPS, 再通过 SPS间接引 用 VPS。 参数集 ID的值为无符号整数,并且大部分参数集 ID采用了熵编码, 比如采用无符号指数哥伦布编码。 采用熵编码的目的是为了提高编码效率, 熵编码的特点是, 编码得到的码字是变长的, 数值越小, 表示数值所需的比 特数越少。 In addition, the term "and / or" in this article is merely an association describing the associated object, indicating There may be three relationships, for example, A and/or may represent: Alone, there are three cases of A and B alone. In addition, the character "/" in this article generally means that the contextual object is an "or" relationship. FIG. 1 is a schematic structural diagram of a code stream splicing system according to an embodiment of the present invention, which mainly includes a second encoder, a first encoder, a second content server, a first content server, a splicer, a router, and a terminal. The second encoder is connected to the second content server, and the second content server provides the video code stream output by the second encoder as a second video code stream to the splicer. The first encoder is coupled to the first content server, and the first content server provides the video stream output by the first encoder as a first video stream to the splicer. Splicer: The second video stream and the first video stream are received from the second content server and the first content server, respectively. During the splicing period, the first video code stream is sent to the terminal, and the second video code stream is sent to the terminal at other time periods. In the embodiment of the present invention, the video code stream (including the second video code stream and the first video code stream) sent by the splicer to the terminal is collectively referred to as an output video code stream. FIG. 2 is a schematic diagram showing a relationship between an output video code stream and a second video code stream and a first video code stream according to an embodiment of the present invention. During the splicing period, the output video stream is the first video stream; at other times, the output video stream is the second video stream. The starting point of the splicing period, that is, the point at which the first video stream is outputted, is referred to as a splicing point; the end point of the splicing period, that is, the point at which the end of the output of the first video stream is ended, is referred to as a return point. The splicer is usually located on a physical entity at the edge of the Internet Protocol (IP) network, such as a router or an edge media server. These physical entities are usually not as intelligent as encoders and decoders, such as entropy coding and/or entropy decoding, unlike encoders and decoders. The splicer and content server can be on the same physical entity or on different physical entities. The application server: respectively receiving media description information sent by the second content server and the first content server, and sending media description information for decoding the output video code stream to the terminal (the media description information includes parameters for decoding the received video stream) Set and parameter set ID). The router acts as a device for transmitting routes. The terminal receives the output video code stream sent by the splicer according to the received media description information sent by the application server, and decodes and displays the output video code stream. FIG. 3 is a schematic diagram of reference between a VCL NALU and a parameter set of a video code stream complying with the HEVC standard according to an embodiment of the present invention. As shown in FIG. 3, the video code stream conforms to the HEVC standard, and the VPS, the SPS, the PPS, and the APS respectively include the parameter set ID corresponding to the parameter set, that is, the VPS ID, the SPS ID, the PPS ID, and the APS ID, respectively. PPS and APS are the parameter sets directly referenced by VCL NALU. The parameters contained in PPS and APS can be directly referenced by all code fragments NALU (that is, VCL NALU) of the same picture or pictures. Each VCL NALU contains the PPS ID and APS ID. SPS, VPS is a parameter set indirectly referenced by VCL NALU. The parameters contained in SPS can be referenced by one or more PPSs. Therefore, the PPS also contains the SPS ID. The corresponding VCL NALU indirectly references the SPS through the PPS. The parameters contained in the VPS can be One or more SPS references, so the SPS also contains the VPS ID, and the corresponding VCL NALU indirectly references the SPS through the PPS, and indirectly references the VPS through the SPS. The value of the parameter set ID is an unsigned integer, and most parameter set IDs are entropy encoded, such as unsigned exponential Columbus encoding. The purpose of entropy coding is to improve coding efficiency. The characteristic of entropy coding is that the codeword obtained by coding is variable in length, and the smaller the value, the smaller the number of bits required to represent the value.
应用服务器向终端传输参数集传输时, 需要保证位于终端的解码器在收 到 VCL NALU前, 先收到该 VCL NALU引用的参数集, 包括直接引用的参 数集和间接引用的参数集, 因此参数集通常通过带外方式传输。 比如, 将参 数集作为一种媒体描述信息, 在会话建立前或者在会话建立过程中, 发送给 终端。 如果会话当中, 参数集发生了更改, 则在会话更改过程中或者通过会 话中通知消息, 将参数集发送给终端。 参数集的封装格式有多种, 包括但不 限于会话描述协议( SDP: Session Description Protocol )的参数、 可扩展标记 语言 ( XML: Extensible Markup Language ) 的元素 ( element ) 。 参数集的发 送可以基于多种协议方法, 包括但不限于会话初始化协议 ( SIP : Session Initiation Protocol )邀倚( Invite )、 SIP重邀倚( Re-Invite )、 SIP更新( Update )、 SIP通知(Info ) 、 实时流传输协议( RTSP: Real Time Streaming Protocol ) 描述(Describe ) 、 RTSP通知(Notify ) 、 RTSP播放通知(Play-Notify ) 、 RTSP设置参数 ( Set Parameter ) 、 RTSP获取参数 ( Get Parameter ) 、 超文本 传输协议( HTTP: Hypertext Transfer Protocol )获取( Get )、 HTTP发送( Post ) 等协议方法其中之一。  When the application server transmits the parameter set transmission to the terminal, it needs to ensure that the decoder located in the terminal receives the parameter set referenced by the VCL NALU before receiving the VCL NALU, including the directly referenced parameter set and the indirectly referenced parameter set, so the parameter Sets are usually transmitted in an out-of-band manner. For example, the parameter set is used as a kind of media description information, which is sent to the terminal before the session is established or during the session establishment process. If the parameter set has changed during the session, the parameter set is sent to the terminal during the session change or through the notification message in the session. There are various encapsulation formats for parameter sets, including but not limited to the parameters of the Session Description Protocol (SDP), and the elements of the Extensible Markup Language (XML). The sending of the parameter set can be based on a variety of protocol methods, including but not limited to Session Initiation Protocol (SIP), Invite, Re-Invite, SIP, and SIP notification. Info), Real Time Streaming Protocol (RTSP) Description (Describe), RTSP Notification (Notify), RTSP Play Notification (Play-Notify), RTSP Set Parameter (Set Parameter), RTSP Get Parameter (Get Parameter) Hypertext Transfer Protocol (HTTP) acquires one of the protocol methods (Get) and HTTP (Post).
图 4为本发明实施例提供的一种数字视频码流的解码方法, 包括如下步 骤: FIG. 4 is a schematic diagram of a method for decoding a digital video code stream according to an embodiment of the present invention, including the following steps Step:
步骤 401、 接收第一视频码流和第一视频的参数集标识修改消息,所述 第一视频的参数集标识修改消息中包含第一视频的参数集标识 ID修改信息; 具体的 ,终端接收拼接器发送的第一视频码流和第一视频的参数集标识 修改消息,所述参数集 ID修改信息包括待修改的参数集 ID的参数集类型和 与所述待修改的参数集 ID的参数集类型对应的原参数集 ID的偏移;所述第一 视频码流中包含用于解码网络抽象层单元的视频编码层 VCL NALU的参数集 的原参数集 ID。  Step 401: Receive a parameter set identifier modification message of the first video code stream and the first video, where the parameter set identifier of the first video includes a parameter set identifier ID modification information of the first video. Specifically, the terminal receives the splicing The first video code stream sent by the device and the parameter set identifier modification message of the first video, the parameter set ID modification information including a parameter set type of the parameter set ID to be modified and a parameter set with the parameter set ID to be modified An offset of the original parameter set ID corresponding to the type; the first video code stream includes an original parameter set ID of a parameter set for decoding a video coding layer VCL NALU of the network abstraction layer unit.
作为另一种可选方式,终端接收拼接器发送的第一视频码流和第一视频 的参数集标识修改消息,所述参数集 ID修改信息包括待修改的参数集 ID的 参数集类型和用于解码 VCL NALU的参数集的参数集 ID。  In another optional manner, the terminal receives the first video code stream sent by the splicer and the parameter set identification modification message of the first video, where the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified, and The parameter set ID of the parameter set for decoding VCL NALU.
作为另一种可选方式, 终端接收拼接器发送的第一视频码流和第一视频 的参数集标识修改消息, 所述参数集 ID修改信息包括待修改的参数集 ID的 参数集类型的所述原参数集 ID、 与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。  In another optional manner, the terminal receives the first video code stream sent by the splicer and the parameter set identifier modification message of the first video, where the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified. The original parameter set ID, the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID.
所述第一视频的参数集标识修改消息是由拼接器和 /或按生成补充增强 SEI消息的方式生成的 SEI消息,具体为可以的参数集标识修改补充增强 SB 消息, 自适应参数集标识修改 SEI消息,图片参数集标识修改 SEI消息。 此 外,该 SEI消息还可以是别的类型的 SEI消息,本发明实施例在此不做限定。 所述第一视频的参数集标识修改消息与第一视频码流一起发送给终端。  The parameter set identification modification message of the first video is an SEI message generated by a splicer and/or in a manner of generating a supplemental enhanced SEI message, specifically a parameter set identifier modification supplementary enhanced SB message, and an adaptive parameter set identifier modification The SEI message, the picture parameter set identifier modifies the SEI message. In addition, the SEI message may also be another type of SEI message, which is not limited herein. The parameter set identification modification message of the first video is sent to the terminal together with the first video code stream.
步骤 402、 根据所述第一视频的参数集 ID修改信息获取用于解码 VCL NALU的参数集的参数集 ID (即用于解码所述第一视频码流中视频编码层的 网络抽象层单元 VCL NALU的参数集的参数集 ID ,也即修改后的参数集 ID。 本申请中如不另做说明 ,修改后的参数集 ID均指用于解码所述第一视频码流 中视频编码层的网络抽象层单元 VCL NALU的参数集的参数集 ID,即用于解 码 VCL NALU的参数集的参数集 ID );  Step 402: Acquire a parameter set ID for decoding a parameter set of the VCL NALU according to the parameter set ID modification information of the first video (that is, a network abstraction layer unit VCL for decoding a video coding layer in the first video code stream. The parameter set ID of the parameter set of the NALU, that is, the modified parameter set ID. Unless otherwise stated in the present application, the modified parameter set ID refers to the video coding layer used for decoding the first video code stream. The parameter set ID of the parameter set of the network abstraction layer unit VCL NALU, that is, the parameter set ID of the parameter set used to decode the VCL NALU);
具体的,终端根据所述待修改的参数集 ID的参数集类型从第一视频码流 中获取与所述待修改的参数集 ID的参数集类型对应的原参数集 ID;根据所述 原参数集 ID以及所述待修改的参数集 ID的参数集类型对应的原参数集 ID的 偏移获取与所述待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID。 Specifically, the terminal acquires an original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified from the first video code stream according to the parameter set type of the parameter set ID to be modified; according to the original parameter The set ID and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified acquire the VCL corresponding to the parameter set type of the parameter set ID to be modified. The parameter set ID of the NALU's parameter set.
作为另一种可选方式,当所述参数集 ID修改信息包括待修改的参数集 ID 的参数集类型和用于解码 VCL NALU的参数集的参数集 ID时,终端直接根 据待修改的参数集 ID的参数集类型从所述参数集 ID修改信息中获取与所述 待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参 数集 ID。  As another alternative manner, when the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and a parameter set ID of a parameter set for decoding the VCL NALU, the terminal directly according to the parameter set to be modified. The parameter set type of the ID obtains, from the parameter set ID modification information, a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
作为另一种可选方式,当所述参数集 ID修改信息包括待修改的参数集 ID 的参数集类型的所述原参数集 ID、 以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID时, 终端根据所述待修改的参数集 ID的参 数集类型获取所述第一视频码流中与所述待修改的参数集 ID的参数集类型 对应的用于解码 VCL NALU的参数集的参数集 ID; 根据所述原参数集 ID获 取所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。 对于 此种实施方式,如待修改的参数集 ID的参数集类型包括至少一个原参数集 ID 时, 则需要获取该待修改的参数集 ID的参数集类型的与各个原参数集 ID分 别对应的用于解码 VCL NALU的参数集的参数集 ID.  In another optional manner, when the parameter set ID modification information includes the original parameter set ID of the parameter set type of the parameter set ID to be modified, and the decoding corresponding to the original parameter set ID, the VCL NALU is decoded. Obtaining, according to the parameter set type of the parameter set ID to be modified, the terminal, according to the parameter set type of the parameter set ID to be modified, the decoding corresponding to the parameter set type of the parameter set ID to be modified in the first video code stream for decoding The parameter set ID of the parameter set of the VCL NALU; the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID is obtained according to the original parameter set ID. For the implementation, if the parameter set type of the parameter set ID to be modified includes at least one original parameter set ID, the parameter set type of the parameter set ID to be modified needs to be respectively corresponding to each original parameter set ID. The parameter set ID of the parameter set used to decode the VCL NALU.
此外, 当所述参数集 ID修改信息包括待修改的参数集 ID的参数集类型 的所述原参数集 ID、 以及与所述原参数集 ID对应的用于解码 VCL NALU的 参数集的参数集 ID时, 终端还可以根据所述待修改的参数集 ID的参数集类 型对应的原参数集 ID获取所述原参数集 ID对应的用于解码 VCL NALU的参 数集的参数集 ID。  Further, when the parameter set ID modification information includes the original parameter set ID of a parameter set type of the parameter set ID to be modified, and a parameter set of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID The ID of the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID is obtained by the terminal according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified.
步骤 403、 根据所述用于解码 VCL NALU的参数集的参数集 ID获取用 于解码所述 VCL NALU的参数集;  Step 403: Acquire a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU.
具体的,终端根据所述用于解码 VCL NALU的参数集的参数集 ID获取 用于解码所述 VCL NALU的参数集。  Specifically, the terminal acquires a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU.
步骤 404、 根据所述用于解码 VCL NALU 的参数集解码所述 VCL Step 404: Decode the VCL according to the parameter set used to decode the VCL NALU.
NALU ,并输出解码后的第一视频。 NALU and output the decoded first video.
具体的, 终端根据所述用于解码 VCL NALU 的参数集解码所述 VCL NALU ,并输出解码后的第一视频。  Specifically, the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoded first video.
作为另一种可选方式,第一视频参数集 ID修改信息还可以为待修改的参 数集 ID的参数集类型, 终端向拼接器发送实时传输控制协议 RTCP请求, 所 述 RTCP请求包含所述待修改参数集 ID的参数集类型; 终端接收所述拼接器 返回的 RTCP响应,所述 RTCP响应中携带与待修改的参数集 ID的参数集类 型对应的原参数集 ID的偏移, 或者与待修改的参数集 ID的参数集类型对应 的用于解码 VCL NALU的参数集的参数集 ID ,或者与待修改的参数集 ID的 参数集类型的所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID; 所述根据所述第一视频的参数集 ID修改信息获 取所述用于解码 VCL NALU的参数集的参数集 ID具体为 :据所述 RTCP响 应中携带的与待修改的参数集 ID的参数集类型对应的原参数集 ID的偏移或 与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的 参数集 ID,或者根据与待修改的参数集 ID的参数集类型的原参数集 ID以及 与原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID ,从所述参 数集 ID修改信息中获取与所述待修改的参数集 ID的参数集类型对应的用于 解码 VCL NALU的参数集的参数集 ID。 As another optional manner, the first video parameter set ID modification information may also be a parameter set type of the parameter set ID to be modified, and the terminal sends a real-time transmission control protocol RTCP request to the splicer. The RTCP request includes the parameter set type of the parameter set ID to be modified; the terminal receives the RTCP response returned by the splicer, and the RTCP response carries the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified. Offset, or the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or the original parameter set ID of the parameter set type of the parameter set ID to be modified And a parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID; the acquiring the parameter of the parameter set for decoding the VCL NALU according to the parameter set ID modification information of the first video The set ID is specifically: according to the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified carried in the RTCP response or the parameter set type corresponding to the parameter set ID to be modified, for decoding The parameter set ID of the parameter set of the VCL NALU, or the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID according to the original parameter set ID of the parameter set type of the parameter set ID to be modified, Parameter set ID Change information acquiring the ID to be modified parameter set parameter set corresponding to the type of parameter sets a parameter set for decoding VCL NALU's ID.
作为另一种可选方式,所述参数集 ID修改信息还包括修改生效标志,所 述接收第一视频码流和第一视频的参数集标识修改消息之前,该方法进一步 包括:接收不生效的第一视频的参数集标识修改消息;确定所述不生效的第一 视频的参数集标识修改消息包含指示参数集 ID修改信息不生效的标志信息; 向应用服务器发送第二媒体描述信息获取请求;接收应用服务器返回的第二 媒体描述信息获取响应,所述第二媒体描述信息获取响应中携带第一视频的 修改后的参数集,所述第一视频修改后的参数集中的参数集 ID为所述用于解 码 VCL NALU的参数集的参数集 ID。  In another optional manner, the parameter set ID modification information further includes a modification effective flag, and before the receiving the first video code stream and the parameter set identification modification message of the first video, the method further includes: the receiving is not effective. Determining, by the parameter set of the first video, a modification message; determining that the parameter set identifier modification message of the first video that is not in effect includes flag information indicating that the parameter set ID modification information is not valid; and sending a second media description information acquisition request to the application server; And receiving, by the application server, a second media description information acquisition response, where the second media description information acquisition response carries the modified parameter set of the first video, where the parameter set ID of the parameter set in the first video modification is The parameter set ID of the parameter set used to decode the VCL NALU.
作为另一种可选方式, 所述根据所述用于解码 VCL NALU的参数集的参 数集 ID获取用于解码所述 VCL NALU的参数集之前该方法进一步包括:通 过带外方式获取第一视频的修改后的参数集, 所述修改后的参数集中的参数 集 ID为用于解码 VCL NALU的参数集的参数集 ID; 或, 通过带外方式获取 第一视频的原参数集以及用于解码 VCL NALU的参数集的参数集 ID,所述第 一视频的原参数集中携带所述原参数集 ID; 根据所述用于解码 VCL NALU的 参数集的参数集 ID修改所述原参数集 ID。  In another optional manner, before the acquiring the parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU, the method further includes: acquiring the first video by using an outband manner. The modified parameter set, the parameter set ID of the modified parameter set is a parameter set ID of a parameter set for decoding the VCL NALU; or, the original parameter set of the first video is obtained by an out-of-band method and used for decoding a parameter set ID of a parameter set of the VCL NALU, the original parameter set of the first video carries the original parameter set ID; and the original parameter set ID is modified according to the parameter set ID of the parameter set for decoding the VCL NALU.
作为另一可选方式所述待修改的参数集 ID的参数集类型为 VCL NALU 直接引用的参数集类型,所述根据所述第一视频的参数集 ID修改信息获取用 于解码 VCL NALU的参数集的参数集 ID具体为 :获取与所述 VCL NALU直 接引用的参数集类型对应的用于解码 VCL NALU的 VCL NALU直接引用的 参数集的参数集 ID ,该方法进一步包括:根据获取的用于解码 VCL NALU 的 VCL NALU直接引用的参数集的参数集 ID获取所述第一视频码流中 VCL NALU直接引用的参数集;从所述直接引用的参数集中获取用于解码 VCL NALU的 VCL NALU间接引用的参数集的参数集 ID;或 As another optional manner, the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and the information acquisition is modified according to the parameter set ID of the first video. The parameter set ID of the parameter set for decoding the VCL NALU is specifically: obtaining a parameter set ID of a parameter set for directly decoding a VCL NALU directly referenced by the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU, the method further comprising Obtaining, according to the obtained parameter set ID of the parameter set directly used by the VCL NALU for decoding the VCL NALU, a parameter set directly referenced by the VCL NALU in the first video code stream; obtaining the decoding from the directly referenced parameter set The parameter set ID of the parameter set indirectly referenced by VCL NALU of VCL NALU; or
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型和所述 VCL NALU间接引用的参数集类型,所述根据所述第一视频 的参数集 ID修改信息获取用于解码 VCL NALU的参数集的参数集 ID具体为 : 分别根据所述第一视频的参数集 ID修改信息获取与所述 VCL NALU直接引 用的参数集类型对应的用于解码 VCL NALU的 VCL NALU的直接引用的参 数集的参数集 ID ,以及获取与所述 VCL NALU间接引用的参数集类型对应 的用于解码 VCL NALU的 VCL NALU间接引用的参数集的参数集 ID;所述根 据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集具体为 :根据获取的直接引用的参数集的参数集 ID以及间接 引用的参数集的参数集 ID获取所述 VCL NALU的直接引用的参数集以及所 述 VCL NALU的间接引用的参数集;  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU and a parameter set type indirectly referenced by the VCL NALU, and the parameter information is modified according to the parameter set ID of the first video. The parameter set ID of the parameter set for decoding the VCL NALU is specifically: acquiring the VCL NALU for decoding the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU according to the parameter set ID modification information of the first video, respectively. a parameter set ID of a directly referenced parameter set, and a parameter set ID of a parameter set for decoding a VCL NALU indirect reference of the VCL NALU corresponding to the parameter set type indirectly referenced by the VCL NALU; Obtaining the parameter set ID for decoding the VCL NALU in the parameter set ID of the parameter set of the decoded VCL NALU is specifically: acquiring the parameter set ID according to the obtained directly referenced parameter set and the parameter set ID of the indirectly referenced parameter set a directly referenced parameter set of the VCL NALU and a parameter set of the indirect reference of the VCL NALU;
所述根据所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并 输出解码后的第一视频具体为 :根据获取的所述 VCL NALU的直接引用的参 数集以及所述 VCL NALU的间接引用的参数集解码所述 VCL NALU,并输出 解码后的第一视频。  Decoding the VCL NALU according to the parameter set for decoding the VCL NALU, and outputting the decoded first video is specifically: a parameter set according to the obtained directly referenced VCL NALU and an indirect of the VCL NALU The referenced parameter set decodes the VCL NALU and outputs the decoded first video.
由以上实施例可知, 通过第一视频的参数集标识修改消息中包含第一视 频的参数集标识 ID修改信息,以便终端根据参数集标识 ID修改信息解码输 出第一视频而不是直接根据第一视频码流中的原参数集 ID获取解码第一视 频码的 VCL NALU的参数集,从而无需拼接器对第一视频码流的各 VCL It can be seen from the foregoing embodiment that the parameter set identifier ID modification information of the first video is modified by the parameter set identifier of the first video, so that the terminal decodes and outputs the first video according to the parameter set identifier ID modification information instead of directly according to the first video. The original parameter set ID in the code stream obtains a parameter set of the VCL NALU that decodes the first video code, thereby eliminating the need for a splicer for each VCL of the first video stream.
NALU中的参数集 ID进行修改,不但当终端在解码第一视频码流时, 能够保 证使用正确的参数集, 而且不需要在现有网络的拼接器上增加额外的硬件资 源, 或者使用新的拼接器对现有网络中的拼接器进行替换, 相比于现有技术 中所需的运营成本更少。 The parameter set ID in the NALU is modified, not only when the terminal decodes the first video stream, but also ensures that the correct parameter set is used, and there is no need to add additional hardware resources to the splicer of the existing network, or use a new one. The splicer replaces the splicer in the existing network with less operational cost than is required in the prior art.
图 5为本发明实施例还提供的一种码流拼接方法流程图, 包括如下步骤: 步骤 501, 第二内容服务器接收第二视频码流和第二视频参数集。 FIG. 5 is a flowchart of a method for splicing a code stream according to an embodiment of the present invention, including the following steps: Step 501: The second content server receives the second video code stream and the second video parameter set.
在执行此步骤之前, 第二编码器对第二视频内容进行编码, 参数集 ID可 以采用熵编码方式获取。 并将输出的第二视频码流和获取的第二视频的参数 集发送给第二内容服务器。  Before performing this step, the second encoder encodes the second video content, and the parameter set ID can be obtained by entropy coding. And transmitting the outputted second video code stream and the acquired parameter set of the second video to the second content server.
步骤 502, 第一内容服务器接收第一视频码流和第一视频参数集。  Step 502: The first content server receives the first video code stream and the first video parameter set.
在执行此步骤之前, 第一编码器对第一视频内容进行编码, 参数集 ID可 以采用熵编码方式获取,并将输出的第一视频码流和获取的参数集 ID作为原 参数集 ID包含在第一视频的原参数集中发送给第一内容服务器。  Before performing this step, the first encoder encodes the first video content, and the parameter set ID may be acquired by entropy coding, and the output first video code stream and the acquired parameter set ID are included as the original parameter set ID. The original parameters of the first video are sent to the first content server.
值得说明的是, 本发明实施例中, 步骤 501和步骤 502之间没有时间上 的先后顺序。  It should be noted that, in the embodiment of the present invention, there is no temporal sequence between step 501 and step 502.
步骤 503、 终端向应用服务器发送第一媒体描述信息获取请求消息, 所 述第一媒体描述信息获取请求消息包含第二内容的内容标识。  Step 503: The terminal sends a first media description information acquisition request message to the application server, where the first media description information acquisition request message includes a content identifier of the second content.
步骤 504、 应用服务器根据第二内容的内容标识获取第二内容的媒体描 述信息。 包括但不限于以下信息: 第二视频的参数集第二视频参数集的类型 及与各类型对应的参数集的参数集 ID。  Step 504: The application server acquires media description information of the second content according to the content identifier of the second content. Including but not limited to the following information: Parameter set of the second video The type of the second video parameter set and the parameter set ID of the parameter set corresponding to each type.
应用服务器获取第二内容的媒体描述信息的一种可选方式为, 应用服务 器接收终端发送的媒体描述信息获取请求消息后, 根据第二内容的内容标识 确定第二内容所在的内容服务器为第二内容服务器, 并向第二内容服务器发 送媒体描述信息获取请求消息。 步骤 503 中的媒体描述信息获取请求消息在 会话建立过程中发送, 即为会话建立请求消息, 具体的, 如 SIP Invite请求消 息。 相应的, 应用服务器向第二内容服务器发送的媒体描述信息获取请求消 息也为会话建立请求消息。  An optional manner for the application server to obtain the media description information of the second content is: after the application server receives the media description information acquisition request message sent by the terminal, determining, according to the content identifier of the second content, that the content server where the second content is located is the second The content server, and sending a media description information acquisition request message to the second content server. The media description information acquisition request message in step 503 is sent during the session establishment process, that is, a session establishment request message, specifically, a SIP Invite request message. Correspondingly, the media description information acquisition request message sent by the application server to the second content server is also a session establishment request message.
第二内容服务器接收媒体描述信息获取请求消息, 根据第二内容的内容 标识确定第二视频码流、 第二视频的参数集 NALU, 以及为第二视频码流分 配第二视频码流标识信息。将媒体描述信息获取响应消息发送给应用服务器。 具体的, 所述媒体描述信息获取响应消息为前述会话建立请求消息对应的会 话建立响应消息, 如 SIP 200响应消息。 其中,媒体描述信息获取响应消息包 含第二视频的参数集和第二视频码流标识信息。 应用服务器接收到媒体描述 信息获取响应消息后, 获取并存储媒体描述信息获取响应消息中携带的第二 视频的参数集。 具体的, 在媒体描述信息获取响应消息中包含 SDP, 在 SDP中包含第二 视频的参数集 NALU。 当然, 还可以用其它的方式, 如使用 SDP参数、 或者 XML元素结构化表示参数集 NALU中信息, 本发明实施例在此不做限定。 SDP 中还可以包含承载第二视频码流的实时传输协议 ( RTP : Real Time Transport )流的源 IP地址、端口和同步源标识( S SRC Synchronization Source ), 其中承载第二视频码流的 RTP流的源 IP地址、端口和 SSRC即第二视频码流 标识信息。在 SDP中包含参数集 NALU的具体方法为现有技术,本发明实施 例在此不再详述。 The second content server receives the media description information acquisition request message, determines the second video code stream, the parameter set NALU of the second video according to the content identifier of the second content, and allocates the second video code stream identification information for the second video code stream. Send a media description information acquisition response message to the application server. Specifically, the media description information acquisition response message is a session establishment response message corresponding to the foregoing session establishment request message, such as a SIP 200 response message. The media description information acquisition response message includes a parameter set of the second video and second video code stream identification information. After receiving the media description information acquisition response message, the application server obtains and stores the parameter set of the second video carried in the media description information acquisition response message. Specifically, the SDP is included in the media description information acquisition response message, and the parameter set NALU of the second video is included in the SDP. Of course, the information in the parameter set NALU can be represented in another manner, such as using an SDP parameter or an XML element. The embodiment of the present invention is not limited herein. The SDP may further include a source IP address, a port, and a synchronization source identifier (S SRC Synchronization Source) of a real time transport protocol (RTP: Real Time Transport) stream carrying the second video stream, where the RTP stream carrying the second video stream is included. The source IP address, port, and SSRC are the second video stream identification information. The specific method of including the parameter set NALU in the SDP is the prior art, and the embodiments of the present invention are not described in detail herein.
作为应用服务器获取第二内容的媒体描述信息的另一种可选方式为, 步 骤 503 中的媒体描述获取请求消息还可以在会话建立前作为初始化媒体描述 信息获取请求消息 (如 RTSP Describe请求消息、 HTTP Get请求消息等)发 送。 相应的, 应用服务器向第二内容服务器发送的媒体描述信息获取请求消 息为初始化媒体描述信息获取请求消息, 第二内容服务器接收初始化媒体描 述信息获取请求消息后发送给应用服务器的包含第二视频的媒体描述信息的 媒体描述信息获取响应消息为初始化媒体描述信息获取响应消息。 所述初始 化媒体描述信息获取响应消息可以为 RTSP 200响应消息、 HTTP 200响应消 息等。  As an alternative manner for the application server to obtain the media description information of the second content, the media description acquisition request message in step 503 may also be used as an initialization media description information acquisition request message (such as an RTSP Describe request message, before the session is established). HTTP Get request message, etc.) is sent. Correspondingly, the media description information acquisition request message sent by the application server to the second content server is an initialization media description information acquisition request message, and the second content server receives the initialization media description information acquisition request message and sends the second video to the application server. The media description information acquisition response message of the media description information is an initialization media description information acquisition response message. The initial media description information acquisition response message may be an RTSP 200 response message, an HTTP 200 response message, or the like.
应用服务器获取第二内容的媒体描述信息的又一种可选方式为,步骤 503 中的媒体描述获取请求消息在会话建立前发送, 步骤 504之前还包括, 第二 内容服务器为第二视频码流分配第二视频码流标识信息, 将第二内容的内容 标识、 第二内容的媒体描述信息发送给应用服务器。 第二内容的媒体描述信 息包含第二视频的参数集、 第二视频码流标识信息。 应用服务器接收到终端 发送的媒体描述获取请求消息后, 根据第二内容的内容标识从接收到的媒体 描述信息中获取第二视频的参数集、 第二视频码流标识信息。  A further optional way for the application server to obtain the media description information of the second content is that the media description acquisition request message in step 503 is sent before the session is established, and before the step 504, the second content server is the second video code stream. The second video code stream identification information is allocated, and the content identifier of the second content and the media description information of the second content are sent to the application server. The media description information of the second content includes a parameter set of the second video and second video code stream identification information. After receiving the media description acquisition request message sent by the terminal, the application server obtains the parameter set of the second video and the second video code stream identification information from the received media description information according to the content identifier of the second content.
此外, 应用服务器还可以采用别的方式从第二内容服务器获取第二内容 的媒体描述信息, 本发明实施例在此不再——详述。  In addition, the application server may obtain the media description information of the second content from the second content server in another manner, which is not described in detail herein.
步骤 505、 应用服务器获取第一内容的媒体描述信息。 包括但不限于以 下信息: 第一视频的原参数集和第一视频的获取信息。  Step 505: The application server acquires media description information of the first content. Including but not limited to the following information: the original parameter set of the first video and the acquisition information of the first video.
应用服务器获取第一内容的媒体描述信息的一种可选方式为, 应用服务 器根据配置的第一内容服务器的地址, 向第一内容服务器发送第一视频媒体 描述信息获取请求消息。 An optional manner for the application server to obtain the media description information of the first content is that the application server sends the first video media to the first content server according to the configured address of the first content server. Describe the information acquisition request message.
第一内容服务器接收应用服务器发送的第一视频媒体描述信息获取请求 消息, 将第一视频的媒体描述信息发送给应用服务器, 其中第一视频的媒体 描述信息至少包含第一视频的原参数集以及视频码流的获取信息, 第一视频 的参数集的类型及与各类型对应的参数集的原参数集 ID, 第一视频码流的获 取信息可以是用于向第一内容服务器获取第一视频码流的 RTSP 统一资源定 位符 ( URL: Uniform Resource Locator ) 。  The first content server receives the first video media description information acquisition request message sent by the application server, and sends the media description information of the first video to the application server, where the media description information of the first video includes at least the original parameter set of the first video and The information of the video stream, the type of the parameter set of the first video, and the original parameter set ID of the parameter set corresponding to each type. The information of the first video stream may be used to obtain the first video from the first content server. The RTSP uniform resource locator (URL: Uniform Resource Locator) of the code stream.
作为一种可选方式, 本发明实施例中, 终端还可以在步骤 503 中发送给 应用服务器的媒体描述信息的获取请求消息中携带用户的标识, 以及应用服 务器在发送给第一内容服务器的媒体描述信息的获取请求消息中携带用户的 标识, 以便第一内容服务器可以根据用户的标识为用户确定第一内容, 并将 确定的第一视频的参数集以及确定的第一视频码流的获取信息发送给应用服 务器。  As an optional manner, in the embodiment of the present invention, the terminal may further include the identifier of the user in the request message for sending the media description information sent to the application server in step 503, and the media sent by the application server to the first content server. The obtaining request message of the description information carries the identifier of the user, so that the first content server can determine the first content for the user according to the identifier of the user, and determine the parameter set of the first video and the obtained information of the first video code stream. Sent to the application server.
步骤 506、 应用服务器修改第一视频的原参数集 ID, 所述第一视频的原 参数集 ID为步骤 505中第一视频的原参数集中包含的参数集 ID。  Step 506: The application server modifies the original parameter set ID of the first video, where the original parameter set ID of the first video is the parameter set ID included in the original parameter set of the first video in step 505.
具体的, 应用服务器在接收到第一视频的原参数集后, 针对每一类型的 参数集 ID, 确定该类型的第一视频的原参数集 ID是否与该类型的第二视频 的参数集 ID相同, 如果相同, 则需要修改该类型的第一视频的原参数集 ID。 本流程以该类型的第一视频的原参数集 ID与该类型的第二视频的参数集 ID 相同为例进行说明。  Specifically, after receiving the original parameter set of the first video, the application server determines, for each type of parameter set ID, whether the original parameter set ID of the first video of the type is the parameter set ID of the second video of the type. The same, if the same, you need to modify the original parameter set ID of the first video of this type. This process is described by taking the same original parameter set ID of the first video of the type and the parameter set ID of the second video of the type as an example.
然后,应用服务器确定该类型的第一视频的原参数集 ID的偏移, 并将该 类型的第一视频的原参数集 ID的取值加上原参数集 ID的偏移作为该类型的 第一视频的用于解码 VCL NALU的参数集的参数集 ID; 或者应用服务器直 接为该类型的第一视频的原参数集 ID分配新的取值,该分配的新的取值与所 有同一类型的第二视频的参数集 ID不同,与所有同一类型的其它第一视频的 原参数集 ID也不同, 将该分配的新的取值作为用于解码 VCL NALU的参数 集的参数集 ID (即用于解码第一视频码流中 VCL NALU的参数集的参数集 ID )。  Then, the application server determines the offset of the original parameter set ID of the first video of the type, and adds the value of the original parameter set ID of the first video of the type plus the offset of the original parameter set ID as the first of the type. The parameter set ID of the video for decoding the parameter set of the VCL NALU; or the application server directly assigns a new value to the original parameter set ID of the first video of the type, the new value of the allocation is the same as all the same type The parameter set ID of the two videos is different, and the original parameter set IDs of all other first videos of the same type are also different, and the assigned new value is used as the parameter set ID of the parameter set for decoding the VCL NALU (ie, Decoding the parameter set ID of the parameter set of the VCL NALU in the first video bitstream).
具体的,应用服务器判断该类型的第一视频的原参数集 ID是否与该类型 的第二视频的参数集 ID相同的一种可选方式为,应用服务器将该类型的第一 视频的原参数集 ID与该类型的所有第二视频的参数集 ID进行比较, 如果该 类型的第一视频的原参数集 ID与该类型的其中一个第二视频的参数集 ID相 同。应用服务器确定该类型的第一视频的原参数集 ID与该类型的第二视频的 参数集 ID相同。 Specifically, the application server determines whether the original parameter set ID of the first video of the type is the same as the parameter set ID of the second video of the type, and the application server is the first type of the type. The original parameter set ID of the video is compared to the parameter set ID of all second videos of the type, if the original parameter set ID of the first video of the type is the same as the parameter set ID of one of the second videos of the type. The application server determines that the original parameter set ID of the first video of the type is the same as the parameter set ID of the second video of the type.
具体的,应用服务器确定某类型的第一视频的原参数集 ID的偏移的一种 可选方式为: 应用服务器确定所有该类型的第二视频的参数集 ID 中的最大 值、所有该类型的第一视频的原参数集 ID中的最小值, 计算所有第二视频的 参数集 ID中的最大值与所有第一视频的原参数集 ID中的最小值的差值, 应 用服务器将该差值与一个正整数的和作为该类型的第一视频的原参数集 ID 的偏移。 具体的, 作为一种可选方式, 该正整数为 1。 该偏移可以应用于所 有该类型的第一视频的原参数集 ID, 也可以对不同类型的第一视频的原参数 集 ID设定不同的偏移, 本发明实施例在此不作限定。  Specifically, an optional manner for the application server to determine an offset of the original parameter set ID of the first video of the certain type is: the application server determines a maximum value of all parameter IDs of the second video of the type, all the types The minimum value in the original parameter set ID of the first video, the difference between the maximum value of the parameter set IDs of all the second videos and the minimum value of the original parameter set IDs of all the first videos is calculated, and the application server compares the difference The sum of the value and a positive integer is the offset of the original parameter set ID of the first video of that type. Specifically, as an alternative, the positive integer is 1. The offset can be applied to the original parameter set ID of the first video of the type, and the original parameter set ID of the first video of the different types can be set to different offsets, which is not limited herein.
步骤 507、 应用服务器向终端发送第一媒体描述信息获取响应, 其中包 含第二视频的参数集和第一视频的参数集。 具体可以是, 在第一媒体描述信 息获取响应消息中包含 SDP,在 SDP中包含第二视频的参数集(可以为 NALU 的形式封装参数集, 也可以为其它的形式, 本发明实施例如无特别指明, NALU只作为一种可选的例子并不限定参数集的封装形式) 、 第一视频的修 改后的参数集。其中第一视频的修改后的参数集中的参数集 ID为第一视频的 用于解码 VCL NALU的参数集的参数集 ID, 具体的为第一视频的原参数集 ID的取值加上原参数集 ID的偏移, 或者应用服务器直接为第一视频的用于 解码 VCL NALU的参数集的参数集 ID分配的取值。  Step 507: The application server sends a first media description information acquisition response to the terminal, where the parameter set of the second video and the parameter set of the first video are included. Specifically, the SDP is included in the first media description information acquisition response message, and the parameter set of the second video is included in the SDP (may be a set of parameter encapsulation parameters of the NALU, and may also be other forms, and the implementation of the present invention includes no special It is indicated that NALU is only used as an optional example and does not limit the encapsulation form of the parameter set), the modified parameter set of the first video. The parameter set ID of the modified parameter set of the first video is the parameter set ID of the parameter set of the first video for decoding the VCL NALU, specifically, the value of the original parameter set ID of the first video plus the original parameter set. The offset of the ID, or the value assigned by the application server directly to the parameter set ID of the parameter set of the first video used to decode the VCL NALU.
步骤 501-507所述终端获取第二视频参数集和第一视频参数集的方法中, 终端是从视频码流外部获取的参数集, 因此可以称为带外方式(或者称为外 部方式) 。 步骤 501-507所述终端获取第二视频参数集和第一视频参数集的 方法只是终端以带外方式获取第二视频参数集和第一视频参数集的可选方 式, 终端还可以采用别的方式以带外方式获取第二视频参数集和第一视频参 数集, 本发明实施例在此不再——详述。  Steps 501-507 In the method for the terminal to acquire the second video parameter set and the first video parameter set, the terminal is a parameter set obtained from outside the video code stream, and thus may be referred to as an out-of-band mode (or called an external mode). Steps 501-507: The method for the terminal to acquire the second video parameter set and the first video parameter set is only an optional manner in which the terminal acquires the second video parameter set and the first video parameter set in an outband manner, and the terminal may also adopt another The method obtains the second video parameter set and the first video parameter set in an out-of-band manner, and the embodiment of the present invention is no longer detailed.
步骤 508、 应用服务器向拼接器发送第二视频码流信息和第一视频码流 信息。 具体的, 第二视频码流信息包含第二视频码流标识信息, 第一视频码 流信息包含: 第一视频码流的获取信息和第一视频的参数集 ID修改信息(如 第一视频的待修改参数集 ID的参数集类型以及与待修改参数集 ID的参数集 类型对应的原参数集 ID的偏移, 或待修改参数集 ID的参数集类型和应用服 务器为待修改的参数集 ID分配的用于解码 VCL NALU的参数集的参数集 ID, 或待修改参数集 ID的参数集类型的原参数集 ID以及与原参数集 ID对应的用 于解码 VCL NALU的参数集的参数集 ID (即应用服务器为待修改的参数集 ID分配的用于解码 VCL NALU的参数集的参数集 ID ), 所述用于解码 VCL NALU的参数集的参数集 ID的取值即为终端在接收到第一视频码流后用于解 码所述第一视频码流中 VCL NALU的参数集的参数集 ID ) 。 所述第一视频 的参数集 ID修改信息为第一视频的 VCL NALU直接引用的参数集类型的参 数集 ID修改信息, 即其中的第一视频的待修改参数集 ID的参数集类型只能 为 VCL NALU直接引用的参数集类型。 Step 508: The application server sends the second video code stream information and the first video code stream information to the splicer. Specifically, the second video code stream information includes the second video code stream identification information, where the first video code stream information includes: the first video code stream acquisition information and the first video parameter set ID modification information (eg, The parameter set type of the parameter set ID of the first video to be modified and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, or the parameter set type of the parameter set ID to be modified and the application server to be modified The parameter set ID of the parameter set for decoding the VCL NALU assigned by the parameter set ID, or the original parameter set ID of the parameter set type of the parameter set ID to be modified, and the parameter set for decoding the VCL NALU corresponding to the original parameter set ID The parameter set ID (that is, the parameter set ID of the parameter set for decoding the VCL NALU allocated by the application server for the parameter set ID to be modified), and the parameter set ID of the parameter set for decoding the VCL NALU is The terminal is configured to decode a parameter set ID of a parameter set of the VCL NALU in the first video code stream after receiving the first video code stream. The parameter set ID modification information of the first video is the parameter set ID modification information of the parameter set type directly referenced by the VCL NALU of the first video, that is, the parameter set type of the parameter set ID of the first video to be modified can only be The parameter set type directly referenced by VCL NALU.
步骤 508以第一视频的参数集修改信息包含第一视频的待修改参数集 ID 的参数集类型以及与待修改参数集 ID的参数集类型对应的原参数集 ID的偏 移为例进行说明。 其中, 第一视频码流的获取信息可以是用于向第一内容服 务器获取第一视频码流的 RTSP URL; 第二视频码流标识信息可以是用于承 载第二视频码流的 RTP流的源 IP地址、端口和 SSRC的组合; 第一视频的待 修改参数集 ID 的参数集类型可以为三字节文本形式表示的参数集类型, 如,, vps,,、 "sps,,、 "pps,,、 "aps"分别代表参数集类型为 VPS , SPS、 PPS和 APS。 参数集 ID偏移可以是 1字节无符号整数。第二视频码流和第一视频码流信息 可以如表 1 (即视频配置信息表) 所示:  Step 508 is an example in which the parameter set modification information of the first video includes the parameter set type of the parameter set ID of the first video to be modified and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified. The acquiring information of the first video code stream may be an RTSP URL for acquiring the first video code stream to the first content server, where the second video code stream identification information may be an RTP stream for carrying the second video code stream. The combination of the source IP address, the port, and the SSRC; the parameter set type of the parameter set ID of the first video to be modified may be a parameter set type represented by a three-byte text form, for example, vps,,, "sps,,," pps ,,, "aps" respectively represent the parameter set types as VPS, SPS, PPS, and APS. The parameter set ID offset can be a 1-byte unsigned integer. The second video stream and the first video stream information can be as shown in Table 1 (ie, the video configuration information table):
Figure imgf000022_0001
Figure imgf000022_0001
表 1  Table 1
其中,第二视频码流标识信息中的源 IP地址为 219.133.0.1、端口为 49170、 SSRC 为 1234 ; 与该第二视频码流对应的第一视频码流的获取信息为 rtsp:〃 example.com/fizzle/foo; 应用服务器确定第一视频中 VPS、 SPS、 PPS , APS的 ID都需要修改, 其第一视频的各类型的原参数集 ID的偏移均为 1, 即对相应类型的第一视频参数集的参数集 ID进行修改时, 所有原参数集 ID 的取值加 1为对应的用于解码 VCL NALU的参数集的参数集 ID的取值。 但 VCL NALU直接引用的参数集类型只包含 PPS、 APS, 因此表 1中只包含 2 个参数集 ID修改信息, 即 PPS的参数集 ID修改信息和 APS的参数集 ID修 改信息。 值得说明的是, 上述例子中原参数集 ID的偏移均为 1, 只是为了举 例的简单化, 并不代表不同类型参数集的参数集 ID偏移都相同。 The source IP address in the second video code stream identification information is 219.133.0.1, the port is 49170, and the SSRC is 1234. The information about the first video stream corresponding to the second video stream is rtsp: 〃 example. Com/fizzle/foo; The application server determines the VPS, SPS, PPS in the first video, The ID of the APS needs to be modified, and the offset of the original parameter set ID of each type of the first video is 1, that is, when the parameter set ID of the first video parameter set of the corresponding type is modified, all the original parameter set IDs are The value is incremented by 1 to the value of the parameter set ID of the corresponding parameter set for decoding the VCL NALU. However, the parameter set type directly referenced by VCL NALU only contains PPS and APS. Therefore, Table 1 only contains 2 parameter set ID modification information, that is, parameter set ID modification information of PPS and parameter set ID modification information of APS. It should be noted that the offset of the original parameter set ID in the above example is 1, for the sake of simplification of the example, and does not mean that the parameter set ID offsets of different types of parameter sets are the same.
值得说明的是, 步骤 507和步骤 508没有时间上的先后顺序。  It is worth noting that steps 507 and 508 have no prioritization in time.
步骤 509、 第二内容服务器向拼接器发送第二视频码流。  Step 509: The second content server sends a second video code stream to the splicer.
具体的, 如果拼接器位于边缘路由器, 承载第二视频码流的 RTP流的目 的 IP地址、 端口为组播 IP地址、 端口, 基于网络路由策略将承载第二视频 码流的 RTP流发送到拼接器; 步骤 509之前, 第二内容服务器获取网络管理 系统为第二视频码流分配的组播 IP地址、 端口。  Specifically, if the splicer is located at the edge router, the destination IP address of the RTP stream carrying the second video stream, the port is a multicast IP address, and the port, and the RTP stream carrying the second video stream is sent to the splicing based on the network routing policy. Before step 509, the second content server acquires a multicast IP address and port allocated by the network management system for the second video code stream.
或者, 如果拼接器位于边缘服务器, 承载第二视频码流的 RTP流的目的 IP地址、 端口为拼接器的 IP地址、 端口。 步骤 509之前, 第二内容服务器获 得拼接器的 IP地址、 端口。 以步骤 504中应用服务器向第二内容服务器发送 的是会话建立请求消息为例进行说明。 具体的, 第二内容服务器从步骤 504 中应用服务器向第二内容服务器发送的会话建立请求消息中获取拼接器的 IP 地址、 端口。 而采用此种方式, 应用服务器如何获取拼接器的 IP地址、 端口 以及如何建立拼接器的 IP地址、 端口和终端的 IP地址、 端口的对应关系是 公知技术, 不再赘述。  Or, if the splicer is located at the edge server, the destination IP address of the RTP stream carrying the second video stream, the port is the IP address of the splicer, and the port. Before step 509, the second content server obtains the IP address and port of the splicer. The session establishment request message sent by the application server to the second content server in step 504 is taken as an example for description. Specifically, the second content server obtains the IP address and port of the splicer from the session establishment request message sent by the application server to the second content server in step 504. In this way, how the application server obtains the IP address and port of the splicer and how to establish the IP address of the splicer, the IP address of the port and the terminal, and the correspondence between the ports are well-known technologies, and will not be described again.
步骤 510、 拼接器将第二视频码流作为输出视频码流发送给终端。  Step 510: The splicer sends the second video code stream as an output video code stream to the terminal.
如果拼接器接收到的第二视频码流的目的 IP地址、 端口为拼接器的 IP 地址、 端口。 拼接器将承载第二视频码流的所有 IP包中的目的 IP地址、 端 口爹改为对应终端的 IP地址、 端口。  If the splicer receives the destination IP address of the second video stream, the port is the IP address of the splicer, and the port. The splicer changes the destination IP address and port 中 in all IP packets carrying the second video stream to the IP address and port of the corresponding terminal.
步骤 511、终端根据接收到的第二视频码流的 VCL NALU中的参数集 ID 从通过带外方式(所述带外方式为从第二视频流之外) 中获得的参数集中, 获取 VCL NALU引用的参数集(即用于解码第二视频码流的 VCL NALU的 参数集) , 利用获取的参数集解码输出第二视频。  Step 511: The terminal acquires VCL NALU from a parameter set obtained in an out-of-band manner (the out-of-band manner is from the second video stream) according to the parameter set ID in the VCL NALU of the received second video code stream. The referenced parameter set (ie, the parameter set of the VCL NALU used to decode the second video stream) is used to decode and output the second video using the obtained parameter set.
步骤 512、 拼接器根据第二视频码流标识信息从视频配置信息表即表 1 中查找到第一视频码流的获取信息, 根据第一视频码流的获取信息获取第一 视频码流。 Step 512: The splicer according to the second video code stream identification information from the video configuration information table, that is, Table 1 The obtaining information of the first video code stream is found, and the first video code stream is obtained according to the obtaining information of the first video code stream.
具体的, 在执行本步骤之前, 拼接器判断是否需要进行拼接准备, 如果 需要进行拼接准备, 拼接器向第一内容服务器获取第一视频码流。  Specifically, before performing this step, the splicer determines whether splicing preparation is required. If splicing preparation is required, the splicer acquires the first video code stream from the first content server.
一种判断是否需要进行拼接准备的可选方式为, 步骤 504中应用服务器 获得的第二内容的媒体描述信息、 步骤 508中应用服务器向拼接器发送的第 二视频码流信息还包括拼接点的时间信息, 拼接器根据预先配置的准备阔值 (指定启动拼接准备的时间点与拼接点的间隔 )判断是否需要进行拼接准备, 即是否向第一内容服务器获取第一视频码流。  An optional manner for determining whether the splicing preparation is required is: the media description information of the second content obtained by the application server in step 504, and the second video code stream information sent by the application server to the splicer in step 508 further includes a splicing point. The time information is determined by the splicer according to the pre-configured preparation threshold (the interval between the time point for starting the splicing preparation and the splicing point), whether the splicing preparation is required, that is, whether the first video code stream is obtained from the first content server.
具体地, 拼接器设置启动拼接准备的时间为拼接点的时间信息减去准备 阔值, 如果当前时间已经到达启动拼接准备的时间, 拼接器需要进行拼接准 备。 本实施例中, 时间信息的格式可以为 hh:mm:ss.fff, 其中 hh代表小时、 mm代表分钟、 ss代表秒、 fff代表毫秒。 准备阔值以毫秒为单位。 如拼接点 的时间信息为 01 :01 :01.001代表 1小时 1分钟 1秒钟另 1毫秒, 准备阔值为 500, 代表 500毫秒。 则启动拼接准备的时间为 01 :01 :00.499代表 1小时 1分 钟 499毫秒。 如果当前时间等于或晚于 01 :01 :00.499, 则需要进行拼接准备, 向第一内容服务器获取第一视频码流。  Specifically, the splicer sets the time for starting the splicing preparation to be the time information of the splicing point minus the preparation threshold. If the current time has reached the time for starting the splicing preparation, the splicer needs to perform the splicing preparation. In this embodiment, the format of the time information may be hh:mm:ss.fff, where hh represents hours, mm represents minutes, ss represents seconds, and fff represents milliseconds. Prepare the threshold in milliseconds. For example, the time information of the splicing point is 01:01:01.001 for 1 hour, 1 minute, 1 second, and 1 millisecond. The preparation threshold is 500, which means 500 milliseconds. The time to start the stitching preparation is 01:01:00.499 for 1 hour, 1 minute, and 499 milliseconds. If the current time is equal to or later than 01:01:00.499, the splicing preparation is required to acquire the first video code stream from the first content server.
另一种判断是否需要进行拼接准备的可选方式为, 第二内容服务器设置 启动拼接准备的时间, 如果当前时间已经到达启动拼接准备的时间, 在属于 承载第二视频码流的 RTP流的 RTP包的包头插入准备标签 ( repare tag ) , 指示拼接器进行拼接准备。 拼接器检查第二视频码流对应的 RTP包头是否包 含 prepare tag, 如果包含, 则需要进行拼接准备即向第一内容服务器获取第 一视频码流。  Another alternative method for determining whether the splicing preparation is required is that the second content server sets the time for starting the splicing preparation. If the current time has reached the time for starting the splicing preparation, the RTP belongs to the RTP stream that carries the second video stream. The packet header is inserted into the repare tag to instruct the splicer to prepare for splicing. The splicer checks whether the RTP header corresponding to the second video stream contains a prepare tag. If yes, the splicing preparation is required to obtain the first video stream from the first content server.
步骤 513、 拼接器生成第一视频的参数集标识 ID修改消息, 其中包含第 —视频参数集 ID修改信息。 具体的, 参数集标识修改消息可以是参数集标识 修改信息 SEI消息 (Parameter Set ID Change Info SEI message ) , 或者 PPS 标识修改信息 SEI消息 (PPS ID Change Info SEI message)和 /或 APS标识修改 信息 SEI消息 (APS ID Change Info SEI message),其中,参数集标识修改信息 SEI消息可以携带一个或多个待修改参数集 ID的参数集类型的修改信息, 而 PPS标识修改信息 SEI消息只包括待修改参数集 ID的参数集类型为 PPS的修 改信息, APS标识修改信息 SEI消息只包括待修改参数集 ID的参数集类型为 APS的修改信息。 Step 513: The splicer generates a parameter set identifier ID modification message of the first video, where the first video parameter set ID modification information is included. Specifically, the parameter set identifier modification message may be a Parameter Set ID Change Info SEI message, or a PPS ID Change Info SEI message and/or an APS identifier modification information SEI. The APS ID Change Info SEI message, where the parameter set identification modification information SEI message may carry one or more modification information of the parameter set type of the parameter set ID to be modified, and the PPS identification modification information SEI message includes only the parameter to be modified. The parameter set type of the set ID is the repair of the PPS The information modification, the APS identification modification information SEI message includes only the modification information of the parameter set type of the parameter set ID to be modified as APS.
具体的, 在执行此步骤之前, 拼接器判断视频配置信息表 (即表 1)是否包 含与第二视频码流标识信息对应的第一视频参数集 ID修改信息,如待修改 ID 的参数集类型以及与修改 ID的参数集类型对应的参数集 ID偏移。  Specifically, before performing this step, the splicer determines whether the video configuration information table (ie, Table 1) includes the first video parameter set ID modification information corresponding to the second video code stream identification information, such as the parameter set type of the ID to be modified. And a parameter set ID offset corresponding to the parameter set type of the modified ID.
如果视频配置信息表包含与第二视频码流标识信息对应的第一视频参数 集 ID修改信息, 拼接器生成第一视频的参数集标识修改消息(具体的可以是 拼接器采用生成 SEI消息的方法生成 SEI消息, 如参数集标识修改补充增强 信息 SEI消息, 自适应参数集标识修改 SEI消息或图片参数集标识修改 SEI 消息也可以是别的类型的 SEI消息,本发明实施例在此不做限定)。 其中待 修改参数集 ID的参数集类型为 VCL NALU直接引用的参数集类型的第一视 频的参数集 ID修改信息。  If the video configuration information table includes the first video parameter set ID modification information corresponding to the second video code stream identification information, the splicer generates a parameter set identifier modification message of the first video (specifically, the splicer adopts a method for generating an SEI message) The SEI message is generated, such as the parameter set identifier modification supplementary enhancement information SEI message, and the adaptive parameter set identifier modification SEI message or the picture parameter set identifier modification SEI message may also be another type of SEI message, which is not limited herein. ). The parameter set type of the parameter set ID to be modified is the parameter set ID modification information of the first video of the parameter set type directly referenced by the VCL NALU.
这是由于, 步骤 507中应用服务器通过带外方式发送给终端的第一视频 的修改后的参数集中的参数集 ID为用于解码 VCL NALU的参数集的参数集 ID, 当终端获取 VCL NALU直接引用的参数集后, 所述 VCL NALU直接引 用的参数集中包含的 VCL NALU间接引用的参数集的参数集 ID为用于解码 VCL NALU的参数集的参数集 ID。因此,不需要由应用服务器将 VCL NALU 间接引用的参数集类型的参数集 ID修改信息发送给拼接器,并由拼接器通过 参数集 ID修改消息发送给终端。本步骤以第一视频的参数集修改信息包含第 —视频的待修改参数集 ID的参数集类型以及与待修改参数集 ID的参数集类 型对应的原参数集 ID的偏移为例进行说明。  This is because, in step 507, the parameter set ID of the modified parameter set of the first video sent by the application server to the terminal in the outband manner is the parameter set ID of the parameter set for decoding the VCL NALU, and the terminal obtains the VCL NALU directly. After the referenced parameter set, the parameter set ID of the parameter set indirectly referenced by the VCL NALU in the parameter set directly referenced by the VCL NALU is the parameter set ID of the parameter set used to decode the VCL NALU. Therefore, the parameter set ID modification information of the parameter set type indirectly referenced by the VCL NALU by the application server is not sent to the splicer, and is sent to the terminal by the splicer through the parameter set ID modification message. In this step, the parameter set modification information of the first video includes the parameter set type of the parameter set ID of the video to be modified and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified.
其中, 生成参数集标识修改信息 SEI消息作为参数集标识修改消息的方 法可以为:  The method for generating the parameter set identifier modification information SEI message as the parameter set identifier modification message may be:
拼接器从视频配置信息表获取第一视频参数集 ID修改信息,包括待修改 参数集 ID的参数集类型以及与待修改参数集 ID的参数集类型对应的原参数 集 ID 的偏移。 此时待修改参数集 ID 的第一视频参数集类型只包含 VCL NALU直接引用的参数集类型。拼接器根据获取到的第一视频参数集 ID修改 信息,生成参数集标识修改信息 SEI消息。本步骤以第一编码器为遵循 HEVC 标准的编码器, 即 VCL NALU直接引用的参数集类型包含 PPS、 APS为例进 行说明。 具体的, 如待修改 ID的第一视频参数集类型包含 PPS和 /或者 APS时, 拼接器生成参数集标识修改信息 SEI消息。 参数集标识修改信息 SEI消息中 包含两个标志 (flag ) : 图片参数集标识更改标志 (pps_id_change_flag)、 自 适应参数集标识更改标志 ( aps_id_change_flag ) , 分别用于指示对应类型参 数集的参数集 ID (即 PPS ID和 APS ID )是否需要修改。 如果对应类型参数 集的参数集 ID需要爹改, 则参数 ps id change flag和 aps id change flag 的取值为 1。 当然, 还可以用其它的方式, 如为字符, T,、 字符串 URE,等其 他的标识, 表示对应类型参数集的参数集 ID需要修改, 本发明实施例在此不 做限定。 此外, 参数集标识修改信息 SEI消息中还包含待修改参数集 ID的参 数集类型的原参数集 ID的偏移。 以如果对应类型参数集的 ID需要修改, 参 数 ps id change flag和 aps id change flag的取值等于 1为例进行说明, 参 数集标识修改信息 SEI消息的格式如表 2所示: The splicer obtains the first video parameter set ID modification information from the video configuration information table, and includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified. At this time, the first video parameter set type of the parameter set ID to be modified only contains the parameter set type directly referenced by the VCL NALU. The splicer generates the parameter set identification modification information SEI message according to the obtained first video parameter set ID modification information. In this step, the first encoder is an encoder that complies with the HEVC standard, that is, the parameter set type directly referenced by the VCL NALU includes PPS and APS as an example. Specifically, when the first video parameter set type of the ID to be modified includes the PPS and/or the APS, the splicer generates the parameter set identifier modification information SEI message. The parameter set identification modification information SEI message includes two flags (flag): a picture parameter set identification change flag (pps_id_change_flag), and an adaptive parameter set identification change flag (aps_id_change_flag), which are respectively used to indicate the parameter set ID of the corresponding type parameter set ( That is, whether the PPS ID and APS ID need to be modified. If the parameter set ID of the corresponding type parameter set needs to be falsified, the parameters ps id change flag and aps id change flag have a value of 1. Certainly, other manners, such as the character, the T, the string URE, and the like, may be used to indicate that the parameter set ID of the corresponding type parameter set needs to be modified, which is not limited herein. In addition, the parameter set identifier modification information SEI message further includes an offset of the original parameter set ID of the parameter set type of the parameter set ID to be modified. If the ID of the corresponding type parameter set needs to be modified, the values of the parameter ps id change flag and the aps id change flag are equal to 1. The format of the parameter set identification modification information SEI message is as shown in Table 2:
Figure imgf000026_0002
Figure imgf000026_0002
Figure imgf000026_0001
Figure imgf000026_0001
如表二所示, 参数 aps id change flag取值为 1, 表明 APS ID需要修改, 参数 ps id change flag取值为 1,表明 PPS ID需要修改。描述子( Descirptor ) u(l)表明参数 aps id change flag和 ps id change flag 占一个比特位。 参数 aps_id_diff (自适应参数集标识偏移 )携带 APS对应的原参数集 ID的 偏移, 参数 ps_id_diff (图片参数集标识偏移 )携带 PPS对应的原参数集 ID的偏 移。 u(5)表明采用 5比特表示的无符号整数, u(8)表明采用 8比特表示的无符 号整数。  As shown in Table 2, the parameter aps id change flag has a value of 1, indicating that the APS ID needs to be modified. The value of the parameter ps id change flag is 1, indicating that the PPS ID needs to be modified. The descriptor ( Descirptor ) u(l) indicates that the parameters aps id change flag and ps id change flag occupy one bit. The parameter aps_id_diff (adaptive parameter set identifier offset) carries the offset of the original parameter set ID corresponding to the APS, and the parameter ps_id_diff (picture parameter set identifier offset) carries the offset of the original parameter set ID corresponding to the PPS. u(5) indicates an unsigned integer represented by 5 bits, and u(8) indicates an unsigned integer represented by 8 bits.
还可以就 PPS ID的改变和 APS ID的改变分别生成 PPS标识修改信息 SEI 消息和 APS标识修改信息 SEI消息作为参数集标识修改消息。 具体的, PPS 标识修改信息 SEI消息携带 PPS对应的原参数集 ID的偏移, 其消息格式如 表三所示:
Figure imgf000027_0001
The PPS identification modification information SEI message and the APS identification modification information SEI message may be separately generated as the parameter set identification modification message for the change of the PPS ID and the change of the APS ID. Specifically, the PPS identifier modification information SEI message carries the offset of the original parameter set ID corresponding to the PPS, and the message format is as follows: Table 3 shows:
Figure imgf000027_0001
表三  Table 3
其中参数 pps_id_diff 携带 PPS对应的原参数集 ID的偏移。  The parameter pps_id_diff carries the offset of the original parameter set ID corresponding to the PPS.
而 APS标识修改信息 SEI消息携带对应的原参数集 ID的偏移, 其消息格 式: ^表四所示:  The APS identification modification information SEI message carries the offset of the corresponding original parameter set ID, and its message format: ^ Table 4:
Figure imgf000027_0002
Figure imgf000027_0002
表四  Table 4
其中参数 aps_id_diff 携带 APS对应的原参数集 ID的偏移。  The parameter aps_id_diff carries the offset of the original parameter set ID corresponding to the APS.
通常来讲, 如果待修改参数集 ID的第一视频的参数集类型中包含 PPS、 不包含 APS, 拼接器只生成 PPS标识修改信息 SEI消息; 如果需要修改 ID的第 一视频参数集类型中包含 APS、 不包含 PPS, 拼接器只生成 APS标识修改信息 SEI消息; 如果需要修改 ID的第一视频参数集类型中同时包含 PPS、 APS, 拼 接器可以分别生成 PPS标识修改信息 SEI消息、 APS标识修改信息 SEI消息。  Generally, if the parameter set type of the first video of the parameter set ID to be modified includes the PPS and does not include the APS, the splicer only generates the PPS identification modification information SEI message; if the first video parameter set type of the ID needs to be modified, APS, excluding PPS, the splicer only generates the APS identification modification information SEI message; if the first video parameter set type of the ID needs to be modified to include both PPS and APS, the splicer can separately generate the PPS identification modification information SEI message and the APS identification modification. Information SEI message.
当然, 需要修改 ID的第一视频参数集类型中同时包含 PPS、 APS, 拼接可 以生成参数集标识修改信息 SEI消息,在参数集标识修改信息 SEI消息包含 PPS 和 APS的修改信息。  Of course, the first video parameter set type that needs to be modified ID includes both PPS and APS, and the splicing can generate a parameter set identifier modification information SEI message, and the parameter set identification information SEI message includes PPS and APS modification information.
不同 SEI消息通过消息中的 PayloadType (负载类型) 区分, 因此需要为 SEI消息分别分配唯一的 PayloadType取值。 步骤 514、 拼接器向终端发送第一视频的参数集标识修改消息 (如参数 集标识修改信息 SEI消息)和第一视频码流, 即拼接器将第一视频的参数集 标识修改消息与第一视频码流一起发送给终端。  Different SEI messages are distinguished by the PayloadType in the message, so the SEI message needs to be assigned a unique PayloadType value. Step 514: The splicer sends a parameter set identifier modification message (such as a parameter set identifier modification information SEI message) of the first video to the terminal, and the first video code stream, that is, the splicer modifies the parameter set identification message of the first video with the first The video stream is sent to the terminal together.
在执行 514步骤之前, 拼接器还要判断是否到达拼接点, 并在到达拼接 点时向终端发送参数集标识修改消息和第一视频码流。 具体的, 一种判断是否到达拼接点的可选方式为, 拼接器判断输出第二 视频码流的当前时间是否已经到达拼接点时段的起点, 如果已经到达拼接时 段的起点, 即认为到达拼接点。 另一种判断是否到达拼接点的可选方式为, 第二内容服务器在拼接点之前的第二视频码流对应的 RTP包的包头插入拼接 标签( slice tag )并在 slice tag中指定距离拼接点的时间, 拼接器检查第二视 频码流对应的 RTP包头是否包含 slice tag并且其中指定距离拼接点的时间为 0, 如果包含, 表示到达拼接点。 Before performing the step 514, the splicer further determines whether the splicing point is reached, and sends the parameter set identification modification message and the first video code stream to the terminal when the splicing point is reached. Specifically, an optional manner of determining whether the splicing point is reached is: the splicer determines whether the current time of outputting the second video code stream has reached the starting point of the splicing point period, and if the starting point of the splicing period has been reached, the splicing point is considered to be reached. . Another alternative way of determining whether the splicing point is reached is that the second content server inserts a slice tag into the header of the RTP packet corresponding to the second video stream before the splicing point and specifies a distance splicing point in the slice tag. At the time, the splicer checks whether the RTP header corresponding to the second video stream contains a slice tag and the time at which the splicing point is specified is 0. If it is included, it indicates that the splicing point is reached.
为了确保随机接入, 参数集标识修改消息至少随随机接入点 (RAP: Random Access Point ) 发送并应用于关联的 RAP和下一个 RAP之间的所有 图片。 RAP是码流中间某个只采用帧内预测的图片, 解码器可以从该图片开 始解码过程。 参数集标识修改消息随 RAP发送时, 拼接器将封装有参数集标 识修改消息的 NALU插入到关联 RAP的 AU分隔符 NALU后、 第一视频码 流中的 VCL NALU之前。  To ensure random access, the parameter set identification modification message is sent at least with the random access point (RAP: Random Access Point) and applied to all pictures between the associated RAP and the next RAP. The RAP is a picture in the middle of the code stream that only uses intra prediction, and the decoder can start the decoding process from the picture. When the parameter set identification modification message is sent with the RAP, the splicer inserts the NALU encapsulated with the parameter set identification modification message into the associated RAP AU separator NALU, before the VCL NALU in the first video code stream.
步骤 515、 终端接收第一视频的参数集标识修改消息 (如参数集标识修 改信息 SEI消息)和第一视频码流后, 根据第一视频的参数集标识修改消息 (如参数集标识修改信息 SEI消息) 确定该第一视频码流中的 VCL NALU引用 的参数集的参数集 ID (即用于解码 VCL NALU的参数集的参数集 ID ) 。 根 据确定的参数集 ID从通过带外方式获取的参数集中获取参数集 ID为确定的 参数集 ID的参数集, 即为用于解码第一视频码流的 VCL NALU的参数集。  Step 515: After receiving the parameter set identifier modification message (such as the parameter set identifier modification information SEI message) of the first video and the first video code stream, the terminal modifies the message according to the parameter set identifier of the first video (such as the parameter set identifier modification information SEI). Message) Determine the parameter set ID of the parameter set referenced by the VCL NALU in the first video stream (ie, the parameter set ID of the parameter set used to decode the VCL NALU). The parameter set whose parameter set ID is the determined parameter set ID is obtained from the parameter set obtained by the out-of-band method according to the determined parameter set ID, that is, the parameter set of the VCL NALU used for decoding the first video code stream.
本步骤以第一视频的参数集标识修改消息为参数集标识修改信息 SEI消 息并且 VCL NALU直接引用的参数集类型包含 PPS、 APS为例进行说明。 根 据参数集标识修改信息 SEI消息确定 VCL NALU引用的参数集的参数集 ID 以及参数集的方法具体可以为:  In this step, the parameter set identifier modification message of the first video is used as the parameter set identifier modification information SEI message, and the parameter set type directly referenced by the VCL NALU includes PPS and APS as an example for description. Modifying information according to the parameter set identifier The SEI message determines the parameter set ID of the parameter set referenced by the VCL NALU and the method of the parameter set may be:
终端首先根据参数集标识修改信息 SEI消息确定 VCL NALU直接引用的 参数集的参数集 ID, 然后根据所述参数集 ID从通过带外方式获取的参数集 中获取 VCL NALU直接引用的参数集。  The terminal first identifies the modification information according to the parameter set identifier. The SEI message determines the parameter set ID of the parameter set directly referenced by the VCL NALU, and then obtains the parameter set directly referenced by the VCL NALU from the parameter set obtained by the out-of-band method according to the parameter set ID.
具体的,终端确认参数集标识修改信息 SEI消息中携带 APS ID改变的标 志, 如消息中的参数 aps id change flag值为 1,或其它的标识。 从接收到的第 一视频码流的 VCL NALU获取 APS ID, 即为 VCL NALU引用的自适应参数 集的原参数集 ID (即 aps id的原取值 ( original aps id ) ), 并根据 APS ID的原 取值和参数集标识修改信息 SEI消息中与 APS对应的原参数集 ID的偏移计 算新的取值(即用于解码 VCL NALU的参数集的参数集 ID的值) 。 具体的 为: 将原取值 +与 APS 对应的原参数集 ID 的偏移, 即 new_aps_id = original aps id + aps id diff, 菝取新的取值, 并将 new aps id 作为 reference_aps_id (引用自适应参数集标识的取值) , 然后从通过带外方式获 取的参数集中获取包含与 reference_aps_id相同 (即与 new_aps_id相同) 的 aps_id的 APS, 即为用于解码第一视频码流中 VCL NALU的参数集。 Specifically, the terminal confirms that the parameter set identification information SEI message carries the APS ID change flag, such as the parameter aps id change flag value in the message is 1, or other identifier. Obtain the APS ID from the received VCL NALU of the first video stream, that is, the original parameter set ID of the adaptive parameter set referenced by the VCL NALU (ie, the original aps id of the aps id), and according to the APS ID. Original The value and the parameter set identification modification information SEI message offset from the original parameter set ID corresponding to the APS calculates a new value (ie, the value of the parameter set ID used to decode the parameter set of the VCL NALU). Specifically, the original value + the offset of the original parameter set ID corresponding to the APS, that is, new_aps_id = original aps id + aps id diff, takes a new value, and uses the new aps id as a reference_aps_id (reference adaptive The value of the parameter set identifier is obtained, and then the APS including the aps_id which is the same as the reference_aps_id (that is, the same as the new_aps_id) is obtained from the parameter set obtained by the outband method, that is, the parameter set for decoding the VCL NALU in the first video bitstream. .
此外, 根据引用自适应参数集标识的取值从通过带外方式获取的参数集 中获取用于解码所述第一视频码流中 VCL NALU的参数集具体为:  In addition, the parameter set for decoding the VCL NALU in the first video bitstream from the parameter set obtained by the outband mode according to the value of the reference adaptive parameter set identifier is specifically:
终端从步骤 507 中获取到的媒体描述信息中获取参数集 NALU。 根据 The terminal obtains the parameter set NALU from the media description information obtained in step 507. according to
NALU header中的 nal_unit_type确定 NALU中参数集的类型, 不同类型的参 数集具有不同的格式, 必须确定参数集类型后, 才能按照相应的格式解析参 数集。 如果为参数集的类型为 APS, 获取其中的 aps id。 如果该 asp_id等于 reference aps id, 即该 asp_id对应的参数集为用于解码所述第一视频码流中 VCL NALU的 APS; 否则处理下一个参数集 NALU, 直到找到其中的 aps_id 等于 reference aps id的 APS。 The nal_unit_type in the NALU header determines the type of the parameter set in the NALU. Different types of parameter sets have different formats, and the parameter set type must be determined before the parameter set can be parsed according to the corresponding format. If the type of the parameter set is APS, get the aps id in it. If the asp_id is equal to the reference aps id, that is, the parameter set corresponding to the asp_id is the APS for decoding the VCL NALU in the first video bitstream; otherwise, the next parameter set NALU is processed until the aps_id is equal to the reference aps id. APS.
进一步的,终端确认参数集标识修改信息 SEI消息中携带 PPS ID改变的 标志, 从参数集标识修改信息 SEI消息中获取与 PPS对应的原参数集 ID的 偏移。 终端从接收到的第一视频码流的 VCL NALU获取该 VCL NALU引用 的 PPS的原参数集 ID, 并根据原参数集 ID和与 PPS对应的原参数集 ID的 偏移计算新的取值,并将新的取值作为修改后的 PPS ID (引用图片参数集标识) 的取值, 从步骤 507中获取到参数集 NALU中获取图片参数集标识取值为修 改后的 PPS ID的 PPS。  Further, the terminal confirms the parameter set identification modification information, and the SEI message carries the PPS ID change flag, and obtains the offset of the original parameter set ID corresponding to the PPS from the parameter set identifier modification information SEI message. The terminal obtains the original parameter set ID of the PPS referenced by the VCL NALU from the VCL NALU of the received first video stream, and calculates a new value according to the original parameter set ID and the offset of the original parameter set ID corresponding to the PPS. And taking the new value as the value of the modified PPS ID (reference picture parameter set identifier), and obtaining the PPS of the modified PPS ID obtained from the parameter set NALU in step 507.
然后终端根据 VCL NALU直接引用的参数集中包含的 VCL NALU间接 引用的参数集 ID获取 VCL NALU间接引用的参数集, 如 SPS和 VPS.  The terminal then obtains the parameter set indirectly referenced by VCL NALU, such as SPS and VPS, according to the parameter set ID indirectly referenced by VCL NALU contained in the parameter set directly referenced by VCL NALU.
具体的,根据 PPS中的 sps_id从步骤 507中获取到参数集 NALU中获取 包含与 PPS中的 sps id相同的 sps id的 SPS;根据 SPS中的 vps_id从步骤 507 中获取到参数集 NALU中获取包含与 SPS中的 vps id相同的 vps id的 VPS。  Specifically, the SPS including the same sps id as the sps id in the PPS is obtained from the parameter set NALU obtained in step 507 according to the sps_id in the PPS; and the parameter set NALU is obtained from the step 507 according to the vps_id in the SPS. The VPS of the same vps id as the vps id in the SPS.
VCL NALU直接引用的参数集和 VCL NALU间接引用的参数集都作为 用于解码第一视频码流的 VCL NALU的参数集。 作为一种可选方式, 如果在步骤 513 中, 终端并没有生成参数集标识修 改信息 SEI消息,而是分别生成了 PPS标识修改信息 SEI消息和 APS标识修 改信息 SEI消息, 则在步骤 515中, 终端分别根据 PPS标识修改信息 SEI消 息确定该 VCL NALU引用的 PPS的参数集 ID,以及根据 APS标识修改信息 SEI消息确定该 VCL NALU引用的 APS的参数集 ID, 并根据确定的 PPS的 参数集 ID和 APS的参数集 ID从通过带外方式获取的参数集中获取参数集 ID 为确定的 PPS的参数集 ID和 APS的参数集 ID的 PPS和 APS,以及根据 PPS 中的 sps id获取 SPS; 根据 SPS中的 vps_id获取 VPS。 Both the parameter set directly referenced by the VCL NALU and the parameter set indirectly referenced by the VCL NALU serve as a parameter set for decoding the VCL NALU of the first video stream. As an alternative, if the terminal does not generate the parameter set identification modification information SEI message in step 513, but generates the PPS identification modification information SEI message and the APS identification modification information SEI message respectively, then in step 515, The terminal determines a parameter set ID of the PPS referenced by the VCL NALU according to the PPS identifier modification information SEI message, and determines a parameter set ID of the APS referenced by the VCL NALU according to the APS identifier modification information SEI message, and according to the determined parameter set ID of the PPS And the parameter set ID of the APS obtains the parameter set ID of the PPS and the PPS and APS of the parameter set ID of the APS from the parameter set obtained by the outband mode, and acquires the SPS according to the sps id in the PPS; according to the SPS The vps_id in the middle gets the VPS.
具体的获取方法与上述根据参数集标识修改信息 SEI消息获取的方法一 致, 本发明实施例在此不再详述。  The specific acquisition method is the same as the method for obtaining the SEI message according to the parameter set identification modification information. The embodiment of the present invention is not described in detail herein.
步骤 516、 利用从通过带外方式获取的参数集中获取到的参数集 (如以 第一编码器为遵循 HEVC标准的编码器为例, 包括 APS,PPS,SPS和 VPS )对 第一视频码流中的 VCL NALU进行解码。  Step 516: Using a parameter set obtained from a parameter set obtained by an out-of-band method (for example, using the first encoder as an encoder conforming to the HEVC standard, including APS, PPS, SPS, and VPS) to the first video stream. The VCL NALU in the decoding is performed.
由以上实施例可知, 当某类型的第一视频的 VCL NALU直接引用的参数 集的参数集 ID和第二视频的同一类型的参数集的参数集 ID相同时, 拼接器 只需生成参数集标识修改消息,如(参数集标识修改信息 SEI消息, 或者 PPS 标识修改信息 SEI消息和 /或 APS标识修改信息 SEI消息)。该参数集标识修 改信息携带第一视频的参数集 ID修改信息,由终端根据参数集标识修改消息 确定用于解码 VCL NALU的参数集的参数集 ID,而无需拼接器直接修改第一 视频码流中的参数集 ID。 由于生成参数集标识修改消息的操作比较简单, 不 需要拼接器具有熵解码和熵编码能力并且操作的频度较低, 因此只需要很少 的计算资源和存储资源。从而只需要对现有网络中的拼接器进行简单的升级, 而不需要在现有网络中的拼接器上增加额外的硬件资源, 或者使用新的拼接 器对现有网络中的拼接器进行替换, 从而相比于现有技术, 运营商所需运营 成本较少。  It can be seen from the above embodiment that when the parameter set ID of the parameter set directly referenced by the VCL NALU of the first video of the certain type is the same as the parameter set ID of the parameter set of the same type of the second video, the splicer only needs to generate the parameter set identifier. The modification message, such as (parameter set identification modification information SEI message, or PPS identification modification information SEI message and/or APS identification modification information SEI message). The parameter set identifier modification information carries the parameter set ID modification information of the first video, and the terminal determines the parameter set ID of the parameter set used for decoding the VCL NALU according to the parameter set identifier modification message, without directly modifying the first video stream by using the splicer. The parameter set ID in . Since the operation of generating the parameter set identification modification message is relatively simple, the splicer does not need entropy decoding and entropy coding capability and the operation frequency is low, so only a small amount of computing resources and storage resources are needed. This requires only a simple upgrade of the splicer in the existing network, without the need to add additional hardware resources to the splicer in the existing network, or to replace the splicer in the existing network with a new splicer. Therefore, operators need less operating costs than the prior art.
在采用图 5所对应的流程中, 应用服务器在步骤 506修改第一视频参数 集中参数集 ID, 然后在步骤 507中将包含修改后参数集 ID的第一视频参数 集发送给终端。 然而, 作为另一种可选方式, 应用服务器还可以不修改第一 视频参数集中参数集 ID, 而在步骤 507中向终端发送的媒体描述信息获取响 应中指示第一视频参数集对应的用于解码 VCL NALU的参数集的参数集 ID。 也就是说, 应用服务器向终端发送的媒体描述信息获取响应中包含第二视频 的参数集、 第一视频的原参数集以及第一视频的原参数集的用于解码 VCLIn the process corresponding to FIG. 5, the application server modifies the first video parameter set parameter set ID in step 506, and then transmits the first video parameter set including the modified parameter set ID to the terminal in step 507. However, as an alternative, the application server may not modify the parameter set ID of the first video parameter set, and the media description information acquisition response sent to the terminal in step 507 indicates that the first video parameter set is used for The parameter set ID of the parameter set that decodes the VCL NALU. That is, the media description information acquisition response sent by the application server to the terminal includes a parameter set of the second video, an original parameter set of the first video, and an original parameter set of the first video for decoding the VCL.
NALU的参数集的参数集 ID, 其中第一视频的原参数集为应用服务器在步骤The parameter set ID of the NALU parameter set, where the original parameter set of the first video is the application server in the step
504中获取到的第一视频的参数集, 从而减化应用服务器的操作。 The parameter set of the first video obtained in 504, thereby reducing the operation of the application server.
以步骤 507中向终端发送的媒体描述信息为 SDP形式为例进行说明。 具体的, 应用服务器通过在媒体描述信息获取响应中的 SDP 中的参数 sprop-parameter-sets ( 流特性参数集 ) 的一组子参数 <parameter set type> :<parameter set id>:<parameter set data>来携带一个参数集 NALUc 其中: parameter set type (参数集类型)为三字节文本, 代表参数集的类型。 parameter set id (参数集标识)为 1字节无符号整数, 代表参数集 ID的 取值。 该字段的值可以与参数集 NALU 中原参数集 ID 的值不同。 如果 parameter set id的值与参数集 NALU中原参数集 ID的值不同,以 parameter set id字段的值作为用于解码 VCL NALU的参数集的参数集 ID。 所述原参数集 The media description information sent to the terminal in step 507 is taken as an SDP format as an example. Specifically, the application server obtains a set of sub-parameters of the parameter sprop-parameter-sets (flow characteristic parameter set) in the SDP in the media description information in the media description information: <parameter set id>: <parameter set data > to carry a parameter set NALUc where: parameter set type is a three-byte text representing the type of the parameter set. The parameter set id is a 1-byte unsigned integer representing the value of the parameter set ID. The value of this field can be different from the value of the original parameter set ID in the parameter set NALU. If the value of the parameter set id is different from the value of the original parameter set ID in the parameter set NALU, the value of the parameter set id field is used as the parameter set ID of the parameter set used to decode the VCL NALU. The original parameter set
ID为第一内容服务器在步骤 502中发送给应用服务器的参数集 NALU中的参 数集 ID,也即为还没修改的第一视频的参数集 ID。 当一组子参数用于携带一 个参数集 ID需要修改的第一视频的参数集 NALU时, parameter set id为需要 用于解码 VCL NALU的参数集的参数集 ID。 The ID is the parameter set ID in the parameter set NALU sent by the first content server to the application server in step 502, that is, the parameter set ID of the first video that has not been modified. When a set of sub-parameters is used to carry the parameter set NALU of the first video whose parameter set ID needs to be modified, the parameter set id is the parameter set ID of the parameter set that needs to be used to decode the VCL NALU.
parameter set data (参数集数据 )为 Base64 (基本 64字符)编码的参数 集 NALU。当一组子参数用于携带一个参数集 ID需要修改的第一视频的参数 集 NALU时,所述被携带的参数集 NALU为第一内容服务器发送给应用服务 器的参数集 NALU。  The parameter set data is the Base64 (basic 64 character) encoded parameter set NALU. When a set of sub-parameters is used to carry a parameter set NALU of the first video whose parameter set ID needs to be modified, the carried parameter set NALU is a parameter set NALU sent by the first content server to the application server.
参数 sprop-parameter-sets可以包含多组子参数以携带多个参数集 NALU, 如果 parameter-sets包含多组子参数以携带多个参数集 NALU, 各组子参数之 间通过字符 "," 分隔。  The parameter sprop-parameter-sets can contain multiple sets of sub-parameters to carry multiple parameter sets NALU. If parameter-sets contains multiple sets of sub-parameters to carry multiple parameter sets NALU, each set of sub-parameters is separated by the character ",".
以第二编码器、 第一编码器均为遵循 HEVC标准的编码器为例进行说明。 按照上述方式, 步骤 507中应用服务器发送给终端的携带参数集 NALU的 SDP 示例: ^下所示。  An example in which the second encoder and the first encoder are both encoders conforming to the HEVC standard will be described. In the above manner, in step 507, the SDP example of the parameter set NALU sent by the application server to the terminal is as follows:
具体的, 假设应用服务器接收到的第二视频参数集 NALU包括一个 VPS NALU, 一个 SPS NALU、 一个 PPS NALU和一个 APS NALU, 对应参数集 NALU中的 VPS ID、 SPS ID, PPS ID、 APS ID均为 0。 应用服务器接收到的第 一视频参数集 NALU也包括一个 VSP NALU,一个 SPS NALU,一个 PPS NALU 和一个 APS NALU, 对应参数集 NALU中的 VPS ID、 SPS ID、 PPS ID、 APS ID 也均为 0。 Specifically, it is assumed that the second video parameter set NALU received by the application server includes a VPS NALU, an SPS NALU, a PPS NALU, and an APS NALU, corresponding parameter sets. The VPS ID, SPS ID, PPS ID, and APS ID in the NALU are both 0. The first video parameter set NALU received by the application server also includes a VSP NALU, an SPS NALU, a PPS NALU and an APS NALU, and the VPS ID, SPS ID, PPS ID, and APS ID in the corresponding parameter set NALU are also 0. .
因此, 第一视频的所有类型的原参数集 ID由于与第二视频的同类型的参 数集 ID相同而都需要修改, 应用服务器确定各类型参数集对应的参数集 ID的 偏移都为 1, 即第一视频 VSP、 SPS, PPS, APS的 VPS ID、 SPS ID, PPS ID, APS ID的新取值都为第一视频的所有类型的原参数集 ID+参数集 ID的偏移即 0+1=1。 因此, SDP中携带 8个参数集 NALU, 第一到四组子参数携带第二视频 的参数集 NALU, 对应的参数集类型分别为 VPS、 SPS, PPS, APS; 第二视 频参数集的参数集 ID不需要修改,因此 SDP中对应的子参数 arameter set id 均为 0, 对应的 parameter set data中的参数集 NALU中的参数集 ID均为 0; 第五到八组子参数携带第一视频的 NALU,第一视频参数集的参数集 ID都需 要修改且新取值都为 1, 因此 SDP中对应的子参数 parameter set id均为 1, 但对应的 parameter set data中的参数集 NALU中的参数集 ID均为 0。  Therefore, all types of original parameter set IDs of the first video need to be modified because they are the same as the same type of parameter set ID of the second video, and the application server determines that the offset of the parameter set ID corresponding to each type of parameter set is 1, That is, the new values of the VPS ID, the SPS ID, the PPS ID, and the APS ID of the first video VSP, SPS, PPS, and APS are all the offsets of the original parameter set ID + parameter set ID of all types of the first video, that is, 0+1. =1. Therefore, the SDP carries eight parameter sets NALU, and the first to fourth sets of sub-parameters carry the parameter set NALU of the second video, and the corresponding parameter set types are VPS, SPS, PPS, APS; the parameter set of the second video parameter set The ID does not need to be modified, so the corresponding sub-parameter arameter set id in the SDP is 0, and the parameter set ID in the parameter set NALU in the corresponding parameter set data is 0; the fifth to eighth sub-parameters carry the first video. NALU, the parameter set ID of the first video parameter set needs to be modified and the new value is all 1, so the corresponding sub-parameter parameter set id in the SDP is 1, but the parameter in the parameter set NALU in the corresponding parameter set data The set ID is 0.
m=video 49170 RTP/AVP 98  m=video 49170 RTP/AVP 98
a=rtpmap:98 H264/90000  a=rtpmap:98 H264/90000
a=fmtp:98 sprop-parameter-sets=<vps><0><parameter set data#l> ,  a=fmtp:98 sprop-parameter-sets=<vps><0><parameter set data#l> ,
<sps><0><parameter set data#2> ,  <sps><0><parameter set data#2> ,
<pps><0><parameter set data#3> ,  <pps><0><parameter set data#3> ,
<aps><0><parameter set data#4>  <aps><0><parameter set data#4>
<vps>< 1 xparameter set data#5〉 ,  <vps>< 1 xparameter set data#5> ,
<sps>< 1 xparameter set data#6> ,  <sps>< 1 xparameter set data#6> ,
<pps>< 1 xparameter set data#7> ,  <pps>< 1 xparameter set data#7> ,
<aps>< 1 xparameter set data#8>  <aps>< 1 xparameter set data#8>
以第一视频的参数集修改信息包含第一视频的待修改参数集 ID 的参数 集类型以及与待修改参数集 ID的参数集类型对应的原参数集 ID的偏移为例 进行说明。 The parameter set modification information of the first video includes the parameter set type of the parameter set ID of the first video to be modified and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified as an example. Be explained.
由于步骤 507中应用服务器发送给终端的第一视频的原参数集 NALU中 的参数集 ID为第一视频的原参数集 ID, 当终端获取 VCL NALU直接引用的 参数集后, 所述 VCL NALU直接引用的参数集中包含的 VCL NALU间接引 用的参数集的参数集 ID为原参数集 ID, 由于参数集 ID以媒体描述响应消息 中指示的参数集 ID为准, 终端使用原参数集 ID不能从通过带外方式获取的 参数集中获取的参数集中获取正确的参数集, 因此在步骤 508中所述第一视 频的参数集 ID修改信息中还包含 VCL NALU间接引用的参数集 ID修改信 息。 相应地, 在步骤 513, 参数集标识修改消息中还需要包含 VCL NALU间 接引用的参数集 ID修改信息。 以第一编码器为遵循 HEVC标准的编码器, 即 VCL NALU间接引用的参数集类型包含 SPS、 VPS为例进行说明。  Since the parameter set ID in the original parameter set NALU of the first video sent by the application server to the terminal in step 507 is the original parameter set ID of the first video, after the terminal acquires the parameter set directly referenced by the VCL NALU, the VCL NALU is directly The parameter set ID of the parameter set indirectly referenced by the VCL NALU in the referenced parameter set is the original parameter set ID. Since the parameter set ID is based on the parameter set ID indicated in the media description response message, the terminal cannot pass the original parameter set ID. The parameter set obtained in the parameter set acquired in the outband manner obtains the correct parameter set. Therefore, in step 508, the parameter set ID modification information of the first video further includes the parameter set ID modification information indirectly referenced by the VCL NALU. Correspondingly, in step 513, the parameter set identification modification message also needs to include the parameter set ID modification information of the VCL NALU indirect reference. The first encoder is an encoder that complies with the HEVC standard, that is, the parameter set type indirectly referenced by VCL NALU includes SPS and VPS as an example.
参数集标识修改信息 SEI消息中还需要包含 vps_id_change_flag (视频参 数集标识更改标志) 、 sps_id_change_flag (序列参数集标识更改标识) , 如 果待修改参数集 ID的参数集类型包含 vps, 拼接器设置 vps_id_change_flag 为 1, 并通过 vps id diff (视频参数集标识偏移)传递对应的参数集 ID偏移; 如果待修改参数集 ID的参数集类型包含 sps, 拼接器设置 sps_id_change_flag 为 1, 并通过参数序列参数集标识偏移 (sps_id_diff )传递对应的参数集 ID 偏移。 即, 采用此种方式, 参数集标识修改信息 SEI消息的格式如表五所示:  The parameter set identification modification information SEI message also needs to include vps_id_change_flag (video parameter set identification change flag), sps_id_change_flag (sequence parameter set identification change identifier), if the parameter set type of the parameter set ID to be modified includes vps, the splicer sets vps_id_change_flag to 1 And passing the corresponding parameter set ID offset by vps id diff (video parameter set identifier offset); if the parameter set type of the parameter set ID to be modified includes sps, the splicer sets sps_id_change_flag to 1, and identifies by the parameter sequence parameter set The offset (sps_id_diff ) passes the corresponding parameter set ID offset. That is, in this way, the format of the parameter set identification modification information SEI message is as shown in Table 5:
Figure imgf000033_0001
Figure imgf000033_0001
表五 其中, 对表五的各参数的解释与表二相同, 本发明实施例在此不再详述. 终端获取到携带有第二视频参数集 NALU、 第一视频的原参数集 NALU 的 SDP后,将各参数集 NALU存储到参数集 NALU记录表中,参数集 NALU 记录表的格式如表六所示。 分别对应与 SDP中参数 sprop-parameter-sets的各 子参数: Table 5 The description of the parameters of the fifth table is the same as that of the second embodiment. The embodiment of the present invention is not described in detail herein. After the terminal acquires the SDP carrying the second video parameter set NALU and the original parameter set NALU of the first video, Each parameter set NALU is stored in a parameter set NALU record table, and the format of the parameter set NALU record table is as shown in Table 6. Corresponding to each sub-parameter of the parameter sprop-parameter-sets in the SDP:
parameter set type parameter set id parameter set data 其中, 如上所述, arameter set type表示参数集类型, arameter set id表 示用于解码 VCL NALU的参数集的参数集 ID, parameter set data为 Base64 编码的修改了参数集 ID的参数集 NALU. 具体的,如果终端获取到的携带有 第二视频参数集 NALU、 第一视频的原参数集 NALU的 SDP为前述携带参 数集 NALU的 SDP示例, 参数集 NALU记录表如表七所示  Parameter set type parameter set id parameter set data where, as described above, arameter set type represents the parameter set type, arameter set id represents the parameter set ID of the parameter set used to decode the VCL NALU, and the parameter set data is the Base64 encoded modified parameter. Specifically, if the SDP of the original parameter set NALU carrying the second video parameter set NALU and the first video acquired by the terminal is the SDP example of the foregoing carrying parameter set NALU, the parameter set NALU record table is as follows. Table 7 shows
Figure imgf000034_0001
Figure imgf000034_0001
表七  Table 7
在步骤 515中, 终端接收参数集标识修改信息 SEI消息后, 根据参数集 标识爹改信息 SEI 消息得到 reference aps id 以及 reference_pps_id并才艮据 reference aps id , reference_pps_id从通过带夕卜方式菝取的参数集中菝取包含 aps id为 reference aps id APS,包含々 ps id为 reference_pps_id PPS。 然后获取 PPS中包含的 sps_id, 即为 original_sps_id, 根据参数集标识修改信 息 SEI 消息得到 reference_sps_id (参考序列参数集标识取值) 、 根据 reference aps id 从通过带外方式获取的参数集中获取包含的 sps id 为 reference sps id的 SPS。 菝取 SPS中的 vps id, 即为 original— vps_id, 根据参 数集标识修改信息 SEI 消息得到 reference_vps_id (参考视频参数集标识取 值),根据 reference vps id从通过带外方式获取的参数集中获取包含的 vps id 为 reference vps id的 VPS。 In step 515, after receiving the parameter set identification modification information SEI message, the terminal obtains the reference aps id and the reference_pps_id according to the parameter set identifier tamper information SEI message, and takes the reference aps id and the reference_pps_id from the parameters learned by the sufficiency method. The centralized capture contains the aps id as the reference aps id APS, including the 々ps id as the reference_pps_id PPS. Then, the sps_id included in the PPS is obtained, that is, the original_sps_id, and the reference information is modified according to the parameter set identifier SEI message to obtain the reference_sps_id (reference sequence parameter set identifier value), and the included sps id is obtained from the parameter set obtained by the outband method according to the reference aps id. SPS for reference sps id. The vps id in the SPS is taken as the original_vps_id, and the reference information is modified according to the parameter set identifier SEI message to obtain the reference_vps_id (reference video parameter set identifier value), and the included parameter is obtained from the parameter set obtained by the outband method according to the reference vps id. Vps id VPS for reference vps id.
具体 ό々, 通过 reference aps id , reference_pps_id、 reference sps id 或 reference vps id 获取对应参数集的方式为, 从参数集 NALU 记录表获得 parameter set type为对应类型并且 arameter set id等于 reference aps id , reference_pps_id、 reference sps id 或 reference vps id 々唯 条参数集 Specifically, the reference parameter set is obtained by using a reference aps id , a reference_pps_id, a reference sps id, or a reference vps id, and the parameter set type is obtained from the parameter set NALU record table and the arameter set id is equal to the reference aps id , reference_pps_id, Reference sps id or reference vps id
NALU记录, 从该记录的 parameter set data中菝取对应的 Base64编码的参数 集 NALU, 再对 VCL NALU进行解码。 The NALU record extracts the corresponding Base64 encoded parameter set NALU from the parameter set data of the record, and then decodes the VCL NALU.
作为另一种可选方式, 当第一视频只包含一个 VPS、 一个 SPS、 一个 PPS、 一个 APS时, 为了简化终端操作, 拼接器执行步骤 512之后, 执行步骤 513时, 即当拼接器确认某种类型的参数集 ID需要修改时, 拼接器可以直接在参数集 标识爹改信息 SEI消息 ( Parameter Set ID Change Info SEI message ) 中包含对 应参数集 ID的新取值, 而不是对应的参数集 ID偏移。 或者, 拼接器可以直接 在 PPS标识修改信息 SEI消息或 APS标识修改信息 SEI消息中包含修改后的 PPS As another alternative, when the first video includes only one VPS, one SPS, one PPS, and one APS, in order to simplify the terminal operation, after the splicer performs step 512, when step 513 is performed, that is, when the splicer confirms a certain When the parameter ID of the type needs to be modified, the splicer may directly include the new value of the corresponding parameter set ID in the Parameter Set ID Change Info SEI message instead of the corresponding parameter set ID. Offset. Alternatively, the splicer may directly include the modified PPS in the PPS identification modification information SEI message or the APS identification modification information SEI message.
ID或修改后的 APS ID。相应的, 在步骤 515中, 终端直接从第一视频的参数集 标识修改消息中获取对应参数集 ID从而确定用于解码 VCL NALU的参数集的 参数集 ID。 作为另一种可选方式,在步骤 508中第一视频的参数集 ID修改信息为待修 改的参数集 ID的参数集类型和用于解码 VCL NALU的参数集的参数集 ID ,其 中用于解码 VCL NALU的参数集的参数集 ID为应用服务器为待修改的参数集 ID分配的修改后参数集 ID的取值。 以步骤 507中采用在 SDP中包含修改了参数集 ID的第一视频的参数集ID or modified APS ID. Correspondingly, in step 515, the terminal directly obtains the corresponding parameter set ID from the parameter set identification modification message of the first video to determine the parameter set ID of the parameter set used to decode the VCL NALU. As another alternative, the parameter set ID modification information of the first video in step 508 is a parameter set type of the parameter set ID to be modified and a parameter set ID of a parameter set for decoding the VCL NALU, where The parameter set ID of the parameter set of the VCL NALU is the value of the modified parameter set ID assigned by the application server for the parameter set ID to be modified. In step 507, a parameter set including a first video in which the parameter set ID is modified in the SDP is adopted.
NALU为例进行说明。 作为一种可选方式, 步骤 514中, 拼接器发送给终端的 NALU is taken as an example for illustration. As an optional manner, in step 514, the splicer is sent to the terminal.
Figure imgf000035_0001
pps id change flag u(l) if (aps id change flag)
Figure imgf000035_0001
Pps id change flag u(l) if (aps id change flag)
new aps id u(5) if (pps id change flag)  New aps id u(5) if (pps id change flag)
new_pps_id u(8) New_pps_id u(8)
}}
Figure imgf000036_0001
Figure imgf000036_0001
其中, 参数 APS标识更改标识 (aps_id_change_flag)取值为 1, 表明 APS ID 需要修改,参数 PPS标识更改标识( pps_id_change_flag )取值为 1,表明 PPS ID 需要修改。 Descirptor:u(l)表明参数 aps_id_change_flag和 pps_id_change_flag占 一个比特位。参数 new_aps_id携带修改后的 APS ID,参数 new_aps_id携带修改 后的 PPS ID。 Descirptor:u(5)表明采用 5比特表增的无符号整数, u(8)表明采用 8比特表示的无符号整数。  The parameter APS identifier change identifier (aps_id_change_flag) has a value of 1, indicating that the APS ID needs to be modified, and the parameter PPS identifier change identifier (pps_id_change_flag) has a value of 1, indicating that the PPS ID needs to be modified. Descirptor:u(l) indicates that the parameters aps_id_change_flag and pps_id_change_flag occupy one bit. The parameter new_aps_id carries the modified APS ID, and the parameter new_aps_id carries the modified PPS ID. Descirptor: u(5) indicates an unsigned integer incremented by a 5-bit table, and u(8) indicates an unsigned integer represented by 8 bits.
当然, 如果拼接器发送给终端的是 PPS标识修改信息 SEI消息和 /或 APS标 识修改信息 SEI消息, 则消息格式与表 8类似, 本发明实施例在不再详述。  Of course, if the splicer sends the PPS identification modification information SEI message and/or the APS identification modification information SEI message to the terminal, the message format is similar to that of the table 8, which is not described in detail in the embodiment of the present invention.
以步骤 507中采用在 SDP中包含第一视频的原参数集 NALU和原参数集 In step 507, the original parameter set NALU and the original parameter set including the first video in the SDP are adopted.
NALU对应的用于解码 VCL NALU的参数集的参数集 ID为例进行说明。 第一 拼接器在执行步骤 513时, 参数集标识修改信息 SEI消息的格式如表 9所示: The parameter set ID of the parameter set for decoding the VCL NALU corresponding to the NALU is taken as an example for description. When the first splicer performs step 513, the parameter set identifies the modification information. The format of the SEI message is as shown in Table 9:
Figure imgf000036_0002
Figure imgf000037_0001
Figure imgf000036_0002
Figure imgf000037_0001
表 9  Table 9
其中, 表 9各参数的作用与表 8类似, 本发明实施例在此不再详述。 作为本发明实施例的另一种实现方式, 第一视频还可以在会话过程中间 确定。 采用此种方案, 拼接器上需预先配置第一内容服务器的地址, 当拼接 器确定需要进行拼接准备时, 向第一内容服务器请求第一视频码流。 采用此 种方案, 终端在会话初始或者会话建立前获得的媒体描述信息中只有第二视 频的参数集, 终端需要在会话中间重新获取包含第二视频的参数集、 第一视 频的参数集的媒体描述信息。 参见图 6, 本发明实施例提供的另一码流拼接 方法流程图, 包括如下步骤:  The functions of the parameters in Table 9 are similar to those in Table 8. The embodiments of the present invention are not described in detail herein. As another implementation manner of the embodiment of the present invention, the first video may also be determined in the middle of the session process. With this solution, the address of the first content server needs to be pre-configured on the splicer. When the splicer determines that splicing preparation is required, the first video code stream is requested from the first content server. With such a scheme, the terminal only has a parameter set of the second video in the media description information obtained before the session is initiated or the session is established, and the terminal needs to re-acquire the media set including the parameter set of the second video and the parameter set of the first video in the middle of the session. Description. Referring to FIG. 6, another flowchart of a code stream splicing method provided by an embodiment of the present invention includes the following steps:
步骤 601-605, 与步骤 501-504相同, 本发明实施例在此不再详述。 步骤 606、 应用服务器向终端发送第一媒体描述信息获取响应消息, 其 中的媒体描述信息包含第二视频的参数集。  The steps 601-605 are the same as the steps 501-504, and the embodiments of the present invention are not described in detail herein. Step 606: The application server sends a first media description information acquisition response message to the terminal, where the media description information includes a parameter set of the second video.
步骤 607-609与步骤 509-511相同, 本发明实施例在此不再详述。  The steps 607-609 are the same as the steps 509-511, and the embodiments of the present invention are not described in detail herein.
步骤 610、 拼接器根据配置的第一内容服务器的地址, 向第一内容服务 器发送第一视频获取请求, 所述第一视频获取请求中还可以包含用户标识, 第二视频码流标识信息。  Step 610: The splicer sends a first video acquisition request to the first content server according to the configured address of the first content server, where the first video acquisition request further includes a user identifier and second video code stream identification information.
具体的, 在执行此步骤之前, 拼接器判断是否需要进行拼接准备, 如果 需要进行拼接准备, 拼接器向第一内容服务器发送第一视频获取请求。  Specifically, before performing this step, the splicer determines whether splicing preparation is required. If splicing preparation is required, the splicer sends a first video acquisition request to the first content server.
拼接器判段是否需要进行拼接准备的方法参见步骤 512的描述, 本发明 实施例在此不再详述。  For the method of determining whether the splicer needs to be spliced, refer to the description of step 512, and the embodiment of the present invention will not be described in detail herein.
步骤 611、 第一内容服务器确定第一视频码流, 将第一视频码流发送给 拼接器。  Step 611: The first content server determines the first video code stream, and sends the first video code stream to the splicer.
作为确定第一视频码流的一种可选方式, 第一内容服务器接收到的步骤 608 中的拼接器发送的第一视频获取请求中包含终端用户的标识, 第一内容 服务器根据终端用户的标识获取终端用户的用户偏好, 根据获取的用户偏好 选择第一视频并确定第一视频码流。 As an alternative manner of determining the first video code stream, the first video acquisition request sent by the splicer in step 608 received by the first content server includes the identifier of the terminal user, the first content. The server acquires the user preference of the terminal user according to the identifier of the terminal user, selects the first video according to the acquired user preference, and determines the first video code stream.
作为确定第一视频码流的另一种可选方式, 第一内容服务器还可以仅根 据第二视频流的标识信息获取第二内容的插播策略, 根据插播策略选择第一 内容并确定第一视频码流。 采用此种方法时, 步骤 608中的第一视频获取请 求需要包含第二视频流的标识信息。 当然, 第一内容服务器还可以仅根据存 储的业务策略选择第一内容。 此外, 第一内容服务器还可以采用别的方式确定第一视频码流, 本发明 实施例在此不再——详述。 步骤 612、 第一内容服务器将第一视频的媒体描述信息发送给应用服务 器, 第一视频的媒体描述信息包含第一视频的原参数集, 第一视频的参数集 的类型及与各类型对应的参数集的原参数集 ID。  As another alternative manner of determining the first video code stream, the first content server may further acquire an insertion policy of the second content according to the identification information of the second video stream, select the first content according to the insertion strategy, and determine the first video. Code stream. When the method is used, the first video acquisition request in step 608 needs to include the identification information of the second video stream. Of course, the first content server can also select the first content based only on the stored business policy. In addition, the first content server may determine the first video bitstream in another manner, which is not described in detail herein. Step 612: The first content server sends the media description information of the first video to the application server, where the media description information of the first video includes an original parameter set of the first video, a type of the parameter set of the first video, and a type corresponding to each type. The original parameter set ID of the parameter set.
步骤 613、 应用服务器修改第一视频的原参数集 ID。  Step 613: The application server modifies the original parameter set ID of the first video.
在执行步骤 613之前, 作为一种可选方式, 应用服务器根据终端用户的 标识或者第二视频码流标识信息确定接收到的第一视频的媒体描述信息对应 的第二视频的描述信息。应用服务器修改第一视频的原参数集 ID的具体方法 与步骤 506相同, 本发明实施例在此不再详述。  Before the step 613 is performed, the application server determines, according to the identifier of the terminal user or the second video code stream identification information, the description information of the second video corresponding to the received media description information of the first video. The specific method of the application server to modify the original parameter set ID of the first video is the same as the step 506, and the embodiment of the present invention will not be described in detail herein.
步骤 614、 应用服务器向拼接器发送第二视频码流和第一视频码流信息。 具体的, 第二视频码流信息为第二视频码流标识信息, 第一视频码流信息为 第一视频参数集 ID修改信息。 步骤 614与步骤 508相同, 本发明实施例在此不再详述。  Step 614: The application server sends the second video code stream and the first video code stream information to the splicer. Specifically, the second video code stream information is the second video code stream identification information, and the first video code stream information is the first video parameter set ID modification information. Step 614 is the same as step 508, and the embodiment of the present invention will not be described in detail herein.
步骤 615、拼接器根据第一视频参数集 ID修改信息生成第一视频的不生效 的参数集标识修改消息(如: 参数集标识修改信息 SEI消息), 参数集标识修 改消息除第一视频的参数集 ID修改信息外, 进一步包含指示参数集 ID修改信 息不生效的标志信息。 本流程以参数集标识修改消息中只包含 VCL NALU直接引用的参数集类 型对应的参数集 ID修改信息, 并且参数集标识修改消息为参数集标识修改信 息 SEI消息为例进行说明。 具体的, 在参数集标识修改信息 SEI消息为例中包 含修改信息生效标志( change_info_enable_flag )并设置该标志的取值为 0, 当 然, 还可以用其它的方式, 如取值为字符, F,、 字符串, TALSE,等其他的标识, 指示参数集 ID修改信息 SEI消息中携带的参数集 ID修改信息不生效,本发明实 施例在此不做限定。 Step 615: The splicer generates a parameter set identifier modification message (such as a parameter set identifier modification information SEI message) that is not valid according to the first video parameter set ID modification information, and the parameter set identifies the modification message except the parameter of the first video. In addition to the ID modification information, the flag information indicating that the parameter set ID modification information is not valid is further included. In the process, the parameter set identifier modification message includes only the parameter set ID modification information corresponding to the parameter set type directly referenced by the VCL NALU, and the parameter set identifier modification message is the parameter set identifier modification information SEI message as an example. Specifically, in the parameter set identifier modification information SEI message, the modification information validation flag (change_info_enable_flag) is included in the example, and the value of the flag is set to 0. Of course, other methods, such as taking the value, F, The character string, the TALSE, and other identifiers are not valid, and the parameter set ID modification information carried in the parameter set ID modification information SEI message is not valid.
以第一视频的参数集修改信息包含第一视频的待修改参数集 ID的参数集 类型以及与待修改参数集 ID的参数集类型对应的参数集 ID偏移为例, 并且第 一编码器为遵循 HEVC标准的编码器进行说明。 进一步携带修改信息生效标 志的 parameter Set ID Change Info SEI message的格式 口表 10所示:  The parameter set modification type of the parameter set of the first video includes the parameter set type of the parameter set ID of the first video and the parameter set ID offset corresponding to the parameter set type of the parameter set ID to be modified, and the first encoder is The encoder according to the HEVC standard is explained. Further, the format of the parameter Set ID Change Info SEI message carrying the modification information valid flag is shown in the port table 10:
Figure imgf000039_0001
Figure imgf000039_0001
表 10  Table 10
其中, 在本步骤中, 拼接器将 change_info_enable_flag设置为 0。 表 明该消息的参数集 ID修改信息暂时不生效。 对于该消息的其它参数, 与 表 2所述, 本发明实施例在此不再详述。  Among them, in this step, the splicer sets change_info_enable_flag to 0. Indicates that the parameter set ID modification information of the message does not take effect temporarily. For other parameters of the message, as described in Table 2, the embodiments of the present invention are not described in detail herein.
步骤 616、 拼接器向终端发送包含指示参数集 ID修改信息不生效的标 志信息的第一视频的参数集标识修改消息(即不生效的参数集标识修改消息 ) 和第二视频码流。  Step 616: The splicer sends, to the terminal, a parameter set identifier modification message (ie, a parameter set identifier modification message that is not valid) and a second video code stream, where the first video that indicates that the parameter set ID modification information is not valid is sent.
具体的, 拼接器随第二视频码流发送步骤 615中生成的包含指示参数集 ID修改信息不生效的标志信息的参数集标识修改消息, 如包含指示参数集 ID修改信息不生效的标志信息的的参数集 ID修改信息 SEI消息。 类似的, 为了保证终端收到该 SEI消息, 可以在连续多个 AU中插入封装有该参数集 标识爹改消息的 NALU。 Specifically, the splicer sends, according to the second video code stream sending step 615, a parameter set identifier modification message that includes flag information indicating that the parameter set ID modification information is not valid, such as including the indication parameter set. The parameter set ID modification information SEI message of the flag information in which the ID modification information does not take effect. Similarly, in order to ensure that the terminal receives the SEI message, the NALU encapsulating the parameter set identifier tampering message may be inserted in consecutive AUs.
为了保证平滑传输, 拼接器通常设有緩沖区。 拼接器在接收视频码流后, 将视频码流存储在緩沖区中。 为了减少发送包含指示参数集 ID修改信息不 生效的标志信息的参数集标识修改消息所带来的开销, 拼接器也可以等待拼 接点之前的第二视频码流緩沖完毕后, 判断当前待发送第二视频图片是否为 拼接点之前最后一个 RAP, 如果是, 随该第二视频 RAP发送包含指示参数 集 ID修改信息不生效的标志信息的参数集标识修改消息。 类似的, 为了保 证终端收到该 SEI消息, 可以在该 RAP AU之后连续多个 AU中插入封装有 该参数集标识爹改消息的 NALU。  In order to ensure smooth transmission, the splicer usually has a buffer. After receiving the video stream, the splicer stores the video stream in a buffer. In order to reduce the overhead caused by the parameter set identifier modification message including the flag information indicating that the parameter set ID modification information is not valid, the splicer may wait for the second video stream before the splicing point to be buffered, and determine the current to be sent. Whether the second video picture is the last RAP before the splicing point, and if so, the parameter set identification modification message including the flag information indicating that the parameter set ID modification information is not valid is sent with the second video RAP. Similarly, in order to ensure that the terminal receives the SEI message, the NALU encapsulating the parameter set identifier tampering message may be inserted into multiple consecutive AUs after the RAP AU.
如果参数集标识修改消息为 PPS标识修改信息 SEI消息和 /或 APS标识 修改信息 SEI消息步骤 614中拼接器还可以类似地生成包含指示参数集 ID 修改信息不生效的标志信息的的 PPS标识修改信息 SEI消息和 /或包含指示 参数集 ID 改信息不生效的标志信息的的 APS标识^ ί'爹改消息 SEI消息。  If the parameter set identification modification message is a PPS identification modification information SEI message and/or an APS identification modification information SEI message, the splicer may similarly generate PPS identification modification information including flag information indicating that the parameter set ID modification information is not valid. The SEI message and/or the APS identifier containing the flag information indicating that the parameter set ID change information is not valid tamper with the message SEI message.
步骤 617、 终端接收包含指示参数集 ID修改信息不生效的标志信息的 第一视频的参数集标识修改消息, 确认其中包含指示参数集 ID修改信息不 生效的标志信息, 向应用服务器发送第二媒体描述信息获取请求 (如会话更 改请求)。  Step 617: The terminal receives the parameter set identifier modification message of the first video that includes the flag information indicating that the parameter set ID modification information is not valid, and confirms that the flag information indicating that the parameter set ID modification information is invalid is not included, and sends the second media to the application server. Describe the information acquisition request (such as a session change request).
具体的 , 终端确 定接收到 的参数集标识修改消 息 中 的 change info enable flag为 0,即确认参数集标识修改消息包含指示参数集 ID 修改信息不生效的标志信息。  Specifically, the terminal determines that the change info enable flag in the parameter set identifier modification message is 0, that is, the confirmation parameter set identifier modification message includes the flag information indicating that the parameter set ID modification information is invalid.
终端向应用服务器发送媒体描述信息获取请求, 如 SIP Re-Invite请求、 The terminal sends a media description information acquisition request to the application server, such as a SIP Re-Invite request,
RTSP Get Parameter清求。 RTSP Get Parameter request.
步骤 618、 应用服务器向终端发送第二媒体描述信息获取响应 (如会话 更改响应) , 媒体描述信息获取响应中包含第二视频参数集 NALU、 第一视 频参数集 NALU。 其中第一视频参数集 NALU中的参数集 ID为修改后的第 一视频的参数集 ID, 具体的为第一视频的参数集 ID的原取值加上参数集 ID 的偏移, 或者应用服务器直接为修改后的第一视频的参数集 ID分配的取值。 Step 618: The application server sends a second media description information acquisition response (such as a session change response) to the terminal, where the media description information acquisition response includes a second video parameter set NALU, a first view. Frequency parameter set NALU. The parameter set ID in the first video parameter set NALU is the parameter set ID of the modified first video, specifically the original value of the parameter set ID of the first video plus the offset of the parameter set ID, or the application server. The value assigned directly to the parameter set ID of the modified first video.
步骤 619、 拼接器生成包含指示参数集 ID修改信息生效的标志信息的 参数集标识修改消息 (如: 参数集 ID修改信息 SEI消息, 或者 PPS标识修改 信息 SEI消息和 /或 APS标识爹改信息 SEI消息,即将 change_info_enable_flag 设置为 1。  Step 619: The splicer generates a parameter set identifier modification message (such as a parameter set ID modification information SEI message, or a PPS identifier modification information SEI message and/or an APS identifier tamper information SEI, including flag information indicating that the parameter set ID modification information is valid. The message is that change_info_enable_flag is set to 1.
步骤 620、 拼接器向终端发送包含指示参数集 ID修改信息生效的标志 信息的参数集标识修改消息和第一视频码流。  Step 620: The splicer sends, to the terminal, a parameter set identifier modification message and a first video code stream that include flag information indicating that the parameter set ID modification information is valid.
在执行步骤 620之前, 拼接器还要判断是否到达拼接点。 拼接器在到达 拼接点时向终端发送参数集标识修改消息和第一视频码流。 拼接器判断是否 到达拼接点的具体方式与图 5所述流程中相同的描述相同。  Before performing step 620, the splicer also determines if the splice point is reached. The splicer sends a parameter set identification modification message and a first video code stream to the terminal when the splicing point is reached. The specific manner in which the splicer judges whether or not the splice point is reached is the same as the same description in the flow described in FIG.
为了确保随机接入,参数集标识修改消息(参数集 ID修改信息 SEI消息, 或者 PPS标识修改信息 SEI消息和 /或 APS标识修改信息 SEI消息) 至少随 随机接入点发送并应用于关联的 RAP和下一个 RAP之间的所有图片。 RAP 是码流中间某个只采用帧内预测的图片,解码器可以从该图片开始解码过程。 参数集标识修改消息随 RAP发送时,拼接器将封装有参数集标识修改消息的 NALU插入到关联 RAP的 AU分隔符 NALU后、 所有 VCL NALU之前。  In order to ensure random access, the parameter set identification modification message (parameter set ID modification information SEI message, or PPS identification modification information SEI message and/or APS identification modification information SEI message) is transmitted at least with the random access point and applied to the associated RAP All pictures between the next RAP and the next RAP. The RAP is a picture in the middle of the code stream that only uses intra prediction, and the decoder can start the decoding process from the picture. When the parameter set identifier modification message is sent with the RAP, the splicer inserts the NALU encapsulated with the parameter set identifier modification message into the AU separator NALU of the associated RAP, before all VCL NALUs.
621、终端接收包含指示参数集 ID修改信息生效的标志信息的参数集标 识修改消息 (如参数集 ID修改信息 SEI消息, 或者 PPS标识修改信息 SEI 消息和 /或 APS标识修改信息 SEI消息 )后, 确认其中包含指示参数集 ID修 改信息生效的标志信息(如参数集标识修改消息中的 change_info_enable_flag 的取值为 1 ) , 根据包含指示参数集 ID修改信息生效的标志信息的参数集 标识修改消息确定用于解码 VCL NALU的参数集的参数集 ID。根据确定的参 数集 ID从通过带外方式获取的参数集中获取参数集 ID与确定的参数集 ID相 同的参数集。 621. After receiving, by the terminal, a parameter set identifier modification message (such as a parameter set ID modification information SEI message, or a PPS identity modification information SEI message and/or an APS identity modification information SEI message) that includes flag information indicating that the parameter set ID modification information is valid, The acknowledgment includes the flag information indicating that the parameter set ID modification information is valid (for example, the change_info_enable_flag in the parameter set identifier modification message is 1), and the modification is determined according to the parameter set identifier including the flag information indicating that the parameter set ID modification information is valid. The parameter set ID of the parameter set for decoding VCL NALU. Obtaining the parameter set ID from the parameter set obtained by the out-of-band method according to the determined parameter set ID and determining the parameter set ID The same parameter set.
根据参数集标识修改消息确定用于确码一视频码流中 VCL NALU参数 集的参数集 ID方法可以参考步骤 515的描述, 本发明实施例在此不在详述。 作为一种可选方式, 在执行步骤 614后, 还可以不用执行步骤 615到 618, 而由应用服务器主动向终端发送媒体描述信息 (本流程图没有示出) 。 媒体 描述信息中包含第二视频的参数集、 第一视频的修改改后参数集。 其中第一 视频的修改后的参数集中参数集 ID为修改后的第一视频的参数集 ID (即用 于解码 VCL NALU的参数集的参数集 ID ) 。 具体的, 应用服务器可以向终 端发送包含媒体描述信息的会话更改请求消息, 如 SIP Re-Invite请求消息、 SIP Update 请求消息; 或者向终端发送包含媒体描述信息的通知消息, 如 RTSP Play-Notify请求消息、 RTSP Set Parameter请求消息、 RTSP Notify请求 消息或者 SIP Info请求消息。 终端接收应用服务器发送的媒体描述信息, 获 取其中的第二视频参数集 NALU、 第一视频参数集 NALU。 还可以不执行步 骤 619-622, 转而执行步骤 513-516。  The method for determining the parameter set ID of the VCL NALU parameter set in the video code stream according to the parameter set identification modification message may refer to the description of step 515, which is not described in detail herein. As an optional manner, after performing step 614, the application server may not actively perform the step 615 to 618, and the application server actively sends the media description information to the terminal (not shown in the flowchart). The media description information includes a parameter set of the second video and a modified modified parameter set of the first video. The modified parameter set ID of the first video is the parameter set ID of the modified first video (ie, the parameter set ID of the parameter set used to decode the VCL NALU). Specifically, the application server may send a session change request message including the media description information, such as a SIP Re-Invite request message or a SIP Update request message, to the terminal, or send a notification message including the media description information to the terminal, such as an RTSP Play-Notify request. Message, RTSP Set Parameter request message, RTSP Notify request message or SIP Info request message. The terminal receives the media description information sent by the application server, and obtains the second video parameter set NALU and the first video parameter set NALU. It is also possible to perform steps 513-516 without performing steps 619-622.
作为另一种可选方式, 图 6对应的流程中的参数集标识修改消息中还包 含第一视频的 VCL NALU间接引用的参数集类型对应的参数集 ID修改信息, 相应地, 步骤 618中媒体描述信息获取响应消息或者应用服务器主动向终端 发送的媒体描述信息中包含第一视频的原参数集为以及用于解码 VCL NALU 的参数集的参数集 ID。  As an alternative, the parameter set identifier modification message in the process corresponding to FIG. 6 further includes parameter set ID modification information corresponding to the parameter set type indirectly referenced by the VCL NALU of the first video, and correspondingly, the media in step 618 The description information acquisition response message or the media description information that the application server actively sends to the terminal includes the original parameter set of the first video and the parameter set ID of the parameter set for decoding the VCL NALU.
作为本发明的另一可选方式, 参数集标识修改消息 (如参数集 ID修改 As another optional manner of the present invention, the parameter set identifies the modification message (such as parameter set ID modification)
SEI消息)中包含待修改参数集 ID的参数集类型, 而不携带其他的参数集 ID 修改信息, 如不携带修改后的值或参数集 ID修改偏移, 即携带一个或多个 * * *_id_change_flag, 而不携带 * * *— id— diff参数或 new_* * *_id参数。 终端收到 参数集标识修改消息后,根据参数集标识修改消息确定需要修改 ID的第一视 频参数集的类型,通过 RTCP消息请求拼接器发送需要修改 ID的第一视频参 数集类型对应的 ***_id_diff或者 new_***_id, 拼接器通过 RTCP消息将终端 请求的参数集 ID修改信息发送给终端。 即为了保证随机接入, 以 RAP间隔 轮播的只是 ***_id_change_flag, ***_id_diff或者 new_***_id只需要发送一次。 本实施例中, 其中 "***" 为参数集类型。 图 7为本发明实施例提供的另一码 流拼接方法流程图, 包括如下步骤: The SEI message contains the parameter set type of the parameter set ID to be modified, and does not carry other parameter set ID modification information, such as carrying the modified value or the parameter set ID to modify the offset, that is, carrying one or more * * * _id_change_flag, without carrying * * * - id - diff parameter or new_* * *_id parameter. After receiving the parameter set identifier modification message, the terminal determines the type of the first video parameter set that needs to be modified according to the parameter set identifier modification message, and requests the splicer to send the first video parameter set type corresponding to the ID to be modified by the RTCP message. *_id_diff or new_***_id, the splicer will use the RTCP message to terminate the terminal The requested parameter set ID modification information is sent to the terminal. That is, in order to guarantee random access, only ***_id_change_flag is circulated at the RAP interval, and ***_id_diff or new_***_id need only be sent once. In this embodiment, "***" is a parameter set type. FIG. 7 is a flowchart of another method for splicing a code stream according to an embodiment of the present invention, including the following steps:
步骤 701-712与步骤 501-512相同, 本发明实施例在此不再详述。  Steps 701-712 are the same as steps 501-512, and embodiments of the present invention are not described in detail herein.
步骤 713、 拼接器生成参数集标识修改消息 (如参数集 ID修改信息 SEI 消息 ) 。 所述参数集标识修改消息中只包括待修改参数集 ID的参数集类型, 而不携带其他的参数集 ID修改信息,如不携带用于解码 VCL NALU的参数 集的参数集 ID或者参数集 ID偏移。  Step 713: The splicer generates a parameter set identifier modification message (such as a parameter set ID modification information SEI message). The parameter set identifies a parameter set type including only the parameter set ID to be modified in the modification message, and does not carry other parameter set ID modification information, such as a parameter set ID or a parameter set ID that does not carry a parameter set for decoding the VCL NALU. Offset.
具体的, 如果在步骤 707中应用服务器向终端发送的媒体描述信息中携 带了第一视频的修改后的参数集(即修改后的参数集中的参数集 ID为用于解 码 VCL NALU的参数集的参数集 ID ), 则此步骤的待修改参数集 ID的参数 集类型仅为 VCL NALU直接引用的参数集类型。以第一编码器为遵循 HEVC 编码标准的编码器为例进行说明。 待修改参数集 ID的参数集类型为 APS和 / 或 PPS,即参数集 ID修改信息中携带 aps_id_change_flag、 pps id change flag, 如果拼接器接收到第一视频的参数集 ID修改信息中待修改 ID的第一视频参 数集类型包含 APS, 拼接器将 aps_id_change_flag设置为 1, 否则设置为 0; 如果如果拼接器接收到第一视频的参数集 ID修改信息中待修改 ID的第一视 频参数集类型包含 PPS, 拼接器将 pps_id_change_flag设置为 1, 否则设置为 0。  Specifically, if the media description information sent by the application server to the terminal in step 707 carries the modified parameter set of the first video (that is, the parameter set ID in the modified parameter set is used to decode the parameter set of the VCL NALU. Parameter set ID), then the parameter set type of the parameter set ID to be modified in this step is only the parameter set type directly referenced by VCL NALU. The first encoder is an encoder that complies with the HEVC coding standard as an example. The parameter set type of the parameter set ID to be modified is APS and/or PPS, that is, the parameter set ID modification information carries aps_id_change_flag and pps id change flag, and if the splicer receives the ID of the parameter set ID of the first video to be modified, The first video parameter set type includes APS, the splicer sets aps_id_change_flag to 1, otherwise it is set to 0; if the splicer receives the first video parameter set ID modification information, the first video parameter set type of the ID to be modified includes the PPS The splicer sets pps_id_change_flag to 1, otherwise it is set to 0.
作为另一种可选方式, 第一如果在步骤 709中应用服务器向终端发送的 媒体描述信息中携带的是原始的第一视频参数集 NALU, 此步骤的待修改参 数集 ID的参数集类型还包含 VCL NALU间接引用的参数集类型。 以第一编 码器为遵循 HEVC编码标准的编码器为例进行说明。 参数集标识修改消息中 需 包含 vps id change flag、 sps id change flag 、 aps id change flag 、 pps id change flag, 此时参数集 ID修改信息 SEI消息的具体格式如表 11所 parameter set id change info (PayloadSize) { Descriptor vps id change flag u(l) sps id change flag u(l) aps id change flag u(l) pps id change flag u(l)As another alternative, first, if the media description information sent by the application server to the terminal carries the original first video parameter set NALU in step 709, the parameter set type of the parameter set ID to be modified in this step is further A parameter set type that contains an indirect reference to the VCL NALU. The first encoder is an encoder that complies with the HEVC coding standard as an example. The parameter set identifier modification message must include the vps id change flag, the sps id change flag, the aps id change flag, and the pps id change flag. The specific format of the parameter set ID modification information SEI message is as shown in Table 11. Parameter set id change info (PayloadSize) { Descriptor vps id change flag u(l) sps id change flag u(l) aps id change flag u(l) pps id change flag u(l)
} }
表 11  Table 11
其中, 表 11中各参数的设置与表 9相同, 本发明实施例在此不再详述。 步骤 714、 拼接器向终端发送参数集标识修改消息(如 Parameter Set ID Change Info SEI message )和第一视频码流。 所述参数集标识修改消息中只包 括修改的参数集 ID的参数集类型, 而不携带其他的参数集 ID修改信息, 如 不携带用于解码 VCL NALU的参数集的参数集 ID或者原参数集 ID的偏移。  The setting of each parameter in Table 11 is the same as that in Table 9. The embodiment of the present invention is not described in detail herein. Step 714: The splicer sends a parameter set identifier modification message (such as a Parameter Set ID Change Info SEI message) and the first video code stream to the terminal. The parameter set identifies a parameter set type including only the modified parameter set ID in the modification message, and does not carry other parameter set ID modification information, such as a parameter set ID or a original parameter set that does not carry a parameter set for decoding the VCL NALU. The offset of the ID.
步骤 715、终端根据参数集标识修改消息确定需要修改 ID的参数集类型。 步骤 716、 终端向拼接器发送 RTCP请求, 其中包含步骤 715中确定的 需要修改参数集 ID的的参数集类型。上述 RTCP请求可以是 RTCP参数集标 识爹改信息请求 Parameter Set ID Change -Request消息, 简称 RTCP PSIC-R 消息。 RTCP PSIC-R消息是一种 RTCP反馈消息, 采用如图 8所示。  Step 715: The terminal determines, according to the parameter set identifier modification message, a parameter set type that needs to be modified. Step 716: The terminal sends an RTCP request to the splicer, where the parameter set type determined in step 715 that needs to modify the parameter set ID is included. The above RTCP request may be an RTCP parameter set identifier tamper information request Parameter Set ID Change - Request message, referred to as RTCP PSIC-R message. The RTCP PSIC-R message is an RTCP feedback message, as shown in Figure 8.
其中: PT(Payload Type): RTCP包类型  Where: PT (Payload Type): RTCP packet type
FMT(Feedback Message Type): 反馈消息类型, 在包类型下唯一  FMT (Feedback Message Type): feedback message type, unique under the package type
SSRC of packet sender: RTCP反馈消息发送方的 SSRC  SSRC of packet sender: SSRC of the sender of the RTCP feedback message
SSRC of media source: RTCP反馈消息对应的 RTP流的 SSRC。  SSRC of media source: SSRC of the RTP stream corresponding to the RTCP feedback message.
FCI(Feedback Control Information, 反馈控制信息): RTCP反馈消息的内 容, 不同类型的 RTCP反馈消息中包含不同的内容。  FCI (Feedback Control Information): The content of the RTCP feedback message. Different types of RTCP feedback messages contain different contents.
RTCP PSIC-R消息中 PT取值为 206,代表它是 Payload Specific Feedback Message; FMT取值为 4, 代表它是 PSIC消息; SSRC of packet sender为终端 的 SSRC; SSRC of media source从 SDP中获取, 为承载输出视频码流的 RTP 流的 SSRC, 也即第二视频码流标识信息中的 SSRC。 (对于终端来说, 不区 分第二视频码流和第一视频码流, 终端看到的 SSRC是一个) 。 FCI的格式 如图 9所示。 其中 The PT value of the RTCP PSIC-R message is 206, which means it is Payload Specific Feedback Message; the FMT value is 4, which means it is a PSIC message; the SSRC of packet sender is the SSRC of the terminal; and the SSRC of media source is obtained from the SDP. RTP for carrying the output video stream The SSRC of the stream, that is, the SSRC in the second video stream identification information. (For the terminal, the second video stream and the first video stream are not distinguished, and the SSRC seen by the terminal is one). The format of the FCI is shown in Figure 9. among them
SFMT(Sub Feedback Message Type,子反馈消息类型): PSIC消息的类型。 这里设置为 1, 代表为 PSIC-R消息;  SFMT (Sub Feedback Message Type): The type of PSIC message. Set here to 1, representing the PSIC-R message;
Number of Parameter Set Type: 需要修改 ID的参数集类型的个数; Number of Parameter Set Type: The number of parameter set types whose ID needs to be modified;
Parameter Set Type: 需要修改 ID的参数集类型标识, 共有 Number of Parameter Set Type个 Parameter Set Type。 Parameter Set Type可以有多种形式。 以第一编码器为遵循 HEVC标准的编码器为例, Parameter Set Type的取值可 以为正整数, 并且取值 1、 2、 3、 4分别代表 VPS、 SPS、 PPS、 APS. Parameter Set Type: The parameter set type identifier of the ID to be modified. There are a total of Number of Parameter Set Type Parameter Set Type. The Parameter Set Type can take many forms. For example, the first encoder is an encoder that complies with the HEVC standard. The value of the Parameter Set Type can be a positive integer, and the values 1, 2, 3, and 4 represent VPS, SPS, PPS, and APS, respectively.
步骤 717、拼接器收到 RTCP请求(如 RTCP PSIC-R消息)后,通过 RTCP 响应 (如 RTCP PSIC-I消息)将第一视频的参数集 ID修改信息发送给终端。 RTCP PSIC-I消息也是一种 RTCP PSIC消息, 它的 SFMT设置为 2, 其中包 含 Number of Parameter Set ID Change Info (参数集标识修改信息个数 ) , 指 示 RTCP PSIC-I消息中包含的参数集标识修改信息条数。  Step 717: After receiving the RTCP request (such as the RTCP PSIC-R message), the splicer sends the parameter set ID modification information of the first video to the terminal by using an RTCP response (such as an RTCP PSIC-I message). The RTCP PSIC-I message is also an RTCP PSIC message whose SFMT is set to 2, including Number of Parameter Set ID Change Info, indicating the parameter set identifier contained in the RTCP PSIC-I message. Modify the number of messages.
如果参数集 ID修改信息包括需要修改 ID的第一视频参数集类型以及对 应的原参数集 ID的偏移, FCI的格式如图 10所示。 一条参数集标识修改信 息包括参数集类型( Parameter Set Type )和原参数集 ID的偏移( Parameter Set Diff ) 。  If the parameter set ID modification information includes the first video parameter set type of the ID to be modified and the offset of the corresponding original parameter set ID, the format of the FCI is as shown in FIG. A parameter set identification modification information includes a parameter set type (Parameter Set Type) and an original parameter set ID offset (Parameter Set Diff).
如果参数集 ID修改信息包括需要修改 ID的第一视频参数集类型以及对 应的参数集 ID映射关系, FCI格式如图 11所示。 一条参数集标识修改信息 包括 Parameter Set Type、 Original Parameter Set ID、 New Parameter Set ID 如果参数集 ID修改信息包括待修改 ID的第一视频参数集类型以及对应 的参数集 ID新取值, FCI格式如图 12所示。 一条参数集标识修改信息包括 Parameter Set Type , New Parameter Set ID。  If the parameter set ID modification information includes the first video parameter set type of the ID to be modified and the corresponding parameter set ID mapping relationship, the FCI format is as shown in FIG. A parameter set identification modification information includes a Parameter Set Type, an Original Parameter Set ID, and a New Parameter Set ID. If the parameter set ID modification information includes a first video parameter set type of the ID to be modified and a corresponding new value of the parameter set ID, the FCI format is as follows. Figure 12 shows. A parameter set identification modification information includes a Parameter Set Type and a New Parameter Set ID.
步骤 720、终端接收 RTCP PSIC-I消息,对于每一个第一视频 VCL NALU, 终端根据 RTCP PSIC-I消息确定该 VCL NALU引用参数集的参数集 ID的取 值,并获取所有引用的参数集,并使用获得的参数集解码对应的 VCL NALU。 Step 720: The terminal receives the RTCP PSIC-I message, for each first video VCL NALU, The terminal determines the value of the parameter set ID of the VCL NALU reference parameter set according to the RTCP PSIC-I message, and obtains all referenced parameter sets, and decodes the corresponding VCL NALU by using the obtained parameter set.
作为本发明实施例的另一种可选方式, 也可以完全通过传输层信令来由 拼接器向终端发送第一视频参数集 ID修改信息。 拼接器生成 RTCP PSCI-I 消息如前所述的 RTCP PSCI-I消息。 到达拼接点后, 拼接器向终端发送第一 视频码流和 RTCP PSCI-I消息,终端接收第一视频码流和 RTCP PSCI-I消息, 对于每一个第一视频 VCL NALU, 终端根据 RTCP PSIC-I消息确定该 VCL NALU引用参数集的参数集 ID的取值, 并获取所有引用的参数集, 终端使用 这些参数集解码对应的 VCL NALU。  As another alternative manner of the embodiment of the present invention, the first video parameter set ID modification information may also be sent by the splicer to the terminal by using the transport layer signaling. The splicer generates an RTCP PSCI-I message as described above for the RTCP PSCI-I message. After reaching the splicing point, the splicer sends a first video bitstream and an RTCP PSCI-I message to the terminal, and the terminal receives the first video bitstream and the RTCP PSCI-I message. For each first video VCL NALU, the terminal is based on the RTCP PSIC- The I message determines the value of the parameter set ID of the VCL NALU reference parameter set, and obtains all referenced parameter sets, and the terminal uses these parameter sets to decode the corresponding VCL NALU.
此外,为了保证终端在解码第一视频码流之前获得第一视频参数集 ID修 改信息, 拼接器也可以在确定用于封装第一视频码流的第一个 RTP包的序列 号后, 向终端发送 RTCP PSCI-I消息。 此时, RTCP PSCI-I消息除包含步骤 717中 RTCP PSCI-I消息的全部信息外, 还包含 First Sequence Number (第一 序列号) , First Sequence Number是用于封装第一视频码流的第一个 RTP包 的序列号。 为了保证终端收到 RTCP PSCI-I消息, 拼接器可以连续发送多个 相同的 RTCP PSCI-I消息。  In addition, in order to ensure that the terminal obtains the first video parameter set ID modification information before decoding the first video code stream, the splicer may also determine the sequence number of the first RTP packet used to encapsulate the first video code stream, and then Send an RTCP PSCI-I message. At this time, the RTCP PSCI-I message includes the first sequence number (first sequence number) in addition to all the information of the RTCP PSCI-I message in step 717, and the first sequence number is used to encapsulate the first video stream. The serial number of the RTP package. In order to ensure that the terminal receives the RTCP PSCI-I message, the splicer can continuously send multiple identical RTCP PSCI-I messages.
上述实施例中,都是由拼接器生成参数集标识修改消息(如: Parameter Set ID Change Info SEI Message ) 。 实际应用中, 参数集标识修改消息 (如: Parameter Set ID Change Info SEI Message )也可以由应用服务器生成,再发送 给拼接器。 比如应用服务器向拼接器发送参数集标识修改信息时, 直接以 Parameter Set ID Change Info SEI Message的形式发送第一视频的参数集 ID修 改信息。 拼接器只负责 Parameter Set ID Change Info SEI Message的发送。  In the above embodiment, the parameter set identification modification message (such as: Parameter Set ID Change Info SEI Message) is generated by the splicer. In actual applications, the parameter set identification modification message (such as: Parameter Set ID Change Info SEI Message) can also be generated by the application server and sent to the splicer. For example, when the application server sends the parameter set identifier modification information to the splicer, the parameter set ID modification information of the first video is directly sent in the form of a Parameter Set ID Change Info SEI Message. The splicer is only responsible for the transmission of the Parameter Set ID Change Info SEI Message.
由于应用服务器具备熵编码和熵解码能力, 当应用服务器生成 Parameter Set ID Change Info SEI Message时, Parameter Set ID Change Info SEI Message 中的 ***_id_diff、 或者 new_***_id可以采用熵编码, 比如无符号指数哥伦布 编码。 图 13 为本发明实例提供的数字视频码流的拼接方法的流程图,包括如下 步骤: 步骤 1301、从应用服务器接收第一视频码流的信息,所述第一视频码流 的信息包括第一视频的参数集修改信息; 具体的, 拼接器从应用服器接收第一视频码流的信息,所述第一视频码 流信息包括第一视频的参数集修改信息。 进一步的,拼接器还可以从应用服 务器接收第二视频码流的信息。 步骤 1302、根据所述第一视频参数集修改信息向终端发送第一视频码流 和第一视频的参数集标识修改消息, 所述第一视频的参数集标识修改消息携 带第一视频的参数集标识 ID修改信息,以便于终端根据第一视频的参数集 ID 修改信息获取用于解码网络抽象层单元的视频编码层 VCL NALU的参数集的 参数集 ID ,以及终端根据所述用于解码 VCL NALU的参数集的参数集 ID获 取用于解码 VCL NALU的参数集,以及终端根据所述用于解码 VCL NALU 的参数集解码所述 VCL NALU ,并输出解码后的第一视频。 作为一种可选方式,在步骤 1302 之前,拼接器还在输出第二视频码流 的过程中暂停输出第二视频码流。 作为一种可选方式, Since the application server has entropy coding and entropy decoding capability, when the application server generates the Parameter Set ID Change Info SEI Message, the ***_id_diff or the new_***_id in the Parameter Set ID Change Info SEI Message may be entropy encoded, for example Unsigned index Columbus code. FIG. 13 is a flowchart of a method for splicing a digital video code stream according to an example of the present invention, including the following steps: Step 1301: Receive information of a first video code stream from an application server, where information of the first video code stream includes first The parameter set modification information of the video; specifically, the splicer receives information of the first video code stream from the application server, where the first video code stream information includes parameter set modification information of the first video. Further, the splicer can also receive information of the second video stream from the application server. Step 1302: Send a first video code stream and a parameter set identifier modification message of the first video to the terminal according to the first video parameter set modification information, where the parameter set identifier modification message of the first video carries a parameter set of the first video Identifying ID modification information, so that the terminal acquires a parameter set ID of a parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and the terminal is used to decode the VCL NALU according to the The parameter set ID of the parameter set acquires a parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoded first video. As an alternative, prior to step 1302, the splicer also pauses outputting the second video stream during the output of the second video stream. As an alternative,
第一视频的参数集 ID修改信息为待修改的参数集 ID的参数集类型,拼 接器进一步接收终端接收终端发送的实时传输控制协议 RTCP请求, 所述 RTCP请求包含所述待修改参数集 ID的参数集类型;向终端返回 RTCP响应, 所述 RTCP响应中携带与所述待修改的参数集 ID的参数集类型对应的原参数 集 ID的偏移、 或携带与所述待修改的参数集 ID的参数集类型对应的用于解 码 VCL NALU的参数集的参数集 ID、 或者携带与待修改的参数集 ID的参 数集类型的所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。 或 The parameter set ID modification information of the first video is a parameter set type of the parameter set ID to be modified, and the splicer further receives a real-time transmission control protocol RTCP request sent by the terminal receiving terminal, where the RTCP request includes the parameter set ID to be modified. a parameter set type; returning an RTCP response to the terminal, where the RTCP response carries an original parameter corresponding to the parameter set type of the parameter set ID to be modified An offset of the set ID, or a parameter set ID carrying a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set type carrying the parameter set ID to be modified The original parameter set ID and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU. or
所述参数集 ID修改信息为待修改的参数集 ID的参数集类型和与所述待 修改的参数集 ID的参数集类型对应的原参数集 ID的偏移,或为待修改的参 数集 ID的参数集类型和用于解码 VCL NALU的参数集的参数集 ID ,或包括 待修改的参数集 ID的参数集类型的所述原参数集 ID以及与所述原参数集 ID 对应的用于解码 VCL NALU的参数集的参数集 ID ,所述参数集 ID修改信息 进一步包含修改生效标志,所述根据所述用于解码 VCL NALU的参数集的参 数集 ID获取用于解码所述 VCL NALU的参数集之前,接器进一步向终端发 送所述第二视频码流的时发送不生效的第一视频的参数集标识修改消息;接 收终端发送的第二媒体描述信息获取请求;向终端返回第二媒体描述信息获 取响应,所述第二媒体描述信息获取响应中、 第一视频的修改后的参数集,所 述第一视频参数集 NALU中的参数集 ID为用于解码 VCL NALU的参数集的 参数集 ID。  The parameter set ID modification information is an offset of a parameter set type of the parameter set ID to be modified and an original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set ID to be modified. a parameter set type and a parameter set ID of a parameter set for decoding a VCL NALU, or the original parameter set ID of a parameter set type including a parameter set ID to be modified, and a decoding corresponding to the original parameter set ID for decoding a parameter set ID of a parameter set of the VCL NALU, the parameter set ID modification information further comprising a modification validation flag, the parameter for decoding the VCL NALU being obtained according to the parameter set ID of the parameter set for decoding the VCL NALU Before the set, the receiver further sends a parameter set identifier modification message of the first video that is not valid when the second video code stream is sent to the terminal; the second media description information acquisition request sent by the terminal is received; and the second media is returned to the terminal. a description information acquisition response, the second media description information acquisition response, the modified parameter set of the first video, the parameter set ID in the first video parameter set NALU Parameter set parameter set for decoding VCL NALU's ID.
作为一种可选方式,所述第一视频的参数集标识修改消息为 :参数集标 识修改补充增强信息 SEI消息、 自适应参数集标识修改 SEI消息或图片参数 集标识修改 SEI消息,拼接器进一步根据所述第一视频参数集修改信息生成 第一视频的参数集标识修改消息。  As an optional manner, the parameter set identification modification message of the first video is: a parameter set identifier modification supplementary enhancement information SEI message, an adaptive parameter set identifier modification SEI message, or a picture parameter set identifier modification SEI message, and the splicer further Generating a parameter set identification modification message of the first video according to the first video parameter set modification information.
由上述实施例可知, 拼接器在接收到应用服务器发送的第一视频的参数 集修改信息后, 并不针对第一视频码流中的 VCL NALU引用的参数集 ID根 据参数集修改信息进行修改, 而是向终端发送携带参数集修改息的参数集标 识修改消息,由终端在解码第一视频流中的 VCL NALU之前,根据参数集标 识修改消息获取解码第一视频码流中的 VCL NALU的参数集来解码参数集。 因此,无需拼接器具有修改第一视频码流中的 VCL NALU引用的参数集 ID 的熵编码和熵解码的能力, 从而不需要在现有网络的拼接器上增加额外的硬 件资源, 或者使用新的拼接器对现有网络中的拼接器进行替换, 又能保证终 端解码正确。 It can be seen that, after receiving the parameter set modification information of the first video sent by the application server, the splicer does not modify the parameter set ID referenced by the VCL NALU in the first video code stream according to the parameter set modification information. Rather, the parameter set identifier modification message carrying the parameter set modification information is sent to the terminal, and the terminal obtains the parameter of the VCL NALU in the first video code stream according to the parameter set identifier modification message before decoding the VCL NALU in the first video stream. Set to decode the parameter set. Therefore, there is no need for the splicer to have the ability to modify the entropy coding and entropy decoding of the parameter set ID of the VCL NALU reference in the first video stream, thereby eliminating the need to add extra hard on the splicer of the existing network. Component resources, or use a new splicer to replace the splicer in the existing network, and ensure that the terminal decoding is correct.
图 14 为本发明实例提供的数字视频码流的拼接方法的流程图,包括如下 步骤:  FIG. 14 is a flowchart of a method for splicing a digital video code stream according to an example of the present invention, including the following steps:
步骤 1401、 接收第一内容服务器发送的第一视频的媒体描述信息, 所述 第一视频的媒体描述信息携带第一视频的原参数集第一视频的参数集的类型 及与各类型对应的参数集的原参数集 ID; 步骤 1402、 接收第二内容服务器发送的第二视频的媒体描述信息, 所述 第二视频的媒体描述信息中携带第二视频的参数集第二视频参数集的类型及 与各类型对应的参数集的参数集 ID;  Step 1401: Receive media description information of the first video sent by the first content server, where the media description information of the first video carries the type of the parameter set of the first video of the original parameter set of the first video and the parameter corresponding to each type The original parameter set ID of the set; Step 1402: Receive media description information of the second video sent by the second content server, where the media description information of the second video carries the parameter set of the second video parameter set of the second video and a parameter set ID of a parameter set corresponding to each type;
步骤 1403、 确定同一类型的第一视频的参原参数集 ID与第二视频的参 数集的参数集 ID相同, 以及确定第一视频的参数集标识修改信息; 步骤 1404、 向拼接器发送第一视频流的信息,所述第一视频码流的信息 包括第一视频的参数集标识修改信息,所述第一视频的参数集修改标识信息 携带在第一视频的参数集标识修改消息中,以便于拼接器将所述第一视频的 参数集标识修改消息发送给终端,以及以便于终端根据所述第一视频的参数 集标识修改消息解码并输出第一视频。 作为一种可选方式, 应用服务器还根据所述确定的第一视频的参数集标 识修改信息将第一视频的原参数集的原参数集 ID修改为用于解码网络抽象 层单元的视频编码层 VCL NALU的参数集的参数集 ID;向终端发送携带第一 视频的修改后的参数集,修改后参数集中的参数集 ID为用于解码 VCL NALU 的参数集的参数集 ID;  Step 1403: Determine that the parameter set ID of the first video of the same type is the same as the parameter set ID of the parameter set of the second video, and determine the parameter set identification modification information of the first video. Step 1404: Send the first to the splicer The information of the video stream, the information of the first video code stream includes the parameter set identifier modification information of the first video, and the parameter set modification identifier information of the first video is carried in the parameter set identifier modification message of the first video, so that And sending, by the splicer, the parameter set identification modification message of the first video to the terminal, and in order for the terminal to modify the message according to the parameter set identifier of the first video to decode and output the first video. As an optional manner, the application server further modifies the original parameter set ID of the original parameter set of the first video to the video coding layer for decoding the network abstraction layer unit according to the determined parameter set identification modification information of the first video. The parameter set ID of the parameter set of the VCL NALU; the modified parameter set carrying the first video is sent to the terminal, and the parameter set ID in the modified parameter set is the parameter set ID of the parameter set used to decode the VCL NALU;
所述第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参 数集类型以及与待修改的参数集 ID的参数集类型对应的第一视频的原参数 集 ID的偏移, 或包含所述待修改的参数集 ID的参数集类型以及与待修改的 参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID , 或第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参数集类 型的与所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU 的参数集的参数集 ID; The parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an original parameter of the first video corresponding to the parameter set type of the parameter set ID to be modified. The offset of the set ID, or the parameter set type including the parameter set ID to be modified, and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or the first The parameter set identification modification message of the video includes a parameter set ID of the parameter set type of the parameter set ID to be modified, the original parameter set ID, and a parameter set for decoding the VCL NALU corresponding to the original parameter set ID. ;
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型。  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU.
作为另一种可选方式,应用服务器还需要向终端发送第一视频的原参数 集以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID, 所述第一视频的原参数集中携带所述原参数集 ID;  In another optional manner, the application server further needs to send, to the terminal, an original parameter set of the first video and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU, where the first video is The original parameter set carries the original parameter set ID;
所述第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参 数集类型以及与待修改的参数集 ID的参数集类型对应的所述原参数集 ID的 偏移,或第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参数 集类型以及与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU 的参数集的参数集 ID ,或第一视频的参数集标识修改消息包含所述待修改的 参数集 ID的参数集类型的所述原参数集 ID以及与原参数集 ID对应的用于解 码 VCL NALU的参数集的参数集 ID;  The parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to a parameter set type of the parameter set ID to be modified, or The parameter set identification modification message of a video includes the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identification modification message of a video, the original parameter set ID of the parameter set type of the parameter set ID to be modified, and a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the original parameter set ID;
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型,以及所述 VCL NALU间接引用的参数集类型。 由上述实施例可知, 应用服务器在确定同一类型的第一视频参数集的原 参数集 ID与第二视频参数集的参数集 ID相同, 确定该类型的第一视频的原 参数集 ID的偏移或用于解码 VCL NALU的参数集的参数集 ID ,并直接向拼 接器发送第一视频的参数集标识修改消息,以便拼接器将所述第一视频的参 数集标识修改消息,从而无需拼接器具有修改第一视频码流中的 VCL NALU 引用的参数集 ID的熵编码和熵解码的能力,从而不需要在现有网络的拼接器 上增加额外的硬件资源, 或者使用新的拼接器对现有网络中的拼接器进行替 换, 又能保证终端解码正确。 图 15A为本发明实施例提供的数字视频码流的解码装置的结构示意图 , 包括接收模块 1501、 第一获取模块 1502、 第二获取模块 1503、 解码输入模 块 1504、 确定模块 1505和发送模块 1506。 具体的 ,接收模块 1501 ,用于接收第一视频码流和第一视频的参数集标 识修改消息,所述第一视频的参数集标识修改消息中包含第一视频的参数集 标识 ID修改信息;第一获取模块 1502 ,用于根据所接收模块 1501接收的所 述第一视频的参数集 ID修改信息获取用于解码网络抽象层单元的视频编码 层 VCL NALU的参数集的参数集 ID;第二获取模块 1503,用于根据所述第一 获取模块 1502获取的用于解码 VCL NALU的参数集的参数集 ID获取用于解 码所述 VCL NALU的参数集;解码输出模块 1504 ,用于根据第二获取模块 1503获取的所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并输 出解码后的第一视频。 The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and a parameter set type indirectly referenced by the VCL NALU. It can be seen from the foregoing embodiment that the application server determines that the original parameter set ID of the first video parameter set of the same type is the same as the parameter set ID of the second video parameter set, and determines the offset of the original parameter set ID of the first video of the type. Or a parameter set ID for decoding a parameter set of the VCL NALU, and directly sending a parameter set identification modification message of the first video to the splicer, so that the splicer identifies the parameter set of the first video to modify the message, thereby eliminating the need for a splicer The ability to modify the entropy encoding and entropy decoding of the parameter set ID referenced by the VCL NALU in the first video stream, thereby eliminating the need to add additional hardware resources to the splicer of the existing network, or using a new splicer pair There is a splicer in the network to replace, and can ensure that the terminal decoding is correct. 15A is a schematic structural diagram of a decoding apparatus for a digital video code stream according to an embodiment of the present invention, including a receiving module 1501, a first obtaining module 1502, a second obtaining module 1503, a decoding input module 1504, a determining module 1505, and a sending module 1506. Specifically, the receiving module 1501 is configured to receive a parameter set identifier modification message of the first video code stream and the first video, where the parameter set identifier modification message of the first video includes the parameter set identifier ID modification information of the first video; a first obtaining module 1502, configured to acquire, according to the parameter set ID modification information of the first video received by the receiving module 1501, a parameter set ID of a parameter set for decoding a video encoding layer VCL NALU of the network abstraction layer unit; The obtaining module 1503 is configured to acquire, according to the parameter set ID of the parameter set for decoding the VCL NALU acquired by the first acquiring module 1502, a parameter set for decoding the VCL NALU, and the decoding output module 1504, according to the second The parameter set for decoding the VCL NALU acquired by the obtaining module 1503 decodes the VCL NALU and outputs the decoded first video.
作为一种可选方式,所述参数集 ID修改信息包括待修改的参数集 ID的 参数集类型和与所述待修改的参数集 ID的参数集类型对应的原参数集 ID的 偏移;所述第一视频码流中包含用于解码所述 VCL NALU的参数集的原参数 集 ID; 所述第一获取模块 1502具体用于:根据所述接收模块 1501接收的所 述待修改的参数集 ID的参数集类型从所述第一码流中获取与所述待修改的 参数集 ID的参数集类型对应的所述原参数集 ID; 根据所述原参数集 ID以及 所述待修改的参数集 ID的参数集类型对应的原参数集 ID的偏移从获取与所 述待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的 参数集 ID。  As an optional manner, the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified; The first video code stream includes an original parameter set ID for decoding a parameter set of the VCL NALU; the first obtaining module 1502 is specifically configured to: according to the parameter set to be modified received by the receiving module 1501 Obtaining, by the parameter set type of the ID, the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified from the first code stream; according to the original parameter set ID and the parameter to be modified The offset of the original parameter set ID corresponding to the parameter set type of the set ID is obtained by acquiring the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
作为另一可选方式,所述参数集 ID修改信息包括待修改的参数集 ID的 参数集类型和用于解码 VCL NALU的参数集的参数集 ID,所述第一获取模块 1502具体用于:根据所述接收模块 1501接收的待修改的参数集 ID的参数 集类型从所述参数集 ID修改信息中获取与所述待修改的参数集 ID的参数集 类型对应的用用于解码 VCL NALU的参数集的参数集 ID。 作为另一可选方式,所述参数集 ID修改信息为待修改的参数集 ID的参 数集类型的原参数集 ID、 与所述原参数集 ID对应的用于解码 VCL NALU的 参数集的参数集 ID; 所述第一获取模块具体用于:根据所述接收模块接收的 所述待修改的参数集 ID的参数集类型对应的所述原参数集 ID获取所述原参 数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID; 或第一获取模块 具体用于根据所述接收模块接收的所述待修改的参数集 ID 的参数集类型从 所述第一视频码流中获取与所述待修改的参数集 ID 的参数集类型对应的所 述原参数集 ID; 根据所述原参数集 ID获取所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。 作为另一可选方式,所述第一视频参数集 ID修改信息为待修改的参数集As an alternative, the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and a parameter set ID of the parameter set for decoding the VCL NALU, and the first obtaining module 1502 is specifically configured to: Obtaining, according to the parameter set type of the parameter set ID to be modified received by the receiving module 1501, from the parameter set ID modification information, the type corresponding to the parameter set type of the parameter set ID to be modified, for decoding the VCL NALU The parameter set ID of the parameter set. As another optional manner, the parameter set ID modification information is an original parameter set ID of a parameter set type of the parameter set ID to be modified, and a parameter corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU. The first acquiring module is configured to: obtain, according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified received by the receiving module, the original parameter set ID Decoding the parameter set ID of the parameter set of the VCL NALU; or the first obtaining module is specifically configured to obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, from the first video code stream The original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified; acquiring the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID according to the original parameter set ID. In another optional manner, the first video parameter set ID modification information is a parameter set to be modified.
ID的参数集类型, 所述装置进一步包括: 发送模块 1506, 用于向拼接器发送 实时传输控制协议 RTCP请求,所述 RTCP请求包含所述待修改参数集 ID的 参数集类型; 所述接收模块 1501进一步用于: 接收所述拼接器返回的 RTCP 响应,所述 RTCP响应中携带与待修改的参数集 ID的参数集类型对应的原参 数集 ID的偏移, 或与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID, 或与待修改的参数集 ID的参数集类型的所述 原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的 参数集 ID;所述第一获取模块 1502具体用于:根据所述接收模块 1501接收 的所述 RTCP响应中携带的与待修改的参数集 ID的参数集类型对应的原参数 集 ID的偏移或与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID, 或者根据与待修改的参数集 ID的参数集类型 的原参数集 ID以及与原参数集 ID对应的用于解码 VCL NALU的参数集的参 数集 ID ,从所述参数集 ID修改信息中获取与所述待修改的参数集 ID的参数 集类型对应的用于解码 VCL NALU的参数集的参数集 ID。 The parameter set type of the ID, the device further includes: a sending module 1506, configured to send a real-time transport control protocol RTCP request to the splicer, where the RTCP request includes a parameter set type of the parameter set ID to be modified; 1501 is further configured to: receive an RTCP response returned by the splicer, where the RTCP response carries an offset of an original parameter set ID corresponding to a parameter set type of a parameter set ID to be modified, or a parameter set ID to be modified a parameter set ID of a parameter set for decoding a VCL NALU corresponding to a parameter set type, or the original parameter set ID of a parameter set type of a parameter set ID to be modified, and a corresponding to the original parameter set ID Decoding a parameter set ID of a parameter set of the VCL NALU; the first obtaining module 1502 is specifically configured to: according to the parameter set type of the parameter set ID to be modified carried in the RTCP response received by the receiving module 1501 The offset of the original parameter set ID or the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or according to The original parameter set ID of the parameter set type of the modified parameter set ID and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID are obtained from the parameter set ID modification information and are to be modified. The parameter set ID of the parameter set type of the parameter set ID corresponding to the parameter set used to decode the VCL NALU.
可选的, 所述参数集 ID修改信息还包括修改生效标志。 所述接收模块 1501进一步用于,在接收第一视频码流和第一视频的参数集标识修改消息之 前,接收不生效的第一视频的参数集标识修改消息; 该装置进一步包括: 确 定模块 1505进一步用于,确定所述接收模块接收的所述不生效的第一视频的 参数集标识修改消息包含指示参数集 ID修改信息不生效的标志信息;发送 模块 1506, 用于向应用服务器发送第二媒体描述信息获取请求;所述接收模 块 1501进一步用于:接收应用服务器返回的第二媒体描述信息获取响应,所 述第二媒体描述信息获取响应中携带第二视频参数集、 第一视频的修改后的 参数集,所述第一视频修改后的参数集中的参数集 ID为所述用于解码 VCL NALU的参数集的参数集 ID。 Optionally, the parameter set ID modification information further includes a modification effective flag. Receiving module The method 1501 is further configured to: before receiving the parameter set identifier modification message of the first video code stream and the first video, receive a parameter set identifier modification message of the first video that is not valid; the apparatus further includes: the determining module 1505 is further configured to: Determining, by the receiving module, that the parameter set identifier modification message of the inactive first video includes the flag information indicating that the parameter set ID modification information is not valid; the sending module 1506 is configured to send the second media description information to the application server. The receiving module 1501 is further configured to: receive a second media description information acquisition response returned by the application server, where the second media description information acquisition response carries the second video parameter set, and the modified parameter set of the first video The parameter set ID of the parameter set in the first video modification is the parameter set ID of the parameter set for decoding the VCL NALU.
可选的,所述接收模块 1501在所述第二获取模块 1503根据所述用于解 码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集 之前,进一步用于通过带外方式获取第一视频的修改后的参数集, 所述修改 后的参数集中的参数集 ID为用于解码 VCL NALU的参数集的参数集 ID;或 所述接收模块 1501在所述第二获取模块 1503根据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集之前, 进一步用于通过带外方式获取第一视频的原参数集以及用于解码 VCL NALU 的参数集的参数集 ID; 根据所述修改后参数集 ID修改所述原参数集 ID。  Optionally, the receiving module 1501 is further configured to pass the band before the second obtaining module 1503 obtains a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU. Obtaining a modified parameter set of the first video, the parameter set ID of the modified parameter set is a parameter set ID of a parameter set for decoding the VCL NALU; or the receiving module 1501 is in the second acquiring The module 1503 is further configured to obtain an original parameter set of the first video by using an out-of-band manner and to decode the VCL, before acquiring the parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU. The parameter set ID of the parameter set of the NALU; the original parameter set ID is modified according to the modified parameter set ID.
所述待修改的参数集 ID的参数集类型为 VCL NALU直接引用的参数集 类型;所述第一获取模块 1502具体用于:获取所述接收模块接收的与所述 VCL NALU直接引用的参数集类型对应的用于解码 VCL NALU的的 VCL NALU直接引用的参数集的参数集 ID ,并在第二获取模块 1503根据获取的 用于解码 VCL NALU的 VCL NALU直接引用的参数集的参数集 ID获取所述 第一视频码流中 VCL NALU直接引用的参数集后,第一获取模块 1502进一 步从所述所述直接引用的参数集中获取用于解码 VCL NALU的 VCL NALU 间接引用的参数集的参数集 ID;或  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU; the first obtaining module 1502 is specifically configured to: acquire a parameter set directly received by the receiving module and the VCL NALU The parameter set ID of the parameter set directly referenced by the VCL NALU for decoding the VCL NALU, and is obtained by the second obtaining module 1503 according to the parameter set ID of the parameter set directly referenced by the VCL NALU for decoding the VCL NALU. After the parameter set directly referenced by the VCL NALU in the first video bitstream, the first obtaining module 1502 further obtains, from the directly referenced parameter set, a parameter set of a parameter set for invoking a VCL NALU indirect reference of the VCL NALU. ID; or
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型和所述 VCL NALU间接引用的参数集类型所述第一获取模块 1502 具体用于:分别根据所述第一视频的参数集 ID修改信息获取与所述 VCL NALU直接引用的参数集类型对应的用于解码 VCL NALU的 VCL NALU的 直接引用的参数集的参数集 ID ,以及获取与所述 VCL NALU间接引用的参 数集类型对应的用于解码 VCL NALU的参数集的参数集 ID; The parameter set type of the parameter set ID to be modified is the parameter set type directly referenced by the VCL NALU and the parameter set type indirectly referenced by the VCL NALU. The first obtaining module 1502 is specifically configured to: respectively The parameter set ID modification information of a video acquires a parameter set ID of a parameter set of a direct reference for decoding a VCL NALU of the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU, and obtains an indirect reference with the VCL NALU Reference a parameter set ID corresponding to the parameter set of the VCL NALU corresponding to the number set type;
所述第二获取模块 1503具体用于:根据所述第一获取模块 1502获取的 直接引用的参数集的参数集 ID以及间接引用的参数集的参数集 ID获取所述 VCL NALU的直接引用的参数集以及所述 VCL NALU的间接引用的参数集; 所述解码输出模块 1504具体用于:根据所述第二获取模块 1502获取的 所述 VCL NALU的直接引用的参数集以及所述 VCL NALU的间接引用的参 数集解码所述 VCL NALU ,并输出解码后的第一视频。值得说明的是,图 15 所述的装置可以是前述实施例中的终端,可以执行前述实施例中终端执行的 任一步骤,本发明实施例在此不再 _ _详述。  The second obtaining module 1503 is specifically configured to: obtain a directly referenced parameter of the VCL NALU according to the parameter set ID of the directly referenced parameter set acquired by the first obtaining module 1502 and the parameter set ID of the indirectly referenced parameter set. And a parameter set of the indirect reference of the VCL NALU; the decoding output module 1504 is specifically configured to: according to the directly referenced parameter set of the VCL NALU acquired by the second obtaining module 1502 and the indirect of the VCL NALU The referenced parameter set decodes the VCL NALU and outputs the decoded first video. It should be noted that the device in FIG. 15 may be the terminal in the foregoing embodiment, and may perform any step performed by the terminal in the foregoing embodiment, and the embodiment of the present invention is not described in detail herein.
图 16为本发明实施例提供的数字视频码流的拼接装置,包括:接收模块 FIG. 16 is a splicing device for a digital video code stream according to an embodiment of the present invention, including: a receiving module
1601、 生成模块 1602以及发送模块 1603。 1601. A module 1602 and a sending module 1603 are generated.
具体的,接收模块 1601用于从应用服务器接收第一视频码流的信息, 所述第一视频码流信息包括第一视频的参数集修改信息;  Specifically, the receiving module 1601 is configured to receive, by the application server, information about the first video code stream, where the first video code stream information includes parameter set modification information of the first video.
发送模块 1603用于根据所述接收模块 1601接收的所述第一视频参数集 修改信息向终端发送第一视频码流和第一视频的参数集标识修改消息, 所述 第一视频的参数集标识修改消息携带第一视频的参数集标识 ID修改信息,以 便于终端根据第一视频的参数集 ID修改信息获取用于解码网络抽象层单元 的视频编码层 VCL NALU的参数集的参数集 ID,以及终端根据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集, 以及终端根据所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并 输出解码后的第一视频。  The sending module 1603 is configured to send, according to the first video parameter set modification information received by the receiving module 1601, a first video code stream and a parameter set identifier modification message of the first video, where the parameter set identifier of the first video The modification message carries the parameter set identifier ID modification information of the first video, so that the terminal acquires the parameter set ID of the parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and The terminal acquires a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoding. After the first video.
作为一种可选方式,当第一视频的参数集 ID修改信息为待修改的参数集 ID的参数集类型时,所述接收模块 1601进一步用于接收终端发送的实时传 输控制协议 RTCP请求,所述 RTCP请求包含所述待修改参数集 ID的参数集 类型;所述发送模块 1603进一步用于向终端返回 RTCP响应, 所述 RTCP响 应中携带与所述待修改的参数集 ID的参数集类型对应的原参数集 ID的偏移, 或携带与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参 数集的参数集 ID, 或者携带与待修改的参数集 ID的参数集类型的所述原参 数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数 集 ID。 可选的,所述参数集 ID修改信息包括待修改的参数集 ID的参数集类型 和与所述待修改的参数集 ID的参数集类型对应的原参数集 ID的偏移,或包 括待修改的参数集 ID的参数集类型和用于解码 VCL NALU的参数集的参数 集 ID ,或包括待修改的参数集 ID的参数集类型的所述原参数集 ID以及与所 述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID时,所述参 数集 ID修改信息进一步包含修改生效标志,所述发送模块 1603向终端发送 第一视频码流和第一视频的参数集标识修改消息之前,进一步用于向终端发 送所述第二视频码流的时发送不生效的第一视频的参数集标识修改消息; 所 述接收模块 1601进一步用于用于接收终端发送的第二媒体描述信息获取请 求; 所述发送模块 1603进一步用于向终端返回第二媒体描述信息获取响应, 所述第二媒体描述信息获取响应中携带第一视频的修改后的参数集, 所述第 一视频的修改后的参数集中的参数集 ID为用于解码 VCL NALU的参数集的 参数集 ID。 As an alternative, when the parameter set ID modification information of the first video is a parameter set type of the parameter set ID to be modified, the receiving module 1601 is further configured to receive a real-time transmission control protocol RTCP request sent by the terminal, where The RTCP request includes a parameter set type of the parameter set ID to be modified; the sending module 1603 is further configured to return an RTCP response to the terminal, where the RTCP response carries a parameter set type corresponding to the parameter set ID to be modified. The offset of the original parameter set ID, or the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or the parameter set type carrying the parameter set ID to be modified The original parameter set ID and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU. Optionally, the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified, and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, or includes a to-be-modified The parameter set type of the parameter set ID and the parameter set ID of the parameter set for decoding the VCL NALU, or the original parameter set ID of the parameter set type including the parameter set ID to be modified and corresponding to the original parameter set ID When the parameter set ID of the parameter set of the VCL NALU is decoded, the parameter set ID modification information further includes a modification effective flag, and the sending module 1603 sends the first video code stream and the parameter set identifier modification of the first video to the terminal. Before the message is further used to send the parameter set identifier modification message of the first video that is not valid when the second video code stream is sent to the terminal; the receiving module 1601 is further configured to receive the second media description sent by the terminal. And the sending module 1603 is further configured to: return a second media description information acquisition response to the terminal, where the second media description information acquisition response carries the first video The modified parameter set, the parameter set ID of the modified parameter set of the first video is a parameter set ID of a parameter set for decoding the VCL NALU.
可选的, 该装置进步一包括生成模块 1602,用于根据所述第一视频参数 集修改信息生成第一视频的参数集标识修改消息。  Optionally, the device advancement comprises a generating module 1602, configured to generate a parameter set identifier modification message of the first video according to the first video parameter set modification information.
值得说明的是,生成模块 1602进一步用于根据接收模块 1601接收的信 息生成发送给发送模块 1603的任一消息。 本发明实施例在此不再 _ _详述。 具体的,可参见前述方法实施例各步骤的描述。此外,图 16所述的装置可以 是前述实施中的拼接器,可以执行前述实施例中拼接器执行的任一步骤,本 发明实施例在此不再 _ _详述。  It should be noted that the generating module 1602 is further configured to generate any message sent to the sending module 1603 according to the information received by the receiving module 1601. The embodiments of the present invention are no longer detailed herein. For details, refer to the description of each step of the foregoing method embodiment. In addition, the apparatus described in FIG. 16 may be a splicer in the foregoing implementation, and any of the steps performed by the splicer in the foregoing embodiment may be performed, and the embodiment of the present invention is not described in detail herein.
图 17为本发明实施例提供的数字视频码流的拼接装置,包括第一接收模 块 1701、 第二接收模块 1702、 确定模块 1703和发送模块 1704。  FIG. 17 is a splicing apparatus for a digital video code stream according to an embodiment of the present invention, including a first receiving module 1701, a second receiving module 1702, a determining module 1703, and a sending module 1704.
具体的,第一接收模块 1701, 用于接收第一内容服务器发送的第一视频 的媒体描述信息, 所述第一视频的媒体描述信息携带第一视频的原参数集和 第一视频的参数集的类型及与各类型对应的参数集的原参数集 ID;  Specifically, the first receiving module 1701 is configured to receive the media description information of the first video that is sent by the first content server, where the media description information of the first video carries the original parameter set of the first video and the parameter set of the first video. Type and original parameter set ID of the parameter set corresponding to each type;
第二接收模块 1702,用于接收第二内容服务器发送的第二视频的媒体描 述信息, 所述第二视频的媒体描述信息中携带第二视频的参数集、 第二视频 参数集的类型及与各类型对应的参数集的参数集 ID;  The second receiving module 1702 is configured to receive media description information of the second video sent by the second content server, where the media description information of the second video carries a parameter set of the second video, a type of the second video parameter set, and The parameter set ID of the parameter set corresponding to each type;
确定模块 1703, 用用于确定同一类型的所述第一接收模块 1701接收的 第一视频的原参数集 ID与所述第二接收模块 1702接收的第二视频参数集 ID 相同, 以及确定第一视频的参数集标识修改信息; a determining module 1703, configured to determine an original parameter set ID of the first video received by the first receiving module 1701 of the same type, and a second video parameter set ID received by the second receiving module 1702 Same as, and determining parameter set identification modification information of the first video;
发送模块 1704, 用于向拼接器发送第一视频流的信息,所述第一视频码 流的信息包括第一视频的参数集修改信息,所述第一视频的参数集修改信息 携带在第一视频的参数集标识修改消息中,以便于拼接器将所述第一视频的 参数集标识修改消息发送给终端,以及以便于终端根据所述第一视频的参数 集标识修改消息解码并输出第一视频。  The sending module 1704 is configured to send information about the first video stream to the splicer, where the information of the first video code stream includes parameter set modification information of the first video, and the parameter set modification information of the first video is carried in the first The parameter set identifier of the video is modified in the message, so that the splicer sends the parameter set identification modification message of the first video to the terminal, and the terminal is configured to modify the message according to the parameter set identifier of the first video to decode and output the first message. video.
作为一种可选方式,该装置进一步包括:修改模块 1705 ,用于根据所述 确定模块 1703确定所述参数集标识修改信息将第一视频的原参数集的原参 数集 ID修改为用于解码网络抽象层单元的视频编码层 VCL NALU的参数集 的参数集 ID;  As an optional manner, the apparatus further includes: a modifying module 1705, configured to determine, according to the determining module 1703, the parameter set identifier modification information to modify an original parameter set ID of an original parameter set of the first video to be used for decoding The parameter set ID of the parameter set of the video coding layer VCL NALU of the network abstraction layer unit;
所述发送模块进一步用于:向终端发送第一视频的修改后的参数集,修改 后参数集中的参数集 ID为所述用于解码 VCL NALU的参数集的参数集 ID;  The sending module is further configured to: send the modified parameter set of the first video to the terminal, where the parameter set ID in the modified parameter set is the parameter set ID of the parameter set used to decode the VCL NALU;
所述第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参 数集类型以及与待修改的参数集 ID的参数集类型对应的第一视频的原参数 集 ID的偏移, 或包含所述待修改的参数集 ID的参数集类型以及与待修改的 参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID , 或第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参数集类 型的与原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID;  The parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of an original parameter set ID of the first video corresponding to the parameter set type of the parameter set ID to be modified, Or a parameter set type including the parameter set ID to be modified and a parameter set ID for decoding a parameter set of the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identifier modification of the first video The message includes a parameter set ID of the parameter set type of the parameter set ID to be modified corresponding to the original parameter set ID for decoding the parameter set of the VCL NALU;
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型。  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU.
作为另一种可选方式, 所述发送模块进一步用于: 向终端发送第一视频 的原参数集以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的 参数集 ID,所述第一视频的原参数集中携带所述原参数集 ID;  In another optional manner, the sending module is further configured to: send, to the terminal, an original parameter set of the first video and a parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID, where The original parameter set ID of the first video carries the original parameter set ID;
所述第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参 数集类型以及与待修改的参数集 ID的参数集类型对应的所述原参数集 ID的 偏移,或第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参数 集类型以及与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU 的参数集的参数集 ID ,或第一视频的参数集标识修改消息包含所述待修改的 参数集 ID的参数集类型中的所述原参数集 ID以及与原参数集 ID对应的用于 解码 VCL NALU的参数集的参数集 ID; 所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型,以及所述 VCL NALU间接引用的参数集类型。 The parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to a parameter set type of the parameter set ID to be modified, or The parameter set identification modification message of a video includes the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identification modification message of a video, the original parameter set ID in a parameter set type of the parameter set ID to be modified, and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU; The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and a parameter set type indirectly referenced by the VCL NALU.
图 17所示的装置可以为应用服务器,可以执行前述实施例中应用服务器 执行的任一步骤或功能, 本发明实施例在此不再详述。  The device shown in FIG. 17 may be an application server, and may perform any of the steps or functions performed by the application server in the foregoing embodiment. The embodiments of the present invention are not described in detail herein.
图 18为本发明实施例提供的数字视频码流的解码装置或拼接装置的结 构示意图 ,包括处理器 1801、输入设备 1802、输出设备 1803、存储器 1804 和通信接口 1805。计算机系统可具体是基于处理器的计算机,如通用个人计 算机( PC ) ,便携式设备如平板计算机,或智能手机。计算机系统包括总线, 处理器,存储器,通信接口 ,输入设备和输出设备。 总线可包括一通路,在 计算机各个部件之间传送信息。 处理器 1801可以是一个通用中央处理器 ( CPU ),微处理器,特定应用集成电路 application-specific integrated circuit (ASIC) ,或一个或多个用于控制本发明方案程序执行的集成电路。 计算机系 统还包括一个或多个存储器 1805 ,可以是只读存储器 read-only memory (ROM) 或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储 器 random access memory (RAM) 或者可存储信息和指令的其他类型的动 态存储设备,也可以是磁盘存储器。 这些存储器通过总线与处理器相连接。  FIG. 18 is a schematic structural diagram of a decoding apparatus or a splicing apparatus for a digital video stream according to an embodiment of the present invention, including a processor 1801, an input device 1802, an output device 1803, a memory 1804, and a communication interface 1805. The computer system may specifically be a processor based computer such as a general purpose personal computer (PC), a portable device such as a tablet computer, or a smart phone. Computer systems include buses, processors, memories, communication interfaces, input devices, and output devices. The bus can include a path to transfer information between various components of the computer. The processor 1801 can be a general purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention. The computer system also includes one or more memories 1805, which may be read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM) or Other types of dynamic storage devices that store information and instructions may also be disk storage. These memories are connected to the processor via a bus.
输入设备 1801可包括一种装置,以接收用户输入的数据和信息,例如 键盘,鼠标、 摄像头,扫描仪,光笔,语音输入装置,触摸屏等。 输出设备 可包括一种装置,以允许输出信息给用户 ,包括显示屏,打印机,扬声器等。 计算机系统还包括一个通信接口 1804 ,使用任何收发器一类的装置,以便与 其他设备或通信网络通信,如以太网,无线接入网( RAN ),无线局域网 (WLAN) 等.  Input device 1801 can include a means for receiving data and information input by a user, such as a keyboard, mouse, camera, scanner, light pen, voice input device, touch screen, and the like. The output device can include a means to allow output of information to the user, including display screens, printers, speakers, and the like. The computer system also includes a communication interface 1804 that uses devices such as any transceiver to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), and the like.
存储器 1805 ,如 RAM ,保存有操作系统和执行本发明方案的程序。 操 作系统是用于控制其他程序运行,管理系统资源的程序。 执行本发明方案的 程序代码保存在存储器中 ,并由处理器 1801来控制执行。  A memory 1805, such as a RAM, holds an operating system and a program for executing the inventive scheme. The operating system is a program that controls the running of other programs and manages system resources. The program code for carrying out the inventive arrangement is stored in a memory and is controlled by the processor 1801 for execution.
具体的, 该存储器 1805可以存储指令, 以使处理器 1801执行以下流 程:  Specifically, the memory 1805 can store instructions to cause the processor 1801 to perform the following processes:
接收第一视频码流和第一视频的参数集标识修改消息,所述第一视频的 参数集标识修改消息中包含第一视频的参数集标识 ID修改信息;根据所述第 —视频的参数集 ID修改信息获取用于解码网络抽象层单元的视频编码层 VCL NALU的参数集的参数集 ID;根据所述用于解码 VCL NALU的参数集的 参数集 ID获取用于解码所述 VCL NALU的参数集;根据所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并输出解码后的第一视频。 值得说明 的是,处理器 1805还可以用于执行方法实施例中图 1到图 15描述终端 或解码装置执行的各步骤, 本发明实施例在此不再详述。 And receiving a parameter set identifier modification message of the first video code stream and the first video, where the parameter set identifier of the first video includes a parameter set identifier ID modification information of the first video, and a parameter set according to the first video ID modification information acquires a video coding layer for decoding a network abstraction layer unit a parameter set ID of a parameter set of the VCL NALU; acquiring a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU; according to the parameter set decoding unit for decoding the VCL NALU The VCL NALU is described and the decoded first video is output. It is to be noted that the processor 1805 can also be used to perform the steps performed by the terminal or the decoding device in FIG. 1 to FIG. 15 in the method embodiment, which is not described in detail herein.
作为本发明实施例的另一可选方式, 处理器 1801还可以执行以下流 程: 从应用服务器接收第一视频码流的信息,所述第一视频码流的信息包括 第一视频的参数集修改信息;根据所述第一视频参数集修改信息向终端发送 第一视频码流和第一视频的参数集标识修改消息, 所述第一视频的参数集标 识修改消息携带第一视频的参数集标识 ID修改信息,以便于终端根据第一视 频的参数集 ID修改信息获取用于解码网络抽象层单元的视频编码层 VCL NALU的参数集的参数集 ID,以及终端根据所述用于解码 VCL NALU的参数 集的参数集 ID获取用于解码 VCL NALU的参数集,以及终端根据所述用于 解码 VCL NALU的参数集解码所述 VCL NALU ,并输出解码后的第一视频。 值得说明的是,处理器 1805还可以用于执行方法实施例中图 1到图 16 描述拼接器执行的各步骤, 本发明实施例在此不再详述。  As another optional manner of the embodiment of the present invention, the processor 1801 may further perform the following process: receiving information of the first video code stream from the application server, where the information of the first video code stream includes parameter set modification of the first video Transmitting, according to the first video parameter set modification information, a first video code stream and a parameter set identifier modification message of the first video, where the parameter set identifier modification message of the first video carries a parameter set identifier of the first video The ID modifies the information, so that the terminal acquires the parameter set ID of the parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and the terminal according to the method for decoding the VCL NALU The parameter set ID of the parameter set acquires a parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoded first video. It should be noted that the processor 1805 can also be used to perform the steps performed by the splicer in FIG. 1 to FIG. 16 in the method embodiment, which is not described in detail herein.
作为另一可选方式, 处理器还可以执行以下流程, 接收第一内容服务 器发送的第一视频的媒体描述信息, 所述第一视频的媒体描述信息携带第一 视频的原参数集和第一视频的参数集的类型及与各类型对应的参数集的原参 数集 ID;接收第二内容服务器发送的第二视频的媒体描述信息,所述第二视频 的媒体描述信息中携带第二视频的参数集第二视频参数集的类型及与各类型 对应的参数集的参数集 ID;确定同一类型的第一视频的参原参数集 ID与第二 视频的参数集的参数集 ID相同, 以及确定第一视频的参数集标识修改信息; 向拼接器发送第一视频流的信息,所述第一视频码流的信息包括第一视频的 参数集标识修改信息,所述第一视频的参数集修改标识信息携带在第一视频 的参数集标识修改消息中,以便于拼接器将所述第一视频的参数集标识修改 消息发送给终端,以及以便于终端根据所述第一视频的参数集标识修改消息 解码并输出第一视频。值得说明的是,处理器 1805还可以用于执行方法实 施例中图 1到图 17描述应用服务器执行的各步骤, 本发明实施例在此不 再详述。 所属领域的技术人员可以清楚地了解到, 为描述的方便和简洁, 上述描 述的系统, 装置和单元的具体工作过程, 可以参考前述方法实施例中的对应 过程, 在此不再赘述。 As another optional manner, the processor may further perform the following process: receiving media description information of the first video sent by the first content server, where the media description information of the first video carries the original parameter set of the first video and the first The type of the parameter set of the video and the original parameter set ID of the parameter set corresponding to each type; the media description information of the second video sent by the second content server, where the media description information of the second video carries the second video a parameter set second video parameter set type and a parameter set ID of a parameter set corresponding to each type; determining a parameter set ID of the first video of the same type is the same as a parameter set ID of a parameter set of the second video, and determining The parameter set of the first video identifies the modification information; the information of the first video stream is sent to the splicer, the information of the first video code stream includes parameter set identification modification information of the first video, and the parameter set of the first video is modified. The identifier information is carried in the parameter set identifier modification message of the first video, so that the splicer sends the parameter set identifier modification message of the first video to the terminal. And, in order for the terminal to modify the message according to the parameter set identification of the first video, and output the first video. It is to be noted that the processor 1805 can also be used to perform the steps performed by the application server in FIG. 1 to FIG. 17 in the embodiment of the method. The embodiments of the present invention are not described in detail herein. A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above may refer to the corresponding processes in the foregoing method embodiments, and details are not described herein again.
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统, 装置和 方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示 意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可 以有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个 系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口, 装置或单元的间接耦合 或通信连接, 可以是电性, 机械或其它的形式。 为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。  In the several embodiments provided herein, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise. The components displayed for the unit may or may not be physical units, ie may be located in one place, or may be distributed over multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单 元中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用硬件加软件 功能单元的形式实现。  In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
上述以软件功能单元的形式实现的集成的单元, 可以存储在一个计算机 可读取存储介质中。 上述软件功能单元存储在一个存储介质中, 包括若干指 令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等) 或处理器 (processor )执行本申请各个实施例所述方法的部分步骤。 而前述 的存储介质包括: U盘、移动硬盘、只读存储器( Read-Only Memory, ROM )、 随机存取存储器(Random Access Memory, RAM ) 、 磁碟或者光盘等各种可 以存储程序代码的介质。  The above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium. The above software functional unit is stored in a storage medium and includes a plurality of instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to execute the method of the various embodiments of the present application. Part of the steps. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program code. .
最后应说明的是: 以上实施例仅用以说明本申请的技术方案, 而非对其 限制; 尽管参照前述实施例对本申请进行了详细的说明, 本领域的普通技术 人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或 者对其中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技 术方案的本质脱离本申请各实施例技术方案的精神和范围。  Finally, it should be noted that the above embodiments are only used to explain the technical solutions of the present application, and are not limited thereto; although the present application is described in detail with reference to the foregoing embodiments, it will be understood by those skilled in the art that: The technical solutions described in the foregoing embodiments are modified, or some of the technical features are equivalently substituted; and the modifications or substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

权利要求 书 Claim
1.一种数字视频码流的解码方法,其特处在于,包括  A decoding method for a digital video bitstream, which is characterized in that it comprises
接收第一视频码流和第一视频的参数集标识修改消息,所述第一视频的 参数集标识修改消息中包含第一视频的参数集标识 ID修改信息;  Receiving a parameter set identification modification message of the first video code stream and the first video, where the parameter set identifier of the first video includes the parameter set identification ID modification information of the first video;
根据所述第一视频的参数集 ID修改信息获取用于解码网络抽象层单元 的视频编码层 VCL NALU的参数集的参数集 ID;  Obtaining, according to the parameter set ID modification information of the first video, a parameter set ID of a parameter set for decoding a video coding layer VCL NALU of the network abstraction layer unit;
根据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集;  Acquiring a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU;
根据所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并输出 解码后的第一视频。  The VCL NALU is decoded according to the parameter set for decoding the VCL NALU, and the decoded first video is output.
2.如权利要求 1所述的方法,其特征在于,所述参数集 ID修改信息包括 待修改的参数集 ID的参数集类型和与所述待修改的参数集 ID的参数集类型 对应的原参数集 ID的偏移;所述第一视频码流中包含用于解码所述 VCL NALU的参数集的原参数集 ID;  The method according to claim 1, wherein the parameter set ID modification information comprises a parameter set type of the parameter set ID to be modified and an original corresponding to the parameter set type of the parameter set ID to be modified. An offset of the parameter set ID; the first video code stream includes an original parameter set ID for decoding a parameter set of the VCL NALU;
所述根据所述第一视频的参数集 ID修改信息获取用于解码 VCL NALU 的参数集的参数集 ID具体为 :  The parameter set ID obtained by acquiring the parameter set for decoding the VCL NALU according to the parameter set ID modification information of the first video is specifically:
根据所述待修改的参数集 ID的参数集类型从所述第一视频码流中获取 与所述待修改的参数集 ID的参数集类型对应的所述原参数集 ID;  Obtaining, according to the parameter set type of the parameter set ID to be modified, the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified from the first video code stream;
根据所述原参数集 ID以及与所述待修改的参数集 ID的参数集类型对应 的原参数集 ID的偏移获取与所述待修改的参数集 ID的参数集类型对应的用 于解码 VCL NALU的参数集的参数集 ID。  Obtaining, according to the original parameter set ID and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, a decoding VCL corresponding to the parameter set type of the parameter set ID to be modified The parameter set ID of the NALU's parameter set.
3. 如权利要求 1所述的方法,其特征在于,所述参数集 ID修改信息包 括待修改的参数集 ID的参数集类型和用于解码 VCL NALU的参数集的参数 集 ID;  3. The method according to claim 1, wherein the parameter set ID modification information comprises a parameter set type of a parameter set ID to be modified and a parameter set ID of a parameter set for decoding a VCL NALU;
所述根据所述第一视频的参数集 ID修改信息获取所述用于解码 VCL Determining, according to the parameter set ID modification information of the first video, the decoding used to decode the VCL
NALU的参数集的参数集 ID具体为 : The parameter set ID of the NALU parameter set is specifically:
根据所述待修改的参数集 ID的参数集类型从所述参数集 ID修改信息中 获取与所述待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的 参数集的参数集 ID。  Obtaining, from the parameter set ID modification information, a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, according to the parameter set type of the parameter set ID to be modified. .
4.如权利要求 1所述的方法,其特征在于,所述参数集 ID修改信息包括 待修改的参数集 ID的参数集类型的原参数集 ID, 以及与所述原参数集 ID对 应的用于解码 VCL NALU的参数集的参数集 ID; 4. The method of claim 1 wherein the parameter set ID modification information comprises An original parameter set ID of a parameter set type of the parameter set ID to be modified, and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU;
所述根据所述第一视频的参数集 ID修改信息获取所述用于解码 VCL NALU的参数集的参数集 ID具体为 :  The parameter set ID of the parameter set for decoding the VCL NALU according to the parameter set ID modification information of the first video is specifically:
根据所述待修改的参数集 ID的参数集类型对应的原参数集 ID获取所述 原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。  Obtaining, according to the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, the parameter set ID of the parameter set corresponding to the original parameter set ID for decoding the VCL NALU.
5.如权利要求 1所述的方法,其特征在于,所述第一视频参数集 ID修改 信息为待修改的参数集 ID的参数集类型, 该方法进一步包括:  The method of claim 1, wherein the first video parameter set ID modification information is a parameter set type of a parameter set ID to be modified, the method further comprising:
向拼接器发送实时传输控制协议 RTCP请求, 所述 RTCP请求包含所述 待修改参数集 ID的参数集类型;  Sending a real-time transmission control protocol RTCP request to the splicer, where the RTCP request includes the parameter set type of the parameter set ID to be modified;
接收所述拼接器返回的 RTCP响应, 所述 RTCP响应中携带与待修改的 参数集 ID的参数集类型对应的原参数集 ID的偏移或与待修改的参数集 ID的 参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID, 或者与待修 改的参数集 ID的参数集类型的所述原参数集 ID以及与所述原参数集 ID对应 的用于解码 VCL NALU的参数集的参数集 ID;  Receiving an RTCP response returned by the splicer, where the RTCP response carries an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified or a parameter set type corresponding to the parameter set ID to be modified. a parameter set ID for decoding a parameter set of the VCL NALU, or the original parameter set ID of a parameter set type of the parameter set ID to be modified, and a parameter set corresponding to the original parameter set ID for decoding the VCL NALU Parameter set ID;
所述根据所述第一视频的参数集 ID修改信息获取所述用于解码 VCL NALU的参数集的参数集 ID具体为 :  The parameter set ID of the parameter set for decoding the VCL NALU according to the parameter set ID modification information of the first video is specifically:
根据所述 RTCP响应中携带的与待修改的参数集 ID的参数集类型对应的 原参数集 ID的偏移或与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID, 或者根据与待修改的参数集 ID的参数集 类型的原参数集 ID以及与原参数集 ID对应的用于解码 VCL NALU的参数集 的参数集 ID ,从所述参数集 ID修改信息中获取与所述待修改的参数集 ID的 参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID。  And a parameter set for decoding the VCL NALU corresponding to the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified carried in the RTCP response or the parameter set type of the parameter set ID to be modified The parameter set ID, or the parameter set ID according to the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID, from the parameter set ID Obtaining, in the modification information, a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified.
6 .如权利要求 2-4任一所述的方法,其特征在于,所述参数集 ID修改 信息还包括修改生效标志,所述接收第一视频码流和第一视频的参数集标识 修改消息之前,该方法进一步包括:  The method according to any one of claims 2 to 4, wherein the parameter set ID modification information further comprises a modification effective flag, and the parameter set identification modification message of the first video code stream and the first video is received. Previously, the method further included:
接收不生效的第一视频的参数集标识修改消息;  Receiving a parameter set identification modification message of the first video that does not take effect;
确定所述不生效的第一视频的参数集标识修改消息包含指示参数集 ID 修改信息不生效的标志信息;  Determining that the parameter set identifier modification message of the first video that is not in effect includes flag information indicating that the parameter set ID modification information is not valid;
向应用服务器发送第二媒体描述信息获取请求; 接收应用服务器返回的第二媒体描述信息获取响应,所述第二媒体描述 信息获取响应中携带第一视频的修改后的参数集,所述第一视频修改后的参 数集中的参数集 ID为所述用于解码 VCL NALU的参数集的参数集 ID。 Sending a second media description information acquisition request to the application server; And receiving, by the application server, a second media description information acquisition response, where the second media description information acquisition response carries the modified parameter set of the first video, where the parameter set ID of the parameter set in the first video modification is The parameter set ID of the parameter set used to decode the VCL NALU.
7、 如权利要求 1-5任一所述的方法,其特征在于,所述根据所述用于解 码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集 之前该方法进一步包括:  The method according to any one of claims 1 to 5, wherein the method before acquiring a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU Further includes:
通过带外方式获取第一视频的修改后的参数集, 所述修改后的参数集中 的参数集 ID为用于解码 VCL NALU的参数集的参数集 ID; 或  Obtaining, by an out-of-band manner, a modified parameter set of the first video, where the parameter set ID of the modified parameter set is a parameter set ID of a parameter set used for decoding the VCL NALU; or
通过带外方式获取第一视频的原参数集以及用于解码 VCL NALU的参数 集的参数集 ID,所述第一视频的原参数集中携带所述原参数集 ID; 根据所述 用于解码 VCL NALU的参数集的参数集 ID修改所述原参数集 ID。  Obtaining, by an outband manner, an original parameter set of the first video and a parameter set ID of a parameter set for decoding the VCL NALU, where the original parameter set of the first video carries the original parameter set ID; The parameter set ID of the parameter set of the NALU modifies the original parameter set ID.
8、 如权利要求 1-7任一所述的方法,其特征在于,所述待修改的参数集 ID的参数集类型为 VCL NALU直接引用的参数集类型,所述根据所述第一 视频的参数集 ID修改信息获取用于解码 VCL NALU的参数集的参数集 ID具 体为 :获取与所述 VCL NALU直接引用的参数集类型对应的用于解码 VCL NALU的 VCL NALU直接引用的参数集的参数集 ID ,该方法进一步包括: 根据获取的用于解码 VCL NALU的 VCL NALU直接引用的参数集的参数集 ID获取所述第一视频码流中 VCL NALU直接引用的参数集;从所述直接引用 的参数集中获取用于解码 VCL NALU的 VCL NALU间接引用的参数集的参 数集 ID;或  The method according to any one of claims 1 to 7, wherein the parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, according to the first video. The parameter set ID modification information acquires the parameter set ID of the parameter set for decoding the VCL NALU, specifically: acquiring parameters of the parameter set directly used by the VCL NALU for decoding the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU Set the ID, the method further comprising: obtaining, according to the obtained parameter set ID of the parameter set directly referenced by the VCL NALU for decoding the VCL NALU, a parameter set directly referenced by the VCL NALU in the first video code stream; from the direct reference The parameter set ID of the parameter set used to decode the VCL NALU indirect reference of the VCL NALU; or
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型和所述 VCL NALU间接引用的参数集类型,所述根据所述第一视频 的参数集 ID修改信息获取用于解码 VCL NALU的参数集的参数集 ID具体为 : 分别根据所述第一视频的参数集 ID修改信息获取与所述 VCL NALU直接引 用的参数集类型对应的用于解码 VCL NALU的 VCL NALU的直接引用的参 数集的参数集 ID ,以及获取与所述 VCL NALU间接引用的参数集类型对应 的用于解码 VCL NALU的 VCL NALU间接引用的参数集的参数集 ID;所述根 据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集具体为 :根据获取的直接引用的参数集的参数集 ID以及间接 引用的参数集的参数集 ID获取所述 VCL NALU的直接引用的参数集以及所 述 VCL NALU的间接引用的参数集; The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU and a parameter set type indirectly referenced by the VCL NALU, and the parameter information is modified according to the parameter set ID of the first video. The parameter set ID of the parameter set for decoding the VCL NALU is specifically: acquiring the VCL NALU for decoding the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU according to the parameter set ID modification information of the first video, respectively. a parameter set ID of a directly referenced parameter set, and a parameter set ID of a parameter set for decoding a VCL NALU indirect reference of the VCL NALU corresponding to the parameter set type indirectly referenced by the VCL NALU; Obtaining the parameter set ID for decoding the VCL NALU in the parameter set ID of the parameter set of the decoded VCL NALU is specifically: acquiring the parameter set ID according to the obtained directly referenced parameter set and the parameter set ID of the indirectly referenced parameter set Parameter set and direct reference of VCL NALU a parameter set of an indirect reference to the VCL NALU;
所述根据所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并 输出解码后的第一视频具体为 :根据获取的所述 VCL NALU的直接引用的参 数集以及所述 VCL NALU的间接引用的参数集解码所述 VCL NALU,并输出 解码后的第一视频。  Decoding the VCL NALU according to the parameter set for decoding the VCL NALU, and outputting the decoded first video is specifically: a parameter set according to the obtained directly referenced VCL NALU and an indirect of the VCL NALU The referenced parameter set decodes the VCL NALU and outputs the decoded first video.
9、 如权利要求 1-8任一所述的方法,其特征在于,所述第一视频的参数 集标识修改消息为 :补充增强信息 SEI消息。  The method according to any one of claims 1-8, wherein the parameter set identification modification message of the first video is: supplementary enhancement information SEI message.
10、 一种数字视频码流的拼接的方法,其特处在于,包括:  10. A method of splicing a digital video stream, the special feature of which comprises:
从应用服务器接收第一视频码流的信息,所述第一视频码流的信息包括 第一视频的参数集修改信息;  Receiving, by the application server, information of the first video code stream, where the information of the first video code stream includes parameter set modification information of the first video;
根据所述第一视频参数集修改信息向终端发送第一视频码流和第一视频 的参数集标识修改消息, 所述第一视频的参数集标识修改消息携带第一视频 的参数集标识 ID修改信息,以便于终端根据第一视频的参数集 ID修改信息 获取用于解码网络抽象层单元的视频编码层 VCL NALU的参数集的参数集 ID ,以及终端根据所述用于解码 VCL NALU的参数集的参数集 ID获取用于 解码 VCL NALU的参数集,以及终端根据所述用于解码 VCL NALU的参数 集解码所述 VCL NALU ,并输出解码后的第一视频。  And sending, by the first video parameter set modification information, a first video code stream and a parameter set identifier modification message of the first video, where the parameter set identifier modification message of the first video carries the parameter set identifier ID of the first video. Information, so that the terminal acquires a parameter set ID of a parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and the terminal according to the parameter set for decoding the VCL NALU The parameter set ID acquires a parameter set for decoding the VCL NALU, and the terminal decodes the VCL NALU according to the parameter set for decoding the VCL NALU, and outputs the decoded first video.
1 1、 如权利要求 10所述的方法,其特征在于:该方法进一步包括: 从应用服务器接收第二视频码流的信息,并且在输出第二视频码流的过 程中暂停输出所述第二视频码流。  1 1. The method of claim 10, wherein the method further comprises: receiving information of the second video code stream from the application server, and suspending outputting the second during the outputting of the second video code stream. Video stream.
12、 如权利要求 10或 11所述的方法,其特征在于,第一视频的参数集 ID修改信息为待修改的参数集 ID的参数集类型,该方法进一步包括:  The method of claim 10 or 11, wherein the parameter set ID modification information of the first video is a parameter set type of the parameter set ID to be modified, the method further comprising:
接收终端发送的实时传输控制协议 RTCP请求, 所述 RTCP请求包含所 述待修改参数集 ID的参数集类型;  Receiving a real-time transmission control protocol RTCP request sent by the terminal, where the RTCP request includes a parameter set type of the parameter set ID to be modified;
向终端返回 RTCP响应, 所述 RTCP响应中携带与所述待修改的参数集 Returning an RTCP response to the terminal, where the RTCP response carries the parameter set to be modified
ID的参数集类型对应的原参数集 ID的偏移、 或携带与所述待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID、 或者携 带与待修改的参数集 ID的参数集类型的所述原参数集 ID以及与所述原参数 集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。 The offset of the original parameter set ID corresponding to the parameter set type of the ID, or the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or carried and to be modified The original parameter set ID of the parameter set type of the parameter set ID and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID.
13、 如权利要求 10或 11所述的方法,其特征在于,所述参数集 ID修改 信息包括待修改的参数集 ID的参数集类型和与所述待修改的参数集 ID的参 数集类型对应的原参数集 ID的偏移,或包括所述待修改的参数集 ID的参数 集类型和用于解码 VCL NALU的参数集的参数集 ID,或包括待修改的参数集 ID的参数集类型的所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID ,所述参数集 ID修改信息进一步包含修改 生效标志,所述根据所述用于解码 VCL NALU的参数集的参数集 ID获取用 于解码所述 VCL NALU的参数集之前,该方法进一步包括: 13. The method of claim 10 or 11, wherein the parameter set ID is modified The information includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set type including the parameter set ID to be modified. And a parameter set ID of a parameter set for decoding the VCL NALU, or the original parameter set ID of the parameter set type including the parameter set ID to be modified, and a parameter for decoding the VCL NALU corresponding to the original parameter set ID a parameter set ID of the set, the parameter set ID modification information further comprising a modification effective flag, the obtaining, before acquiring the parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU The method further includes:
向终端发送所述第二视频码流的时发送不生效的第一视频的参数集标识 修改消息;  And transmitting, by the terminal, the parameter set identifier modification message of the first video that is not effective when the second video code stream is sent;
接收终端发送的第二媒体描述信息获取请求;  Receiving, by the terminal, a second media description information acquisition request;
向终端返回第二媒体描述信息获取响应,所述第二媒体描述信息获取响 应中携带第一视频的修改后的参数集,所述第一视频的修改后的参数集中的 参数集 ID为用于解码 VCL NALU的参数集的参数集 ID。  Returning, to the terminal, a second media description information acquisition response, where the second media description information acquisition response carries the modified parameter set of the first video, where the parameter set ID of the modified parameter set of the first video is used for The parameter set ID of the parameter set that decodes the VCL NALU.
14、 如权利要趟 9-13任一所述的方法,其特征在于,所述第一视频的参 数集标识修改消息为 :参数集标识修改补充增强信息 SEI消息、 自适应参数 集标识修改 SEI消息或图片参数集标识修改 SEI消息,该方法进一步包含: 根据所述第一视频参数集修改信息生成第一视频的参数集标识修改消 The method according to any one of claims 9-13, wherein the parameter set identification modification message of the first video is: a parameter set identifier modification supplementary enhancement information SEI message, an adaptive parameter set identifier modification SEI The message or picture parameter set identifier modifies the SEI message, the method further includes: generating a parameter set identifier modification of the first video according to the first video parameter set modification information
15、 一种数字视频码流的拼接方法,其特征在于,包括: 15. A method of splicing a digital video code stream, comprising:
接收第一内容服务器发送的第一视频的媒体描述信息, 所述第一视频的 媒体描述信息携带第一视频的原参数集和第一视频的参数集的类型及与各类 型对应的参数集的原参数集 ID;  Receiving the media description information of the first video sent by the first content server, where the media description information of the first video carries the original parameter set of the first video and the parameter set of the first video and the parameter set corresponding to each type Original parameter set ID;
接收第二内容服务器发送的第二视频的媒体描述信息, 所述第二视频的 媒体描述信息中携带第二视频的参数集第二视频参数集的类型及与各类型对 应的参数集的参数集 ID;  Receiving the media description information of the second video sent by the second content server, where the media description information of the second video carries the parameter set of the second video, the type of the second video parameter set, and the parameter set of the parameter set corresponding to each type. ID;
确定同一类型的第一视频的参原参数集 ID与第二视频的参数集的参数 集 ID相同, 以及确定第一视频的参数集标识修改信息;  Determining that the parameter set ID of the first video of the same type is the same as the parameter set ID of the parameter set of the second video, and determining parameter set identification modification information of the first video;
向拼接器发送第一视频流的信息,所述第一视频码流的信息包括第一视 频的参数集标识修改信息,所述第一视频的参数集修改标识信息携带在第一 视频的参数集标识修改消息中,以便于拼接器将所述第一视频的参数集标识 修改消息发送给终端,以及以便于终端根据所述第一视频的参数集标识修改 消息解码并输出第一视频。 Sending information of the first video stream to the splicer, where the information of the first video code stream includes the first view The parameter set identifier of the frequency identifies the modification information, and the parameter set modification identifier information of the first video is carried in the parameter set identifier modification message of the first video, so that the splicer sends the parameter set identifier modification message of the first video to the splicer a terminal, and in order for the terminal to modify the message according to the parameter set identification modification of the first video and output the first video.
16、 如权利要求 15所述的方法, 其特征在于, 该方法进一步包括: 根据所述确定的第一视频的参数集标识修改信息将第一视频的原参数集 的原参数集 ID修改为用于解码网络抽象层单元的视频编码层 VCL NALU的 参数集的参数集 ID;  The method according to claim 15, wherein the method further comprises: modifying the original parameter set ID of the original parameter set of the first video to be used according to the determined parameter set identification modification information of the first video. a parameter set ID of a parameter set of a video coding layer VCL NALU for decoding a network abstraction layer unit;
向终端发送第一视频的修改后的参数集,修改后参数集中的参数集 ID为 所述用于解码 VCL NALU的参数集的参数集 ID;  Transmitting, to the terminal, the modified parameter set of the first video, where the parameter set ID in the modified parameter set is the parameter set ID of the parameter set used for decoding the VCL NALU;
所述第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参 数集类型以及与待修改的参数集 ID的参数集类型对应的第一视频的原参数 集 ID的偏移, 或包含所述待修改的参数集 ID的参数集类型以及与待修改的 参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID , 或第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参数集类 型的与所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU 的参数集的参数集 ID;  The parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of an original parameter set ID of the first video corresponding to the parameter set type of the parameter set ID to be modified, Or a parameter set type including the parameter set ID to be modified and a parameter set ID for decoding a parameter set of the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identifier modification of the first video The message includes a parameter set ID of the parameter set type of the parameter set ID to be modified, the original parameter set ID, and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU;
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型。  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU.
17、 如权利要求 15所述的方法, 其特征在于, 该方法进一步包括: 向终端发送第一视频的原参数集以及与所述原参数集 ID对应的用于解 码 VCL NALU的参数集的参数集 ID,所述第一视频的原参数集中携带所述原 参数集 ID;  17. The method according to claim 15, wherein the method further comprises: transmitting, to the terminal, an original parameter set of the first video and a parameter of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID. Set the ID, the original parameter set of the first video carries the original parameter set ID;
所述第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参 数集类型以及与待修改的参数集 ID的参数集类型对应的所述原参数集 ID的 偏移,或第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参数 集类型以及与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU 的参数集的参数集 ID ,或第一视频的参数集标识修改消息包含所述待修改的 参数集 ID的参数集类型的所述原参数集 ID以及与原参数集 ID对应的用于解 码 VCL NALU的参数集的参数集 ID; 所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型,以及所述 VCL NALU间接引用的参数集类型。 The parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to a parameter set type of the parameter set ID to be modified, or The parameter set identification modification message of a video includes the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identification modification message of a video, the original parameter set ID of the parameter set type of the parameter set ID to be modified, and a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the original parameter set ID; The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and a parameter set type indirectly referenced by the VCL NALU.
18、 一种数字视频码流的解码装置,其特征在于包括:  18. A decoding apparatus for a digital video stream, comprising:
接收模块,用于接收第一视频码流和第一视频的参数集标识修改消息, 所述第一视频的参数集标识修改消息中包含第一视频的参数集标识 ID修改 a receiving module, configured to receive a parameter set identifier modification message of the first video code stream and the first video, where the parameter set identifier modification message of the first video includes a parameter set identifier ID modification of the first video
'害、, 'harm,,
第一获取模块,用于根据所接收模块接收的所述第一视频的参数集 ID修 改信息获取用于解码网络抽象层单元的视频编码层 VCL NALU的参数集的参 数集 ID;  a first obtaining module, configured to acquire, according to the parameter set ID modification information of the first video received by the receiving module, a parameter set ID of a parameter set for decoding a video coding layer VCL NALU of the network abstraction layer unit;
第二获取模块,用于根据所述第一获取模块获取的用于解码 VCL NALU 的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集;  a second acquiring module, configured to acquire, according to the parameter set ID of the parameter set for decoding the VCL NALU acquired by the first acquiring module, a parameter set used for decoding the VCL NALU;
解码输出模块,用于根据所述第二获取模块获取的所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并输出解码后的第一视频。  And a decoding output module, configured to decode the VCL NALU according to the parameter set for decoding the VCL NALU acquired by the second acquiring module, and output the decoded first video.
19、 如权利要求 18所述的装置,其特征在于,所述参数集 ID修改信息 包括待修改的参数集 ID的参数集类型和与所述待修改的参数集 ID的参数集 类型对应的原参数集 ID的偏移;所述第一视频码流中包含用于解码所述 VCL NALU的参数集的原参数集 ID;  The device according to claim 18, wherein the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and an original corresponding to the parameter set type of the parameter set ID to be modified. An offset of the parameter set ID; the first video code stream includes an original parameter set ID for decoding a parameter set of the VCL NALU;
所述第一获取模块具体用于:根据所述接收模块接收的所述待修改的参 数集 ID的参数集类型从所述第一码流中获取与所述待修改的参数集 ID的参 数集类型对应的所述原参数集 ID;  The first acquiring module is configured to: obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, a parameter set from the first code stream and the parameter set ID to be modified. The original parameter set ID corresponding to the type;
根据所述原参数集 ID以及所述待修改的参数集 ID的参数集类型对应的 原参数集 ID的偏移从获取与所述待修改的参数集 ID的参数集类型对应的用 于解码 VCL NALU的参数集的参数集 ID。  Obtaining, according to the original parameter set ID and the offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, obtaining the VCL corresponding to the parameter set type of the parameter set ID to be modified The parameter set ID of the NALU's parameter set.
20、 如权利要求 18所述的装置,其特征在于,所述参数集 ID修改信息 包括待修改的参数集 ID的参数集类型和用于解码 VCL NALU的参数集的参 数集 ID ,所述第一获取模块具体用于:根据所述接收模块接收的待修改的参 数集 ID的参数集类型从所述参数集 ID修改信息中获取与所述待修改的参数 集 ID的参数集类型对应的用用于解码 VCL NALU的参数集的参数集 ID。  20. The apparatus according to claim 18, wherein the parameter set ID modification information comprises a parameter set type of a parameter set ID to be modified and a parameter set ID of a parameter set for decoding a VCL NALU, the An obtaining module is configured to: obtain, according to the parameter set type of the parameter set ID to be modified received by the receiving module, the parameter set type corresponding to the parameter set ID to be modified from the parameter set ID modification information. The parameter set ID of the parameter set used to decode the VCL NALU.
21、 如权利要求 18所述的装置,其特征在于,所述参数集 ID修改信息 为待修改的参数集 ID的参数集类型的原参数集 ID、与所述原参数集 ID对应 的用于解码 VCL NALU的参数集的参数集 ID; The device according to claim 18, wherein the parameter set ID modification information is an original parameter set ID of a parameter set type of the parameter set ID to be modified, and corresponds to the original parameter set ID. Parameter set ID of the parameter set used to decode the VCL NALU;
所述第一获取模块具体用于:根据所述接收模块接收的所述待修改的参 数集 ID的参数集类型对应的所述原参数集 ID获取所述原参数集 ID对应的用 于解码 VCL NALU的参数集的参数集 ID。  The first acquiring module is configured to: obtain the original parameter set ID corresponding to the original parameter set ID according to the parameter set type of the parameter set ID to be modified received by the receiving module, and use the original parameter set ID to decode the VCL. The parameter set ID of the NALU's parameter set.
22、 如权利要求 18所述的装置,其特征在于,所述第一视频参数集 ID 修改信息为待修改的参数集 ID的参数集类型, 所述装置进一步包括:  The device according to claim 18, wherein the first video parameter set ID modification information is a parameter set type of a parameter set ID to be modified, and the device further includes:
发送模块,用于向拼接器发送实时传输控制协议 RTCP请求,所述 RTCP 请求包含所述待修改参数集 ID的参数集类型;  a sending module, configured to send a real-time transmission control protocol RTCP request to the splicer, where the RTCP request includes a parameter set type of the parameter set ID to be modified;
所述接收模块进一步用于: 接收所述拼接器返回的 RTCP响应, 所述 RTCP响应中携带与待修改的参数集 ID的参数集类型对应的原参数集 ID的 偏移, 或与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的 参数集的参数集 ID, 或与待修改的参数集 ID的参数集类型的所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID; 所述第一获取模块具体用于:根据所述接收模块接收的所述 RTCP响应 中携带的与待修改的参数集 ID的参数集类型对应的原参数集 ID的偏移或与 待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参 数集 ID,或者根据与待修改的参数集 ID的参数集类型的原参数集 ID以及与 原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID ,从所述参数 集 ID修改信息中获取与所述待修改的参数集 ID的参数集类型对应的用于解 码 VCL NALU的参数集的参数集 ID。  The receiving module is further configured to: receive an RTCP response returned by the splicer, where the RTCP response carries an offset of an original parameter set ID corresponding to a parameter set type of a parameter set ID to be modified, or is to be modified a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID, or the original parameter set ID of the parameter set type of the parameter set ID to be modified, and the original parameter set ID a parameter set ID for decoding a parameter set of the VCL NALU; the first obtaining module is specifically configured to: correspond to a parameter set type of the parameter set ID to be modified carried in the RTCP response received by the receiving module The offset of the original parameter set ID or the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or the original according to the parameter set type of the parameter set ID to be modified a parameter set ID and a parameter set ID of a parameter set for decoding the VCL NALU corresponding to the original parameter set ID, and obtaining a parameter set from the parameter set ID modification information and the parameter set ID to be modified Type for the corresponding parameter set parameter set decoding VCL NALU's ID.
23、 如权利要求 19-21任一所述的装置,其特征在于,所述参数集 ID修 改信息还包括修改生效标志,  The device according to any one of claims 19-21, wherein the parameter set ID modification information further comprises a modification effective flag.
所述接收模块进一步用于,在接收第一视频码流和第一视频的参数集标 识修改消息之前,接收不生效的第一视频的参数集标识修改消息;  The receiving module is further configured to: before receiving the parameter set identification modification message of the first video code stream and the first video, receiving a parameter set identifier modification message of the first video that is not valid;
该装置进一步包括: 确定模块用于, 确定所述接收模块接收的所述不生 效的第一视频的参数集标识修改消息包含指示参数集 ID修改信息不生效的 标志信息;  The device further includes: determining, by the determining module, that the parameter set identifier modification message of the inactive first video received by the receiving module includes flag information indicating that the parameter set ID modification information is not valid;
发送模块, 用于向应用服务器发送第二媒体描述信息获取请求; 所述接收模块进一步用于:接收应用服务器返回的第二媒体描述信息获 取响应,所述第二媒体描述信息获取响应中携带第二视频参数集、 第一视频 的修改后的参数集,所述第一视频修改后的参数集中的参数集 ID为所述用于 解码 VCL NALU的参数集的参数集 ID。 a sending module, configured to send a second media description information acquisition request to the application server; the receiving module is further configured to: receive a second media description information acquisition response returned by the application server, where the second media description information acquisition response carries Two video parameter sets, the first video The modified parameter set, the parameter set ID of the first video modified parameter set is the parameter set ID of the parameter set for decoding the VCL NALU.
24、 如权利要求 18-23任一所述的装置,其特征在于,  24. Apparatus according to any of claims 18-23 wherein:
所述接收模块在所述第二获取模块根据所述用于解码 VCL NALU的参数 集的参数集 ID获取用于解码所述 VCL NALU的参数集之前,进一步用于通 过带外方式获取第一视频的修改后的参数集, 所述修改后的参数集中的参数 集 ID为用于解码 VCL NALU的参数集的参数集 ID;或  The receiving module is further configured to acquire the first video by using an outband manner before the second obtaining module acquires a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU. a modified parameter set, the parameter set ID of the modified parameter set is a parameter set ID of a parameter set for decoding the VCL NALU; or
所述接收模块在所述第二获取模块根据所述用于解码 VCL NALU的参数 集的参数集 ID获取用于解码所述 VCL NALU的参数集之前,进一步用于通 过带外方式获取第一视频的原参数集以及用于解码 VCL NALU的参数集的参 数集 ID; 根据所述用于解码 VCL NALU的参数集的参数集 ID修改所述原参 数集 ID。  The receiving module is further configured to acquire the first video by using an outband manner before the second obtaining module acquires a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU. The original parameter set and the parameter set ID of the parameter set for decoding the VCL NALU; the original parameter set ID is modified according to the parameter set ID of the parameter set for decoding the VCL NALU.
25、 如权利要求 18-24任一所述的装置,其特征在于,  25. Apparatus according to any of claims 18-24 wherein:
所述待修改的参数集 ID的参数集类型为 VCL NALU直接引用的参数集 类型;所述第一获取模块具体用于:获取所述接收模块接收的与所述 VCL NALU直接引用的参数集类型对应的用于解码 VCL NALU的的 VCL NALU 直接引用的参数集的参数集 ID,并在第二获取模块根据获取的用于解码 VCL NALU的 VCL NALU直接引用的参数集的参数集 ID获取所述第一视频码流 中 VCL NALU直接引用的参数集后,第一获取模块进一步从所述所述直接引 用的参数集中获取用于解码 VCL NALU的 VCL NALU间接引用的参数集的 参数集 ID;或  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU; the first obtaining module is specifically configured to: acquire a parameter set type that is directly referenced by the receiving module and the VCL NALU Corresponding parameter set ID of a parameter set directly used by the VCL NALU for decoding the VCL NALU, and obtained by the second obtaining module according to the parameter set ID of the parameter set directly referenced by the obtained VCL NALU for decoding the VCL NALU After the parameter set directly referenced by the VCL NALU in the first video bitstream, the first obtaining module further obtains, from the directly referenced parameter set, a parameter set ID of a parameter set for invoking the VCL NALU indirect reference of the VCL NALU; or
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型和所述 VCL NALU间接引用的参数集类型,所述第一获取模块具体 用于:分别根据所述第一视频的参数集 ID修改信息获取与所述 VCL NALU 直接引用的参数集类型对应的用于解码 VCL NALU的 VCL NALU的直接引 用的参数集的参数集 ID ,以及获取与所述 VCL NALU间接引用的参数集类 型对应的用于解码 VCL NALU的参数集的参数集 ID;  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU and a parameter set type indirectly referenced by the VCL NALU, and the first obtaining module is specifically configured to: according to the first The parameter set ID modification information of a video acquires a parameter set ID of a parameter set of a direct reference for decoding a VCL NALU of the VCL NALU corresponding to the parameter set type directly referenced by the VCL NALU, and obtains an indirect reference with the VCL NALU The parameter set ID of the parameter set corresponding to the parameter set type used to decode the VCL NALU;
所述第二获取模块具体用于:根据所述第一获取模块获取的直接引用的 参数集的参数集 ID以及间接引用的参数集的参数集 ID获取所述 VCL NALU 的直接引用的参数集以及所述 VCL NALU的间接引用的参数集; 所述解码输出模块具体用于:根据所述第二获取模块获取的所述 VCL NALU的直接引用的参数集以及所述 VCL NALU的间接引用的参数集解码所 述 VCL NALU ,并输出解码后的第一视频。 The second obtaining module is configured to: obtain a parameter set directly referenced by the VCL NALU according to a parameter set ID of the directly referenced parameter set acquired by the first obtaining module, and a parameter set ID of the indirectly referenced parameter set; a parameter set of the indirect reference of the VCL NALU; The decoding output module is specifically configured to: decode the VCL NALU according to a directly referenced parameter set of the VCL NALU acquired by the second obtaining module, and an indirectly referenced parameter set of the VCL NALU, and output the decoded The first video.
26、 一种数字视频码流的拼接装置,其特征在于,包括: 26. A splicing apparatus for a digital video code stream, comprising:
接收模块,用于从应用服务器接收第一视频码流的信息,所述第一视频 码流信息包括第一视频的参数集修改信息;  a receiving module, configured to receive information of a first video code stream from an application server, where the first video code stream information includes parameter set modification information of the first video;
发送模块,用于根据所述接收模块接收的所述第一视频参数集修改信息 向终端发送第一视频码流和第一视频的参数集标识修改消息, 所述第一视频 的参数集标识修改消息携带第一视频的参数集标识 ID修改信息,以便于终端 根据第一视频的参数集 ID修改信息获取用于解码网络抽象层单元的视频编 码层 VCL NALU的参数集的参数集 ID ,以及终端根据所述用于解码 VCL NALU的参数集的参数集 ID获取用于解码所述 VCL NALU的参数集,以及 终端根据所述用于解码 VCL NALU的参数集解码所述 VCL NALU ,并输出 解码后的第一视频。  a sending module, configured to send, according to the first video parameter set modification information received by the receiving module, a first video code stream and a parameter set identifier modification message of the first video, where the parameter set identifier of the first video is modified The message carries the parameter set identifier ID modification information of the first video, so that the terminal acquires the parameter set ID of the parameter set of the video coding layer VCL NALU for decoding the network abstraction layer unit according to the parameter set ID modification information of the first video, and the terminal Acquiring a parameter set for decoding the VCL NALU according to the parameter set ID of the parameter set for decoding the VCL NALU, and decoding, by the terminal, the VCL NALU according to the parameter set for decoding the VCL NALU, and outputting the decoded The first video.
27、 如权利要求 26所述的装置,其特征在于,第一视频的参数集 ID修 改信息为待修改的参数集 ID的参数集类型,  27. The apparatus according to claim 26, wherein the parameter set ID modification information of the first video is a parameter set type of the parameter set ID to be modified.
所述接收模块进一步用于接收终端发送的实时传输控制协议 RTCP请 求, 所述 RTCP请求包含所述待修改参数集 ID的参数集类型;  The receiving module is further configured to receive a real-time transmission control protocol RTCP request sent by the terminal, where the RTCP request includes a parameter set type of the parameter set ID to be modified;
所述发送模块进一步用于向终端返回 RTCP响应, 所述 RTCP响应中携 带与所述待修改的参数集 ID的参数集类型对应的原参数集 ID的偏移, 或携 带与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集 的参数集 ID, 或者携带与待修改的参数集 ID的参数集类型的所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID。  The sending module is further configured to: return an RTCP response to the terminal, where the RTCP response carries an offset of the original parameter set ID corresponding to the parameter set type of the parameter set ID to be modified, or carries a parameter set to be modified. a parameter set ID of a parameter set for decoding a VCL NALU corresponding to a parameter set type of the ID, or the original parameter set ID carrying a parameter set type of the parameter set ID to be modified and a corresponding to the original parameter set ID The parameter set ID of the parameter set used to decode the VCL NALU.
28、 如权利要求 26所述的装置,其特征在于,所述参数集 ID修改信息 包括待修改的参数集 ID的参数集类型和与所述待修改的参数集 ID的参数集 类型对应的原参数集 ID的偏移,或包括所述待修改的参数集 ID的参数集类 型和用于解码 VCL NALU的参数集的参数集 ID ,或包括待修改的参数集 ID 的参数集类型的所述原参数集 ID以及与所述原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID ,所述参数集 ID修改信息进一步包含修改 生效标志,所述发送模块向终端发送第一视频码流和第一视频的参数集标识 修改消息之前,进一步用于向终端发送所述第二视频码流的时发送不生效的 第一视频的参数集标识修改消息; The apparatus according to claim 26, wherein the parameter set ID modification information includes a parameter set type of the parameter set ID to be modified and an original corresponding to the parameter set type of the parameter set ID to be modified. The offset of the parameter set ID, or the parameter set type including the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU, or the parameter set type including the parameter set ID to be modified The original parameter set ID and the decoding corresponding to the original parameter set ID are used for decoding The parameter set ID of the parameter set of the VCL NALU, the parameter set ID modification information further includes a modification effective flag, and the sending module further uses the first video code stream and the parameter set identification modification message of the first video before transmitting to the terminal And sending, by the terminal, the parameter set identifier modification message of the first video that is not effective when the second video code stream is sent;
所述接收模块进一步用于接收终端发送的第二媒体描述信息获取请求; 所述发送模块进一步用于向终端返回第二媒体描述信息获取响应,所述 第二媒体描述信息获取响应中携带第一视频的修改后的参数集, 所述第一视 频的修改后的参数集中的参数集 ID为用于解码 VCL NALU的参数集的参数 集 ID。  The receiving module is further configured to receive a second media description information acquisition request sent by the terminal, where the sending module is further configured to return a second media description information acquisition response to the terminal, where the second media description information acquisition response carries the first The modified parameter set of the video, the parameter set ID of the modified parameter set of the first video is a parameter set ID of a parameter set for decoding the VCL NALU.
29、 如权利要求 26-28任一所述的装置,其特征在于,该装置进一步包 括:  29. Apparatus according to any of claims 26-28, wherein the apparatus further comprises:
生成模块,用于根据所述第一视频参数集修改信息生成第一视频的参数 集标识修改消息。  And a generating module, configured to generate a parameter set identifier modification message of the first video according to the first video parameter set modification information.
30、 数字视频码流的拼接装置,其特征在于,包括:  30. A splicing device for a digital video stream, characterized in that:
第一接收模块, 用于接收第一内容服务器发送的第一视频的媒体描述信 息, 所述第一视频的媒体描述信息携带第一视频的原参数集和第一视频的参 数集的类型及与各类型对应的参数集的原参数集 ID;  The first receiving module is configured to receive the media description information of the first video sent by the first content server, where the media description information of the first video carries the original parameter set of the first video and the type of the parameter set of the first video and The original parameter set ID of the parameter set corresponding to each type;
第二接收模块,用于接收第二内容服务器发送的第二视频的媒体描述信 息, 所述第二视频的媒体描述信息中携带第二视频的参数集、 第二视频参数 集的类型及与各类型对应的参数集的参数集 ID;  a second receiving module, configured to receive media description information of the second video sent by the second content server, where the media description information of the second video carries a parameter set of the second video, a type of the second video parameter set, and each The parameter set ID of the parameter set corresponding to the type;
确定模块, 用于确定同一类型的所述第一接收模块接收的第一视频的原 参数集 ID与所述第二接收模块接收的第二视频参数集 ID相同, 以及确定第 一视频的参数集标识修改信息;  a determining module, configured to determine that an original parameter set ID of the first video received by the first receiving module of the same type is the same as a second video parameter set ID received by the second receiving module, and determine a parameter set of the first video Identify the modification information;
发送模块, 用于向拼接器发送第一视频流的信息,所述第一视频码流的 信息包括第一视频的参数集修改信息,所述第一视频的参数集修改信息携带 在第一视频的参数集标识修改消息中,以便于拼接器将所述第一视频的参数 集标识修改消息发送给终端,以及以便于终端根据所述第一视频的参数集标 识修改消息解码并输出第一视频。  a sending module, configured to send information of the first video stream to the splicer, where the information of the first video code stream includes parameter set modification information of the first video, and the parameter set modification information of the first video is carried in the first video The parameter set identifier is modified in the message, so that the splicer sends the parameter set identification modification message of the first video to the terminal, and the terminal is configured to modify the message according to the parameter set identifier of the first video to decode and output the first video. .
31、 如权利要求 30所述的装置,其特征在于:该装置进一步包括: 修改模块,用于根据所述确定模块确定所述参数集标识修改信息将第一 视频的原参数集的原参数集 ID修改为用于解码网络抽象层单元的视频编码 层 VCL NALU的参数集的参数集 ID; The device of claim 30, wherein the device further comprises: a modifying module, configured to determine, according to the determining module, that the parameter set identification modification information is to be first The original parameter set ID of the original parameter set of the video is modified to a parameter set ID of a parameter set for decoding the video coding layer VCL NALU of the network abstraction layer unit;
所述发送模块进一步用于:向终端发送第一视频的修改后的参数集,修改 后参数集中的参数集 ID为所述用于解码 VCL NALU的参数集的参数集 ID;  The sending module is further configured to: send the modified parameter set of the first video to the terminal, where the parameter set ID in the modified parameter set is the parameter set ID of the parameter set used to decode the VCL NALU;
所述第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参 数集类型以及与待修改的参数集 ID的参数集类型对应的第一视频的原参数 集 ID的偏移, 或包含所述待修改的参数集 ID的参数集类型以及与待修改的 参数集 ID的参数集类型对应的用于解码 VCL NALU的参数集的参数集 ID , 或第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参数集类 型的与原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID;  The parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of an original parameter set ID of the first video corresponding to the parameter set type of the parameter set ID to be modified, Or a parameter set type including the parameter set ID to be modified and a parameter set ID for decoding a parameter set of the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identifier modification of the first video The message includes a parameter set ID of the parameter set type of the parameter set ID to be modified corresponding to the original parameter set ID for decoding the parameter set of the VCL NALU;
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型。  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU.
32、 如权利要求 31所述的装置,其特征在于:  32. Apparatus according to claim 31 wherein:
所述发送模块进一步用于: 向终端发送第一视频的原参数集以及与所述 原参数集 ID对应的用于解码 VCL NALU的参数集的参数集 ID,所述第一视频 的原参数集中携带所述原参数集 ID;  The sending module is further configured to: send, to the terminal, an original parameter set of the first video and a parameter set ID of the parameter set for decoding the VCL NALU corresponding to the original parameter set ID, where the original parameter of the first video is concentrated Carrying the original parameter set ID;
所述第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参 数集类型以及与待修改的参数集 ID的参数集类型对应的所述原参数集 ID的 偏移,或第一视频的参数集标识修改消息包含所述待修改的参数集 ID的参数 集类型以及与待修改的参数集 ID的参数集类型对应的用于解码 VCL NALU 的参数集的参数集 ID ,或第一视频的参数集标识修改消息包含所述待修改的 参数集 ID的参数集类型中的所述原参数集 ID以及与原参数集 ID对应的用于 解码 VCL NALU的参数集的参数集 ID;  The parameter set identification modification message of the first video includes a parameter set type of the parameter set ID to be modified and an offset of the original parameter set ID corresponding to a parameter set type of the parameter set ID to be modified, or The parameter set identification modification message of a video includes the parameter set type of the parameter set ID to be modified and the parameter set ID of the parameter set for decoding the VCL NALU corresponding to the parameter set type of the parameter set ID to be modified, or a parameter set identification modification message of a video, the original parameter set ID in a parameter set type of the parameter set ID to be modified, and a parameter set ID corresponding to the original parameter set ID for decoding a parameter set of the VCL NALU;
所述待修改的参数集 ID的参数集类型为所述 VCL NALU直接引用的参 数集类型,以及所述 VCL NALU间接引用的参数集类型。  The parameter set type of the parameter set ID to be modified is a parameter set type directly referenced by the VCL NALU, and a parameter set type indirectly referenced by the VCL NALU.
PCT/CN2012/082483 2012-09-29 2012-09-29 Digital video code stream decoding method, splicing method and apparatus WO2014047938A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2012/082483 WO2014047938A1 (en) 2012-09-29 2012-09-29 Digital video code stream decoding method, splicing method and apparatus
CN201280002009.5A CN103959796B (en) 2012-09-29 2012-09-29 The coding/decoding method joining method and device of digital video bit stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/082483 WO2014047938A1 (en) 2012-09-29 2012-09-29 Digital video code stream decoding method, splicing method and apparatus

Publications (1)

Publication Number Publication Date
WO2014047938A1 true WO2014047938A1 (en) 2014-04-03

Family

ID=50386903

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/082483 WO2014047938A1 (en) 2012-09-29 2012-09-29 Digital video code stream decoding method, splicing method and apparatus

Country Status (2)

Country Link
CN (1) CN103959796B (en)
WO (1) WO2014047938A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020239743A1 (en) * 2019-05-28 2020-12-03 Canon Kabushiki Kaisha Method and apparatus for encoding and decoding a video bitstream for merging regions of interest

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587478B (en) * 2017-09-29 2023-03-31 华为技术有限公司 Media information processing method and device
CN110248221A (en) * 2019-06-18 2019-09-17 北京物资学院 A kind of video ads dynamic insertion method and device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056169A (en) * 2002-07-16 2004-02-19 Matsushita Electric Ind Co Ltd Image data receiver, and image data transmitter
US20050254526A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
CN101453653A (en) * 2007-12-07 2009-06-10 中兴通讯股份有限公司 Method for spreading digital audio and video parameter set
CN101582908A (en) * 2009-06-30 2009-11-18 杭州华三通信技术有限公司 Parameter configuration method and equipment
CN101606389A (en) * 2007-01-08 2009-12-16 汤姆森特许公司 The method and the device that are used for video stream splicing
CN101663893A (en) * 2007-04-18 2010-03-03 汤姆森许可贸易公司 coding systems
WO2010122147A1 (en) * 2009-04-24 2010-10-28 Ge Healthcare Uk Limited Method and apparatus for multi-parameter data analysis
CN102577387A (en) * 2009-10-30 2012-07-11 松下电器产业株式会社 Decoding method, decoder apparatus, encoding method, and encoder apparatus
US20120230430A1 (en) * 2011-03-10 2012-09-13 Stephan Wenger Parameter Set Maintenance in Video Coding

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056169A (en) * 2002-07-16 2004-02-19 Matsushita Electric Ind Co Ltd Image data receiver, and image data transmitter
US20050254526A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
CN101606389A (en) * 2007-01-08 2009-12-16 汤姆森特许公司 The method and the device that are used for video stream splicing
CN101663893A (en) * 2007-04-18 2010-03-03 汤姆森许可贸易公司 coding systems
CN101453653A (en) * 2007-12-07 2009-06-10 中兴通讯股份有限公司 Method for spreading digital audio and video parameter set
WO2010122147A1 (en) * 2009-04-24 2010-10-28 Ge Healthcare Uk Limited Method and apparatus for multi-parameter data analysis
CN101582908A (en) * 2009-06-30 2009-11-18 杭州华三通信技术有限公司 Parameter configuration method and equipment
CN102577387A (en) * 2009-10-30 2012-07-11 松下电器产业株式会社 Decoding method, decoder apparatus, encoding method, and encoder apparatus
US20120230430A1 (en) * 2011-03-10 2012-09-13 Stephan Wenger Parameter Set Maintenance in Video Coding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020239743A1 (en) * 2019-05-28 2020-12-03 Canon Kabushiki Kaisha Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
US20220217355A1 (en) * 2019-05-28 2022-07-07 Canon Kabushiki Kaisha Method and apparatus for encoding and decoding a video bitstream for merging regions of interest

Also Published As

Publication number Publication date
CN103959796A (en) 2014-07-30
CN103959796B (en) 2017-11-17

Similar Documents

Publication Publication Date Title
US20230283863A1 (en) Retrieving and accessing segment chunks for media streaming
KR20180089341A (en) Interface apparatus and method for transmitting and receiving media data
CA3104173C (en) Method for signaling caption asset information and device for signaling caption asset information
JP6254291B2 (en) DASH robust live operation
CN112154672B (en) Method, device and readable storage medium for retrieving media data
WO2018187318A1 (en) Segment types as delimiters and addressable resource identifiers
CN116055781A (en) Dynamic conditional advertisement insertion
US9369508B2 (en) Method for transmitting a scalable HTTP stream for natural reproduction upon the occurrence of expression-switching during HTTP streaming
US20180176278A1 (en) Detecting and signaling new initialization segments during manifest-file-free media streaming
KR102549656B1 (en) System level signaling of SEI tracks for media data streaming
CN112771876B (en) Method and apparatus for retrieving media data and method and apparatus for transmitting media data
WO2014047938A1 (en) Digital video code stream decoding method, splicing method and apparatus
KR20240023037A (en) Real-time augmented reality communication session
CN116762346A (en) Background data traffic distribution of media data
TWI846795B (en) Multiple decoder interface for streamed media data
JP2024525323A (en) Real-time Augmented Reality Communication Sessions
TW202423095A (en) Automatic generation of video content in response to network interruption
Wenger et al. RFC 6190: RTP Payload Format for Scalable Video Coding
BR112016016434B1 (en) DYNAMIC ADAPTIVE TRANSMISSION METHOD OVER HTTP, DEVICE FOR RECEIVING, FROM A SERVER DEVICE, DATA RELATED TO DASH STREAMING MEDIA DATA, SIGNALING METHOD AND DEVICE

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: 12885922

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: 12885922

Country of ref document: EP

Kind code of ref document: A1