WO2019137171A1 - 视频码流的解码、生成方法及装置、存储介质、电子装置 - Google Patents

视频码流的解码、生成方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
WO2019137171A1
WO2019137171A1 PCT/CN2018/122052 CN2018122052W WO2019137171A1 WO 2019137171 A1 WO2019137171 A1 WO 2019137171A1 CN 2018122052 W CN2018122052 W CN 2018122052W WO 2019137171 A1 WO2019137171 A1 WO 2019137171A1
Authority
WO
WIPO (PCT)
Prior art keywords
slice
parameter
address
image
code stream
Prior art date
Application number
PCT/CN2018/122052
Other languages
English (en)
French (fr)
Inventor
李明
吴钊
吴平
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to KR1020207020328A priority Critical patent/KR20200107975A/ko
Priority to JP2020538715A priority patent/JP7332605B2/ja
Priority to EP18900484.9A priority patent/EP3739898A4/en
Priority to US16/957,760 priority patent/US11146799B2/en
Publication of WO2019137171A1 publication Critical patent/WO2019137171A1/zh

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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing 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 for generating different versions
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection

Definitions

  • the present disclosure relates to the field of communications, and in particular, to a method and device for decoding, generating, and storing a video code stream.
  • a high-resolution picture (bitstream) video stream can extract one or more code streams of different resolutions, so that it can be adapted to different decoding capabilities of terminal devices and more.
  • Different application scenarios such as interactive ultra-high definition television, dynamic interactive on-demand, and the like.
  • the server can dynamically send the sub-code stream extracted from the overall code stream containing the user-specified viewing content to the end user according to the user viewing requirements provided by the terminal.
  • the server may extract the corresponding sub-code stream from the overall code stream in real time according to the user viewing requirement provided by the terminal; the server may also extract the sub-code stream from the overall code stream in advance, according to the user viewing requirement provided by the terminal. Dynamically selecting to send the corresponding substream.
  • a slice is one of basic data units of code stream organization.
  • the encoder partitions the image into one or more slices and encodes the slices.
  • the slice may correspond to a unit that can be independently decoded in the image, and the decoding process of the slice may not depend on the data of other slices in the same image.
  • a slice group of the H.264/AVC standard and a tile using the H.265/HEVC standard are used.
  • the H.265/HEVC standard allows one tile to contain one or more slices. In this case, one tile can be used as a slice group (or slice set); the H.265/HEVC standard also allows one slice. Contains one or more tiles, in which case one slice can be used as a tile group (or tile set).
  • the decoder in the encoding process of the slice, the start position information of the coded slice is required.
  • the decoder can store the recovered value of the pixel sample value included in the slice in the correct position of the restored image buffer.
  • the sequence number of the first coding block in the slice in Raster Scanning order is used as the position information of the slice in the image.
  • the sequence number of the first macroblock (Macroblock, MB) in the image is used as the position coordinate of the slice (the corresponding syntax (Syntax) unit is first_mb_in_slice; in H.265
  • a flag is used to indicate whether the slice is the first slice in the image (the corresponding syntax unit is first_slice_segment_in_pic_flag).
  • the first slice is used.
  • the number of a Coding Tree Block (CTB) in the image is taken as the position coordinate of the slice (corresponding to the syntax unit is slice_segment_address).
  • Encoding the video image and sub-streaming the code stream are two common code stream generation processes.
  • the encoder determines each image in the image according to the image resolution, the size of the coding block (the size of the MB is fixed to 16x16, the size of the CTB can be set), and the image is divided into slices. The position coordinates of the slice.
  • the processing device needs to parse the relevant syntax unit in the code stream to be extracted, determine the image resolution of the code stream to be extracted and the sub-code stream, the size of the coding block, and divide the image into slices.
  • the image corresponding to the code stream to be extracted refers to a video image obtained by decoding the code stream to be extracted
  • the image corresponding to the sub-code stream refers to a video image obtained by decoding the sub-code stream.
  • the image corresponding to the substream is an image region in the image corresponding to the code stream to be extracted.
  • the image corresponding to the sub-code stream may also be composed of two or more non-adjacent areas in the image corresponding to the code stream to be extracted.
  • the order of the two or more non-adjacent regions in the image corresponding to the code stream to be extracted may be the same as the two Or more non-adjacent areas have different order of precedence in the image corresponding to the sub-stream.
  • the method for encoding the start position coordinate information in the image in the related art increases the computational complexity of determining the coordinate process of the slice start position in the sub-code stream, and also increases the sub-stream extraction process. Rewrite the complexity of the slice start position coordinate process. In practical applications, these shortcomings of existing methods increase the implementation complexity and code stream processing efficiency of the code stream processing device.
  • Embodiments of the present disclosure provide a method, a device, a storage medium, and an electronic device for decoding, generating, and generating a video code stream.
  • a decoding method of a video code stream including: acquiring a first parameter of a reference position of a slice in a video image; acquiring a second parameter of the slice, wherein the second parameter And configured to determine a starting position of the slice in the video image; and calculate a starting position coordinate parameter of the slice in the video image according to the first parameter and the second parameter.
  • a method for generating a video code stream including: setting a first parameter according to a starting position of a first slice in a video image; and writing the first parameter to the video image The code stream of the image layer data unit.
  • a decoding apparatus for a video code stream including: a first acquiring module configured to acquire a first parameter of a reference position of a slice in a video image; and a second acquiring module configured to Acquiring a second parameter of the slice, wherein the second parameter is used to determine a starting position of the slice in the video image; and a calculating module is set according to the first parameter and the second parameter Calculating a starting position coordinate parameter of the slice in the video image.
  • a video code stream generating apparatus including: a setting module configured to set a first parameter according to a starting position of a first slice in a video image; a generating module configured to The first parameter is written to a code stream of an image layer data unit of the video image.
  • a storage medium having stored therein a computer program, wherein the computer program is configured to perform the steps of any one of the method embodiments described above at runtime.
  • an electronic device comprising a memory and a processor, wherein the memory stores a computer program, the processor being configured to execute the computer program to perform any of the above The steps in the method embodiments.
  • the code stream processing device decodes an overly complicated technical problem, and improves the processing efficiency of the code stream processing device.
  • FIG. 1 is a flowchart of a method of decoding a video bitstream in accordance with an embodiment of the present disclosure
  • FIG. 2 is a flowchart of a method of generating a video code stream according to an embodiment of the present disclosure
  • FIG. 3 is a structural block diagram of a decoding apparatus of a video bitstream according to an embodiment of the present disclosure
  • FIG. 4 is a structural block diagram of a device for generating a video code stream according to an embodiment of the present disclosure
  • FIG. 5 is a schematic diagram of a decoding method according to an embodiment
  • FIG. 6 is a schematic diagram of a code stream generation method according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a method for encoding a video image to generate a code stream according to the embodiment
  • FIG. 8 is a schematic diagram of a method for extracting a video code stream to generate a code stream according to the embodiment
  • FIG. 9 is a diagram showing an example of a process of performing code stream extraction in the embodiment.
  • FIG. 10 is a schematic diagram of application of the 360 degree panoramic video in this embodiment.
  • FIG. 1 is a flowchart of a method for decoding a video code stream according to an embodiment of the present disclosure. As shown in FIG. 1, the process includes the following steps:
  • Step S102 acquiring a first parameter of a reference position of the slice in the video image
  • Step S104 acquiring a second parameter of the slice, where the second parameter is used to determine a starting position of the slice in the video image;
  • Step S106 calculating a starting position coordinate parameter of the slice in the video image according to the first parameter and the second parameter.
  • the code stream processing device decodes an overly complicated technical problem, and improves the processing efficiency of the code stream processing device.
  • the execution body of the foregoing steps may be a video stream processing device, such as a related stream generating device and a receiving playing device in a video communication application, such as a mobile phone, a computer, a server, a set top box, a portable mobile terminal, a digital camera, and a television.
  • a video stream processing device such as a related stream generating device and a receiving playing device in a video communication application, such as a mobile phone, a computer, a server, a set top box, a portable mobile terminal, a digital camera, and a television.
  • Broadcast system equipment, content distribution network equipment, media server, etc. but are not limited thereto.
  • acquiring the first parameter of the reference position of the slice in the video image comprises: parsing one or more first code streams corresponding to the image layer data unit in the video code stream; and acquiring the first parameter from the first code stream .
  • parsing a plurality of first code streams, and acquiring the first parameter from the first code stream includes: parsing the plurality of first code streams to obtain a plurality of first parameters; and acquiring an identifier related to the image layer data unit. Information, and/or a reference relationship between the plurality of image layer data units; determining a first parameter among the plurality of first parameters based on the identification information and/or the reference relationship. The final determined first parameter may be complete or may be combined from a plurality of first parameters.
  • the identification information associated with the image layer data unit is used to indicate a first parameter used in calculating a starting position coordinate parameter of the slice in the video image.
  • the image layer data unit comprises at least one of the following data units: a video parameter set, a sequence parameter set, an image parameter set, a sequence header, an image header, a slice header, and an image layer auxiliary information unit.
  • the obtaining the second parameter of the fragment includes: parsing the slice header information of the video code stream; and acquiring the second parameter from the slice layer header information.
  • the first parameter includes: coordinate information of the video image, span information of the video image, and the second parameter includes: coordinate information of the slice.
  • calculating a starting position coordinate parameter of the slice in the video image according to the first parameter and the second parameter including:
  • the starting position coordinate parameter (SliceAddrX, SliceAddrY) is calculated by the following formula:
  • SliceAddrX (slice_address_x–pic_slice_address_info_x0+pic_slice_address_info_stride_width)%pic_slice_address_info_stride_width;
  • SliceAddrY (slice_address_y–pic_slice_address_info_y0+pic_slice_address_info_stride_height)%pic_slice_address_info_stride_height;
  • SliceAddrX is the starting position coordinate of the slice in the horizontal direction in the video image
  • SliceAddrY is the starting position coordinate of the slice in the vertical direction in the video image
  • slice_address_x is the position coordinate of the slice in the horizontal direction
  • slice_address_y is the minute
  • pic_slice_address_info_x0 is the coordinate of the slice reference position in the horizontal direction in the video image
  • pic_slice_address_info_y0 is the coordinate of the slice reference position in the vertical direction in the video image
  • pic_slice_address_info_stride_width is the horizontal span value of the video image
  • pic_slice_address_info_stride_height is The vertical span value of the video image.
  • the calculation method of SliceAddrY may be transformed.
  • the starting position coordinate parameter of the slice in the video image is calculated, including:
  • the starting position coordinate parameter (SliceAddrX, SliceAddrY) is calculated by the following formula:
  • SliceAddrX (slice_address_x–pic_slice_address_info_x0+pic_slice_address_info_stride_width)%pic_slice_address_info_stride_width;
  • SliceAddrY slice_address_y–pic_slice_address_info_y0;
  • SliceAddrX is the starting position coordinate of the slice in the horizontal direction in the video image
  • SliceAddrY is the starting position coordinate of the slice in the vertical direction in the video image
  • slice_address_x is the position coordinate of the slice in the horizontal direction
  • slice_address_y is the minute
  • pic_slice_address_info_x0 is the coordinate of the slice reference position in the horizontal direction in the video image
  • pic_slice_address_info_y0 is the coordinate of the slice reference position in the vertical direction in the video image
  • pic_slice_address_info_stride_width is the horizontal span value of the video image.
  • FIG. 2 is a flowchart of a method for generating a video code stream according to an embodiment of the present disclosure. As shown in FIG. 2, the process includes the following steps:
  • Step S202 setting a first parameter according to a starting position of the first slice in the video image
  • Step S204 the first parameter is written into the code stream of the image layer data unit of the video image.
  • the method further includes: calculating the second parameter according to the starting position coordinate parameter of the slice in the video image and the first parameter, and The second parameter is written to the code stream corresponding to the slice header information, wherein the second parameter is used to determine the starting position of the slice in the video image.
  • setting the first parameter according to the starting position of the first fragment in the video image includes: determining an image region where the image corresponding to the sub-code stream is located in an image corresponding to the code stream to be extracted, where the sub-code stream corresponds to The image is a video image; determining a starting position of the first slice in the video image, and calculating a first parameter according to the starting position, wherein the starting position is the first slice in the video image in the image corresponding to the code stream to be extracted Starting position coordinates.
  • a device for decoding and generating a video code stream is also provided in this embodiment.
  • the device is used to implement the foregoing embodiments and preferred embodiments, and details are not described herein.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 3 is a structural block diagram of a decoding apparatus of a video code stream according to an embodiment of the present disclosure. As shown in FIG. 3, the apparatus includes:
  • the first obtaining module 30 is configured to acquire a first parameter of a reference position of the slice in the video image
  • the second obtaining module 32 is configured to acquire a second parameter of the slice, where the second parameter is used to determine a starting position of the slice in the video image;
  • the calculation module 34 is configured to calculate a starting position coordinate parameter of the slice in the video image according to the first parameter and the second parameter.
  • FIG. 4 is a structural block diagram of a device for generating a video code stream according to an embodiment of the present disclosure. As shown in FIG. 4, the device includes:
  • the setting module 40 is configured to set a first parameter according to a starting position of the first slice in the video image
  • a generation module 42 is arranged to write the first parameter to the code stream of the image layer data unit of the video image.
  • each of the above modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the above modules are in any combination.
  • the forms are located in different processors.
  • the video to which the video image belongs may be a high-resolution video or other style of video
  • the high-resolution video refers to a sequence of images composed of high-resolution images, where the high-resolution image may be a high-definition video.
  • Video images with large resolution such as images, ultra high definition video images, panoramic video images, 360 degree video images, and the like.
  • the code stream refers to a code stream generated by a video encoder to encode high-resolution video, and also refers to a code stream generated by encoding a high-resolution video encoded by a video encoder, which is processed by a system layer, and includes the video encoder.
  • a transport stream and/or a media file encoding a stream of high resolution video is encoded, and the stream is decoded to obtain a high resolution video.
  • the system layer processing is a encapsulation operation on a video code stream, for example, encapsulating a video code stream as a data payload into a transport stream, or packaging the video code stream as a payload into a media file.
  • the system layer processing also includes packaging a transport stream or media file containing a video stream as a data payload into a stream for transmission or a file for storage.
  • the data unit generated by the system layer processing is also referred to as a system layer data unit, and information added in the system layer data unit during processing of the encapsulated data payload by the system layer (for example, header information of a system layer data unit, etc.) Called system layer information.
  • the sub-code stream refers to a partial code stream obtained by performing a decimation operation from a code stream, and decoding the sub-code stream to obtain a video image, which may be a higher resolution than that obtained by decoding the code stream. An image of a video image having a low resolution, the video image containing a portion of the content in the high resolution image.
  • the embodiment provides a decoding method and a code stream generating method and device for a video image code stream, including a decoding method and device, a code stream generating method and device.
  • the decoding method includes: parsing a code stream corresponding to the image layer data unit, obtaining a first parameter of a starting position of the first fragment in the image; parsing the slice layer header information, and obtaining a second position of the fragment in the initial position of the image a parameter; calculating, according to the first parameter and the second parameter, a starting position coordinate parameter of the slice in the image.
  • the code stream generating method includes: setting a first parameter according to a starting position coordinate parameter of a first slice in the image, and writing the first parameter to a code stream corresponding to the image layer data unit.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • FIG. 5 is a schematic diagram of a decoding method according to the embodiment, as shown in FIG. 5.
  • Step 201 Parse the code stream corresponding to the image layer data unit, and obtain a first parameter of a starting position of the first slice in the image.
  • the image layer unit contains data used in an image decoding process for decoding slices in one or more images.
  • the image layer unit includes one or more of the following data units existing in the video code stream: a Network Abstraction Layer (NAL) unit header; a parameter set; a sequence header; an image header; a slice. Head; auxiliary information unit of video stream (for example, Supplemental Enhancement Information (SEI), Video Usability Information (VUI)).
  • NAL Network Abstraction Layer
  • SEI Supplemental Enhancement Information
  • VUI Video Usability Information
  • the first parameter is used to indicate the reference coordinate position of the image, and the organization method in the code stream is as shown in Table 1.
  • Pic_slice_address_info_present_flag u(1) If(slice_address_info_present_flag) ⁇ Pic_slice_address_info_x0 Ue(v) Pic_slice_address_info_y0 Ue(v) Pic_slice_address_info_stride_width Ue(v) Pic_slice_address_info_stride_height Ue(v) ⁇ ?? ⁇
  • a value of pic_slice_address_info_present_flag 1 indicates that there is a parameter in the code stream for determining the slice address in the image.
  • a value of pic_slice_address_info_present_flag 0 indicates that there is no parameter in the code stream for determining the slice address in the image.
  • pic_slice_address_info_present_flag When the value of pic_slice_address_info_present_flag is equal to 0, the values of pic_slice_address_info_x0 and pic_slice_address_info_y0 are equal to 0, the value of pic_slice_address_info_stride_width is equal to the width of the image, and the value of pic_slice_address_info_stride_height is equal to the height of the image.
  • the value of pic_slice_address_info_present_flag is obtained by using the entropy decoding method corresponding to u(1).
  • Pic_slice_address_info_x0, pic_slice_address_info_y0, pic_slice_address_info_stride_width, and pic_slice_address_info_stride_height are used to calculate the slice address in the image.
  • the first parameter may not include pic_slice_address_info_stride_height, and pic_slice_address_info_stride_height may not appear in the code stream.
  • the entropy decoding method corresponding to ue(v) is used to obtain the values of the above four parameters. It should be noted that in the code stream organization, the descriptor of the above four parameters may also use u(v).
  • the number of bits of the above four parameters in the code stream is as follows: the number of bits corresponding to pic_slice_address_info_x0 and pic_slice_address_info_stride_width is equal to Ceil(Log2(PicWidth)), and the number of bits corresponding to pic_slice_address_info_y0 and pic_slice_address_info_stride_height is equal to Ceil (Log2) (PicHeight)).
  • PicWidth is the width of the image
  • PicHeight is the height of the image.
  • the mathematical functions Ceil(x) and Log2(x) are the same as the mathematical expressions of the same name defined in the H.265/HEVC standard.
  • pic_slice_address_info_x0 and pic_slice_address_info_y0 are respectively set in the code stream.
  • the two parameters of the pixel points pointed to in the image can also be represented in the code stream using pic_slice_address_info_x0 and pic_slice_address_info_y0.
  • the pixel point number may be a sequence number of the block in which the pixel is located.
  • the representation of the second parameters slice_address_x and slice_address_y described in the slice header information in the code stream described below is similar to this.
  • the counting unit of pic_slice_address_info_x0, pic_slice_address_info_y0, pic_slice_address_info_stride_width, and pic_slice_address_info_stride_height in Table 1 of the present embodiment is a sampling point (Sample).
  • the size of the block division unit may be used as the count unit.
  • the representation of the second parameters slice_address_x and slice_address_y described in the slice header information in the code stream described below is similar to this.
  • the unit of counting used is the sampling point.
  • the code stream may be present in one or more of the image layer units.
  • the parameters in one parameter set may override corresponding parameters in one or more other parameter sets directly or indirectly referenced by the parameter set.
  • the parameters in the slice header information may cover corresponding parameters in one or more parameter sets to which the slice is applied directly or indirectly.
  • the parameters from other parameter sets may be overwritten by parameters in the specified parameter set according to a preset coverage mode; or
  • the used parameter is determined according to one or both of the identification information in the parameter set and the identification information in the slice header information.
  • the decoding process may further determine the final use according to the flag bit or the identification information in the code stream. The first parameter.
  • Step 202 Parse the slice header information to obtain a second parameter of the start position of the slice in the image.
  • the second parameter is used to indicate the coordinate position of the slice, and the organization method in the code stream is as shown in Table 2.
  • the code stream corresponding to the second parameter is located in a code stream corresponding to the slice header information unit.
  • Slice_address_x and slice_address_y are used to calculate the slice address in the image.
  • the entropy decoding method corresponding to ue(v) is used to obtain the values of the above two parameters. It should be noted that in the code stream organization, the descriptor of the above two parameters may also use u(v).
  • the number of bits of the above four parameters in the code stream is as follows: the number of bits corresponding to slice_address_x is equal to Ceil(Log2(PicWidth)), and the number of bits corresponding to slice_address_y is equal to Ceil(Log2(PicHeight)) .
  • PicWidth is the width of the image, and PicHeight is the height of the image.
  • Ceil(x) and Log2(x) are the same as the mathematical expressions of the same name defined in the H.265/HEVC standard.
  • Step 203 Calculate, according to the first parameter and the second parameter, a starting position coordinate parameter of the slice in the image.
  • the upper left sampling point of the first decoding block in the slice is calculated using the following method (ie, in the slice The first sample point) coordinates in the image (SliceAddrX, SliceAddrY):
  • SliceAddrX (slice_address_x–pic_slice_address_info_x0+pic_slice_address_info_stride_width)%pic_slice_address_info_stride_width (1)
  • SliceAddrY (slice_address_y–pic_slice_address_info_y0+pic_slice_address_info_stride_height)%pic_slice_address_info_stride_height (2)
  • Arithmetic operator "%” is calculated in the same way as the arithmetic operator "%" defined in the H.265/HEVC standard.
  • SliceAddrY is calculated as follows:
  • SliceAddrY slice_address_y–pic_slice_address_info_y0 (3)
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • FIG. 6 is a schematic diagram of a code stream generation method according to the embodiment, as shown in FIG. 6.
  • Step 301 Set a first parameter according to a starting position coordinate parameter of the first slice in the image.
  • Step 302 Write the first parameter into a code stream corresponding to the image layer data unit.
  • the code stream generating method of the present embodiment writes a corresponding parameter into the code stream using the first parameter code stream organization structure shown in Table 1.
  • the decoding method according to the first embodiment can decode the code stream generated by the code stream generating method according to the second embodiment.
  • the code stream generating method described in this embodiment may be further subdivided into two cases: encoding a video image to generate a code stream and performing code stream extraction on the existing code stream to generate a sub-code stream.
  • the steps of code stream generation in these two cases will be separately described in the following embodiments.
  • Embodiment 3 is a diagrammatic representation of Embodiment 3
  • FIG. 7 is a schematic diagram of a method for encoding a video image to generate a code stream according to the embodiment.
  • the method according to the embodiment uses the first parameter code stream organization structure shown in Table 1, and encodes the first parameter in the parameter set.
  • the method of the present embodiment uses the second parameter code stream organization structure shown in Table 2 to encode the second parameter in the slice header information.
  • the decoding method according to the first embodiment can decode the code stream generated by the code stream generating method according to the third embodiment.
  • Step 401 Set a first parameter according to a starting position coordinate parameter of the first slice in the image.
  • Step 402 Write the first parameter into a code stream corresponding to the image layer data unit.
  • pic_slice_address_info_present_flag when the value of (pic_slice_address_info_x0, pic_slice_address_info_y0) is equal to (0, 0), and the values of pic_slice_address_info_stride_width and pic_slice_address_info_stride_height are respectively equal to the width and height of the image, that is, the fourth parameter related to the first parameter
  • the value of the syntax element is equal to the default value when pic_slice_address_info_present_flag takes a value of 0, and the value of pic_slice_address_info_present_flag can be set to 0.
  • the value of pic_slice_address_info_present_flag may be set to 1, and the values of the four syntax elements related to the first parameter are encoded in the code stream.
  • the values of the pic_slice_address_info_present_flag and the four syntax elements associated with the first parameter are written into the code stream.
  • the data unit in the code stream may be a Video Parameter Set (VPS), a Sequence Parameter Set (SPS), a Picture Parameter Set (PPS), and the like, which may be used in an image.
  • VPS Video Parameter Set
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • One or more of a set of parameters of one or more slices such as an Adaptive Parameter Set (APS).
  • APS Adaptive Parameter Set
  • the code stream generating method according to the embodiment needs to ensure that the decoding method described in Embodiment 1 is used, and a correct first parameter can be obtained in the decoding process.
  • the correct first parameter refers to the first parameter used by the code stream generating method in generating the code stream.
  • Step 403 Calculate a value of the second parameter according to the first parameter, and write the second parameter into the slice header information code stream.
  • the code stream generating process sets the value of slice_address_x to a value which can be calculated by the equation (1) in Embodiment 1 and which is equal to the value of SliceAddrX. For example, when the value of (pic_slice_address_info_x0, pic_slice_address_info_y0) is equal to (0, 0), the value of slice_address_x is set equal to the value of SliceAddrX.
  • the code stream generation process sets the value of slice_address_y to a value that can be calculated by the equation (2) in Embodiment 1 to be equal to the value of SliceAddrX. For example, when the value of (pic_slice_address_info_x0, pic_slice_address_info_y0) is equal to (0, 0), the value of slice_address_y is set equal to the value of SliceAddrY.
  • Embodiment 4 is a diagrammatic representation of Embodiment 4:
  • FIG. 8 is a schematic diagram of a method for extracting a video code stream to generate a code stream according to the embodiment.
  • the input code stream of the code stream extraction process is referred to as "to-be-decimated code stream” or "original code stream”
  • the output code stream of the code stream extraction process is referred to as "sub-code stream”.
  • the “image corresponding to the code stream to be extracted” refers to the restored image obtained by decoding the code stream (or the original code stream)
  • the “image corresponding to the sub-stream” refers to It is a restored image obtained by decoding the substream.
  • the code stream to be extracted (or the "original code stream”) may be a code stream obtained by encoding the video image by the method described in Embodiment 3, or may be performed by the method of the present embodiment and the following Embodiment 5.
  • the substream of the code stream is extracted.
  • the method of the present embodiment uses the first parameter code stream organization structure shown in Table 1, and the extraction process re-encodes (or "rewrites") the first parameter in the parameter set of the sub-code stream.
  • the method in this embodiment uses the second parameter code stream organization structure shown in Table 2, and does not need to re-encode the second parameter in the slice header information in the code stream to be extracted in the extraction process, thereby saving the code stream extraction process as
  • the fragmentation in the substream recalculates the starting position and encodes the complexity of the starting position, which improves the efficiency of the stream extraction process.
  • Embodiment 1 can decode the code stream generated by the code stream generating method according to the present embodiment.
  • FIG. 9 is a diagram showing an example of a process of performing code stream extraction in the present embodiment.
  • the image corresponding to the code stream to be extracted is an image having a width w0 and a height h0, wherein the two image regions R0 and R1 constitute an image corresponding to the sub-stream (width w1, height h1).
  • the upper left pixel of the first coding block (or decoding block) in the first fragment in the R0 region is S0
  • the upper left of the first coding block (or decoding block) in the first fragment in the R1 region The corner pixel is S1.
  • the coordinate of S0 in the image corresponding to the code stream to be extracted is (px0, py0), and the coordinate value of S0 can be calculated according to the first parameter and the second parameter in the code stream to be extracted, using the method described in Embodiment 1 (SliceAddrX, SliceAddrY) ) The method is obtained. It should be noted that the present embodiment is also applicable to the case where the image corresponding to the sub-code stream includes only the R0 region or more regions than R0 and R1.
  • This embodiment is described by taking an example in which the first parameter is carried only in the PPS in the code stream to be extracted.
  • the method for carrying the first parameter in a plurality of parameter sets, the method for determining the first parameter is the same as the current embodiment, the method for re-encoding the first parameter in the sub-code stream, and the method for encoding the first parameter in the plurality of parameter sets in Embodiment 3
  • the parameters are the same.
  • Step 501 Determine an image region where the image region corresponding to the substream is located in an image corresponding to the code stream to be extracted.
  • the image regions corresponding to the subcode stream are R0 and R1, and the position coordinates of the S0 sample points in R0 in the code stream to be extracted are (px0, py0).
  • the image corresponding to the sub-stream is composed of "R0 on the left and R1 on the right” in the manner shown in FIG. 9 to form an image having a width w1 and a height h1.
  • the code stream extraction process can be viewed according to the auxiliary information and the user related to the motion-limited slice group set in the code stream.
  • the requirement is to determine an image area in which the image area corresponding to the sub-code stream is located in an image corresponding to the code stream to be extracted.
  • R0 and R1 respectively correspond to one or more motion-limited slice set sets that are capable of code stream extraction.
  • the code stream extraction process can be determined according to the MCTS related auxiliary information in the code stream and the user's viewing requirements.
  • the image area corresponding to the sub-stream is in the image area where the image corresponding to the code stream to be extracted is located.
  • R0 and R1 correspond to one or more MCTSs that are capable of stream extraction, respectively.
  • Step 502 Determine a starting position of the first slice in the image corresponding to the substream, and calculate a value of the first parameter.
  • the method for determining the value of the first parameter of the subcode stream is as follows:
  • pic_slice_address_info_x0 is set to the value of px0;
  • pic_slice_address_info_y0 is set to the value of py0;
  • pic_slice_address_info_stride_width is unchanged (that is, equal to the value of pic_slice_address_info_stride_width in the code stream to be extracted);
  • pic_slice_address_info_stride_height is unchanged (that is, equal to the value of pic_slice_address_info_stride_height in the code stream to be extracted).
  • Step 503 Write the first parameter to a code stream corresponding to the image layer data unit.
  • the code stream to be extracted is subjected to code stream extraction using an existing method to obtain a sub-code stream.
  • the syntax unit corresponding to the first parameter in the PPS applied to the sub-code stream is re-encoded.
  • the first parameter is written into the code stream corresponding to the PPS of the subcode stream by using the method in step 402 in Embodiment 3.
  • the fragment code streams in the sub-code stream are directly from the code stream to be extracted, and the code stream extraction process does not require the fragment code.
  • the information in the stream is re-encoded.
  • the sub-code stream is processed as the “to-be-decimated code stream”, and only the PPS needs to be re-encoded in the process of extraction.
  • the first parameter can be. Regardless of how the decimation is performed, both the code stream to be extracted and the sub-code stream can be decoded using the decoding method described in Embodiment 1. Obviously, the method described in Embodiment 5 can greatly improve the processing efficiency of code stream extraction.
  • Embodiment 5 is a diagrammatic representation of Embodiment 5:
  • the sub-code stream extraction is performed on the example shown in FIG. 10 by the method of the fourth embodiment.
  • FIG. 10 is a schematic diagram of application of the 360 degree panoramic video in this embodiment.
  • the 360-degree panoramic video here is a spherical video with the viewer at the center of the ball.
  • the viewing area selected by the viewer is the R1 and R0 areas.
  • an existing coding method for 360-degree panoramic video is used to generate a code stream to be extracted.
  • This encoding method first converts the spherical video into a normal two-dimensional video and then encodes the two-dimensional video using a video encoder. At the receiving end, the two-dimensional video is decoded using a video decoder and reconverted into spherical video for terminal rendering for viewing by the user.
  • the user views an area in the 360-degree panoramic video. Therefore, in order to save the transmission bandwidth, the area viewed by the user may be determined according to the viewing angle of the user, and the user viewing area is extracted from the code stream to be extracted.
  • the sub-code stream sends the sub-code stream to the receiving end.
  • the receiving end decodes the sub-code stream, and converts the decoded image of the sub-code stream into a spherical video according to the auxiliary information (which may be auxiliary information carried in the video code stream or auxiliary information carried by the system layer).
  • the image corresponding to the viewing area is presented to the user for viewing.
  • the spherical video of the 360-degree panoramic video is converted into a common two-dimensional image having a width of w0 and a height of h0 according to an Equirectangular Projection (ERP).
  • ERP Equirectangular Projection
  • the R0 region and the R1 region are respectively located at the left image boundary and the right image boundary of the two-dimensional image.
  • the upper left pixel of the first coding block (or decoding block) in the first fragment in the R0 region is S0
  • the upper left of the first coding block (or decoding block) in the first fragment in the R1 region The corner pixel is S1.
  • the coordinates of S0 in the two-dimensional image are (px0, py0), and the coordinates of S1 in the two-dimensional image are (px1, py1).
  • the coordinate values of S0 and S1 can be obtained by the method described in Embodiment 1 (SliceAddrX, SliceAddrY) according to the first parameter in the code stream to be extracted and the second parameter in each of the slices.
  • the viewing area of the viewer is the R1 area and the R0 area on the spherical surface. Therefore, the image corresponding to the sub-stream is composed of "R1 is on the left and R0 is on the right".
  • Embodiment 6 is a diagrammatic representation of Embodiment 6
  • This embodiment is used to describe a method for generating a code stream by code stream extraction in the example shown in FIG. 10, which includes the following:
  • Step 601 Determine an image area where the image area corresponding to the sub-code stream is located in an image corresponding to the code stream to be extracted.
  • the image corresponding to the sub-stream is composed of an image of width w1 and height h1 by "R1 is on the left and R0 is on the right".
  • Step 602 Determine a starting position of the first fragment in the image corresponding to the substream, and calculate a value of the first parameter.
  • the start position corresponding to the R0 region needs to be changed from the S0 point to the Sx point.
  • S0 and Sx correspond to the same sample point on the sphere.
  • the method for calculating the starting position of the slice according to step 203 in Embodiment 1 needs to determine the value of the first parameter of the subcode stream as follows:
  • pic_slice_address_info_x0 is set to the value of px1;
  • pic_slice_address_info_y0 is set to the value of py1;
  • pic_slice_address_info_stride_width is unchanged (that is, equal to the value of pic_slice_address_info_stride_width in the code stream to be extracted);
  • pic_slice_address_info_stride_height is unchanged (that is, equal to the value of pic_slice_address_info_stride_height in the code stream to be extracted).
  • Step 603 Write the first parameter into a code stream corresponding to the image layer data unit.
  • the code stream to be extracted is subjected to code stream extraction using an existing method to obtain a sub-code stream.
  • the syntax unit corresponding to the first parameter in the PPS applied to the sub-code stream is re-encoded.
  • the first parameter is written into the code stream corresponding to the PPS of the subcode stream by using the method in step 402 in Embodiment 3.
  • the fragment code streams in the sub-code stream are directly from the code stream to be extracted, and the code stream extraction process does not require the fragment code.
  • the information in the stream is re-encoded.
  • the sub-code stream is processed as the “to-be-decimated code stream”, and only the PPS needs to be re-encoded in the process of extraction.
  • the first parameter can be. Regardless of how the decimation is performed, both the code stream to be extracted and the sub-code stream can be decoded using the decoding method described in Embodiment 1. Obviously, the method described in Embodiment 6 can greatly improve the processing efficiency of code stream extraction.
  • Embodiment 7 is a diagrammatic representation of Embodiment 7:
  • the present embodiment provides an embodiment of an electronic system including one or more of the following electronic devices for processing or generating a media stream or media file containing a video stream.
  • the electronic device decodes the video code stream using the method of the first embodiment, or performs sub-stream extraction using the methods described in the fourth embodiment and the first embodiment.
  • the electronic device may perform sub-stream extraction using the method described in Embodiment 2 on a media stream or a media file using the H.265/HEVC standard. Alternatively, substream extraction is performed using the methods described in Embodiments 4 and 2.
  • the electronic device may perform substream extraction using the method described in Embodiment 3 for a media stream or a media file using the H.264/AVC standard. Alternatively, substream extraction is performed using the methods described in Embodiments 4 and 3.
  • the electronic device of this embodiment may be a related code stream generating device and a receiving playing device in a video communication application, for example, a mobile phone, a computer, a server, a set top box, a portable mobile terminal, a digital camera, a television broadcasting system device, a content distribution network device, and a media. Server, etc.
  • Embodiments of the present disclosure also provide a storage medium having stored therein a computer program, wherein the computer program is configured to execute the steps of any one of the method embodiments described above.
  • the above storage medium may be configured to store a computer program for performing the following steps:
  • the foregoing storage medium may include, but is not limited to, a USB flash drive, a Read-Only Memory (ROM), and a Random Access Memory (RAM).
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • Embodiments of the present disclosure also provide an electronic device including a memory and a processor having a computer program stored therein, the processor being configured to execute a computer program to perform the steps of any one of the method embodiments described above.
  • the electronic device may further include a transmission device and an input and output device, wherein the transmission device is connected to the processor, and the input and output device is connected to the processor.
  • the foregoing processor may be configured to perform the following steps by using a computer program:
  • modules or steps of the present disclosure described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module. As such, the disclosure is not limited to any specific combination of hardware and software.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开提供了一种视频码流的解码、生成方法及装置、存储介质、电子装置,其中,视频码流的解码方法包括:获取视频图像中分片的基准位置的第一参数;获取分片的第二参数,其中,第二参数用于确定分片在视频图像中的起始位置;根据第一参数和第二参数,计算分片在视频图像中的起始位置坐标参数。通过本公开,解决了相关技术中码流处理设备解码过于复杂的技术问题,提高了码流处理设备的处理效率。

