WO2018014546A1 - Method and device for processing video data - Google Patents

Method and device for processing video data Download PDF

Info

Publication number
WO2018014546A1
WO2018014546A1 PCT/CN2017/073662 CN2017073662W WO2018014546A1 WO 2018014546 A1 WO2018014546 A1 WO 2018014546A1 CN 2017073662 W CN2017073662 W CN 2017073662W WO 2018014546 A1 WO2018014546 A1 WO 2018014546A1
Authority
WO
WIPO (PCT)
Prior art keywords
segment
layer
layer segment
target knowledge
information
Prior art date
Application number
PCT/CN2017/073662
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 华为技术有限公司
Publication of WO2018014546A1 publication Critical patent/WO2018014546A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for processing video data.
  • some random access points are inserted in the encoded video.
  • the video is divided into a plurality of video segments with random access functions by a random access point, which is simply referred to as a random access segment.
  • an image in a random access segment can only be used as a reference picture/reference frame of other images in the random access segment (English: reference picture/reference frame), and inter prediction is not allowed across random access points. (English: Inter prediction), which greatly limits the efficiency of video encoding/decoding.
  • the encoder when encoding (or decoding) an image, the encoder (or decoder) can select from the database and the current encoded image (or Decoding an image) an image having similar texture content as a reference image, such a reference image is referred to as a knowledge base image, and a database storing the set of the reference images is referred to as a knowledge base, and at least one image in the video refers to at least one knowledge base image
  • LBVC knowledge-based video coding
  • Encoding a video sequence using LBVC produces a knowledge layer code stream containing the knowledge base image coded code stream and a sequence layer code stream containing the code stream encoded by the image reference knowledge base image of each frame of the video sequence.
  • the two code streams are respectively similar to the base layer code stream and the enhancement layer code stream generated by scalable video coding (SVC), that is, the sequence layer code stream depends on the knowledge layer code stream.
  • SVC scalable video coding
  • the dependency relationship between the LBVC dual code stream organization and the hierarchical code stream of the SVC hierarchical code stream organization is different.
  • the knowledge layer code stream is segmented to obtain multiple knowledge layer segments, and the sequence layer code is obtained. Stream segmentation yields multiple sequence layer segments.
  • Multiple discontinuous sequence layer segments in the sequence layer code stream may refer to the same knowledge layer segment.
  • the client decodes multiple sequence layer segments of the knowledge layer segment, the knowledge layer segment needs to be loaded, so the client decodes more.
  • the sequence layer segments only need to be loaded once for the knowledge layer segment, and the wireless repeats multiple times.
  • DASH dynamic adaptive streaming over HTTP
  • HTTP Hypertext Transfer Protocol
  • the application provides a method and a device for processing video data, which can avoid repeated transmission of video data, save bandwidth of data transmission, and improve applicability of video data processing.
  • the first aspect provides a method for processing video data, which may include:
  • the server acquires segment information of each sequence layer segment in all sequence layer segments in the code stream, and the segment information is used by the segment information Describe a dependency relationship between a sequence layer segment and a knowledge layer segment in the code stream;
  • N sequence layer segments and a first target knowledge layer segment according to the segment information of each sequence layer segment, wherein the N sequence layer segments are dependent on the first target knowledge layer segment, the N sequence layers
  • the segment includes at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream;
  • N sequence layer segments are encoded within a period indicated by the extended period information
  • the server may determine a knowledge layer segment that is dependent on at least two discontinuous sequence layer segments as a target knowledge layer segment, and add extended time period information in the MPD of the code stream to mark an extended period of the target knowledge layer segment.
  • the information is used for the client to distinguish between the target knowledge layer segment and the non-target knowledge layer segment, thereby avoiding repeated loading and transmission of the target knowledge layer segment, saving data transmission bandwidth, and enhancing the applicability of the video data processing.
  • the determining, by the segment information of each sequence layer segment, the N sequence layer segments and the first target knowledge layer segment includes:
  • the application can determine the knowledge layer segment dependent on the sequence layer segment according to the identifier carried in the segment information of the sequence layer segment, and further can determine the first target knowledge layer segment and the N sequence layer segments that depend on the first target knowledge layer segment, thereby improving The accuracy of the determination of the dependence of the knowledge layer segment and the sequence layer segment enhances the processing efficiency of the video data.
  • the N sequence layer segments include at least two packet sequence layer segments, and the at least two packets include at least a first time period Corresponding first sequence layer segment group and second sequence layer segment group corresponding to the second time period;
  • the first sequence layer segment group includes N1 sequence layer segments
  • the second sequence layer segment group includes N2 sequence layer segments
  • the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
  • the MPD of the code stream includes at least two description layers, a first description layer of the at least two description layers describes a first target knowledge layer segment, and a second description layer describes a sequence layer segment;
  • the adding the extended period information of the first target knowledge layer segment to the MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments includes:
  • the present application can determine a temporally consecutive sequence layer segment group and a temporally discontinuous sequence layer segment group included in the N sequence layer segments that depend on the first target knowledge layer segment, and determine the sequence layer segment group in different time periods. Further knot
  • the description layer included in the MPD of the combined stream describes the time series description feature of the knowledge layer segment.
  • the extended time period information corresponding to different time periods is added in the segment description corresponding to different time periods, the applicability of the extended time period information is improved, and the processing of the video data is increased. applicability.
  • the first extended period information and the second extended period information are both first extended identifiers
  • the adding extended period information of the first target knowledge layer segment in the MPD of the code stream includes:
  • the application can mark the target knowledge layer segment by adding the first extended identifier to the segment information of the knowledge layer segment, improve the accuracy of the mark of the target knowledge layer segment, and improve the recognition efficiency of the knowledge layer segment.
  • the first extended period information and the second extended period information are both second extended identifiers
  • the adding extended period information of the first target knowledge layer segment in the MPD of the code stream includes:
  • the present application adds a second extended identifier to the description layer attribute information describing the description layer of the knowledge layer segment to mark the target knowledge layer segment, improves the convenience of marking of the target knowledge layer segment segment, and enhances the target knowledge layer segment.
  • the applicability of tag addition is not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to,
  • the method further includes:
  • the MPD of the code stream further includes a third description layer, and the third description layer describes the second target knowledge layer segment.
  • the present application may describe the second target knowledge layer segment by using the third description layer when the sequence layer segment that depends on the second target knowledge layer segment is included in the N sequence layer segments, and the description accuracy of the target knowledge layer segment is enhanced. Improve the applicability of the processing of video data.
  • the method further includes:
  • third extended period information Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier;
  • the third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
  • the application may add a mark of the second target knowledge layer segment in the segment description included in the third description layer, or add a mark of the second target knowledge layer segment in the description layer attribute information of the third description layer, thereby improving the target knowledge.
  • the diversity of the marking method of the layer segment segment enhances the convenience of marking of the target knowledge layer segment, and enhances the applicability of the tag addition of the target knowledge layer segment.
  • the first extended identifier or the second extended identifier is a first character string
  • the first character string is used to describe that the first target knowledge layer segment or the second target knowledge layer segment has Extended time period of fixed length
  • the length of time of the extended period is a value corresponding to the first string.
  • the application can mark the target knowledge layer segment with the extended time period of the fixed time length by using the first character string, and the operation is simple, and the processing efficiency of the video data is improved.
  • the first extended identifier or the second extended identifier is a second string
  • the second character string is used to describe an extended time period of a variable time length possessed by the first target knowledge layer segment or the second target knowledge layer segment;
  • the length of time of the extended period is determined by fragment information of the target knowledge layer segment included in the MPD.
  • the application can mark the target knowledge layer segment with the extended time period of the variable time length by using the second character string, and the determination of the time length of the extended time period is determined by the segment information included in the MPD, and the mark form of the target knowledge layer segment is improved. Diversity enhances the applicability of video data processing.
  • the second aspect provides a method for processing video data, which may include:
  • the media expression description MPD of the code stream sent by the client parsing server determines the extended period information carried in the MPD, and the extended period information is used to determine a time-dependent period of the target knowledge layer segment included in the code stream.
  • the target knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream;
  • the time period of the target knowledge layer segment includes the on-demand time, view a storage state of the target knowledge layer segment in a storage space of the client, and determine the target knowledge layer segment according to the storage state How to get it.
  • the client of the application can obtain the extended time period information included in the MPD by parsing the MPD of the code stream sent by the server, determine the dependent time period of the target knowledge layer segment, and store the dependent time period and the target knowledge layer of the target knowledge layer segment.
  • the client may search for the dependent time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the dependent time period and its storage. status.
  • the client can determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, which can avoid multiple loading and storage of the same knowledge layer segment, save data transmission bandwidth, and improve the processing efficiency of the code stream data.
  • the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment corresponding to the first time period.
  • Group and second period Corresponding second sequence layer segment group;
  • the extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
  • the first extended period information is used to determine a first extended period of the dependent period of the target knowledge layer segment
  • the second extended period information is used to determine a first of the dependent periods of the target knowledge layer segment Two extended time slots.
  • the client may parse and acquire the first extended period information and the second extended period information included in the MPD of the code stream, and may further determine that the first extended period and the second extended period information corresponding to the first extended period information correspond to The second extended period of time can improve the determining efficiency of the extended period of the target knowledge layer segment.
  • the first extended period information and the second extended period information are first extended identifiers
  • the media expression description MPD of the code stream sent by the client parsing server determines that the extended time period information carried in the MPD includes:
  • the client parses the MPD, and acquires a first extended identifier that is included in the fragment information that is described by the description layer in the MPD;
  • Determining, according to the extended period information, the target knowledge layer segment includes:
  • the segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
  • the client may determine the target knowledge layer segment according to the first extended identifier, which may improve the recognition efficiency of the target knowledge layer segment, thereby improving the processing efficiency of the video data.
  • the first extended period information and the second extended period information are second extended identifiers
  • the media expression description MPD of the code stream sent by the client parsing server determines that the extended time period information carried in the MPD includes:
  • the client parses the MPD, and acquires a second extended identifier included in the description layer attribute information of the description layer included in the MPD;
  • Determining, according to the extended period information, the target knowledge layer segment includes:
  • the first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
  • the client may determine the target knowledge layer segment according to the second extended identifier, which may improve the recognition efficiency of the target knowledge layer segment, thereby improving the processing efficiency of the video data.
  • the determined time period of determining the target knowledge layer segment includes:
  • the client may determine the extended time period according to the extended time period information carried in the MPD of the code stream, determine the dependent time period of the target knowledge layer segment according to the determined extended time period, and mark the target knowledge layer segment by the dependent time period.
  • the recognition degree of the target knowledge layer segment is improved, and the operability of the management of the target knowledge layer segment is improved.
  • the recording the dependent time period and the network storage address of the target knowledge layer segment includes:
  • the method further includes:
  • the viewing the storage state of the target knowledge layer segment in the storage space of the client includes:
  • Determining, by the storing state, the acquiring manner of the target knowledge layer segment includes:
  • the client may store the stored status flag of the dependent time period of the target knowledge layer segment and the storage state of the target knowledge layer segment in the client, and then may receive the on-demand time carried in the on-demand request when receiving the request for the on-demand request.
  • Finding a target knowledge layer segment corresponding to the extended time period of the on-demand time, and determining whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or acquiring the target knowledge layer segment from the storage space the same knowledge can be avoided
  • Multiple loading and storage of layer fragments saves data transmission bandwidth and improves processing efficiency of code stream data.
  • the method further includes:
  • the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and recording the storage state flag of the target knowledge layer segment as true;
  • the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording the storage status flag of the target knowledge layer segment as true;
  • the time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
  • the client may update the storage state flag stored in the knowledge layer segment list of the target knowledge layer segment after receiving or deleting the target knowledge layer segment, thereby improving the management accuracy of the storage state of the target knowledge layer segment. Thereby, the accuracy of the management of the target knowledge layer segment is improved.
  • a third aspect provides a processing device for video data, which may include:
  • an acquiring unit configured to acquire segment information of each sequence layer segment in all sequence layer segments in the code stream, where the segment information is used to describe a dependency relationship between the sequence layer segment and the knowledge layer segment in the code stream;
  • a determining unit configured to determine, according to the segment information of each sequence layer segment acquired by the acquiring unit, N sequence layer segments and a first target knowledge layer segment, wherein the N sequence layer segments are dependent on the first a target knowledge layer segment, the N sequence layer segments include at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream;
  • the acquiring unit is further configured to acquire segment information of the first target knowledge layer segment determined by the determining unit;
  • An adding unit configured to add the first in the media expression description MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments acquired by the acquiring unit Extended period information of the target knowledge layer segment, the N sequence layer segments being encoded within a period indicated by the extended period information;
  • a sending unit configured to send the MPD of the code stream obtained by the adding unit to the client.
  • the determining unit is specifically configured to:
  • the N sequence layer segments include at least two packet sequence layer segments, and the at least two packets include at least a first time period Corresponding first sequence layer segment group and second sequence layer segment group corresponding to the second time period;
  • the first sequence layer segment group includes N1 sequence layer segments
  • the second sequence layer segment group includes N2 sequence layer segments
  • the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
  • the MPD of the code stream includes at least two description layers, a first description layer of the at least two description layers describes a first target knowledge layer segment, and a second description layer describes a sequence layer segment;
  • the adding unit is specifically used to:
  • the first extended period information and the second extended period information are both first extended identifiers
  • the adding unit is specifically used to:
  • the first extended period information and the second extended period information are both second extended identifiers
  • the adding unit is specifically used to:
  • the MPD of the code stream further includes a third description layer, the third description layer describing the second target knowledge layer segment.
  • the adding unit is further configured to:
  • third extended period information Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier;
  • the third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
  • the server may determine a knowledge layer segment that is dependent on at least two discontinuous sequence layer segments as a target knowledge layer segment, and add extended time period information in the MPD of the code stream to mark an extended period of the target knowledge layer segment.
  • the information is used for the client to distinguish between the target knowledge layer segment and the non-target knowledge layer segment, thereby avoiding repeated loading and transmission of the target knowledge layer segment, saving data transmission bandwidth, and enhancing the applicability of the video data processing.
  • a fourth aspect provides a processing device for video data, which may include:
  • a parsing unit configured to parse a media expression description MPD of the code stream sent by the server, and determine extended period information carried in the MPD, where the extended period information is used to determine that the target knowledge layer segment included in the code stream is dependent a period of time, the target knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream;
  • a determining unit configured to determine a target knowledge layer segment according to the extended time period information acquired by the parsing unit, and determine a dependent time period of the target knowledge layer segment, where the N sequence layer segments are in the target knowledge
  • the slice segment has been encoded within the time period of the dependency
  • a recording unit configured to acquire, from an MPD of the code stream parsed by the parsing unit, a network storage address of the target knowledge layer segment, and record a dependent time period of the target knowledge layer segment determined by the determining unit, and the Network storage address;
  • a determining unit configured to determine, when the video on demand request is obtained, whether an on-demand time carried in the video-on-demand request is included in a time-dependent period of the target knowledge layer segment recorded by the recording unit;
  • An obtaining unit configured to: when the determination result of the determining unit is yes, view a storage state of the target knowledge layer segment in a storage space of the client, and determine, according to the storage state, the target knowledge layer segment method of obtaining.
  • the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment corresponding to the first time period. a second sequence layer segment group corresponding to the group and the second time period;
  • the extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
  • the first extended period information is used to determine a first extended period of the dependent time period of the target knowledge layer segment
  • the second extended period information is used to determine a second extended period of the dependent time period of the target knowledge layer segment.
  • the first extended period information and the second extended period information are first extended identifiers
  • the parsing unit is specifically configured to:
  • the determining unit is specifically configured to:
  • the segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
  • the first extended period information and the second extended period information are second extended identifiers
  • the parsing unit is specifically configured to:
  • the determining unit is specifically configured to:
  • the first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
  • the determining unit is specifically configured to:
  • a union of the first extended period and the second extended period is taken as a dependent period of the target knowledge layer segment.
  • the recording unit is specifically configured to:
  • the recording unit is further configured to:
  • the obtaining unit is specifically configured to:
  • the acquiring unit is further configured to:
  • the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and using the recording unit to segment the target knowledge layer segment
  • the storage status flag is marked as true
  • the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording, by the recording unit, a storage status flag of the target knowledge layer segment as true;
  • the time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
  • the client may obtain the extended time period information included in the MPD by parsing the MPD of the code stream, determine the dependent time period of the target knowledge layer segment, and store the dependent time period and the target knowledge layer of the target knowledge layer segment.
  • the storage status flag of the storage state of the fragment in the client when receiving the request for the on-demand video of the user, the client may search for the extended time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the extended time period and the storage status flag thereof.
  • the client may determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or obtain the target knowledge layer segment from the local storage space, thereby avoiding multiple loading and storage of the same knowledge layer segment, and saving data transmission. Bandwidth, improve the processing efficiency of the stream data.
  • a fifth aspect provides a server, which can include: a memory and a processor, the storage being coupled to the processor;
  • the memory is for storing a set of program codes
  • the processor is configured to invoke a program code stored in the memory to execute a processing method of the video data as provided in the first aspect above.
  • a sixth aspect provides a client, which can include: a memory and a processor, the storage being connected to the processor;
  • the memory is for storing a set of program codes
  • the processor is configured to invoke a program code stored in the memory to execute a processing method of video data as provided in the second aspect above.
  • FIG. 1 is a schematic diagram of an example of a transmission framework of a system transmission scheme DASH standard
  • FIG. 2 is a schematic structural diagram of an MPD of a system transmission scheme DASH standard
  • 3 is a schematic diagram of mutually independent random access segments
  • FIG. 4 is a schematic diagram of a knowledge base encoding reference in a video encoding based on a knowledge base
  • 5 is a schematic diagram showing the relationship between a base layer code stream and an enhancement layer code stream of an SVC
  • FIG. 6 is a schematic diagram of an example of an MPD generated for an SVC code stream according to the DASH standard
  • FIG. 7 is a schematic diagram of a video data processing system according to an embodiment of the present invention.
  • FIG. 8 is a schematic flowchart of a method for processing video data according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic diagram of an MPD according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of adding an extended identifier based on a syntax element of a DASH standard
  • FIG. 13 is another schematic diagram of adding an extended identifier based on syntax elements of the DASH standard
  • FIG. 14 is a schematic diagram of extracting a knowledge base image from a video sequence by using an LBVC method
  • 15 is a schematic diagram of a knowledge base image segmented into knowledge layer segments
  • 16 is another schematic diagram of the knowledge base image being divided into knowledge layer segments
  • 17 is a schematic diagram of a knowledge layer fragment list
  • 18 is another schematic diagram of a knowledge layer fragment list
  • 19 is another schematic diagram of a knowledge layer fragment list
  • FIG. 20 is a schematic structural diagram of a video data processing apparatus according to an embodiment of the present invention.
  • 21 is another schematic structural diagram of a video data processing apparatus according to an embodiment of the present invention.
  • FIG. 22 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • FIG. 23 is a schematic structural diagram of a client according to an embodiment of the present invention.
  • FIG. 1 is a schematic diagram of a transmission framework of the system transmission scheme DASH standard.
  • the data transmission process of the system layer video streaming media transmission scheme includes two processes: a process in which a server (such as an HTTP server) generates media data for video content, and a client (such as an HTTP streaming media client) requests and obtains media data from a server. process.
  • a server such as an HTTP server
  • a client such as an HTTP streaming media client
  • the media expression on the server includes multiple description layers, and each description layer describes multiple segments.
  • the HTTP streaming request control module of the client obtains the media presentation description (MPD) sent by the server, and analyzes the MPD to determine the fragment to be requested, and requests the corresponding fragment from the server through the HTTP request receiving end, and passes the The media player performs decoding playback.
  • MPD media presentation description
  • the media generated by the server for the video content in the process of generating media data for the video content by the server includes different versions of the video stream and the MPD of the code stream for the same video content.
  • the server generates a low-resolution low-rate low frame rate (such as 360p resolution, 300kbps code rate, 15fps frame rate) for the video content of the same episode, and a medium-rate medium-rate high frame rate (such as 720p). Resolution, 1200 kbps, 25 fps frame rate, high resolution, high bit rate, high frame rate (such as 1080p resolution, 3000 kbps, 25 fps frame rate).
  • FIG. 2 is a schematic structural diagram of an MPD of a system transmission scheme DASH standard.
  • the MPD of the above code rate includes a plurality of description layers (English: Representation).
  • Each description layer describes one or more segments of the above code stream.
  • the description layers included in the MPD in the foregoing code stream may be independent of each other or may depend on each other.
  • each of the foregoing description layers is independent of each other, and the codec of each description layer does not refer to other description layers (for example, a description layer describing a knowledge layer segment, and the codec of the knowledge layer segment does not refer to other segments), and each description layer is between Interdependence means that the codec of each description layer needs to refer to other description layers (for example, a description layer describing a sequence layer fragment, and the codec of the sequence layer fragment needs to refer to the knowledge layer fragment).
  • Each description layer describes information of several segments (English: Segment) according to time series, such as initialization segments (English: Initialization segment), Media Segment1, Media Segment1, ..., Media Segment20, etc., all of which are connected end to end in time.
  • Each segment contains a video stream within a time period, and the description of the segment in the description layer includes a playback start time, a playback duration, and a network storage address (for example, a Uniform Resource Locator (URL). Fragment information such as the form of the network storage address).
  • a network storage address for example, a Uniform Resource Locator (URL).
  • Fragment information such as the form of the network storage address).
  • the segment is further allowed to be subdivided into a plurality of sub-segments (English: Subsegment), and each sub-segment includes a part of the segment, and the information of the sub-segment includes a playback start time, a playback duration, and a code of the sub-segment in the segment to which the sub-segment belongs.
  • the range of bytes in the stream (English: Byte Range) and so on.
  • the information of the above sub-segments is described by a segment index (English: Segment Index), each segment index describes information of all sub-segments in a segment; the segment index may be merged with the segment, stored at the beginning of the segment, or may be stored separately.
  • index fragment (English: Index Segment).
  • the client In the process of the client requesting and obtaining the media data from the server, when the user selects to play the video, the client obtains the MPD of the video code stream according to the operation request of the user's on-demand, and then according to the video segment described in the MPD of the code stream.
  • the information generates a list of fragments.
  • the above fragment list describes the playback period of each clip and the network storage address of the clip.
  • the client obtains the network storage address of the one or more segments from the segment list according to factors such as the playback time of the user's on-demand, and sends a request for downloading the video segment data corresponding to the network storage address to the server, and the server sends the request to the client according to the received request.
  • Video clip content After the client obtains the content of the video clip sent by the server, it can perform decoding, playback, and the like through the media player.
  • the system layer video streaming media transmission scheme adopts the DASH standard, and realizes the transmission of video data by analyzing the MPD by the client, requesting the video data to the server as needed, and receiving the data sent by the server.
  • the system layer video streaming media transmission scheme adopts the DASH standard and is mainly applied to a video stream generated by a conventional video encoding (for example, an encoding standard such as H.264, HEVC (High Efficiency Video Coding)).
  • a conventional video encoding for example, an encoding standard such as H.264, HEVC (High Efficiency Video Coding)
  • FIG. 3 is a schematic diagram of a plurality of mutually independent random access segments.
  • the dot represents a random access point
  • the square represents a random access segment after the random access point
  • the dotted arrow with an x symbol indicates that the random access segment pointed by the arrow cannot refer to the information of the random access segment starting from the dotted line when encoding. That is, in the conventional video codec technology, the image in a random access segment can only be made The reference image/reference frame of other images in the random access segment, that is, inter-prediction across random access points is not allowed, which greatly limits the efficiency of video encoding/decoding.
  • FIG. 4 is a schematic diagram of providing a coding reference for other random access segments by using one knowledge base in the video coding of the knowledge base.
  • the dot represents a random access point
  • the square represents a random access segment after the random access point
  • the arrow indicates that a plurality of random access segments are referenced by the information provided by the knowledge base (English: Library) at the time of encoding.
  • An image in a sequence layer code stream (called a sequence image) generated by encoding a video sequence by using a video encoding method based on a knowledge base has its corresponding time.
  • the sequence image When the sequence image is operated at the time, the time is called the sequence image. The moment of being operated.
  • the above operations include being encoded, decoded, played, or used.
  • the sequence image is used for playback in most cases, so the operation time of the sequence image below will be described by taking the playback time as an example.
  • the set of playing times of the sequence layer code stream is referred to as the playing period of the sequence layer code stream, and the operated time period of the sequence layer segment will be described by taking the playing time period as an example.
  • the knowledge base image can be encoded (or decoded, which will be described below by way of example) as an image of any playback time in the video sequence
  • the knowledge base image itself does not have the same playback time information as the sequence image.
  • the system layer transmission in order to obtain the dependence of the sequence layer code stream and the knowledge layer code stream through the time information (ie, the reference and the referenced relationship), the system allocates a dependent time period for each knowledge base image (English: Depended Duration) , DD).
  • the dependent time period of a knowledge base image covers at least the playing time of all the sequence images that depend on the above-mentioned knowledge base image, that is, the time-dependent period of a knowledge base image includes the playing of each sequence image with the knowledge base image as a coding reference. time. Therefore, when requesting the sequence layer code stream of a certain playing period, the client needs to simultaneously request the knowledge layer code stream of the playing period covered by the dependent period to ensure correct decoding of the video data by the media player.
  • the dual-stream organization of LBVC has certain similarities with the hierarchical code stream organization of SVC. However, since the dependencies between the hierarchical code streams are different in the two modes, that is, the reference relationship is different, the dual-stream for LBVC is required.
  • the characteristics of the organization mode improve the existing DASH system layer transmission scheme to determine the data transmission mode that can realize the data transmission corresponding to the code stream organization mode of LBVC and the advantage of LBVC.
  • SVC coding produces a scalable video code stream, the video code stream comprising a base layer code stream and at least one enhancement layer code stream.
  • FIG. 5 is a schematic diagram showing the relationship between the base layer code stream and the enhancement layer code stream of the SVC.
  • Each of the squares represents an image, and the arrows between the layers indicate that an image of the enhancement layer can only refer to the image at the same time in the base layer when encoding using Inter-Layer Prediction.
  • the DASH standard uses different description layers in the MPD to describe the information of the base layer code stream and the enhancement layer code stream, and the description layer indicating the enhancement layer code stream depends on the description of the base layer code stream.
  • FIG. 6 FIG.
  • FIG. 6 is a schematic diagram of an example of an MPD generated for an SVC code stream according to the DASH standard.
  • the DASH standard describes the characteristics of the two-layer code stream with dependency by the dep_id or the like in the description layer of the MPD. Among them, the id of Representation1 is rep1, and Representation2 is rep2.
  • the enhancement layer code stream and the base layer code stream are sliced into an enhancement layer segment and a base layer segment, and each segment contains data of one period in the code stream. Since the enhancement layer code stream can only refer to the base layer code stream that depends on the same moment, the period covered by the enhancement layer fragment and its dependent base layer fragment is uniformly aligned. That is, the period of the enhancement layer code stream corresponding to the enhancement layer fragment, and the period of the base layer code stream corresponding to the base layer fragment to which it depends, the start time and the end time of both periods are the same.
  • the client When requesting video data, the client requests an enhancement layer fragment of a certain period of time, and needs to simultaneously request one or more base layer fragments aligned with the period of the enhancement layer fragment, thereby ensuring that the enhancement layer fragment and its dependent base layer fragment coexist. And combining the two parts of the code stream into a code stream that meets the SVC decoding requirement and transmitting it to the client for decoding.
  • the SVC code stream includes a separate base layer code stream and at least one enhancement layer code stream. Assuming that there is only one enhancement layer code stream, an image in the enhancement layer code stream can only rely on the image at the same time in the base layer code stream when using inter-layer predictive coding.
  • the LBVC code stream includes at least one knowledge layer code stream (where at least one knowledge layer code stream is independent, one possible embodiment is that all knowledge layer code streams are independent) and at least one sequence layer code stream. Assuming that there is only one knowledge layer code stream and one sequence layer code stream, one image in the sequence layer code stream can rely on at least one knowledge base image in the knowledge layer code stream when encoding, that is, one image in the sequence layer code stream is When relying on the knowledge base image during encoding, at least one knowledge base image in the knowledge layer code stream can be used as a reference.
  • a knowledge base image in the knowledge layer code stream of the LBVC code stream is dependent on at least two images in the sequence layer code stream, and there may be other sequence layer segments between the sequence layer segments corresponding to the at least two images, ie These sequence layer segments that depend on the knowledge base image may be discontinuous in time.
  • the sequence layer code stream may also be independent of the knowledge layer code stream. If the sequence layer code stream depends on the knowledge layer code stream, the following implementation manner may be performed. The embodiment of the present invention does not limit the scenario in which the sequence layer code stream does not depend on the knowledge layer code stream.
  • the code stream is sliced and encapsulated into segments, and the difference between the SVC code stream and the LBVC code stream depends on the SVC code stream segmentation encapsulated segment and the LBVC code stream segmentation encapsulated segment dependency. There are also differences in relationships:
  • the enhancement layer code stream is sliced into enhancement layer segments, and the base layer code stream is sliced and encapsulated into a base layer segment.
  • the enhancement layer fragment can only rely on the same base layer fragment as its period, that is, the enhancement layer fragment of any period obtained by the enhancement layer code stream segmentation can only depend on the base layer of the period obtained by the base layer code stream segmentation. Fragment.
  • the sequence layer code stream is sliced into sequence layer segments, and the knowledge layer code stream is sliced and encapsulated into knowledge layer segments.
  • at least one sequence layer segment depends on at least one knowledge layer segment (ie, a sequence layer segment that depends on the knowledge layer segment in the LBVC code stream, and a sequence layer segment that does not depend on the knowledge layer segment. If the LBVC code stream stores the dependency in the stream
  • the sequence layer segment of the knowledge layer segment may be implemented according to an implementation manner provided by the embodiment of the present invention, which is not limited herein, and at least one knowledge layer segment is dependent on at least two sequence layer segments, and the at least two sequence layer segments are at least two sequence layer segments. There may be other sequence layer segments in between, ie the at least two sequence layer segments may be discontinuous two sequence layer segments.
  • the MPD can only describe the information of each fragment one by one according to the timing.
  • the knowledge layer segment is respectively dependent on the rules of the sequence layer segments that are referenced by the operation time period (exemplified by the playing time period), and the MPD needs to be discontinuous.
  • the sequence layer segment repeatedly describes the information of the same knowledge layer segment.
  • the client repeatedly requests the same knowledge layer segment while requesting the sequence layer segment separately, so that the corresponding knowledge layer code stream data is generated.
  • the download is downloaded, which seriously increases the transmission bit overhead.
  • the DASH standard describes the information of the sequence layer code stream and the knowledge layer code stream.
  • the knowledge layer segment K to which it depends is described for the sequence layer segments S1 and S2, respectively, and the knowledge layer segments have playback periods T1 and T2, respectively.
  • the client requests and acquires the sequence layer segment S1 and the knowledge layer segment K in the T1 period and transmits it to the player for decoding.
  • the client requests and acquires the sequence layer segment S2 during the T2 period, and requests and acquires the knowledge layer again.
  • Fragment K causes the knowledge layer fragment K to be downloaded twice repeatedly, wasting transmission bandwidth. Therefore, although the DASH standard can normally transmit the code stream of the knowledge base-based video encoding, since the knowledge layer segment is repeatedly downloaded, the transmission bandwidth is wasted, and the coding efficiency of the knowledge base-based video coding is not fully utilized.
  • a LBVC coded sequence layer image may rely on multiple knowledge base images, ie, one sequence layer segment may rely on multiple knowledge layer segments. It is assumed that the sequence layer segment S1 depends on the knowledge base images P1, P2, P5, the sequence layer segment S2 depends on the knowledge base images P1, P3, and the sequence layer segment S3 depends on the knowledge base images P2, P4, P5. Since the DASH standard needs to ensure the timing of the segments when segmenting the code stream, the segments corresponding to the knowledge base image will have the same playback time.
  • K1 to K5 are divided into five segments, since K1, K2, and K5 are S1 depends, and their playing time is the same.
  • K1, K2, and K5 cannot be described in a description layer in time series, and K1, K2, and K5 can be described in only three description layers. If the MPD uses only one description layer, the DASH standard can only splicing the code streams encoded by the knowledge base images P1, P2, P3, P4, and P5 into three knowledge layer segments K1 (including the knowledge base images P1, P2).
  • the existing DASH-compliant client (hereinafter referred to as the DASH client) generates a segment list according to the MPD, records the network storage address of the segment and its corresponding playing period, and then according to The playback time of the user's on-demand selects the segment in which the playback period covers the playback time (ie, the playback period includes the segment of the playback period), and sends a request for the segment to the server.
  • the client requests both the base layer fragment and the enhancement layer fragment to ensure that the SVC code stream can be decoded normally.
  • the DASH client can simply cache a segment of a playback period (including a base layer segment and an enhancement layer segment), and decode and play the segment during the playback period. After the playback period, the segment is cleared or no longer used.
  • the knowledge layer segment is dependent on the sequence layer segments of the multiple discontinuous playback periods, if the existing DASH client is used to request the LBVC code stream from the server, the DASH client will separately request each broadcast period. Different sequence layer fragments and the same knowledge layer fragment they depend on cause a knowledge layer fragment to be downloaded repeatedly, which wastes transmission bandwidth.
  • the DASH client requests the sequence layer segment S1 and the knowledge layer segment K during the first play period. After the player correctly decodes the sequence layer segment S1 during the playing period, the DASH client no longer manages the knowledge layer segment K, or directly clears the knowledge layer segment K in the cache. In the third play period, the DASH client requests the sequence layer segment S3 and requests the knowledge layer segment K again. Similarly, after the player correctly decodes the sequence layer segment S3 during the playing period, the DASH client no longer manages the knowledge layer segment K, or directly clears the knowledge layer segment K in the cache.
  • the DASH client also requests the knowledge layer segment K.
  • the knowledge layer fragment K should be used three times by the client and downloaded only once, but the existing DASH client's request mechanism causes the same knowledge layer fragment K to be repeatedly requested and downloaded three times, wasting transmission bandwidth.
  • the embodiment of the present invention provides a method and a device for processing video data according to the existing The processing method of video data in the DASH standard of the system layer transmission scheme has been improved.
  • the method and apparatus for processing video data provided by the embodiments of the present invention will be specifically described below with reference to FIG. 7 to FIG.
  • FIG. 7 is a schematic diagram of a video data processing system according to an embodiment of the present invention.
  • the processing system provided by the embodiment of the present invention includes: a server and a client.
  • the server prepares the related media content of the video data. Specifically, the server may generate the media content by using the media content generating unit included therein, and then generate the MPD of the media content by using the media content description unit, and then the media content may be obtained through the content storage unit.
  • the MPD is stored in the specified storage space.
  • the server may also transmit the media content and the MPD to the client via the HTTP response service unit in response to the client's request.
  • the client can request and obtain relevant media content of the video data from the server and process the received media content.
  • the client may request the media content and the MPD from the server through the HTTP request client unit, and parse the MPD transmitted by the server through the media expression description parsing unit to determine the sequence layer segment and the knowledge layer segment and the like that need to be requested.
  • the client may trigger the HTTP request client unit to request the sequence layer segment and other related data from the server through the media request control unit, or trigger the knowledge library storage management unit to acquire the knowledge layer segment and the like data from the knowledge base through the media request control unit, and further
  • the acquired sequence layer segment and its dependent knowledge layer segment may be transmitted to the media playing unit for decoding, playing, and the like.
  • the processing system composed of the above server and client can realize the operations of generating, storing, transmitting and decoding complete media content.
  • the above-mentioned server and client can perform various implementations described in the embodiments of the present invention through various modules built therein, and any part of the operations performed by the server and the client can be separately used as the processing system under different working states. An embodiment.
  • FIG. 8 is a schematic flowchart diagram of a method for processing video data according to an embodiment of the present invention.
  • the method provided by the embodiment of the present invention includes the following steps:
  • the server acquires segment information of each sequence layer segment in all sequence layer segments in the code stream.
  • the segment information is used to describe a dependency relationship between a sequence layer segment and a knowledge layer segment in the code stream.
  • the server may use the LBVC method to encode the video content, and generate a sequence layer code stream and a knowledge layer code stream corresponding to the independent or interdependent video content, and then the sequence layer code stream may be sliced into sequence layer segments, and the knowledge layer code stream is cut. Divided into knowledge layer fragments.
  • the server may extract and extract the knowledge base image from the video content, as shown in FIG. 14 .
  • FIG. 14 is a schematic diagram of extracting a knowledge base image from a video sequence by using the LBVC method. At least one sequence image (SP) depends on a knowledge base image (LB).
  • the sequence image SP1 depends on the knowledge base images LB1, LB2, LB3, and LB5.
  • the server can separately encode the sequence image and the knowledge base image to obtain a sequence layer code stream and a knowledge layer code stream. Further, the code stream can be sliced into segments, wherein at least one sequence layer segment depends on at least one knowledge layer segment, and one knowledge layer segment includes at least one knowledge base image.
  • FIG. 15 is a schematic diagram of the knowledge base image being divided into knowledge layer segments.
  • Each of the knowledge base images LB is divided into a knowledge layer segment K
  • each sequence layer image (SP) is divided into a sequence layer segment (S).
  • the sequence layer segment S depends on the knowledge layer segment K, for example, the sequence layer segment S1 depends on the knowledge layer segments K1, K3 and K5. Each sequence layer segment has a play period, and each knowledge layer segment has a dependent time period.
  • FIG. 16 is another schematic diagram of the knowledge base image being divided into knowledge layer segments.
  • the knowledge base images with the same time-dependent period may be merged into one knowledge layer segment.
  • the sequence layer segment S1 depends on the knowledge layer segments K1 and K2, wherein the dependent periods of LB1 and LB2 are the same, and then divided into one knowledge.
  • the layer segments K1, LB3 and LB5 are equally divided into time segments and can be further divided into the same knowledge layer segment K2.
  • the specific implementation manner of the server to segment the sequence layer code stream and the knowledge layer code stream can be further described in the SVC-DASH standard, and details are not described herein.
  • the dependency between the sequence layer segment and the knowledge layer segment in the code stream may be represented by an identifier such as dep_id.
  • S102 Determine, according to the segment information of each sequence layer segment, N sequence layer segments and a first target knowledge layer segment.
  • the target knowledge layer segment is a knowledge layer segment that is dependent on at least two sequence layer segments. It should be noted that, in the LBVC code stream, the knowledge layer segment that is dependent on at least two discontinuous sequence layer segments may be one or more, and the embodiment of the present invention uses one of the segments as the target knowledge layer segment as an example for description. .
  • the server may select one of the one or more sequence layer segments that are dependent on the at least two sequence layer segments as the target knowledge layer segment, and the subsequent operations corresponding to the other knowledge layer segments may refer to the target knowledge layer.
  • the operation corresponding to the segment is not described below.
  • the sequence layer segment that depends on the target knowledge layer segment may be determined as the N sequence layer segments of the target knowledge layer segment. Where N is greater than or An integer equal to 2.
  • the knowledge layer segment may be determined as the first target knowledge layer segment, if one or more of the N sequence layer segments are The fragment also depends on another knowledge layer fragment, and the other knowledge layer fragment can be marked as the second target knowledge layer fragment. Specifically, it can be determined according to the time application scenario, and no limitation is imposed here.
  • the existing DASH standard cannot tell the client at the playback period of the target knowledge layer segment.
  • the above-mentioned target knowledge layer segment is still used, it is possible to no longer manage the above-mentioned target knowledge layer segment or delete the target knowledge layer segment prematurely outside the playing period, and then need to repeat outside the playing period. Request the target knowledge layer fragment.
  • the present invention introduces another time period information of the knowledge layer segment different from the playing period of the knowledge layer segment, an extended duration (ED), and can describe the knowledge layer segment through the MPD corresponding to the LBVC code stream.
  • ED extended duration
  • Extended time period information indicates that the target knowledge layer segment is not only used in its corresponding playing period, but may also be used in other time periods (for example, for providing codec reference, analysis, or playback, etc.), and therefore needs to be additionally stored. Keep a certain amount of time.
  • the client When the client recognizes that a segment has extended period information from the MPD, the client can know that the segment is a target knowledge layer segment. Alternatively, when the client identifies the description layer attribute information of the description layer from the MPD and carries the extended period information, the fragment described by the description layer may be determined as the target knowledge layer fragment. Further, the client may store the foregoing target knowledge layer segment for use in other time periods, thereby avoiding multiple transmissions of the same knowledge layer segment and avoiding waste of transmission bandwidth.
  • the segment information of the knowledge layer segment of the LBVC code stream and the segment information of the sequence layer segment may be first acquired.
  • the LBVC code stream may include one or more knowledge layer segments, and the LBVC code stream may include two or more sequence layer segments.
  • the sequence layer segment in the LBVC code stream may be encoded by referring to at least one knowledge layer segment, that is, the sequence layer segment encoded by the reference knowledge layer segment in the LBVC code stream depends on at least one knowledge layer segment.
  • the sequence layer segment in the LBVC code stream may also be an independent segment, that is, the sequence layer segment in the LBVC code stream may also be independent of the knowledge layer segment.
  • the embodiment of the present invention describes a method for processing video data in a scenario in which a sequence layer segment in a LBVC code stream depends on a knowledge layer segment, and a scenario in which a sequence layer segment in the LBVC code stream does not depend on a knowledge layer segment is not limited.
  • FIG. 9 is a schematic diagram of a fragment of video content generated by LBVC.
  • the segment generated by the LBVC includes sequence layer segments S1 to S8 and knowledge layer segments K1 to K4.
  • the server can obtain the segment information of the above S1 to S8 and the segment information of K1 to K4.
  • S1 ⁇ S8 are the serially consecutive 8 sequences
  • S1 and S3 are temporally discontinuous sequence layer segments (separated by S2), and so on can determine the continuity between each sequence layer segment. Discontinuous relationship.
  • K1 depends on K1 and K2
  • S2 depends on K1 and K3
  • S3 depends on K1 and K4
  • S4 depends on K2 and K4
  • S5 depends on K3
  • S6 depends on K1 and K3
  • S7 depends on K3, and S8 depends on K3.
  • K1 is S1, S2, S3 and S6 Dependent, wherein S1, S2, and S3 are consecutive segments, and S6 is discontinuous with S1, S2, and S3.
  • K2 is dependent on S1 and S4, where S1 and S4 are discontinuous segments.
  • K3 is dependent on S2, S5, S6, and S7, where S5, S6, and S7 are consecutive segments, and S2 is a discontinuous segment of S5, S6, and S7.
  • K4 is dependent on S3 and S4. As shown in FIG.
  • each sequence layer segment in S1 to S8 depends on at least one knowledge layer segment, and each sequence layer segment has a playback period (English: Presentation Duration, PD), and S1 to S8 correspond to PD1 to PD8.
  • At least one of the knowledge layer segments K1 to K4 is dependent on at least two discontinuous sequence layer segments, for example, K1, K2 or K3, and the above K1, K2 and K3 can be determined as target knowledge layer segments.
  • S1, S2, S3, and S6 are N sequence layer segments that depend on K2, and N is 4 at this time.
  • the N sequence layer segments comprise two grouped sequence layer segments including a first sequence layer segment group and a second sequence layer segment group.
  • the first sequence layer segment set contains three consecutive sequence layer segments, namely S1, S2 and S3.
  • the second sequence layer segment set contains one sequence layer segment, namely S6.
  • the first sequence layer segment group corresponds to the first time period
  • the first time period is the intersection of the playing periods of S1, S2, and S3
  • the second sequence layer group group corresponds to the second time period
  • the second time period is the playing period of S6.
  • each knowledge layer segment has a dependent time period (ie, DD), and the DD of the target knowledge layer segment that is dependent on at least two discontinuous sequence layer segments is composed of at least two EDs, wherein each The ED covers the PD of one or more sequence layer segments.
  • K1 is dependent on S1, S2, S3, and S6, and the dependent period DD1 of K1 is composed of DD1-1 and DD1-2, that is, DD1 is a set of DD1-1 and DD1-2.
  • DD1-1 covers PDs of S1, S1, and SD3 (ie, DD1-1 covers PD1, PD2, and PD3)
  • DD1-2 covers PDs of S6 (ie, PD6).
  • the PD of the ED covering one or more sequence layer segments indicates that PDs of one or more sequence layer segments fall on the ED, that is, the ED includes PDs of one or more sequence layer segments.
  • the PD of S1 is 00:00 to 00:59
  • the PD of S2 is 01:00 to 01:59
  • the PD of S3 is 02:00 to 02:59
  • DD1-1 is at least 00:00 to 02. :59. It can be determined according to the actual application scenario, and no limitation is imposed here.
  • the segment information of each knowledge layer segment and the segment information of each sequence layer segment may be acquired.
  • the fragment information of the knowledge layer may further include information such as a network storage address of the knowledge layer segment, a play period, and a time period of the knowledge layer segment, which may be determined according to actual application requirements, and is not limited herein.
  • the segment information of the sequence layer includes information such as a network storage address of the sequence layer segment, a play period, and an identifier of the knowledge layer segment on which the sequence layer segment depends, and may be determined according to an actual application scenario, and is not limited herein.
  • the server may be determined that each knowledge layer segment is dependent on the sequence layer segment.
  • the target knowledge layer fragment can be determined. For the determination of the target knowledge layer segment, refer to the foregoing description, and details are not described herein again.
  • the server determines the target knowledge layer segment and its corresponding N sequence layer segments, the extended time period information of the target knowledge layer segment may be added to the MPD of the code stream.
  • the server may determine the number of extended periods of the target knowledge layer segment (ie, how many sequence layer segment groups the target knowledge layer segment is dependent on), and the length of each extended period (ie, each sequence included in each sequence layer segment group) The length of time during which the playback period of the layer segment is superimposed, etc., thereby adding extended time period information to the target knowledge layer segment.
  • the dependent time period of the target knowledge layer segment may be determined according to the extended period information of the target knowledge layer segment.
  • the dependent time period of the target knowledge layer segment includes at least one extended time period.
  • the method and the device for processing the code stream data provided by the embodiment of the present invention are applicable to a scenario in which the time-dependent period of the target knowledge layer segment is an extended period, and is not limited herein.
  • the dependent time period of the target knowledge layer segment includes at least two extended time periods as an example. Two extended time slots can be described as an example.
  • the MPD of the code stream carries extended period information of the target knowledge layer segment.
  • the extended period information of the target knowledge layer segment may be specifically a first extended identifier or a second extended identifier.
  • the MPD of the code stream includes at least two description layers.
  • the codec of at least one of the description layers included in the above MPD does not refer to other description layers (hereinafter referred to as independent description layers), and the above independent description layer is used to describe the knowledge layer fragments.
  • the codec of at least one of the description layers included in the above MPD refers to other description layers for describing sequence layer segments that depend on the knowledge layer segment.
  • each of the N sequence layer segments that depend on the target knowledge layer segment depends only on the target knowledge layer segment (set as the first target knowledge layer segment, for example, K1 above), then an independent The description layer (set as the first description layer) describes the first target knowledge layer segment.
  • a description layer (setting the second description layer) describes N sequence layer segments, wherein the codec of the second description layer refers to the first description layer. If the N1 sequence layer segments (eg, S1 above) that depend on the N sequence layer segments of the first target knowledge layer segment also depend on another target knowledge layer segment (set as the second target knowledge layer segment, such as K2), then A separate description layer (set as the third description layer) is used to describe the second target knowledge layer segment.
  • FIG. 10 is a schematic diagram of an MPD according to an embodiment of the present invention.
  • the server describes the information of the knowledge layer fragments in two separate description layers, and describes the information of the sequence layer fragments in a description layer that depends on the above two description layers.
  • the server may generate an MPD including three description layers according to the segment information of the knowledge layer segment and the segment information of the sequence layer segment.
  • the description layer 1 (such as the second description layer) is used to describe the sequence layer fragment information
  • the description layer 2 such as the first description layer
  • the description layer 3 such as the third description layer
  • the description of the knowledge layer segment information may all be the target knowledge layer segments (the target knowledge layer segments contained therein may also be determined according to time, which is not limited herein).
  • each sequence layer segment corresponds to one PD.
  • the DD of each target knowledge layer segment may be described by one or more EDs of each target knowledge layer segment when the segment information of the knowledge layer segment is described in the description layer 2 and the description layer 3.
  • the LBVC code stream allows one sequence layer segment to simultaneously depend on multiple knowledge layer segments (set as the first target knowledge layer segment and the second target knowledge layer segment), that is, the first target knowledge layer segment and the second target knowledge layer segment
  • the dependent time periods can be covered by each other.
  • the existing SVC-DASH standard describes a segment in a description layer, it is required that the time periods of the segments cannot be overlapped with each other, and therefore the description layer in the SVC-DASH standard cannot be used to describe the knowledge layer segment using only one description layer. As shown in FIG.
  • the embodiment of the present invention uses multiple independent description layers to describe the information of the knowledge layer segment corresponding to the knowledge layer code stream, and each The discontinuous time-dependent segments of the target knowledge layer segments are split into a plurality of extended time periods, and the target knowledge layer segments are described in the plurality of description layers according to the extended time period, for example, the DD of K1 can be described by describing the ED1 and the description layer in layer 2. Description of ED7 in 3. At the same time, it is ensured that the extension periods of the target knowledge layer segments in each description layer do not overlap each other.
  • the server may describe K1, K2, and K3 in a description layer (such as description layer 2) in time series, and may also describe K2, K3, K4, and K1 in time series in another description layer (such as description layer 3).
  • the extended periods of the target knowledge layer segments described by the description layer do not overlap each other. In this way, the server can correctly describe the dependent time period of the target knowledge layer segment in the MPD, and does not repeatedly store the same target knowledge layer segment when one sequence layer segment simultaneously depends on multiple target knowledge layer segments, thereby avoiding storage. The waste of space.
  • the extended period information may be specifically an extended identifier (set as the first extended identifier) for marking the target knowledge layer segment or an extended flag (set as the second extended identifier) of the application marking description layer.
  • the first extended identifier or the second extended identifier may be used to determine detailed information such as a start time of the extended period and a length of the extended period.
  • the extended time period is used to indicate that the target knowledge layer segment that the client has the extended time period is used in the playback period of the currently processed sequence layer segment that depends on the target knowledge layer segment, and is also in other sequence layers that depend on the target knowledge layer segment.
  • the clip is used during the playback period.
  • the foregoing first extended identifier for marking the target knowledge layer segment may be added to the segment information of the target knowledge layer segment as an attribute of the knowledge layer segment.
  • the first extended identifier may be added to the first fragment description included in the first description layer (and the third description layer) of the MPD, where the first fragment is described as a fragment of the target knowledge layer segment corresponding to the first time period. Description of the information.
  • the first extended identifier may also be added to the second fragment description included in the first description layer (and the third description layer) of the MPD, where the second fragment is described as fragment information of the target knowledge layer segment corresponding to the second time period. description.
  • the target knowledge layer segment carrying the first extended identifier has one or more extended time periods, and the first time period and the second time period respectively correspond to one extended time period. For details, refer to the foregoing description, and details are not described herein again.
  • the client parses the segment information of the target knowledge layer segment, if the first extended identifier is obtained, the segment may be determined as the target knowledge layer segment.
  • the foregoing second extended identifier for marking the description layer may be added in the description layer attribute information of the description layer as an attribute of the description layer.
  • a second extended identifier corresponding to the first time period and a second extended identifier corresponding to the second time period may be added to the description layer attribute information of the first description layer (and the third description layer).
  • the one or more or all of the segments described in the description layer carrying the second extended identifier are target knowledge layer segments.
  • Each of the target knowledge layer segments described by the description layer carrying the second extended identifier has one or more extended time periods, where the first time period and the second time period respectively correspond to one extended time period. For details, refer to the foregoing description. No longer.
  • the description layer attribute information of the description layer in the MPD may be obtained. If the description layer attribute information of the description layer includes the second extension identifier, the segment description description segment may include the target knowledge. Layer fragment. After the client determines that the segment of the description layer includes the target knowledge layer segment, the target knowledge layer segment may be determined according to the specific segment information, or the segment described by the description layer may be determined as the target knowledge layer segment, which may be determined according to the actual application scenario. Ok, I won't go into details here.
  • the server may add the extended period information of the knowledge layer segment according to any one of the foregoing implementation manners according to the requirements of the actual application scenario, and is not limited herein.
  • the implementation manner that the server uses the extension identifier to mark the extension period information of the knowledge layer segment in the MPD may include any one of the following:
  • the first extended identifier and the second extended identifier may be the first character string (for example, ExtDuration).
  • the first extended identifier and the second extended identifier may be collectively referred to as an extended identifier.
  • the server may add the first character string as an extended identifier on the basis of the syntax elements of the existing DASH standard, and describe the target knowledge layer segment (including the target knowledge layer segment carrying the extended identifier, or the description layer description carrying the extended identifier).
  • the target knowledge layer segment has an extended time period of fixed length.
  • FIG. 11 is a schematic diagram of adding an extended identifier based on syntax elements of the DASH standard.
  • the ExtDuration describes the extended time period of the fixed time length
  • the ExtSegmentTimeLine describes the extended time period of the variable time length.
  • one of the syntax elements may be selected according to the actual application scenario.
  • Figure 11 The upper part is an extensible mark-up language (XML) syntax table, and the following part is an application example.
  • the syntax element ExtDuration is used to describe the extended time period of a fixed length of time.
  • the extended period of the target knowledge layer segment may be acquired according to the syntax element ExtDuration and the segment information of the target knowledge layer segment, including information such as a start time of the extended time period and a length of the extended time period.
  • the length value of the extended period of the target knowledge layer segment is the same as the value corresponding to the ExtDuration.
  • the syntax element Duration can also be used to describe a fixed time length of the play period, which is not limited herein.
  • the server uses the syntax element ExtDuration to describe the extended time period of the fixed time length
  • the starting time of the extended time period may be calculated by the time length of all the knowledge layer segments before the target knowledge layer segment, and the specific knowledge of the target knowledge layer segment before.
  • the number of layer segments can be determined by the segment information of the target knowledge layer segment.
  • the first extended identifier and the second extended identifier may be the second string (for example, ExtSegmentTimeLine).
  • the first extended identifier and the second extended identifier may be collectively referred to as an extended identifier.
  • the server may add a second character string as an extended identifier on the basis of the syntax elements of the existing DASH standard, and describe the target knowledge layer segment (including the target knowledge layer segment carrying the extended identifier, or the description layer description carrying the extended identifier).
  • the target knowledge layer segment has an extended time period of variable length.
  • the syntax may be used.
  • the element ExtSegmentTimeLine describes the extended period of the target knowledge layer segment.
  • the syntax element ExtSegmentTimeLine is used to describe the extended time period of the variable time length.
  • the extended period of the target knowledge layer segment may be acquired according to the syntax element ExtDuration, including information such as a start time of the extended period and a length of the extended period.
  • the syntax element ExtSegmentTimeLine indicates that information for describing the start time of the extended period and the length of the extended period is stored in the MPD.
  • the information about the start time and the length of the extended time period may be determined by the codec standard used by the server, and may be determined according to the actual application scenario, and is not limited herein.
  • the server can also use the syntax element SegmentTimeLine to describe the playing time of the variable length of time, which is not limited herein.
  • the server may add a syntax element Extended as an extension identifier (ie, a second extension identifier) for marking the description layer based on the syntax elements of the existing DASH standard.
  • the foregoing extension identifier is used to identify at least one of the segments described in the description layer as a target knowledge layer segment.
  • FIG. 12 is another schematic diagram of adding an extended identifier based on syntax elements of the DASH standard. The above part is the XML syntax table, and the following part is the application example.
  • the server may add a syntax element ExtSegment as an extension identifier (ie, a second extension identifier) for marking the description layer based on the syntax elements of the existing DASH standard.
  • the foregoing extension identifier is used to identify at least one of the segments described in the description layer as a target knowledge layer segment.
  • FIG. 13 is another schematic diagram of adding an extended identifier based on syntax elements of the DASH standard.
  • the above figure is an XML syntax table, and the following figure is an application example.
  • the ExtSegment is an extended period that describes at least one target knowledge layer segment in the description layer that carries the extended identifier. The ExtSegment is not true.
  • the group fragment) is a sequence layer fragment.
  • the extended identifier when the server generates the MPD of the LBVC code stream, the extended identifier may be added by using any one of the foregoing four implementation manners, and the description may be used to describe the knowledge according to the characteristics of the extended time period. The number of independent description layers of the layer segments.
  • the dependent time period of the target knowledge layer segment is composed of at least one extended time period, each extended time period is one continuous time period, and the case that the extended time period is included in the dependent time period includes the following two types:
  • the dependent period of the target knowledge layer segment contains only one extended period, which corresponds to at least two playing periods in the sequence layer, such as the knowledge layer segment K4 in FIG. 9 described above. At this time, the dependent period of the knowledge layer segment K4 can be described by an extended period in the MPD.
  • the dependent time period of the target knowledge layer segment contains at least two extended time periods, such as the knowledge layer segments K1, K2 and K3 in FIG. 9 above.
  • the dependent time period of the target knowledge layer segment may be split into multiple extended time periods, and multiple consecutive time periods of the target knowledge layer segment are respectively described in the MPD, such as the knowledge layer in FIG. 10 above.
  • the dependent period DD1 of the segment K1 (including DD1-1 and DD1-2) is described by the extended period ED1 and the extended period ED7 in the above-described FIG.
  • the dependent period of the target knowledge layer segment includes at least two extended periods, such as the knowledge layer segment K3 in FIG. 9 above
  • the dependent period DD3 of K3 includes the extended period ED3 and the extended period ED5.
  • the playing period of the sequence layer segment corresponding to ED5 is PD2
  • the knowledge layer segments K1 and K2 The extended period of K3, K4, and the extended period of K2 and K4, the information of the knowledge layer segments whose extended periods are not covered by each other is described as much as possible in one description layer, so that the number of finally described layers is as small as possible.
  • any target knowledge layer segment does not overlap each other, that is, one sequence layer segment only depends on one target knowledge layer segment, for example, the knowledge layer segment only exists in the knowledge layer segment K3 in FIG. With K4, only a single description layer is used to describe the information of the target knowledge layer segment.
  • the information of the knowledge layer segment may be described using M description layers, where M is the maximum number of knowledge layer segments that each sequence layer segment depends on.
  • M the maximum number of knowledge layer segments that each sequence layer segment depends on.
  • the server after the server generates the MPD of the LBVC code stream, the knowledge layer segment (including the target knowledge layer segment) and the sequence layer segment, and the MPD may be stored according to the specified network address. Further, the server can wait to receive a request sent by the client. When the server receives the request sent by the client, the MPD of the above code stream can be sent to the client. The server may also send the corresponding sequence layer segment or the knowledge layer segment to the client through HTTP according to the requested network storage address when receiving the HTTP request sent by the client. For details, refer to the implementation manners provided in the DASH standard, and details are not described herein again.
  • the client parses the MPD of the code stream sent by the server, and determines extended time period information carried in the MPD.
  • the server of the embodiment of the present invention since the server of the embodiment of the present invention extends the syntax elements of the DASH standard, the extended time period information is added to the MPD of the code stream, and the existing DASH-compliant client (hereinafter referred to as the client) cannot be parsed and Get the extended time period. Therefore, the embodiment of the present invention adds an extension period extension mechanism to the client to identify the extended syntax element, so that the client can parse and acquire the extension period of the target knowledge layer segment, so that the playback period and the extension period can be used.
  • the sequence layer segment and the target knowledge layer segment are distinguished.
  • a knowledge layer fragment request analysis mechanism is added to the client, and whether the plurality of knowledge layer segments described in the MPD are target knowledge layer segments are determined according to whether the network storage address information of the knowledge layer segment is the same, so that the storage space can be Specifically, the storage state of the target knowledge layer segment may be checked in a storage device for storing the knowledge base to determine whether the target knowledge layer segment is to be requested and downloaded to the server to avoid repeatedly downloading the same segment, thereby saving transmission bandwidth. Further, the embodiment of the present invention adds a knowledge storage management mechanism to the client to manage the storage of the target knowledge layer segment, and ensures that the target knowledge layer segment is stored in the client during the time period in which it is dependent. At the same time, a storage list of the knowledge layer segments is constructed, and the storage state of the target knowledge layer segments is recorded, so that the client checks the storage state of the target knowledge layer segments.
  • the client may request the sequence layer segment from the server according to the existing DASH standard. This will not be repeated here.
  • the client may first request the MPD of the LBVC code stream from the server, and parse the MPD sent by the server.
  • the client may obtain extended period information included in the MPD by parsing the MPD sent by the server, where the extended period information may include a first extended identifier for marking the target knowledge layer segment, or a second extended identifier for marking the description layer .
  • the target knowledge layer segment carrying the first extended identifier is included in one or more description layers, and the description layer carrying the second extended identifier describes one or more target knowledge layer segments.
  • the fragment carrying the first extended identifier may be determined as a target knowledge layer segment, or a description of carrying the extended identifier may be carried.
  • One or more segments of the layer description are determined as target knowledge layer segments, and information of the extended time period of the target knowledge layer segment is acquired.
  • the information of the foregoing extended time period includes: a start time of the extended time period and a length of the extended time period, and the like.
  • the one or more extended time periods owned by the target knowledge layer segment may be further determined.
  • the target knowledge layer segment is one or more segments included in the MPD that carry the first extended identifier or one or more description layers that carry the second extended identifier.
  • the client parses the information of the fragment marked by the extended identifier (including the first extended identifier or the second extended identifier) according to the MPD sent by the server, and obtains the extended period of the fragment according to the extended identifier and the server pair extension.
  • the description of the logo corresponds.
  • the obtaining manner of the information of the extended period of the target knowledge layer segment by the client may include any one of the following four methods:
  • Method 1 When the extended identifier (including the first extended identifier or the second extended identifier) adopted by the server is the first character string (for example, ExtDuration), the client may parse the MPD sent by the server, and identify ExtDuration from the server. Further, the value corresponding to the ExtDuration may be determined as the length of the extended period of the target knowledge layer segment, and the start time of the extended period of the target knowledge layer segment may be determined according to the end time of the time length of all the knowledge layer segments before the target knowledge layer segment. time. For the specific implementation manner of determining the start time and the length of the extended period according to the first character string, refer to the implementation manner described in the foregoing server, and details are not described herein again.
  • the first character string for example, ExtDuration
  • Method 2 When the extension identifier (including the first extension identifier or the second extension identifier) adopted by the server is a second string (for example, ExtSegmentTimeLine), the client may parse the MPD sent by the server, and identify the ExtSegmentTimeLine from the server. Further, information such as a start time of the extended period of the target knowledge layer segment and a length of the extended period may be identified and acquired from the code stream according to the adopted decoding standard.
  • the specific implementation manner of determining the start time and the length of the extended time period according to the second character string may be referred to the implementation manner of the foregoing server description, and details are not described herein again.
  • the client may determine the target knowledge layer segment and the dependent time period of the target knowledge layer segment according to the extended time period information.
  • the client may determine the target knowledge layer segment and the dependent time period of the target knowledge layer segment according to the extended time period information.
  • the client may further determine the network storage corresponding to the extended period according to the foregoing MPD.
  • the storage address determines the target knowledge layer segment to which each extended period belongs according to the network storage address corresponding to each extended period. Further, the client may determine the storage state of the target knowledge layer segment in the storage device of the client.
  • the implementation manner of determining, by the client, the network storage address of each extended period may be determined according to the storage address described by the server in the MPD, and details are not described herein again.
  • the storage state of each of the above-mentioned knowledge layer segments may be determined according to data stored in the storage device of the client, and details are not described herein again.
  • the client may determine a dependent time period of each target knowledge layer segment according to a network storage address of each extended time period.
  • the extended time period in which the network storage addresses are the same may be determined as the extended time period of the same target knowledge layer segment, and the set of the extended time period of the same target knowledge layer segment may be determined as the dependent time period of the target knowledge layer segment.
  • one or more knowledge layer segment lists may be constructed, and the knowledge layer segment list is The information such as the network storage address, the storage state, and the time period of the dependency of each target knowledge layer segment is recorded.
  • the storage state of the target knowledge layer segment may be represented by a storage status flag.
  • the MPD uses multiple description layers to describe the information of the target knowledge layer segment, the information of the target knowledge layer segments in all the description layers described above is recorded in the knowledge layer segment list.
  • FIG. 17 is a schematic diagram of a knowledge layer segment list.
  • the client may describe the network storage addresses of all target knowledge layer segments, the extended period start time and the extended period length (ie, extension) in the two knowledge layer fragment lists (including the knowledge layer fragment list-1 and the knowledge layer fragment list-2). The duration of the period).
  • each list in FIG. 17 records information of the knowledge layer segment described in the description layer of FIG. 10, and the knowledge layer segment of the same network storage address is the same knowledge layer segment.
  • FIG. 18 is another schematic diagram of a knowledge layer segment list.
  • the client may also describe the network storage address of all knowledge layer segments in the knowledge layer fragment list, the expansion period start time and the extension period length (ie, the extension period duration).
  • the knowledge layer segment list records information of all the knowledge layer segments described in FIG. 10, and the knowledge layer segments of the same network storage address are the same knowledge layer segment.
  • the K1, K2, and K3 can be set as the target knowledge layer segment provided by the embodiment of the present invention, and K4 is the knowledge layer segment that is dependent on two consecutive sequence layer segments.
  • the client may construct another knowledge layer segment list (which may be named as a knowledge layer segment storage list), and record the network storage address, the storage state, and the dependent time period of the knowledge layer segment through the knowledge layer segment storage list.
  • the above-mentioned dependent time period is a set of extended time periods having the same network storage address.
  • FIG. 19 is another schematic diagram of a knowledge layer segment list. The information of each knowledge layer segment in the knowledge layer segment storage list is determined by the information recorded in FIG. 17 above, and the initial storage state of each knowledge layer segment can be set to be False. The storage state of each knowledge layer segment may be changed in real time according to the state of the knowledge layer segment acquired in the actual application process to better determine whether a certain knowledge layer segment needs to be downloaded again in a certain time period.
  • step S109 When the video on demand request is obtained, it is determined whether the on-demand time carried in the video-on-demand request is included in the time-dependent period of the target knowledge layer segment. If the determination result is yes, step S110 is performed.
  • the client may obtain a video operation request that is triggered when the user plays the video on demand, and may also obtain an on-demand time carried in the video operation request, and further determine whether the time-dependent period of the target knowledge layer segment is included by using the look-up table.
  • the above-mentioned on-demand time Specifically, whether the extended time period covering the above-mentioned on-demand time exists in the extended time period included in the dependent time period of all the knowledge layer segments may be determined by using a lookup table, and if yes, the extended time period coverage may be determined to be covered by the dependent time period.
  • the knowledge layer fragment of the above operation time may be determined by using a lookup table, and if yes, the extended time period coverage may be determined to be covered by the dependent time period.
  • the client can be based on the above-mentioned on-demand And searching for all the knowledge layer segments included in the knowledge layer segment storage list to search for the knowledge layer segment (set as the second knowledge layer segment) of the above-mentioned on-demand time by the dependent time period.
  • the above-mentioned time-dependent period covering the playback time indicates that the start time of one of the extended periods included in the time-dependent period is before the playback time or the above-mentioned on-demand time, and the end time of the extended period is after the above-mentioned on-demand time or
  • it can be determined according to the actual application scenario, and no limitation is imposed here.
  • the on-demand time does not depend on any knowledge layer segment, that is, the sequence layer segment corresponding to the on-demand time does not depend on the knowledge layer segment, and at this time, the extension period included in the dependent time period of all the knowledge layer segments is not There is an extended period covering the above operation time, and there is no need to request a knowledge layer fragment.
  • the client may also determine, according to the storage mark of each knowledge layer segment stored in the knowledge layer segment storage list, each knowledge layer segment in the client. Storage status. Further, the client may determine the manner in which the second knowledge layer segment is acquired according to the storage state of each knowledge layer segment. Specifically, if the storage state of the second knowledge layer segment recorded in the knowledge layer segment storage list is empty (that is, the storage state of the second target knowledge layer segment is marked as False), the client may send the obtained information to the server. A request for a second knowledge layer fragment. After receiving the request sent by the client, the server may send the data of the second knowledge layer segment to the client.
  • the client may receive the second knowledge layer fragment sent by the server, and may change the storage token of the second knowledge layer fragment stored in the knowledge layer fragment storage list to be non-empty (changed to True). If the storage state of the second knowledge layer segment recorded in the knowledge layer segment storage list is not empty (that is, the storage state of the second target knowledge layer segment is marked as True), the client may directly obtain the foregoing from the storage space thereof.
  • the second knowledge layer segment does not need to send an acquisition request to the server, thereby avoiding repeated downloading of the same knowledge layer segment and saving transmission bandwidth.
  • the storage state of the knowledge layer segment in the storage space may be adjusted according to the storage space size of the storage device storing the knowledge layer segment. Specifically, if the remaining space size of the storage device for storing the knowledge layer segment in the client is greater than or equal to the data size of the second knowledge layer segment, the storage state of the acquired second knowledge layer segment is changed to not empty. And storing the second knowledge layer segment in the above storage device.
  • one or more other knowledge layer segments stored in the storage device may be deleted (ie, the specified target knowledge layer is deleted) Fragment) storing the remaining space size of the storage device to be greater than or equal to the data size of the second knowledge layer segment, and storing the second knowledge layer segment in the storage device.
  • the client may change the storage flag corresponding to the storage state of the deleted knowledge layer segment to null in the knowledge layer segment storage list, and change the storage flag corresponding to the storage state of the second knowledge layer segment to not empty. In order to facilitate the client to determine how to obtain each knowledge layer fragment in subsequent operations.
  • the time interval between the time-dependent period of the specified target knowledge layer segment and the above-mentioned on-demand time is greater than a preset time threshold.
  • the knowledge layer segment of the dependent time period before the current on-demand time may be selected according to the dependent time period of the knowledge layer segment, that is, the knowledge layer segment is no longer used. Remove it.
  • the client may also select the knowledge layer segment that is the farthest from the current on-demand time in the next extended period of the dependent time period according to the dependent time period of the knowledge layer segment, that is, the time that the knowledge layer segment needs to wait for the next use. Long, remove it.
  • the server may add extended period information to the MPD of the code stream to mark information such as an extended period of the target knowledge layer segment.
  • the client may obtain the extended time period information included in the MPD by parsing the MPD of the code stream, determine the dependent time period of the target knowledge layer segment, and store the dependent time period of the target knowledge layer segment and the target knowledge layer segment in the client.
  • the storage status flag for the storage state when receiving the request for the on-demand video of the user, the client may search for the extended time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the extended time period and the storage status flag thereof.
  • the client may determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or obtain the target knowledge layer segment from the local storage space, thereby avoiding multiple loading and storage of the same knowledge layer segment, and saving data transmission. Bandwidth, improve the processing efficiency of the stream data.
  • FIG. 20 is a schematic structural diagram of a video data processing apparatus according to an embodiment of the present invention.
  • the processing device provided by the embodiment of the present invention includes:
  • the obtaining unit 201 is configured to acquire segment information of each sequence layer segment in all sequence layer segments in the code stream, where the segment information is used to describe a dependency relationship between the sequence layer segment and the knowledge layer segment in the code stream.
  • a determining unit 202 configured to determine, according to the segment information of each sequence layer segment acquired by the acquiring unit 201, N sequence layer segments and a first target knowledge layer segment, where the N sequence layer segments are dependent on a first target knowledge layer segment, wherein the N sequence layer segments include at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream .
  • the acquiring unit 201 is further configured to acquire segment information of the first target knowledge layer segment determined by the determining unit 202.
  • the adding unit 203 is configured to add, according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments acquired by the acquiring unit 201, in the media expression description MPD of the code stream. Extended period information of the first target knowledge layer segment, the N sequence layer segments being encoded within a period indicated by the extended period information.
  • the sending unit 204 is configured to send the MPD of the code stream processed by the adding unit 203 to the client.
  • the determining unit 202 is specifically configured to:
  • the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment group corresponding to the first time period and a second time period corresponding to a second sequence layer segment group;
  • the first sequence layer segment group includes N1 sequence layer segments
  • the second sequence layer segment group includes N2 sequence layer segments
  • the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
  • the MPD of the code stream includes at least two description layers, and the first description layer of the at least two description layers describes the first item a knowledge layer segment, the second description layer describing the sequence layer segment;
  • the adding unit 203 is specifically configured to:
  • the first extended period information and the second extended period information are both first extended identifiers
  • the adding unit 203 is specifically configured to:
  • the first extended period information and the second extended period information are both second extended identifiers
  • the adding unit 203 is specifically configured to:
  • the MPD of the code stream further includes a third description layer, where the third description layer describes the The second target knowledge layer fragment.
  • the adding unit 203 is further configured to:
  • third extended period information Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier;
  • the third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
  • the processing device may be a function module in a server or a server provided by the embodiment of the present invention, and the processing device may perform the corresponding implementation manner of the server in each step of the processing method of the video data by using various units built therein. This will not be repeated here.
  • the server may determine the knowledge layer segment that is dependent on at least two discontinuous sequence layer segments as the target knowledge layer segment, and add extended time period information in the MPD of the code stream to mark the target knowledge layer segment.
  • Information such as extended time period is provided for the client to distinguish between the target knowledge layer segment and the non-target knowledge layer segment, thereby avoiding repeated loading and transmission of the target knowledge layer segment, saving data transmission bandwidth, and enhancing the applicability of video data processing.
  • FIG. 21 is another schematic structural diagram of a video data processing apparatus according to an embodiment of the present invention.
  • the processing device provided by the embodiment of the present invention includes:
  • the parsing unit 211 is configured to parse a media expression description MPD of the code stream sent by the server, and determine extended period information carried in the MPD, where the extended period information is used to determine a target knowledge layer segment included in the code stream.
  • the target knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream.
  • a determining unit 212 configured to determine, according to the extended period information acquired by the parsing unit 211, a target knowledge layer segment, and determine a dependent period of the target knowledge layer segment, where the N sequence layer segments are in the Target knowledge
  • the layered segments are encoded within the time period of the dependency.
  • a recording unit 213, configured to acquire a network storage address of the target knowledge layer segment from the MPD of the code stream parsed by the parsing unit 211, and record a dependent time period of the target knowledge layer segment determined by the determining unit 212 And the network storage address.
  • the determining unit 214 is configured to determine, when the video on demand request is obtained, whether the on-demand time carried in the video-on-demand request is included in the time-dependent period of the target knowledge layer segment recorded by the recording unit 213.
  • the obtaining unit 215 is configured to: when the determination result of the determining unit 214 is YES, view a storage state of the target knowledge layer segment in a storage space of the client, and determine the target knowledge layer according to the storage state. How to get the fragment.
  • the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment group corresponding to the first time period and a second time period corresponding to a second sequence layer segment group;
  • the extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
  • the first extended period information is used to determine a first extended period of the dependent period of the target knowledge layer segment
  • the second extended period information is used to determine a first of the dependent periods of the target knowledge layer segment Two extended time slots.
  • the first extended period information and the second extended period information are first extended identifiers
  • the parsing unit is specifically configured to:
  • the determining unit is specifically configured to:
  • the segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
  • the first extended period information and the second extended period information are second extended identifiers
  • the parsing unit is specifically configured to:
  • the determining unit is specifically configured to:
  • the first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
  • the determining unit is specifically configured to:
  • a union of the first extended period and the second extended period is taken as a dependent period of the target knowledge layer segment.
  • the recording unit is specifically configured to:
  • the recording unit is further configured to:
  • the obtaining unit is specifically configured to:
  • the obtaining unit is further configured to:
  • the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and using the recording unit to segment the target knowledge layer segment
  • the storage status flag is marked as true
  • the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording, by the recording unit, a storage status flag of the target knowledge layer segment as true;
  • the time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
  • the foregoing processing device may be a client provided by an embodiment of the present invention, or may be a function module in a client, and the processing device may perform a client in each step of the foregoing video data processing method by using various units built therein.
  • the corresponding implementation manner will not be described here.
  • the client may obtain the extended time period information included in the MPD by parsing the MPD of the code stream, determine the dependent time period of the target knowledge layer segment, and store the dependent time period and target of the target knowledge layer segment.
  • the client may search for the extended time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the extended time period and the storage status flag thereof. .
  • the client may determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or obtain the target knowledge layer segment from the local storage space, thereby avoiding multiple loading and storage of the same knowledge layer segment, and saving data transmission. Bandwidth, improve the processing efficiency of the stream data.
  • FIG. 22 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • the server provided by the embodiment of the present invention may include: a memory 221 and a processor 222, where the memory 221 is connected to the processor 222;
  • the memory 221 is for storing a set of program codes.
  • the processor 222 is configured to call the program code stored in the memory 221 to perform the following operations:
  • segment information of each sequence layer segment in all sequence layer segments in the code stream the segment information being used to describe a dependency relationship between the sequence layer segment and the knowledge layer segment in the code stream;
  • N sequence layer segments and a first target knowledge layer segment according to the segment information of each sequence layer segment, wherein the N sequence layer segments are dependent on the first target knowledge layer segment, the N sequence layers
  • the segment includes at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream;
  • N sequence layer segments are encoded within a period indicated by the extended period information
  • the processor 222 is specifically configured to:
  • the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment group corresponding to the first time period and a second time period corresponding to a second sequence layer segment group;
  • the first sequence layer segment group includes N1 sequence layer segments
  • the second sequence layer segment group includes N2 sequence layer segments
  • the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
  • the MPD of the code stream includes at least two description layers, a first description layer of the at least two description layers describes a first target knowledge layer segment, and a second description layer describes a sequence layer segment;
  • the processor 222 is specifically configured to:
  • the first extended period information and the second extended period information are both first extended identifiers
  • the processor 222 is specifically configured to:
  • the first extended period information and the second extended period information are both second extended identifiers
  • the processor 222 is specifically configured to:
  • the MPD of the code stream further includes a third description layer, where the third description layer describes the The second target knowledge layer fragment.
  • the processor 222 is further configured to:
  • third extended period information Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier;
  • the third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
  • the server may perform an implementation manner of the server in each step of the foregoing processing method of the video data, and details are not described herein again.
  • the server may determine the knowledge layer segment that is dependent on at least two discontinuous sequence layer segments as the target knowledge layer segment, and add extended time period information in the MPD of the code stream to mark the target knowledge layer segment.
  • Information such as extended time period is provided for the client to distinguish between the target knowledge layer segment and the non-target knowledge layer segment, thereby avoiding repeated loading and transmission of the target knowledge layer segment, saving data transmission bandwidth, and enhancing the applicability of video data processing.
  • FIG. 23 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • the server provided by the embodiment of the present invention may include: a memory 231 and a processor 232, where the memory 231 is connected to the processor 232;
  • the memory 231 is used to store a set of program codes.
  • the processor 232 is configured to call the program code stored in the memory 231 to perform the following operations:
  • the extended time period information carried in the MPD, where the extended time period information is used to determine a time-dependent period of the target knowledge layer segment included in the code stream, the target The knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream;
  • the time period of the target knowledge layer segment includes the on-demand time, view a storage state of the target knowledge layer segment in a storage space of the client, and determine the target knowledge layer segment according to the storage state How to get it.
  • the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment group corresponding to the first time period and a second time period corresponding to Second sequence layer Fragment group
  • the extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
  • the first extended period information is used to determine a first extended period of the dependent period of the target knowledge layer segment
  • the second extended period information is used to determine a first of the dependent periods of the target knowledge layer segment Two extended time slots.
  • the first extended period information and the second extended period information are first extended identifiers
  • the processor 232 is specifically configured to:
  • the segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
  • the first extended period information and the second extended period information are second extended identifiers
  • the processor 232 is specifically configured to:
  • the first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
  • the processor 232 is specifically configured to:
  • a union of the first extended period and the second extended period is taken as a dependent period of the target knowledge layer segment.
  • the processor 232 is specifically configured to:
  • the processor 232 is further configured to:
  • the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and recording the storage state flag of the target knowledge layer segment as true;
  • the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording the storage status flag of the target knowledge layer segment as true;
  • the time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
  • the client may perform the implementation manner of the client in each step of the processing method of the foregoing video data, and details are not described herein again.
  • the client may obtain the extended time period information included in the MPD by parsing the MPD of the code stream, determine the dependent time period of the target knowledge layer segment, and store the dependent time period and target of the target knowledge layer segment.
  • the client may search for the extended time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the extended time period and the storage status flag thereof. .
  • the client may determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or obtain the target knowledge layer segment from the local storage space, thereby avoiding multiple loading and storage of the same knowledge layer segment, and saving data transmission. Bandwidth, improve the processing efficiency of the stream data.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Landscapes

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

Abstract

Embodiments of the present invention disclose a method and device for processing video data. The method comprises: a server acquiring segment information of each sequence layer segment of all sequence layer segments in a bitstream; determining N sequence layer segments and a first target knowledge layer segment according to the segment information of the each sequence layer segment; acquiring segment information of the first target knowledge layer segment; adding, according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments, expansion time period information of the first target knowledge layer segment to a media presentation description (MPD) of the bitstream; and transmitting the MPD of the bitstream to a client. By adopting the embodiments of the present invention, advantages of preventing repeated transmission of video data, saving data transmission bandwidth and enhancing adaptability of video data processing are achieved.

Description

一种视频数据的处理方法及装置Method and device for processing video data 技术领域Technical field
本发明涉及通信技术领域,尤其涉及一种视频数据的处理方法及装置。The present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for processing video data.
背景技术Background technique
传统视频编码中,为了使编码后的视频支持随机访问功能,在编码视频中会插入一些随机访问点(英文:random access point)。视频由随机访问点分割成多个具有随机访问功能的视频片段,简称为随机访问片段。在传统技术中,一个随机访问片段中的图像只能作为该随机访问片段中的其他图像的参考图像/参考帧(英文:reference picture/reference frame)),不允许跨随机访问点的帧间预测(英文:Inter prediction),较大地限制了视频编/解码的效率。In traditional video coding, in order to enable the encoded video to support the random access function, some random access points (English: random access point) are inserted in the encoded video. The video is divided into a plurality of video segments with random access functions by a random access point, which is simply referred to as a random access segment. In the conventional technique, an image in a random access segment can only be used as a reference picture/reference frame of other images in the random access segment (English: reference picture/reference frame), and inter prediction is not allowed across random access points. (English: Inter prediction), which greatly limits the efficiency of video encoding/decoding.
为了挖掘和利用多个随机访问片段之间的图像在编码时相互参考的信息,在编码(或解码)一幅图像时,编码器(或解码器)可以从数据库中选择与当前编码图像(或解码图像)纹理内容相近的图像作为参考图像,这种参考图像称为知识库图像,存储上述参考图像的集合的数据库称为知识库,这种视频中至少一幅图像参考至少一幅知识库图像进行编解码的方法称为基于知识库的视频编码(英文:library-based video coding,LBVC)。采用LBVC对一个视频序列进行编码会产生一个包含知识库图像编码码流的知识层码流和一个包含视频序列各帧图像参考知识库图像编码得到的码流的序列层码流。这两种码流分别类似于可伸缩视频编码(英文:scalable video coding,SVC)产生的基本层码流和增强层码流,即序列层码流依赖于知识层码流。然而,LBVC的双码流组织方式与SVC的分级码流组织方式的层级码流之间的依赖关系不同,LBVC的双码流中知识层码流切分得到多个知识层片段,序列层码流切分得到多个序列层片段。序列层码流中的多个不连续的序列层片段可能会参考同一个知识层片段,客户端解码参考该知识层片段的多个序列层片段时需要加载该知识层片段,故此客户端解码多个序列层片段时只需加载一次该知识层片段,无线重复多次加载。In order to mine and utilize information that the images between multiple random access segments are mutually referenced at the time of encoding, when encoding (or decoding) an image, the encoder (or decoder) can select from the database and the current encoded image (or Decoding an image) an image having similar texture content as a reference image, such a reference image is referred to as a knowledge base image, and a database storing the set of the reference images is referred to as a knowledge base, and at least one image in the video refers to at least one knowledge base image The method of encoding and decoding is called knowledge-based video coding (LBVC). Encoding a video sequence using LBVC produces a knowledge layer code stream containing the knowledge base image coded code stream and a sequence layer code stream containing the code stream encoded by the image reference knowledge base image of each frame of the video sequence. The two code streams are respectively similar to the base layer code stream and the enhancement layer code stream generated by scalable video coding (SVC), that is, the sequence layer code stream depends on the knowledge layer code stream. However, the dependency relationship between the LBVC dual code stream organization and the hierarchical code stream of the SVC hierarchical code stream organization is different. In the LBVC dual code stream, the knowledge layer code stream is segmented to obtain multiple knowledge layer segments, and the sequence layer code is obtained. Stream segmentation yields multiple sequence layer segments. Multiple discontinuous sequence layer segments in the sequence layer code stream may refer to the same knowledge layer segment. When the client decodes multiple sequence layer segments of the knowledge layer segment, the knowledge layer segment needs to be loaded, so the client decodes more. The sequence layer segments only need to be loaded once for the knowledge layer segment, and the wireless repeats multiple times.
现有的基于通过超文本传输协议(英文:HyperText Transfer Protocol,HTTP)动态自适应流媒体(英文:dynamic adaptive streaming over HTTP,DASH)的系统层传输方案将知识层码流和序列层码流分别作为基本层码流和增强层码流来传输LBVC产生的视频数据,无法将被多个不连续的序列层片段依赖的知识层片段和被一个序列层片段依赖的知识层片段进行区分,进而无法告知客户端哪些知识层片段被多个序列层片段依赖,无法避免被多个序列层片段依赖的知识层片段被多次加载和传输,浪费了传输带宽,适用性低。The existing system layer transmission scheme based on dynamic adaptive streaming over HTTP (DASH) through Hypertext Transfer Protocol (HTTP) respectively separates the knowledge layer stream and the sequence layer stream. As the base layer code stream and the enhancement layer code stream to transmit the video data generated by the LBVC, it is impossible to distinguish the knowledge layer segment that is dependent on the plurality of discontinuous sequence layer segments from the knowledge layer segment that is dependent on one sequence layer segment, thereby failing to Inform the client which knowledge layer fragments are dependent on multiple sequence layer fragments, and it is unavoidable that the knowledge layer fragments that are dependent on multiple sequence layer fragments are loaded and transmitted multiple times, which wastes transmission bandwidth and has low applicability.
发明内容Summary of the invention
本申请提供了一种视频数据的处理方法及装置,可避免视频数据的重复传输,节省数据传输的带宽,提高了视频数据处理的适用性。The application provides a method and a device for processing video data, which can avoid repeated transmission of video data, save bandwidth of data transmission, and improve applicability of video data processing.
第一方面提供了一种视频数据的处理方法,其可包括:The first aspect provides a method for processing video data, which may include:
服务器获取码流中的所有序列层片段中每个序列层片段的片段信息,所述片段信息用 于描述所述码流中的序列层片段与知识层片段的依赖关系;The server acquires segment information of each sequence layer segment in all sequence layer segments in the code stream, and the segment information is used by the segment information Describe a dependency relationship between a sequence layer segment and a knowledge layer segment in the code stream;
根据所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段,所述N个序列层片段依赖于所述第一目标知识层片段,所述N个序列层片段中至少包含两个不连续的序列层片段,所述第一目标知识层片段为所述码流中包含的至少一个知识层片段中的一个;Determining N sequence layer segments and a first target knowledge layer segment according to the segment information of each sequence layer segment, wherein the N sequence layer segments are dependent on the first target knowledge layer segment, the N sequence layers The segment includes at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream;
获取所述第一目标知识层片段的片段信息;Obtaining segment information of the first target knowledge layer segment;
根据所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的媒体表达描述MPD中添加所述第一目标知识层片段的扩展时段信息,所述N个序列层片段在所述扩展时段信息指示的时段内被编码;Adding extended period information of the first target knowledge layer segment to the media expression description MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments, N sequence layer segments are encoded within a period indicated by the extended period information;
将所述码流的MPD发送给客户端。Sending the MPD of the code stream to the client.
在本申请中,服务器可将被至少两个不连续的序列层片段依赖的知识层片段确定为目标知识层片段,并在码流的MPD中添加扩展时段信息来标记目标知识层片段的扩展时段等信息,以供客户端对目标知识层片段和非目标知识层片段区分,进而可避免目标知识层片段的重复加载和传输,节省数据传输带宽,增强了视频数据的处理的适用性。In the present application, the server may determine a knowledge layer segment that is dependent on at least two discontinuous sequence layer segments as a target knowledge layer segment, and add extended time period information in the MPD of the code stream to mark an extended period of the target knowledge layer segment. The information is used for the client to distinguish between the target knowledge layer segment and the non-target knowledge layer segment, thereby avoiding repeated loading and transmission of the target knowledge layer segment, saving data transmission bandwidth, and enhancing the applicability of the video data processing.
结合第一方面,在第一种可能的实现方式中,所述根据所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段包括:With reference to the first aspect, in a first possible implementation, the determining, by the segment information of each sequence layer segment, the N sequence layer segments and the first target knowledge layer segment includes:
根据所述每个序列层片段的片段信息中包含的知识层片段的标识确定出每个序列层片段所依赖的知识层片段;Determining, according to the identifier of the knowledge layer segment included in the segment information of each sequence layer segment, a knowledge layer segment on which each sequence layer segment depends;
确定出第一目标知识层片段,并确定出依赖所述第一目标知识层片段的N个序列层片段。Determining a first target knowledge layer segment and determining N sequence layer segments that depend on the first target knowledge layer segment.
本申请可根据序列层片段的片段信息中携带的标识确定序列层片段依赖的知识层片段,进而可确定出第一目标知识层片段和依赖第一目标知识层片段的N个序列层片段,提高了知识层片段和序列层片段的依赖关系的确定的准确性,进而增强了视频数据的处理效率。The application can determine the knowledge layer segment dependent on the sequence layer segment according to the identifier carried in the segment information of the sequence layer segment, and further can determine the first target knowledge layer segment and the N sequence layer segments that depend on the first target knowledge layer segment, thereby improving The accuracy of the determination of the dependence of the knowledge layer segment and the sequence layer segment enhances the processing efficiency of the video data.
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner, the N sequence layer segments include at least two packet sequence layer segments, and the at least two packets include at least a first time period Corresponding first sequence layer segment group and second sequence layer segment group corresponding to the second time period;
所述第一序列层片段组包含N1个序列层片段,所述第二序列层片段组包含N2个序列层片段,所述N1个序列层片段和所述N2个序列层片段不连续,并且N1+N2<=N;The first sequence layer segment group includes N1 sequence layer segments, the second sequence layer segment group includes N2 sequence layer segments, the N1 sequence layer segments and the N2 sequence layer segments are discontinuous, and N1 +N2<=N;
若所述N1>1,则所述N1个序列层片段为连续的序列层片段;若所述N2>1,则所述N2个序列层片段为连续的序列层片段;If the N1>1, the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
所述码流的MPD包含至少两个描述层,所述至少两个描述层中第一描述层描述第一目标知识层片段,第二描述层描述序列层片段;The MPD of the code stream includes at least two description layers, a first description layer of the at least two description layers describes a first target knowledge layer segment, and a second description layer describes a sequence layer segment;
所述根据所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的MPD中添加所述第一目标知识层片段的扩展时段信息包括:The adding the extended period information of the first target knowledge layer segment to the MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments includes:
在所述第一描述层包含的所述第一时段对应的第一片段描述中添加第一扩展时段信息,并在所述第一描述层包含的所述第二时段对应的第二片段描述中添加第二扩展时段信息。Adding first extended period information to the first segment description corresponding to the first period included in the first description layer, and in the second segment description corresponding to the second period included in the first description layer Add the second extended period information.
本申请可确定出依赖第一目标知识层片段的N个序列层片段中包含的时间上连续的序列层片段组和时间上不连续的序列层片段组,确定出不同时段的序列层片段组,进而可结 合码流的MPD中包含的描述层描述知识层片段的时序描述特点在不同时段对应的片段描述中添加不同时段对应的扩展时段信息,提高了扩展时段信息的适用性,增加视频数据的处理的适用性。The present application can determine a temporally consecutive sequence layer segment group and a temporally discontinuous sequence layer segment group included in the N sequence layer segments that depend on the first target knowledge layer segment, and determine the sequence layer segment group in different time periods. Further knot The description layer included in the MPD of the combined stream describes the time series description feature of the knowledge layer segment. The extended time period information corresponding to different time periods is added in the segment description corresponding to different time periods, the applicability of the extended time period information is improved, and the processing of the video data is increased. applicability.
结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,所述第一扩展时段信息和所述第二扩展时段信息均为第一扩展标识;With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner, the first extended period information and the second extended period information are both first extended identifiers;
所述在所述码流的MPD中添加所述第一目标知识层片段的扩展时段信息包括:The adding extended period information of the first target knowledge layer segment in the MPD of the code stream includes:
在所述第一片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识,并在所述第二片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识。Adding a first extended identifier to the segment information of the first target knowledge layer segment included in the first segment description, and segment information of the first target knowledge layer segment included in the second segment description Add the first extension ID.
本申请可采用在知识层片段的片段信息中添加第一扩展标识的方式来标记目标知识层片段,提高了目标知识层片段的标记的准确性,提高知识层片段的识别效率。The application can mark the target knowledge layer segment by adding the first extended identifier to the segment information of the knowledge layer segment, improve the accuracy of the mark of the target knowledge layer segment, and improve the recognition efficiency of the knowledge layer segment.
结合第一方面第二种可能的实现方式,在第四种可能的实现方式中,所述第一扩展时段信息和所述第二扩展时段信息均为第二扩展标识;With reference to the second possible implementation of the first aspect, in a fourth possible implementation, the first extended period information and the second extended period information are both second extended identifiers;
所述在所述码流的MPD中添加所述第一目标知识层片段的扩展时段信息包括:The adding extended period information of the first target knowledge layer segment in the MPD of the code stream includes:
在所述第一描述层的描述层属性信息中添加所述第一时段对应的第二扩展标识和所述第二时段对应的第二扩展标识。Adding, in the description layer attribute information of the first description layer, a second extension identifier corresponding to the first period and a second extension identifier corresponding to the second period.
本申请在描述知识层片段的描述层的描述层属性信息中添加第二扩展标识的方法来标记目标知识层片段,提高了目标知识层片段片段的标记的便捷性,增强了目标知识层片段的标记添加的适用性。The present application adds a second extended identifier to the description layer attribute information describing the description layer of the knowledge layer segment to mark the target knowledge layer segment, improves the convenience of marking of the target knowledge layer segment segment, and enhances the target knowledge layer segment. The applicability of tag addition.
结合第一方面第二种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:With reference to the second possible implementation of the first aspect, in a fifth possible implementation, the method further includes:
若所述第一序列层片段组还依赖第二目标知识层片段,则所述码流的MPD中还包括第三描述层,所述第三描述层描述所述第二目标知识层片段。If the first sequence layer segment group further depends on the second target knowledge layer segment, the MPD of the code stream further includes a third description layer, and the third description layer describes the second target knowledge layer segment.
本申请可在N个序列层片段中包含依赖第二目标知识层片段的序列层片段时,通过第三描述层来描述第二目标知识层片段,增强了目标知识层片段的描述的准确性,提高视频数据的处理的适用性。The present application may describe the second target knowledge layer segment by using the third description layer when the sequence layer segment that depends on the second target knowledge layer segment is included in the N sequence layer segments, and the description accuracy of the target knowledge layer segment is enhanced. Improve the applicability of the processing of video data.
结合第一方面第五种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:With reference to the fifth possible implementation manner of the first aspect, in a sixth possible implementation, the method further includes:
在所述第三描述层包含的所述第一时段对应的第三片段描述中添加第三扩展时段信息,所述第三扩展时段信息为第一扩展标识;或者Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier; or
在所述第三描述层的描述层属性信息中添加第三扩展时段信息,所述第三扩展时段信息为第二扩展标识。The third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
本申请可在第三描述层中包含的片段描述中添加第二目标知识层片段的标记,或者在第三描述层的描述层属性信息中添加第二目标知识层片段的标记,提高了目标知识层片段片段的标记方式的多样性,增强了目标知识层片段的标记的便捷性,增强了目标知识层片段的标记添加的适用性。The application may add a mark of the second target knowledge layer segment in the segment description included in the third description layer, or add a mark of the second target knowledge layer segment in the description layer attribute information of the third description layer, thereby improving the target knowledge. The diversity of the marking method of the layer segment segment enhances the convenience of marking of the target knowledge layer segment, and enhances the applicability of the tag addition of the target knowledge layer segment.
结合第一方面第三种可能的实现方式,或者第一方面第四种可能的实现方式,或者第一方面第六种可能的实现方式中任一种,在第七种可能的实现方式中,所述第一扩展标识或者所述第二扩展标识为第一字符串;With reference to the third possible implementation manner of the first aspect, or the fourth possible implementation manner of the first aspect, or the sixth possible implementation manner of the first aspect, in the seventh possible implementation manner, The first extended identifier or the second extended identifier is a first character string;
所述第一字符串用于描述所述第一目标知识层片段或者所述第二目标知识层片段拥有 的固定时间长度的扩展时段;The first character string is used to describe that the first target knowledge layer segment or the second target knowledge layer segment has Extended time period of fixed length;
其中,所述扩展时段的时间长度为所述第一字符串对应的数值。The length of time of the extended period is a value corresponding to the first string.
本申请可通过第一字符串来标记拥有固定时间长度的扩展时段的目标知识层片段,操作简单,提高了视频数据的处理效率。The application can mark the target knowledge layer segment with the extended time period of the fixed time length by using the first character string, and the operation is simple, and the processing efficiency of the video data is improved.
结合第一方面第三种可能的实现方式,或者第一方面第四种可能的实现方式,或者第一方面第六种可能的实现方式中任一种,在第八种可能的实现方式中,所述第一扩展标识或者所述第二扩展标识为第二字符串;With reference to the third possible implementation manner of the first aspect, or the fourth possible implementation manner of the first aspect, or the sixth possible implementation manner of the first aspect, in an eighth possible implementation manner, The first extended identifier or the second extended identifier is a second string;
所述第二字符串用于描述所述第一目标知识层片段或者所述第二目标知识层片段拥有的可变时间长度的扩展时段;The second character string is used to describe an extended time period of a variable time length possessed by the first target knowledge layer segment or the second target knowledge layer segment;
其中,所述扩展时段的时间长度由所述MPD中包含的所述目标知识层片段的片段信息确定。The length of time of the extended period is determined by fragment information of the target knowledge layer segment included in the MPD.
本申请可通过第二字符串来标记拥有可变时间长度的扩展时段的目标知识层片段,扩展时段的时间长度的确定由MPD中包含的片段信息确定,提高了目标知识层片段的标记形式的多样性,增强了视频数据的处理的适用性。The application can mark the target knowledge layer segment with the extended time period of the variable time length by using the second character string, and the determination of the time length of the extended time period is determined by the segment information included in the MPD, and the mark form of the target knowledge layer segment is improved. Diversity enhances the applicability of video data processing.
第二方面提供了一种视频数据的处理方法,其可包括:The second aspect provides a method for processing video data, which may include:
客户端解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息,所述扩展时段信息用于确定所述码流中包含的目标知识层片段的被依赖时段,所述目标知识层片段为所述码流中包含的至少一个知识层片段中的一个,所述目标知识层片段被所述码流中的N个序列层片段依赖;The media expression description MPD of the code stream sent by the client parsing server determines the extended period information carried in the MPD, and the extended period information is used to determine a time-dependent period of the target knowledge layer segment included in the code stream. The target knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream;
根据所述扩展时段信息确定出目标知识层片段,并确定出所述目标知识层片段的被依赖时段,所述N个序列层片段在所述目标知识层片段的被依赖时段内已被编码;Determining a target knowledge layer segment according to the extended time period information, and determining a dependent time period of the target knowledge layer segment, the N sequence layer segments being encoded within a dependent time period of the target knowledge layer segment;
从所述码流的MPD获取所述目标知识层片段的网络存储地址,记录所述目标知识层片段的被依赖时段和网络存储地址;Obtaining a network storage address of the target knowledge layer segment from the MPD of the code stream, and recording a dependent time period and a network storage address of the target knowledge layer segment;
当获取到视频点播请求时,判断所述视频点播请求中携带的点播时刻是否包含在所述目标知识层片段的被依赖时段中;Determining, when the video on demand request is received, whether the on-demand time carried in the video on demand request is included in the dependent time period of the target knowledge layer segment;
若所述目标知识层片段的被依赖时段包含所述点播时刻,则查看所述目标知识层片段在所述客户端的存储空间中的存储状态,并根据所述存储状态确定所述目标知识层片段的获取方式。If the time period of the target knowledge layer segment includes the on-demand time, view a storage state of the target knowledge layer segment in a storage space of the client, and determine the target knowledge layer segment according to the storage state How to get it.
本申请客户端可通过解析服务器发送的码流的MPD,获取MPD中包含的扩展时段信息,并确定目标知识层片段的被依赖时段,并存储上述目标知识层片段的被依赖时段和目标知识层片段在客户端中的存储状态的存储状态标记。进一步的,客户端可在接收到用户点播视频的点播请求时,根据点播请求中携带的点播时刻查找包含该点播时刻的被依赖时段,进而确定该被依赖时段对应的目标知识层片段及其存储状态。客户端可根据目标知识层片段的存储状态确定是否向服务器请求目标知识层片段,可避免同一个知识层片段的多次加载和存储,节省数据传输带宽,提高码流数据的处理效率。The client of the application can obtain the extended time period information included in the MPD by parsing the MPD of the code stream sent by the server, determine the dependent time period of the target knowledge layer segment, and store the dependent time period and the target knowledge layer of the target knowledge layer segment. The storage status flag of the storage state of the fragment in the client. Further, when receiving the on-demand request of the user-on-demand video, the client may search for the dependent time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the dependent time period and its storage. status. The client can determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, which can avoid multiple loading and storage of the same knowledge layer segment, save data transmission bandwidth, and improve the processing efficiency of the code stream data.
结合第二方面,在第一种可能的实现方式中,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段 对应的第二序列层片段组;With reference to the second aspect, in a first possible implementation, the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment corresponding to the first time period. Group and second period Corresponding second sequence layer segment group;
所述扩展时段信息包括所述第一时段对应的第一扩展时段信息和所述第二时段对应的第二扩展时段信息;The extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
所述第一扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第一扩展时段,所述第二扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第二扩展时段。The first extended period information is used to determine a first extended period of the dependent period of the target knowledge layer segment, and the second extended period information is used to determine a first of the dependent periods of the target knowledge layer segment Two extended time slots.
在本申请中,客户端可解析并获取码流的MPD包含的第一扩展时段信息和第二扩展时段信息,进而可确定第一扩展时段信息对应的第一扩展时段和第二扩展时段信息对应的第二扩展时段,可提高目标知识层片段的扩展时段的确定效率。In the present application, the client may parse and acquire the first extended period information and the second extended period information included in the MPD of the code stream, and may further determine that the first extended period and the second extended period information corresponding to the first extended period information correspond to The second extended period of time can improve the determining efficiency of the extended period of the target knowledge layer segment.
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述第一扩展时段信息和所述第二扩展时段信息为第一扩展标识;With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner, the first extended period information and the second extended period information are first extended identifiers;
所述客户端解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息包括:The media expression description MPD of the code stream sent by the client parsing server determines that the extended time period information carried in the MPD includes:
所述客户端解析所述MPD,获取所述MPD中包含描述层描述的片段信息包含的第一扩展标识;The client parses the MPD, and acquires a first extended identifier that is included in the fragment information that is described by the description layer in the MPD;
所述根据所述扩展时段信息确定出目标知识层片段包括:Determining, according to the extended period information, the target knowledge layer segment includes:
将携带所述第一扩展标识的片段信息对应的片段确定为目标知识层片段;Determining a segment corresponding to the segment information carrying the first extended identifier as a target knowledge layer segment;
其中,所述片段信息包括第一时段对应的第一片段信息和第二时段对应的第二片段信息,所述第一片段信息中携带第一扩展时段信息,所述第二片段信息中携带第二扩展时段信息。The segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
在本申请中,客户端可根据第一扩展标识确定目标知识层片段,可提高目标知识层片段的识别效率,进而提高视频数据的处理效率。In the present application, the client may determine the target knowledge layer segment according to the first extended identifier, which may improve the recognition efficiency of the target knowledge layer segment, thereby improving the processing efficiency of the video data.
结合第二方面第一种可能的实现方式,在第三种可能的实现方式中,所述第一扩展时段信息和所述第二扩展时段信息为第二扩展标识;With reference to the first possible implementation manner of the second aspect, in a third possible implementation manner, the first extended period information and the second extended period information are second extended identifiers;
所述客户端解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息包括:The media expression description MPD of the code stream sent by the client parsing server determines that the extended time period information carried in the MPD includes:
所述客户端解析所述MPD,获取所述MPD中包含的描述层的描述层属性信息中包含的第二扩展标识;The client parses the MPD, and acquires a second extended identifier included in the description layer attribute information of the description layer included in the MPD;
所述根据所述扩展时段信息确定出目标知识层片段包括:Determining, according to the extended period information, the target knowledge layer segment includes:
将携带所述第二扩展标识的描述层描述的片段确定为目标知识层片段;Determining, by the description layer description segment carrying the second extended identifier, a target knowledge layer segment;
其中,所述描述层属性信息中包含第一扩展时段信息和第二扩展时段信息,所述第一片段信息和所述第二片段信息中分别携带一个第二扩展标识。The first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
在本申请中,客户端可根据第二扩展标识确定目标知识层片段,可提高目标知识层片段的识别效率,进而提高视频数据的处理效率。In the present application, the client may determine the target knowledge layer segment according to the second extended identifier, which may improve the recognition efficiency of the target knowledge layer segment, thereby improving the processing efficiency of the video data.
结合第二方面第二种可能的实现方式或者第二方面第三种可能的实现方式,在第四种可能的实现方式中,所述确定出所述目标知识层片段的被依赖时段包括:With reference to the second possible implementation of the second aspect or the third possible implementation of the second aspect, in a fourth possible implementation, the determined time period of determining the target knowledge layer segment includes:
根据所述第一扩展时段信息确定出所述目标知识层片段的第一扩展时段,并根据所述第二扩展时段信息确定出所述目标知识层片段的第二扩展时段;Determining, according to the first extended period information, a first extended period of the target knowledge layer segment, and determining a second extended period of the target knowledge layer segment according to the second extended period information;
将所述第一扩展时段和所述第二扩展时段的并集作为所述目标知识层片段的被依赖时 段。As a dependent time of the target knowledge layer segment, the union of the first extended period and the second extended period segment.
在本申请中,客户端可根据码流的MPD中携带的扩展时段信息确定扩展时段,根据确定出的扩展时段确定目标知识层片段的被依赖时段,通过被依赖时段来标记目标知识层片段,提高了目标知识层片段的识别度,提高目标知识层片段的管理的可操作性。In the present application, the client may determine the extended time period according to the extended time period information carried in the MPD of the code stream, determine the dependent time period of the target knowledge layer segment according to the determined extended time period, and mark the target knowledge layer segment by the dependent time period. The recognition degree of the target knowledge layer segment is improved, and the operability of the management of the target knowledge layer segment is improved.
结合第二方面第四种可能的实现方式,在第五种可能的实现方式中,所述记录所述目标知识层片段的被依赖时段和网络存储地址包括:With reference to the fourth possible implementation of the second aspect, in a fifth possible implementation, the recording the dependent time period and the network storage address of the target knowledge layer segment includes:
根据所述目标知识层片段的网络存储地址创建知识层片段列表,并在所述知识层片段列表中记录所述目标知识层片段的被依赖时段;Generating a knowledge layer segment list according to the network storage address of the target knowledge layer segment, and recording a dependent time period of the target knowledge layer segment in the knowledge layer segment list;
所述方法还包括:The method further includes:
在所述知识层片段列表中添加所述目标知识层片段的存储状态标记,用于表示所述目标知识层片段是否已经存在所述客户端的存储空间中;Adding, in the knowledge layer segment list, a storage state flag of the target knowledge layer segment, to indicate whether the target knowledge layer segment is already in the storage space of the client;
所述查看所述目标知识层片段在所述客户端的存储空间中的存储状态包括:The viewing the storage state of the target knowledge layer segment in the storage space of the client includes:
根据所述目标知识层片段的网络存储地址在所述知识层片段列表中查看所述目标知识层片段的存储状态标记;Viewing a storage status flag of the target knowledge layer segment in the knowledge layer segment list according to a network storage address of the target knowledge layer segment;
若所述存储状态标记为真,则确定所述目标知识层片段在所述存储空间中的存储状态不为空,否则为空;If the storage status flag is true, determining that the storage state of the target knowledge layer segment in the storage space is not empty, otherwise it is empty;
所述根据所述存储状态确定所述目标知识层片段的获取方式包括:Determining, by the storing state, the acquiring manner of the target knowledge layer segment includes:
若所述存储状态不为空,则从所述存储空间中获取所述目标知识层片段,否则向所述服务器发送获取所述目标知识层片段的请求。And if the storage state is not empty, acquiring the target knowledge layer segment from the storage space, and otherwise sending a request for acquiring the target knowledge layer segment to the server.
在本申请中,客户端可存储目标知识层片段的被依赖时段和目标知识层片段在客户端中的存储状态的存储状态标记,进而可在接收到点播请求时根据点播请求中携带的点播时刻查找包含该点播时刻的扩展时段对应的目标知识层片段,并根据目标知识层片段的存储状态确定是否向服务器请求目标知识层片段,或者从存储空间中获取目标知识层片段,可避免同一个知识层片段的多次加载和存储,节省数据传输带宽,提高码流数据的处理效率。In the present application, the client may store the stored status flag of the dependent time period of the target knowledge layer segment and the storage state of the target knowledge layer segment in the client, and then may receive the on-demand time carried in the on-demand request when receiving the request for the on-demand request. Finding a target knowledge layer segment corresponding to the extended time period of the on-demand time, and determining whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or acquiring the target knowledge layer segment from the storage space, the same knowledge can be avoided Multiple loading and storage of layer fragments saves data transmission bandwidth and improves processing efficiency of code stream data.
结合第二方面第五种可能的实现方式,在第六种可能的实现方式中,所述向所述服务器发送获取所述目标知识层片段的请求之后,所述方法还包括:With the fifth possible implementation of the second aspect, in a sixth possible implementation, after the sending, by the server, the request for acquiring the target knowledge layer segment, the method further includes:
接收所述服务器发送的所述目标知识层片段;Receiving the target knowledge layer segment sent by the server;
若所述存储空间的剩余空间大小不小于所述目标知识层片段的数据大小,则将所述目标知识层片段存入所述存储空间,并将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and recording the storage state flag of the target knowledge layer segment as true;
若所述存储空间的剩余空间大小小于所述目标知识层片段的数据大小,则删除所述存储空间中存储的指定目标知识层片段,将所述目标知识层片段存入所述存储空间,并将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording the storage status flag of the target knowledge layer segment as true;
其中,所述指定目标知识层片段的被依赖时段与所述点播时刻的时间距离大于预设时间阈值。The time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
在本申请中,客户端可在接收或者删除了目标知识层片段之后更新目标知识层片段在知识层片段列表中存储的存储状态标记,提高了目标知识层片段的存储状态的管理的准确性,进而提高了目标知识层片段的管理的准确性。 In the present application, the client may update the storage state flag stored in the knowledge layer segment list of the target knowledge layer segment after receiving or deleting the target knowledge layer segment, thereby improving the management accuracy of the storage state of the target knowledge layer segment. Thereby, the accuracy of the management of the target knowledge layer segment is improved.
第三方面提供了一种视频数据的处理装置,其可包括:A third aspect provides a processing device for video data, which may include:
获取单元,用于获取码流中的所有序列层片段中每个序列层片段的片段信息,所述片段信息用于描述所述码流中的序列层片段与知识层片段的依赖关系;And an acquiring unit, configured to acquire segment information of each sequence layer segment in all sequence layer segments in the code stream, where the segment information is used to describe a dependency relationship between the sequence layer segment and the knowledge layer segment in the code stream;
确定单元,用于根据所述获取单元获取的所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段,所述N个序列层片段依赖于所述第一目标知识层片段,所述N个序列层片段中至少包含两个不连续的序列层片段,所述第一目标知识层片段为所述码流中包含的至少一个知识层片段中的一个;a determining unit, configured to determine, according to the segment information of each sequence layer segment acquired by the acquiring unit, N sequence layer segments and a first target knowledge layer segment, wherein the N sequence layer segments are dependent on the first a target knowledge layer segment, the N sequence layer segments include at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream;
所述获取单元,还用于获取所述确定单元确定的所述第一目标知识层片段的片段信息;The acquiring unit is further configured to acquire segment information of the first target knowledge layer segment determined by the determining unit;
添加单元,用于根据所述获取单元获取的所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的媒体表达描述MPD中添加所述第一目标知识层片段的扩展时段信息,所述N个序列层片段在所述扩展时段信息指示的时段内被编码;An adding unit, configured to add the first in the media expression description MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments acquired by the acquiring unit Extended period information of the target knowledge layer segment, the N sequence layer segments being encoded within a period indicated by the extended period information;
发送单元,用于将所述添加单元处理得到的所述码流的MPD发送给客户端。And a sending unit, configured to send the MPD of the code stream obtained by the adding unit to the client.
结合第三方面,在第一种可能的实现方式中,所述确定单元具体用于:With reference to the third aspect, in a first possible implementation manner, the determining unit is specifically configured to:
根据所述获取单元获取的所述每个序列层片段的片段信息中包含的知识层片段的标识确定出每个序列层片段所依赖的知识层片段;Determining, according to the identifier of the knowledge layer segment included in the segment information of each sequence layer segment acquired by the acquiring unit, a knowledge layer segment on which each sequence layer segment depends;
确定出第一目标知识层片段,并确定出依赖所述第一目标知识层片段的N个序列层片段。Determining a first target knowledge layer segment and determining N sequence layer segments that depend on the first target knowledge layer segment.
结合第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;With reference to the first possible implementation manner of the third aspect, in a second possible implementation, the N sequence layer segments include at least two packet sequence layer segments, and the at least two packets include at least a first time period Corresponding first sequence layer segment group and second sequence layer segment group corresponding to the second time period;
所述第一序列层片段组包含N1个序列层片段,所述第二序列层片段组包含N2个序列层片段,所述N1个序列层片段和所述N2个序列层片段不连续,并且N1+N2<=N;The first sequence layer segment group includes N1 sequence layer segments, the second sequence layer segment group includes N2 sequence layer segments, the N1 sequence layer segments and the N2 sequence layer segments are discontinuous, and N1 +N2<=N;
若所述N1>1,则所述N1个序列层片段为连续的序列层片段;若所述N2>1,则所述N2个序列层片段为连续的序列层片段;If the N1>1, the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
所述码流的MPD包含至少两个描述层,所述至少两个描述层中第一描述层描述第一目标知识层片段,第二描述层描述序列层片段;The MPD of the code stream includes at least two description layers, a first description layer of the at least two description layers describes a first target knowledge layer segment, and a second description layer describes a sequence layer segment;
所述添加单元具体用于:The adding unit is specifically used to:
在所述第一描述层包含的所述第一时段对应的第一片段描述中添加第一扩展时段信息,并在所述第一描述层包含的所述第二时段对应的第二片段描述中添加第二扩展时段信息。Adding first extended period information to the first segment description corresponding to the first period included in the first description layer, and in the second segment description corresponding to the second period included in the first description layer Add the second extended period information.
结合第三方面第二种可能的实现方式,在第三种可能的实现方式中,所述第一扩展时段信息和所述第二扩展时段信息均为第一扩展标识;With reference to the second possible implementation manner of the third aspect, in a third possible implementation manner, the first extended period information and the second extended period information are both first extended identifiers;
所述添加单元具体用于:The adding unit is specifically used to:
在所述第一片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识,并在所述第二片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识。Adding a first extended identifier to the segment information of the first target knowledge layer segment included in the first segment description, and segment information of the first target knowledge layer segment included in the second segment description Add the first extension ID.
结合第三方面第二种可能的实现方式,在第四种可能的实现方式中,所述第一扩展时段信息和所述第二扩展时段信息均为第二扩展标识;With reference to the second possible implementation manner of the third aspect, in a fourth possible implementation manner, the first extended period information and the second extended period information are both second extended identifiers;
所述添加单元具体用于: The adding unit is specifically used to:
在所述第一描述层的描述层属性信息中添加所述第一时段对应的第二扩展标识和所述第二时段对应的第二扩展标识。Adding, in the description layer attribute information of the first description layer, a second extension identifier corresponding to the first period and a second extension identifier corresponding to the second period.
结合第三方面第二种可能的实现方式,在第五种可能的实现方式中,若所述第一序列层片段组还依赖第二目标知识层片段,则所述码流的MPD中还包括第三描述层,所述第三描述层描述所述第二目标知识层片段。With reference to the second possible implementation manner of the third aspect, in a fifth possible implementation, if the first sequence layer segment group further depends on the second target knowledge layer segment, the MPD of the code stream further includes a third description layer, the third description layer describing the second target knowledge layer segment.
结合第三方面第五种可能的实现方式,在第六种可能的实现方式中,所述添加单元还用于:In conjunction with the fifth possible implementation of the third aspect, in a sixth possible implementation, the adding unit is further configured to:
在所述第三描述层包含的所述第一时段对应的第三片段描述中添加第三扩展时段信息,所述第三扩展时段信息为第一扩展标识;或者Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier; or
在所述第三描述层的描述层属性信息中添加第三扩展时段信息,所述第三扩展时段信息为第二扩展标识。The third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
在本申请中,服务器可将被至少两个不连续的序列层片段依赖的知识层片段确定为目标知识层片段,并在码流的MPD中添加扩展时段信息来标记目标知识层片段的扩展时段等信息,以供客户端对目标知识层片段和非目标知识层片段区分,进而可避免目标知识层片段的重复加载和传输,节省数据传输带宽,增强了视频数据的处理的适用性。In the present application, the server may determine a knowledge layer segment that is dependent on at least two discontinuous sequence layer segments as a target knowledge layer segment, and add extended time period information in the MPD of the code stream to mark an extended period of the target knowledge layer segment. The information is used for the client to distinguish between the target knowledge layer segment and the non-target knowledge layer segment, thereby avoiding repeated loading and transmission of the target knowledge layer segment, saving data transmission bandwidth, and enhancing the applicability of the video data processing.
第四方面提供了一种视频数据的处理装置,其可包括:A fourth aspect provides a processing device for video data, which may include:
解析单元,用于解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息,所述扩展时段信息用于确定所述码流中包含的目标知识层片段的被依赖时段,所述目标知识层片段为所述码流中包含的至少一个知识层片段中的一个,所述目标知识层片段被所述码流中的N个序列层片段依赖;a parsing unit, configured to parse a media expression description MPD of the code stream sent by the server, and determine extended period information carried in the MPD, where the extended period information is used to determine that the target knowledge layer segment included in the code stream is dependent a period of time, the target knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream;
确定单元,用于根据所述解析单元获取的所述扩展时段信息确定出目标知识层片段,并确定出所述目标知识层片段的被依赖时段,所述N个序列层片段在所述目标知识层片段的被依赖时段内已被编码;a determining unit, configured to determine a target knowledge layer segment according to the extended time period information acquired by the parsing unit, and determine a dependent time period of the target knowledge layer segment, where the N sequence layer segments are in the target knowledge The slice segment has been encoded within the time period of the dependency;
记录单元,用于从所述解析单元解析的所述码流的MPD获取所述目标知识层片段的网络存储地址,记录所述确定单元确定的所述目标知识层片段的被依赖时段和所述网络存储地址;a recording unit, configured to acquire, from an MPD of the code stream parsed by the parsing unit, a network storage address of the target knowledge layer segment, and record a dependent time period of the target knowledge layer segment determined by the determining unit, and the Network storage address;
判断单元,用于在获取到视频点播请求时,判断所述视频点播请求中携带的点播时刻是否包含在所述记录单元记录的所述目标知识层片段的被依赖时段中;a determining unit, configured to determine, when the video on demand request is obtained, whether an on-demand time carried in the video-on-demand request is included in a time-dependent period of the target knowledge layer segment recorded by the recording unit;
获取单元,用于在所述判断单元的判断结果为是时,查看所述目标知识层片段在所述客户端的存储空间中的存储状态,并根据所述存储状态确定所述目标知识层片段的获取方式。An obtaining unit, configured to: when the determination result of the determining unit is yes, view a storage state of the target knowledge layer segment in a storage space of the client, and determine, according to the storage state, the target knowledge layer segment method of obtaining.
结合第四方面,在第一种可能的实现方式中,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;With reference to the fourth aspect, in a first possible implementation manner, the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment corresponding to the first time period. a second sequence layer segment group corresponding to the group and the second time period;
所述扩展时段信息包括所述第一时段对应的第一扩展时段信息和所述第二时段对应的第二扩展时段信息;The extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
所述第一扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第一扩展时段, 所述第二扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第二扩展时段。The first extended period information is used to determine a first extended period of the dependent time period of the target knowledge layer segment, The second extended period information is used to determine a second extended period of the dependent time period of the target knowledge layer segment.
结合第四方面第一种可能的实现方式,在第二种可能的实现方式中,所述第一扩展时段信息和所述第二扩展时段信息为第一扩展标识;With reference to the first possible implementation manner of the fourth aspect, in a second possible implementation manner, the first extended period information and the second extended period information are first extended identifiers;
所述解析单元具体用于:The parsing unit is specifically configured to:
解析所述MPD,获取所述MPD中包含描述层描述的片段信息包含的第一扩展标识;Parsing the MPD, and acquiring a first extended identifier included in the fragment information including the description of the description layer in the MPD;
所述确定单元具体用于:The determining unit is specifically configured to:
将携带所述解析单元获取的所述第一扩展标识的片段信息对应的片段确定为目标知识层片段;Determining a segment corresponding to the segment information of the first extended identifier acquired by the parsing unit as a target knowledge layer segment;
其中,所述片段信息包括第一时段对应的第一片段信息和第二时段对应的第二片段信息,所述第一片段信息中携带第一扩展时段信息,所述第二片段信息中携带第二扩展时段信息。The segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
结合第四方面第一种可能的实现方式,在第三种可能的实现方式中,所述第一扩展时段信息和所述第二扩展时段信息为第二扩展标识;With reference to the first possible implementation manner of the fourth aspect, in a third possible implementation, the first extended period information and the second extended period information are second extended identifiers;
所述解析单元具体用于:The parsing unit is specifically configured to:
解析所述MPD,获取所述MPD中包含的描述层的描述层属性信息中包含的第二扩展标识;Parsing the MPD, and acquiring a second extended identifier included in the description layer attribute information of the description layer included in the MPD;
所述确定单元具体用于:The determining unit is specifically configured to:
将携带所述解析单元获取的所述第二扩展标识的描述层描述的片段确定为目标知识层片段;Determining, by the parsing unit, a segment of the description layer of the second extended identifier that is obtained by the parsing unit as a target knowledge layer segment;
其中,所述描述层属性信息中包含第一扩展时段信息和第二扩展时段信息,所述第一片段信息和所述第二片段信息中分别携带一个第二扩展标识。The first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
结合第四方面第二种可能的实现方式或者第四方面第三种可能的实现方式,在第四种可能的实现方式中,所述确定单元具体用于:With reference to the second possible implementation manner of the fourth aspect or the third possible implementation manner of the fourth aspect, in a fourth possible implementation manner, the determining unit is specifically configured to:
根据所述第一扩展时段信息确定出所述目标知识层片段的第一扩展时段,并根据所述第二扩展时段信息确定出所述目标知识层片段的第二扩展时段;Determining, according to the first extended period information, a first extended period of the target knowledge layer segment, and determining a second extended period of the target knowledge layer segment according to the second extended period information;
将所述第一扩展时段和所述第二扩展时段的并集作为所述目标知识层片段的被依赖时段。A union of the first extended period and the second extended period is taken as a dependent period of the target knowledge layer segment.
结合第四方面第四种可能的实现方式,在第五种可能的实现方式中,所述记录单元具体用于:With reference to the fourth possible implementation of the fourth aspect, in a fifth possible implementation, the recording unit is specifically configured to:
根据所述目标知识层片段的网络存储地址创建知识层片段列表,并在所述知识层片段列表中记录所述目标知识层片段的被依赖时段;Generating a knowledge layer segment list according to the network storage address of the target knowledge layer segment, and recording a dependent time period of the target knowledge layer segment in the knowledge layer segment list;
所述记录单元还用于:The recording unit is further configured to:
在所述知识层片段列表中添加所述目标知识层片段的存储状态标记,用于表示所述目标知识层片段是否已经存在所述客户端的存储空间中;Adding, in the knowledge layer segment list, a storage state flag of the target knowledge layer segment, to indicate whether the target knowledge layer segment is already in the storage space of the client;
所述获取单元具体用于:The obtaining unit is specifically configured to:
根据所述目标知识层片段的网络存储地址在所述知识层片段列表中查看所述目标知识层片段的存储状态标记;Viewing a storage status flag of the target knowledge layer segment in the knowledge layer segment list according to a network storage address of the target knowledge layer segment;
若所述存储状态标记为真,则确定所述目标知识层片段在所述存储空间中的存储状态 不为空,否则为空;Determining a storage state of the target knowledge layer segment in the storage space if the storage status flag is true Not empty, otherwise empty;
若所述存储状态不为空,则从所述存储空间中获取所述目标知识层片段,否则向所述服务器发送获取所述目标知识层片段的请求。And if the storage state is not empty, acquiring the target knowledge layer segment from the storage space, and otherwise sending a request for acquiring the target knowledge layer segment to the server.
结合第四方面第五种可能的实现方式,在第六种可能的实现方式中,所述获取单元还用于:With reference to the fifth possible implementation manner of the fourth aspect, in a sixth possible implementation, the acquiring unit is further configured to:
接收所述服务器发送的所述目标知识层片段;Receiving the target knowledge layer segment sent by the server;
若所述存储空间的剩余空间大小不小于所述目标知识层片段的数据大小,则将所述目标知识层片段存入所述存储空间,并通过所述记录单元将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and using the recording unit to segment the target knowledge layer segment The storage status flag is marked as true;
若所述存储空间的剩余空间大小小于所述目标知识层片段的数据大小,则删除所述存储空间中存储的指定目标知识层片段,将所述目标知识层片段存入所述存储空间,并通过所述记录单元将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording, by the recording unit, a storage status flag of the target knowledge layer segment as true;
其中,所述指定目标知识层片段的被依赖时段与所述点播时刻的时间距离大于预设时间阈值。The time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
在本申请中,客户端可通过解析码流的MPD,获取MPD中包含的扩展时段信息,并确定目标知识层片段的被依赖时段,并存储上述目标知识层片段的被依赖时段和目标知识层片段在客户端中的存储状态的存储状态标记。进一步的,客户端可在接收到用户点播视频的点播请求时,根据点播请求中携带的点播时刻查找包含该点播时刻的扩展时段,进而确定该扩展时段对应的目标知识层片段及其存储状态标记。客户端可根据目标知识层片段的存储状态确定是否向服务器请求目标知识层片段,或者从本地存储空间中获取目标知识层片段,可避免同一个知识层片段的多次加载和存储,节省数据传输带宽,提高码流数据的处理效率。In the present application, the client may obtain the extended time period information included in the MPD by parsing the MPD of the code stream, determine the dependent time period of the target knowledge layer segment, and store the dependent time period and the target knowledge layer of the target knowledge layer segment. The storage status flag of the storage state of the fragment in the client. Further, when receiving the request for the on-demand video of the user, the client may search for the extended time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the extended time period and the storage status flag thereof. . The client may determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or obtain the target knowledge layer segment from the local storage space, thereby avoiding multiple loading and storage of the same knowledge layer segment, and saving data transmission. Bandwidth, improve the processing efficiency of the stream data.
第五方面提供了一种服务器,其可包括:存储器和处理器,所述存储和所述处理器相连;A fifth aspect provides a server, which can include: a memory and a processor, the storage being coupled to the processor;
所述存储器用于存储一组程序代码;The memory is for storing a set of program codes;
所述处理器用于调用所述存储器中存储的程序代码执行如上述第一方面提供的视频数据的处理方法。The processor is configured to invoke a program code stored in the memory to execute a processing method of the video data as provided in the first aspect above.
第六方面提供了一种客户端,其可包括:存储器和处理器,所述存储和所述处理器相连;A sixth aspect provides a client, which can include: a memory and a processor, the storage being connected to the processor;
所述存储器用于存储一组程序代码;The memory is for storing a set of program codes;
所述处理器用于调用所述存储器中存储的程序代码执行如上述第二方面提供的视频数据的处理方法。The processor is configured to invoke a program code stored in the memory to execute a processing method of video data as provided in the second aspect above.
附图说明DRAWINGS
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present invention. Other drawings may also be obtained from those of ordinary skill in the art in light of the inventive work.
图1是系统传输方案DASH标准的传输框架实例示意图;1 is a schematic diagram of an example of a transmission framework of a system transmission scheme DASH standard;
图2是系统传输方案DASH标准的MPD的结构示意图;2 is a schematic structural diagram of an MPD of a system transmission scheme DASH standard;
图3是相互独立的随机访问片段的示意图;3 is a schematic diagram of mutually independent random access segments;
图4是基于知识库的视频编码中以一个知识库编码参考的示意图;4 is a schematic diagram of a knowledge base encoding reference in a video encoding based on a knowledge base;
图5是SVC的基本层码流和增强层码流的关系示意图;5 is a schematic diagram showing the relationship between a base layer code stream and an enhancement layer code stream of an SVC;
图6是按照DASH标准为SVC码流生成的MPD的实例示意图;6 is a schematic diagram of an example of an MPD generated for an SVC code stream according to the DASH standard;
图7是本发明实施例提供的视频数据的处理系统的示意图;FIG. 7 is a schematic diagram of a video data processing system according to an embodiment of the present invention; FIG.
图8是本发明实施例提供的视频数据的处理方法的流程示意图;FIG. 8 is a schematic flowchart of a method for processing video data according to an embodiment of the present disclosure;
图9是LBVC产生的视频内容的片段示意图;9 is a fragmentary diagram of video content generated by LBVC;
图10是本发明实施例提供了MPD示意图;FIG. 10 is a schematic diagram of an MPD according to an embodiment of the present invention; FIG.
图11是在DASH标准的语法元素的基础上添加扩展标识的一示意图;11 is a schematic diagram of adding an extended identifier based on a syntax element of a DASH standard;
图12是在DASH标准的语法元素的基础上添加扩展标识的另一示意图;12 is another schematic diagram of adding an extended identifier based on syntax elements of the DASH standard;
图13是在DASH标准的语法元素的基础上添加扩展标识的另一示意图;FIG. 13 is another schematic diagram of adding an extended identifier based on syntax elements of the DASH standard; FIG.
图14是采用LBVC方法从视频序列中提取知识库图像的示意图;14 is a schematic diagram of extracting a knowledge base image from a video sequence by using an LBVC method;
图15是知识库图像切分为知识层片段的一示意图;15 is a schematic diagram of a knowledge base image segmented into knowledge layer segments;
图16是知识库图像切分为知识层片段的另一示意图;16 is another schematic diagram of the knowledge base image being divided into knowledge layer segments;
图17是知识层片段列表的一示意图;17 is a schematic diagram of a knowledge layer fragment list;
图18是知识层片段列表的另一示意图;18 is another schematic diagram of a knowledge layer fragment list;
图19是知识层片段列表的另一示意图;19 is another schematic diagram of a knowledge layer fragment list;
图20是本发明实施例提供的视频数据的处理装置的一结构示意图;20 is a schematic structural diagram of a video data processing apparatus according to an embodiment of the present invention;
图21是本发明实施例提供的视频数据的处理装置的另一结构示意图;21 is another schematic structural diagram of a video data processing apparatus according to an embodiment of the present invention;
图22是本发明实施例提供的服务器的结构示意图;FIG. 22 is a schematic structural diagram of a server according to an embodiment of the present invention;
图23是本发明实施例提供的客户端的结构示意图。FIG. 23 is a schematic structural diagram of a client according to an embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
当前以客户端为主导的系统层视频流媒体传输方案可采用DASH标准框架,如图1,图1是系统传输方案DASH标准的传输框架实例示意图。系统层视频流媒体传输方案的数据传输过程包括两个过程:服务器(如HTTP服务器)为视频内容生成媒体数据的过程,和客户端(如HTTP流媒体客户端)向服务器请求并获取媒体数据的过程。其中,服务器上的媒体表达中包括多个描述层,每个描述层描述多个片段。客户端的HTTP流媒体请求控制模块获取服务器发送的媒体表达描述(英文:Media Presentation Description,MPD),并对MPD进行分析确定要请求的片段,通过HTTP请求接收端向服务器请求相应的片段,并通过媒体播放器进行解码播放。The current client-side system layer video streaming media transmission scheme can adopt the DASH standard framework, as shown in FIG. 1. FIG. 1 is a schematic diagram of a transmission framework of the system transmission scheme DASH standard. The data transmission process of the system layer video streaming media transmission scheme includes two processes: a process in which a server (such as an HTTP server) generates media data for video content, and a client (such as an HTTP streaming media client) requests and obtains media data from a server. process. Wherein, the media expression on the server includes multiple description layers, and each description layer describes multiple segments. The HTTP streaming request control module of the client obtains the media presentation description (MPD) sent by the server, and analyzes the MPD to determine the fragment to be requested, and requests the corresponding fragment from the server through the HTTP request receiving end, and passes the The media player performs decoding playback.
1)在上述服务器为视频内容生成媒体数据的过程中,服务器为视频内容生成的媒体 数据包括同一视频内容的不同版本的视频码流和码流的MPD。例如,服务器为同一集电视剧的视频内容生成低分辨率低码率低帧率(如360p分辨率、300kbps码率、15fps帧率)的码流,中分辨率中码率高帧率(如720p分辨率、1200kbps码率、25fps帧率)的码流,高分辨率高码率高帧率(如1080p分辨率、3000kbps码率、25fps帧率)的码流等。1) The media generated by the server for the video content in the process of generating media data for the video content by the server The data includes different versions of the video stream and the MPD of the code stream for the same video content. For example, the server generates a low-resolution low-rate low frame rate (such as 360p resolution, 300kbps code rate, 15fps frame rate) for the video content of the same episode, and a medium-rate medium-rate high frame rate (such as 720p). Resolution, 1200 kbps, 25 fps frame rate, high resolution, high bit rate, high frame rate (such as 1080p resolution, 3000 kbps, 25 fps frame rate).
此外,服务器还可为该集电视剧的视频内容生成码流的MPD。其中,如图2,图2是系统传输方案DASH标准的MPD的结构示意图。上述码率的MPD包含多个描述层(英文:Representation),例如,图2的媒体表达(英文:Media Presentation)中的period start=100s部分可包含Representation1、Representation2、…等多个描述层。每个描述层描述上述码流的一个或者多个片段。其中,上述码流中的MPD包含的各个描述层之间可以相互独立、也可以相互依赖。其中,上述各个描述层之间相互独立表示各个描述层的编解码不参考其他描述层(例如描述知识层片段的描述层,该知识层片段的编解码不参考其他片段),各个描述层之间相互依赖表示各个描述层的编解码需要参考其他描述层(例如描述序列层片段的描述层,该序列层片段的编解码需要参考知识层片段)。每个描述层按照时序描述若干个片段(英文:Segment)的信息,例如初始化片段(英文:Initialization segment)、Media Segment1、Media Segment1、…、Media Segment20等,所有片段在时间上首尾相接。每个片段包含一个时间段内的视频码流,片段在描述层中的描述包括播放起始时刻、播放持续时长、网络存储地址(例如以统一资源定位符(英文:Universal Resource Locator,URL)的形式表示的网络存储地址)等片段信息。In addition, the server can also generate an MPD of the stream for the video content of the episode. 2, FIG. 2 is a schematic structural diagram of an MPD of a system transmission scheme DASH standard. The MPD of the above code rate includes a plurality of description layers (English: Representation). For example, the period start=100s part in the media expression (English: Media Presentation) of FIG. 2 may include multiple description layers such as Representation 1, Representation 2, . Each description layer describes one or more segments of the above code stream. The description layers included in the MPD in the foregoing code stream may be independent of each other or may depend on each other. Wherein, each of the foregoing description layers is independent of each other, and the codec of each description layer does not refer to other description layers (for example, a description layer describing a knowledge layer segment, and the codec of the knowledge layer segment does not refer to other segments), and each description layer is between Interdependence means that the codec of each description layer needs to refer to other description layers (for example, a description layer describing a sequence layer fragment, and the codec of the sequence layer fragment needs to refer to the knowledge layer fragment). Each description layer describes information of several segments (English: Segment) according to time series, such as initialization segments (English: Initialization segment), Media Segment1, Media Segment1, ..., Media Segment20, etc., all of which are connected end to end in time. Each segment contains a video stream within a time period, and the description of the segment in the description layer includes a playback start time, a playback duration, and a network storage address (for example, a Uniform Resource Locator (URL). Fragment information such as the form of the network storage address).
进一步的,片段还允许被细分为多个子片段(英文:Subsegment),每个子片段包含片段的一部分,子片段的信息包括播放起始时刻、播放持续时长、该子片段在其所属片段的码流中的字节范围(英文:Byte Range)等。上述子片段的信息由片段索引(英文:Segment Index)描述,每个片段索引描述一个片段中所有的子片段的信息;片段索引可以和片段合并、存储在片段的起始位置,也可以独立存储在索引片段(英文:Index Segment)中。上述子片段的更多描述可参见系统传输方案DASH标准中提供的信息,在此不做限制。Further, the segment is further allowed to be subdivided into a plurality of sub-segments (English: Subsegment), and each sub-segment includes a part of the segment, and the information of the sub-segment includes a playback start time, a playback duration, and a code of the sub-segment in the segment to which the sub-segment belongs. The range of bytes in the stream (English: Byte Range) and so on. The information of the above sub-segments is described by a segment index (English: Segment Index), each segment index describes information of all sub-segments in a segment; the segment index may be merged with the segment, stored at the beginning of the segment, or may be stored separately. In the index fragment (English: Index Segment). For a more detailed description of the above sub-segments, refer to the information provided in the DASH standard of the system transmission scheme, which is not limited herein.
2)在客户端向服务器请求并获取媒体数据的过程中,用户选择播放视频时,客户端根据用户点播的操作请求向服务器获取视频码流的MPD,进而根据码流的MPD中描述的视频片段的信息生成片段列表。上述片段列表描述了每个片段的播放时段和该片段的网络存储地址。客户端根据用户点播的播放时刻等因素从片段列表中获取一个或多个片段的网络存储地址,向服务器发送下载网络存储地址对应的视频片段数据的请求,服务器根据接收到的请求向客户端发送视频片段内容。客户端获取得到服务器发送的视频片段内容之后,则可通过媒体播放器进行解码、播放等操作。2) In the process of the client requesting and obtaining the media data from the server, when the user selects to play the video, the client obtains the MPD of the video code stream according to the operation request of the user's on-demand, and then according to the video segment described in the MPD of the code stream. The information generates a list of fragments. The above fragment list describes the playback period of each clip and the network storage address of the clip. The client obtains the network storage address of the one or more segments from the segment list according to factors such as the playback time of the user's on-demand, and sends a request for downloading the video segment data corresponding to the network storage address to the server, and the server sends the request to the client according to the received request. Video clip content. After the client obtains the content of the video clip sent by the server, it can perform decoding, playback, and the like through the media player.
系统层视频流媒体传输方案采用DASH标准,通过客户端分析MPD、按需向服务器请求视频数据并接收服务器发送的数据的方式实现视频数据的传输。系统层视频流媒体传输方案采用DASH标准主要适用于传统视频编码(例如H.264、HEVC(英文全称:High Efficiency Video Coding)等编码标准)产生的视频码流。如图3,图3是多个相互独立的随机访问片段的示意图。其中,圆点代表随机访问点,方块代表随机访问点后的随机访问片段,带有x号的虚线箭头表示箭头指向的随机访问片段在编码时不能参考虚线起始的随机访问片段的信息。即,在传统视频的编解码技术中,一个随机访问片段中的图像只能作 为该随机访问片段中的其他图像的参考图像/参考帧,即不允许跨随机访问点的帧间预测,较大地限制了视频编/解码的效率。The system layer video streaming media transmission scheme adopts the DASH standard, and realizes the transmission of video data by analyzing the MPD by the client, requesting the video data to the server as needed, and receiving the data sent by the server. The system layer video streaming media transmission scheme adopts the DASH standard and is mainly applied to a video stream generated by a conventional video encoding (for example, an encoding standard such as H.264, HEVC (High Efficiency Video Coding)). 3, FIG. 3 is a schematic diagram of a plurality of mutually independent random access segments. Wherein, the dot represents a random access point, the square represents a random access segment after the random access point, and the dotted arrow with an x symbol indicates that the random access segment pointed by the arrow cannot refer to the information of the random access segment starting from the dotted line when encoding. That is, in the conventional video codec technology, the image in a random access segment can only be made The reference image/reference frame of other images in the random access segment, that is, inter-prediction across random access points is not allowed, which greatly limits the efficiency of video encoding/decoding.
LBVC将多个随机访问片段中的公共图像信息(包含了随机访问片段间的互信息(英文:mutual information),即随机访问片段间的图像在编解码时相互参考的信息)提取组织成知识库,这些公共图像信息仅编码一次,各随机访问片段中的图像允许参考这些公共图像信息进行编码(和解码),从而使得编码器(或解码器)利用随机访问片段之间的互信息,进一步去除视频序列的冗余信息,提升整个视频序列的编码效率,降低存储空间,节省传输带宽。如图4,图4是基于知识库的视频编码中以一个知识库为其他随机访问片段提供编码参考的示意图。其中,圆点代表随机访问点,方块代表随机访问点后的随机访问片段,箭头表示多个随机访问片段在编码时以知识库(英文:Library)提供的信息作为参考。LBVC extracts common image information in multiple random access segments (including mutual information between random access segments (English: mutual information), that is, information that the images between random access segments are mutually referenced during encoding and decoding). These common image information are encoded only once, and the images in each random access segment are allowed to be encoded (and decoded) with reference to the common image information, thereby enabling the encoder (or decoder) to further remove the mutual information between the randomly accessed segments. The redundant information of the video sequence improves the coding efficiency of the entire video sequence, reduces the storage space, and saves the transmission bandwidth. As shown in FIG. 4, FIG. 4 is a schematic diagram of providing a coding reference for other random access segments by using one knowledge base in the video coding of the knowledge base. Among them, the dot represents a random access point, the square represents a random access segment after the random access point, and the arrow indicates that a plurality of random access segments are referenced by the information provided by the knowledge base (English: Library) at the time of encoding.
采用基于知识库的视频编码方法对一个视频序列进行编码产生的序列层码流中的图像(称序列图像)有其对应的时刻,序列图像在该时刻被操作则称该时刻为该序列图像的被操作时刻。其中,上述被操作包括被编码、被解码、被播放或被使用。在具体实现中,序列图像多数情况下被用于播放,因此下文序列图像的被操作时刻将以播放时刻为例进行说明。相应的,一段序列层码流的播放时刻的集合称为该序列层码流的播放时段,序列层片段的被操作时段将以播放时段为例进行说明。然而,由于知识库图像可以被视频序列中任意播放时刻的图像作为编码(或者解码,下面将以编码为例进行说明)参考,知识库图像本身并没有像序列图像一样的播放时刻信息。在系统层传输中,为了能够通过时间信息获取序列层码流和知识层码流的依赖关系(即参考与被参考的关系),系统为每个知识库图像分配被依赖时段(英文:Depended Duration,DD)。一个知识库图像的被依赖时段至少覆盖依赖上述知识库图像的所有序列图像的播放时刻,即一个知识库图像的被依赖时段中包含了以该知识库图像为编码参考的每个序列图像的播放时刻。因此,客户端在请求某一播放时段的序列层码流时,需要同时请求被依赖时段覆盖上述播放时段的知识层码流,以保证媒体播放器对视频数据的正确解码。An image in a sequence layer code stream (called a sequence image) generated by encoding a video sequence by using a video encoding method based on a knowledge base has its corresponding time. When the sequence image is operated at the time, the time is called the sequence image. The moment of being operated. Wherein, the above operations include being encoded, decoded, played, or used. In a specific implementation, the sequence image is used for playback in most cases, so the operation time of the sequence image below will be described by taking the playback time as an example. Correspondingly, the set of playing times of the sequence layer code stream is referred to as the playing period of the sequence layer code stream, and the operated time period of the sequence layer segment will be described by taking the playing time period as an example. However, since the knowledge base image can be encoded (or decoded, which will be described below by way of example) as an image of any playback time in the video sequence, the knowledge base image itself does not have the same playback time information as the sequence image. In the system layer transmission, in order to obtain the dependence of the sequence layer code stream and the knowledge layer code stream through the time information (ie, the reference and the referenced relationship), the system allocates a dependent time period for each knowledge base image (English: Depended Duration) , DD). The dependent time period of a knowledge base image covers at least the playing time of all the sequence images that depend on the above-mentioned knowledge base image, that is, the time-dependent period of a knowledge base image includes the playing of each sequence image with the knowledge base image as a coding reference. time. Therefore, when requesting the sequence layer code stream of a certain playing period, the client needs to simultaneously request the knowledge layer code stream of the playing period covered by the dependent period to ensure correct decoding of the video data by the media player.
LBVC的双码流组织方式与SVC的分级码流组织方式具有一定的相似性,但是由于两种方式中层级码流之间的依赖关系不同,即参考关系不同,因此需要针对LBVC的双码流组织方式的特点对现有的DASH的系统层传输方案进行改进,以确定既能实现LBVC的码流组织方式对应的数据传输,又能发挥LBVC的优势的数据传输方式。The dual-stream organization of LBVC has certain similarities with the hierarchical code stream organization of SVC. However, since the dependencies between the hierarchical code streams are different in the two modes, that is, the reference relationship is different, the dual-stream for LBVC is required. The characteristics of the organization mode improve the existing DASH system layer transmission scheme to determine the data transmission mode that can realize the data transmission corresponding to the code stream organization mode of LBVC and the advantage of LBVC.
在SVC编码中,SVC编码产生可分级的视频码流,上述视频码流包含一个基本层码流和至少一个增强层码流。如图5,图5是SVC的基本层码流和增强层码流的关系示意图。其中,每个方块代表一幅图像,层间的箭头表示增强层的一幅图像在使用层间预测(英文:Inter-Layer Prediction)编码时只能参考基本层中的同一时刻的图像。在SVC码流的系统层传输中,DASH标准在MPD中使用不同的描述层描述基本层码流和增强层码流的信息,并且标明增强层码流的描述层依赖于基本层码流的描述层。如图6,图6是按照DASH标准为SVC码流生成的MPD的实例示意图。DASH标准在MPD的描述层中通过dep_id等标识来描述两层码流具有依赖性的特征。其中,Representation1的id为rep1,Representation2为rep2。Representation2描述的信息中包含dep_id=rep1,表示Representation2依赖 Representation1。In SVC coding, SVC coding produces a scalable video code stream, the video code stream comprising a base layer code stream and at least one enhancement layer code stream. FIG. 5 is a schematic diagram showing the relationship between the base layer code stream and the enhancement layer code stream of the SVC. Each of the squares represents an image, and the arrows between the layers indicate that an image of the enhancement layer can only refer to the image at the same time in the base layer when encoding using Inter-Layer Prediction. In the system layer transmission of the SVC code stream, the DASH standard uses different description layers in the MPD to describe the information of the base layer code stream and the enhancement layer code stream, and the description layer indicating the enhancement layer code stream depends on the description of the base layer code stream. Floor. 6, FIG. 6 is a schematic diagram of an example of an MPD generated for an SVC code stream according to the DASH standard. The DASH standard describes the characteristics of the two-layer code stream with dependency by the dep_id or the like in the description layer of the MPD. Among them, the id of Representation1 is rep1, and Representation2 is rep2. The information described by Representation2 contains dep_id=rep1, indicating Representation2 dependency. Representation1.
具体的,在服务器端,增强层码流和基本层码流会被切分成增强层片段和基本层片段,每个片段包含码流中一个时段的数据。由于增强层码流只能参考依赖同一时刻的基本层码流,增强层片段和其依赖的基本层片段分别覆盖的时段是一致对齐的。即,增强层片段对应的增强层码流的时段,与其依赖的基础层片段对应的基础层码流的时段,两个时段的起始时刻和终止时刻均相同。客户端在请求视频数据时,请求某一时段的增强层片段,需要同时请求与增强层片段的时段对齐的一个或多个基本层片段,从而确保增强层片段和其依赖的基本层片段同时存在,并将两部分码流组合成符合SVC解码要求的码流传送给客户端解码。Specifically, on the server side, the enhancement layer code stream and the base layer code stream are sliced into an enhancement layer segment and a base layer segment, and each segment contains data of one period in the code stream. Since the enhancement layer code stream can only refer to the base layer code stream that depends on the same moment, the period covered by the enhancement layer fragment and its dependent base layer fragment is uniformly aligned. That is, the period of the enhancement layer code stream corresponding to the enhancement layer fragment, and the period of the base layer code stream corresponding to the base layer fragment to which it depends, the start time and the end time of both periods are the same. When requesting video data, the client requests an enhancement layer fragment of a certain period of time, and needs to simultaneously request one or more base layer fragments aligned with the period of the enhancement layer fragment, thereby ensuring that the enhancement layer fragment and its dependent base layer fragment coexist. And combining the two parts of the code stream into a code stream that meets the SVC decoding requirement and transmitting it to the client for decoding.
由于SVC码流中基本层码流和增强层码流的依赖关系与LBVC码流中知识层码流和序列层码流的依赖关系有区别,不能简单按照DASH标准描述SVC码流的方法来描述LBVC码流,否则就不能发挥LBVC减少存储空间和节省传输带宽的优势。具体原因如下:Since the dependence of the base layer code stream and the enhancement layer code stream in the SVC code stream is different from the dependence of the knowledge layer code stream and the sequence layer code stream in the LBVC code stream, the method of describing the SVC code stream by the DASH standard cannot be simply described. LBVC code stream, otherwise it can not play the advantage of LBVC to reduce storage space and save transmission bandwidth. The specific reasons are as follows:
1)SVC码流和LBVC码流的依赖关系的区别在于:1) The difference between the SVC code stream and the LBVC code stream depends on:
SVC码流包含一个独立的基本层码流和至少一个增强层码流。假设只有一个增强层码流,增强层码流中一幅图像在使用层间预测编码时只能依赖基本层码流中同一时刻的图像。The SVC code stream includes a separate base layer code stream and at least one enhancement layer code stream. Assuming that there is only one enhancement layer code stream, an image in the enhancement layer code stream can only rely on the image at the same time in the base layer code stream when using inter-layer predictive coding.
LBVC码流包含至少一个知识层码流(其中至少一个知识层码流是独立的,一种可行的实施例为所有知识层码流都是独立的)和至少一个序列层码流。假设只有一个知识层码流和一个序列层码流,序列层码流中一幅图像在编码时可依赖知识层码流中至少一幅知识库图像,即序列层码流中的一幅图像在编码时若依赖知识库图像,则可至少以知识层码流中的一幅知识库图像为参考。同时,LBVC码流的知识层码流中一幅知识库图像被序列层码流中至少两幅图像依赖,且这至少两幅图像对应的序列层片段之间可能还存在其它序列层片段,即这些依赖于知识库图像的序列层片段可能是时间上不连续的。需要说明的是,在LBVC码流中,序列层码流也可以不依赖知识层码流,若序列层码流依赖知识层码流,则可按照如下实现方式执行。对于序列层码流不依赖知识层码流的场景,本发明实施例不做限制。The LBVC code stream includes at least one knowledge layer code stream (where at least one knowledge layer code stream is independent, one possible embodiment is that all knowledge layer code streams are independent) and at least one sequence layer code stream. Assuming that there is only one knowledge layer code stream and one sequence layer code stream, one image in the sequence layer code stream can rely on at least one knowledge base image in the knowledge layer code stream when encoding, that is, one image in the sequence layer code stream is When relying on the knowledge base image during encoding, at least one knowledge base image in the knowledge layer code stream can be used as a reference. Meanwhile, a knowledge base image in the knowledge layer code stream of the LBVC code stream is dependent on at least two images in the sequence layer code stream, and there may be other sequence layer segments between the sequence layer segments corresponding to the at least two images, ie These sequence layer segments that depend on the knowledge base image may be discontinuous in time. It should be noted that, in the LBVC code stream, the sequence layer code stream may also be independent of the knowledge layer code stream. If the sequence layer code stream depends on the knowledge layer code stream, the following implementation manner may be performed. The embodiment of the present invention does not limit the scenario in which the sequence layer code stream does not depend on the knowledge layer code stream.
2)在系统层传输中,码流被切分封装为片段,上述SVC码流和LBVC码流的依赖关系的区别导致SVC码流切分封装的片段和LBVC码流切分封装的片段的依赖关系也存在区别:2) In the system layer transmission, the code stream is sliced and encapsulated into segments, and the difference between the SVC code stream and the LBVC code stream depends on the SVC code stream segmentation encapsulated segment and the LBVC code stream segmentation encapsulated segment dependency. There are also differences in relationships:
在SVC码流中,增强层码流被切分封装为增强层片段,基本层码流被切分封装为基本层片段。同时,增强层片段只能依赖与其时段相同的基本层片段,即由增强层码流切分得到的任一时段的增强层片段只能依赖由基础层码流切分得到的该时段的基础层片段。In the SVC code stream, the enhancement layer code stream is sliced into enhancement layer segments, and the base layer code stream is sliced and encapsulated into a base layer segment. At the same time, the enhancement layer fragment can only rely on the same base layer fragment as its period, that is, the enhancement layer fragment of any period obtained by the enhancement layer code stream segmentation can only depend on the base layer of the period obtained by the base layer code stream segmentation. Fragment.
在LBVC码流中,序列层码流被切分封装为序列层片段,知识层码流被切分封装为知识层片段。同时,至少一个序列层片段依赖至少一个知识层片段(即,在LBVC码流中包含依赖知识层片段的序列层片段,也包含不依赖知识层片段的序列层片段。若LBVC码流中存储依赖知识层片段的序列层片段,则可按照本发明实施例提供的实现方式执行,在此不做限制),且至少一个知识层片段被至少两个序列层片段依赖,这至少两个序列层片段之间可能还存在其它的序列层片段,即这至少两个序列层片段可能为不连续的两个序列层片段。 In the LBVC code stream, the sequence layer code stream is sliced into sequence layer segments, and the knowledge layer code stream is sliced and encapsulated into knowledge layer segments. At the same time, at least one sequence layer segment depends on at least one knowledge layer segment (ie, a sequence layer segment that depends on the knowledge layer segment in the LBVC code stream, and a sequence layer segment that does not depend on the knowledge layer segment. If the LBVC code stream stores the dependency in the stream The sequence layer segment of the knowledge layer segment may be implemented according to an implementation manner provided by the embodiment of the present invention, which is not limited herein, and at least one knowledge layer segment is dependent on at least two sequence layer segments, and the at least two sequence layer segments are at least two sequence layer segments. There may be other sequence layer segments in between, ie the at least two sequence layer segments may be discontinuous two sequence layer segments.
因此,在传输LBVC码流时,存在一个知识层片段被至少两个不连续的序列层片段依赖的情况。在理想情况下上述知识层片段在客户端被使用多次而只下载一次,从而节省码率。但是,如果按照SVC-DASH的系统层传输方案(即按照DASH标准传输SVC码流的方案)传输LBVC码流,由于现有的DASH标准中,MPD只能按照时序逐个描述每个片段的信息,为了正确解码序列层码流,使得这个知识层片段分别与多个参考它的序列层片段按照被操作时段(以播放时段为例进行说明)对齐的规则形成依赖关系,MPD需要为上述不连续的序列层片段重复描述同一个知识层片段的信息。MPD为上述不连续的序列层片段重复描述同一个知识层片段的信息时,客户端在分别请求上述序列层片段的同时会重复请求同一个知识层片段,造成对应的知识层码流数据被多次下载,从而严重增加传输比特开销。Therefore, when transmitting an LBVC code stream, there is a case where a knowledge layer segment is dependent on at least two discontinuous sequence layer segments. In the ideal case, the above knowledge layer segment is used to be downloaded only once on the client, thereby saving the code rate. However, if the LBVC code stream is transmitted according to the SVC-DASH system layer transmission scheme (ie, the scheme for transmitting the SVC code stream according to the DASH standard), since the existing DASH standard, the MPD can only describe the information of each fragment one by one according to the timing. In order to correctly decode the sequence layer code stream, the knowledge layer segment is respectively dependent on the rules of the sequence layer segments that are referenced by the operation time period (exemplified by the playing time period), and the MPD needs to be discontinuous. The sequence layer segment repeatedly describes the information of the same knowledge layer segment. When the MPD repeatedly describes the information of the same knowledge layer segment for the discontinuous sequence layer segment, the client repeatedly requests the same knowledge layer segment while requesting the sequence layer segment separately, so that the corresponding knowledge layer code stream data is generated. The download is downloaded, which seriously increases the transmission bit overhead.
举例来说,假设某个知识层片段K被两个播放时段分别为T1和T2的序列层片段S1和S2所依赖,那么,DASH标准在描述序列层码流和知识层码流的信息时,会为序列层片段S1和S2分别描述其依赖的知识层片段K,且该知识层片段分别拥有播放时段T1和T2。客户端在T1时段请求并获取了序列层片段S1和知识层片段K,并将其传送给播放器解码;客户端在T2时段请求并获取了序列层片段S2,同时再次请求并获取了知识层片段K,导致知识层片段K被重复下载两次,浪费了传输带宽。因此,尽管采用DASH标准可以正常传输基于知识库的视频编码的码流,但是由于知识层片段会被重复下载,浪费了传输带宽,并没有充分利用基于知识库的视频编码的编码效率。For example, assuming that a certain knowledge layer segment K is dependent on sequence layer segments S1 and S2 whose two playback periods are T1 and T2 respectively, then the DASH standard describes the information of the sequence layer code stream and the knowledge layer code stream. The knowledge layer segment K to which it depends is described for the sequence layer segments S1 and S2, respectively, and the knowledge layer segments have playback periods T1 and T2, respectively. The client requests and acquires the sequence layer segment S1 and the knowledge layer segment K in the T1 period and transmits it to the player for decoding. The client requests and acquires the sequence layer segment S2 during the T2 period, and requests and acquires the knowledge layer again. Fragment K causes the knowledge layer fragment K to be downloaded twice repeatedly, wasting transmission bandwidth. Therefore, although the DASH standard can normally transmit the code stream of the knowledge base-based video encoding, since the knowledge layer segment is repeatedly downloaded, the transmission bandwidth is wasted, and the coding efficiency of the knowledge base-based video coding is not fully utilized.
上述情况仅阐述了一个序列层片段只依赖一个知识层片段的问题,然而,LBVC码流允许一个序列层片段同时依赖多个知识层片段,而DASH标准在一个描述层中描述片段时,要求片段的播放时段不能相互覆盖,这样采用SVC-DASH描述LBVC码流会带来新的问题。The above case only illustrates the problem that one sequence layer segment only depends on one knowledge layer segment. However, the LBVC code stream allows one sequence layer segment to simultaneously depend on multiple knowledge layer segments, and the DASH standard requires fragments when describing segments in a description layer. The playback period cannot be overwritten by each other, so using SVC-DASH to describe the LBVC stream will bring new problems.
举例来说,LBVC编码时序列层图像可以依赖多个知识库图像,即一个序列层片段可依赖多个知识层片段。假设序列层片段S1依赖知识库图像P1、P2、P5,序列层片段S2依赖知识库图像P1、P3,序列层片段S3依赖知识库图像P2、P4、P5。由于DASH标准在将码流切分片段时,需要保证片段的时序,知识库图像对应的片段会具有相同的播放时间。具体地,如果上例中把编码知识库图像P1到P5这五幅图像生成的码流按照每一帧的数据为一个片段切分封装为K1到K5五个片段,由于K1、K2、K5被S1依赖,它们的播放时段一致。DASH标准的MPD中不能在一个描述层中按照时序描述K1、K2、K5,而只能在三个描述层中分别描述K1、K2、K5。如果,MPD只采用一个描述层,那么DASH标准只能将知识库图像P1、P2、P3、P4、P5编码的码流分别拼接封装为三个知识层片段K1(包含知识库图像P1、P2、P5的码流)、K2(包含知识库图像P1、P3的码流)和K3(包含知识库图像P2、P4、P5的码流)。但是,这样就导致同一个知识库图像的码流需要被重复保存在多个不同的知识层片段中,浪费了存储空间。For example, a LBVC coded sequence layer image may rely on multiple knowledge base images, ie, one sequence layer segment may rely on multiple knowledge layer segments. It is assumed that the sequence layer segment S1 depends on the knowledge base images P1, P2, P5, the sequence layer segment S2 depends on the knowledge base images P1, P3, and the sequence layer segment S3 depends on the knowledge base images P2, P4, P5. Since the DASH standard needs to ensure the timing of the segments when segmenting the code stream, the segments corresponding to the knowledge base image will have the same playback time. Specifically, if the code stream generated by the five images encoding the knowledge base images P1 to P5 in the above example is segmented into pieces according to the data of each frame, K1 to K5 are divided into five segments, since K1, K2, and K5 are S1 depends, and their playing time is the same. In the DASH standard MPD, K1, K2, and K5 cannot be described in a description layer in time series, and K1, K2, and K5 can be described in only three description layers. If the MPD uses only one description layer, the DASH standard can only splicing the code streams encoded by the knowledge base images P1, P2, P3, P4, and P5 into three knowledge layer segments K1 (including the knowledge base images P1, P2). P5 code stream), K2 (including the code stream of the knowledge base images P1, P3) and K3 (the code stream containing the knowledge base images P2, P4, P5). However, this causes the code stream of the same knowledge base image to be repeatedly stored in a plurality of different knowledge layer segments, wasting storage space.
进一步的,在客户端对MPD的请求机制中,现有的符合DASH标准的客户端(下面简称DASH客户端)根据MPD生成片段列表,记录片段的网络存储地址和其相应的播放时段,然后根据用户点播的播放时刻选择播放时段覆盖该播放时刻的片段(即播放时段包含了该播放时段的片段),向服务端发送该片段的请求。对于SVC-DASH的系统层传输,客户端同时请求基本层片段和增强层片段,以确保SVC码流可以正常解码。然而,现有的 DASH客户端只能简单地缓存一个播放时段的片段(包括基本层片段和增强层片段),并在该播放时段解码播放该片段,超出该播放时段后,该片段被清除或不再被使用。对于LBVC码流,由于知识层片段被多个不连续的播放时段的序列层片段所依赖,如果使用现有的DASH客户端向服务器请求LBVC码流,DASH客户端会在每个播放时段分别请求不同的序列层片段和其依赖的同一个知识层片段,导致一个知识层片段被多次重复下载,浪费了传输带宽。Further, in the request mechanism of the client to the MPD, the existing DASH-compliant client (hereinafter referred to as the DASH client) generates a segment list according to the MPD, records the network storage address of the segment and its corresponding playing period, and then according to The playback time of the user's on-demand selects the segment in which the playback period covers the playback time (ie, the playback period includes the segment of the playback period), and sends a request for the segment to the server. For system layer transmission of SVC-DASH, the client requests both the base layer fragment and the enhancement layer fragment to ensure that the SVC code stream can be decoded normally. However, existing The DASH client can simply cache a segment of a playback period (including a base layer segment and an enhancement layer segment), and decode and play the segment during the playback period. After the playback period, the segment is cleared or no longer used. For the LBVC code stream, since the knowledge layer segment is dependent on the sequence layer segments of the multiple discontinuous playback periods, if the existing DASH client is used to request the LBVC code stream from the server, the DASH client will separately request each broadcast period. Different sequence layer fragments and the same knowledge layer fragment they depend on cause a knowledge layer fragment to be downloaded repeatedly, which wastes transmission bandwidth.
举例来说,假设知识层片段K被多个不连续的播放时段的序列层片段S1、S3、S6所依赖,DASH客户端在第一个播放时段请求序列层片段S1和知识层片段K。播放器在该播放时段正确解码序列层片段S1之后,DASH客户端不再管理知识层片段K,或者直接清除缓存中的知识层片段K。在第三个播放时段,DASH客户端请求序列层片段S3,并再次请求知识层片段K。同样的,播放器在该播放时段正确解码序列层片段S3之后,DASH客户端不再管理知识层片段K,或者直接清除缓存中的知识层片段K。在第六个播放时段,DASH客户端同样请求知识层片段K。理想情况下,知识层片段K应该被客户端使用三次,并仅下载一次,但是现有的DASH客户端的请求机制导致同一个知识层片段K被重复请求并下载了三次,浪费了传输带宽。For example, assuming that the knowledge layer segment K is dependent on the sequence layer segments S1, S3, S6 of a plurality of discontinuous playback periods, the DASH client requests the sequence layer segment S1 and the knowledge layer segment K during the first play period. After the player correctly decodes the sequence layer segment S1 during the playing period, the DASH client no longer manages the knowledge layer segment K, or directly clears the knowledge layer segment K in the cache. In the third play period, the DASH client requests the sequence layer segment S3 and requests the knowledge layer segment K again. Similarly, after the player correctly decodes the sequence layer segment S3 during the playing period, the DASH client no longer manages the knowledge layer segment K, or directly clears the knowledge layer segment K in the cache. In the sixth playing period, the DASH client also requests the knowledge layer segment K. Ideally, the knowledge layer fragment K should be used three times by the client and downloaded only once, but the existing DASH client's request mechanism causes the same knowledge layer fragment K to be repeatedly requested and downloaded three times, wasting transmission bandwidth.
综上可知,简单地采用现有的SVC-DASH的方法描述知识层码流和序列层码流之间的依赖关系并传输数据,并不能充分发挥LBVC的优势,会造成同一段知识层码流被多次传输和存储,进而浪费了存储空间,降低了数据传输效率。为了解决上述技术缺陷使得LBVC码流中的知识层片段和序列层片段的请求和下载等处理方式更接近于上述理想情况,本发明实施例提供了视频数据的处理方法及装置,以根据现有的系统层传输方案的DASH标准中的视频数据的处理方法进行了改进。下面将结合图7至图23对本发明实施例提供的视频数据的处理方法及装置进行具体描述。In summary, simply using the existing SVC-DASH method to describe the dependencies between the knowledge layer code stream and the sequence layer code stream and transmit the data, can not give full play to the advantages of LBVC, will result in the same segment of knowledge layer code stream It is transmitted and stored multiple times, which wastes storage space and reduces data transmission efficiency. In order to solve the above technical defects, the processing and processing of the knowledge layer segment and the sequence layer segment in the LBVC code stream are more similar to the above-mentioned ideal situation. The embodiment of the present invention provides a method and a device for processing video data according to the existing The processing method of video data in the DASH standard of the system layer transmission scheme has been improved. The method and apparatus for processing video data provided by the embodiments of the present invention will be specifically described below with reference to FIG. 7 to FIG.
参见图7,是本发明实施例提供的视频数据的处理系统的示意图。本发明实施例提供的处理系统包括:服务器和客户端。其中,服务器准备视频数据的相关媒体内容,具体的,服务器可通过其包含的媒体内容生成单元生成媒体内容,再通过媒体内容描述单元生成媒体内容的MPD,进而可通过内容存储单元将媒体内容和MPD存储在指定存储空间。服务器还可通过HTTP响应服务单元响应客户端的请求,将媒体内容和MPD传输给客户端。客户端可向服务器请求并获取视频数据的相关媒体内容,并对接收到的媒体内容进行处理。具体的,客户端可通过其包含的HTTP请求客户单元向服务器请求媒体内容和MPD,并可通过媒体表达描述解析单元对服务器传送的MPD进行解析确定需要请求的序列层片段和知识层片段等数据。进一步的,客户端可通过媒体请求控制单元触发HTTP请求客户单元向服务器请求序列层片段等相关数据,或者通过媒体请求控制单元触发知识库存储管理单元从知识库中获取知识层片段等数据,进而可将获取的序列层片段及其依赖的知识层片段传输至媒体播放单元进行解码、播放等操作。FIG. 7 is a schematic diagram of a video data processing system according to an embodiment of the present invention. The processing system provided by the embodiment of the present invention includes: a server and a client. The server prepares the related media content of the video data. Specifically, the server may generate the media content by using the media content generating unit included therein, and then generate the MPD of the media content by using the media content description unit, and then the media content may be obtained through the content storage unit. The MPD is stored in the specified storage space. The server may also transmit the media content and the MPD to the client via the HTTP response service unit in response to the client's request. The client can request and obtain relevant media content of the video data from the server and process the received media content. Specifically, the client may request the media content and the MPD from the server through the HTTP request client unit, and parse the MPD transmitted by the server through the media expression description parsing unit to determine the sequence layer segment and the knowledge layer segment and the like that need to be requested. . Further, the client may trigger the HTTP request client unit to request the sequence layer segment and other related data from the server through the media request control unit, or trigger the knowledge library storage management unit to acquire the knowledge layer segment and the like data from the knowledge base through the media request control unit, and further The acquired sequence layer segment and its dependent knowledge layer segment may be transmitted to the media playing unit for decoding, playing, and the like.
上述服务器和客户端组成的处理系统可实现完整的媒体内容的生成、存储、传输和解码等操作。上述服务器和客户端可通过其内置的各个模块执行本发明实施例中描述的各种实现方式,并且上述服务器和客户端执行的操作中任一部分均可单独成为上述处理系统在不同的工作状态下的实施例。 The processing system composed of the above server and client can realize the operations of generating, storing, transmitting and decoding complete media content. The above-mentioned server and client can perform various implementations described in the embodiments of the present invention through various modules built therein, and any part of the operations performed by the server and the client can be separately used as the processing system under different working states. An embodiment.
参见图8,是本发明实施例提供的视频数据的处理方法的流程示意图。本发明实施例提供的方法,包括步骤:FIG. 8 is a schematic flowchart diagram of a method for processing video data according to an embodiment of the present invention. The method provided by the embodiment of the present invention includes the following steps:
S101,服务器获取码流中的所有序列层片段中每个序列层片段的片段信息。S101. The server acquires segment information of each sequence layer segment in all sequence layer segments in the code stream.
具体实现中,上述片段信息用于描述码流中的序列层片段与知识层片段的依赖关系。服务器可采用LBVC方法编码视频内容,产生独立的或者相互依赖的视频内容对应的序列层码流和知识层码流,进而可将序列层码流切分为序列层片段,将知识层码流切分为知识层片段。具体的,服务器可从视频内容中分析提取得到知识库图像,如图14。图14为采用LBVC方法从视频序列中提取知识库图像的示意图。其中,至少一幅序列图像(SP)依赖一幅知识库图像(LB),例如,序列图像SP1依赖知识库图像LB1、LB2、LB3和LB5等。服务器可将序列图像和知识库图像分别编码得到序列层码流和知识层码流。进一步的,可将码流切分为片段,其中,至少一个序列层片段依赖至少一个知识层片段,一个知识层片段包含至少一个知识库图像。在一种可能的实现方式中,如图15,图15为知识库图像切分为知识层片段的一示意图。其中,每个知识库图像LB被划分为一个知识层片段K,每个序列层图像(SP)被划分为一个序列层片段(S)。序列层片段S依赖知识层片段K,例如,序列层片段S1依赖知识层片段K1、K3和K5。每个序列层片段拥有播放时段,每个知识层片段拥有被依赖时段。在另一种可能的实现方式中,如图16,图16为知识库图像切分为知识层片段的另一示意图。其中,被依赖时段相同的知识库图像可以合并在一个知识层片段中,例如,序列层片段S1依赖知识层片段K1和K2,其中,LB1和LB2的被依赖时段相同,进而切分为一个知识层片段K1,LB3和LB5的被依赖时段相同进而可切分为同一个知识层片段K2。其中,上述服务器将序列层码流和知识层码流进行切分的具体实现方式可参见SVC-DASH标准中更多描述,在此不再赘述。In a specific implementation, the segment information is used to describe a dependency relationship between a sequence layer segment and a knowledge layer segment in the code stream. The server may use the LBVC method to encode the video content, and generate a sequence layer code stream and a knowledge layer code stream corresponding to the independent or interdependent video content, and then the sequence layer code stream may be sliced into sequence layer segments, and the knowledge layer code stream is cut. Divided into knowledge layer fragments. Specifically, the server may extract and extract the knowledge base image from the video content, as shown in FIG. 14 . FIG. 14 is a schematic diagram of extracting a knowledge base image from a video sequence by using the LBVC method. At least one sequence image (SP) depends on a knowledge base image (LB). For example, the sequence image SP1 depends on the knowledge base images LB1, LB2, LB3, and LB5. The server can separately encode the sequence image and the knowledge base image to obtain a sequence layer code stream and a knowledge layer code stream. Further, the code stream can be sliced into segments, wherein at least one sequence layer segment depends on at least one knowledge layer segment, and one knowledge layer segment includes at least one knowledge base image. In a possible implementation manner, as shown in FIG. 15, FIG. 15 is a schematic diagram of the knowledge base image being divided into knowledge layer segments. Each of the knowledge base images LB is divided into a knowledge layer segment K, and each sequence layer image (SP) is divided into a sequence layer segment (S). The sequence layer segment S depends on the knowledge layer segment K, for example, the sequence layer segment S1 depends on the knowledge layer segments K1, K3 and K5. Each sequence layer segment has a play period, and each knowledge layer segment has a dependent time period. In another possible implementation manner, as shown in FIG. 16, FIG. 16 is another schematic diagram of the knowledge base image being divided into knowledge layer segments. The knowledge base images with the same time-dependent period may be merged into one knowledge layer segment. For example, the sequence layer segment S1 depends on the knowledge layer segments K1 and K2, wherein the dependent periods of LB1 and LB2 are the same, and then divided into one knowledge. The layer segments K1, LB3 and LB5 are equally divided into time segments and can be further divided into the same knowledge layer segment K2. The specific implementation manner of the server to segment the sequence layer code stream and the knowledge layer code stream can be further described in the SVC-DASH standard, and details are not described herein.
在一些可行的实施方式中,码流中的序列层片段和知识层片段之间的依赖关系可通过dep_id等标识来体现。具体的,上述dep_id等标识可携带在每个序列层片段的片段信息中,以指示携带该标识的序列层片段依赖哪个知识层片段。例如,假设码流中包含知识层片段1(记为rep1)和知识层片段2(记为rep2),序列层片段1的片段信息中携带dep_id=rep1,则可确定序列层片段依赖于知识层片段1。In some feasible implementation manners, the dependency between the sequence layer segment and the knowledge layer segment in the code stream may be represented by an identifier such as dep_id. Specifically, the identifiers such as the dep_id may be carried in the segment information of each sequence layer segment to indicate which knowledge layer segment the sequence layer segment carrying the identifier depends on. For example, if the code stream contains the knowledge layer segment 1 (denoted as rep1) and the knowledge layer segment 2 (denoted as rep2), and the segment information of the sequence layer segment 1 carries dep_id=rep1, it can be determined that the sequence layer segment depends on the knowledge layer. Fragment 1.
S102,根据所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段。S102. Determine, according to the segment information of each sequence layer segment, N sequence layer segments and a first target knowledge layer segment.
在一些可行的实施方式中,服务器可根据每个序列层片段的片段信息中携带的知识层片段的标识(例如dep_id=rep1)确定出每个序列层片段依赖的知识层片段,进一步的,可确定出目标知识层片段。其中,上述目标知识层片段为被至少两个序列层片段依赖的知识层片段。需要说明的是,在LBVC码流中,被至少两个不连续的序列层片段依赖的知识层片段可为一个或者多个,本发明实施例将以其中一个作为目标知识层片段为例进行说明。具体的,服务器可将从上述被至少两个序列层片段依赖的一个或者多个序列层片段中选择一个知识层片段作为目标知识层片段,其他知识层片段对应的后续操作可参照该目标知识层片段对应的操作,下面不再赘述,服务器确定了目标知识层片段之后,则可将依赖该目标知识层片段的序列层片段确定为目标知识层片段的N个序列层片段。其中,N为大于或 者等于2的整数。In some feasible implementation manners, the server may determine, according to the identifier of the knowledge layer segment carried in the segment information of each sequence layer segment (for example, dep_id=rep1), the knowledge layer segment that each sequence layer segment depends on, and further, Identify the target knowledge layer fragment. The target knowledge layer segment is a knowledge layer segment that is dependent on at least two sequence layer segments. It should be noted that, in the LBVC code stream, the knowledge layer segment that is dependent on at least two discontinuous sequence layer segments may be one or more, and the embodiment of the present invention uses one of the segments as the target knowledge layer segment as an example for description. . Specifically, the server may select one of the one or more sequence layer segments that are dependent on the at least two sequence layer segments as the target knowledge layer segment, and the subsequent operations corresponding to the other knowledge layer segments may refer to the target knowledge layer. The operation corresponding to the segment is not described below. After the server determines the target knowledge layer segment, the sequence layer segment that depends on the target knowledge layer segment may be determined as the N sequence layer segments of the target knowledge layer segment. Where N is greater than or An integer equal to 2.
在一些可行的实施方式中,若上述N个序列层片段只依赖一个知识层片段,则可将该知识层片段确定为第一目标知识层片段,若上述N各序列层片段中的一个或者多个片段还依赖另一个知识层片段,则可将上述另一个知识层片段标记为第二目标知识层片段。具体可根据时间应用场景确定,在此不做限制。In some feasible implementation manners, if the N sequence layer segments only depend on one knowledge layer segment, the knowledge layer segment may be determined as the first target knowledge layer segment, if one or more of the N sequence layer segments are The fragment also depends on another knowledge layer fragment, and the other knowledge layer fragment can be marked as the second target knowledge layer fragment. Specifically, it can be determined according to the time application scenario, and no limitation is imposed here.
在LBVC码流中,由于某个知识层片段(如上述目标知识层片段)被至少两个不连续的序列层片段依赖时,现有DASH标准无法告诉客户端在上述目标知识层片段的播放时段之外,上述目标知识层片段是否还会被使用,因此可能在该播放时段之外就不再管理上述目标知识层片段或者过早删除上述目标知识层片段,进而在该播放时段之外需要重复请求该目标知识层片段。In the LBVC code stream, since a certain knowledge layer segment (such as the above-mentioned target knowledge layer segment) is dependent on at least two discontinuous sequence layer segments, the existing DASH standard cannot tell the client at the playback period of the target knowledge layer segment. In addition, whether the above-mentioned target knowledge layer segment is still used, it is possible to no longer manage the above-mentioned target knowledge layer segment or delete the target knowledge layer segment prematurely outside the playing period, and then need to repeat outside the playing period. Request the target knowledge layer fragment.
在一些可行的实施方式中,为了让客户端可以识别目标知识层片段并存储目标知识层片段以备下次使用,使得一个知识层片段被多次使用而不被错误地删除或者丢弃,本发明实施例引入了区别于知识层片段的播放时段的知识层片段的另一种时段信息——扩展时段(英文:Extended Duration,ED),并可通过LBVC码流对应的MPD来描述知识层片段的扩展时段信息。上述扩展时段信息标识着目标知识层片段不仅在它对应的播放时段会被使用,而且在其它时段也可能会被使用(例如用于提供编解码参考、分析或者播放等),因此需要被额外存储保留一定的时间。当客户端从MPD中识别出一个片段拥有扩展时段信息时,客户端则可以得知该片段是一个目标知识层片段。或者,客户端从MPD中识别出一个描述层的描述层属性信息中携带着扩展时段信息时,则可将该描述层描述的片段确定为目标知识层片段。进一步的,客户端可将上述目标知识层片段存储下来,以备其他时段使用,从而避免了同一知识层片段的多次传输,避免传输带宽的浪费。In some possible implementations, in order for the client to identify the target knowledge layer segment and store the target knowledge layer segment for next use, such that a knowledge layer segment is used multiple times without being erroneously deleted or discarded, the present invention The embodiment introduces another time period information of the knowledge layer segment different from the playing period of the knowledge layer segment, an extended duration (ED), and can describe the knowledge layer segment through the MPD corresponding to the LBVC code stream. Extended time period information. The extended time period information indicates that the target knowledge layer segment is not only used in its corresponding playing period, but may also be used in other time periods (for example, for providing codec reference, analysis, or playback, etc.), and therefore needs to be additionally stored. Keep a certain amount of time. When the client recognizes that a segment has extended period information from the MPD, the client can know that the segment is a target knowledge layer segment. Alternatively, when the client identifies the description layer attribute information of the description layer from the MPD and carries the extended period information, the fragment described by the description layer may be determined as the target knowledge layer fragment. Further, the client may store the foregoing target knowledge layer segment for use in other time periods, thereby avoiding multiple transmissions of the same knowledge layer segment and avoiding waste of transmission bandwidth.
S103,获取所述第一目标知识层片段的片段信息。S103. Acquire segment information of the first target knowledge layer segment.
S104,根据所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的MPD中添加所述第一目标知识层片段的扩展时段信息。S104. Add extended period information of the first target knowledge layer segment to the MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments.
具体实现中,服务器生成LBVC码流的MPD时,可首先获取LBVC码流的知识层片段的片段信息和序列层片段的片段信息。其中,上述LBVC码流中可包括一个或者多个知识层片段,上述LBVC码流中可包括两个或者两个以上的序列层片段。其中,在LBVC码流中的序列层片段可参考至少一个知识层片段进行编码,即LBVC码流中的参考知识层片段进行编码的序列层片段依赖至少一个知识层片段。需要说明的是,在具体应用中,LBVC码流中的序列层片段也可为独立的片段,即,LBVC码流中的序列层片段也可不依赖知识层片段。本发明实施例将对LBVC码流中的序列层片段依赖知识层片段的场景中视频数据的处理方法进行描述,对应LBVC码流中的序列层片段不依赖知识层片段的场景不做限制。In a specific implementation, when the server generates the MPD of the LBVC code stream, the segment information of the knowledge layer segment of the LBVC code stream and the segment information of the sequence layer segment may be first acquired. The LBVC code stream may include one or more knowledge layer segments, and the LBVC code stream may include two or more sequence layer segments. The sequence layer segment in the LBVC code stream may be encoded by referring to at least one knowledge layer segment, that is, the sequence layer segment encoded by the reference knowledge layer segment in the LBVC code stream depends on at least one knowledge layer segment. It should be noted that, in a specific application, the sequence layer segment in the LBVC code stream may also be an independent segment, that is, the sequence layer segment in the LBVC code stream may also be independent of the knowledge layer segment. The embodiment of the present invention describes a method for processing video data in a scenario in which a sequence layer segment in a LBVC code stream depends on a knowledge layer segment, and a scenario in which a sequence layer segment in the LBVC code stream does not depend on a knowledge layer segment is not limited.
如图9,图9是LBVC产生的视频内容的片段示意图。其中,LBVC产生的片段包含序列层片段S1~S8和知识层片段K1~K4。服务器可获取得到上述S1~S8的片段信息和K1~K4的片段信息。其中,S1~S8为时间上连续的8个序列才呢过片段,S1和S3为时间上不连续的序列层片段(间隔着S2),以此类推可确定各个序列层片段之间的连续和不连续关系。其中,S1依赖K1和K2,S2依赖K1和K3,S3依赖K1和K4,S4依赖K2和K4,S5依赖K3,S6依赖K1和K3,S7依赖K3,S8依赖K3。K1被S1、S2、S3和S6 依赖,其中,S1、S2和S3为连续片段,S6与S1、S2、S3不连续。K2被S1和S4依赖,其中,S1和S4为不连续片段。K3被S2、S5、S6和S7依赖,其中,S5、S6和S7为连续片段,S2为S5、S6和S7的不连续片段。K4被S3和S4依赖。如图9可知,S1~S8中每个序列层片段依赖至少一个知识层片段,每个序列层片段拥有一个播放时段(英文:Presentation Duration,PD),S1~S8对应PD1~PD8。K1~K4中至少一个知识层片段被至少两个不连续的序列层片段依赖,例如,K1、K2或者K3,上述K1、K2和K3均可确定为目标知识层片段。其中,S1、S2、S3和S6为依赖K2的N个序列层片段,此时N为4。N个序列层片段包含两个分组的序列层片段,其中包括第一序列层片段组和第二序列层片段组。第一序列层片段组包含3个连续的序列层片段,分别为S1、S2和S3。第二序列层片段组包含1个序列层片段,即S6。第一序列层片段组对应第一时段,第一时段为S1、S2和S3的播放时段的交集,第二序列层片段组对应第二时段,第二时段为S6的播放时段。9, FIG. 9 is a schematic diagram of a fragment of video content generated by LBVC. The segment generated by the LBVC includes sequence layer segments S1 to S8 and knowledge layer segments K1 to K4. The server can obtain the segment information of the above S1 to S8 and the segment information of K1 to K4. Among them, S1~S8 are the serially consecutive 8 sequences, and S1 and S3 are temporally discontinuous sequence layer segments (separated by S2), and so on can determine the continuity between each sequence layer segment. Discontinuous relationship. Among them, S1 depends on K1 and K2, S2 depends on K1 and K3, S3 depends on K1 and K4, S4 depends on K2 and K4, S5 depends on K3, S6 depends on K1 and K3, S7 depends on K3, and S8 depends on K3. K1 is S1, S2, S3 and S6 Dependent, wherein S1, S2, and S3 are consecutive segments, and S6 is discontinuous with S1, S2, and S3. K2 is dependent on S1 and S4, where S1 and S4 are discontinuous segments. K3 is dependent on S2, S5, S6, and S7, where S5, S6, and S7 are consecutive segments, and S2 is a discontinuous segment of S5, S6, and S7. K4 is dependent on S3 and S4. As shown in FIG. 9, each sequence layer segment in S1 to S8 depends on at least one knowledge layer segment, and each sequence layer segment has a playback period (English: Presentation Duration, PD), and S1 to S8 correspond to PD1 to PD8. At least one of the knowledge layer segments K1 to K4 is dependent on at least two discontinuous sequence layer segments, for example, K1, K2 or K3, and the above K1, K2 and K3 can be determined as target knowledge layer segments. Among them, S1, S2, S3, and S6 are N sequence layer segments that depend on K2, and N is 4 at this time. The N sequence layer segments comprise two grouped sequence layer segments including a first sequence layer segment group and a second sequence layer segment group. The first sequence layer segment set contains three consecutive sequence layer segments, namely S1, S2 and S3. The second sequence layer segment set contains one sequence layer segment, namely S6. The first sequence layer segment group corresponds to the first time period, the first time period is the intersection of the playing periods of S1, S2, and S3, the second sequence layer group group corresponds to the second time period, and the second time period is the playing period of S6.
如图9所示,每个知识层片段拥有一个被依赖时段(即DD),被至少两个不连续的序列层片段依赖的目标知识层片段的DD由至少两个ED组成,其中,每个ED覆盖一个或者多个序列层片段的PD。例如,K1被S1、S2、S3和S6依赖,K1的被依赖时段DD1由DD1-1和DD1-2组成,即DD1为DD1-1和DD1-2集合。其中,DD1-1覆盖S1、S1和SD3的PD(即DD1-1覆盖PD1、PD2和PD3),DD1-2覆盖S6的PD(即PD6)。其中,上述ED覆盖一个或者多个序列层片段的PD,表示一个或者多个序列层片段的PD都落在该ED上,即,上述ED包含了一个或者多个序列层片段的PD。例如,假设S1的PD为00:00至00:59,S2的PD为01:00至01:59,S3的PD为02:00至02:59,则DD1-1至少为00:00至02:59。具体可根据实际应用场景确定,在此不做限制。As shown in FIG. 9, each knowledge layer segment has a dependent time period (ie, DD), and the DD of the target knowledge layer segment that is dependent on at least two discontinuous sequence layer segments is composed of at least two EDs, wherein each The ED covers the PD of one or more sequence layer segments. For example, K1 is dependent on S1, S2, S3, and S6, and the dependent period DD1 of K1 is composed of DD1-1 and DD1-2, that is, DD1 is a set of DD1-1 and DD1-2. Among them, DD1-1 covers PDs of S1, S1, and SD3 (ie, DD1-1 covers PD1, PD2, and PD3), and DD1-2 covers PDs of S6 (ie, PD6). Wherein, the PD of the ED covering one or more sequence layer segments indicates that PDs of one or more sequence layer segments fall on the ED, that is, the ED includes PDs of one or more sequence layer segments. For example, suppose the PD of S1 is 00:00 to 00:59, the PD of S2 is 01:00 to 01:59, the PD of S3 is 02:00 to 02:59, and DD1-1 is at least 00:00 to 02. :59. It can be determined according to the actual application scenario, and no limitation is imposed here.
在一些可行的实施方式中,服务器获取了LBVC码流的知识层片段和序列层片段之后,可获取每个知识层片段的片段信息和每个序列层片段的片段信息。其中,上述知识层的片段信息还可包括知识层片段的网络存储地址、播放时段和知识层片段的被依赖时段等信息,具体可根据实际应用需求确定,在此不做限制。上述序列层的片段信息包括序列层片段的网络存储地址、播放时段和上述序列层片段所依赖的知识层片段的标识等信息,具体可根据实际应用场景确定,在此不做限制。In some possible implementation manners, after the server acquires the knowledge layer segment and the sequence layer segment of the LBVC code stream, the segment information of each knowledge layer segment and the segment information of each sequence layer segment may be acquired. The fragment information of the knowledge layer may further include information such as a network storage address of the knowledge layer segment, a play period, and a time period of the knowledge layer segment, which may be determined according to actual application requirements, and is not limited herein. The segment information of the sequence layer includes information such as a network storage address of the sequence layer segment, a play period, and an identifier of the knowledge layer segment on which the sequence layer segment depends, and may be determined according to an actual application scenario, and is not limited herein.
进一步的,在一些可行的实施方式中,服务器获取了各个序列层片段的被操作时段,以及每个知识层片段的被依赖时段之后,则可确定每个知识层片段被序列层片段依赖的被依赖状态,进而可确定出目标知识层片段。其中,目标知识层片段的确定可参见上述描述,在此不再赘述。服务器确定了目标知识层片段及其对应的N个序列层片段之后,可在码流的MPD中添加目标知识层片段的扩展时段信息。其中,服务器可确定目标知识层片段的扩展时段的个数(即目标知识层片段被多少个序列层片段组依赖),以及每个扩展时段的长度(即每个序列层片段组包含的各个序列层片段的播放时段叠加得到的时间长度)等,进而可为目标知识层片段添加扩展时段信息。客户端解析码流的MPD之后,可根据目标知识层片段的扩展时段信息确定目标知识层片段的被依赖时段。具体实现中,目标知识层片段的被依赖时段包含至少一个扩展时段。需要说明的是,本发明实施例提供的码流数据的处理方法及装置适用于目标知识层片段的被依赖时段为一个扩展时段的场景,在此不做限制。下面将以目标知识层片段的被依赖时段包括至少两个扩展时段为例进行说明,具体描述中 可以两个扩展时段为例进行描述。Further, in some feasible implementation manners, after the server acquires the operated time period of each sequence layer segment and the dependent time period of each knowledge layer segment, it may be determined that each knowledge layer segment is dependent on the sequence layer segment. Depending on the state, the target knowledge layer fragment can be determined. For the determination of the target knowledge layer segment, refer to the foregoing description, and details are not described herein again. After the server determines the target knowledge layer segment and its corresponding N sequence layer segments, the extended time period information of the target knowledge layer segment may be added to the MPD of the code stream. Wherein, the server may determine the number of extended periods of the target knowledge layer segment (ie, how many sequence layer segment groups the target knowledge layer segment is dependent on), and the length of each extended period (ie, each sequence included in each sequence layer segment group) The length of time during which the playback period of the layer segment is superimposed, etc., thereby adding extended time period information to the target knowledge layer segment. After the client parses the MPD of the code stream, the dependent time period of the target knowledge layer segment may be determined according to the extended period information of the target knowledge layer segment. In a specific implementation, the dependent time period of the target knowledge layer segment includes at least one extended time period. It should be noted that the method and the device for processing the code stream data provided by the embodiment of the present invention are applicable to a scenario in which the time-dependent period of the target knowledge layer segment is an extended period, and is not limited herein. In the following, the dependent time period of the target knowledge layer segment includes at least two extended time periods as an example. Two extended time slots can be described as an example.
在一些可行的实施方式中,码流的MPD中携带目标知识层片段的扩展时段信息。其中,上述目标知识层片段的扩展时段信息具体可第一扩展标识或者第二扩展标识。具体实现中,码流的MPD至少包含两个描述层。上述MPD包含的描述层中至少一个描述层的编解码不参考其他描述层(下面称为独立的描述层),上述独立的描述层用于描述知识层片段。上述MPD包含的描述层中至少一个描述层的编解码参考其他描述层,用于描述依赖知识层片段的序列层片段。具体实现中,若依赖目标知识层片段的N个序列层片段中每个序列层片段都只依赖该目标知识层片段(设为第一目标知识层片段,例如上述K1),则可通过一个独立的描述层(设为第一描述层)描述第一目标知识层片段。一个描述层(设定第二描述层)描述N个序列层片段,其中,第二描述层的编解码参考第一描述层。若依赖第一目标知识层片段的N个序列层片段中的N1个序列层片段(例如上述S1)还依赖另一个目标知识层片段(设为第二目标知识层片段,例如K2),则需要另外一个独立的描述层(设为第三描述层)来描述第二目标知识层片段。In some feasible implementation manners, the MPD of the code stream carries extended period information of the target knowledge layer segment. The extended period information of the target knowledge layer segment may be specifically a first extended identifier or a second extended identifier. In a specific implementation, the MPD of the code stream includes at least two description layers. The codec of at least one of the description layers included in the above MPD does not refer to other description layers (hereinafter referred to as independent description layers), and the above independent description layer is used to describe the knowledge layer fragments. The codec of at least one of the description layers included in the above MPD refers to other description layers for describing sequence layer segments that depend on the knowledge layer segment. In a specific implementation, if each of the N sequence layer segments that depend on the target knowledge layer segment depends only on the target knowledge layer segment (set as the first target knowledge layer segment, for example, K1 above), then an independent The description layer (set as the first description layer) describes the first target knowledge layer segment. A description layer (setting the second description layer) describes N sequence layer segments, wherein the codec of the second description layer refers to the first description layer. If the N1 sequence layer segments (eg, S1 above) that depend on the N sequence layer segments of the first target knowledge layer segment also depend on another target knowledge layer segment (set as the second target knowledge layer segment, such as K2), then A separate description layer (set as the third description layer) is used to describe the second target knowledge layer segment.
参见图10,图10是本发明实施例提供了MPD示意图。服务器在两个独立的描述层中描述知识层片段的信息,在一个依赖上述两个描述层的描述层中描述序列层片段的信息。具体的,服务器可根据知识层片段的片段信息和序列层片段的片段信息生成包含3个描述层的MPD。其中,描述层1(如第二描述层)用于描述序列层片段信息,描述层2(如第一描述层)和描述层3(如第三描述层)为2个独立的描述层,用于描述知识层片段信息,即描述层2和描述层3中描述的片段可均为目标知识层片段(也可根据时间用于场景确定其中包含的目标知识层片段,在此不做限制)。在描述层1中描述序列层片段的片段信息时每个序列层片段对应一个PD。在描述层2和描述层3中描述知识层片段的片段信息时每个目标知识层片段的DD可通过每个目标知识层片段的一个或者多个ED描述。Referring to FIG. 10, FIG. 10 is a schematic diagram of an MPD according to an embodiment of the present invention. The server describes the information of the knowledge layer fragments in two separate description layers, and describes the information of the sequence layer fragments in a description layer that depends on the above two description layers. Specifically, the server may generate an MPD including three description layers according to the segment information of the knowledge layer segment and the segment information of the sequence layer segment. Wherein, the description layer 1 (such as the second description layer) is used to describe the sequence layer fragment information, and the description layer 2 (such as the first description layer) and the description layer 3 (such as the third description layer) are two independent description layers. The description of the knowledge layer segment information, that is, the segments described in the description layer 2 and the description layer 3 may all be the target knowledge layer segments (the target knowledge layer segments contained therein may also be determined according to time, which is not limited herein). When the segment information of the sequence layer segment is described in the description layer 1, each sequence layer segment corresponds to one PD. The DD of each target knowledge layer segment may be described by one or more EDs of each target knowledge layer segment when the segment information of the knowledge layer segment is described in the description layer 2 and the description layer 3.
另外,由于LBVC码流允许一个序列层片段同时依赖多个知识层片段(设为第一目标知识层片段和第二目标知识层片段),即第一目标知识层片段和第二目标知识层片段的被依赖时段可以相互覆盖。而现有的SVC-DASH标准在一个描述层中描述片段时,要求片段的时段不能相互覆盖,因此不能采用SVC-DASH标准中的描述方式仅仅使用一个描述层描述知识层片段。如图10,为了能够正确地描述被依赖时段相互覆盖的目标知识层片段的信息,本发明实施例采用多个独立的描述层来描述一个知识层码流对应的知识层片段的信息,将每个目标知识层片段的不连续的被依赖时段拆分为多个扩展时段,在多个描述层中根据扩展时段描述目标知识层片段,例如K1的DD可通过描述层2中的ED1和描述层3中的ED7描述。同时,确保每个描述层中的目标知识层片段的扩展时段相互不覆盖。例如,服务器可在一个描述层(如描述层2)中按照时序描述K1、K2和K3,还可在另一个描述层(如描述层3)中按照时序描述K2、K3、K4和K1,每个描述层描述的目标知识层片段的扩展时段之间相互不覆盖。这样,服务器可以在MPD中正确地描述目标知识层片段的被依赖时段,而不会在一个序列层片段同时依赖多个目标知识层片段时,重复存储同一个目标知识层片段,从而避免了存储空间的浪费。In addition, since the LBVC code stream allows one sequence layer segment to simultaneously depend on multiple knowledge layer segments (set as the first target knowledge layer segment and the second target knowledge layer segment), that is, the first target knowledge layer segment and the second target knowledge layer segment The dependent time periods can be covered by each other. However, when the existing SVC-DASH standard describes a segment in a description layer, it is required that the time periods of the segments cannot be overlapped with each other, and therefore the description layer in the SVC-DASH standard cannot be used to describe the knowledge layer segment using only one description layer. As shown in FIG. 10, in order to correctly describe the information of the target knowledge layer segment that is covered by the dependent time period, the embodiment of the present invention uses multiple independent description layers to describe the information of the knowledge layer segment corresponding to the knowledge layer code stream, and each The discontinuous time-dependent segments of the target knowledge layer segments are split into a plurality of extended time periods, and the target knowledge layer segments are described in the plurality of description layers according to the extended time period, for example, the DD of K1 can be described by describing the ED1 and the description layer in layer 2. Description of ED7 in 3. At the same time, it is ensured that the extension periods of the target knowledge layer segments in each description layer do not overlap each other. For example, the server may describe K1, K2, and K3 in a description layer (such as description layer 2) in time series, and may also describe K2, K3, K4, and K1 in time series in another description layer (such as description layer 3). The extended periods of the target knowledge layer segments described by the description layer do not overlap each other. In this way, the server can correctly describe the dependent time period of the target knowledge layer segment in the MPD, and does not repeatedly store the same target knowledge layer segment when one sequence layer segment simultaneously depends on multiple target knowledge layer segments, thereby avoiding storage. The waste of space.
在一些可行的实施方式中,上述扩展时段信息具体可为用于标记目标知识层片段的扩展标识(设为第一扩展标识)或者应用标记描述层的扩展标记(设为第二扩展标识)。上 述第一扩展标识或者第二扩展标识可用于确定扩展时段的起始时刻和扩展时段的长度等详细信息。上述扩展时段用于指示客户端拥有扩展时段的目标知识层片段在当前处理的依赖该目标知识层片段的序列层片段的播放时段被使用之外,还在其他依赖该目标知识层片段的序列层片段的播放时段内被使用。In some feasible implementation manners, the extended period information may be specifically an extended identifier (set as the first extended identifier) for marking the target knowledge layer segment or an extended flag (set as the second extended identifier) of the application marking description layer. On The first extended identifier or the second extended identifier may be used to determine detailed information such as a start time of the extended period and a length of the extended period. The extended time period is used to indicate that the target knowledge layer segment that the client has the extended time period is used in the playback period of the currently processed sequence layer segment that depends on the target knowledge layer segment, and is also in other sequence layers that depend on the target knowledge layer segment. The clip is used during the playback period.
在一些可行的实施方式中,上述用于标记目标知识层片段的第一扩展标识可添加目标知识层片段的片段信息中,作为知识层片段的属性。具体的,可在MPD的第一描述层(和第三描述层)包含的第一片段描述中添加第一扩展标识,其中,上述第一片段描述为第一时段对应的目标知识层片段的片段信息的描述。还可在MPD的第一描述层(和第三描述层)包含的第二片段描述中添加第一扩展标识,其中,上述第二片段描述为第二时段对应的目标知识层片段的片段信息的描述。其中,携带第一扩展标识的目标知识层片段拥有一个或者多个扩展时段,上述第一时段和第二时段分别对应一个扩展时段,具体可参见上述描述,在此不再赘述。客户端解析上述目标知识层片段的片段信息时,若获取得到上述第一扩展标识则可确定该片段为目标知识层片段。In some feasible implementation manners, the foregoing first extended identifier for marking the target knowledge layer segment may be added to the segment information of the target knowledge layer segment as an attribute of the knowledge layer segment. Specifically, the first extended identifier may be added to the first fragment description included in the first description layer (and the third description layer) of the MPD, where the first fragment is described as a fragment of the target knowledge layer segment corresponding to the first time period. Description of the information. The first extended identifier may also be added to the second fragment description included in the first description layer (and the third description layer) of the MPD, where the second fragment is described as fragment information of the target knowledge layer segment corresponding to the second time period. description. The target knowledge layer segment carrying the first extended identifier has one or more extended time periods, and the first time period and the second time period respectively correspond to one extended time period. For details, refer to the foregoing description, and details are not described herein again. When the client parses the segment information of the target knowledge layer segment, if the first extended identifier is obtained, the segment may be determined as the target knowledge layer segment.
在一些可行的实现方式中,上述用于标记描述层的第二扩展标识可添加在描述层的描述层属性信息中,作为描述层的属性。具体的,可在第一描述层(和第三描述层)的描述层属性信息中添加第一时段对应的第二扩展标识,和第二时段对应的第二扩展标识。其中,携带上述第二扩展标识的描述层中描述的一个或者多个或者全部片段为目标知识层片段。其中,携带第二扩展标识的描述层描述的每个目标知识层片段拥有一个或者多个扩展时段,其中,上述第一时段和第二时段分别对应一个扩展时段,具体可参见上述描述,在此不再赘述。客户端解析码流的MPD时,可获取MPD中描述层的描述层属性信息,若描述层的描述层属性信息中包含上述第二扩展标识,则可确定该描述层描述的片段中包含目标知识层片段。客户端确定描述层描述的片段中包含目标知识层片段之后,则可根据具体的片段信息确定目标知识层片段,或者将描述层描述的片段均确定为目标知识层片段,具体可根据实际应用场景确定,在此不再赘述。In some feasible implementation manners, the foregoing second extended identifier for marking the description layer may be added in the description layer attribute information of the description layer as an attribute of the description layer. Specifically, a second extended identifier corresponding to the first time period and a second extended identifier corresponding to the second time period may be added to the description layer attribute information of the first description layer (and the third description layer). The one or more or all of the segments described in the description layer carrying the second extended identifier are target knowledge layer segments. Each of the target knowledge layer segments described by the description layer carrying the second extended identifier has one or more extended time periods, where the first time period and the second time period respectively correspond to one extended time period. For details, refer to the foregoing description. No longer. When the client parses the MPD of the code stream, the description layer attribute information of the description layer in the MPD may be obtained. If the description layer attribute information of the description layer includes the second extension identifier, the segment description description segment may include the target knowledge. Layer fragment. After the client determines that the segment of the description layer includes the target knowledge layer segment, the target knowledge layer segment may be determined according to the specific segment information, or the segment described by the description layer may be determined as the target knowledge layer segment, which may be determined according to the actual application scenario. Ok, I won't go into details here.
具体实现中,服务器可根据实际应用场景需求采用上述任一种实现方式添加知识层片段的扩展时段信息,在此不做限制。In a specific implementation, the server may add the extended period information of the knowledge layer segment according to any one of the foregoing implementation manners according to the requirements of the actual application scenario, and is not limited herein.
在一些可行的实施方式中,服务器在MPD中使用扩展标识标记知识层片段的扩展时段信息的实现方式可包括以下任一种:In some feasible implementation manners, the implementation manner that the server uses the extension identifier to mark the extension period information of the knowledge layer segment in the MPD may include any one of the following:
1)方式一:上述第一扩展标识和第二扩展标识均可为第一字符串(例如ExtDuration),下面在该方式一中可将第一扩展标识和第二扩展标识统称为扩展标识。服务器可在现有的DASH标准的语法元素的基础上,添加第一字符串作为扩展标识,用于描述目标知识层片段(包括携带扩展标识的目标知识层片段,或者携带扩展标识的描述层描述的目标知识层片段)的固定时间长度的扩展时段。具体实现中,若一个描述层中描述的所有知识层片段(包括携带扩展标识的知识层片段)的扩展时段连续并且时间长度均相同,即,描述层中描述的知识层片段的扩展时段的长度固定,则可使用语法元素ExtDuration来描述知识层片段的扩展时段。如图11,图11为在DASH标准的语法元素的基础上添加扩展标识的一示意图。其中,ExtDuration描述固定时间长度的扩展时段,ExtSegmentTimeLine描述可变时间长度的扩展时段,具体实现中,可根据实际应用场景选择使用其中一种语法元素。图11 中,上面部分为可扩展标记语言(extensible mark-up language,XML)语法表,下面部分为应用实例。1) Mode 1: The first extended identifier and the second extended identifier may be the first character string (for example, ExtDuration). In the first mode, the first extended identifier and the second extended identifier may be collectively referred to as an extended identifier. The server may add the first character string as an extended identifier on the basis of the syntax elements of the existing DASH standard, and describe the target knowledge layer segment (including the target knowledge layer segment carrying the extended identifier, or the description layer description carrying the extended identifier). The target knowledge layer segment) has an extended time period of fixed length. In a specific implementation, if all the knowledge layer segments described in the description layer (including the knowledge layer segment carrying the extended identifier) have consecutive extension periods and the same length of time, that is, the length of the extension period of the knowledge layer segment described in the description layer Fixed, the syntax element ExtDuration can be used to describe the extension period of the knowledge layer segment. FIG. 11 is a schematic diagram of adding an extended identifier based on syntax elements of the DASH standard. The ExtDuration describes the extended time period of the fixed time length, and the ExtSegmentTimeLine describes the extended time period of the variable time length. In the specific implementation, one of the syntax elements may be selected according to the actual application scenario. Figure 11 The upper part is an extensible mark-up language (XML) syntax table, and the following part is an application example.
服务器使用MPD的描述层描述LBVC码流时,使用语法元素ExtDuration描述固定时间长度的扩展时段。具体可根据语法元素ExtDuration和目标知识层片段的片段信息获取目标知识层片段的扩展时段,包括扩展时段的起始时刻和扩展时段的长度等信息。具体的,目标知识层片段的扩展时段的长度值与ExtDuration对应的值相同,例如图11中的ExtDuration=10s可表示目标知识层片段的扩展时段的长度为10s。此外,还可使用语法元素Duration描述固定时间长度的播放时段,在此不做限制。服务器使用语法元素ExtDuration描述固定时间长度的扩展时段时,该扩展时段的起始时刻可由上述目标知识层片段之前的所有知识层片段的时间长度累加计算得到,具体的上述目标知识层片段之前的知识层片段的数量可通过目标知识层片段的片段信息确定。When the server describes the LBVC code stream using the description layer of the MPD, the syntax element ExtDuration is used to describe the extended time period of a fixed length of time. Specifically, the extended period of the target knowledge layer segment may be acquired according to the syntax element ExtDuration and the segment information of the target knowledge layer segment, including information such as a start time of the extended time period and a length of the extended time period. Specifically, the length value of the extended period of the target knowledge layer segment is the same as the value corresponding to the ExtDuration. For example, ExtDuration=10s in FIG. 11 may indicate that the extended period of the target knowledge layer segment has a length of 10 s. In addition, the syntax element Duration can also be used to describe a fixed time length of the play period, which is not limited herein. When the server uses the syntax element ExtDuration to describe the extended time period of the fixed time length, the starting time of the extended time period may be calculated by the time length of all the knowledge layer segments before the target knowledge layer segment, and the specific knowledge of the target knowledge layer segment before. The number of layer segments can be determined by the segment information of the target knowledge layer segment.
2)方式二:上述第一扩展标识和第二扩展标识均可为第二字符串(例如ExtSegmentTimeLine),下面在该方式二中可将第一扩展标识和第二扩展标识统称为扩展标识。服务器可在现有的DASH标准的语法元素的基础上,添加第二字符串作为扩展标识,用于描述目标知识层片段(包括携带扩展标识的目标知识层片段,或者携带扩展标识的描述层描述的目标知识层片段)的可变时间长度的扩展时段。具体实现中,若一个描述层中描述的所有知识层片段(包括携带扩展标识的知识层片段)的扩展时段不连续,或者不同目标知识层片段的扩展时段的时间长度不相同,则可使用语法元素ExtSegmentTimeLine来描述目标知识层片段的扩展时段。如图11,服务器使用MPD的描述层描述LBVC码流时,使用语法元素ExtSegmentTimeLine描述可变时间长度的扩展时段。具体可根据语法元素ExtDuration获取目标知识层片段的扩展时段,包括扩展时段的起始时刻和扩展时段的长度等信息。具体的,语法元素ExtSegmentTimeLine指示MPD中存储用于描述扩展时段的起始时刻和扩展时段的长度的信息。具体实现中,扩展时段的起始时刻和长度的信息存在MPD中的位置可由服务器采用的编解码标准确定,具体可根据实际应用场景确定,在此不做限制。此外,服务器还可使用语法元素SegmentTimeLine描述可变时间长度的播放时段,在此不做限制。2) Method 2: The first extended identifier and the second extended identifier may be the second string (for example, ExtSegmentTimeLine). In the second mode, the first extended identifier and the second extended identifier may be collectively referred to as an extended identifier. The server may add a second character string as an extended identifier on the basis of the syntax elements of the existing DASH standard, and describe the target knowledge layer segment (including the target knowledge layer segment carrying the extended identifier, or the description layer description carrying the extended identifier). The target knowledge layer segment) has an extended time period of variable length. In a specific implementation, if all the knowledge layer segments described in the description layer (including the knowledge layer segment carrying the extended identifier) have discontinuous extension periods, or the extension periods of different target knowledge layer segments are different, the syntax may be used. The element ExtSegmentTimeLine describes the extended period of the target knowledge layer segment. As shown in FIG. 11, when the server describes the LBVC code stream using the description layer of the MPD, the syntax element ExtSegmentTimeLine is used to describe the extended time period of the variable time length. Specifically, the extended period of the target knowledge layer segment may be acquired according to the syntax element ExtDuration, including information such as a start time of the extended period and a length of the extended period. Specifically, the syntax element ExtSegmentTimeLine indicates that information for describing the start time of the extended period and the length of the extended period is stored in the MPD. In a specific implementation, the information about the start time and the length of the extended time period may be determined by the codec standard used by the server, and may be determined according to the actual application scenario, and is not limited herein. In addition, the server can also use the syntax element SegmentTimeLine to describe the playing time of the variable length of time, which is not limited herein.
3)方式三:服务器可在现有的DASH标准的语法元素的基础上,添加语法元素Extended作为用于标记描述层的扩展标识(即第二扩展标识)。其中,上述扩展标识用于标识描述层中描述的片段中至少一个片段为目标知识层片段。如图12,图12为在DASH标准的语法元素的基础上添加扩展标识的另一示意图。其中,上面部分为XML语法表,下面部分为应用实例。具体实现中,上述Extended为真标记着携带扩展标识的描述层描述至少一个目标知识层片段的扩展时段;Extended不为真标记着携带扩展标识的描述层不描述知识层片段的扩展时段。即,服务器可使用语法元素Extended=True标识该描述层描述至少一个目标知识层片段的信息,使用语法元素Extended=False或缺省该语法元素标识该描述层只描述序列层片段的信息而不描述知识层片段的信息。携带语法元素Extended=True的描述层描述的目标知识层片段的扩展时段通过语法语法元素Extended=True和目标知识层片段的片段信息获取。具体的,目标知识层片段的扩展时段与语法元素Extended=True的描述层中的片段的播放时段相同。 3) Mode 3: The server may add a syntax element Extended as an extension identifier (ie, a second extension identifier) for marking the description layer based on the syntax elements of the existing DASH standard. The foregoing extension identifier is used to identify at least one of the segments described in the description layer as a target knowledge layer segment. FIG. 12 is another schematic diagram of adding an extended identifier based on syntax elements of the DASH standard. The above part is the XML syntax table, and the following part is the application example. In a specific implementation, the extended description is a true description indicating that the description layer carrying the extended identifier describes an extended period of the at least one target knowledge layer segment; the extended not true flag indicates that the description layer carrying the extended identifier does not describe the extended period of the knowledge layer segment. That is, the server may use the syntax element Extended=True to identify the information describing the at least one target knowledge layer segment of the description layer, and use the syntax element Extended=False or the default syntax element to identify that the description layer only describes the information of the sequence layer segment without describing Information about the segment of the knowledge layer. The extended period of the target knowledge layer segment described by the description layer carrying the syntax element Extended=True is obtained by the syntax syntax element Extended=True and the segment information of the target knowledge layer segment. Specifically, the extended period of the target knowledge layer segment is the same as the playback period of the segment in the description layer of the syntax element Extended=True.
4)方式四:服务器可在现有的DASH标准的语法元素的基础上,添加语法元素ExtSegment作为用于标记描述层的扩展标识(即第二扩展标识)。其中,上述扩展标识用于标识描述层中描述的片段中至少一个片段为目标知识层片段。如图13,图13为在DASH标准的语法元素的基础上添加扩展标识的另一示意图。其中,上图为XML语法表,下图为应用实例。具体实现中,上述ExtSegment为真标记着携带扩展标识的描述层中描述至少一个目标知识层片段的扩展时段;上述ExtSegment不为真标记着携带扩展标识的描述层不描述知识层片段的扩展时段。即,服务器使用语法元素ExtSegment=True标识描述层描述的一个片段(或一组片段)为目标知识层片段,使用语法元素ExtSegment=False或缺省该语法元素标识描述层描述的一个片段(或一组片段)为序列层片段。携带语法元素ExtSegment=True的描述层描述的目标知识层片段的扩展时段通过语法语法元素ExtSegment=True和目标知识层片段的片段信息获取。具体的,目标知识层片段的扩展时段与语法元素ExtSegment=True的片段的播放时段相同。4) Method 4: The server may add a syntax element ExtSegment as an extension identifier (ie, a second extension identifier) for marking the description layer based on the syntax elements of the existing DASH standard. The foregoing extension identifier is used to identify at least one of the segments described in the description layer as a target knowledge layer segment. FIG. 13 is another schematic diagram of adding an extended identifier based on syntax elements of the DASH standard. Among them, the above figure is an XML syntax table, and the following figure is an application example. In a specific implementation, the ExtSegment is an extended period that describes at least one target knowledge layer segment in the description layer that carries the extended identifier. The ExtSegment is not true. The description layer carrying the extended identifier does not describe the extended period of the knowledge layer segment. That is, the server uses the syntax element ExtSegment=True to identify a segment (or a set of segments) described by the description layer as the target knowledge layer segment, and uses the syntax element ExtSegment=False or the default syntax element to identify a segment describing the layer description (or one) The group fragment) is a sequence layer fragment. The extension period of the target knowledge layer segment described by the description layer carrying the syntax element ExtSegment=True is obtained by the syntax syntax element ExtSegment=True and the segment information of the target knowledge layer segment. Specifically, the extended period of the target knowledge layer segment is the same as the playback period of the segment of the syntax element ExtSegment=True.
进一步的,在一些可行的实施方式中,服务器生成LBVC码流的MPD时,可采用上述四种实现方式中的任一种实现方式添加扩展标识,还可根据扩展时段的特点确定用于描述知识层片段的独立的描述层的数量。Further, in some feasible implementation manners, when the server generates the MPD of the LBVC code stream, the extended identifier may be added by using any one of the foregoing four implementation manners, and the description may be used to describe the knowledge according to the characteristics of the extended time period. The number of independent description layers of the layer segments.
具体实现中,目标知识层片段的被依赖时段由至少一个扩展时段组成,每个扩展时段是一个连续的时段,被依赖时段包含扩展时段的情况包括以下两种:In a specific implementation, the dependent time period of the target knowledge layer segment is composed of at least one extended time period, each extended time period is one continuous time period, and the case that the extended time period is included in the dependent time period includes the following two types:
情况一:目标知识层片段的被依赖时段只包含一个扩展时段,该扩展时段对应于序列层中的至少两个播放时段,如上述图9中知识层片段K4。此时,可以在MPD中用一个扩展时段描述知识层片段K4的被依赖时段。Case 1: The dependent period of the target knowledge layer segment contains only one extended period, which corresponds to at least two playing periods in the sequence layer, such as the knowledge layer segment K4 in FIG. 9 described above. At this time, the dependent period of the knowledge layer segment K4 can be described by an extended period in the MPD.
情况二:若目标知识层片段的被依赖时段包含至少两个扩展时段,如上述图9中知识层片段K1、K2和K3。此时,可以将目标知识层片段的被依赖时段拆分为多个扩展时段,在MPD中用多个扩展时段分别描述上述目标知识层片段的多个连续的时段,如上述图10中知识层片段K1的被依赖时段DD1(包含DD1-1和DD1-2)被上述图10中扩展时段ED1和扩展时段ED7所描述。Case 2: If the dependent time period of the target knowledge layer segment contains at least two extended time periods, such as the knowledge layer segments K1, K2 and K3 in FIG. 9 above. At this time, the dependent time period of the target knowledge layer segment may be split into multiple extended time periods, and multiple consecutive time periods of the target knowledge layer segment are respectively described in the MPD, such as the knowledge layer in FIG. 10 above. The dependent period DD1 of the segment K1 (including DD1-1 and DD1-2) is described by the extended period ED1 and the extended period ED7 in the above-described FIG.
进一步的,在一些可行的实施方式中,若目标知识层片段的被依赖时段包含至少两个扩展时段,如上述图9中知识层片段K3,K3的被依赖时段DD3包含扩展时段ED3和扩展时段ED5。其中,ED5对应的序列层片段的播放时段为PD2,ED3对应的序列层片段的播放时段为PD5、PD6、PD7和PD8,即DD3=PD2+PD5+PD6+PD7+PD8。服务器可将K3的被依赖时段修改为DD3=PD2+PD3+PD4+PD5+PD6+PD7+PD8,进而可使得在MPD中描述K3时可描述为一个包含PD2到PD8的连续的片段,简化了MPD的描述,降低DASH标准的扩展的实现难度。Further, in some feasible implementation manners, if the dependent period of the target knowledge layer segment includes at least two extended periods, such as the knowledge layer segment K3 in FIG. 9 above, the dependent period DD3 of K3 includes the extended period ED3 and the extended period ED5. The playing period of the sequence layer segment corresponding to ED5 is PD2, and the playing period of the sequence layer segment corresponding to ED3 is PD5, PD6, PD7 and PD8, that is, DD3=PD2+PD5+PD6+PD7+PD8. The server can modify the dependent period of K3 to DD3=PD2+PD3+PD4+PD5+PD6+PD7+PD8, which can be described as a continuous fragment containing PD2 to PD8 when describing K3 in MPD, which simplifies The description of the MPD reduces the difficulty of implementing the extension of the DASH standard.
在一些可行的实施方式中,若至少两个目标知识层片段的扩展时段之间相互覆盖(即一个序列层片段同时依赖多个目标知识层片段),如图9中知识层片段K1与K2、K3、K4的扩展时段,以及K2与K4的扩展时段,则在一个描述层中尽可能多地描述扩展时段相互不覆盖的知识层片段的信息,使得最终描述层的数目尽可能地少。In some feasible implementation manners, if the extended periods of the at least two target knowledge layer segments overlap each other (ie, one sequence layer segment depends on multiple target knowledge layer segments at the same time), as shown in FIG. 9 , the knowledge layer segments K1 and K2 The extended period of K3, K4, and the extended period of K2 and K4, the information of the knowledge layer segments whose extended periods are not covered by each other is described as much as possible in one description layer, so that the number of finally described layers is as small as possible.
在一种可能的实现方式中,若任意目标知识层片段的扩展时段之间没有相互覆盖,即一个序列层片段只依赖一个目标知识层片段,如知识层片段只存在图9中知识层片段K3 和K4时,则仅使用一个独立的描述层描述目标知识层片段的信息。In a possible implementation manner, if the extended period of any target knowledge layer segment does not overlap each other, that is, one sequence layer segment only depends on one target knowledge layer segment, for example, the knowledge layer segment only exists in the knowledge layer segment K3 in FIG. With K4, only a single description layer is used to describe the information of the target knowledge layer segment.
在另一种可能的实现方式中,可以使用M个描述层描述知识层片段的信息,M为每个序列层片段依赖的知识层片段数目的最大值。对序列层片段i,将其依赖的Mi个知识层片段的扩展时段设置为该序列层片段的播放时段,并将Mi个知识层片段分布在M个描述层中的任意Mi个描述层,例如第1到第Mi个描述层,或者第2到第Mi+1个描述层(如果Mi+1<=M),或者第1、第3到第Mi+1个描述层(如果Mi+1<=M),具体可根据实际应用场景确定,在此不做限制。In another possible implementation, the information of the knowledge layer segment may be described using M description layers, where M is the maximum number of knowledge layer segments that each sequence layer segment depends on. For the sequence layer segment i, the extension period of the Mi knowledge layer segments it depends on is set as the play period of the sequence layer segment, and the Mi knowledge layer segments are distributed in any of the M description layers in the M description layer, for example 1st to the fourthth description layer, or the 2nd to the Mi+1th description layer (if Mi+1<=M), or the 1st, 3rd to the 4thth to the 1st description layer (if Mi+1< =M), which can be determined according to the actual application scenario. There is no restriction here.
S105,将所述码流的MPD发送给客户端。S105. Send the MPD of the code stream to the client.
在一些可行的实施方式中,服务器生成了LBVC码流的MPD之后,则可按照指定的网络地址存储上述知识层片段(包括目标知识层片段)和序列层片段,以及上述MPD。进一步的,服务器可等待接收客户端发送的请求。当服务器接收到客户端发送的请求时,可将上述码流的MPD发送给客户端。服务器还可在接收到客户端发送的HTTP请求时,根据请求的网络存储地址将相应的序列层片段或者知识层片段通过HTTP发送给客户端。具体可参见DASH标准中提供的实现方式,在此不再赘述。In some feasible implementation manners, after the server generates the MPD of the LBVC code stream, the knowledge layer segment (including the target knowledge layer segment) and the sequence layer segment, and the MPD may be stored according to the specified network address. Further, the server can wait to receive a request sent by the client. When the server receives the request sent by the client, the MPD of the above code stream can be sent to the client. The server may also send the corresponding sequence layer segment or the knowledge layer segment to the client through HTTP according to the requested network storage address when receiving the HTTP request sent by the client. For details, refer to the implementation manners provided in the DASH standard, and details are not described herein again.
S106,客户端解析服务器发送的码流的MPD,确定所述MPD中携带的扩展时段信息。S106. The client parses the MPD of the code stream sent by the server, and determines extended time period information carried in the MPD.
具体实现中,由于本发明实施例的服务器扩展了DASH标准的语法元素,在码流的MPD中新增了扩展时段信息,现有的符合DASH标准的客户端(下面简称客户端)无法解析并获取该扩展时段。因此,本发明实施例在客户端新增扩展时段的解析机制,用以识别上述扩展的语法元素,使得客户端可以解析并获取目标知识层片段的扩展时段,从而可以根据播放时段和扩展时段来区分序列层片段和目标知识层片段。In a specific implementation, since the server of the embodiment of the present invention extends the syntax elements of the DASH standard, the extended time period information is added to the MPD of the code stream, and the existing DASH-compliant client (hereinafter referred to as the client) cannot be parsed and Get the extended time period. Therefore, the embodiment of the present invention adds an extension period extension mechanism to the client to identify the extended syntax element, so that the client can parse and acquire the extension period of the target knowledge layer segment, so that the playback period and the extension period can be used. The sequence layer segment and the target knowledge layer segment are distinguished.
本发明实施例在客户端增加知识层片段请求分析机制,根据知识层片段的网络存储地址信息是否相同来判断MPD中描述的多个知识层片段是否是目标知识层片段,从而可以在存储空间(具体可为用于存储知识库的存储装置)中检查目标知识层片段的存储状态,以判断是否要向服务端请求并下载目标知识层片段,以避免重复下载同一个片段,节省传输带宽。进一步的,本发明实施例在客户端增加知识库存储管理机制,用以管理目标知识层片段的存储,确保目标知识层片段在其被依赖时段内存储在客户端。同时,构建知识层片段的存储列表,记录目标知识层片段的存储状态,以便于客户端检查目标知识层片段的存储状态。In the embodiment of the present invention, a knowledge layer fragment request analysis mechanism is added to the client, and whether the plurality of knowledge layer segments described in the MPD are target knowledge layer segments are determined according to whether the network storage address information of the knowledge layer segment is the same, so that the storage space can be Specifically, the storage state of the target knowledge layer segment may be checked in a storage device for storing the knowledge base to determine whether the target knowledge layer segment is to be requested and downloaded to the server to avoid repeatedly downloading the same segment, thereby saving transmission bandwidth. Further, the embodiment of the present invention adds a knowledge storage management mechanism to the client to manage the storage of the target knowledge layer segment, and ensures that the target knowledge layer segment is stored in the client during the time period in which it is dependent. At the same time, a storage list of the knowledge layer segments is constructed, and the storage state of the target knowledge layer segments is recorded, so that the client checks the storage state of the target knowledge layer segments.
在一些可行的实施方式中,由于LBVC码流的序列层片段的特性和SVC-DASH中的增强层片段的特性类似,因此客户端可按照现有DASH标准的方式向服务器请求序列层片段,在此不再赘述。对于目标知识层片段,客户端可在获取到用户选择的播放媒体的种类时,首先向服务器请求LBVC码流的MPD,解析上述服务器发送的MPD。客户端可通过解析服务器发送的MPD获取MPD中包含的扩展时段信息,其中,上述扩展时段信息可包括用于标记目标知识层片段的第一扩展标识,或者用于标记描述层的第二扩展标识。上述携带第一扩展标识的目标知识层片段包含在一个或者多个描述层中,上述携带第二扩展标识的描述层描述一个或者多个目标知识层片段。In some feasible implementation manners, since the characteristics of the sequence layer segment of the LBVC code stream are similar to those of the enhancement layer segment in the SVC-DASH, the client may request the sequence layer segment from the server according to the existing DASH standard. This will not be repeated here. For the target knowledge layer segment, when obtaining the type of the playback media selected by the user, the client may first request the MPD of the LBVC code stream from the server, and parse the MPD sent by the server. The client may obtain extended period information included in the MPD by parsing the MPD sent by the server, where the extended period information may include a first extended identifier for marking the target knowledge layer segment, or a second extended identifier for marking the description layer . The target knowledge layer segment carrying the first extended identifier is included in one or more description layers, and the description layer carrying the second extended identifier describes one or more target knowledge layer segments.
S107,根据所述扩展时段信息确定出目标知识层片段,并确定出所述目标知识层片段的被依赖时段。 S107. Determine a target knowledge layer segment according to the extended time period information, and determine a dependent time period of the target knowledge layer segment.
在一些可行的实施方式中,客户端获取得到上述第一扩展标识或者第二扩展标识之后,则可将携带上述第一扩展标识的片段确定为目标知识层片段,或者将携带上述扩展标识的描述层描述的一个或者多个片段确定为目标知识层片段,并获取上述目标知识层片段的扩展时段的信息。其中,上述扩展时段的信息包括:扩展时段的起始时刻和扩展时段的长度等,具体可参见上述服务器描述的实现方式,在此不再赘述。In some feasible implementation manners, after the client obtains the foregoing first extended identifier or the second extended identifier, the fragment carrying the first extended identifier may be determined as a target knowledge layer segment, or a description of carrying the extended identifier may be carried. One or more segments of the layer description are determined as target knowledge layer segments, and information of the extended time period of the target knowledge layer segment is acquired. The information of the foregoing extended time period includes: a start time of the extended time period and a length of the extended time period, and the like. For details, refer to the implementation manner of the foregoing server description, and details are not described herein again.
在一些可行的实施方式中,客户端根据上述服务器发送的MPD确定了目标知识层片段之后,可进一步确定目标知识层片段拥有的一个或者多个扩展时段。其中,上述目标知识层片段为上述MPD包含的携带第一扩展标识的片段或者携带第二扩展标识的一个或者多个描述层描述的一个或者多个片段。具体实现中,客户端根据服务器发送的MPD从中解析得到扩展标识(包括第一扩展标识或者第二扩展标识)标记的片段的信息,根据扩展标识获取片段的扩展时段的获取方式与上述服务器对扩展标识的描述方式相对应。其中,客户端获取目标知识层片段的扩展时段的信息的获取方式可包括以下四种方式中的任一种:In some feasible implementation manners, after the client determines the target knowledge layer segment according to the MPD sent by the server, the one or more extended time periods owned by the target knowledge layer segment may be further determined. The target knowledge layer segment is one or more segments included in the MPD that carry the first extended identifier or one or more description layers that carry the second extended identifier. In a specific implementation, the client parses the information of the fragment marked by the extended identifier (including the first extended identifier or the second extended identifier) according to the MPD sent by the server, and obtains the extended period of the fragment according to the extended identifier and the server pair extension. The description of the logo corresponds. The obtaining manner of the information of the extended period of the target knowledge layer segment by the client may include any one of the following four methods:
1)方式一:当服务器采用的扩展标识(包括第一扩展标识或者第二扩展标识)为第一字符串(例如ExtDuration)时,客户端可解析上述服务器发送的MPD,从中识别ExtDuration。进而可将ExtDuration对应的数值确定为目标知识层片段的扩展时段的长度,并可根据上述目标知识层片段之前的所有知识层片段的时间长度的终点时刻确定目标知识层片段的扩展时段的起始时刻。上述根据第一字符串确定扩展时段的起始时刻和长度的具体实现方式可参见上述服务器描述的实现方式中,在此不再赘述。1) Method 1: When the extended identifier (including the first extended identifier or the second extended identifier) adopted by the server is the first character string (for example, ExtDuration), the client may parse the MPD sent by the server, and identify ExtDuration from the server. Further, the value corresponding to the ExtDuration may be determined as the length of the extended period of the target knowledge layer segment, and the start time of the extended period of the target knowledge layer segment may be determined according to the end time of the time length of all the knowledge layer segments before the target knowledge layer segment. time. For the specific implementation manner of determining the start time and the length of the extended period according to the first character string, refer to the implementation manner described in the foregoing server, and details are not described herein again.
2)方式二:当服务器采用的扩展标识(包括第一扩展标识或者第二扩展标识)为第二字符串(例如ExtSegmentTimeLine)时,客户端可解析上述服务器发送的MPD,从中识别ExtSegmentTimeLine。进而可根据采用的解码标准从码流中识别、获取目标知识层片段的扩展时段的起始时刻和扩展时段的长度等信息。其中,上述根据第二字符串确定扩展时段的起始时刻和长度的具体实现方式可可参见上述服务器描述的实现方式中,在此不再赘述。2) Method 2: When the extension identifier (including the first extension identifier or the second extension identifier) adopted by the server is a second string (for example, ExtSegmentTimeLine), the client may parse the MPD sent by the server, and identify the ExtSegmentTimeLine from the server. Further, information such as a start time of the extended period of the target knowledge layer segment and a length of the extended period may be identified and acquired from the code stream according to the adopted decoding standard. The specific implementation manner of determining the start time and the length of the extended time period according to the second character string may be referred to the implementation manner of the foregoing server description, and details are not described herein again.
3)方式三:当服务器采用的扩展标识为语法元素Extended时,客户端可解析上述服务器发送的MPD,从中识别语法元素Extended。当上述Extended为真(即Extended=True)时,则可计算携带上述扩展标识的片段的播放时段或者携带扩展标识的描述层描述的目标知识层片段的播放时段,将计算得到的播放时段确定为目标知识层片段的扩展时段。3) Method 3: When the extension identifier used by the server is the syntax element Extended, the client may parse the MPD sent by the server, and identify the syntax element Extended. When the Extended is true (ie, Extended=True), the playing period of the segment carrying the extended identifier or the playing period of the target knowledge layer segment carrying the description layer of the extended identifier may be calculated, and the calculated playing period is determined as The extended period of the target knowledge layer fragment.
4)方式四:当服务器采用的扩展标识为语法元素ExtSegment时,客户端可解析上述服务器发送的MPD,从中识别语法元素ExtSegment。当上述ExtSegment为真(即ExtSegment=True)时,则可计算携带上述扩展标识的片段的播放时段或者携带扩展标识的描述层描述的至少一个知识层片段的播放时段,将计算得到的播放时段确定为目标知识层片段的扩展时段。4) Method 4: When the extension identifier used by the server is the syntax element ExtSegment, the client can parse the MPD sent by the server, and identify the syntax element ExtSegment. When the above ExtSegment is true (ie, ExtSegment=True), the playing period of the segment carrying the extended identifier or the playing period of the at least one knowledge layer segment carrying the description of the description layer of the extended identifier may be calculated, and the calculated playing period is determined. The extension period of the target knowledge layer segment.
具体实现中,客户端可根据上述扩展时段信息确定出目标知识层片段,以及目标知识层片段的被依赖时段。其中,上述目标知识层片段及其被依赖时段的确定可参见上述服务器对应的实现方式,在此不再赘述。In a specific implementation, the client may determine the target knowledge layer segment and the dependent time period of the target knowledge layer segment according to the extended time period information. For the determination of the foregoing target knowledge layer segment and its dependent time period, refer to the corresponding implementation manner of the foregoing server, and details are not described herein again.
S108,从所述码流的MPD获取所述目标知识层片段的网络存储地址,记录所述目标知识层片段的被依赖时段和网络存储地址。S108. Acquire a network storage address of the target knowledge layer segment from the MPD of the code stream, and record a dependent time period and a network storage address of the target knowledge layer segment.
在一些可行的实施方式中,客户端还可根据上述MPD确定上述扩展时段对应的网络存 储地址,根据每个扩展时段对应的网络存储地址确定各个扩展时段所属的目标知识层片段。进一步的,客户端可确定目标知识层片段在客户端的存储装置中的存储状态。具体实现中,上述客户端确定每个扩展时段的网络存储地址的实现方式可根据上述服务器在MPD中描述的存储地址确定,在此不再赘述。上述每个知识层片段的存储状态可根据客户端的存储装置中存储的数据确定,在此不再赘述。In some feasible implementation manners, the client may further determine the network storage corresponding to the extended period according to the foregoing MPD. The storage address determines the target knowledge layer segment to which each extended period belongs according to the network storage address corresponding to each extended period. Further, the client may determine the storage state of the target knowledge layer segment in the storage device of the client. In a specific implementation, the implementation manner of determining, by the client, the network storage address of each extended period may be determined according to the storage address described by the server in the MPD, and details are not described herein again. The storage state of each of the above-mentioned knowledge layer segments may be determined according to data stored in the storage device of the client, and details are not described herein again.
在一些可行的实施方式中,客户端可根据每个扩展时段的网络存储地址,确定每个目标知识层片段的被依赖时段。其中,网络存储地址相同的扩展时段可确定为同一个目标知识层片段的扩展时段,进而可将同一个目标知识层片段的扩展时段的集合确定为该目标知识层片段的被依赖时段。In some feasible implementation manners, the client may determine a dependent time period of each target knowledge layer segment according to a network storage address of each extended time period. The extended time period in which the network storage addresses are the same may be determined as the extended time period of the same target knowledge layer segment, and the set of the extended time period of the same target knowledge layer segment may be determined as the dependent time period of the target knowledge layer segment.
在一些可行的实施方式中,客户端确定了目标知识层片段的被依赖时段以及该被依赖时段包含的扩展时段之后,则可构建一个或多个知识层片段列表,并在上述知识层片段列表中记录每个目标知识层片段的网络存储地址、存储状态以及被依赖时段等信息。其中,上述目标知识层片段的存储状态可通过一个存储状态标记表示。具体的,若MPD使用了多个描述层描述目标知识层片段的信息,则上述所有描述层中的目标知识层片段的信息均要记录在知识层片段列表中。如图17,图17为知识层片段列表的一示意图。客户端可在两个知识层片段列表(包括知识层片段列表-1和知识层片段列表-2)中描述所有目标知识层片段的网络存储地址,扩展时段起始时刻和扩展时段长度(即扩展时段持续时长)。其中,图17中每个列表记录图10中的一个描述层描述的知识层片段的信息,相同的网络存储地址的知识层片段为同一知识层片段。进一步的,如图18,图18为知识层片段列表的另一示意图。客户端也可在一个知识层片段列表中描述所有知识层片段的网络存储地址,扩展时段起始时刻和扩展时段长度(即扩展时段持续时长)。其中,上述知识层片段列表记录着图10中的所有描述层描述的知识层片段的信息,相同的网络存储地址的知识层片段为同一知识层片段。其中,K1、K2和K3均可设定为本发明实施例提供的目标知识层片段,K4为被两个连续的序列层片段依赖的知识层片段。In some feasible implementation manners, after the client determines the dependent time period of the target knowledge layer segment and the extended time period included in the dependent time period, one or more knowledge layer segment lists may be constructed, and the knowledge layer segment list is The information such as the network storage address, the storage state, and the time period of the dependency of each target knowledge layer segment is recorded. The storage state of the target knowledge layer segment may be represented by a storage status flag. Specifically, if the MPD uses multiple description layers to describe the information of the target knowledge layer segment, the information of the target knowledge layer segments in all the description layers described above is recorded in the knowledge layer segment list. FIG. 17 is a schematic diagram of a knowledge layer segment list. The client may describe the network storage addresses of all target knowledge layer segments, the extended period start time and the extended period length (ie, extension) in the two knowledge layer fragment lists (including the knowledge layer fragment list-1 and the knowledge layer fragment list-2). The duration of the period). Wherein, each list in FIG. 17 records information of the knowledge layer segment described in the description layer of FIG. 10, and the knowledge layer segment of the same network storage address is the same knowledge layer segment. Further, as shown in FIG. 18, FIG. 18 is another schematic diagram of a knowledge layer segment list. The client may also describe the network storage address of all knowledge layer segments in the knowledge layer fragment list, the expansion period start time and the extension period length (ie, the extension period duration). The knowledge layer segment list records information of all the knowledge layer segments described in FIG. 10, and the knowledge layer segments of the same network storage address are the same knowledge layer segment. The K1, K2, and K3 can be set as the target knowledge layer segment provided by the embodiment of the present invention, and K4 is the knowledge layer segment that is dependent on two consecutive sequence layer segments.
进一步的,客户端可构建另一个知识层片段列表(可命名为知识层片段存储列表),通过上述知识层片段存储列表记录知识层片段的网络存储地址、存储状态和被依赖时段。其中,上述被依赖时段为具有相同网络存储地址的扩展时段的集合。如图19,图19为知识层片段列表的另一示意图。其中,知识层片段存储列表中每个知识层片段的信息由上述图17中记录的信息确定,并可设定每个知识层片段的初始存储状态均可标记为False。其中,每个知识层片段的存储状态可根据实际应用过程中获取的知识层片段的状态进行实时更改,以更好地确定在某一个时段是否需要再次下载某个知识层片段。Further, the client may construct another knowledge layer segment list (which may be named as a knowledge layer segment storage list), and record the network storage address, the storage state, and the dependent time period of the knowledge layer segment through the knowledge layer segment storage list. Wherein, the above-mentioned dependent time period is a set of extended time periods having the same network storage address. FIG. 19 is another schematic diagram of a knowledge layer segment list. The information of each knowledge layer segment in the knowledge layer segment storage list is determined by the information recorded in FIG. 17 above, and the initial storage state of each knowledge layer segment can be set to be False. The storage state of each knowledge layer segment may be changed in real time according to the state of the knowledge layer segment acquired in the actual application process to better determine whether a certain knowledge layer segment needs to be downloaded again in a certain time period.
S109,当获取到视频点播请求时,判断所述视频点播请求中携带的点播时刻是否包含在所述目标知识层片段的被依赖时段中,若判断结果为是,执行步骤S110。S109. When the video on demand request is obtained, it is determined whether the on-demand time carried in the video-on-demand request is included in the time-dependent period of the target knowledge layer segment. If the determination result is yes, step S110 is performed.
在一些可行的实施方式中,客户端可获取用户点播视频时触发的视频操作请求,还可获取视频操作请求中携带的点播时刻,进而可通过查表确定目标知识层片段的被依赖时段是否包含上述点播时刻。具体的,可通过查表确定所有知识层片段的被依赖时段中包括的扩展时段中是否存在覆盖上述点播时刻的扩展时段,若存在,则可将扩展时段覆盖上述点播时刻确定为被依赖时段覆盖上述操作时刻的知识层片段。即,客户端可根据上述点播时 刻,从上述知识层片段存储列表中包含的所有知识层片段中查找被依赖时段覆盖上述点播时刻的知识层片段(设为第二知识层片段)。其中,上述被依赖时段覆盖上述播放时刻表示上述被依赖时段中包含的某一个扩展时段的起始时刻在上述播放时刻之前或者为上述点播时刻,并且上述扩展时段的结束时刻在上述点播时刻之后或者为上述点播时刻,具体可根据实际应用场景确定,在此不做限制。需要说明的是,存在点播时刻不依赖任一知识层片段的情况,即该点播时刻对应的序列层片段不依赖知识层片段,此时所有知识层片段的被依赖时段中包括的扩展时段中不存在覆盖上述操作时刻的扩展时段,不需要请求知识层片段。In some feasible implementation manners, the client may obtain a video operation request that is triggered when the user plays the video on demand, and may also obtain an on-demand time carried in the video operation request, and further determine whether the time-dependent period of the target knowledge layer segment is included by using the look-up table. The above-mentioned on-demand time. Specifically, whether the extended time period covering the above-mentioned on-demand time exists in the extended time period included in the dependent time period of all the knowledge layer segments may be determined by using a lookup table, and if yes, the extended time period coverage may be determined to be covered by the dependent time period. The knowledge layer fragment of the above operation time. That is, the client can be based on the above-mentioned on-demand And searching for all the knowledge layer segments included in the knowledge layer segment storage list to search for the knowledge layer segment (set as the second knowledge layer segment) of the above-mentioned on-demand time by the dependent time period. The above-mentioned time-dependent period covering the playback time indicates that the start time of one of the extended periods included in the time-dependent period is before the playback time or the above-mentioned on-demand time, and the end time of the extended period is after the above-mentioned on-demand time or For the above-mentioned on-demand time, it can be determined according to the actual application scenario, and no limitation is imposed here. It should be noted that there is a case where the on-demand time does not depend on any knowledge layer segment, that is, the sequence layer segment corresponding to the on-demand time does not depend on the knowledge layer segment, and at this time, the extension period included in the dependent time period of all the knowledge layer segments is not There is an extended period covering the above operation time, and there is no need to request a knowledge layer fragment.
S110,查看所述目标知识层片段在所述客户端的存储空间中的存储状态,并根据所述存储状态确定所述目标知识层片段的获取方式。S110. View a storage state of the target knowledge layer segment in a storage space of the client, and determine an acquisition manner of the target knowledge layer segment according to the storage state.
在一些可行的实施方式中,客户端通过查表确定了第二知识层片段之后,还可根据上述知识层片段存储列表中存储的各个知识层片段的存储标记确定各个知识层片段在客户端中的存储状态。进一步的,客户端可根据各个知识层片段的存储状态确定第二知识层片段的获取方式。具体的,若上述知识层片段存储列表中记录的第二知识层片段的存储状态为空(即第二目标知识层片段的存储状态标记为False),客户端则可向服务器发送获取所述第二知识层片段的请求。服务器接收到客户端发送的请求之后,则可将上述第二知识层片段的数据发送给客户端。客户端可接收服务器发送的第二知识层片段,并可将知识层片段存储列表中存储的第二知识层片段的存储标记更改为不为空(更改为True)。若上述知识层片段存储列表中记录的第二知识层片段的存储状态不为空(即第二目标知识层片段的存储状态标记为True),客户端则可直接从其存储空间中获取上述第二知识层片段,无需向服务器发送获取请求,进而避免了同一知识层片段的重复下载,节省传输带宽。In some feasible implementation manners, after the client determines the second knowledge layer segment by using the lookup table, the client may also determine, according to the storage mark of each knowledge layer segment stored in the knowledge layer segment storage list, each knowledge layer segment in the client. Storage status. Further, the client may determine the manner in which the second knowledge layer segment is acquired according to the storage state of each knowledge layer segment. Specifically, if the storage state of the second knowledge layer segment recorded in the knowledge layer segment storage list is empty (that is, the storage state of the second target knowledge layer segment is marked as False), the client may send the obtained information to the server. A request for a second knowledge layer fragment. After receiving the request sent by the client, the server may send the data of the second knowledge layer segment to the client. The client may receive the second knowledge layer fragment sent by the server, and may change the storage token of the second knowledge layer fragment stored in the knowledge layer fragment storage list to be non-empty (changed to True). If the storage state of the second knowledge layer segment recorded in the knowledge layer segment storage list is not empty (that is, the storage state of the second target knowledge layer segment is marked as True), the client may directly obtain the foregoing from the storage space thereof. The second knowledge layer segment does not need to send an acquisition request to the server, thereby avoiding repeated downloading of the same knowledge layer segment and saving transmission bandwidth.
在一些可行的实施方式中,客户端从服务器请求并获取了第二知识层片段之后,可根据存储知识层片段的存储装置的存储空间大小调整存储空间中知识层片段的存储状态。具体的,若客户端中用于存储知识层片段的存储装置的剩余空间大小大于或者等于第二知识层片段的数据大小,则将获取的第二知识层片段的存储状态更改为不为空,并将第二知识层片段存入上述存储装置。若客户端中用于存储知识层片段的存储装置的剩余空间大小小于第二知识层片段的数据大小,则可删除存储装置中存储的一个或者多个其他的知识层片段(即指定目标知识层片段)使存储装置的剩余空间大小大于或者等于第二知识层片段的数据大小,将所述第二知识层片段存入上述存储装置。进一步的,客户端可在上述知识层片段存储列表中将被删除的知识层片段的存储状态对应的存储标记更改为空,将第二知识层片段的存储状态对应的存储标记更改为不为空,以便于客户端在后续操作中更好得确定各个知识层片段的获取方式。In some feasible implementation manners, after the client requests and acquires the second knowledge layer segment from the server, the storage state of the knowledge layer segment in the storage space may be adjusted according to the storage space size of the storage device storing the knowledge layer segment. Specifically, if the remaining space size of the storage device for storing the knowledge layer segment in the client is greater than or equal to the data size of the second knowledge layer segment, the storage state of the acquired second knowledge layer segment is changed to not empty. And storing the second knowledge layer segment in the above storage device. If the remaining space size of the storage device for storing the knowledge layer segment in the client is smaller than the data size of the second knowledge layer segment, one or more other knowledge layer segments stored in the storage device may be deleted (ie, the specified target knowledge layer is deleted) Fragment) storing the remaining space size of the storage device to be greater than or equal to the data size of the second knowledge layer segment, and storing the second knowledge layer segment in the storage device. Further, the client may change the storage flag corresponding to the storage state of the deleted knowledge layer segment to null in the knowledge layer segment storage list, and change the storage flag corresponding to the storage state of the second knowledge layer segment to not empty. In order to facilitate the client to determine how to obtain each knowledge layer fragment in subsequent operations.
具体实现中,上述指定目标知识层片段的被依赖时段与上述点播时刻的时间距离在大于预设时间阈值。具体的,客户端删除存储空间中的知识层片段时,可根据知识层片段的被依赖时段,选择被依赖时段在当前点播时刻之前的知识层片段,即该知识层片段不会再被使用,将其删除。进一步的,客户端也可根据知识层片段的被依赖时段,选择被依赖时段中下一个扩展时段距离当前点播时刻最远的知识层片段,即该知识层片段距离下次使用需要等待的时间最长,将其删除。 In a specific implementation, the time interval between the time-dependent period of the specified target knowledge layer segment and the above-mentioned on-demand time is greater than a preset time threshold. Specifically, when the client deletes the knowledge layer segment in the storage space, the knowledge layer segment of the dependent time period before the current on-demand time may be selected according to the dependent time period of the knowledge layer segment, that is, the knowledge layer segment is no longer used. Remove it. Further, the client may also select the knowledge layer segment that is the farthest from the current on-demand time in the next extended period of the dependent time period according to the dependent time period of the knowledge layer segment, that is, the time that the knowledge layer segment needs to wait for the next use. Long, remove it.
在本发明实施例中,服务器可在码流的MPD中添加扩展时段信息来标记目标知识层片段的扩展时段等信息。客户端可通过解析码流的MPD,获取MPD中包含的扩展时段信息,并确定目标知识层片段的被依赖时段,并存储上述目标知识层片段的被依赖时段和目标知识层片段在客户端中的存储状态的存储状态标记。进一步的,客户端可在接收到用户点播视频的点播请求时,根据点播请求中携带的点播时刻查找包含该点播时刻的扩展时段,进而确定该扩展时段对应的目标知识层片段及其存储状态标记。客户端可根据目标知识层片段的存储状态确定是否向服务器请求目标知识层片段,或者从本地存储空间中获取目标知识层片段,可避免同一个知识层片段的多次加载和存储,节省数据传输带宽,提高码流数据的处理效率。In the embodiment of the present invention, the server may add extended period information to the MPD of the code stream to mark information such as an extended period of the target knowledge layer segment. The client may obtain the extended time period information included in the MPD by parsing the MPD of the code stream, determine the dependent time period of the target knowledge layer segment, and store the dependent time period of the target knowledge layer segment and the target knowledge layer segment in the client. The storage status flag for the storage state. Further, when receiving the request for the on-demand video of the user, the client may search for the extended time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the extended time period and the storage status flag thereof. . The client may determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or obtain the target knowledge layer segment from the local storage space, thereby avoiding multiple loading and storage of the same knowledge layer segment, and saving data transmission. Bandwidth, improve the processing efficiency of the stream data.
参见图20,是本发明实施例提供的视频数据的处理装置的一结构示意图。本发明实施例提供的处理装置包括:FIG. 20 is a schematic structural diagram of a video data processing apparatus according to an embodiment of the present invention. The processing device provided by the embodiment of the present invention includes:
获取单元201,用于获取码流中的所有序列层片段中每个序列层片段的片段信息,所述片段信息用于描述所述码流中的序列层片段与知识层片段的依赖关系。The obtaining unit 201 is configured to acquire segment information of each sequence layer segment in all sequence layer segments in the code stream, where the segment information is used to describe a dependency relationship between the sequence layer segment and the knowledge layer segment in the code stream.
确定单元202,用于根据所述获取单元201获取的所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段,所述N个序列层片段依赖于所述第一目标知识层片段,所述N个序列层片段中至少包含两个不连续的序列层片段,所述第一目标知识层片段为所述码流中包含的至少一个知识层片段中的一个。a determining unit 202, configured to determine, according to the segment information of each sequence layer segment acquired by the acquiring unit 201, N sequence layer segments and a first target knowledge layer segment, where the N sequence layer segments are dependent on a first target knowledge layer segment, wherein the N sequence layer segments include at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream .
所述获取单元201,还用于获取所述确定单元202确定的所述第一目标知识层片段的片段信息。The acquiring unit 201 is further configured to acquire segment information of the first target knowledge layer segment determined by the determining unit 202.
添加单元203,用于根据所述获取单元201获取的所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的媒体表达描述MPD中添加所述第一目标知识层片段的扩展时段信息,所述N个序列层片段在所述扩展时段信息指示的时段内被编码。The adding unit 203 is configured to add, according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments acquired by the acquiring unit 201, in the media expression description MPD of the code stream. Extended period information of the first target knowledge layer segment, the N sequence layer segments being encoded within a period indicated by the extended period information.
发送单元204,用于将所述添加单元203处理得到的所述码流的MPD发送给客户端。The sending unit 204 is configured to send the MPD of the code stream processed by the adding unit 203 to the client.
在一些可行的实施方式中,所述确定单元202具体用于:In some possible implementations, the determining unit 202 is specifically configured to:
根据所述获取单元获取的所述每个序列层片段的片段信息中包含的知识层片段的标识确定出每个序列层片段所依赖的知识层片段;Determining, according to the identifier of the knowledge layer segment included in the segment information of each sequence layer segment acquired by the acquiring unit, a knowledge layer segment on which each sequence layer segment depends;
确定出第一目标知识层片段,并确定出依赖所述第一目标知识层片段的N个序列层片段。Determining a first target knowledge layer segment and determining N sequence layer segments that depend on the first target knowledge layer segment.
在一些可行的实施方式中,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;In some possible implementations, the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment group corresponding to the first time period and a second time period corresponding to a second sequence layer segment group;
所述第一序列层片段组包含N1个序列层片段,所述第二序列层片段组包含N2个序列层片段,所述N1个序列层片段和所述N2个序列层片段不连续,并且N1+N2<=N;The first sequence layer segment group includes N1 sequence layer segments, the second sequence layer segment group includes N2 sequence layer segments, the N1 sequence layer segments and the N2 sequence layer segments are discontinuous, and N1 +N2<=N;
若所述N1>1,则所述N1个序列层片段为连续的序列层片段;若所述N2>1,则所述N2个序列层片段为连续的序列层片段;If the N1>1, the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
所述码流的MPD包含至少两个描述层,所述至少两个描述层中第一描述层描述第一目 标知识层片段,第二描述层描述序列层片段;The MPD of the code stream includes at least two description layers, and the first description layer of the at least two description layers describes the first item a knowledge layer segment, the second description layer describing the sequence layer segment;
所述添加单元203具体用于:The adding unit 203 is specifically configured to:
在所述第一描述层包含的所述第一时段对应的第一片段描述中添加第一扩展时段信息,并在所述第一描述层包含的所述第二时段对应的第二片段描述中添加第二扩展时段信息。Adding first extended period information to the first segment description corresponding to the first period included in the first description layer, and in the second segment description corresponding to the second period included in the first description layer Add the second extended period information.
在一些可行的实施方式中,所述第一扩展时段信息和所述第二扩展时段信息均为第一扩展标识;In some possible implementations, the first extended period information and the second extended period information are both first extended identifiers;
所述添加单元203具体用于:The adding unit 203 is specifically configured to:
在所述第一片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识,并在所述第二片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识。Adding a first extended identifier to the segment information of the first target knowledge layer segment included in the first segment description, and segment information of the first target knowledge layer segment included in the second segment description Add the first extension ID.
在一些可行的实施方式中,所述第一扩展时段信息和所述第二扩展时段信息均为第二扩展标识;In some possible implementations, the first extended period information and the second extended period information are both second extended identifiers;
所述添加单元203具体用于:The adding unit 203 is specifically configured to:
在所述第一描述层的描述层属性信息中添加所述第一时段对应的第二扩展标识和所述第二时段对应的第二扩展标识。Adding, in the description layer attribute information of the first description layer, a second extension identifier corresponding to the first period and a second extension identifier corresponding to the second period.
在一些可行的实施方式中,若所述第一序列层片段组还依赖第二目标知识层片段,则所述码流的MPD中还包括第三描述层,所述第三描述层描述所述第二目标知识层片段。In some possible implementations, if the first sequence layer segment group further depends on the second target knowledge layer segment, the MPD of the code stream further includes a third description layer, where the third description layer describes the The second target knowledge layer fragment.
在一些可行的实施方式中,所述添加单元203还用于:In some possible implementations, the adding unit 203 is further configured to:
在所述第三描述层包含的所述第一时段对应的第三片段描述中添加第三扩展时段信息,所述第三扩展时段信息为第一扩展标识;或者Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier; or
在所述第三描述层的描述层属性信息中添加第三扩展时段信息,所述第三扩展时段信息为第二扩展标识。The third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
具体实现中,上述处理装置可为本发明实施例提供的服务器或者服务器中的功能模块,处理装置可通过其内置的各个单元执行上述视频数据的处理方法的各个步骤中服务器对应的实现方式,在此不再赘述。In a specific implementation, the processing device may be a function module in a server or a server provided by the embodiment of the present invention, and the processing device may perform the corresponding implementation manner of the server in each step of the processing method of the video data by using various units built therein. This will not be repeated here.
在本发明实施例中,服务器可将被至少两个不连续的序列层片段依赖的知识层片段确定为目标知识层片段,并在码流的MPD中添加扩展时段信息来标记目标知识层片段的扩展时段等信息,以供客户端对目标知识层片段和非目标知识层片段区分,进而可避免目标知识层片段的重复加载和传输,节省数据传输带宽,增强了视频数据的处理的适用性。In the embodiment of the present invention, the server may determine the knowledge layer segment that is dependent on at least two discontinuous sequence layer segments as the target knowledge layer segment, and add extended time period information in the MPD of the code stream to mark the target knowledge layer segment. Information such as extended time period is provided for the client to distinguish between the target knowledge layer segment and the non-target knowledge layer segment, thereby avoiding repeated loading and transmission of the target knowledge layer segment, saving data transmission bandwidth, and enhancing the applicability of video data processing.
参见图21,是本发明实施例提供的视频数据的处理装置的另一结构示意图。本发明实施例提供的处理装置包括:FIG. 21 is another schematic structural diagram of a video data processing apparatus according to an embodiment of the present invention. The processing device provided by the embodiment of the present invention includes:
解析单元211,用于解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息,所述扩展时段信息用于确定所述码流中包含的目标知识层片段的被依赖时段,所述目标知识层片段为所述码流中包含的至少一个知识层片段中的一个,所述目标知识层片段被所述码流中的N个序列层片段依赖。The parsing unit 211 is configured to parse a media expression description MPD of the code stream sent by the server, and determine extended period information carried in the MPD, where the extended period information is used to determine a target knowledge layer segment included in the code stream. The target knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream.
确定单元212,用于根据所述解析单元211获取的所述扩展时段信息确定出目标知识层片段,并确定出所述目标知识层片段的被依赖时段,所述N个序列层片段在所述目标知 识层片段的被依赖时段内已被编码。a determining unit 212, configured to determine, according to the extended period information acquired by the parsing unit 211, a target knowledge layer segment, and determine a dependent period of the target knowledge layer segment, where the N sequence layer segments are in the Target knowledge The layered segments are encoded within the time period of the dependency.
记录单元213,用于从所述解析单元211解析的所述码流的MPD获取所述目标知识层片段的网络存储地址,记录所述确定单元212确定的所述目标知识层片段的被依赖时段和所述网络存储地址。a recording unit 213, configured to acquire a network storage address of the target knowledge layer segment from the MPD of the code stream parsed by the parsing unit 211, and record a dependent time period of the target knowledge layer segment determined by the determining unit 212 And the network storage address.
判断单元214,用于在获取到视频点播请求时,判断所述视频点播请求中携带的点播时刻是否包含在所述记录单元213记录的所述目标知识层片段的被依赖时段中。The determining unit 214 is configured to determine, when the video on demand request is obtained, whether the on-demand time carried in the video-on-demand request is included in the time-dependent period of the target knowledge layer segment recorded by the recording unit 213.
获取单元215,用于在所述判断单元214的判断结果为是时,查看所述目标知识层片段在所述客户端的存储空间中的存储状态,并根据所述存储状态确定所述目标知识层片段的获取方式。The obtaining unit 215 is configured to: when the determination result of the determining unit 214 is YES, view a storage state of the target knowledge layer segment in a storage space of the client, and determine the target knowledge layer according to the storage state. How to get the fragment.
在一些可行的实施方式中,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;In some possible implementations, the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment group corresponding to the first time period and a second time period corresponding to a second sequence layer segment group;
所述扩展时段信息包括所述第一时段对应的第一扩展时段信息和所述第二时段对应的第二扩展时段信息;The extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
所述第一扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第一扩展时段,所述第二扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第二扩展时段。The first extended period information is used to determine a first extended period of the dependent period of the target knowledge layer segment, and the second extended period information is used to determine a first of the dependent periods of the target knowledge layer segment Two extended time slots.
在一些可行的实施方式中,所述第一扩展时段信息和所述第二扩展时段信息为第一扩展标识;In some possible implementations, the first extended period information and the second extended period information are first extended identifiers;
所述解析单元具体用于:The parsing unit is specifically configured to:
解析所述MPD,获取所述MPD中包含描述层描述的片段信息包含的第一扩展标识;Parsing the MPD, and acquiring a first extended identifier included in the fragment information including the description of the description layer in the MPD;
所述确定单元具体用于:The determining unit is specifically configured to:
将携带所述解析单元获取的所述第一扩展标识的片段信息对应的片段确定为目标知识层片段;Determining a segment corresponding to the segment information of the first extended identifier acquired by the parsing unit as a target knowledge layer segment;
其中,所述片段信息包括第一时段对应的第一片段信息和第二时段对应的第二片段信息,所述第一片段信息中携带第一扩展时段信息,所述第二片段信息中携带第二扩展时段信息。The segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
在一些可行的实施方式中,所述第一扩展时段信息和所述第二扩展时段信息为第二扩展标识;In some possible implementations, the first extended period information and the second extended period information are second extended identifiers;
所述解析单元具体用于:The parsing unit is specifically configured to:
解析所述MPD,获取所述MPD中包含的描述层的描述层属性信息中包含的第二扩展标识;Parsing the MPD, and acquiring a second extended identifier included in the description layer attribute information of the description layer included in the MPD;
所述确定单元具体用于:The determining unit is specifically configured to:
将携带所述解析单元获取的所述第二扩展标识的描述层描述的片段确定为目标知识层片段;Determining, by the parsing unit, a segment of the description layer of the second extended identifier that is obtained by the parsing unit as a target knowledge layer segment;
其中,所述描述层属性信息中包含第一扩展时段信息和第二扩展时段信息,所述第一片段信息和所述第二片段信息中分别携带一个第二扩展标识。The first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
在一些可行的实施方式中,所述确定单元具体用于:In some possible implementations, the determining unit is specifically configured to:
根据所述第一扩展时段信息确定出所述目标知识层片段的第一扩展时段,并根据所述 第二扩展时段信息确定出所述目标知识层片段的第二扩展时段;Determining, according to the first extended period information, a first extended period of the target knowledge layer segment, and according to the The second extended period information determines a second extended period of the target knowledge layer segment;
将所述第一扩展时段和所述第二扩展时段的并集作为所述目标知识层片段的被依赖时段。A union of the first extended period and the second extended period is taken as a dependent period of the target knowledge layer segment.
在一些可行的实施方式中,所述记录单元具体用于:In some possible implementations, the recording unit is specifically configured to:
根据所述目标知识层片段的网络存储地址创建知识层片段列表,并在所述知识层片段列表中记录所述目标知识层片段的被依赖时段;Generating a knowledge layer segment list according to the network storage address of the target knowledge layer segment, and recording a dependent time period of the target knowledge layer segment in the knowledge layer segment list;
所述记录单元还用于:The recording unit is further configured to:
在所述知识层片段列表中添加所述目标知识层片段的存储状态标记,用于表示所述目标知识层片段是否已经存在所述客户端的存储空间中;Adding, in the knowledge layer segment list, a storage state flag of the target knowledge layer segment, to indicate whether the target knowledge layer segment is already in the storage space of the client;
所述获取单元具体用于:The obtaining unit is specifically configured to:
根据所述目标知识层片段的网络存储地址在所述知识层片段列表中查看所述目标知识层片段的存储状态标记;Viewing a storage status flag of the target knowledge layer segment in the knowledge layer segment list according to a network storage address of the target knowledge layer segment;
若所述存储状态标记为真,则确定所述目标知识层片段在所述存储空间中的存储状态不为空,否则为空;If the storage status flag is true, determining that the storage state of the target knowledge layer segment in the storage space is not empty, otherwise it is empty;
若所述存储状态不为空,则从所述存储空间中获取所述目标知识层片段,否则向所述服务器发送获取所述目标知识层片段的请求。And if the storage state is not empty, acquiring the target knowledge layer segment from the storage space, and otherwise sending a request for acquiring the target knowledge layer segment to the server.
在一些可行的实施方式中,所述获取单元还用于:In some possible implementations, the obtaining unit is further configured to:
接收所述服务器发送的所述目标知识层片段;Receiving the target knowledge layer segment sent by the server;
若所述存储空间的剩余空间大小不小于所述目标知识层片段的数据大小,则将所述目标知识层片段存入所述存储空间,并通过所述记录单元将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and using the recording unit to segment the target knowledge layer segment The storage status flag is marked as true;
若所述存储空间的剩余空间大小小于所述目标知识层片段的数据大小,则删除所述存储空间中存储的指定目标知识层片段,将所述目标知识层片段存入所述存储空间,并通过所述记录单元将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording, by the recording unit, a storage status flag of the target knowledge layer segment as true;
其中,所述指定目标知识层片段的被依赖时段与所述点播时刻的时间距离大于预设时间阈值。The time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
具体实现中,上述处理装置可为本发明实施例提供的客户端,也可为客户端中的功能模块,处理装置可通过其内置的各个单元执行上述视频数据的处理方法的各个步骤中客户端对应的实现方式,在此不再赘述。In a specific implementation, the foregoing processing device may be a client provided by an embodiment of the present invention, or may be a function module in a client, and the processing device may perform a client in each step of the foregoing video data processing method by using various units built therein. The corresponding implementation manner will not be described here.
在本发明实施例中,客户端可通过解析码流的MPD,获取MPD中包含的扩展时段信息,并确定目标知识层片段的被依赖时段,并存储上述目标知识层片段的被依赖时段和目标知识层片段在客户端中的存储状态的存储状态标记。进一步的,客户端可在接收到用户点播视频的点播请求时,根据点播请求中携带的点播时刻查找包含该点播时刻的扩展时段,进而确定该扩展时段对应的目标知识层片段及其存储状态标记。客户端可根据目标知识层片段的存储状态确定是否向服务器请求目标知识层片段,或者从本地存储空间中获取目标知识层片段,可避免同一个知识层片段的多次加载和存储,节省数据传输带宽,提高码流数据的处理效率。 In the embodiment of the present invention, the client may obtain the extended time period information included in the MPD by parsing the MPD of the code stream, determine the dependent time period of the target knowledge layer segment, and store the dependent time period and target of the target knowledge layer segment. The storage state flag of the storage layer state of the knowledge layer fragment in the client. Further, when receiving the request for the on-demand video of the user, the client may search for the extended time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the extended time period and the storage status flag thereof. . The client may determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or obtain the target knowledge layer segment from the local storage space, thereby avoiding multiple loading and storage of the same knowledge layer segment, and saving data transmission. Bandwidth, improve the processing efficiency of the stream data.
参见图22,是本发明实施例提供的服务器的结构示意图。本发明实施例提供的服务器可包括:存储器221和处理器222,存储器221和处理器222相连;FIG. 22 is a schematic structural diagram of a server according to an embodiment of the present invention. The server provided by the embodiment of the present invention may include: a memory 221 and a processor 222, where the memory 221 is connected to the processor 222;
存储器221用于存储一组程序代码。The memory 221 is for storing a set of program codes.
处理器222用于调用存储器221中存储的程序代码执行如下操作:The processor 222 is configured to call the program code stored in the memory 221 to perform the following operations:
获取码流中的所有序列层片段中每个序列层片段的片段信息,所述片段信息用于描述所述码流中的序列层片段与知识层片段的依赖关系;Obtaining segment information of each sequence layer segment in all sequence layer segments in the code stream, the segment information being used to describe a dependency relationship between the sequence layer segment and the knowledge layer segment in the code stream;
根据所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段,所述N个序列层片段依赖于所述第一目标知识层片段,所述N个序列层片段中至少包含两个不连续的序列层片段,所述第一目标知识层片段为所述码流中包含的至少一个知识层片段中的一个;Determining N sequence layer segments and a first target knowledge layer segment according to the segment information of each sequence layer segment, wherein the N sequence layer segments are dependent on the first target knowledge layer segment, the N sequence layers The segment includes at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream;
获取所述第一目标知识层片段的片段信息;Obtaining segment information of the first target knowledge layer segment;
根据所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的媒体表达描述MPD中添加所述第一目标知识层片段的扩展时段信息,所述N个序列层片段在所述扩展时段信息指示的时段内被编码;Adding extended period information of the first target knowledge layer segment to the media expression description MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments, N sequence layer segments are encoded within a period indicated by the extended period information;
将所述码流的MPD发送给客户端。Sending the MPD of the code stream to the client.
在一些可行的实施方式中,上述处理器222具体用于:In some possible implementations, the processor 222 is specifically configured to:
根据所述每个序列层片段的片段信息中包含的知识层片段的标识确定出每个序列层片段所依赖的知识层片段;Determining, according to the identifier of the knowledge layer segment included in the segment information of each sequence layer segment, a knowledge layer segment on which each sequence layer segment depends;
确定出第一目标知识层片段,并确定出依赖所述第一目标知识层片段的N个序列层片段。Determining a first target knowledge layer segment and determining N sequence layer segments that depend on the first target knowledge layer segment.
在一些可行的实施方式中,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;In some possible implementations, the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment group corresponding to the first time period and a second time period corresponding to a second sequence layer segment group;
所述第一序列层片段组包含N1个序列层片段,所述第二序列层片段组包含N2个序列层片段,所述N1个序列层片段和所述N2个序列层片段不连续,并且N1+N2<=N;The first sequence layer segment group includes N1 sequence layer segments, the second sequence layer segment group includes N2 sequence layer segments, the N1 sequence layer segments and the N2 sequence layer segments are discontinuous, and N1 +N2<=N;
若所述N1>1,则所述N1个序列层片段为连续的序列层片段;若所述N2>1,则所述N2个序列层片段为连续的序列层片段;If the N1>1, the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
所述码流的MPD包含至少两个描述层,所述至少两个描述层中第一描述层描述第一目标知识层片段,第二描述层描述序列层片段;The MPD of the code stream includes at least two description layers, a first description layer of the at least two description layers describes a first target knowledge layer segment, and a second description layer describes a sequence layer segment;
上述处理器222具体用于:The processor 222 is specifically configured to:
在所述第一描述层包含的所述第一时段对应的第一片段描述中添加第一扩展时段信息,并在所述第一描述层包含的所述第二时段对应的第二片段描述中添加第二扩展时段信息。Adding first extended period information to the first segment description corresponding to the first period included in the first description layer, and in the second segment description corresponding to the second period included in the first description layer Add the second extended period information.
在一些可行的实施方式中,所述第一扩展时段信息和所述第二扩展时段信息均为第一扩展标识;In some possible implementations, the first extended period information and the second extended period information are both first extended identifiers;
上述处理器222具体用于:The processor 222 is specifically configured to:
在所述第一片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识,并在所述第二片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识。 Adding a first extended identifier to the segment information of the first target knowledge layer segment included in the first segment description, and segment information of the first target knowledge layer segment included in the second segment description Add the first extension ID.
在一些可行的实施方式中,所述第一扩展时段信息和所述第二扩展时段信息均为第二扩展标识;In some possible implementations, the first extended period information and the second extended period information are both second extended identifiers;
上述处理器222具体用于:The processor 222 is specifically configured to:
在所述第一描述层的描述层属性信息中添加所述第一时段对应的第二扩展标识和所述第二时段对应的第二扩展标识。Adding, in the description layer attribute information of the first description layer, a second extension identifier corresponding to the first period and a second extension identifier corresponding to the second period.
在一些可行的实施方式中,若所述第一序列层片段组还依赖第二目标知识层片段,则所述码流的MPD中还包括第三描述层,所述第三描述层描述所述第二目标知识层片段。In some possible implementations, if the first sequence layer segment group further depends on the second target knowledge layer segment, the MPD of the code stream further includes a third description layer, where the third description layer describes the The second target knowledge layer fragment.
在一些可行的实施方式中,上述处理器222还用于:In some possible implementations, the processor 222 is further configured to:
在所述第三描述层包含的所述第一时段对应的第三片段描述中添加第三扩展时段信息,所述第三扩展时段信息为第一扩展标识;或者Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier; or
在所述第三描述层的描述层属性信息中添加第三扩展时段信息,所述第三扩展时段信息为第二扩展标识。The third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
具体实现中,上述服务器可执行上述视频数据的处理方法的各个步骤中服务器对应的实现方式,在此不再赘述。In a specific implementation, the server may perform an implementation manner of the server in each step of the foregoing processing method of the video data, and details are not described herein again.
在本发明实施例中,服务器可将被至少两个不连续的序列层片段依赖的知识层片段确定为目标知识层片段,并在码流的MPD中添加扩展时段信息来标记目标知识层片段的扩展时段等信息,以供客户端对目标知识层片段和非目标知识层片段区分,进而可避免目标知识层片段的重复加载和传输,节省数据传输带宽,增强了视频数据的处理的适用性。In the embodiment of the present invention, the server may determine the knowledge layer segment that is dependent on at least two discontinuous sequence layer segments as the target knowledge layer segment, and add extended time period information in the MPD of the code stream to mark the target knowledge layer segment. Information such as extended time period is provided for the client to distinguish between the target knowledge layer segment and the non-target knowledge layer segment, thereby avoiding repeated loading and transmission of the target knowledge layer segment, saving data transmission bandwidth, and enhancing the applicability of video data processing.
参见图23,是本发明实施例提供的服务器的结构示意图。本发明实施例提供的服务器可包括:存储器231和处理器232,存储器231和处理器232相连;FIG. 23 is a schematic structural diagram of a server according to an embodiment of the present invention. The server provided by the embodiment of the present invention may include: a memory 231 and a processor 232, where the memory 231 is connected to the processor 232;
存储器231用于存储一组程序代码。The memory 231 is used to store a set of program codes.
处理器232用于调用存储器231中存储的程序代码执行如下操作:The processor 232 is configured to call the program code stored in the memory 231 to perform the following operations:
解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息,所述扩展时段信息用于确定所述码流中包含的目标知识层片段的被依赖时段,所述目标知识层片段为所述码流中包含的至少一个知识层片段中的一个,所述目标知识层片段被所述码流中的N个序列层片段依赖;Determining, by the media expression description MPD of the code stream sent by the server, the extended time period information carried in the MPD, where the extended time period information is used to determine a time-dependent period of the target knowledge layer segment included in the code stream, the target The knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream;
根据所述扩展时段信息确定出目标知识层片段,并确定出所述目标知识层片段的被依赖时段,所述N个序列层片段在所述目标知识层片段的被依赖时段内已被编码;Determining a target knowledge layer segment according to the extended time period information, and determining a dependent time period of the target knowledge layer segment, the N sequence layer segments being encoded within a dependent time period of the target knowledge layer segment;
从所述码流的MPD获取所述目标知识层片段的网络存储地址,记录所述目标知识层片段的被依赖时段和网络存储地址;Obtaining a network storage address of the target knowledge layer segment from the MPD of the code stream, and recording a dependent time period and a network storage address of the target knowledge layer segment;
当获取到视频点播请求时,判断所述视频点播请求中携带的点播时刻是否包含在所述目标知识层片段的被依赖时段中;Determining, when the video on demand request is received, whether the on-demand time carried in the video on demand request is included in the dependent time period of the target knowledge layer segment;
若所述目标知识层片段的被依赖时段包含所述点播时刻,则查看所述目标知识层片段在所述客户端的存储空间中的存储状态,并根据所述存储状态确定所述目标知识层片段的获取方式。If the time period of the target knowledge layer segment includes the on-demand time, view a storage state of the target knowledge layer segment in a storage space of the client, and determine the target knowledge layer segment according to the storage state How to get it.
在一些可行的实施方式中,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层 片段组;In some possible implementations, the N sequence layer segments include at least two grouped sequence layer segments, and the at least two groups include at least a first sequence layer segment group corresponding to the first time period and a second time period corresponding to Second sequence layer Fragment group
所述扩展时段信息包括所述第一时段对应的第一扩展时段信息和所述第二时段对应的第二扩展时段信息;The extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
所述第一扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第一扩展时段,所述第二扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第二扩展时段。The first extended period information is used to determine a first extended period of the dependent period of the target knowledge layer segment, and the second extended period information is used to determine a first of the dependent periods of the target knowledge layer segment Two extended time slots.
在一些可行的实施方式中,所述第一扩展时段信息和所述第二扩展时段信息为第一扩展标识;In some possible implementations, the first extended period information and the second extended period information are first extended identifiers;
上述处理器232具体用于:The processor 232 is specifically configured to:
解析所述MPD,获取所述MPD中包含描述层描述的片段信息包含的第一扩展标识;Parsing the MPD, and acquiring a first extended identifier included in the fragment information including the description of the description layer in the MPD;
将携带所述第一扩展标识的片段信息对应的片段确定为目标知识层片段;Determining a segment corresponding to the segment information carrying the first extended identifier as a target knowledge layer segment;
其中,所述片段信息包括第一时段对应的第一片段信息和第二时段对应的第二片段信息,所述第一片段信息中携带第一扩展时段信息,所述第二片段信息中携带第二扩展时段信息。The segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
在一些可行的实施方式中,所述第一扩展时段信息和所述第二扩展时段信息为第二扩展标识;In some possible implementations, the first extended period information and the second extended period information are second extended identifiers;
上述处理器232具体用于:The processor 232 is specifically configured to:
解析所述MPD,获取所述MPD中包含的描述层的描述层属性信息中包含的第二扩展标识;Parsing the MPD, and acquiring a second extended identifier included in the description layer attribute information of the description layer included in the MPD;
将携带所述第二扩展标识的描述层描述的片段确定为目标知识层片段;Determining, by the description layer description segment carrying the second extended identifier, a target knowledge layer segment;
其中,所述描述层属性信息中包含第一扩展时段信息和第二扩展时段信息,所述第一片段信息和所述第二片段信息中分别携带一个第二扩展标识。The first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
在一些可行的实施方式中,上述处理器232具体用于:In some possible implementations, the processor 232 is specifically configured to:
根据所述第一扩展时段信息确定出所述目标知识层片段的第一扩展时段,并根据所述第二扩展时段信息确定出所述目标知识层片段的第二扩展时段;Determining, according to the first extended period information, a first extended period of the target knowledge layer segment, and determining a second extended period of the target knowledge layer segment according to the second extended period information;
将所述第一扩展时段和所述第二扩展时段的并集作为所述目标知识层片段的被依赖时段。A union of the first extended period and the second extended period is taken as a dependent period of the target knowledge layer segment.
在一些可行的实施方式中,上述处理器232具体用于:In some possible implementations, the processor 232 is specifically configured to:
根据所述目标知识层片段的网络存储地址创建知识层片段列表,并在所述知识层片段列表中记录所述目标知识层片段的被依赖时段;Generating a knowledge layer segment list according to the network storage address of the target knowledge layer segment, and recording a dependent time period of the target knowledge layer segment in the knowledge layer segment list;
在所述知识层片段列表中添加所述目标知识层片段的存储状态标记,用于表示所述目标知识层片段是否已经存在所述客户端的存储空间中;Adding, in the knowledge layer segment list, a storage state flag of the target knowledge layer segment, to indicate whether the target knowledge layer segment is already in the storage space of the client;
根据所述目标知识层片段的网络存储地址在所述知识层片段列表中查看所述目标知识层片段的存储状态标记;Viewing a storage status flag of the target knowledge layer segment in the knowledge layer segment list according to a network storage address of the target knowledge layer segment;
若所述存储状态标记为真,则确定所述目标知识层片段在所述存储空间中的存储状态不为空,否则为空;If the storage status flag is true, determining that the storage state of the target knowledge layer segment in the storage space is not empty, otherwise it is empty;
若所述存储状态不为空,则从所述存储空间中获取所述目标知识层片段,否则向所述服务器发送获取所述目标知识层片段的请求。And if the storage state is not empty, acquiring the target knowledge layer segment from the storage space, and otherwise sending a request for acquiring the target knowledge layer segment to the server.
在一些可行的实施方式中,所述处理器232还用于: In some possible implementations, the processor 232 is further configured to:
接收所述服务器发送的所述目标知识层片段;Receiving the target knowledge layer segment sent by the server;
若所述存储空间的剩余空间大小不小于所述目标知识层片段的数据大小,则将所述目标知识层片段存入所述存储空间,并将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and recording the storage state flag of the target knowledge layer segment as true;
若所述存储空间的剩余空间大小小于所述目标知识层片段的数据大小,则删除所述存储空间中存储的指定目标知识层片段,将所述目标知识层片段存入所述存储空间,并将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording the storage status flag of the target knowledge layer segment as true;
其中,所述指定目标知识层片段的被依赖时段与所述点播时刻的时间距离大于预设时间阈值。The time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
具体实现中,上述客户端可执行上述视频数据的处理方法的各个步骤中客户端对应的实现方式,在此不再赘述。In a specific implementation, the client may perform the implementation manner of the client in each step of the processing method of the foregoing video data, and details are not described herein again.
在本发明实施例中,客户端可通过解析码流的MPD,获取MPD中包含的扩展时段信息,并确定目标知识层片段的被依赖时段,并存储上述目标知识层片段的被依赖时段和目标知识层片段在客户端中的存储状态的存储状态标记。进一步的,客户端可在接收到用户点播视频的点播请求时,根据点播请求中携带的点播时刻查找包含该点播时刻的扩展时段,进而确定该扩展时段对应的目标知识层片段及其存储状态标记。客户端可根据目标知识层片段的存储状态确定是否向服务器请求目标知识层片段,或者从本地存储空间中获取目标知识层片段,可避免同一个知识层片段的多次加载和存储,节省数据传输带宽,提高码流数据的处理效率。In the embodiment of the present invention, the client may obtain the extended time period information included in the MPD by parsing the MPD of the code stream, determine the dependent time period of the target knowledge layer segment, and store the dependent time period and target of the target knowledge layer segment. The storage state flag of the storage layer state of the knowledge layer fragment in the client. Further, when receiving the request for the on-demand video of the user, the client may search for the extended time period including the on-demand time according to the on-demand time carried in the on-demand request, and further determine the target knowledge layer segment corresponding to the extended time period and the storage status flag thereof. . The client may determine whether to request the target knowledge layer segment from the server according to the storage state of the target knowledge layer segment, or obtain the target knowledge layer segment from the local storage space, thereby avoiding multiple loading and storage of the same knowledge layer segment, and saving data transmission. Bandwidth, improve the processing efficiency of the stream data.
本发明的说明书、权利要求书以及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或者单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或者单元,或可选地还包括对于这些过程、方法、系统、产品或设备固有的其他步骤或单元。The terms "first", "second", "third", and "fourth" and the like in the description, the claims, and the drawings of the present invention are used to distinguish different objects, and are not intended to describe a particular order. Furthermore, the terms "comprises" and "comprising" and "comprising" are intended to cover a non-exclusive inclusion. For example, a process, method, system, product, or device that comprises a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units not listed, or alternatively Other steps or units inherent to these processes, methods, systems, products or equipment.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。One of ordinary skill in the art can understand that all or part of the process of implementing the foregoing embodiments can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. When executed, the flow of an embodiment of the methods as described above may be included. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。 The above is only the preferred embodiment of the present invention, and the scope of the present invention is not limited thereto, and thus equivalent changes made in the claims of the present invention are still within the scope of the present invention.

Claims (28)

  1. 一种视频数据的处理方法,其特征在于,包括:A method for processing video data, comprising:
    服务器获取码流中的所有序列层片段中每个序列层片段的片段信息,所述片段信息用于描述所述码流中的序列层片段与知识层片段的依赖关系;Obtaining, by the server, fragment information of each sequence layer segment in all sequence layer segments in the code stream, where the segment information is used to describe a dependency relationship between the sequence layer segment and the knowledge layer segment in the code stream;
    根据所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段,所述N个序列层片段依赖于所述第一目标知识层片段,所述N个序列层片段中至少包含两个不连续的序列层片段,所述第一目标知识层片段为所述码流中包含的至少一个知识层片段中的一个;Determining N sequence layer segments and a first target knowledge layer segment according to the segment information of each sequence layer segment, wherein the N sequence layer segments are dependent on the first target knowledge layer segment, the N sequence layers The segment includes at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream;
    获取所述第一目标知识层片段的片段信息;Obtaining segment information of the first target knowledge layer segment;
    根据所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的媒体表达描述MPD中添加所述第一目标知识层片段的扩展时段信息,所述N个序列层片段在所述扩展时段信息指示的时段内被编码;Adding extended period information of the first target knowledge layer segment to the media expression description MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments, N sequence layer segments are encoded within a period indicated by the extended period information;
    将所述码流的MPD发送给客户端。Sending the MPD of the code stream to the client.
  2. 如权利要求1所述的方法,其特征在于,所述根据所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段包括:The method according to claim 1, wherein the determining the N sequence layer segments and the first target knowledge layer segments according to the segment information of each sequence layer segment comprises:
    根据所述每个序列层片段的片段信息中包含的知识层片段的标识确定出每个序列层片段所依赖的知识层片段;Determining, according to the identifier of the knowledge layer segment included in the segment information of each sequence layer segment, a knowledge layer segment on which each sequence layer segment depends;
    确定出第一目标知识层片段,并确定出依赖所述第一目标知识层片段的N个序列层片段。Determining a first target knowledge layer segment and determining N sequence layer segments that depend on the first target knowledge layer segment.
  3. 如权利要求2所述的方法,其特征在于,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;The method according to claim 2, wherein said N sequence layer segments comprise at least two grouped sequence layer segments, said at least two packets comprising at least a first sequence layer segment group corresponding to a first time period and a second sequence layer segment group corresponding to the second time period;
    所述第一序列层片段组包含N1个序列层片段,所述第二序列层片段组包含N2个序列层片段,所述N1个序列层片段和所述N2个序列层片段不连续,并且N1+N2<=N;The first sequence layer segment group includes N1 sequence layer segments, the second sequence layer segment group includes N2 sequence layer segments, the N1 sequence layer segments and the N2 sequence layer segments are discontinuous, and N1 +N2<=N;
    若所述N1>1,则所述N1个序列层片段为连续的序列层片段;若所述N2>1,则所述N2个序列层片段为连续的序列层片段;If the N1>1, the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
    所述码流的MPD包含至少两个描述层,所述至少两个描述层中第一描述层描述第一目标知识层片段,第二描述层描述序列层片段;The MPD of the code stream includes at least two description layers, a first description layer of the at least two description layers describes a first target knowledge layer segment, and a second description layer describes a sequence layer segment;
    所述根据所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的MPD中添加所述第一目标知识层片段的扩展时段信息包括:The adding the extended period information of the first target knowledge layer segment to the MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments includes:
    在所述第一描述层包含的所述第一时段对应的第一片段描述中添加第一扩展时段信息,并在所述第一描述层包含的所述第二时段对应的第二片段描述中添加第二扩展时段信息。Adding first extended period information to the first segment description corresponding to the first period included in the first description layer, and in the second segment description corresponding to the second period included in the first description layer Add the second extended period information.
  4. 如权利要求3所述的方法,其特征在于,所述第一扩展时段信息和所述第二扩展时段信息均为第一扩展标识; The method according to claim 3, wherein the first extended period information and the second extended period information are both first extended identifiers;
    所述在所述码流的MPD中添加所述第一目标知识层片段的扩展时段信息包括:The adding extended period information of the first target knowledge layer segment in the MPD of the code stream includes:
    在所述第一片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识,并在所述第二片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识。Adding a first extended identifier to the segment information of the first target knowledge layer segment included in the first segment description, and segment information of the first target knowledge layer segment included in the second segment description Add the first extension ID.
  5. 如权利要求3所述的方法,其特征在于,所述第一扩展时段信息和所述第二扩展时段信息均为第二扩展标识;The method according to claim 3, wherein the first extended period information and the second extended period information are both second extended identifiers;
    所述在所述码流的MPD中添加所述第一目标知识层片段的扩展时段信息包括:The adding extended period information of the first target knowledge layer segment in the MPD of the code stream includes:
    在所述第一描述层的描述层属性信息中添加所述第一时段对应的第二扩展标识和所述第二时段对应的第二扩展标识。Adding, in the description layer attribute information of the first description layer, a second extension identifier corresponding to the first period and a second extension identifier corresponding to the second period.
  6. 如权利要求3所述的方法,其特征在于,所述方法还包括:The method of claim 3, wherein the method further comprises:
    若所述第一序列层片段组还依赖第二目标知识层片段,则所述码流的MPD中还包括第三描述层,所述第三描述层描述所述第二目标知识层片段。If the first sequence layer segment group further depends on the second target knowledge layer segment, the MPD of the code stream further includes a third description layer, and the third description layer describes the second target knowledge layer segment.
  7. 如权利要求6所述的方法,其特征在于,所述方法还包括:The method of claim 6 wherein the method further comprises:
    在所述第三描述层包含的所述第一时段对应的第三片段描述中添加第三扩展时段信息,所述第三扩展时段信息为第一扩展标识;或者Adding, in the third segment description corresponding to the first time period included in the third description layer, third extended period information, where the third extended period information is a first extended identifier; or
    在所述第三描述层的描述层属性信息中添加第三扩展时段信息,所述第三扩展时段信息为第二扩展标识。The third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
  8. 一种视频数据的处理方法,其特征在于,包括:A method for processing video data, comprising:
    客户端解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息,所述扩展时段信息用于确定所述码流中包含的目标知识层片段的被依赖时段,所述目标知识层片段为所述码流中包含的至少一个知识层片段中的一个,所述目标知识层片段被所述码流中的N个序列层片段依赖;The media expression description MPD of the code stream sent by the client parsing server determines the extended period information carried in the MPD, and the extended period information is used to determine a time-dependent period of the target knowledge layer segment included in the code stream. The target knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream;
    根据所述扩展时段信息确定出目标知识层片段,并确定出所述目标知识层片段的被依赖时段,所述N个序列层片段在所述目标知识层片段的被依赖时段内已被编码;Determining a target knowledge layer segment according to the extended time period information, and determining a dependent time period of the target knowledge layer segment, the N sequence layer segments being encoded within a dependent time period of the target knowledge layer segment;
    从所述码流的MPD获取所述目标知识层片段的网络存储地址,记录所述目标知识层片段的被依赖时段和网络存储地址;Obtaining a network storage address of the target knowledge layer segment from the MPD of the code stream, and recording a dependent time period and a network storage address of the target knowledge layer segment;
    当获取到视频点播请求时,判断所述视频点播请求中携带的点播时刻是否包含在所述目标知识层片段的被依赖时段中;Determining, when the video on demand request is received, whether the on-demand time carried in the video on demand request is included in the dependent time period of the target knowledge layer segment;
    若所述目标知识层片段的被依赖时段包含所述点播时刻,则查看所述目标知识层片段在所述客户端的存储空间中的存储状态,并根据所述存储状态确定所述目标知识层片段的获取方式。If the time period of the target knowledge layer segment includes the on-demand time, view a storage state of the target knowledge layer segment in a storage space of the client, and determine the target knowledge layer segment according to the storage state How to get it.
  9. 如权利要求8所述的方法,其特征在于,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段 对应的第二序列层片段组;The method according to claim 8, wherein said N sequence layer segments comprise at least two grouped sequence layer segments, said at least two packets comprising at least a first sequence layer segment group corresponding to a first time period and Second period Corresponding second sequence layer segment group;
    所述扩展时段信息包括所述第一时段对应的第一扩展时段信息和所述第二时段对应的第二扩展时段信息;The extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
    所述第一扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第一扩展时段,所述第二扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第二扩展时段。The first extended period information is used to determine a first extended period of the dependent period of the target knowledge layer segment, and the second extended period information is used to determine a first of the dependent periods of the target knowledge layer segment Two extended time slots.
  10. 如权利要求9所述的方法,其特征在于,所述第一扩展时段信息和所述第二扩展时段信息为第一扩展标识;The method according to claim 9, wherein the first extended period information and the second extended period information are first extended identifiers;
    所述客户端解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息包括:The media expression description MPD of the code stream sent by the client parsing server determines that the extended time period information carried in the MPD includes:
    所述客户端解析所述MPD,获取所述MPD中包含描述层描述的片段信息包含的第一扩展标识;The client parses the MPD, and acquires a first extended identifier that is included in the fragment information that is described by the description layer in the MPD;
    所述根据所述扩展时段信息确定出目标知识层片段包括:Determining, according to the extended period information, the target knowledge layer segment includes:
    将携带所述第一扩展标识的片段信息对应的片段确定为目标知识层片段;Determining a segment corresponding to the segment information carrying the first extended identifier as a target knowledge layer segment;
    其中,所述片段信息包括第一时段对应的第一片段信息和第二时段对应的第二片段信息,所述第一片段信息中携带第一扩展时段信息,所述第二片段信息中携带第二扩展时段信息。The segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second, extended time period information.
  11. 如权利要求9所述的方法,其特征在于,所述第一扩展时段信息和所述第二扩展时段信息为第二扩展标识;The method according to claim 9, wherein the first extended period information and the second extended period information are second extended identifiers;
    所述客户端解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息包括:The media expression description MPD of the code stream sent by the client parsing server determines that the extended time period information carried in the MPD includes:
    所述客户端解析所述MPD,获取所述MPD中包含的描述层的描述层属性信息中包含的第二扩展标识;The client parses the MPD, and acquires a second extended identifier included in the description layer attribute information of the description layer included in the MPD;
    所述根据所述扩展时段信息确定出目标知识层片段包括:Determining, according to the extended period information, the target knowledge layer segment includes:
    将携带所述第二扩展标识的描述层描述的片段确定为目标知识层片段;Determining, by the description layer description segment carrying the second extended identifier, a target knowledge layer segment;
    其中,所述描述层属性信息中包含第一扩展时段信息和第二扩展时段信息,所述第一片段信息和所述第二片段信息中分别携带一个第二扩展标识。The first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
  12. 如权利要求10或11所述的方法,其特征在于,所述确定出所述目标知识层片段的被依赖时段包括:The method according to claim 10 or 11, wherein the determining the dependent time period of the target knowledge layer segment comprises:
    根据所述第一扩展时段信息确定出所述目标知识层片段的第一扩展时段,并根据所述第二扩展时段信息确定出所述目标知识层片段的第二扩展时段;Determining, according to the first extended period information, a first extended period of the target knowledge layer segment, and determining a second extended period of the target knowledge layer segment according to the second extended period information;
    将所述第一扩展时段和所述第二扩展时段的并集作为所述目标知识层片段的被依赖时段。A union of the first extended period and the second extended period is taken as a dependent period of the target knowledge layer segment.
  13. 如权利要求12所述的方法,其特征在于,所述记录所述目标知识层片段的被依赖时段和网络存储地址包括: The method of claim 12, wherein the recording of the dependent time period and the network storage address of the target knowledge layer segment comprises:
    根据所述目标知识层片段的网络存储地址创建知识层片段列表,并在所述知识层片段列表中记录所述目标知识层片段的被依赖时段;Generating a knowledge layer segment list according to the network storage address of the target knowledge layer segment, and recording a dependent time period of the target knowledge layer segment in the knowledge layer segment list;
    所述方法还包括:The method further includes:
    在所述知识层片段列表中添加所述目标知识层片段的存储状态标记,用于表示所述目标知识层片段是否已经存在所述客户端的存储空间中;Adding, in the knowledge layer segment list, a storage state flag of the target knowledge layer segment, to indicate whether the target knowledge layer segment is already in the storage space of the client;
    所述查看所述目标知识层片段在所述客户端的存储空间中的存储状态包括:The viewing the storage state of the target knowledge layer segment in the storage space of the client includes:
    根据所述目标知识层片段的网络存储地址在所述知识层片段列表中查看所述目标知识层片段的存储状态标记;Viewing a storage status flag of the target knowledge layer segment in the knowledge layer segment list according to a network storage address of the target knowledge layer segment;
    若所述存储状态标记为真,则确定所述目标知识层片段在所述存储空间中的存储状态不为空,否则为空;If the storage status flag is true, determining that the storage state of the target knowledge layer segment in the storage space is not empty, otherwise it is empty;
    所述根据所述存储状态确定所述目标知识层片段的获取方式包括:Determining, by the storing state, the acquiring manner of the target knowledge layer segment includes:
    若所述存储状态不为空,则从所述存储空间中获取所述目标知识层片段,否则向所述服务器发送获取所述目标知识层片段的请求。And if the storage state is not empty, acquiring the target knowledge layer segment from the storage space, and otherwise sending a request for acquiring the target knowledge layer segment to the server.
  14. 如权利要求13所述的方法,其特征在于,所述向所述服务器发送获取所述目标知识层片段的请求之后,所述方法还包括:The method according to claim 13, wherein after the sending the request for acquiring the target knowledge layer segment to the server, the method further comprises:
    接收所述服务器发送的所述目标知识层片段;Receiving the target knowledge layer segment sent by the server;
    若所述存储空间的剩余空间大小不小于所述目标知识层片段的数据大小,则将所述目标知识层片段存入所述存储空间,并将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and recording the storage state flag of the target knowledge layer segment as true;
    若所述存储空间的剩余空间大小小于所述目标知识层片段的数据大小,则删除所述存储空间中存储的指定目标知识层片段,将所述目标知识层片段存入所述存储空间,并将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording the storage status flag of the target knowledge layer segment as true;
    其中,所述指定目标知识层片段的被依赖时段与所述点播时刻的时间距离大于预设时间阈值。The time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
  15. 一种视频数据的处理装置,其特征在于,包括:A device for processing video data, comprising:
    获取单元,用于获取码流中的所有序列层片段中每个序列层片段的片段信息,所述片段信息用于描述所述码流中的序列层片段与知识层片段的依赖关系;And an acquiring unit, configured to acquire segment information of each sequence layer segment in all sequence layer segments in the code stream, where the segment information is used to describe a dependency relationship between the sequence layer segment and the knowledge layer segment in the code stream;
    确定单元,用于根据所述获取单元获取的所述每个序列层片段的片段信息确定出N个序列层片段和第一目标知识层片段,所述N个序列层片段依赖于所述第一目标知识层片段,所述N个序列层片段中至少包含两个不连续的序列层片段,所述第一目标知识层片段为所述码流中包含的至少一个知识层片段中的一个;a determining unit, configured to determine, according to the segment information of each sequence layer segment acquired by the acquiring unit, N sequence layer segments and a first target knowledge layer segment, wherein the N sequence layer segments are dependent on the first a target knowledge layer segment, the N sequence layer segments include at least two discontinuous sequence layer segments, and the first target knowledge layer segment is one of at least one knowledge layer segment included in the code stream;
    所述获取单元,还用于获取所述确定单元确定的所述第一目标知识层片段的片段信息;The acquiring unit is further configured to acquire segment information of the first target knowledge layer segment determined by the determining unit;
    添加单元,用于根据所述获取单元获取的所述第一目标知识层片段的片段信息和所述N个序列层片段的片段信息在所述码流的媒体表达描述MPD中添加所述第一目标知识层片段的扩展时段信息,所述N个序列层片段在所述扩展时段信息指示的时段内被编码;An adding unit, configured to add the first in the media expression description MPD of the code stream according to the segment information of the first target knowledge layer segment and the segment information of the N sequence layer segments acquired by the acquiring unit Extended period information of the target knowledge layer segment, the N sequence layer segments being encoded within a period indicated by the extended period information;
    发送单元,用于将所述添加单元处理得到的所述码流的MPD发送给客户端。 And a sending unit, configured to send the MPD of the code stream obtained by the adding unit to the client.
  16. 如权利要求15所述的处理装置,其特征在于,所述确定单元具体用于:The processing device according to claim 15, wherein the determining unit is specifically configured to:
    根据所述获取单元获取的所述每个序列层片段的片段信息中包含的知识层片段的标识确定出每个序列层片段所依赖的知识层片段;Determining, according to the identifier of the knowledge layer segment included in the segment information of each sequence layer segment acquired by the acquiring unit, a knowledge layer segment on which each sequence layer segment depends;
    确定出第一目标知识层片段,并确定出依赖所述第一目标知识层片段的N个序列层片段。Determining a first target knowledge layer segment and determining N sequence layer segments that depend on the first target knowledge layer segment.
  17. 如权利要求16所述的处理装置,其特征在于,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;The processing apparatus according to claim 16, wherein said N sequence layer segments comprise at least two packet sequence layer segments, said at least two packets including at least a first sequence layer segment group corresponding to a first time period a second sequence layer segment group corresponding to the second time period;
    所述第一序列层片段组包含N1个序列层片段,所述第二序列层片段组包含N2个序列层片段,所述N1个序列层片段和所述N2个序列层片段不连续,并且N1+N2<=N;The first sequence layer segment group includes N1 sequence layer segments, the second sequence layer segment group includes N2 sequence layer segments, the N1 sequence layer segments and the N2 sequence layer segments are discontinuous, and N1 +N2<=N;
    若所述N1>1,则所述N1个序列层片段为连续的序列层片段;若所述N2>1,则所述N2个序列层片段为连续的序列层片段;If the N1>1, the N1 sequence layer segments are consecutive sequence layer segments; if the N2>1, the N2 sequence layer segments are consecutive sequence layer segments;
    所述码流的MPD包含至少两个描述层,所述至少两个描述层中第一描述层描述第一目标知识层片段,第二描述层描述序列层片段;The MPD of the code stream includes at least two description layers, a first description layer of the at least two description layers describes a first target knowledge layer segment, and a second description layer describes a sequence layer segment;
    所述添加单元具体用于:The adding unit is specifically used to:
    在所述第一描述层包含的所述第一时段对应的第一片段描述中添加第一扩展时段信息,并在所述第一描述层包含的所述第二时段对应的第二片段描述中添加第二扩展时段信息。Adding first extended period information to the first segment description corresponding to the first period included in the first description layer, and in the second segment description corresponding to the second period included in the first description layer Add the second extended period information.
  18. 如权利要求17所述的处理装置,其特征在于,所述第一扩展时段信息和所述第二扩展时段信息均为第一扩展标识;The processing apparatus according to claim 17, wherein the first extended period information and the second extended period information are both first extended identifiers;
    所述添加单元具体用于:The adding unit is specifically used to:
    在所述第一片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识,并在所述第二片段描述中包含的所述第一目标知识层片段的片段信息中添加第一扩展标识。Adding a first extended identifier to the segment information of the first target knowledge layer segment included in the first segment description, and segment information of the first target knowledge layer segment included in the second segment description Add the first extension ID.
  19. 如权利要求17所述的处理装置,其特征在于,所述第一扩展时段信息和所述第二扩展时段信息均为第二扩展标识;The processing apparatus according to claim 17, wherein the first extended period information and the second extended period information are both second extended identifiers;
    所述添加单元具体用于:The adding unit is specifically used to:
    在所述第一描述层的描述层属性信息中添加所述第一时段对应的第二扩展标识和所述第二时段对应的第二扩展标识。Adding, in the description layer attribute information of the first description layer, a second extension identifier corresponding to the first period and a second extension identifier corresponding to the second period.
  20. 如权利要求17所述的处理装置,其特征在于,若所述第一序列层片段组还依赖第二目标知识层片段,则所述码流的MPD中还包括第三描述层,所述第三描述层描述所述第二目标知识层片段。The processing apparatus according to claim 17, wherein if the first sequence layer segment group further depends on the second target knowledge layer segment, the MPD of the code stream further includes a third description layer, wherein the The third description layer describes the second target knowledge layer segment.
  21. 如权利要求20所述的处理装置,其特征在于,所述添加单元还用于:The processing apparatus according to claim 20, wherein said adding unit is further configured to:
    在所述第三描述层包含的所述第一时段对应的第三片段描述中添加第三扩展时段信息, 所述第三扩展时段信息为第一扩展标识;或者Adding third extended period information to the third segment description corresponding to the first period included in the third description layer, The third extended period information is a first extended identifier; or
    在所述第三描述层的描述层属性信息中添加第三扩展时段信息,所述第三扩展时段信息为第二扩展标识。The third extended period information is added to the description layer attribute information of the third description layer, where the third extended period information is a second extended identifier.
  22. 一种视频数据的处理装置,其特征在于,包括:A device for processing video data, comprising:
    解析单元,用于解析服务器发送的码流的媒体表达描述MPD,确定所述MPD中携带的扩展时段信息,所述扩展时段信息用于确定所述码流中包含的目标知识层片段的被依赖时段,所述目标知识层片段为所述码流中包含的至少一个知识层片段中的一个,所述目标知识层片段被所述码流中的N个序列层片段依赖;a parsing unit, configured to parse a media expression description MPD of the code stream sent by the server, and determine extended period information carried in the MPD, where the extended period information is used to determine that the target knowledge layer segment included in the code stream is dependent a period of time, the target knowledge layer segment is one of at least one knowledge layer segment included in the code stream, and the target knowledge layer segment is dependent on N sequence layer segments in the code stream;
    确定单元,用于根据所述解析单元获取的所述扩展时段信息确定出目标知识层片段,并确定出所述目标知识层片段的被依赖时段,所述N个序列层片段在所述目标知识层片段的被依赖时段内已被编码;a determining unit, configured to determine a target knowledge layer segment according to the extended time period information acquired by the parsing unit, and determine a dependent time period of the target knowledge layer segment, where the N sequence layer segments are in the target knowledge The slice segment has been encoded within the time period of the dependency;
    记录单元,用于从所述解析单元解析的所述码流的MPD获取所述目标知识层片段的网络存储地址,记录所述确定单元确定的所述目标知识层片段的被依赖时段和所述网络存储地址;a recording unit, configured to acquire, from an MPD of the code stream parsed by the parsing unit, a network storage address of the target knowledge layer segment, and record a dependent time period of the target knowledge layer segment determined by the determining unit, and the Network storage address;
    判断单元,用于在获取到视频点播请求时,判断所述视频点播请求中携带的点播时刻是否包含在所述记录单元记录的所述目标知识层片段的被依赖时段中;a determining unit, configured to determine, when the video on demand request is obtained, whether an on-demand time carried in the video-on-demand request is included in a time-dependent period of the target knowledge layer segment recorded by the recording unit;
    获取单元,用于在所述判断单元的判断结果为是时,查看所述目标知识层片段在所述客户端的存储空间中的存储状态,并根据所述存储状态确定所述目标知识层片段的获取方式。An obtaining unit, configured to: when the determination result of the determining unit is yes, view a storage state of the target knowledge layer segment in a storage space of the client, and determine, according to the storage state, the target knowledge layer segment method of obtaining.
  23. 如权利要求22所述的处理装置,其特征在于,所述N个序列层片段包含至少两个分组的序列层片段,所述至少两个分组至少包括第一时段对应的第一序列层片段组和第二时段对应的第二序列层片段组;The processing apparatus according to claim 22, wherein said N sequence layer segments comprise at least two grouped sequence layer segments, said at least two packets comprising at least a first sequence layer segment group corresponding to a first time period a second sequence layer segment group corresponding to the second time period;
    所述扩展时段信息包括所述第一时段对应的第一扩展时段信息和所述第二时段对应的第二扩展时段信息;The extended period information includes first extended period information corresponding to the first period and second extended period information corresponding to the second period;
    所述第一扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第一扩展时段,所述第二扩展时段信息用于确定所述目标知识层片段的被依赖时段中的第二扩展时段。The first extended period information is used to determine a first extended period of the dependent period of the target knowledge layer segment, and the second extended period information is used to determine a first of the dependent periods of the target knowledge layer segment Two extended time slots.
  24. 如权利要求23所述的处理装置,其特征在于,所述第一扩展时段信息和所述第二扩展时段信息为第一扩展标识;The processing apparatus according to claim 23, wherein the first extended period information and the second extended period information are first extended identifiers;
    所述解析单元具体用于:The parsing unit is specifically configured to:
    解析所述MPD,获取所述MPD中包含描述层描述的片段信息包含的第一扩展标识;Parsing the MPD, and acquiring a first extended identifier included in the fragment information including the description of the description layer in the MPD;
    所述确定单元具体用于:The determining unit is specifically configured to:
    将携带所述解析单元获取的所述第一扩展标识的片段信息对应的片段确定为目标知识层片段;Determining a segment corresponding to the segment information of the first extended identifier acquired by the parsing unit as a target knowledge layer segment;
    其中,所述片段信息包括第一时段对应的第一片段信息和第二时段对应的第二片段信息,所述第一片段信息中携带第一扩展时段信息,所述第二片段信息中携带第二扩展时段 信息。The segment information includes a first segment information corresponding to the first time period and a second segment information corresponding to the second time period, where the first segment information carries the first extended time period information, and the second segment information carries the first Second extended period information.
  25. 如权利要求23所述的处理装置,其特征在于,所述第一扩展时段信息和所述第二扩展时段信息为第二扩展标识;The processing apparatus according to claim 23, wherein the first extended period information and the second extended period information are second extended identifiers;
    所述解析单元具体用于:The parsing unit is specifically configured to:
    解析所述MPD,获取所述MPD中包含的描述层的描述层属性信息中包含的第二扩展标识;Parsing the MPD, and acquiring a second extended identifier included in the description layer attribute information of the description layer included in the MPD;
    所述确定单元具体用于:The determining unit is specifically configured to:
    将携带所述解析单元获取的所述第二扩展标识的描述层描述的片段确定为目标知识层片段;Determining, by the parsing unit, a segment of the description layer of the second extended identifier that is obtained by the parsing unit as a target knowledge layer segment;
    其中,所述描述层属性信息中包含第一扩展时段信息和第二扩展时段信息,所述第一片段信息和所述第二片段信息中分别携带一个第二扩展标识。The first layer extension period information and the second extension period information are included in the description layer attribute information, and the first fragment information and the second fragment information respectively carry a second extension identifier.
  26. 如权利要求24或25所述的处理装置,其特征在于,所述确定单元具体用于:The processing device according to claim 24 or 25, wherein the determining unit is specifically configured to:
    根据所述第一扩展时段信息确定出所述目标知识层片段的第一扩展时段,并根据所述第二扩展时段信息确定出所述目标知识层片段的第二扩展时段;Determining, according to the first extended period information, a first extended period of the target knowledge layer segment, and determining a second extended period of the target knowledge layer segment according to the second extended period information;
    将所述第一扩展时段和所述第二扩展时段的并集作为所述目标知识层片段的被依赖时段。A union of the first extended period and the second extended period is taken as a dependent period of the target knowledge layer segment.
  27. 如权利要求26所述的处理装置,其特征在于,所述记录单元具体用于:The processing apparatus according to claim 26, wherein said recording unit is specifically configured to:
    根据所述目标知识层片段的网络存储地址创建知识层片段列表,并在所述知识层片段列表中记录所述目标知识层片段的被依赖时段;Generating a knowledge layer segment list according to the network storage address of the target knowledge layer segment, and recording a dependent time period of the target knowledge layer segment in the knowledge layer segment list;
    所述记录单元还用于:The recording unit is further configured to:
    在所述知识层片段列表中添加所述目标知识层片段的存储状态标记,用于表示所述目标知识层片段是否已经存在所述客户端的存储空间中;Adding, in the knowledge layer segment list, a storage state flag of the target knowledge layer segment, to indicate whether the target knowledge layer segment is already in the storage space of the client;
    所述获取单元具体用于:The obtaining unit is specifically configured to:
    根据所述目标知识层片段的网络存储地址在所述知识层片段列表中查看所述目标知识层片段的存储状态标记;Viewing a storage status flag of the target knowledge layer segment in the knowledge layer segment list according to a network storage address of the target knowledge layer segment;
    若所述存储状态标记为真,则确定所述目标知识层片段在所述存储空间中的存储状态不为空,否则为空;If the storage status flag is true, determining that the storage state of the target knowledge layer segment in the storage space is not empty, otherwise it is empty;
    若所述存储状态不为空,则从所述存储空间中获取所述目标知识层片段,否则向所述服务器发送获取所述目标知识层片段的请求。And if the storage state is not empty, acquiring the target knowledge layer segment from the storage space, and otherwise sending a request for acquiring the target knowledge layer segment to the server.
  28. 如权利要求27所述的处理装置,其特征在于,所述获取单元还用于:The processing device according to claim 27, wherein the obtaining unit is further configured to:
    接收所述服务器发送的所述目标知识层片段;Receiving the target knowledge layer segment sent by the server;
    若所述存储空间的剩余空间大小不小于所述目标知识层片段的数据大小,则将所述目标知识层片段存入所述存储空间,并通过所述记录单元将所述目标知识层片段的存储状态标记记为真; If the remaining space size of the storage space is not less than the data size of the target knowledge layer segment, storing the target knowledge layer segment into the storage space, and using the recording unit to segment the target knowledge layer segment The storage status flag is marked as true;
    若所述存储空间的剩余空间大小小于所述目标知识层片段的数据大小,则删除所述存储空间中存储的指定目标知识层片段,将所述目标知识层片段存入所述存储空间,并通过所述记录单元将所述目标知识层片段的存储状态标记记为真;If the remaining space size of the storage space is smaller than the data size of the target knowledge layer segment, deleting the specified target knowledge layer segment stored in the storage space, and storing the target knowledge layer segment into the storage space, and Recording, by the recording unit, a storage status flag of the target knowledge layer segment as true;
    其中,所述指定目标知识层片段的被依赖时段与所述点播时刻的时间距离大于预设时间阈值。 The time interval between the time-dependent period of the specified target knowledge layer segment and the on-demand time is greater than a preset time threshold.
PCT/CN2017/073662 2016-07-18 2017-02-15 Method and device for processing video data WO2018014546A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610578996.3 2016-07-18
CN201610578996.3A CN107635142B (en) 2016-07-18 2016-07-18 Video data processing method and device

Publications (1)

Publication Number Publication Date
WO2018014546A1 true WO2018014546A1 (en) 2018-01-25

Family

ID=60991735

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/073662 WO2018014546A1 (en) 2016-07-18 2017-02-15 Method and device for processing video data

Country Status (2)

Country Link
CN (1) CN107635142B (en)
WO (1) WO2018014546A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110858916B (en) * 2018-08-24 2020-11-24 上海交通大学 Identification method and system supporting large-span correlation information coding
CN110876083B (en) * 2018-08-29 2021-09-21 浙江大学 Method and device for specifying reference image and method and device for processing reference image request
CN113347424B (en) * 2021-05-27 2022-08-05 上海国茂数字技术有限公司 Video coding data storage method and device and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082054A1 (en) * 2012-09-14 2014-03-20 Canon Kabushiki Kaisha Method and device for generating a description file, and corresponding streaming method
CN104768011A (en) * 2015-03-31 2015-07-08 浙江大学 Image encoding and decoding method and related device
CN104902279A (en) * 2015-05-25 2015-09-09 浙江大学 Video processing method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9357275B2 (en) * 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
CN104811722B (en) * 2015-04-16 2019-05-07 华为技术有限公司 A kind of decoding method and device of video data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082054A1 (en) * 2012-09-14 2014-03-20 Canon Kabushiki Kaisha Method and device for generating a description file, and corresponding streaming method
CN104768011A (en) * 2015-03-31 2015-07-08 浙江大学 Image encoding and decoding method and related device
CN104902279A (en) * 2015-05-25 2015-09-09 浙江大学 Video processing method and device

Also Published As

Publication number Publication date
CN107635142A (en) 2018-01-26
CN107635142B (en) 2020-06-26

Similar Documents

Publication Publication Date Title
US12047661B2 (en) Method, device, and computer program for encapsulating partitioned timed media data
JP6643430B2 (en) Playback apparatus, playback method, and program
US10110654B2 (en) Client, a content creator entity and methods thereof for media streaming
RU2534936C2 (en) Multimedia container file management
EP2666288B1 (en) Apparatus and method for storing and playing content in a multimedia streaming system
US7974517B2 (en) Determination of decoding information
JP2018524877A (en) Method, device, and computer program capable of dynamically setting operation base point descriptor for acquiring media data and metadata from encapsulated bitstream
US20140007172A1 (en) Method and apparatus for transmitting/receiving adaptive media in a multimedia system
GB2516825A (en) Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
JP2013038766A (en) Transmitter, transmitter control method, control program, and recording medium
US20080124057A1 (en) Data transmitting method and apparatus for simultaneously reproducing multiple moving picture contents, and method and apparatus for simultaneously reproducing multiple moving picture contents
KR102499231B1 (en) Receiving device, sending device and data processing method
WO2018014546A1 (en) Method and device for processing video data
US20120207454A1 (en) Streaming service and playback device using svc server
GB2551296A (en) Method, device, and computer program for encapsulating partitioned timed media data
EP2477400B1 (en) Method and apparatus for retrieving i frame
GB2546027A (en) Method, device, and computer program for encapsulating partioned timed media data
WO2018014545A1 (en) Code stream data processing method and apparatus
JP4315914B2 (en) Image reproducing apparatus and image reproducing method
JP6294527B2 (en) Transmission device, transmission method, reproduction device, and reproduction method
KR102401372B1 (en) Method and apparatus for inserting content received via heterogeneous network
US11714850B2 (en) Method and apparatus for thumbnail generation for a video device
JP2009213142A (en) Image recording device and method
JP2007318545A (en) Data transmitter, data receiver, data transmitting method, and data receiving method

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

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

Country of ref document: EP

Kind code of ref document: A1