Description

视频码流的解码、生成方法及装置、存储介质、电子装置 技术领域
本公开涉及通信领域,特别涉及一种视频码流的解码、生成方法及装置、存储介质、电子装置。
背景技术
相关技术中,在流媒体应用,一个高分辨率图像(Picture)的视频码流(bitstream)可以抽取出一个或多个不同分辨率的码流,这样可以适应于不同解码能力的终端设备以及多种不同的应用场景,例如,交互式超高清电视、动态交互式点播等。对于使用全景视频或360度视频的应用,服务器可以根据终端提供的用户观看需求,动态地向终端用户发送包含用户指定观看内容的、从整体码流中抽取的子码流。实现方法上,服务器可以根据终端提供的用户观看需求,实时地从整体码流中抽取对应的子码流;服务器也可以事先从整体码流中抽取出子码流,根据终端提供的用户观看需求,动态地选择发送对应的子码流。
相关技术中的主流视频编码标准(例如,H.264/AVC标准、H.265/HEVC标准)中,分片(Slice)是码流组织的基本数据单元之一。在编码过程中,编码器将图像划分(Partition)成一个或多个分片,对分片进行编码。分片可以对应于图像中的一个可以独立解码的单元,对分片的解码过程可不依赖同图像中其他分片的数据。使用分片的这种特性,可以生成便于码流抽取的码流。例如,使用H.264/AVC标准的分片组(Slice Group)、使用H.265/HEVC标准的瓦片(Tile)。H.265/HEVC标准允许一个瓦片中包含一个或多个分片,此时,一个瓦片可以作为一个分片组(或分片集合);H.265/HEVC标准也允许一个分片中包含一个或多个瓦片,此时,一个分片可以作为一个瓦片组(或瓦片集合)。
相关技术中在对分片的编码过程中,需要编码分片的起始位置信息。这样,在该分片的数据解码完成后,解码器可以将分片中所包含像素点采样值的恢复值存储在恢复图像缓冲区的正确位置。在现有的主流视频编码标准中,使用分片中第一个编码块在图像中的序号(按照光栅扫描(Raster Scanning)顺序)作为该分片在图像中的位置信息。例如,H.264/AVC标准中,使用分片中第一个宏块(Macroblock,MB)在图像中的序号作为该分片的位置坐标(对应语法(Syntax)单元是first_mb_in_slice;在H.265/HEVC标准中,使用一个标志位来表示分片是否是图像中的第一个分片(对应语法单元是first_slice_segment_in_pic_flag),当分片不是图像中的第一个分片时,使用分片中的第一个编码树块(Coding Tree Block,CTB)在图像中的序号作为该分片的位置坐标(对应语法单元是slice_segment_address)。
对视频图像进行编码和对码流进行子码流抽取是两种常用的码流生成过程。在对视频图像进行编码的过程中,编码器根据图像分辨率、编码块的大小(MB的大小固定为16x16,CTB的大小可以设定)、将图像划分为分片的方式来确定图像中各分片的位置坐标。在码流抽取的过程中,处理设备需要对待抽取码流中的相关语法单元进行解析,确定待抽取码流和子码流的图像分辨率、编码块的大小、将图像划分为分片的方式,确定子码流对应的图像区 域在待抽取码流对应图像中的位置,从而计算组成子码流图像区域的分片在子码流对应图像中的位置坐标,最后需要在抽取的子码流中,在子码流中重写分片头信息中子码流的位置坐标对应的语法单元的值。这里,所述待抽取码流对应的图像指的是对待抽取码流进行解码得到的视频图像,所述子码流对应的图像指的是对子码流进行解码得到的视频图像。通常情况下,子码流对应的图像是待抽取码流对应的图像中的一个图像区域。特别地,在全景视频或360度视频的情况下,子码流对应的图像还可以是由待抽取码流对应的图像中两个或更多不相邻区域组成。特别地,在全景视频或360度视频的情况下,按照光栅扫描顺序,所述的两个或更多不相邻区域在待抽取码流对应的图像中的先后顺序可以与所述的两个或更多不相邻区域在子码流对应的图像中的先后顺序不同。
由此可知,相关技术中的编码分片在图像中起始位置坐标信息的方法增加了确定子码流中分片起始位置坐标过程的计算复杂度,同时也增加了子码流抽取过程中重写分片起始位置坐标过程的复杂度。在实际应用中,现有方法存在的这些缺点增加了码流处理设备的实现复杂度和码流处理效率。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本公开实施例提供了一种视频码流的解码、生成方法及装置、存储介质、电子装置。
根据本公开的一个实施例,提供了一种视频码流的解码方法,包括:获取视频图像中分片的基准位置的第一参数;获取分片的第二参数,其中,所述第二参数用于确定所述分片在所述视频图像中的起始位置;根据所述第一参数和所述第二参数,计算所述分片在所述视频图像中的起始位置坐标参数。
根据本公开的一个实施例,提供了一种视频码流的生成方法,包括:根据视频图像中首个分片的起始位置设置第一参数;将所述第一参数写入所述视频图像的图像层数据单元的码流。
根据本公开的另一个实施例,提供了一种视频码流的解码装置,包括:第一获取模块,设置为获取视频图像中分片的基准位置的第一参数;第二获取模块,设置为获取分片的第二参数,其中,所述第二参数用于确定所述分片在所述视频图像中的起始位置;计算模块,设置为根据所述第一参数和所述第二参数,计算所述分片在所述视频图像中的起始位置坐标参数。
根据本公开的另一个实施例,提供了一种视频码流的生成装置,包括:设置模块,设置为根据视频图像中首个分片的起始位置设置第一参数;生成模块,设置为将所述第一参数写入所述视频图像的图像层数据单元的码流。
根据本公开的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本公开的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实 施例中的步骤。
通过本公开,可以避免在码流抽取过程中重新为抽取后得到的子码流包含的图像中的分片计算起始位置并且重写分片头信息中分片起始位置信息的操作,解决了相关技术中码流处理设备解码过于复杂的技术问题,提高了码流处理设备的处理效率。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是根据本公开实施例的视频码流的解码方法的流程图;
图2是根据本公开实施例的视频码流的生成方法的流程图;
图3是根据本公开实施例的视频码流的解码装置的结构框图;
图4是根据本公开实施例的视频码流的生成装置的结构框图;
图5为本实施方式的解码方法示意图;
图6为本实施方式的码流生成方法示意图;
图7是本实施方式对视频图像进行编码生成码流的方法示意图;
图8是本实施方式对视频码流进行抽取来生成码流的方法示意图;
图9是本实施方式进行码流抽取实施过程的示例图;
图10是本实施例在360度全景视频的应用示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本公开。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种视频码流的解码方法,图1是根据本公开实施例的视频码流的解码方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,获取视频图像中分片的基准位置的第一参数;
步骤S104,获取分片的第二参数,其中,第二参数用于确定分片在视频图像中的起始位置;
步骤S106,根据第一参数和第二参数,计算分片在视频图像中的起始位置坐标参数。
通过上述步骤,可以避免在码流抽取过程中重新为抽取后得到的子码流包含的图像中的分片计算起始位置并且重写分片头信息中分片起始位置信息的操作,解决了相关技术中码流处理设备解码过于复杂的技术问题,提高了码流处理设备的处理效率。
可选地,上述步骤的执行主体可以为视频码流处理设备,如视频通信应用中相关码流生成设备和接收播放设备,如,手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像 机,电视广播系统设备、内容分发网络设备、媒体服务器等,但不限于此。
可选地,获取视频图像中分片的基准位置的第一参数包括:解析视频码流中与图像层数据单元对应的一个或多个第一码流;从第一码流中获取第一参数。
在一个示例中,解析得到多个第一码流,从第一码流中获取第一参数包括:解析多个第一码流,获得多个第一参数;获取与图像层数据单元相关的标识信息,和/或,多个图像层数据单元之间的引用关系;根据标识信息和/或引用关系在多个第一参数中确定一个第一参数。最终确定的第一参数可以是完整的,也可以是从多个第一参数中合并得到的。
可选的,与图像层数据单元相关的标识信息用于指示在计算分片在视频图像中的起始位置坐标参数过程中所使用的第一参数。
可选的,图像层数据单元包括以下数据单元的至少之一:视频参数集,序列参数集,图像参数集,序列头,图像头,分片头,图像层辅助信息单元。
可选的,获取分片的第二参数包括:解析视频码流的分片层头信息;从分片层头信息中获取第二参数。
在本实施例中,第一参数包括:视频图像的坐标信息,视频图像的跨度信息,第二参数包括:分片的坐标信息。
在一个示例中,根据第一参数和第二参数,计算分片在视频图像中的起始位置坐标参数,包括:
通过以下公式计算起始位置坐标参数(SliceAddrX,SliceAddrY):
SliceAddrX=(slice_address_x–pic_slice_address_info_x0+pic_slice_address_info_stride_width)%pic_slice_address_info_stride_width;
SliceAddrY=(slice_address_y–pic_slice_address_info_y0+pic_slice_address_info_stride_height)%pic_slice_address_info_stride_height;
其中,SliceAddrX为分片在视频图像中在水平方向的起始位置坐标,SliceAddrY为分片在视频图像中在垂直方向的起始位置坐标,slice_address_x为分片在水平方向的位置坐标,slice_address_y为分片在垂直方向的位置坐标,pic_slice_address_info_x0为视频图像中分片基准位置在水平方向的坐标,pic_slice_address_info_y0为视频图像中分片基准位置在垂直方向的坐标,pic_slice_address_info_stride_width为视频图像的水平方向跨度值,pic_slice_address_info_stride_height为视频图像的垂直方向跨度值。
在另一个示例中,当第一参数不包含pic_slice_address_info_stride_height,可以变换SliceAddrY的计算方法,此时,根据第一参数和第二参数,计算分片在视频图像中的起始位置坐标参数,包括:
通过以下公式计算起始位置坐标参数(SliceAddrX,SliceAddrY):
SliceAddrX=(slice_address_x–pic_slice_address_info_x0+pic_slice_address_info_stride_width)%pic_slice_address_info_stride_width;
SliceAddrY=slice_address_y–pic_slice_address_info_y0;
其中,SliceAddrX为分片在视频图像中在水平方向的起始位置坐标,SliceAddrY为分片 在视频图像中在垂直方向的起始位置坐标,slice_address_x为分片在水平方向的位置坐标,slice_address_y为分片在垂直方向的位置坐标,pic_slice_address_info_x0为视频图像中分片基准位置在水平方向的坐标,pic_slice_address_info_y0为视频图像中分片基准位置在垂直方向的坐标,pic_slice_address_info_stride_width为视频图像的水平方向跨度值。
在本实施例中提供了一种视频码流的生成方法,图2是根据本公开实施例的视频码流的生成方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据视频图像中首个分片的起始位置设置第一参数;
步骤S204,将第一参数写入视频图像的图像层数据单元的码流。
可选的,在将第一参数写入视频图像的图像层数据单元的码流之后,方法还包括:根据视频图像中分片的起始位置坐标参数和第一参数计算第二参数,并将第二参数写入分片层头信息对应的码流,其中,第二参数用于确定分片在视频图像中的起始位置。
可选的,根据视频图像中首个分片的起始位置设置第一参数包括:确定子码流对应的图像在待抽取码流对应的图像中所在的图像区域,其中,子码流对应的图像为视频图像;确定视频图像中首个分片的起始位置,根据起始位置计算第一参数,其中,起始位置是视频图像中首个分片在待抽取码流对应的图像中的起始位置坐标。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
实施例2
在本实施例中还提供了一种视频码流的解码、生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本公开实施例的视频码流的解码装置的结构框图,如图3所示,该装置包括:
第一获取模块30,设置为获取视频图像中分片的基准位置的第一参数;
第二获取模块32,设置为获取分片的第二参数,其中,第二参数用于确定分片在视频图像中的起始位置;
计算模块34,设置为根据第一参数和第二参数,计算分片在视频图像中的起始位置坐标参数。
图4是根据本公开实施例的视频码流的生成装置的结构框图,如图4所示,该装置包括:
设置模块40,设置为根据视频图像中首个分片的起始位置设置第一参数;
生成模块42,设置为将第一参数写入视频图像的图像层数据单元的码流。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以 下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本实施例是本申请的可选实施例,用于结合具体的实例方式对本申请的方案进行详细解释和说明:
下述实施例中,视频图像所属的视频可以是高分辨率视频或者是其他样式的视频,高分辨率视频指的是由高分辨率图像组成的图像序列,其中高分辨率图像可以是高清视频图像、超高清视频图像、全景视频图像、360度视频图像等具有大分辨率的视频图像。所述码流指的是视频编码器对高分辨率视频进行编码产生的码流,也指对视频编码器编码高分辨率视频产生的码流经过系统层处理后得到的包含所述视频编码器编码高分辨率视频产生的码流的传输流和/或媒体文件,对所述码流进行解码可以获得高分辨率视频。所述系统层处理是对视频码流进行的封装操作,例如,将视频码流作为数据载荷封装成传输流,或将视频码流作为载荷封装成媒体文件。所述系统层处理也包括将包含视频码流的传输流或媒体文件作为数据载荷封装成用于传输的流或者用于存储的文件。所述系统层处理生成的数据单元也称为系统层数据单元,在所述系统层处理封装数据载荷过程中在所述系统层数据单元中添加的信息(例如系统层数据单元的头信息等)称为系统层信息。所述子码流指的是从码流中进行抽取操作得到的部分码流,对所述子码流进行解码可以获得视频图像,该视频图像可以是比解码所述码流获得的高分辨率视频图像的分辨率低的图像,该视频图像包含的可以是所述高分辨率图像中的部分内容。
本实施例提供了一种对视频图像码流的解码和码流生成方法及装置,包括解码方法及装置、码流生成方法及装置。解码方法包括:解析图像层数据单元对应的码流,获得图像中第一个分片的起始位置的第一参数;解析分片层头信息,获得分片在图像中起始位置的第二参数;根据所述第一参数和所述第二参数,计算所述分片在图像中的起始位置坐标参数。码流生成方法包括:根据图像中第一个分片的起始位置坐标参数设置第一参数,将所述第一参数写入图像层数据单元对应的码流。这样,可以避免在码流抽取过程中重新为抽取后得到的子码流包含的图像中的分片计算起始位置并且重写分片头信息中分片起始位置信息的操作,提高了码流处理设备的处理效率。
本实施例还包括以下实施方式:
实施方式1:
使用本实施方式的方法,对码流进行解码的主要步骤如下,图5为本实施方式的解码方法示意图,如图5所示。
步骤201,解析图像层数据单元对应的码流,获得图像中第一个分片的起始位置的第一参数。
所述图像层单元中包含图像解码过程中所使用的数据,所述数据用于解码一个或多个图像中的分片。所述图像层单元包括以下存在于视频码流中的数据单元的一种或多种:网络抽象层(Network Abstraction Layer,NAL)单元头;参数集;序列头;图像头;分片(slice) 头;视频码流的辅助信息单元(例如补充增强信息(Supplemental Enhancement Information,SEI)、视频应用信息(Video Usability Information,VUI))。
所述第一参数用于指示图像的基准坐标位置,在码流中的组织方法如表1所示。
表1.第一参数的码流组织方法
...... Descriptor(描述符)
pic_slice_address_info_present_flag u(1)
if(slice_address_info_present_flag){  
pic_slice_address_info_x0 ue(v)
pic_slice_address_info_y0 ue(v)
pic_slice_address_info_stride_width ue(v)
pic_slice_address_info_stride_height ue(v)
}  
......  
}  
表1中各语法单元的语义(semantics)如下:
pic_slice_address_info_present_flag取值等于1表示在码流中存在用于确定图像中分片地址的参数。pic_slice_address_info_present_flag取值等于0表示在码流中不存在用于确定图像中分片地址的参数。当pic_slice_address_info_present_flag取值等于0时,pic_slice_address_info_x0和pic_slice_address_info_y0的取值等于0,pic_slice_address_info_stride_width的取值等于图像的宽度,pic_slice_address_info_stride_height的取值等于图像的高度。
解析码流过程中,使用u(1)对应的熵解码方法获得pic_slice_address_info_present_flag的取值。
pic_slice_address_info_x0、pic_slice_address_info_y0、pic_slice_address_info_stride_width和pic_slice_address_info_stride_height用于计算图像中分片地址。
可选择地,所述第一参数可以不包含pic_slice_address_info_stride_height,pic_slice_address_info_stride_height可以不出现在码流中。
解析码流过程中,使用ue(v)对应的熵解码方法获得上述四个参数的取值。需要说明的是,在码流组织中,上述四个参数的描述子(descriptor)也可以使用u(v)。在使用u(v)的情况下,上述四个参数在码流中的比特数如下:pic_slice_address_info_x0和pic_slice_address_info_stride_width对应的比特数等于Ceil(Log2(PicWidth)),pic_slice_address_info_y0和pic_slice_address_info_stride_height对应的比特数等于Ceil(Log2(PicHeight))。其中,PicWidth是图像的宽度,PicHeight是图像的高度。数学运 算式(Mathematical function)Ceil(x)和Log2(x)与H.265/HEVC标准中定义的同名数学运算式相同。
需要说明的是,表1中使用分别在码流中设置pic_slice_address_info_x0和pic_slice_address_info_y0的方式。在已知图像宽度和图像高度的情况下,在码流中也可以使用pic_slice_address_info_x0和pic_slice_address_info_y0在图像中所指向的像素点的序号来表示这两个参数。其中,所述的像素点序号可以是像素点所在块划分在图像中的序号。下文中叙述的在分片头信息中所述的第二参数slice_address_x和slice_address_y在码流中的表示方法与此类似。
需要说明的是,本实施方式表1中的pic_slice_address_info_x0、pic_slice_address_info_y0、pic_slice_address_info_stride_width和pic_slice_address_info_stride_height的计数单位是采样点(Sample)。在已知图像中块划分单元的大小的情况下,也可以使用块划分单元的大小作为计数单位。下文中叙述的在分片头信息中所述的第二参数slice_address_x和slice_address_y在码流中的表示方法与此类似。在本专利所述实施方式中,使用的计数单位是采样点。
所述码流可以存在于所述图像层单元的一个或多个中。例如,当存在于多个参数集中时,根据参数集之间的引用关系,一个参数集中的参数可以覆盖该参数集直接或间接引用的一个或多个其他参数集中的对应参数。分片头信息中的参数可以覆盖该分片直接或间接应用的一个或多个参数集中的对应参数。当某个或某些个参数集于其他参数集之间没有直接或间接的引用关系时,则可根据预先设定的覆盖方式,使用指定参数集中的参数覆盖来自于其他参数集中的参数;或者根据参数集中的标识信息和分片头信息中的标识信息中的一个或两个来确定所使用的参数。另外,可选择地,在从所述图像层单元的一个或多个中均可获得所述第一参数的情况下,解码过程还可以根据码流中的标志位或标识信息,确定最终使用的第一参数。
步骤202,解析分片层头信息,获得分片在图像中起始位置的第二参数。
所述第二参数用于指示分片的坐标位置,在码流中的组织方法如表2所示。所述第二参数对应的码流位于在分片头信息单元对应的码流中。
表2.第二参数的码流组织方法
...... Descriptor
slice_address_x ue(v)
slice_address_y ue(v)
......  
}  
表2中各语法单元的语义如下:
slice_address_x和slice_address_y用于计算图像中分片地址。
解析码流过程中,使用ue(v)对应的熵解码方法获得上述两个参数的取值。需要说明的是,在码流组织中,上述两个参数的描述子(descriptor)也可以使用u(v)。在使用u(v)的情 况下,上述四个参数在码流中的比特数如下:slice_address_x对应的比特数等于Ceil(Log2(PicWidth)),slice_address_y对应的比特数等于Ceil(Log2(PicHeight))。其中,PicWidth是图像的宽度,PicHeight是图像的高度。数学运算式Ceil(x)和Log2(x)与H.265/HEVC标准中定义的同名数学运算式相同。
步骤203,根据所述第一参数和所述第二参数,计算所述分片在图像中的起始位置坐标参数。
这里,在使用采样点作为所述第一参数和所述第二参数的计数单位的情况下,使用如下方法计算分片中第一个解码块的左上角采样点(即所述分片中的第一个采样点)在图像中的坐标(SliceAddrX,SliceAddrY):
SliceAddrX=(slice_address_x–pic_slice_address_info_x0+pic_slice_address_info_stride_width)%pic_slice_address_info_stride_width  (1)
SliceAddrY=(slice_address_y–pic_slice_address_info_y0+pic_slice_address_info_stride_height)%pic_slice_address_info_stride_height  (2)
其中,算术运算符(Arithmetic operator)“%”与H.265/HEVC标准中定义的算术运算符“%”的计算方法相同。
可选择地,当所述第一参数可以不包含pic_slice_address_info_stride_height、pic_slice_address_info_stride_height可以不出现在码流中时,SliceAddrY的计算方法如下:
SliceAddrY=slice_address_y–pic_slice_address_info_y0        (3)
实施方式2:
使用本实施方式的方法,生成码流的主要步骤如下,图6为本实施方式的码流生成方法示意图,如图6所示。
步骤301,根据图像中第一个分片的起始位置坐标参数设置第一参数。
步骤302,将所述第一参数写入图像层数据单元对应的码流。
本实施方式的码流生成方法使用表1所示的第一参数码流组织结构将对应参数写入码流。
实施方式1所述的解码方法可以解码实施方式2所述码流生成方法产生的码流。
其中,本实施方式中所述的码流生成方法可进一步细分为两种情况:对视频图像进行编码生成码流和对已有码流进行码流提取生成子码流。下述实施方式中将分别叙述这两种情况下码流生成的步骤。
实施方式3:
图7是本实施方式对视频图像进行编码生成码流的方法示意图。
本实施方式所述方法使用表1所示的第一参数码流组织结构,在参数集中编码第一参数。本实施方式所述方法使用表2所示的第二参数码流组织结构,在分片头信息中编码第二参数。实施方式1所述的解码方法可以解码实施方式3所述码流生成方法产生的码流。
步骤401,根据图像中第一个分片的起始位置坐标参数设置第一参数。
将(pic_slice_address_info_x0,pic_slice_address_info_y0)设置为图像中第一个分片中第一 个编码块左上角采样点在图像中的坐标。通常情况下,图像中第一个分片中第一个编码块左上角采样点是图像左上角采样点,可以将(pic_slice_address_info_x0,pic_slice_address_info_y0)的值设置为(0,0)。
将pic_slice_address_info_stride_width的取值设置为图像宽度的取值。
将pic_slice_address_info_stride_height的取值设置为图像高度的取值。
步骤402,将所述第一参数写入图像层数据单元对应的码流。
可选择地,对于pic_slice_address_info_present_flag的取值,当(pic_slice_address_info_x0,pic_slice_address_info_y0)的取值等于(0,0)、并且pic_slice_address_info_stride_width和pic_slice_address_info_stride_height的取值分别等于图像的宽度和高度时,即上述第一参数相关的四个语法元素的取值等于pic_slice_address_info_present_flag取值为0时的默认值,可以将pic_slice_address_info_present_flag的取值设置为0。
可选择地,对于pic_slice_address_info_present_flag的取值,可以将pic_slice_address_info_present_flag的取值设置为1,在码流中编码第一参数相关的四个语法元素的取值。
使用表1中各语法单元的描述子(descriptor)所对应的熵编码方法,将pic_slice_address_info_present_flag和第一参数相关的四个语法元素的取值(当pic_slice_address_info_present_flag取值等于1时)写入码流中的一个或多个数据单元。
这里,所述的码流中的数据单元可以视频参数集(Video Parameter Set,VPS)、序列参数集(Sequence Parameter Set,SPS)、图像参数集(Picture Parameter Set,PPS)以及其他可用于图像中一个或多个分片的参数集(例如适配参数集(Adaptive Parameter Set,APS))中的一个或多个。当在多个参数集中均写入第一参数时,本实施方式所述的码流生成方法需要保证使用实施方式1所述的解码方法,在解码过程中可以获得正确的第一参数。所述正确的第一参数,指的是码流生成方法在生成码流过程中所使用的第一参数。
步骤403,根据所述第一参数,计算第二参数的取值,将所述第二参数写入分片头信息码流。
确定分片中第一个编码块左上角采样点在图像中的坐标(SliceAddrX,SliceAddrY)。
码流生成过程将slice_address_x的取值设置为可以根据实施方式1中(1)式计算得到与SliceAddrX值相等的一个数值。例如,当(pic_slice_address_info_x0,pic_slice_address_info_y0)的取值等于(0,0)时,将slice_address_x的取值设置为等于SliceAddrX值。
码流生成过程将slice_address_y的取值设置为可以根据实施方式1中(2)式计算得到与SliceAddrX值相等的一个数值。例如,当(pic_slice_address_info_x0,pic_slice_address_info_y0)的取值等于(0,0)时,将slice_address_y的取值设置为等于SliceAddrY值。
使用表2中各语法单元的描述子(descriptor)所对应的熵编码方法,将第二参数相关的语法元素slice_address_x和slice_address_y的取值写入分片头信息码流。
实施方式4:
图8是本实施方式对视频码流进行抽取来生成码流的方法示意图。
在本实施方式中,码流抽取过程的输入码流称为“待抽取码流”或“原始码流”,码流抽取过程的输出码流称为“子码流”。“待抽取码流对应的图像”(或“原始码流对应的图像”)指的是对待抽取码流(或原始码流)进行解码后得到的恢复图像,“子码流对应的图像”指的是对子码流进行解码后得到的恢复图像。“待抽取码流”(或“原始码流”)可以是使用实施方式3所述方法对视频图像进行编码后得到的码流,也可以是本实施方式和下述实施方式5所述方法进行码流抽取得到的子码流。
本实施方式所述方法使用表1所示的第一参数码流组织结构,抽取过程在子码流的参数集中重新编码(或称为“重写”)第一参数。本实施方式所述方法使用表2所示的第二参数码流组织结构,在抽取过程中不需要重新编码待抽取码流中分片头信息中的第二参数,节省了码流抽取过程中为子码流中的分片重新计算起始位置、并编码起始位置的复杂度,提高了码流抽取过程的效率。
实施方式1所述的解码方法可以解码本实施方式所述码流生成方法产生的码流。
图9是本实施方式进行码流抽取实施过程的示例图。图9中,待抽取码流对应的图像是宽度为w0、高度为h0的图像,其中R0和R1两个图像区域组成了子码流对应的图像(宽度为w1、高度为h1)。R0区域中的第一个分片中第一个编码块(或解码块)的左上角像素点为S0,R1区域中的第一个分片中第一个编码块(或解码块)的左上角像素点为S1。S0在待抽取码流对应的图像中的坐标是(px0,py0),S0的坐标值可以根据待抽取码流中的第一参数和第二参数,使用实施方式1所述计算(SliceAddrX,SliceAddrY)的方法得到。需要说明的是,本实施方式同样适用于子码流对应的图像仅包括R0区域、或R0和R1外更多区域的情况。
本实施方式以待抽取码流中仅在PPS中携载了第一参数为例进行说明。对多个参数集中携载第一参数情况,确定第一参数的方法与本实施方式相同,在子码流中重新编码第一参数的方法与实施方式3中对在多个参数集中编码第一参数的方法相同。
步骤501,确定子码流对应的图像区域在待抽取码流对应的图像中所在的图像区域。
如图9的示例,子码流对应的图像区域是R0和R1,R0中的S0采样点在待抽取码流中的位置坐标是(px0,py0)。抽取后,子码流对应的图像是由“R0在左、R1在右”按图9所示的方式组成宽度为w1、高度为h1的图像。
对于使用H.264/AVC标准的运动受限分片组集合(Motion-constrained Slice Group Set)的情况,码流抽取过程可以根据码流中运动受限分片组集合相关的辅助信息和用户观看需求,确定子码流对应的图像区域在待抽取码流对应的图像中所在的图像区域。例如,对于图9的示例,R0和R1分别对应一个或多个可进行码流抽取的运动受限分片组集合。
对于使用H.265/HEVC标准的时域运动受限瓦片集合(temporal Motion-Constrained Tile Sets,MCTS)的情况,码流抽取过程可以根据码流中MCTS相关的辅助信息和用户观看需求,确定子码流对应的图像区域在待抽取码流对应的图像中所在的图像区域。例如,对于图9的示例,R0和R1分别对应一个或多个可进行码流抽取的MCTS。
步骤502,确定子码流对应的图像中第一个分片的起始位置,计算第一参数的取值。
如图9的示例,对于子码流的第一参数的取值确定方法如下:
pic_slice_address_info_x0的值设置为px0的取值;
pic_slice_address_info_y0的值设置为py0的取值;
pic_slice_address_info_stride_width的值不变(即等于待抽取码流中pic_slice_address_info_stride_width的取值);
pic_slice_address_info_stride_height的值不变(即等于待抽取码流中pic_slice_address_info_stride_height的取值)。
步骤503,将所述第一参数写入图像层数据单元对应的码流。
在本实施方式中,使用已有方法对所述待抽取码流进行码流抽取,得到子码流。在码流抽取过程中,重新编码应用于子码流的PPS中的第一参数对应的语法单元。
使用实施方式3中步骤402所述方法,将所述第一参数写入子码流的PPS对应的码流中。
使用本实施方式所述的方法对图8所示示例进行码流抽取的过程中,子码流中的分片码流均直接来自于待抽取码流,码流抽取过程不需要对分片码流中的信息进行重新编码。同时,对抽取得到的子码流进行再抽取时,只需要使用本实施方式所述的方法,将该子码流作为“待抽取码流”进行处理,抽取的过程中只需要重新编码PPS中的第一参数即可。无论如何进行抽取,待抽取码流和子码流均可以使用实施方式1所述解码方法进行解码。显然,实施方式5所述的方法可以大大提高码流抽取的处理效率。
实施方式5:
本实施方式所述的是使用实施方式4的方法对图10所示示例进行子码流抽取。
图10是本实施例在360度全景视频的应用示意图。这里的360度全景视频是一个球面视频,观看者(viewer)位于球心位置。图10中,观看者选择的观看区域是R1和R0区域。
本实施方式使用已有的对360度全景视频的编码方法生成待抽取码流。这种编码方法首先将球面视频转换为普通的二维视频,然后使用视频编码器对该二维视频进行编码。在接收端,使用视频解码器对该二维视频进行解码,并将其重新转换成球面视频用于终端呈现(rendering)给用户观看。
实际应用中,用户观看的是360度全景视频中的某个区域,因此,为节省传输带宽,可以根据用户观看角度,确定用户观看的区域,从待抽取码流中抽取所述用户观看区域对应的子码流,将子码流发送给接收端。接收端对子码流进行解码,根据辅助信息(可能是视频码流中携载的辅助信息,也可能是系统层携载的辅助信息)将子码流解码后的图像重新转换成球面视频上对应观看区域的图像并呈现给用户观看。
图10所示示例中,将360度全景视频的球面视频,按照经纬图(Equirectangular projection,ERP)的方式将其转换为宽度为w0、高度为h0的普通二维图像。在转换得到的二维图像中,R0区域和R1区域分别位于该二维图像的左图像边界和右图像边界。R0区域中的第一个分片中第一个编码块(或解码块)的左上角像素点为S0,R1区域中的第一个分片中第一个编码块(或解码块)的左上角像素点为S1。S0在所述二维图像中的坐标是(px0,py0),S1在所述二维图像中的坐标是(px1,py1)。S0和S1的坐标值可以根据待抽取码流中的第一参数和各 自所在分片中的第二参数,使用实施方式1所述计算(SliceAddrX,SliceAddrY)的方法得到。
图10所示的360度全景视频中,观看者的观看区域是球面上的R1区域和R0区域。因此,子码流对应的图像是由“R1在左、R0在右”的方式组成。
实施方式6:
本实施例用于对图10所示示例的码流抽取生成码流的方法进行说明,包括如下:
步骤601,确定子码流对应的图像区域在待抽取码流对应的图像中所在的图像区域。
在图10的示例中,抽取后,子码流对应的图像是由“R1在左、R0在右”按的方式组成宽度为w1、高度为h1的图像。
步骤602,确定子码流对应的图像中第一个分片的起始位置,计算第一参数的取值。
如图10的示例,在宽度为w0、高度为h1的经纬图上,相当于R0区域的起始位置需要由S0点变成Sx点。在360度全景视频上,S0和Sx在球面上对应于同一个采样点。按照实施方式1中步骤203计算分片起始位置的方法,需要将子码流的第一参数的取值确定如下:
pic_slice_address_info_x0的值设置为px1的取值;
pic_slice_address_info_y0的值设置为py1的取值;
pic_slice_address_info_stride_width的值不变(即等于待抽取码流中pic_slice_address_info_stride_width的取值);
pic_slice_address_info_stride_height的值不变(即等于待抽取码流中pic_slice_address_info_stride_height的取值)。
步骤603,将所述第一参数写入图像层数据单元对应的码流。
在本实施方式中,使用已有方法对所述待抽取码流进行码流抽取,得到子码流。在码流抽取过程中,重新编码应用于子码流的PPS中的第一参数对应的语法单元。
使用实施方式3中步骤402所述方法,将所述第一参数写入子码流的PPS对应的码流中。
使用本实施方式所述的方法对图9所示示例进行码流抽取的过程中,子码流中的分片码流均直接来自于待抽取码流,码流抽取过程不需要对分片码流中的信息进行重新编码。同时,对抽取得到的子码流进行再抽取时,只需要使用本实施方式所述的方法,将该子码流作为“待抽取码流”进行处理,抽取的过程中只需要重新编码PPS中的第一参数即可。无论如何进行抽取,待抽取码流和子码流均可以使用实施方式1所述解码方法进行解码。显然,实施方式6所述的方法可以大大提高码流抽取的处理效率。
实施方式7:
本实施方式提供一种电子系统的实施方式,包括下述一个或多个电子设备,用于处理或生成包含视频码流的媒体码流或媒体文件。
所述电子设备使用实施方式1的方法对视频码流进行解码,或者使用实施方式4和实施方式1所述的方法进行子码流抽取。
所述电子设备可以对使用H.265/HEVC标准的媒体码流或媒体文件,使用实施方式2所述的方法进行子码流抽取。或者,使用实施方式4和实施方式2所述的方法进行子码流抽取。
所述电子设备可以对使用H.264/AVC标准的媒体码流或媒体文件,使用实施方式3所 述的方法进行子码流抽取。或者,使用实施方式4和实施方式3所述的方法进行子码流抽取。
本实施方式的电子设备可以是视频通信应用中相关码流生成设备和接收播放设备,例如,手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播系统设备、内容分发网络设备、媒体服务器等。
实施例4
本公开的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取视频图像中分片的基准位置的第一参数;
S2,获取分片的第二参数,其中,所述第二参数用于确定所述分片在所述视频图像中的起始位置;
S3,根据所述第一参数和所述第二参数,计算所述分片在所述视频图像中的起始位置坐标参数。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取视频图像中分片的基准位置的第一参数;
S2,获取分片的第二参数,其中,所述第二参数用于确定所述分片在所述视频图像中的起始位置;
S3,根据所述第一参数和所述第二参数,计算所述分片在所述视频图像中的起始位置坐标参数。
可选地,本实施例中的示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员 来说,本公开可以有各种更改和变化。凡在本公开的原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (16)

  1. 一种视频码流的解码方法,包括:
    获取视频图像中分片的基准位置的第一参数;
    获取分片的第二参数,其中,所述第二参数用于确定所述分片在所述视频图像中的起始位置;
    根据所述第一参数和所述第二参数,计算所述分片在所述视频图像中的起始位置坐标参数。
  2. 根据权利要求1所述的方法,其中,获取视频图像中分片的基准位置的第一参数包括:
    解析视频码流中与图像层数据单元对应的一个或多个第一码流;
    从所述第一码流中获取所述第一参数。
  3. 根据权利要求2所述的方法,其中,在存在多个所述第一码流时,从所述第一码流中获取所述第一参数包括:
    解析所述多个第一码流,获得多个第一参数;
    获取与所述图像层数据单元相关的标识信息,和/或,多个所述图像层数据单元之间的引用关系;
    根据所述标识信息和/或引用关系在所述多个第一参数中确定一个所述第一参数。
  4. 根据权利要求3所述的方法,其中,所述与所述图像层数据单元相关的标识信息用于指示在计算所述分片在所述视频图像中的起始位置坐标参数过程中所使用的所述第一参数。
  5. 根据权利要求3所述的方法,其中,所述图像层数据单元包括以下数据单元的至少之一:视频参数集,序列参数集,图像参数集,序列头,图像头,分片头,图像层辅助信息单元。
  6. 根据权利要求1所述的方法,其中,获取分片的第二参数包括:
    解析视频码流的分片层头信息;
    从所述分片层头信息中获取所述第二参数。
  7. 根据权利要求1所述的方法,其中,所述第一参数包括:所述视频图像的坐标信息,所述视频图像的跨度信息,所述第二参数包括:所述分片的坐标信息。
  8. 根据权利要求7所述的方法,其中,根据所述第一参数和所述第二参数,计算所述分片在所述视频图像中的起始位置坐标参数,包括:
    通过以下公式计算所述起始位置坐标参数(SliceAddrX,SliceAddrY):
    SliceAddrX=(slice_address_x–pic_slice_address_info_x0+pic_slice_address_info_stride_width)%pic_slice_address_info_stride_width;
    SliceAddrY=(slice_address_y–pic_slice_address_info_y0+pic_slice_address_info_stride_height)%pic_slice_address_info_stride_height;
    其中,SliceAddrX为所述分片在所述视频图像中在水平方向的起始位置坐标,SliceAddrY为所述分片在所述视频图像中在垂直方向的起始位置坐标,slice_address_x为所述分片在水平方向的位置坐标,slice_address_y为所述分片在垂直方向的位置坐标,pic_slice_address_info_x0为所述视频图像中分片基准位置在水平方向的坐标,pic_slice_address_info_y0为所述视频图像中分片基准位置在垂直方向的坐标,pic_slice_address_info_stride_width为所述视频图像的水平方向跨度值,pic_slice_address_info_stride_height为所述视频图像的垂直方向跨度值。
  9. 根据权利要求7所述的方法,其中,根据所述第一参数和所述第二参数,计算所述分片在所述视频图像中的起始位置坐标参数,包括:
    通过以下公式计算所述起始位置坐标参数(SliceAddrX,SliceAddrY):
    SliceAddrX=(slice_address_x–pic_slice_address_info_x0+pic_slice_address_info_stride_width)%pic_slice_address_info_stride_width;
    SliceAddrY=slice_address_y–pic_slice_address_info_y0;
    其中,SliceAddrX为所述分片在所述视频图像中在水平方向的起始位置坐标,SliceAddrY为所述分片在所述视频图像中在垂直方向的起始位置坐标,slice_address_x为所述分片在水平方向的位置坐标,slice_address_y为所述分片在垂直方向的位置坐标,pic_slice_address_info_x0为所述视频图像中分片基准位置在水平方向的坐标,pic_slice_address_info_y0为所述视频图像中分片基准位置在垂直方向的坐标,pic_slice_address_info_stride_width为所述视频图像的水平方向跨度值。
  10. 一种视频码流的生成方法,包括:
    根据视频图像中首个分片的起始位置设置第一参数;
    将所述第一参数写入所述视频图像的图像层数据单元的码流。
  11. 根据权利要求10所述的方法,其中,在将所述第一参数写入所述视频图像的图像层数据单元的码流之后,所述方法还包括:
    根据视频图像中分片的起始位置坐标参数和所述第一参数计算第二参数,并将所述第二参数写入分片层头信息对应的码流,其中,所述第二参数用于确定分片在所述视频图像中的起始位置。
  12. 根据权利要求10所述的方法,其中,根据视频图像中首个分片的起始位置设置第一参数包括:
    确定子码流对应的图像在待抽取码流对应的图像中所在的图像区域,其中,所述子码流对应的图像为所述视频图像;
    确定所述视频图像中首个分片的起始位置,根据所述起始位置计算第一参数,其中,所述起始位置是所述视频图像中首个分片在所述待抽取码流对应的图像中的起始位置坐标。
  13. 一种视频码流的解码装置,包括:
    第一获取模块,设置为获取视频图像中分片的基准位置的第一参数;
    第二获取模块,设置为获取分片的第二参数,其中,所述第二参数用于确定所述分片在所述视频图像中的起始位置;
    计算模块,设置为根据所述第一参数和所述第二参数,计算所述分片在所述视频图像中的起始位置坐标参数。
  14. 一种视频码流的生成装置,包括:
    设置模块,设置为根据视频图像中首个分片的起始位置设置第一参数;
    生成模块,设置为将所述第一参数写入所述视频图像的图像层数据单元的码流。
  15. 一种存储介质,其中,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至12任一项中所述的方法。
  16. 一种电子装置,包括存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至12任一项中所述的方法。
PCT/CN2018/122052 2018-01-10 2018-12-19 视频码流的解码、生成方法及装置、存储介质、电子装置 WO2019137171A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020207020328A KR20200107975A (ko) 2018-01-10 2018-12-19 비디오 비트스트림의 복호화, 생성 방법 및 장치, 기억 매체, 전자기기
JP2020538715A JP7332605B2 (ja) 2018-01-10 2018-12-19 ビデオビットストリームの復号化、生成方法および装置、記憶媒体、電子機器
EP18900484.9A EP3739898A4 (en) 2018-01-10 2018-12-19 METHOD AND APPARATUS FOR DECODING A VIDEO BINARY STREAM, METHOD AND APPARATUS FOR GENERATING A VIDEO BITSTREAM, STORAGE MEDIA AND ELECTRONIC DEVICE
US16/957,760 US11146799B2 (en) 2018-01-10 2018-12-19 Method and apparatus for decoding video bitstream, method and apparatus for generating video bitstream, storage medium, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810023101.9 2018-01-10
CN201810023101.9A CN110022481B (zh) 2018-01-10 2018-01-10 视频码流的解码、生成方法及装置、存储介质、电子装置

Publications (1)

Publication Number Publication Date
WO2019137171A1 true WO2019137171A1 (zh) 2019-07-18

Family

ID=67188097

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/122052 WO2019137171A1 (zh) 2018-01-10 2018-12-19 视频码流的解码、生成方法及装置、存储介质、电子装置

Country Status (6)

Country Link
US (1) US11146799B2 (zh)
EP (1) EP3739898A4 (zh)
JP (1) JP7332605B2 (zh)
KR (1) KR20200107975A (zh)
CN (1) CN110022481B (zh)
WO (1) WO2019137171A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11689741B2 (en) 2019-12-30 2023-06-27 Tencent America LLC Method for parameter set reference constraints in coded video stream

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493604A (zh) * 2019-08-28 2019-11-22 成都索贝数码科技股份有限公司 一种基于gpu集群实现8k hevc实时编码的方法
US11716488B2 (en) * 2019-09-20 2023-08-01 Qualcomm Incorporated Subpicture signaling in high-level syntax for video coding
CN112473130A (zh) * 2020-11-26 2021-03-12 成都数字天空科技有限公司 场景渲染方法、装置、集群、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101313578A (zh) * 2005-09-26 2008-11-26 韩国电子通信研究院 用于在可伸缩视频编码中定义和重构感兴趣区域的方法和装置
CN102595119A (zh) * 2011-01-14 2012-07-18 华为技术有限公司 条带编码方法及装置、条带解码方法及装置
CN103780920A (zh) * 2012-10-17 2014-05-07 华为技术有限公司 处理视频码流的方法及装置
CN106233745A (zh) * 2013-07-29 2016-12-14 皇家Kpn公司 向客户端提供瓦片视频流
US20170346873A1 (en) * 2016-05-27 2017-11-30 Canon Kabushiki Kaisha Method, device, and computer program for encapsulating and parsing timed media data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4314315B1 (ja) * 2008-03-31 2009-08-12 株式会社東芝 情報処理装置および復号制御方法
WO2012042916A1 (ja) * 2010-09-30 2012-04-05 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
EP2472867A1 (en) 2010-12-30 2012-07-04 Advanced Digital Broadcast S.A. Coding and decoding of multiview videos
US10349077B2 (en) * 2011-11-21 2019-07-09 Canon Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium
CN103313048B (zh) * 2012-03-14 2017-12-22 中兴通讯股份有限公司 自适应控制算术编码上下文编码模式bin数量的方法
JP6214235B2 (ja) * 2012-07-02 2017-10-18 キヤノン株式会社 ファイル生成方法、ファイル生成装置、及びプログラム
WO2014087860A1 (ja) * 2012-12-06 2014-06-12 ソニー株式会社 復号装置、復号方法、およびプログラム
JP6363088B2 (ja) 2013-10-08 2018-07-25 シャープ株式会社 画像復号装置、画像復号方法、画像符号化装置、および画像符号化方法
CN105519119B (zh) * 2013-10-10 2019-12-17 夏普株式会社 图像解码装置
CN105323597B (zh) * 2014-08-04 2019-03-08 中国电信股份有限公司 Mp4文件播放方法、处理方法和装置以及播放系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101313578A (zh) * 2005-09-26 2008-11-26 韩国电子通信研究院 用于在可伸缩视频编码中定义和重构感兴趣区域的方法和装置
CN102595119A (zh) * 2011-01-14 2012-07-18 华为技术有限公司 条带编码方法及装置、条带解码方法及装置
CN103780920A (zh) * 2012-10-17 2014-05-07 华为技术有限公司 处理视频码流的方法及装置
CN106233745A (zh) * 2013-07-29 2016-12-14 皇家Kpn公司 向客户端提供瓦片视频流
US20170346873A1 (en) * 2016-05-27 2017-11-30 Canon Kabushiki Kaisha Method, device, and computer program for encapsulating and parsing timed media data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11689741B2 (en) 2019-12-30 2023-06-27 Tencent America LLC Method for parameter set reference constraints in coded video stream
US11706445B2 (en) 2019-12-30 2023-07-18 Tencent America LLC Method for parameter set reference constraints in coded video stream

Also Published As

Publication number Publication date
US20200351507A1 (en) 2020-11-05
CN110022481A (zh) 2019-07-16
CN110022481B (zh) 2023-05-02
JP7332605B2 (ja) 2023-08-23
US11146799B2 (en) 2021-10-12
JP2021510281A (ja) 2021-04-15
EP3739898A1 (en) 2020-11-18
EP3739898A4 (en) 2020-12-23
KR20200107975A (ko) 2020-09-16

Similar Documents

Publication Publication Date Title
EP3926959A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2019137171A1 (zh) 视频码流的解码、生成方法及装置、存储介质、电子装置
KR102133848B1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
CN107454468B (zh) 对沉浸式视频进行格式化的方法、装置和流
US20220159261A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
TW201840178A (zh) 適應性擾動立方體之地圖投影
KR102334628B1 (ko) 360도 비디오의 영역 정보 전달 방법 및 장치
WO2019137313A1 (zh) 一种媒体信息的处理方法及装置
US20200228837A1 (en) Media information processing method and apparatus
KR102336987B1 (ko) 360도 비디오의 영역 기반 처리 방법 및 장치
CN109963176B (zh) 视频码流处理方法、装置、网络设备和可读存储介质
JP6209026B2 (ja) 画像符号化装置及びその制御方法
US20210120250A1 (en) Apparatus and Methods for Encoding and Decoding a Video Signal
US11743502B2 (en) Compact description of region-wise packing information
US20230038928A1 (en) Picture partitioning-based coding method and device
US20200374558A1 (en) Image decoding method and device using rotation parameters in image coding system for 360-degree video
KR20220106732A (ko) 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
WO2020175908A1 (ko) 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치
CN113905240A (zh) 视频编码方法及装置、服务器、存储介质
US20220343457A1 (en) Rank information in immersive media processing
US20230086988A1 (en) Method and apparatus for processing multi-view video, device and storage medium
CN113766272B (zh) 一种沉浸媒体的数据处理方法
US20230419557A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
KR102498157B1 (ko) 영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램
WO2020175905A1 (ko) 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치

Legal Events

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

Ref document number: 18900484

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020538715

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018900484

Country of ref document: EP

Effective date: 20200810