WO2015096542A1 - 视频图像序号的编码、解码方法及装置、电子设备 - Google Patents

视频图像序号的编码、解码方法及装置、电子设备 Download PDF

Info

Publication number
WO2015096542A1
WO2015096542A1 PCT/CN2014/089231 CN2014089231W WO2015096542A1 WO 2015096542 A1 WO2015096542 A1 WO 2015096542A1 CN 2014089231 W CN2014089231 W CN 2014089231W WO 2015096542 A1 WO2015096542 A1 WO 2015096542A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
msb
poc
image
lsb
Prior art date
Application number
PCT/CN2014/089231
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 EP14875285.0A priority Critical patent/EP3089451A4/en
Priority to JP2016542905A priority patent/JP6511677B2/ja
Priority to KR1020167020427A priority patent/KR102266046B1/ko
Priority to US15/107,585 priority patent/US10362304B2/en
Publication of WO2015096542A1 publication Critical patent/WO2015096542A1/zh
Priority to US16/518,183 priority patent/US10827170B2/en

Links

Images

Classifications

    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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

Definitions

  • the present invention relates to the field of communications, and in particular, to a method and device for encoding and decoding a video image serial number, and an electronic device.
  • HEV Multi-view video coding extension is being developed based on H.265/High Efficiency Video Coding (HEVC) standard compatible Three-Dimensional Video Coding (DV) coding standard MV-HEVC Framework, 3D-HEVC (3D High Efficiency Video Coding) and Scalable Video Coding (SVC) adopt a unified high-level structure design.
  • This unified design structure is based on the concept of "multi-layer video coding", which combines the texture component and the depth component (Depth Component) of different viewpoints of MV-HEVC and 3D-HEVC, and the different scalable layers of scalable coding.
  • the abstraction is "Layer” and uses the layer representation sequence number (LayerId) to identify different viewpoints and scalable layers.
  • the published H.265/HEVC standard is referred to as the "H.265/HEVC Version 1" standard.
  • a video image obtained at the same time and its corresponding coded bits constitute an access unit (AU).
  • AU access unit
  • different layers of images can use different encoding methods.
  • the image of a certain layer may be an intra-random random access point (IRAP) image that can be used as a random point, and one or more other layers are ordinary inter-frames, Inter-layer predictive coding of images.
  • IRAP intra-random random access point
  • different layers may select respective IRAP image insertion strategies according to network transmission conditions, video content conversion conditions, and the like.
  • a higher frequency IRAP image insertion strategy may be adopted for the H.265/HEVC compatible base layer video image, and a lower frequency IRAP image insertion strategy may be employed for the enhancement layer video image.
  • a layer-wise access multi-layer video coding structure the random access performance of the multi-layer video coded stream can be guaranteed without a large rate increase.
  • BL base layer
  • BL base layer
  • EL Enhancement View or a Dependent View
  • IRAP images there are three types of IRAP images, namely, Instantaneous Decoding Refresh (IDR) images, Broken Link Access (BLA) images, and clearing. Random Random Access (CRA) image. All three images are encoded using Intra coding, and their decoding is independent of other images. The three image types differ in the operation of the Picture Order Count (POC) and the Decoded Picture Buffer (DPB).
  • POC Picture Order Count
  • DPB Decoded Picture Buffer
  • the POC is a sequence number used to identify the order in which images are played in H.265/HEVC Version 1.
  • the POC value of an image consists of two parts.
  • PicOrderCntVal PicOrderCntMsb + PicOrderCntLsb.
  • the PicOrderCntMsb is the most significant bit (MSB) of the image POC value
  • the PicOrderCntLsb is the Least Significant Bit (LSB) of the image POC value.
  • the value of PicOrderCntMsb is equal to the value of PicOrderCntMsb of the image in which the previous TemporalId of the current image is equal to 0 in the decoding order
  • the value of PicOrderCntLsb is equal to the value of the slice_pic_order_cnt_lsb field in the slice header information.
  • the number of bits of the slice_pic_order_cnt_lsb field is determined by log2_max_pic_order_cnt_lsb_minus4 in the Sequance Parameter Set (SPS), and the required number of bits is equal to log2_max_pic_order_cnt_lsb_minus4+4.
  • the value of PicOrderCntMsb will be set to 0, and the slice header information does not include the slice_pic_order_cnt_lsb field.
  • the value of PicOrderCntLsb defaults to 0. If the current image is a BLA image, the value of PicOrderCntMsb will be set to 0, and the slice header information includes a slice_pic_order_cnt_lsb field for determining the value of PicOrderCntLsb.
  • the POC is calculated using a usual method; if the current image is a CRA image and the value of the flag bit HandleCraAsBlaFlag is equal to 1, the method of calculating the CRA image using the BLA image method is used. POC value.
  • the slice header information of the enhancement layer (Enhancement Layer, abbreviated as EL) always includes the slice_pic_order_cnt_lsb field regardless of the image type.
  • the decoder determines the start and end positions of the AUs in the code stream by using the POC value, and all the images in the AU are required. All have the same POC value.
  • the AU may contain both IRAP images and non-IRAP images.
  • the IRAP image is an IDR image and a BLA image
  • the AU package The POC value with the image will be different. Therefore, it is necessary to design a POC Alignment function for a multi-layer video coding standard to satisfy that each image in an AU can have the same POC in a layer-wise structure.
  • a POC alignment method was proposed in the JCT-VC standard conference proposal JCTVC-N0244.
  • the method uses a reserved bit in the slice header information to add a poc_reset_flag field of length 1 bit.
  • the image POC value is first decoded according to the usual method, and then the POC value of the image in the same layer (including BL) in the DPB is reduced by the previously calculated POC value (ie, the POC translation operation), and finally The POC value of the image in which the slice is located is set to zero.
  • the main disadvantage of this method is that its BL code stream is not compatible with the H.265/HEVC Version 1 standard, that is, the decoder conforming to the H.265/HEVC Version 1 standard cannot be guaranteed to be decoded from the multi-layer video coded stream. BL code stream.
  • JCT-VC conference proposal JCTVC-O0140 and JCTVC-O0213 propose that based on JCTVC-N0244, when POC alignment is required, only the MSB in the POC is set to zero. Further, the delay operation option of POC alignment has been added to JCTVC-O0213 to cope with the application of fragment loss and frame rate with flag bits with reset POC values.
  • JCTVC-O0176 proposes to perform POC alignment directly on the IDR image instead of using the explicit slice header flag, and adds a reserved bit in the IDR image slice header of the BL code stream for calculating if the image is a CRA image.
  • the POC value at the time of the non-IDR image is used for the POC translation operation of storing the image in the EL layer DPB.
  • JCTVC-O0275 proposes a concept of layer POC for maintaining two different sets of POCs for EL layer images.
  • the Layer POC is a POC value obtained without POC alignment, and the value is used for a related operation of a decoding algorithm such as a Reference Picture Set (RPS); the other is a POC subjected to POC alignment processing, the POC Consistent with the POC value of the BL image in the same AU, the POC value is used to control the output and playback process of the image.
  • RPS Reference Picture Set
  • JCTVC-O0275 uses the information of the BL during the POC alignment process, and the triggering of the POC alignment process uses the variable flag bit maintained internally by the codec, and the value of the flag bit is related to the BL layer image type.
  • the POC translation operation on the image in the DPB will change the original POC value of the stored image in the DPB. In this way, if the fragment containing the POC alignment information is lost, the POC of the image in the DPB cannot be correctly translated, so that the subsequent image cannot obtain the correct reference image. Due to an error in translating the POC value, an image that has been correctly decoded and stored in the DPB will become an "error decoded image".
  • the EL image of the BL's IDR image does not contain the EL image
  • the EL will not be able to perform the POC translation operation required for POC alignment, which makes it possible to decode the same AU in each layer DPB.
  • the image will also have different POC values, making the decoder unable to perform the correct image output operation. Work. This problem also makes it impossible for the POC delay alignment operation in JCTVC-O0213 to correctly decode and output the multi-layer video coded stream.
  • both JCTVC-O0140 and JCTVC-O0213 need to use BL reserved bits, and the multi-layer video coding codec needs to be different from H.265/HEVC Version according to the value of the reserved bit when processing the BL code stream. 1 standard operation. This makes existing H.265/HEVC Version 1 compliant product designs not directly applicable to multi-layer video coding products.
  • the JCTVC-O0176 method adds bit information in the slice layer extension without changing any BL layer decoding process, the slice layer extension information is in bytes, which increases the extra bit overhead of the slice header.
  • JCTVC-O0176 requires that an EL image be included in the AU of the IDR image of the BL. This reduces the application flexibility of multi-layer video coding, especially for uncoordinated simulcast applications.
  • the present invention provides a coding and decoding of the video image serial number.
  • a decoding method of a video image sequence number POC including: acquiring a highest bit MSB parameter and a lowest bit LSB parameter used when performing an alignment operation on a POC; The MSB parameter and the LSB parameter determine the MSB value and the LSB value of the current image POC value; and calculate the current image POC value according to the MSB value and the LSB value.
  • determining the MSB value of the current image POC value according to the MSB parameter includes one of the following: Method 1: directly acquiring an MSB parameter carried by the code stream from the code stream, and acquiring according to the MSB parameter carried in the code stream The method of obtaining the value of the MSB used by the enhancement layer EL in the POC alignment process, and deriving the value of the MSB used by the EL according to the first indication information. Obtaining an MSB value of the current image POC value; and obtaining a method for indicating the MSB parameter And determining, by the second indication information set, the MSB value used by the EL, to obtain an MSB value of the current image POC value.
  • the reference POC value used in deriving the MSB value of the EL is determined by obtaining the reference POC value from the base layer BL or EL existing decoding information.
  • the MSB value used by the EL is derived according to the first indication information: extracting the MSB used by the EL from the reference POC value according to the LSB bit field length information used by the EL Value.
  • the value of the MSB used to extract the EL from the reference POC value includes one of the following: using the MSB value corresponding to the reference POC value as the MSB value used by the EL; or The lower bit position 0 of the binary value of the reference POC value is used as the value of the MSB used by the EL, wherein the low bit number of 0 is equal to the LSB bit field length value used by the EL; The binary value of the reference POC value is first subjected to a right shift operation and then a left shift operation, wherein the binary bit of the shift operation is equal to the LSB bit field length value used by the enhancement layer EL.
  • the obtaining the MSB value according to the MSB parameter carried in the code stream includes one of the following: obtaining the MSB value of the current image POC value according to the identifier information used to identify that the MSB is 0. Setting the MSB parameter value to the MSB value of the current image POC value; setting the product of the MSB parameter value to one of the following values as the MSB value of the current image POC value; : the product of the MSB minimum allowable positive integer value of the current image POC value, the maximum LSB of the current image POC value, and the value obtained by adding 1; shifting the binary value of the MSB parameter value to the left
  • the bit operation takes the MSB parameter value after the shift operation as the MSB value of the current image POC value, wherein the left shifted binary bit number is equal to the LSB bit field length value used by the EL.
  • determining, according to the second indication information set, the value of the MSB used by the EL including: setting an MSB value used by the EL to 0; or using a POC in the existing decoding information from the BL
  • the value after the low bit position 0 of the value is taken as the value of the MSB of the EL, wherein the low bit number of 0 is equal to the length of the LSB bit field used by the EL; or,
  • the sum of the value after the low bit position 0 of the POC value in the decoded information and the correction value carried by the EL slice header information is taken as the MSB value of the EL, wherein the low bit number of the zero is equal to The LSB bit field length value used by the EL.
  • the above method further comprises: obtaining a length of a bit field of the MSB parameter required to determine an MSB value used by the EL.
  • determining the LSB value of the current image POC value according to the LSB parameter comprises: directly acquiring the LSB parameter from the slice header information of the EL.
  • calculating the current image POC value according to the MSB value and the LSB value comprises: taking the sum of the MSB value and the LSB value as the current image POC value.
  • the method before acquiring the highest bit MSB parameter and the lowest bit LSB parameter used in performing the alignment operation on the POC, the method includes: acquiring a POC alignment operation flag bit carried in the EL slice header information, where the POC alignment operation is performed.
  • the flag bit indicates that the MSB parameter and the LSB parameter are triggered when an alignment operation is required.
  • a method for encoding a video image sequence number POC comprising: acquiring a POC value of a current image used when performing a POC alignment operation; The highest bit MSB value and the lowest bit LSB value of the POC value are mapped to the MSB parameter and the LSB parameter used when performing the POC alignment operation; the MSB parameter and the LSB parameter are written into the code stream.
  • acquiring the POC value of the current image used when performing the POC alignment operation comprises: if the base layer BL image located in the same access unit AU as the current enhancement layer EL image exists, setting the POC value to the BL image POC takes the value; otherwise, according to the frame rate information of the BL and the POC information of the encoded BL image, the POC value that should be used in the BL image when the BL image is included in the AU is determined, and the BL image is used.
  • the POC value that should be used is taken as the POC value.
  • the MSB value and the LSB value are determined by using the low bit in the binary value of the POC value as the LSB value, and the number of bits of the binary low bit used is equal to EL
  • the binary value of the POC value is first subjected to a right shift operation and a backward left shift operation, wherein the left shift and the right shift binary digits are equal to the length of the LSB bit field used by the EL, and The POC value after the shift operation is taken as the value of the MSB, and the difference between the POC value
  • mapping the MSB value of the POC value to the MSB parameter used when performing the POC alignment operation includes one of the following: Method 1, carrying the MSB value in the code stream, as MSB parameter; method 2, mapping the MSB value to the MSB used to indicate the EL used in the POC alignment process
  • the first indication information of the value is obtained.
  • the third method is to map the value of the MSB to a second indication information set for indicating an acquisition manner of the MSB parameter.
  • the carrying the value of the MSB in the code stream includes: setting the value of the MSB directly to the identifier information for identifying that the MSB is 0, and carrying the information about the EL image slice header; or The value of the MSB is directly carried in the EL image slice header information; or the value of the MSB value is carried in the EL image slice header information with respect to the value of one of the following values: the minimum allowable MSB of the current image POC value
  • the value of a positive integer, the maximum LSB of the current image POC value is a value obtained by adding 1 to the value; or the right value of the MSB value is subjected to a right shift operation, and the MSB after the shift operation is taken
  • the value is carried in the EL image slice header information, wherein the right shifted binary bit number is equal to the LSB bit field length value used by the EL.
  • the above method further comprises: carrying a length of a bit field of the MSB parameter in the code stream.
  • the first indication information is determined by: selecting a POC value of the EL decoded image, setting a low bit position of the binary value to 0, and taking the POC value after the low bit position is 0 as
  • the first candidate MSB takes a value, wherein the low bit number set to 0 is equal to the LSB bit field length value used by the EL; when the first candidate MSB value is equal to the MSB value used by the EL And setting the first indication information to the indication information used to indicate the value of the MSB used by the POC alignment operation by using the EL information; otherwise, selecting the POC value of the decoded image of the base layer BL, and displaying the low bit of the binary representation thereof The position is 0, and the POC value after the low bit position is 0 is taken as the value of the second candidate MSB, wherein the low bit number of 0 is equal to the length of the LSB bit field used by the EL; When the second candidate MSB value is equal to the MSB value used by the EL, the first indication information is
  • the first indication information is carried in the EL image slice header information.
  • the second indication information set is determined by using: indicating, in the second indication information set, indication information indicating that the MSB value is set to 0, and the indication information is It is carried in the EL image slice header information.
  • the second indication information set is determined by using one of the following methods: setting indication information indicating that the MSB value is not set to 0 is set in the second indication information set, and Point the finger The information is carried in the EL image slice header information; the POC value of the BL decoded image is selected, and the low bit position of the binary representation is 0, which is taken as the candidate MSB value, wherein the low bit number of 0 is set. Equivalent to the LSB bit field length value used by the EL; when the MSB value is equal to the candidate MSB value, the second indication information set is set to indicate that the MSB value is directly set to be derived according to the BL information.
  • the indicator information of the candidate MSB is carried in the EL image slice header information; otherwise, the second indication information set is set to indicate that the MSB value is not directly set as a candidate according to the BL information.
  • the indication information of the value of the MSB is calculated, and the difference between the value of the MSB and the value of the candidate MSB is calculated, and the indication information and the difference are carried in the EL image slice header information.
  • the LSB parameter is carried in the EL image slice header information.
  • Condition 1 The image of the BL is immediately decoded to decode the IDR image.
  • the EL in the AU where the IDR image is located has an image and a non-IDR image;
  • Condition 2 the image of the BL is a disconnected access BLA image, and the EL of the BLA image is in the AU and the non-BLA image;
  • Condition 3 According to the decoding order There is one BL image of IDR or BLA in one or more AUs before the current AU and the EL image is not included in the one or more AUs;
  • Condition 4 The image of the EL is an IDR image, and the AU of the IDR image is located The BL image exists and the non-IDR image exists, or the BL image does not exist in the AU where the image of the EL is located;
  • Condition 5 the image of the EL is a BLA image, and the image of the BL in the AU where the BLA image is located has an image and is not a BLA image, or There is no BL image in the AU where the BLA image is located.
  • a decoding apparatus for a video image sequence number POC comprising: an obtaining module configured to acquire a MSB parameter of a highest bit used when performing an alignment operation on a POC; a minimum bit LSB parameter; a determining module, configured to determine an MSB value and an LSB value of a POC value of the current image according to the MSB parameter and the LSB parameter; and a calculation module, configured to determine a value according to the MSB and the LSB The value calculation calculates the current image POC value.
  • the determining module is configured to determine the MSB by using one of the following methods: Method 1: directly acquiring an MSB parameter carried by the code stream from a code stream, and acquiring the MSB parameter according to the code stream
  • the first indication information is used to indicate the value of the MSB used by the enhancement layer EL during the POC alignment process, and the value of the MSB used by the EL is derived according to the first indication information.
  • the MSB of the current image POC value is a value; the method 3: acquiring a second indication information set for indicating an acquisition manner of the MSB parameter; determining, according to the second indication information set, an MSB value used by the EL Obtaining the MSB value of the current image POC value.
  • an encoding apparatus for a video image serial number POC comprising: an obtaining module configured to acquire a POC value of a current image used when performing a POC alignment operation; a module, configured to map the highest bit MSB value and the lowest bit LSB value of the POC value to an MSB parameter and an LSB parameter used when performing a POC alignment operation; and a write module configured to set the MSB The parameters and the LSB parameters are written to the code stream.
  • the acquiring module is configured to set the POC value to a POC value of the BL image when the base layer BL image located in the same access unit AU as the current enhancement layer EL image exists; otherwise, according to the BL
  • the frame rate information and the POC information of the encoded BL image determine the value of the POC that should be used in the BL image when the BL image is included in the AU, and the POC value to be used in the BL image is taken as The POC value.
  • an electronic device comprising: the decoding device of the video image serial number POC described above, and/or the encoding device of the video image serial number POC described above .
  • the highest bit MSB parameter and the lowest bit LSB parameter used when the POC performs the alignment operation are obtained according to the result obtained by parsing the multi-layer video encoded code stream, and the current image POC value is determined according to the MSB parameter and the LSB parameter.
  • the MSB value and the LSB value are used to calculate the POC value of the current image, and the related art can not guarantee the correct decoding and output of the multi-layer video coded stream in the multi-layer video encoding and decoding process.
  • the problem of increasing the overhead of network resources, etc. realizes that there is no need to add any bit field in the BL code stream for implementing POC alignment related operations, and does not need to perform POC translation operation on the stored image in the layer DPB.
  • FIG. 1 is a flowchart of a method of decoding a video image sequence number according to an embodiment of the present invention
  • FIG. 2 is a structural block diagram of a decoding apparatus for a video image serial number according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a method for encoding a video image sequence number according to an embodiment of the present invention
  • FIG. 4 is a structural block diagram of a decoding apparatus for a video image serial number according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a method of encoding a video image sequence number according to a preferred embodiment of the present invention
  • FIG. 6 is a flowchart of a method of decoding a video image sequence number according to a preferred embodiment of the present invention.
  • Figure 7 is a flowchart of decoding in accordance with a preferred embodiment 1 of the present invention.
  • Figure 8 is a code flow chart of a preferred embodiment 1 of the present invention.
  • Figure 9 is a flowchart of decoding in accordance with a preferred embodiment 2 of the present invention.
  • Figure 10 is a flowchart of encoding according to a preferred embodiment 2 of the present invention.
  • Figure 11 is a flowchart of decoding in accordance with a preferred embodiment 3 of the present invention.
  • Figure 12 is a code flow diagram of a preferred embodiment 3 in accordance with the present invention.
  • step S102 is a flow chart of a method of decoding a video image sequence number according to an embodiment of the present invention. As shown in FIG. 1, the method includes: step S102 to step S106,
  • the multi-layer video stream segment header information may be obtained: For example, it is obtained from the slice header information of the code stream.
  • S104 Determine the MSB value and the LSB value of the current image POC value according to the MSB parameter and the LSB parameter.
  • the MSB parameter and the LSB parameter may be respectively obtained according to the MSB parameter and the LSB parameter, and may also be based on the MSB parameter. Together with the LSB parameters, the MSB parameters, or LSB parameters, are determined.
  • the MSB parameter carried in the code stream is directly obtained from the code stream, and the MSB value is obtained according to the MSB parameter carried in the code stream.
  • the code stream may be a multi-layer video code stream or a system layer code stream. This can be obtained by one of the following methods:
  • MSB parameter value to the value of one of the following values as the MSB value of the current image POC value: the product of the MSB minimum allowable positive integer value of the current image POC value, and the maximum LSB allowable value of the current image POC value plus The value obtained after 1;
  • the first indication information used to indicate the value of the MSB used by the enhancement layer EL during the POC alignment process is obtained, and the value of the MSB used by the enhancement layer EL is derived according to the first indication information, to obtain the current image POC.
  • the reference POC value used in deriving the MSB value of the enhancement layer EL may be determined by obtaining the reference POC value from the BL or EL existing decoding information.
  • the MSB value used by the EL may be extracted from the reference POC value according to the LSB bit field length information used by the EL.
  • the value of the foregoing MSB can be obtained by using one of the following methods:
  • the low bit position 0 of the binary value of the reference POC value is used as the value of the MSB used by the EL, wherein the low bit number of 0 is equal to the LSB bit field length value used by the EL;
  • the binary value of the reference POC value is first subjected to a right shift operation and then a left shift operation, wherein the binary bit of the shift operation is equal to the LSB bit field length value used by the enhancement layer EL.
  • a second indication information set for indicating an acquisition manner of the foregoing MSB parameter is obtained.
  • the MSB value used by the EL is determined according to the second indication information set, and the MSB value of the current image POC value is obtained.
  • the determining the value of the MSB used by the EL according to the second indication information set may be implemented by one of the following processes:
  • the value after the low bit position 0 of the POC value in the BL existing decoding information is used as the MSB value of the EL, wherein the low bit number of 0 is equal to the LSB bit field used by the EL. Length value
  • the length of the bit field of the MSB parameter required to determine the value of the MSB used by the EL may also be acquired.
  • the length is determined by the specified field carried in the code stream.
  • S106 Calculate the current image POC value according to the MSB value and the LSB value. For example, the sum of the value of the MSB and the value of the LSB may be used as the value of the current image POC.
  • the LSB parameters can be directly obtained from the slice header information of the EL.
  • the POC alignment operation flag bit carried in the EL fragmentation header information may be acquired, where the MSB parameter and the LSB parameter are triggered when the POC alignment operation flag indicates that an alignment operation is required.
  • the highest bit MSB parameter and the lowest bit LSB parameter used when the POC performs the alignment operation are obtained by using the result obtained by parsing the multi-layer video encoded code stream, and the current image POC is determined according to the MSB parameter and the LSB parameter.
  • the value of the MSB value and the LSB value, and then the technical means for obtaining the current image POC value, in the multi-layer video encoding and decoding process can not guarantee the correct decoding and output of the multi-layer video encoded code stream and increase the network resources.
  • the problem of overhead and the like realizes that it is not necessary to add any bit field in the BL code stream for implementing the POC alignment related operation, and does not need to perform the POC translation operation on the stored image in the layer DPB.
  • FIG. 2 is a block diagram showing the structure of a decoding apparatus for a video image number according to an embodiment of the present invention. As shown in Figure 2, the device comprises:
  • the obtaining module 20 is configured to obtain a highest bit MSB parameter and a lowest bit LSB parameter used when performing an alignment operation on the POC;
  • the determining module 22 is connected to the obtaining module 20, and is configured to determine an MSB value and an LSB value of the current image POC value according to the foregoing MSB parameter and the LSB parameter;
  • the calculating module 24 is connected to the determining module 22, and is configured to calculate the current image POC value according to the MSB value and the LSB value.
  • the determining module 22 is configured to determine the MSB by using one of the following methods: Method 1: directly obtain an MSB parameter carried by the video code stream from the received video code stream, and according to the MSB carried by the video code stream The parameter is calculated to obtain the value of the MSB.
  • the method 2 is used to obtain the first indication information used to indicate the value of the MSB used by the enhancement layer EL during the POC alignment process, and derive the MSB used by the enhancement layer EL according to the first indication information.
  • the value of the MSB value of the POC value of the current image is obtained, and the second indication information set for indicating the acquisition mode of the MSB parameter is obtained, and the value of the MSB used by the EL is determined according to the second indication information.
  • the MSB value of the current image POC value is obtained.
  • FIG. 3 is a flowchart of a method for encoding a video image sequence number according to an embodiment of the present invention. The method includes: step S302 to step S306,
  • S302 Acquire a POC value of a current image used when performing a POC alignment operation. This can be achieved by the following process:
  • the POC value is set to the POC value of the BL image; otherwise, according to the frame rate information of the BL and the POC of the encoded BL image.
  • the information is used to determine the POC value to be used in the BL image when the BL image is included in the AU, and the POC value to be used in the BL image is used as the POC value.
  • S304 Map the MSB value and the LSB value of the POC value to the MSB parameter and the LSB parameter used when performing the POC alignment operation.
  • the LSB parameter can be carried in the EL image slice header information.
  • the value of the MSB and the value of the LSB can be determined by the following methods:
  • the low bit in the binary value of the POC value is used as the LSB value, and the number of bits of the binary low bit used is equal to the length of the LSB bit field used by the EL; the difference between the POC value and the LSB value is used.
  • the value of the above MSB or,
  • the low bit position 0 in the binary representation of the POC value is used as the value of the MSB used by the EL, wherein the low bit number set to 0 is equal to the LSB bit field length value used by the EL;
  • the difference between the POC value and the value of the MSB is used as the value of the LSB; or
  • the binary value of the POC value is first subjected to a right shift operation and a backward left shift operation, wherein the binary digits of the left shift and the right shift are equal to the LSB bit field length value used by the EL, and the shift operation is performed.
  • the subsequent POC value is used as the value of the MSB, and the difference between the POC value before the shift operation and the value of the MSB is taken as the LSB value.
  • Mapping the MSB value of the above POC value to the MSB parameter used in performing the POC alignment operation can be implemented in the following manner:
  • the value of the MSB is carried in the foregoing code stream as the MSB parameter; for example, the value of the MSB is directly set to be used to identify that the identifier information of the MSB value is 0 is carried in the EL image slice header information; or The value of the MSB is directly carried in the EL image slice header information; or the value of the MSB value is carried in the EL image slice header information with respect to the value of one of the following values: the MSB minimum allowable positive of the current image POC value The integer value, the maximum LSB of the current image POC value, the value obtained by adding 1 to the value; or, the MSB value is binary valued to perform a right shift operation, and the MSB value after the shift operation is carried in the EL In the image slice header information, the bit number of the right shift is equal to the LSB bit field length value used by the EL.
  • the MSB value is mapped to the first indication information used to indicate the value of the MSB used by the EL in the POC alignment process; the first indication information is carried in the EL image slice header information.
  • the MSB value is mapped to a second indication information set for indicating an acquisition manner of the foregoing MSB parameter.
  • the foregoing second indication information set is determined by using: in the second indication information set, indication information indicating that the MSB value is set to 0 is set, and the The indication information is carried in the EL image slice header information.
  • the second indication information set is determined by using one of the following methods:
  • Setting indication information indicating that the MSB value is not set to 0 is set in the second indication information set, and the indication information is carried in the EL image slice header information;
  • the POC value of the BL decoded image is selected, and the low bit position of the binary representation is 0, which is taken as the candidate MSB value, wherein the low bit number of 0 is equal to the length of the LSB bit field used by the EL.
  • the indication information for indicating that the MSB value is directly set to the value of the candidate MSB according to the BL information is set in the second indication information set, and the indication information is carried.
  • the indication information indicating that the MSB value is not directly set to the value of the candidate MSB derived according to the BL information is set in the second indication information set, and the MSB value is calculated and the foregoing
  • the difference between the candidate MSB values, and the indication information and the difference value are carried in the EL image slice header information.
  • step S302 it may be determined that the POC alignment operation needs to be performed when one of the following conditions is met:
  • Condition 1 The image of the BL immediately refreshes the IDR image for decoding, and the EL in the AU where the IDR image is located has an image and a non-IDR image;
  • Condition 2 the image of the BL is a disconnected access BLA image, and the EL of the AU in the above BLA image has an image and a non-BLA image;
  • Condition 3 in the decoding order, there is one BL image of IDR or BLA in one or more AUs before the current AU and the EL image is not included in the one or more AUs;
  • Condition 4 the image of the EL is an IDR image, the BL image of the AU in which the IDR image is located exists and the non-IDR image exists, or the BL image does not exist in the AU where the image of the EL is located;
  • the image of the EL is a BLA image
  • the BL in the AU where the BLA image is located has an image and is not a BLA image, or the BL image does not exist in the AU where the BLA image is located.
  • the length of the bit field of the foregoing MSB parameter may also be carried in the code stream.
  • FIG. 4 is a block diagram showing the structure of a decoding apparatus for a video image number according to an embodiment of the present invention. As shown in Figure 4, the device comprises:
  • the obtaining module 40 is configured to acquire a POC value of a current image used when performing a POC alignment operation
  • the mapping module 42 is connected to the obtaining module 40, and is configured to map the highest bit MSB value and the lowest bit LSB value of the POC value to the MSB parameter and the LSB parameter used when performing the POC alignment operation;
  • Write module 44 coupled to mapping module 42, is configured to write the MSB parameters and the LSB parameters to the code stream.
  • the obtaining module 40 is configured to set the POC value to a POC value of the BL image when the BL image located at the same AU as the current EL image exists; otherwise, according to the frame rate information of the BL and the encoded
  • the POC information of the BL image determines the POC value that the BL image should use when the BL image is included in the AU, and takes the value of the POC that the BL image should use as the POC value.
  • an electronic device comprising: the decoding device of any of the above, and/or the encoding device of any of the above.
  • the encoder determines whether it is necessary to use a video image sequence alignment operation, and if the operation is required, the encoder obtains video image alignment from the enhancement layer and/or the corresponding base layer.
  • the value of the high and low bits the encoder sets the value of the syntax element associated with the high and low bit values and writes it to the code stream;
  • the decoder uses the video image sequence alignment operation, the slave code
  • the information obtained by deriving the values of the high and low bits is obtained in the stream, and the decoder obtains the values of the high and low bits required for the alignment of the video image from the enhancement layer and/or the corresponding base layer, and calculates the current image.
  • the value of the video image serial number the encoder determines whether it is necessary to use a video image sequence alignment operation, and if the operation is required, the encoder obtains video image alignment from the enhancement layer and/or the corresponding base layer.
  • S502 The encoder determines whether it is necessary to use a video image sequence alignment operation
  • the encoder obtains the values of the high bit and the low bit required for the alignment of the video image from the enhancement layer and/or the corresponding base layer.
  • S506 The encoder sets the value of the syntax element related to the high and low bit values and writes the code stream.
  • the decoder obtains information required for deriving the values of the high and low bits from the code stream when using the video image sequence alignment operation.
  • the decoder obtains values of high bits and low bits required for video image alignment from the enhancement layer and/or the corresponding base layer.
  • the decoder calculates a value of a video image sequence number of the current image.
  • Figure 7 is a flowchart of decoding in accordance with a preferred embodiment 1 of the present invention. As shown in Figure 7, the process includes:
  • Step S702 the decoder parses the value of the poc_alignment_flag from the code stream.
  • the decoder uses the decoding method corresponding to u(1) to parse the bit field corresponding to the poc_alignment_flag from the code stream, and obtains the value of the poc_alignment_flag.
  • step S704 the decoder determines whether the value of the poc_alignment_flag is 1. If yes, go to step S706; otherwise, go to step S720.
  • step S706 the decoder parses the value of set_poc_msb_to_zero_flag.
  • the decoder parses the bit field corresponding to set_poc_msb_to_zero_flag from the code stream by using the decoding method corresponding to u(1), and obtains the value of set_poc_msb_to_zero_flag.
  • step S708 the decoder determines whether the value of set_poc_msb_to_zero is 1. If yes, go to step S710; otherwise, go to step S712.
  • step S710 the decoder sets the value of the variable PicOrderCntMsb to 0. Step S716 is performed.
  • step S712 the decoder parses the value of bit_length_aligned_poc_msb_minus1.
  • the decoder parses the bit field corresponding to bit_length_aligned_poc_msb_minus1 from the code stream by using a decoding method corresponding to ue(v), and obtains a value of bit_length_aligned_poc_msb_minus1.
  • step S714 the decoder parses the value of the aligned_poc_msb_value.
  • the decoder uses the decoding method corresponding to u(v) to parse the bit field corresponding to the aligned_poc_msb_value from the code stream, and obtains the value of the aligned_poc_msb_value.
  • the decoder sets the value of the variable PicOrderCntMsb to the value of (aligned_poc_msb_value ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)).
  • the operator " ⁇ " is the operator that shifts the binary data to the left as defined in the H.265/HEVCVersion 1 standard. After shifting, the low bit is padded with 0; log2_max_pic_order_cnt_lsb_minus4 is the bit field in the SPS, from SPS used by EL.
  • the decoder sets the value of the variable PicOrderCntMsb to the product of the value of aligned_poc_msb_value and the value of the variable MaxPicOrderCntLsb.
  • the value of the variable MaxPicOrderCntLsb is calculated by log2_max_pic_order_cnt_lsb_minus4 using the method given in the H.265/HEVC Version 1 standard. The value is equal to the minimum allowable positive integer value of the MSB of the POC, or equal to the maximum LSB allowable value of the POC plus one.
  • step S716 the decoder sets the value of the variable PicOrderCntLsb.
  • the decoder parses the value of slice_pic_order_cnt_lsb.
  • the decoder sets the value of the variable PicOrderCntLsb to the value of slice_pic_order_cnt_lsb.
  • step S720 the decoder determines the value PicOrderCntVal of the current image POC using the H.265/HEVC Version 1 standard. Step S722 is performed.
  • step S722 the decoder calculates the end of the POC process.
  • the foregoing code stream includes: information identifying whether to use the POC alignment operation; and information identifying the MSB acquisition method during the POC alignment operation, including: identifying whether the POC is to be used.
  • the information of the MSB value set to 0, the information identifying the bit length of the MSB information of the POC in the code stream, and the information identifying the value of the MSB in the POC alignment operation.
  • the corresponding code stream carries a bit field that identifies whether to use a bit field of the POC alignment operation, and identifies a bit field of the MSB acquisition method during the POC alignment operation, including: identifying whether the POB is the MSB.
  • the semantics of the fields in Table 1 are as follows.
  • the slice_pic_order_cnt_lsb field is a bit field existing in the existing method.
  • a value of poc_alignment_flag indicates that the decoder needs to use the POC alignment operation during the decoding process; conversely, a value equal to 0 indicates that the decoder may or may not use the POC alignment operation during the decoding process.
  • the value of the element defaults to 0.
  • the codec method of this element uses the codec method corresponding to u(1).
  • set_poc_msb_to_zero_flag When set_poc_msb_to_zero_flag is equal to 1, it means that the decoder sets the value of PicOrderCntMsb to 0 in the process of calculating the current image POC; otherwise, when the value is equal to 1, it means that the decoder will calculate the value of PicOrderCntMsb in the process of calculating the current image POC.
  • the codec method of this element uses the codec method corresponding to u(1).
  • Bit_length_aligned_poc_msb_minus1 plus 1 indicates the bit length used by the element aligned_poc_msb_value in the code stream.
  • the codec method of this element uses the codec method corresponding to ue(v).
  • Aligned_poc_msb_value indicates the value of PicOrderCntMsb when the value of set_poc_msb_to_zero_flag is equal to zero.
  • the codec method of this element uses the codec method corresponding to u(v), and the number of coded bits used is equal to (bit_length_aligned_poc_msb_minus1+1).
  • FIG 8 is a code flow diagram of a preferred embodiment 1 in accordance with the present invention. As shown in Figure 8, the process includes:
  • step S802 the encoder determines whether it is necessary to use the POC alignment operation.
  • the encoder initializes the value of the variable poc_alignment_flag to zero.
  • the encoder determines whether a POC alignment operation is required based on the multi-layer video coding prediction structure. For an EL, the encoder sets the value of the EL layer related variable poc_alignment_flag to 1 when one of the following conditions is true:
  • BL is an IDR image, which exists with the EL image in the AU and is not an IDR image.
  • BL is a BLA image, which exists with the EL image in the AU and is not a BLA image.
  • Condition 3 In the decoding order, there is one BL image of IDR or BLA in the previous one or more AUs, and the EL images are not included in these AUs.
  • the EL is an IDR image, exists as a BL image in the AU and is not an IDR image, or does not exist in the same AU BL image.
  • EL is a BLA image, exists as a BL image in the AU and is not a BLA image, or does not exist in the same AU BL image.
  • the encoder optimization module determines that a POC alignment operation is required, the value of poc_alignment_flag is set to 1.
  • the encoder writes the value of poc_alignment_flag to the code stream using the encoding method corresponding to u(1).
  • step S804 the encoder determines whether the value of the poc_alignment_flag is equal to 1. If yes, go to step S806; otherwise, go to step S816.
  • Step S806 the encoder determines the values of the MSB and the LSB of the POC used in the POC alignment operation.
  • the encoder can determine whether it is necessary to perform an MSB clear operation of the POC according to the multi-layer video coding prediction structure. When one of the following conditions is true, the encoder can directly set the value of PicOrderCntMsb to 0.
  • BL is an IDR image, which exists with the EL image in the AU and is not an IDR image.
  • BL is a BLA image, which exists with the EL image in the AU and is not a BLA image.
  • Condition 3 In the decoding order, there is one BL image of IDR or BLA in the previous one or more AUs, and the EL images are not included in these AUs.
  • the encoder does the following:
  • the encoder determines the POC value of the AU: if the BL image located at the same AU as the EL image exists, the encoder sets the value of PicOrderCntMsb to the value of the BL image POC; conversely, if the BL image is located at the same AU as the EL image If the image does not exist, the encoder determines, according to the frame rate information of the BL and the POC information of the previously encoded BL image, the POC value to be used when the BL image is included in the AU, and assigns the value to the POC value.
  • the variable PicOrderCntMsb The variable PicOrderCntMsb.
  • the encoder assigns the value of (PicOrderCntMsb&(MaxPicOrderCntLsb–1)) to the variable PicOrderCntLsb.
  • the operator "&" is an operator defined in the H.265/HEVC Version 1 standard; the value of MaxPicOrderCntLsb is equal to (1 ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)).
  • the value of MaxPicOrderCntLsb is equal to the minimum allowable positive integer value of the MSB of the POC, or equal to the maximum LSB allowable value of the POC plus one.
  • log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL.
  • the encoder determines the value of PicOrderCntMsb using the following method:
  • the encoder calculates the value of (PicOrderCntMsb–PicOrderCntLsb) and reassigns the value to the variable PicOrderCntMsb.
  • the encoder sets the value of the variable set_poc_msb_to_zero to 1; otherwise, the encoder sets the value of the variable set_poc_msb_to_zero to 0.
  • the encoder writes the value of set_poc_msb_to_zero to the code stream using the encoding method corresponding to u(1).
  • step S808 the encoder determines whether the value of set_poc_msb_to_zero is equal to 0. If yes, go to step S810; otherwise, go to step S812.
  • Step S810 the encoder writes the MSB information used by the POC alignment process into the code stream.
  • the encoder calculates the value of (PicOrderCntMsb>>(log2_max_pic_order_cnt_lsb_minus4+4)) and re-copyes the value to the variable PicOrderCntMsb.
  • log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL.
  • the encoder calculates (Ceil(Log2(PicOrderCntMsb+1))–1) and assigns it to the variable bit_length_aligned_poc_msb_minus1.
  • Ceil(x) and Log2(x) are mathematical operations defined in the H.265/HEVC Version1 standard.
  • the encoder writes the value of bit_length_aligned_poc_msb_minus1 into the code stream using the encoding method corresponding to ue(v).
  • the encoder assigns the value of PicOrderCntMsb to the variable aligned_poc_msb_value, and writes the value of aligned_poc_msb_value into the code stream using the encoding method corresponding to u(v), and the number of encoded bits used is equal to (bit_length_aligned_poc_msb_minus1+1).
  • Step S812 is performed.
  • step S812 the encoder writes the LSB information used by the POC alignment into the code stream.
  • the encoder assigns the value of PicOrderCntLsb to the variable slice_poc_order_cnt_lsb, and writes the value of slice_poc_order_cnt_lsb into the code stream using the encoding method corresponding to u(v), and the number of coded bits used is set to (log2_max_pic_order_cnt_lsb_minus4+4). Among them, log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL.
  • Step S816 is performed.
  • step S814 the encoder determines the value of slice_poc_order_cnt_lsb using an existing method and writes it into the code stream.
  • step S816 the encoder has completed writing the POC related information into the code stream.
  • Figure 9 is a flowchart of decoding in accordance with a preferred embodiment 2 of the present invention. As shown in Figure 9, the process includes:
  • Step S902 the decoder parses the value of the poc_alignment_flag from the code stream.
  • the decoder uses the decoding method corresponding to u(1) to parse the bit field corresponding to the poc_alignment_flag from the code stream, and obtains the value of the poc_alignment_flag.
  • step S904 the decoder determines whether the value of the poc_alignment_flag is equal to 1. If yes, go to step S906; otherwise, go to step S918.
  • Step S906 the decoder parses the value of the inherit_msb_from_base_layer_flag from the code stream.
  • the decoder parses the bit field corresponding to the inherit_msb_from_base_layer_flag from the code stream by using the decoding method corresponding to u(1), and obtains the value of inherit_msb_from_base_layer_flag.
  • step S908 the decoder determines whether the value of inherit_msb_from_base_layer_flag is equal to 1. If yes, go to step S910; otherwise, go to step S912.
  • Step S910 the decoder derives the value of the MSB used in the POC alignment process according to the decoded BL information.
  • the decoder searches for the most recent TemporalId value equal to 0 in the decoded BL layer image, and is not a RADL (Random Access Decodable Leading) image or a RASL (Random Access Skipped Leading) image or a time domain sub-layer non-reference image.
  • the POC value of the image is assigned to the variable PicOrderCntMsb.
  • the decoder computes the value of (PicOrderCntMsb - (PicOrderCntMsb&(MaxPicOrderCntLsb-1))) and reassigns the value to the variable PicOrderCntMsb.
  • the operator "&" is an operator defined in the H.265/HEVC Version 1 standard; the value of MaxPicOrderCntLsb is equal to (1 ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)).
  • the value of MaxPicOrderCntLsb is equal to the minimum allowable positive integer value of the MSB of the POC, or equal to the maximum LSB allowable value of the POC plus one.
  • log2_max_pic_order_cnt_lsb_minus4 is derived from the SPS used by the BL.
  • the decoder calculates ((PicOrderCntMsb>>(log2_max_pic_order_cnt_lsb_minus4+4)) ⁇ (log2_max_pic_order_cnt_lsb_minus4+4))) and re-assigns the value to the variable PicOrderCntMsb.
  • log2_max_pic_order_cnt_lsb_minus4 is derived from the SPS used by the EL
  • the operators ">>” and " ⁇ " are bit shift operators defined in the H.265/HEVC Version 1 standard.
  • Step S914 is performed.
  • Step S912 the decoder derives the value of the MSB used in the POC alignment process according to the image type of the current image and the decoded same layer information.
  • Step S914 is performed.
  • the step S912 can include the following processing steps:
  • Step S912-1 The decoder determines whether all of the following conditions are true:
  • the image type of the current EL image is an IDR image, or a BLA image, or a CRA image;
  • Condition 2 The value of the flag bit variable NoRaslOutputFlag maintained by the current decoder is equal to 1.
  • step S912-2 If all of the above conditions are true, the decoder performs step S912-2; otherwise, step S912-4 is performed.
  • Step S912-2 The decoder searches for the latest TemporalId value equal to 0 in the decoded same layer image, and is not a RADL image, is not a RASL image, is not a time domain sublayer non-reference image, and takes the POC of the image.
  • the value is assigned to the variable PicOrderCntMsb.
  • Step S912-3 The decoder calculates the value of (PicOrderCntMsb - (PicOrderCntMsb&(MaxPicOrderCntLsb-1))) and reassigns the value to the variable PicOrderCntMsb.
  • the operator "&" is an operator defined in the H.265/HEVC Version 1 standard; the value of MaxPicOrderCntLsb is equal to (1 ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)).
  • MaxPicOrderCntLsb takes a value equal to the minimum allowable positive integer value of the MSB of the POC, or equal to the maximum LSB allowable value of the POC plus one.
  • log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL.
  • step S912-4 when the determination conditions in step S912-1 are not all satisfied, the current EL image is a normal inter prediction encoded image, or a CRA image but the corresponding value of NoRaslOutputFlag is equal to zero.
  • the decoder performs the following operations:
  • the decoder sets the value of PicOrderCntMsb to 0.
  • step S914 the decoder sets the value of the variable PicOrderCntLsb.
  • the decoder parses the value of slice_pic_order_cnt_lsb.
  • the decoder sets the value of the variable PicOrderCntLsb to the value of slice_pic_order_cnt_lsb.
  • Step S916 when the value of poc_alignment_flag is equal to 1, the decoder sets the value of the POC value variable PicOrderCntVal of the current image to the sum of PicOrderCntMsb and PicOrderCntLsb. Step S920 is performed.
  • step S918 the decoder determines the value PicOrderCntVal of the current image POC using the method of the H.265/HEVC Version 1 standard. Step S920 is performed.
  • step S920 the decoder calculates the end of the POC process.
  • the foregoing code stream includes: information identifying whether to use the POC alignment operation; and information identifying the MSB acquisition mode in the POC alignment operation.
  • the corresponding code stream carries the following bits Field: A bit field that identifies whether to use the POC alignment operation; a bit field that identifies the MSB acquisition method in the POC alignment operation.
  • the semantics of the fields in Table 2 are as follows.
  • the slice_pic_order_cnt_lsb field is a bit field existing in the existing method.
  • a value of poc_alignment_flag indicates that the decoder needs to use the POC alignment operation during the decoding process; conversely, a value equal to 0 indicates that the decoder may or may not use the POC alignment operation during the decoding process.
  • the value of the element defaults to 0.
  • the codec method of this element uses the codec method corresponding to u(1).
  • inherit_msb_from_base_layer_flag When the value of inherit_msb_from_base_layer_flag is equal to 1, it means that the decoder uses the BL decoded information in the decoding process to derive the value of the MSB used in the POC alignment process; otherwise, when the value is equal to 0, the decoder does not use the BL decoded during the decoding process.
  • the information derives the value of the MSB that is required during the POC alignment process.
  • the codec method of the element uses the codec method corresponding to u(1). It should be noted that the inherit_msb_from_base_layer_flag is equivalent to the "first indication information" in the above embodiment.
  • Figure 10 is a code flow diagram of a preferred embodiment 2 in accordance with the present invention. As shown in Figure 10, the process includes:
  • Step S1002 is exactly the same as step S802.
  • step S1004 the encoder determines whether the value of the poc_alignment_flag is equal to 1. If yes, go to step S1006; otherwise, go to step S1010.
  • Step S1006 the encoder determines a method for deriving the MSB value during the POC alignment operation, and determines the value of the inherit_msb_from_base_layer_flag.
  • the encoder sets the value of inherit_msb_from_base_layer_flag to 1, whereas the encoder sets the value of inherit_msb_from_base_layer_flag to 0.
  • the encoder may determine the inherit_msb_from_base_layer_flag by the encoder optimization module according to the predictive coding structure between the BL and the EL, the frame rate of different layers, the error-resistance performance optimization, and the random access. The value.
  • the encoder writes the value of inherit_msb_from_base_layer_flag into the code stream using the encoding method corresponding to u(1).
  • step S1008 the encoder determines the value of the LSB of the POC.
  • the encoder does the following:
  • the encoder determines the POC value of the AU: if the BL image located at the same AU as the EL image exists, the encoder sets the value of PicOrderCntVal to the value of the BL image POC; conversely, if the BL image is located at the same AU as the EL image If the image does not exist, the encoder determines, according to the frame rate information of the BL and the POC information of the previously encoded BL image, the POC value to be used when the BL image is included in the AU, and assigns the value to the POC value.
  • the variable PicOrderCntVal The variable PicOrderCntVal.
  • the encoder assigns the value of (PicOrderCntVal&(MaxPicOrderCntLsb–1)) to the variable PicOrderCntLsb.
  • the operator "&" is an operator defined in the H.265/HEVC Version 1 standard; the value of MaxPicOrderCntLsb is equal to (1 ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)). In fact, the value of MaxPicOrderCntLsb is equal to the minimum allowable positive integer value of the MSB of the POC, or equal to the maximum LSB allowable value of the POC plus one. Log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL.
  • the encoder assigns the value of PicOrderCntLsb to the variable slice_poc_order_cnt_lsb, and writes the value of slice_poc_order_cnt_lsb into the code stream using the encoding method corresponding to u(v), and the number of coded bits used is set to (log2_max_pic_order_cnt_lsb_minus4+4). Log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL.
  • step S1010 the encoder determines the value of slice_poc_order_cnt_lsb using an existing method and writes it into the code stream. Step S1012 is performed.
  • step S1012 the encoder has completed writing the POC related information into the code stream.
  • Figure 11 is a flowchart of decoding in accordance with a preferred embodiment 3 of the present invention. As shown in Figure 11, the process includes:
  • step S1102 the decoder parses the value of the poc_alignment_flag from the code stream.
  • the decoder uses the decoding method corresponding to u(1) to parse the bit field corresponding to the poc_alignment_flag from the code stream, and obtains the value of the poc_alignment_flag.
  • step S1104 the decoder determines whether the value of the poc_alignment_flag is 1. If yes, go to step S1106; otherwise, go to step S1120.
  • step S1106 the decoder parses the value of clear_poc_msb_flag.
  • the decoder uses the decoding method corresponding to u(1) to parse the bit field corresponding to clear_poc_msb_flag from the code stream, and obtains the value of clear_poc_msb_flag.
  • step S1108 the decoder determines whether the value of clear_poc_msb_flag is 1. If yes, go to step S1110; otherwise, go to step S1112.
  • step S1110 the decoder sets the value of the variable PicOrderCntMsb to 0. Step S1116 is performed.
  • step S1112 the decoder derives the value of PicOrderCntMsb.
  • Step S1116 is performed. This step can include the following processing steps:
  • step S1112-1 the decoder parses the value of inherit_msb_from_base_layer_flag.
  • the decoder parses the bit field corresponding to the inherit_msb_from_base_layer_flag from the code stream by using the decoding method corresponding to u(1), and obtains the value of inherit_msb_from_base_layer_flag.
  • step S1112-2 the decoder determines whether the value of inherit_msb_from_base_layer_flag is equal to 1. If yes, go to step S1118; otherwise, go to step S1112-5.
  • step S1112-3 the decoder parses the value of the poc_msb_diff_from_base_layer.
  • the decoder parses the bit field corresponding to the poc_msb_diff_from_base_layer from the code stream by using the decoding method corresponding to se(v), and obtains the value of the poc_msb_diff_from_base_layer.
  • step S1112-4 the decoder uses the BL information to derive the value of PicOrderCntMsb. Go to step S1112-6.
  • the decoder searches for the most recent TemporalId value equal to 0 in the decoded BL layer image in decoding order, and is not a RADL (Random Access Decodable Leading) image or RASL (Random Access) Skipped Leading) An image or time domain sub-layer non-reference image that assigns the POC value of the image to the variable BaseLayerPicOrderCnt.
  • the decoder calculates the value of (BaseLayerPicOrderCnt–(BaseLayerPicOrderCnt&(MaxPicOrderCntLsb–1))) and reassigns the value to the variable BaseLayerPicOrderCntMsb.
  • the operator "&" is an operator defined in the H.265/HEVC Version 1 standard; the value of MaxPicOrderCntLsb is equal to (1 ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)).
  • MaxPicOrderCntLsb is equal to the minimum allowable positive integer value of the MSB of the POC, or equal to the maximum LSB allowable value of the POC plus one.
  • log2_max_pic_order_cnt_lsb_minus4 is derived from the SPS used by the BL.
  • the decoder calculates ((poc_msb_diff_from_base_layer+(BaseLayerPicOrderCntMsb>>(log2_max_pic_order_cnt_lsb_minus4+4)))), and assigns it to the variable PicOrderCntMsb.
  • log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL, and the operators ">>” and " ⁇ " are the bit left shift and right shift operators defined in the H.265/HEVC Version 1 standard, respectively.
  • step S1112-5 the decoder uses the EL information to derive the value of PicOrderCntMsb. Go to step S1112-6.
  • the decoder finds the last TemporalId value equal to 0 in the decoded same layer image, and is not a RADL image, is not a RASL image, is not a time domain sub-layer non-reference image, and assigns the POC value of the image to the variable PicOrderCntMsb .
  • step S1112-6 the decoder deduces the end of the PicOrderCntMsb value selection process.
  • step S1114 the decoder sets the value of the variable PicOrderCntLsb.
  • the decoder parses the value of slice_pic_order_cnt_lsb.
  • the decoder sets the value of the variable PicOrderCntLsb to the value of slice_pic_order_cnt_lsb.
  • Step S1116 when the value of poc_alignment_flag is equal to 1, the decoder sets the value of the POC value variable PicOrderCntVal of the current image to the sum of PicOrderCntMsb and PicOrderCntLsb. Step S1132 is performed.
  • step S1118 the decoder determines the value PicOrderCntVal of the current image POC using the H.265/HEVC Version 1 standard. Step S1120 is performed.
  • step S1120 the decoder calculates the end of the POC process.
  • the code stream shown in Table 3 includes: information identifying whether to use the POC alignment operation; and information identifying the MSB acquisition mode in the POC alignment operation.
  • the corresponding code stream carries a bit field that identifies whether to use a bit field of the POC alignment operation, and a bit field that identifies the MSB acquisition method in the POC alignment operation.
  • the semantics of the fields in Table 3 are as follows.
  • the slice_pic_order_cnt_lsb field is a bit field existing in the existing method.
  • a value of poc_alignment_flag indicates that the decoder needs to use the POC alignment operation during the decoding process; conversely, a value equal to 0 indicates that the decoder may or may not use the POC alignment operation during the decoding process.
  • the value of the element defaults to 0.
  • the codec method of this element uses the codec method corresponding to u(1).
  • inherit_msb_from_base_layer_flag When the value of inherit_msb_from_base_layer_flag is equal to 1, it means that the decoder uses the BL decoded information in the decoding process to derive the value of the MSB used in the POC alignment process; otherwise, when the value is equal to 0, the decoder does not use the BL decoded during the decoding process.
  • the information derives the value of the MSB that is required during the POC alignment process.
  • the codec method of this element uses the codec method corresponding to u(1).
  • Poc_msb_diff_from_base_layer is used to calculate the value of PicOrderCntMsb when using the POC alignment operation.
  • the codec method of this element uses the codec method corresponding to se(v).
  • Figure 12 is a code flow diagram of a preferred embodiment 3 in accordance with the present invention. As shown in Figure 12, the process includes:
  • Step S1202 is exactly the same as step S1002.
  • step S1204 the encoder determines whether the value of the poc_alignment_flag is equal to 1. If yes, go to step S1206; otherwise, go to step S1214.
  • step S1206 the encoder determines the values of the MSB and the LSB of the POC used in the POC alignment operation.
  • the encoder can determine whether it is necessary to perform an MSB clear operation of the POC according to the multi-layer video coding prediction structure. When one of the following conditions is true, the encoder can directly set the value of PicOrderCntMsb to 0.
  • BL is an IDR image, which exists with the EL image in the AU and is not an IDR image.
  • BL is a BLA image, which exists with the EL image in the AU and is not a BLA image.
  • Condition 3 In the decoding order, there is one BL image of IDR or BLA in the previous one or more AUs, and the EL images are not included in these AUs.
  • the encoder does the following:
  • the encoder determines the POC value of the AU: if the BL image located at the same AU as the EL image exists, the encoder sets the value of PicOrderCntMsb to the value of the BL image POC; conversely, if the BL image is located at the same AU as the EL image If the image does not exist, the encoder determines, according to the frame rate information of the BL and the POC information of the previously encoded BL image, the POC value to be used when the BL image is included in the AU, and assigns the value to the POC value.
  • the variable PicOrderCntMsb The variable PicOrderCntMsb.
  • the encoder assigns the value of (PicOrderCntMsb&(MaxPicOrderCntLsb–1)) to the variable PicOrderCntLsb.
  • the operator "&” is the operator defined in the H.265/HEVC Version 1 standard;
  • the value of MaxPicOrderCntLsb is equal to (1 ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)), which is equal to the minimum allowable positive integer value of the MSB of the POC, or equal to the maximum LSB allowable value of the POC plus one.
  • the encoder determines the value of PicOrderCntMsb using the following method:
  • the encoder calculates the value of (PicOrderCntMsb–PicOrderCntLsb) and reassigns the value to the variable PicOrderCntMsb.
  • the encoder sets the value of the variable clear_poc_msb_flag to 1; otherwise, the encoder sets the value of the variable clear_poc_msb_flag to 0.
  • the encoder writes the value of clear_poc_msb_flag into the code stream using the encoding method corresponding to u(1).
  • step S1208 the encoder determines whether the value of clear_poc_msb_flag is equal to zero. If yes, go to step S1210 otherwise, go to step S1212.
  • step S1210 the encoder determines the MSB information used by the POC alignment process and writes the code stream. Step S1212 is performed.
  • the encoder searches for the most recent TemporalId value equal to 0 in the decoded same EL layer image, and is not a RADL (Random Access Decodable Leading) image or a RASL (Random Access Skipped Leading) image or a time domain sub-layer non-reference image. Assign the POC value of the image to the variable prevPicOrderCnt.
  • the encoder calculates the value of (prevPicOrderCnt>>(log2_max_pic_order_cnt_lsb_minus4+4)) and re-copyes the value to the variable prevPicOrderCntMsb.
  • the value of log2_max_pic_order_cnt_lsb_minus4 is derived from the SPS used by the EL.
  • the encoder sets the value of inherit_msb_from_base_layer_flag to 0. Conversely, the encoder sets the value of inherit_msb_from_base_layer_flag to 1.
  • the encoder may determine the inherit_msb_from_base_layer_flag by the encoder optimization module according to the predictive coding structure between the BL and the EL, the frame rate of different layers, the error-resistance performance optimization, and the random access. The value.
  • the encoder writes the value of inherit_msb_from_base_layer_flag into the code stream using the decoding method corresponding to u(1).
  • the encoder determines the value of poc_msb_diff_from_base_layer using the following method.
  • the encoder searches for the most recent TemporalId value equal to 0 in the decoded BL layer image, and is not a RADL (Random Access Decodable Leading) image or a RASL (Random Access Skipped Leading) image or a time domain sub-layer non-reference image.
  • the POC value of the image is assigned to the variable BaseLayerPicOrderCnt.
  • the encoder calculates (BaseLayerPicOrderCnt–(BaseLayerPicOrderCnt&(MaxPicOrderCntLsb–1))) and reassigns the value to the variable BaseLayerPicOrderCntMsb.
  • the operator "&" is an operator defined in the H.265/HEVC Version 1 standard; the value of MaxPicOrderCntLsb is equal to (1 ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)).
  • the MaxPicOrderCntLsb value is equal to the minimum allowable positive integer value of the MSB of the POC, or equal to the maximum LSB allowable value of the POC plus one. Where log2_max_pic_order_cnt_lsb_minus4 is derived from the SPS used by the BL.
  • the encoder calculates ((PicOrderCntVal–(BaseLayerPicOrderCntMsb>>(log2_max_pic_order_cnt_lsb_minus4+4)))) ⁇ (log2_max_pic_order_cnt_lsb_minus4+4)) and assigns it to the variable poc_msb_diff_from_base_layer.
  • log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL, and the operators ">>" and " ⁇ " are the bit left shift and right shift operators defined in the H.265/HEVC Version 1 standard, respectively.
  • the encoder writes the value of poc_msb_diff_from_base_layer to the code stream using the encoding method corresponding to se(v).
  • step S1212 the encoder writes the LSB information used for POC alignment into the code stream. Step S1216 is performed.
  • the encoder assigns the value of PicOrderCntLsb to the variable slice_poc_order_cnt_lsb, and writes the value of slice_poc_order_cnt_lsb into the code stream using the encoding method corresponding to u(v), and the number of coded bits used is set to (log2_max_pic_order_cnt_lsb_minus4+4). Among them, log2_max_pic_order_cnt_lsb_minus4 comes from the SPS used by the EL.
  • step S1214 the encoder determines the value of slice_poc_order_cnt_lsb using an existing method and writes it into the code stream.
  • step S1216 the encoder has completed writing the POC related information into the code stream.
  • the electronic device can process at least one of the following multi-layer video signals: scalable video, multi-view video, multi-view depth, multi-view video + multi-view depth.
  • scalable video is a special form in which the number of viewpoints of multi-view video is equal to 2.
  • the electronic device can encode the multi-layer video signal and output the code stream using the implementation method of the encoder in the foregoing embodiment.
  • the electronic device may parse the code stream using the implementation method of encoding and/or decoding in the foregoing embodiment, obtain POC information required for decoding and playing, and recover the multi-layer video signal.
  • the electronic device of this embodiment may be a related code 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 video camera, a television broadcasting system device, and the like.
  • a video communication application such as a mobile phone, a computer, a server, a set top box, a portable mobile terminal, a digital video camera, a television broadcasting system device, and the like.
  • the embodiments of the present invention achieve the following beneficial effects: in the related art, in the multi-layer video encoding and decoding process, the correct decoding and output of the multi-layer video encoded code stream and the additional overhead of increasing network resources cannot be guaranteed.
  • the problem is that it does not need to add any bit field in the BL code stream for implementing the POC alignment related operation, and does not need to perform the POC translation operation on the stored image in the layer DPB.
  • the highest bit MSB parameter and the lowest bit LSB parameter used when the POC performs the alignment operation are obtained according to the result obtained by parsing the multi-layer video encoded code stream, and according to the MSB parameter and The LSB parameter determines the MSB value and the LSB value of the POC value of the current image, and further calculates a technical means for obtaining the POC value of the current image, and solves the related art, in the process of multi-layer video encoding and decoding, the correct decoding cannot be guaranteed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种视频图像序号的编码、解码方法及装置、电子设备,其中该解码方法包括:获取对POC进行对齐操作时所使用的MSB参数和LSB参数;根据所述MSB参数和所述LSB参数确定当前图像POC值的MSB取值和LSB取值;根据所述MSB取值和所述LSB取值计算得到所述当前图像POC值。采用上述技术方案,解决了相关技术中,在多层视频编码及解码过程中,无法保证正确解码和输出多层视频编码码流以及增加网络资源的额外开销等问题,实现了不需要在BL码流中为实施POC对齐相关操作增加任何比特字段,也不需要对层的DPB中存储图像进行POC平移操作的效果。

Description

视频图像序号的编码、解码方法及装置、电子设备 技术领域
本发明涉及通信领域,具体而言,涉及一种视频图像序号的编码、解码方法及装置、电子设备。
背景技术
正在制定的基于高性能视频编码(H.265/High Efficiency Video Coding,简称为HEVC)标准兼容的三维视频(Three-Dimensional Video,简称为3DV)编码标准MV-HEVC(HEVC Multi-view video coding extension framework)、3D-HEVC(3D High Efficiency Video Coding)和可伸缩视频编码(Scalable video coding,简称为SVC)中,采用了统一的高层结构设计。这个统一的设计结构基于“多层视频编码”的概念,将MV-HEVC和3D-HEVC的不同视点的纹理分量(Texture Component)和深度分量(Depth Component)、可伸缩编码的不同可伸缩层均抽象为“层(Layer)”,并使用层表示序号(LayerId)来标识不同的视点和可伸缩层。这里,将已发布的H.265/HEVC标准称为“H.265/HEVC Version 1”标准。
在多层视频编码中,同时刻获得的视频图像及其对应的编码比特组成一个接入单元(Access Unit,简称为AU)。在同一个AU中,各层图像可使用不同的编码方法。这样,在同一个AU中,某层的图像可以是能够作为随机点的帧内编码随机接入(IntraRandom Access Point,简称为IRAP)图像,而其他某一个或多个层是普通的帧间、层间预测编码图像。在实际应用中,不同层可以根据网络传输状况、视频内容变换情况等选择各自的IRAP图像插入策略。例如,对于兼容H.265/HEVC的基本层视频图像可采用较高频次的IRAP图像插入策略,对增强层视频图像可采用频次较低的IRAP图像插入策略。这样,使用这种逐层(layer-wise)接入的多层视频编码结构,可以在不出现大的码率激增的情况下,保证多层视频编码码流的随机接入性能。
对于多层视频编码码流,其基本层(Base Layer,简称为BL)码流必须符合H.265/HEVC Version 1标准的规范。换言之,多层视频编码码流必须保证根据H.265/HEVC Version 1标准设计的解码器能够正确解码从多层视频编码码流中提取出的BL码流。特别地,对于MV-HEVC和3D-HEVC,BL对应于基本视点(Base View)或独立视点(Independent View),EL对应于增强视点(Enhancement View)或非独立视点(Dependent View)。实际应用中,可通过提取多层视频编码码流的方法,获得仅 用于传统二维电视播放的基本视点码流、支持三维立体显示的双视点码流以及支持更加丰富三维立体显示的多视点码流。
在H.265/HEVC Version 1标准中,IRAP图像的类型有三种,分别是解码立即刷新(Instantaneous Decoding Refresh,简称为IDR)图像、断开连接访问(Broken Link Access,简称为BLA)图像和清除随机存取(Clean Random Access,简称为CRA)图像。这三种图像均使用帧内(Intra)编码方式进行编码,其解码不依赖于其他图像。这三种图像类型的不同之处在于对视频图像序号(Picture Order Count,POC)和解码图像缓冲区(Decoded Picture Buffer,DPB)的操作。
POC是H.265/HEVC Version 1中用于标识图像播放顺序的序号。根据H.265/HEVCVersion 1标准,图像的POC值由两部分组成。使用PicOrderCntVal表示图像的POC值,则:PicOrderCntVal=PicOrderCntMsb+PicOrderCntLsb。其中,PicOrderCntMsb是图像POC值的最高有效位(Most Significant Bit,简称为MSB)取值,PicOrderCntLsb是图像POC值的最低有效位(Least Significant Bit,简称为LSB)。通常情况下,PicOrderCntMsb的取值等于按解码顺序当前图像的前一个TemporalId等于0的图像的PicOrderCntMsb的取值,PicOrderCntLsb的取值等于分片(slice)头信息中的slice_pic_order_cnt_lsb字段的取值。slice_pic_order_cnt_lsb字段的比特数由序列参数集(Sequance Parameter Set,SPS)中的log2_max_pic_order_cnt_lsb_minus4确定,所需比特数等于log2_max_pic_order_cnt_lsb_minus4+4。
在H.265/HEVC Version 1中,若当前图像是IDR图像,则PicOrderCntMsb的取值将被置为0,分片头信息中不包含slice_pic_order_cnt_lsb字段,PicOrderCntLsb的取值默认为0。若当前图像是BLA图像,则PicOrderCntMsb的取值将被置为0,分片头信息中包含slice_pic_order_cnt_lsb字段用于确定PicOrderCntLsb的取值。若当前图像是CRA图像且标志位HandleCraAsBlaFlag的取值等于0,则使用通常方法计算POC;若当前图像是CRA图像且标志位HandleCraAsBlaFlag的取值等于1,则使用BLA图像的方法计算该CRA图像的POC值。
需要说明的是,在多层视频编码标准中,不论图像类型,增强层(Enhancement Layer,简称为EL)的分片头信息中始终包含slice_pic_order_cnt_lsb字段。
在此基础上,对于多层视频编码码流,为保证在DPB控制过程中检测同时刻的图像,同时为方便解码器使用POC值在码流中确定各AU的起止位置,要求AU中所有图像均具有相同的POC值。对于layer-wise的编码结构,AU中可能同时包含有IRAP图像和非IRAP图像。这样,如果IRAP图像是IDR图像和BLA图像,则该AU中包 含图像的POC值将不同。因此,需要为多层视频编码标准设计POC对齐(POC Alignment)功能以满足在layer-wise结构时AU中各图像可以具有相同的POC。
为解决这个问题,JCT-VC标准会议提案JCTVC-N0244中提出了一种POC对齐方法。该方法是用分片头信息中的预留比特,增加长度为1比特的poc_reset_flag字段。当该字段的取值等于1时,首先按照通常方法解码图像POC值,然后将DPB中同层(包括BL)中图像的POC值减少之前计算得到的POC值(即POC平移操作),最后将该分片所在图像的POC值被置为0。
该方法的最主要缺点是其BL码流无法兼容H.265/HEVC Version 1标准,即不能保证符合H.265/HEVC Version 1标准的解码器能够解码从多层视频编码码流中抽取得到的BL码流。
为解决该兼容性问题,JCT-VC会议提案JCTVC-O0140和JCTVC-O0213提出在JCTVC-N0244的基础上,在需要进行POC对齐时,仅将POC中的MSB置为0。进一步,JCTVC-O0213中增加了POC对齐的延迟操作选项,以应对携带有重置POC值的标志位的分片丢失和帧率不同的应用情况。JCTVC-O0176提出在IDR图像时直接进行POC对齐,而不是用显式的分片头标志位,并且在BL码流的IDR图像分片头中增加预留比特,用于计算若该图像是CRA图像而非IDR图像时的POC值,该计算得到的POC值用于EL层DPB中存储图像的POC平移操作。JCTVC-O0275提出了一种layer POC的概念,对于EL层图像,维护两套不同的POC。其中,Layer POC为不使用POC对齐条件下得到的POC值,该值用于参考图像集(Reference Picture Set,RPS)等解码算法的相关操作;另外一套是经过POC对齐处理的POC,该POC与同AU中BL图像的POC值一致,该POC值用于控制图像的输出、播放过程。JCTVC-O0275提出的方法在进行POC对齐过程中使用BL的信息,且POC对齐过程的触发使用编解码器内部维护的变量标志位,该标志位的取值与BL层图像类型相关。
以上方法存在如下缺陷:
对DPB中图像的POC平移操作将改变DPB中已存储图像的原始POC值。这样一来,如果包含有POC对齐信息的分片丢失,那么将无法对DPB中图像的POC进行正确的平移操作,使得后续的图像无法获得正确的参考图像。由于平移POC值的错误,原本已经正确解码并存储在DPB中的图像将成为“错误解码图像”。
对于层间帧率不同的情况,如果BL的IDR图像所在AU中不包含EL图像,则EL将不能进行POC对齐所需的POC平移操作,这就使得在各层DPB中,即使同AU解码得到的图像也将具有不同的POC值,从而使得解码器无法进行正确的图像输出操 作。该问题也使得JCTVC-O0213中的POC延迟对齐操作无法保证可以正确解码和输出多层视频编码码流。
对于Layer POC的情况,需要维护两套不同的POC系统,但这两套POC系统中,POC对齐操作之后,任意两幅图像的POC之差是相等的,即两套POC系统存在较大冗余。
上述方法中JCTVC-O0140和JCTVC-O0213均需要使用BL预留比特,并且多层视频编码编解码器在处理BL码流时要根据该预留比特的取值进行不同于H.265/HEVC Version 1标准的操作。这就使得已有的符合H.265/HEVC Version 1的产品设计方案不能直接用于多层视频编码产品。尽管JCTVC-O0176方法在分片层扩展中增加比特信息,不改变任何BL层解码流程,但分片层扩展信息是以字节为单位,这样就增加了分片头的额外比特开销。
为了保证正确地进行POC对齐操作,以上方法需要对可用编码结构进行较多限制。例如,JCTVC-O0176要求BL的IDR图像的AU中必须包含EL图像。这降低了多层视频编码的应用灵活性,特别是非协调联播应用(uncoordinated simulcast)。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中,在多层视频编码及解码过程中,无法保证正确解码和输出多层视频编码码流以及增加网络资源的额外开销等问题,本发明提供了一种视频图像序号的编码、解码方法及装置、电子设备,以至少解决上述问题。
为了达到上述目的,根据本发明的一个实施例,提供了一种视频图像序号POC的解码方法,包括:获取对POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数;根据所述MSB参数和所述LSB参数确定当前图像POC值的MSB取值和LSB取值;根据所述MSB取值和所述LSB取值计算得到所述当前图像POC值。
优选地,根据所述MSB参数确定当前图像POC值的MSB取值包括以下之一:方法一,从码流中直接获取所述码流携带的MSB参数,根据所述码流携带的MSB参数获取所述MSB取值;方法二,获取用于指示在POC对齐过程中增强层EL所使用的MSB取值的第一指示信息,根据所述第一指示信息推导所述EL所使用的MSB取值,得到所述当前图像POC值的MSB取值;方法三,获取用于指示所述MSB参数 的获取方式的第二指示信息集;根据所述第二指示信息集确定所述EL所使用的MSB取值,得到所述当前图像POC值的MSB取值。
优选地,通过以下方式确定推导所述EL的MSB取值过程中所使用的参考POC取值:从基本层BL或EL已有解码信息中获得所述参考POC取值。
优选地,根据所述第一指示信息推导所述EL所使用的MSB取值:根据所述EL所使用的LSB比特字段长度信息,从所述参考POC取值中提取所述EL所使用的MSB取值。
优选地,从所述参考POC取值中提取所述EL所使用的MSB取值包括以下之一:使用所述参考POC取值对应的MSB取值作为所述EL所使用的MSB取值;或者,将所述参考POC取值的二进制取值中的低比特位置0,作为EL使用的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;将所述参考POC取值的二进制取值先进行右移位操作、后进行左移位操作,其中,移位操作的二进制位数等于所述增强层EL所使用的LSB比特字段长度值。
优选地,根据所述码流携带的MSB参数获取所述MSB取值包括以下之一:根据用于标识所述MSB取值为0的标识信息获取所述当前图像POC值的所述MSB取值;将所述MSB参数取值设置为所述当前图像POC值的MSB取值;将所述MSB参数取值与以下之一取值的乘积设置为所述当前图像POC值的所述MSB取值:当前图像POC值的MSB最小容许正整数取值的乘积、所述当前图像POC值的最大LSB容许取值加1后得到的取值;将所述MSB参数取值的二进制取值进行左移位操作,将移位操作后的所述MSB参数取值作为当前图像POC值的所述MSB取值,其中,左移位的二进制位数等于所述EL所使用的LSB比特字段长度值。
优选地,根据所述第二指示信息集确定所述EL所使用的MSB取值,包括:将所述EL所使用的MSB取值设置为0;或者,使用从BL已有解码信息中的POC取值的低比特位置0后的取值作为所述EL的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;或者,使用从BL已有解码信息中的POC取值的低比特位置0后的取值与所述EL分片头信息携带的修正值之和作为所述EL的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值。
优选地,上述方法还包括:获取确定所述EL所使用的MSB取值所需的所述MSB参数的比特字段的长度。
优选地,根据所述LSB参数确定当前图像POC值的LSB取值包括:从EL的分片头信息中直接获取所述LSB参数。
优选地,根据所述MSB取值和所述LSB取值计算得到所述当前图像POC值包括:将所述MSB取值与LSB取值之和作为所述当前图像POC取值。
优选地,获取对POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数之前,包括:获取EL分片头信息中携带的POC对齐操作标志位,其中,在所述POC对齐操作标志位指示需要进行对齐操作时,触发获取所述MSB参数和所述LSB参数。
为了达到上述目的,根据本发明的再一个实施例,还提供了一种视频图像序号POC的编码方法,其特征在于,包括:获取执行POC对齐操作时所使用的当前图像的POC值;将所述POC值的最高比特位MSB取值和最低比特位LSB取值映射为在执行POC对齐操作时所使用的MSB参数和LSB参数;将所述MSB参数和所述LSB参数写入码流。
优选地,获取执行POC对齐操作时所使用的当前图像的POC值包括:如果与当前增强层EL图像位于同一接入单元AU的基本层BL图像存在,将所述POC值设置为该BL图像的POC取值;否则,根据BL的帧率信息及已编码的BL图像的POC信息,确定所述AU中在包含BL图像时所述BL图像所应使用的POC取值,并将所述BL图像所应使用的POC取值作为所述POC值。
优选地,通过以下方法确定所述MSB取值和LSB取值:将所述POC值的二进制取值中的低比特位作为所述LSB取值,所使用的二进制低比特位的位数等于EL所使用的LSB比特字段长度值;将所述POC值与LSB取值之差作为所述MSB取值;或者,将所述POC值的二进制表示中的低比特位置0,作为EL使用的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;将置0操作前所述POC值与所述MSB取值之差作为所述LSB取值;或者,将所述POC值的二进制取值先进行右移位操作、后进左移位操作,其中,左移位和右移位的二进制位数等于所述EL所使用的LSB比特字段长度值,将移位操作后的POC值作为所述MSB取值,将移位操作前所述POC值与所述MSB取值之差作为所述LSB取值。
优选地,将所述POC值的MSB取值映射为在执行POC对齐操作时所使用的MSB参数包括以下之一:方法一,将所述MSB取值携带于所述码流中,作为所述MSB参数;方法二,将所述MSB取值映射为用于指示在POC对齐过程中EL所使用的MSB 取值的第一指示信息;方法三,将所述MSB取值映射为用于指示所述MSB参数的获取方式的第二指示信息集。
优选地,将所述MSB取值携带于所述码流中包括:将所述MSB取值直接设置为用于标识所述MSB取值为0的标识信息携带于EL图像分片头信息;或者,将所述MSB取值直接携带于EL图像分片头信息;或者,将所述MSB取值相对于以下之一取值的倍数值携带于EL图像分片头信息中:当前图像POC值的MSB最小容许正整数取值、所述当前图像POC值的最大LSB容许取值加1后得到的取值;或者,将所述MSB取值二进制取值进行右移位操作,将移位操作后的MSB取值携带于EL图像分片头信息中,其中,右移位的二进制位数等于所述EL所使用的LSB比特字段长度值。
优选地,上述方法还包括:将所述MSB参数的比特字段的长度携带于所述码流。
优选地,使用以下方法确定所述第一指示信息:选取EL已解码图像的POC取值,将其二进制取值的低比特位置为0,将低比特位置为0后的所述POC取值作为第一候选MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;当所述第一候选MSB值与所述EL所使用的MSB取值相等时,将所述第一指示信息设置为用于指示使用EL信息推导POC对齐操作所使用MSB取值的指示信息;否则,选取基本层BL已解码图像的POC取值,将其二进制表示的低比特位置为0,将低比特位置为0后的所述POC取值作为第二候选MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;当所述第二候选MSB值与所述EL所使用的MSB取值相等时,将所述第一指示信息设置为用于指示使用BL信息推导POC对齐操作所使用MSB取值的指示信息;或者,当所述第二候选MSB值与所述EL所使用的MSB取值相等时,将所述第一指示信息设置为用于指示使用BL信息推导POC对齐操作所使用MSB取值的指示信息;否则,当所述第一候选MSB值与所述EL所使用的MSB取值相等时,将第一指示信息设置为用于指示使用EL信息推导POC对齐操作所使用MSB取值的指示信息。
优选地,所述第一指示信息携带于EL图像分片头信息中。
优选地,当所述MSB取值等于0时,使用以下方法确定所述第二指示信息集:在第二指示信息集中设置用于指示将MSB值置为0的指示信息,并将该指示信息携带于EL图像分片头信息中。
优选地,当所述MSB取值不等于0时,使用以下之一方法确定所述第二指示信息集:在第二指示信息集中设置用于指示不将MSB值置为0的指示信息,并将该指 示信息携带于EL图像分片头信息中;选取BL已解码图像的POC取值,将其二进制表示的低比特位置为0,将其作为候选MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;当所述MSB取值等于所述候选MSB取值时,在第二指示信息集中设置用于指示直接将MSB取值设置为根据BL信息推导所得候选MSB取值的指示信息,并将该指示信息携带于EL图像分片头信息中;否则,在所述第二指示信息集中设置用于指示不直接将MSB取值设置为根据BL信息推导所得候选MSB取值的指示信息,并计算所述MSB取值与所述候选MSB取值之间的差值,将该指示信息和所述差值携带于EL图像分片头信息中。
优选地,所述LSB参数携带于EL图像分片头信息中。
优选地,获取执行POC对齐操作时所使用的当前图像的POC值之前,包括:在满足以下之一条件时,确定需要执行POC对齐操作:条件1:BL的图像为解码立即刷新IDR图像,所述IDR图像所在AU中EL存在图像且非IDR图像;条件2:BL的图像为断开连接访问BLA图像,且所述BLA图像所在AU中EL存在图像且非BLA图像;条件3:按照解码顺序,在当前AU之前的一个或多个AU中存在一个IDR或BLA的BL图像且所述一个或多个AU中不包含EL图像;条件4:EL的图像为IDR图像,所述IDR图像所在AU中BL图像存在且非IDR图像,或者所述EL的图像所在AU中不存在BL图像;条件5:EL的图像为BLA图像,且所述BLA图像所在AU中BL存在图像且非BLA图像,或者所述BLA图像所在AU中不存在BL图像。
为了达到上述目的,根据本发明的又一个实施例,还提供了一种视频图像序号POC的解码装置,包括:获取模块,设置为获取对POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数;确定模块,设置为根据所述MSB参数和所述LSB参数确定当前图像POC值的MSB取值和LSB取值;计算模块,设置为根据所述MSB取值和所述LSB取值计算得到所述当前图像POC值。
优选地,所述确定模块,设置为通过以下之一方法确定所述MSB:方法一,从码流中直接获取所述码流携带的MSB参数,根据所述码流携带的MSB参数获取所述MSB取值;方法二,获取用于指示在POC对齐过程中增强层EL所使用的MSB取值的第一指示信息,根据所述第一指示信息推导所述EL所使用的MSB取值,得到所述当前图像POC值的MSB取值;方法三,获取用于指示所述MSB参数的获取方式的第二指示信息集;根据所述第二指示信息集确定所述EL所使用的MSB取值,得到所述当前图像POC值的MSB取值。
为了达到上述目的,根据本发明的又一个实施例,还提供了一种视频图像序号POC的编码装置,包括:获取模块,设置为获取执行POC对齐操作时所使用的当前图像的POC值;映射模块,设置为将所述POC值的最高比特位MSB取值和最低比特位LSB取值映射为在执行POC对齐操作时所使用的MSB参数和LSB参数;写入模块,设置为将所述MSB参数和所述LSB参数写入码流。
优选地,所述获取模块,设置为在与当前增强层EL图像位于同一接入单元AU的基本层BL图像存在时,将所述POC值设置为该BL图像的POC取值;否则,根据BL的帧率信息及已编码的BL图像的POC信息,确定所述AU中在包含BL图像时所述BL图像所应使用的POC取值,并将所述BL图像所应使用的POC取值作为所述POC值。
为了达到上述目的,根据本发明的又一个实施例,还提供了一种电子设备,包括:以上所述的视频图像序号POC的解码装置,和/或以上所述的视频图像序号POC的编码装置。
通过本发明,采用根据解析多层视频编码码流得到的结果获取POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数,并根据该MSB参数和LSB参数确定当前图像POC值的MSB取值和LSB取值,进而计算得到所述当前图像POC值的技术手段,解决了相关技术中,在多层视频编码及解码过程中,无法保证正确解码和输出多层视频编码码流以及增加网络资源的额外开销等问题,实现了不需要在BL码流中为实施POC对齐相关操作增加任何比特字段,也不需要对层的DPB中存储图像进行POC平移操作的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本发明实施例的视频图像序号的解码方法的流程图;
图2是根据本发明实施例的视频图像序号的解码装置的结构框图;
图3为根据本发明实施例的视频图像序号的编码方法的流程图;
图4是根据本发明实施例的视频图像序号的解码装置的结构框图;
图5是根据本发明优选实施例的视频图像序号的编码方法的流程图;
图6是根据本发明优选实施例的视频图像序号的解码方法的流程图;
图7是根据本发明优选实施例1的解码流程图;
图8是根据本发明优选实施例1的编码流程图;
图9是根据本发明优选实施例2的解码流程图;
图10是根据本发明优选实施例2的编码流程图;
图11是根据本发明优选实施例3的解码流程图;
图12是根据本发明优选实施例3的编码流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1为根据本发明实施例的视频图像序号的解码方法的流程图。如图1所示,该方法包括:步骤S102至步骤S106,
S102:获取对POC进行对齐操作时所使用的MSB参数和LSB参数;在接收的多层视频码流携带有上述MSB参数和LSB参数时,可以从该多层视频码流分片头信息中获取:例如从码流的分片头信息中获取。
S104:根据MSB参数和LSB参数确定当前图像POC值的MSB取值和LSB取值;需要说明的是,具体可以根据MSB参数和LSB参数分别获取MSB取值和LSB取值,也可以根据MSB参数和LSB参数共同确定其中的MSB参数,或LSB参数。
其中,对于MSB取值可以采用以下三种方法:
方法一,从码流中直接获取上述码流携带的MSB参数,根据上述码流携带的MSB参数获取上述MSB取值。需要说明的是,该码流可以为多层视频码流,也可以为系统层码流。具体可以通过以下之一方式获取:
根据用于标识MSB取值为0的标识信息获取当前图像POC值的MSB取值;
将上述MSB参数取值设置为当前图像POC值的MSB取值;
将MSB参数取值与以下之一取值的乘积设置为当前图像POC值的MSB取值:当前图像POC值的MSB最小容许正整数取值的乘积、当前图像POC值的最大LSB容许取值加1后得到的取值;
将MSB参数取值的二进制取值进行左移位操作,将移位操作后的所述MSB参数取值作为当前图像POC值的MSB取值,其中,左移位的二进制位数等于EL所使用的LSB比特字段长度值。
方法二,获取用于指示在POC对齐过程中增强层EL所使用的MSB取值的第一指示信息,根据上述第一指示信息推导上述增强层EL所使用的MSB取值,得到上述当前图像POC值的MSB取值;
对于该方法,可以通过以下方式确定推导所述增强层EL的MSB取值过程中所使用的参考POC取值:从BL或EL已有解码信息中获得所述参考POC取值。
在该方法中,可以根据EL所使用的LSB比特字段长度信息,从上述参考POC取值中提取EL所使用的MSB取值。具体可以通过以下之一方式获取上述MSB取值:
使用上述参考POC取值对应的MSB取值作为所述EL所使用的MSB取值;
将上述参考POC取值的二进制取值中的低比特位置0,作为EL使用的MSB取值,其中,置0的低比特位位数等于EL所使用的LSB比特字段长度值;
将所述参考POC取值的二进制取值先进行右移位操作、后进行左移位操作,其中,移位操作的二进制位数等于所述增强层EL所使用的LSB比特字段长度值。
方法三,获取用于指示上述MSB参数的获取方式的第二指示信息集;根据上述第二指示信息集确定上述EL所使用的MSB取值,得到上述当前图像POC值的MSB取值。其中,根据上述第二指示信息集确定EL所使用的MSB取值,可以通过以下之一过程实现:
将EL所使用的MSB取值设置为0;
使用从BL已有解码信息中的POC取值的低比特位置0后的取值作为所述EL的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;
使用从BL已有解码信息中的POC取值的低比特位置0后的取值与所述EL分片头信息携带的修正值之和作为所述EL的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值。
在本实施例中,还可以获取确定EL所使用的MSB取值所需的MSB参数的比特字段的长度。例如通过码流中携带的指定字段确定该长度,具体可参见实施例1,此处不再赘述。
S106:根据上述MSB取值和上述LSB取值计算得到上述当前图像POC值。例如可以将上述MSB取值与LSB取值之和作为当前图像POC取值。
在本实施中,可以从EL的分片头信息中直接获取上述LSB参数。
在步骤S102之前,还可以获取EL分片头信息中携带的POC对齐操作标志位,其中,在该POC对齐操作标志位指示需要进行对齐操作时,触发获取上述MSB参数和LSB参数。
通过上述各个步骤,采用根据解析多层视频编码码流得到的结果获取POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数,并根据该MSB参数和LSB参数确定当前图像POC值的MSB取值和LSB取值,进而计算得到所述当前图像POC值的技术手段,在多层视频编码及解码过程中,无法保证正确解码和输出多层视频编码码流以及增加网络资源的额外开销等问题,实现了不需要在BL码流中为实施POC对齐相关操作增加任何比特字段,也不需要对层的DPB中存储图像进行POC平移操作的效果。
在本发明实施例中还提供了一种视频图像序号的解码装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到的模块进行说明,如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合,尽管以下实施例所描述的装置较佳地以软件实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的,图2是根据本发明实施例的视频图像序号的解码装置的结构框图。如图2所示,该装置包括:
获取模块20,设置为获取对POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数;
确定模块22,连接至获取模块20,设置为根据上述MSB参数和上述LSB参数确定当前图像POC值的MSB取值和LSB取值;
计算模块24,连接至确定模块22,设置为根据上述MSB取值和上述LSB取值计算得到上述当前图像POC值。
在本实施例中,确定模块22,设置为通过以下之一方法确定上述MSB:方法一,从接收的视频码流中直接获取上述视频码流携带的MSB参数,根据上述视频码流携带的MSB参数计算得到上述MSB取值;方法二,获取用于指示在POC对齐过程中增强层EL所使用的MSB取值的第一指示信息,根据上述第一指示信息推导上述增强层EL所使用的MSB取值,得到上述当前图像POC值的MSB取值;方法三,获取用于指示上述MSB参数的获取方式的第二指示信息集;根据上述第二指示信息确定上述EL所使用的MSB取值,得到上述当前图像POC值的MSB取值。
通过上述各个模块的功能,可以解决在多层视频编码及解码过程中,无法保证正确解码和输出多层视频编码码流以及增加网络资源的额外开销等问题,实现了不需要在BL码流中为实施POC对齐相关操作增加任何比特字段,也不需要对层的DPB中存储图像进行POC平移操作的效果。
本发明实施例还提供了一种视频图像序号的编码方法,图3为根据本发明实施例的视频图像序号的编码方法的流程图。该方法包括:步骤S302至步骤S306,
S302:获取执行POC对齐操作时所使用的当前图像的POC值。具体可以通过以下处理过程实现:
如果与当前增强层EL图像位于同一接入单元AU的基本层BL图像存在,将上述POC值设置为该BL图像的POC取值;否则,根据BL的帧率信息及已编码的BL图像的POC信息,确定上述AU中在包含BL图像时上述BL图像所应使用的POC取值,并将上述BL图像所应使用的POC取值作为上述POC值。
S304:将上述POC值的MSB取值和LSB取值映射为在执行POC对齐操作时所使用的MSB参数和LSB参数。该LSB参数可以携带于EL图像分片头信息中
可以通过以下方法确定上述MSB取值和LSB取值:
将上述POC值的二进制取值中的低比特位作为上述LSB取值,所使用的二进制低比特位的位数等于EL所使用的LSB比特字段长度值;将上述POC值与LSB取值之差作为上述MSB取值;或者,
将上述POC值的二进制表示中的低比特位置0,作为EL使用的MSB取值,其中,置0的低比特位位数等于上述EL所使用的LSB比特字段长度值;将置0操作前上述POC值与上述MSB取值之差作为上述LSB取值;或者,
将上述POC值的二进制取值先进行右移位操作、后进左移位操作,其中,左移位和右移位的二进制位数等于上述EL所使用的LSB比特字段长度值,将移位操作后的POC值作为上述MSB取值,将移位操作前上述POC值与上述MSB取值之差作为上述LSB取值。
将上述POC值的MSB取值映射为在执行POC对齐操作时所使用的MSB参数可以通过以下方式实现:
方法一,将上述MSB取值携带于上述码流中,作为上述MSB参数;例如,将上述MSB取值直接设置为用于标识MSB取值为0的标识信息携带于EL图像分片头信息;或者,将上述MSB取值直接携带于EL图像分片头信息;或者,将上述MSB取值相对于以下之一取值的倍数值携带于EL图像分片头信息中:当前图像POC值的MSB最小容许正整数取值、当前图像POC值的最大LSB容许取值加1后得到的取值;或者,将上述MSB取值二进制取值进行右移位操作,将移位操作后的MSB取值携带于EL图像分片头信息中,其中,右移位的二进制位数等于上述EL所使用的LSB比特字段长度值。
方法二,将上述MSB取值映射为用于指示在POC对齐过程中EL所使用的MSB取值的第一指示信息;上述第一指示信息携带于EL图像分片头信息中
方法三,将上述MSB取值映射为用于指示上述MSB参数的获取方式的第二指示信息集。
在该方法中,当上述MSB取值等于0时,使用以下方法确定上述第二指示信息集:其中,在第二指示信息集中设置用于指示将MSB值置为0的指示信息,并将该指示信息携带于EL图像分片头信息中。
在该方法中,当上述MSB取值不等于0时,使用以下之一方法确定上述第二指示信息集:
在第二指示信息集中设置用于指示不将MSB值置为0的指示信息,并将该指示信息携带于EL图像分片头信息中;
选取BL已解码图像的POC取值,将其二进制表示的低比特位置为0,将其作为候选MSB取值,其中,置0的低比特位位数等于上述EL所使用的LSB比特字段长度值;当上述MSB取值等于上述候选MSB取值时,在第二指示信息集中设置用于指示直接将MSB取值设置为根据BL信息推导所得候选MSB取值的指示信息,并将该指示信息携带于EL图像分片头信息中;否则,在上述第二指示信息集中设置用于指示不直接将MSB取值设置为根据BL信息推导所得候选MSB取值的指示信息,并计算上述MSB取值与上述候选MSB取值之间的差值,将该指示信息和上述差值携带于EL图像分片头信息中
S306:将上述MSB参数和上述LSB参数写入码流。
在本实施例中,在步骤S302之前,还可以在满足以下之一条件时,确定需要执行POC对齐操作:
条件1:BL的图像为解码立即刷新IDR图像,上述IDR图像所在AU中EL存在图像且非IDR图像;
条件2:BL的图像为断开连接访问BLA图像,且上述BLA图像所在AU中EL存在图像且非BLA图像;
条件3:按照解码顺序,在当前AU之前的一个或多个AU中存在一个IDR或BLA的BL图像且上述一个或多个AU中不包含EL图像;
条件4:EL的图像为IDR图像,上述IDR图像所在AU中BL图像存在且非IDR图像,或者上述EL的图像所在AU中不存在BL图像;
条件5:EL的图像为BLA图像,且上述BLA图像所在AU中BL存在图像且非BLA图像,或者上述BLA图像所在AU中不存在BL图像。
在本实施例中,在获取执行POC对齐操作时所使用的当前图像的POC值之前,还可以根据预测结构和/或抗误码需求确定是否需要执行POC对齐操作。在本实施例中,还可以将上述MSB参数的比特字段的长度携带于所述码流。
在本发明实施例中还提供了一种视频图像序号的编码装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到的模块进行说明,如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合,尽管以下实施例所描述的装置较佳地以软件实现,但是硬件,或者软件和硬件的组合的实 现也是可能并被构想的,图4是根据本发明实施例的视频图像序号的解码装置的结构框图。如图4所示,该装置包括:
获取模块40,设置为获取执行POC对齐操作时所使用的当前图像的POC值;
映射模块42,连接至获取模块40,设置为将所述POC值的最高比特位MSB取值和最低比特位LSB取值映射为在执行POC对齐操作时所使用的MSB参数和LSB参数;
写入模块44,连接至映射模块42,设置为将所述MSB参数和所述LSB参数写入码流。
可选地,获取模块40,设置为在与当前EL图像位于同一AU的BL图像存在时,将上述POC值设置为该BL图像的POC取值;否则,根据BL的帧率信息及已编码的BL图像的POC信息,确定AU中在包含BL图像时BL图像所应使用的POC取值,并将BL图像所应使用的POC取值作为所述POC值。
在本实施例中,还提供一种电子设备,包括:以上任一所述的解码装置,和/或以上任一所述的编码装置。
本发明实施例的上述方法可以总结为:编码器判断是否需要使用视频图像序号对齐操作,在需要使用该操作的情况下,编码器从所在增强层和/或对应基本层获得视频图像对齐所需的高比特位和低比特位的取值,编码器设置与高、低比特位取值相关的语法元素取值并将其写入码流;解码器在使用视频图像序号对齐操作时,从码流中获取推导高、低比特位取值所需的信息,解码器从所在增强层和/或对应基本层获得视频图像对齐所需的高比特位和低比特位的取值,计算当前图像的视频图像序号的取值。
为了更好地了解视频图像序号的编码及解码过程,以下结合优选实施例详细说明。
以下优选实施例中图像序号的编码过程主要设计思想可以通过图5所示步骤体现,如图5所示:
S502:编码器判断是否需要使用视频图像序号对齐操作;
S504:在需要使用该操作的情况下,编码器从所在增强层和/或对应基本层获得视频图像对齐所需的高比特位和低比特位的取值。
S506:编码器设置与高、低比特位取值相关的语法元素取值并将其写入码流。
图像序号的解码过程的主要设计思想可以通过图6所示步骤体现:
S602:解码器在使用视频图像序号对齐操作时,从码流中获取推导高、低比特位取值所需的信息。
S604:解码器从所在增强层和/或对应基本层获得视频图像对齐所需的高比特位和低比特位的取值。
S606:解码器计算当前图像的视频图像序号的取值。
实施例1
图7是根据本发明优选实施例1的解码流程图。如图7所示,该流程包括:
步骤S702,解码器从码流中解析poc_alignment_flag的取值。
解码器使用u(1)对应的解码方法从码流中解析poc_alignment_flag对应的比特字段,获得poc_alignment_flag的取值。
步骤S704,解码器判断:poc_alignment_flag的取值是否为1。若是,则执行步骤S706;否则,执行步骤S720。
步骤S706,解码器解析set_poc_msb_to_zero_flag的取值。
解码器使用u(1)对应的解码方法从码流中解析set_poc_msb_to_zero_flag对应的比特字段,获得set_poc_msb_to_zero_flag的取值。
步骤S708,解码器判断:set_poc_msb_to_zero的取值是否为1。若是,则执行步骤S710;否则,执行步骤S712。
步骤S710,解码器将变量PicOrderCntMsb的取值设置为0。执行步骤S716。
步骤S712,解码器解析bit_length_aligned_poc_msb_minus1的取值。
解码器使用ue(v)对应的解码方法从码流中解析bit_length_aligned_poc_msb_minus1对应的比特字段,获得bit_length_aligned_poc_msb_minus1的取值。
步骤S714,解码器解析aligned_poc_msb_value的取值。
解码器使用u(v)对应的解码方法从码流中解析aligned_poc_msb_value对应的比特字段,获得aligned_poc_msb_value的取值。
解码器将变量PicOrderCntMsb的取值设置为(aligned_poc_msb_value<<(log2_max_pic_order_cnt_lsb_minus4+4))的取值。其中,运算符“<<”是H.265/HEVCVersion 1标准中定义的对二进制数据进行左移位的操作符,移位后在低位上补0;log2_max_pic_order_cnt_lsb_minus4是在SPS中的比特字段,来自于EL使用的SPS。
可替换地,解码器将变量PicOrderCntMsb的取值设置为aligned_poc_msb_value取值与变量MaxPicOrderCntLsb取值的乘积。其中,变量MaxPicOrderCntLsb的取值使用H.265/HEVC Version 1标准中给出的方法由log2_max_pic_order_cnt_lsb_minus4计算得到。该取值等于POC的MSB最小容许正整数取值,或等于POC的最大LSB容许取值加1。
步骤S716,解码器设置变量PicOrderCntLsb的取值。
解码器解析slice_pic_order_cnt_lsb的取值。
当poc_alignment_flag取值等于1时,解码器将变量PicOrderCntLsb的取值设置为slice_pic_order_cnt_lsb的取值。
步骤S718,当poc_alignment_flag取值等于1时,解码器将记录当前图像的POC值变量PicOrderCntVal的取值设置为PicOrderCntMsb与PicOrderCntLsb之和。执行步骤S722。
步骤S720,解码器使用H.265/HEVC Version 1标准的确定当前图像POC的取值PicOrderCntVal。执行步骤S722。
步骤S722,解码器计算POC过程结束。
需要说明的是,在本优选实施例中,上述码流如表1所示,包含:标识是否使用POC对齐操作的信息;标识POC对齐操作过程中MSB获取方法的信息,包括:标识是否将POC的MSB取值设置为0的信息,标识POC的MSB信息在码流中的比特长度的信息,标识POC对齐操作中MSB取值的信息。
对应的码流中,携带有如下比特字段:标识是否使用POC对齐操作的比特字段;标识POC对齐操作过程中MSB获取方法的比特字段,包括:标识是否将POC的MSB 取值设置为0的比特字段,标识POC的MSB信息在码流中的比特长度的比特字段,标识POC对齐操作中MSB取值的比特字段。
表1
Figure PCTCN2014089231-appb-000001
表1中各字段的语义(对应的解码器操作)如下。其中,slice_pic_order_cnt_lsb字段是现有方法中已有的比特字段。
poc_alignment_flag取值等于1时表示解码器在解码过程中需要使用POC对齐操作;反之,取值等于0时表示解码器在解码过程中可能使用、也可能不使用POC对齐操作。当码流中不包含该元素时,该元素的取值默认为0。该元素的编解码方法使用u(1)对应的编解码方法。
set_poc_msb_to_zero_flag取值等于1时表示解码器在计算当前图像POC的过程中,将PicOrderCntMsb的值设置为0;反之,取值等于1时表示解码器在计算当前图像POC的过程中,将PicOrderCntMsb的取值设置为aligned_poc_msb_value。该元素的编解码方法使用u(1)对应的编解码方法。
bit_length_aligned_poc_msb_minus1加1表示元素aligned_poc_msb_value在码流中使用的比特长度。该元素的编解码方法使用ue(v)对应的编解码方法。
aligned_poc_msb_value表示当set_poc_msb_to_zero_flag取值等于0时,PicOrderCntMsb的取值。该元素的编解码方法使用u(v)对应的编解码方法,所使用的编码比特数等于(bit_length_aligned_poc_msb_minus1+1)。
图8是根据本发明优选实施例1的编码流程图。如图8所示,该流程包括:
步骤S802,编码器判断是否需要使用POC对齐操作。
编码器将变量poc_alignment_flag的值初始化为0。
编码器根据多层视频编码预测结构判断是否需要使用POC对齐操作。对于某个EL,当如下条件之一成立时,编码器将该EL层相关变量poc_alignment_flag的取值设置为1:
条件1:BL是IDR图像,同AU中EL图像存在且不是IDR图像。
条件2:BL是BLA图像,同AU中EL图像存在且不是BLA图像。
条件3:按照解码顺序,之前的一个或多个AU中存在一个IDR或BLA的BL图像而这些AU中不包含EL图像。
条件4:EL是IDR图像,同AU中BL图像存在且不是IDR图像,或者同AU中BL图像不存在。
条件5:EL是BLA图像,同AU中BL图像存在且不是BLA图像,或者同AU中BL图像不存在。
除此之外,编码器优化模块判断需要进行POC对齐操作时,将poc_alignment_flag的取值设置为1。
编码器使用u(1)对应的编码方法将poc_alignment_flag的取值写入码流。
步骤S804,编码器判断:poc_alignment_flag的取值是否等于1。若是,执行步骤S806;否则,执行步骤S816。
步骤S806,编码器确定POC对齐操作过程中使用的POC的MSB和LSB的取值。
编码器可以根据多层视频编码预测结构判断是否需要执行POC的MSB清0操作。当如下条件之一成立时,编码器可直接将PicOrderCntMsb的取值设置为0。
条件1:BL是IDR图像,同AU中EL图像存在且不是IDR图像。
条件2:BL是BLA图像,同AU中EL图像存在且不是BLA图像。
条件3:按照解码顺序,之前的一个或多个AU中存在一个IDR或BLA的BL图像而这些AU中不包含EL图像。
对于EL上需要进行POC对齐操作的图像,编码器执行如下操作:
编码器确定该AU的POC值:如果与该EL图像位于同AU的BL图像存在,编码器将PicOrderCntMsb的取值设置为该BL图像POC取值;反之,如果与该EL图像位于同AU的BL图像不存在,编码器根据BL的帧率信息及先前已编码的BL图像的POC信息,确定若该AU中包含BL图像时该BL图像所应使用的POC取值,并将该取值赋值给变量PicOrderCntMsb。
编码器将(PicOrderCntMsb&(MaxPicOrderCntLsb–1))的取值赋值给变量PicOrderCntLsb。其中,运算符“&”是H.265/HEVC Version 1标准中定义的运算符;MaxPicOrderCntLsb的取值等于(1<<(log2_max_pic_order_cnt_lsb_minus4+4))。实际上,MaxPicOrderCntLsb的取值等于POC的MSB最小容许正整数取值,或等于POC的最大LSB容许取值加1。其中,log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS。
编码器在不满足上述三个条件中的任一条件时,编码器使用如下方法确定PicOrderCntMsb的取值:
编码器计算(PicOrderCntMsb–PicOrderCntLsb)的取值,并将该值重新赋值给变量PicOrderCntMsb。
当PicOrderCntMsb的取值等于0时,编码器将变量set_poc_msb_to_zero的取值设置为1;反之,编码器将变量set_poc_msb_to_zero的取值设置为0。
编码器使用u(1)对应的编码方法将set_poc_msb_to_zero的取值写入码流。
步骤S808,编码器判断:set_poc_msb_to_zero的取值是否等于0。若是,则执行步骤S810;否则,执行步骤S812。
步骤S810,编码器将POC对齐过程所使用的MSB信息写入码流。
编码器计算(PicOrderCntMsb>>(log2_max_pic_order_cnt_lsb_minus4+4))的取值,并将该值重新复制给变量PicOrderCntMsb。其中,log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS。
编码器计算(Ceil(Log2(PicOrderCntMsb+1))–1)的取值,并将其赋值给变量bit_length_aligned_poc_msb_minus1。其中,Ceil(x)和Log2(x)为H.265/HEVC Version1标准中定义的数学运算。
编码器使用ue(v)对应的编码方法将bit_length_aligned_poc_msb_minus1的取值写入码流。
编码器将PicOrderCntMsb的取值赋值给变量aligned_poc_msb_value,并使用u(v)对应的编码方法将aligned_poc_msb_value的取值写入码流,使用的编码比特数等于(bit_length_aligned_poc_msb_minus1+1)。
执行步骤S812。
步骤S812,编码器将POC对齐所使用的LSB信息写入码流。
编码器将PicOrderCntLsb的取值赋值给变量slice_poc_order_cnt_lsb,并使用u(v)对应的编码方法将slice_poc_order_cnt_lsb的取值写入码流,使用的编码比特数定于(log2_max_pic_order_cnt_lsb_minus4+4)。其中,log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS。
执行步骤S816。
步骤S814,编码器使用现有方法确定slice_poc_order_cnt_lsb的取值,并将其写入码流。
步骤S816,编码器已完成将POC相关信息写入码流。
优选实施例2
图9是根据本发明优选实施例2的解码流程图。如图9所示,该流程包括:
步骤S902,解码器从码流中解析poc_alignment_flag的取值。
解码器使用u(1)对应的解码方法从码流中解析poc_alignment_flag对应的比特字段,获得poc_alignment_flag的取值。
步骤S904,解码器判断:poc_alignment_flag的取值是否等于1。若是,则执行步骤S906;否则,执行步骤S918。
步骤S906,解码器从码流中解析inherit_msb_from_base_layer_flag的取值。
解码器使用u(1)对应的解码方法从码流中解析inherit_msb_from_base_layer_flag对应的比特字段,获得inherit_msb_from_base_layer_flag的取值。
步骤S908,解码器判断:inherit_msb_from_base_layer_flag的取值是否等于1。若是,则执行步骤S910;否则,执行步骤S912。
步骤S910,解码器根据已解码的BL信息,推导POC对齐过程中所使用的MSB取值。
解码器在已解码的BL层图像中按解码顺序查找最近一个TemporalId值等于0、且不是RADL(Random Access Decodable Leading)图像或RASL(Random Access Skipped Leading)图像或时域子层非参考图像,将该图像的POC取值赋值给变量PicOrderCntMsb。
解码器计算(PicOrderCntMsb–(PicOrderCntMsb&(MaxPicOrderCntLsb–1)))的取值,并将该取值重新赋值给变量PicOrderCntMsb。其中,运算符“&”是H.265/HEVC Version 1标准中定义的运算符;MaxPicOrderCntLsb的取值等于(1<<(log2_max_pic_order_cnt_lsb_minus4+4))。实际上,MaxPicOrderCntLsb取值等于POC的MSB最小容许正整数取值,或等于POC的最大LSB容许取值加1。其中,log2_max_pic_order_cnt_lsb_minus4来自于BL使用的SPS。
解码器计算((PicOrderCntMsb>>(log2_max_pic_order_cnt_lsb_minus4+4))<<(log2_max_pic_order_cnt_lsb_minus4+4))的取值,并将该取值重新赋值给变量PicOrderCntMsb。其中,log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS,运算符“>>”和“<<”是H.265/HEVC Version 1标准中定义的比特移位运算符。
执行步骤S914。
步骤S912,解码器根据当前图像的图像类型和已解码的同层信息,推导POC对齐过程中使用的MSB取值。执行步骤S914。该步骤S912可以包括以下处理步骤:
步骤S912-1:解码器判断下述条件是否全部成立:
条件1:当前EL图像的图像类型是IDR图像,或BLA图像,或CRA图像;
条件2:当前解码器维护的标志位变量NoRaslOutputFlag的取值等于1。
若上述条件全部成立,解码器执行步骤S912-2;反之,执行步骤S912-4。
步骤S912-2:解码器在已解码的同层图像中按解码顺序查找最近一个TemporalId值等于0、且不是RADL图像、不是RASL图像、不是时域子层非参考图像,将该图像的POC取值赋值给变量PicOrderCntMsb。
步骤S912-3:解码器计算(PicOrderCntMsb–(PicOrderCntMsb&(MaxPicOrderCntLsb–1)))的取值,并将该取值重新赋值给变量PicOrderCntMsb。其中,运算符“&”是H.265/HEVC Version 1标准中定义的运算符;MaxPicOrderCntLsb的取值等于(1<<(log2_max_pic_order_cnt_lsb_minus4+4))。实际上,MaxPicOrderCntLsb取值等于POC的MSB最小容许正整数值,或等于POC的最大LSB容许取值加1。其中,log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS。
步骤S912-4,当步骤S912-1中的判断条件不全部成立时,当前EL图像是普通的帧间预测编码图像,或是CRA图像但对应的NoRaslOutputFlag的取值等于0。此时,解码器执行如下操作:
解码器将PicOrderCntMsb的取值设置为0。
步骤S914,解码器设置变量PicOrderCntLsb的取值。
解码器解析slice_pic_order_cnt_lsb的取值。
当poc_alignment_flag取值等于1时,解码器将变量PicOrderCntLsb的取值设置为slice_pic_order_cnt_lsb的取值。
步骤S916,当poc_alignment_flag取值等于1时,解码器将记录当前图像的POC值变量PicOrderCntVal的取值设置为PicOrderCntMsb与PicOrderCntLsb之和。执行步骤S920。
步骤S918,解码器使用H.265/HEVC Version 1标准的方法确定当前图像POC的取值PicOrderCntVal。执行步骤S920。
步骤S920,解码器计算POC过程结束。
在本优选实施里中,上述码流如表2所示,包含:标识是否使用POC对齐操作的信息;标识POC对齐操作中MSB获取方式的信息。对应的码流中,携带有如下比特 字段:标识是否使用POC对齐操作的比特字段;标识POC对齐操作中MSB获取方法的比特字段。
表2
Figure PCTCN2014089231-appb-000002
表2中各字段的语义(对应的解码器操作)如下。其中,slice_pic_order_cnt_lsb字段是现有方法中已有的比特字段。
poc_alignment_flag取值等于1时表示解码器在解码过程中需要使用POC对齐操作;反之,取值等于0时表示解码器在解码过程中可能使用、也可能不使用POC对齐操作。当码流中不包含该元素时,该元素的取值默认为0。该元素的编解码方法使用u(1)对应的编解码方法。
inherit_msb_from_base_layer_flag取值等于1时表示解码器在解码过程中使用BL已解码信息推导POC对齐过程中所需使用的MSB取值;反之,取值等于0时表示解码器在解码过程中不使用BL已解码信息推导POC对齐过程中所需使用的MSB取值。该元素的编解码方法使用u(1)对应的编解码方法,需要说明的是,inherit_msb_from_base_layer_flag相当于上述实施例中的“第一指示信息”。
图10是根据本发明优选实施例2的编码流程图。如图10所示,该流程包括:
步骤S1002,与步骤S802完全相同。
步骤S1004,编码器判断:poc_alignment_flag的取值是否等于1。若是,执行步骤S1006;否则,执行步骤S1010。
步骤S1006,编码器确定POC对齐操作过程中推导的MSB取值的方法,确定inherit_msb_from_base_layer_flag的取值。
简便地,当与当前EL图像位于同一个AU中的BL图像存在时,编码器将inherit_msb_from_base_layer_flag的取值设置为1,反之,编码器将inherit_msb_from_base_layer_flag的取值设置为0。
可替换地,为提高编码器性能,编码器可根据BL和EL之间的预测编码结构、不同层的帧率、抗误码性能优化和随机接入等因素,由编码器的优化模块确定inherit_msb_from_base_layer_flag的取值。
编码器使用u(1)对应的编码方法将inherit_msb_from_base_layer_flag的取值写入码流。
步骤S1008,编码器确定POC的LSB的取值。
对于EL上需要进行POC对齐操作的图像,编码器执行如下操作:
编码器确定该AU的POC值:如果与该EL图像位于同AU的BL图像存在,编码器将PicOrderCntVal的取值设置为该BL图像POC取值;反之,如果与该EL图像位于同AU的BL图像不存在,编码器根据BL的帧率信息及先前已编码的BL图像的POC信息,确定若该AU中包含BL图像时该BL图像所应使用的POC取值,并将该取值赋值给变量PicOrderCntVal。
编码器将(PicOrderCntVal&(MaxPicOrderCntLsb–1))的取值赋值给变量PicOrderCntLsb。其中,运算符“&”是H.265/HEVC Version 1标准中定义的运算符;MaxPicOrderCntLsb的取值等于(1<<(log2_max_pic_order_cnt_lsb_minus4+4))。实际上,MaxPicOrderCntLsb取值等于POC的MSB最小容许正整数取值,或等于POC的最大LSB容许取值加1。log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS。
编码器将PicOrderCntLsb的取值赋值给变量slice_poc_order_cnt_lsb,并使用u(v)对应的编码方法将slice_poc_order_cnt_lsb的取值写入码流,使用的编码比特数定于(log2_max_pic_order_cnt_lsb_minus4+4)。log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS。
步骤S1010,编码器使用现有方法确定slice_poc_order_cnt_lsb的取值,并将其写入码流。执行步骤S1012。
步骤S1012,编码器已完成将POC相关信息写入码流。
实施例3
图11是根据本发明优选实施例3的解码流程图。如图11所示,该流程包括:
步骤S1102,解码器从码流中解析poc_alignment_flag的取值。
解码器使用u(1)对应的解码方法从码流中解析poc_alignment_flag对应的比特字段,获得poc_alignment_flag的取值。
步骤S1104,解码器判断:poc_alignment_flag的取值是否为1。若是,则执行步骤S1106;否则,执行步骤S1120。
步骤S1106,解码器解析clear_poc_msb_flag的取值。
解码器使用u(1)对应的解码方法从码流中解析clear_poc_msb_flag对应的比特字段,获得clear_poc_msb_flag的取值。
步骤S1108,解码器判断:clear_poc_msb_flag的取值是否为1。若是,则执行步骤S1110;否则,执行步骤S1112。
步骤S1110,解码器将变量PicOrderCntMsb的取值设置为0。执行步骤S1116。
步骤S1112,解码器推导PicOrderCntMsb的取值。执行步骤S1116。该步骤可以包括以下处理步骤:
步骤S1112-1,解码器解析inherit_msb_from_base_layer_flag的取值。
解码器使用u(1)对应的解码方法从码流中解析inherit_msb_from_base_layer_flag对应的比特字段,获得inherit_msb_from_base_layer_flag的取值。
步骤S1112-2,解码器判断:inherit_msb_from_base_layer_flag的取值是否等于1。若是,执行步骤S1118;否则,执行步骤S1112-5。
步骤S1112-3,解码器解析poc_msb_diff_from_base_layer的取值。
解码器使用se(v)对应的解码方法从码流中解析poc_msb_diff_from_base_layer对应的比特字段,获得poc_msb_diff_from_base_layer的取值。
步骤S1112-4,解码器使用BL信息推导PicOrderCntMsb的取值。执行步骤S1112-6。
解码器在已解码的BL层图像中按解码顺序查找最近一个TemporalId值等于0、且不是RADL(Random Access Decodable Leading)图像或RASL(Random Access  Skipped Leading)图像或时域子层非参考图像,将该图像的POC取值赋值给变量BaseLayerPicOrderCnt。
解码器计算(BaseLayerPicOrderCnt–(BaseLayerPicOrderCnt&(MaxPicOrderCntLsb–1)))的取值,并将该取值重新赋值给变量BaseLayerPicOrderCntMsb。其中,运算符“&”是H.265/HEVC Version 1标准中定义的运算符;MaxPicOrderCntLsb的取值等于(1<<(log2_max_pic_order_cnt_lsb_minus4+4))。实际上,MaxPicOrderCntLsb取值等于POC的MSB最小容许正整数取值,或等于POC的最大LSB容许取值加1。其中,log2_max_pic_order_cnt_lsb_minus4来自于BL使用的SPS。
解码器计算((poc_msb_diff_from_base_layer+(BaseLayerPicOrderCntMsb>>(log2_max_pic_order_cnt_lsb_minus4+4)))<<(log2_max_pic_order_cnt_lsb_minus4+4))的取值,并将其赋值给变量PicOrderCntMsb。其中,log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS,运算符“>>”和“<<”分别是H.265/HEVC Version 1标准中定义的比特左移和右移运算符。
步骤S1112-5,解码器使用EL信息推导PicOrderCntMsb的取值。执行步骤S1112-6。
解码器在已解码的同层图像中按解码顺序查找最近一个TemporalId值等于0、且不是RADL图像、不是RASL图像、不是时域子层非参考图像,将该图像的POC取值赋值给变量PicOrderCntMsb。
步骤S1112-6,解码器推导PicOrderCntMsb取值过程结束。
步骤S1114,解码器设置变量PicOrderCntLsb的取值。
解码器解析slice_pic_order_cnt_lsb的取值。
当poc_alignment_flag取值等于1时,解码器将变量PicOrderCntLsb的取值设置为slice_pic_order_cnt_lsb的取值。
步骤S1116,当poc_alignment_flag取值等于1时,解码器将记录当前图像的POC值变量PicOrderCntVal的取值设置为PicOrderCntMsb与PicOrderCntLsb之和。执行步骤S1132。
步骤S1118,解码器使用H.265/HEVC Version 1标准的确定当前图像POC的取值PicOrderCntVal。执行步骤S1120。
步骤S1120,解码器计算POC过程结束。
在本优选实施例中,如表3所示码流中,包含:标识是否使用POC对齐操作的信息;标识POC对齐操作中MSB获取方式的信息。对应的码流中,携带有如下比特字段:标识是否使用POC对齐操作的比特字段;标识POC对齐操作中MSB获取方法的比特字段。
表3
Figure PCTCN2014089231-appb-000003
表3中各字段的语义(对应的解码器操作)如下。其中,slice_pic_order_cnt_lsb字段是现有方法中已有的比特字段。
poc_alignment_flag取值等于1时表示解码器在解码过程中需要使用POC对齐操作;反之,取值等于0时表示解码器在解码过程中可能使用、也可能不使用POC对齐操作。当码流中不包含该元素时,该元素的取值默认为0。该元素的编解码方法使用u(1)对应的编解码方法。
clear_poc_msb_flag取值等于1时表示解码器在计算当前图像POC的过程中,将PicOrderCntMsb的值设置为0;反之,取值等于1时表示解码器在计算当前图像POC的过程中,将PicOrderCntMsb的取值设置为aligned_poc_msb_value。该元素的编解码方法使用u(1)对应的编解码方法,需要说明的是,clear_poc_msb_flag相当于上述实施例中的“第二指示信息”。
inherit_msb_from_base_layer_flag取值等于1时表示解码器在解码过程中使用BL已解码信息推导POC对齐过程中所需使用的MSB取值;反之,取值等于0时表示解码器在解码过程中不使用BL已解码信息推导POC对齐过程中所需使用的MSB取值。该元素的编解码方法使用u(1)对应的编解码方法。
poc_msb_diff_from_base_layer用于计算使用POC对齐操作时PicOrderCntMsb的取值。该元素的编解码方法使用se(v)对应的编解码方法。
图12是根据本发明优选实施例3的编码流程图。如图12所示,该流程包括:
步骤S1202,与步骤S1002完全相同。
步骤S1204,编码器判断:poc_alignment_flag的取值是否等于1。若是,执行步骤S1206;否则,执行步骤S1214。
步骤S1206,编码器确定POC对齐操作过程中使用的POC的MSB和LSB的取值。
编码器可以根据多层视频编码预测结构判断是否需要执行POC的MSB清0操作。当如下条件之一成立时,编码器可直接将PicOrderCntMsb的取值设置为0。
条件1:BL是IDR图像,同AU中EL图像存在且不是IDR图像。
条件2:BL是BLA图像,同AU中EL图像存在且不是BLA图像。
条件3:按照解码顺序,之前的一个或多个AU中存在一个IDR或BLA的BL图像而这些AU中不包含EL图像。
对于EL上需要进行POC对齐操作的图像,编码器执行如下操作:
编码器确定该AU的POC值:如果与该EL图像位于同AU的BL图像存在,编码器将PicOrderCntMsb的取值设置为该BL图像POC取值;反之,如果与该EL图像位于同AU的BL图像不存在,编码器根据BL的帧率信息及先前已编码的BL图像的POC信息,确定若该AU中包含BL图像时该BL图像所应使用的POC取值,并将该取值赋值给变量PicOrderCntMsb。
编码器将(PicOrderCntMsb&(MaxPicOrderCntLsb–1))的取值赋值给变量PicOrderCntLsb。其中,运算符“&”是H.265/HEVC Version 1标准中定义的运算符; MaxPicOrderCntLsb的取值等于(1<<(log2_max_pic_order_cnt_lsb_minus4+4)),其取值等于POC的MSB最小容许正整数取值,或等于POC的最大LSB容许取值加1。
编码器在不满足上述三个条件中的任一条件时,编码器使用如下方法确定PicOrderCntMsb的取值:
编码器计算(PicOrderCntMsb–PicOrderCntLsb)的取值,并将该值重新赋值给变量PicOrderCntMsb。
当PicOrderCntMsb的取值等于0时,编码器将变量clear_poc_msb_flag的取值设置为1;反之,编码器将变量clear_poc_msb_flag的取值设置为0。
编码器使用u(1)对应的编码方法将clear_poc_msb_flag的取值写入码流。
步骤S1208,编码器判断:clear_poc_msb_flag的取值是否等于0。若是,则执行步骤S1210否则,执行步骤S1212。
步骤S1210,编码器确定POC对齐过程所使用的MSB信息并写入码流。执行步骤S1212。
编码器在已解码的同EL层图像中按解码顺序查找最近一个TemporalId值等于0、且不是RADL(Random Access Decodable Leading)图像或RASL(Random Access Skipped Leading)图像或时域子层非参考图像,将该图像的POC取值赋值给变量prevPicOrderCnt。
编码器计算(prevPicOrderCnt>>(log2_max_pic_order_cnt_lsb_minus4+4))的取值,并将该值重新复制给变量prevPicOrderCntMsb。其中,log2_max_pic_order_cnt_lsb_minus4的取值来自于该EL使用的SPS。
如果prevPicOrderCntMsb的取值与PicOrderCntMsb的取值相等,编码器将inherit_msb_from_base_layer_flag的取值设置为0。反之,编码器将inherit_msb_from_base_layer_flag的取值设置为1。
可替换地,为提高编码器性能,编码器可根据BL和EL之间的预测编码结构、不同层的帧率、抗误码性能优化和随机接入等因素,由编码器的优化模块确定inherit_msb_from_base_layer_flag的取值。
编码器使用u(1)对应的解码方法将inherit_msb_from_base_layer_flag的取值写入码流。
当inherit_msb_from_base_layer_flag的取值等于1时,编码器使用如下方法确定poc_msb_diff_from_base_layer的取值。
编码器在已解码的BL层图像中按解码顺序查找最近一个TemporalId值等于0、且不是RADL(Random Access Decodable Leading)图像或RASL(Random Access Skipped Leading)图像或时域子层非参考图像,将该图像的POC取值赋值给变量BaseLayerPicOrderCnt。
编码器计算(BaseLayerPicOrderCnt–(BaseLayerPicOrderCnt&(MaxPicOrderCntLsb–1)))的取值,并将该取值重新赋值给变量BaseLayerPicOrderCntMsb。其中,运算符“&”是H.265/HEVC Version 1标准中定义的运算符;MaxPicOrderCntLsb的取值等于(1<<(log2_max_pic_order_cnt_lsb_minus4+4))。MaxPicOrderCntLsb取值等于POC的MSB最小容许正整数取值,或等于POC的最大LSB容许取值加1。其中,log2_max_pic_order_cnt_lsb_minus4来自于BL使用的SPS。
编码器计算((PicOrderCntVal–(BaseLayerPicOrderCntMsb>>(log2_max_pic_order_cnt_lsb_minus4+4)))<<(log2_max_pic_order_cnt_lsb_minus4+4))的取值,并将其赋值给变量poc_msb_diff_from_base_layer。其中,log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS,运算符“>>”和“<<”分别是H.265/HEVC Version 1标准中定义的比特左移和右移运算符。
编码器使用se(v)对应的编码方法将poc_msb_diff_from_base_layer的取值写入码流。
步骤S1212,编码器将POC对齐所使用的LSB信息写入码流。执行步骤S1216。
编码器将PicOrderCntLsb的取值赋值给变量slice_poc_order_cnt_lsb,并使用u(v)对应的编码方法将slice_poc_order_cnt_lsb的取值写入码流,使用的编码比特数定于(log2_max_pic_order_cnt_lsb_minus4+4)。其中,log2_max_pic_order_cnt_lsb_minus4来自于EL使用的SPS。
步骤S1214,编码器使用现有方法确定slice_poc_order_cnt_lsb的取值,并将其写入码流。
步骤S1216,编码器已完成将POC相关信息写入码流。
该电子设备可以处理以下至少一种多层视频信号:可伸缩视频,多视点视频,多视点深度,多视点视频+多视点深度。其中,立体视频是多视点视频的一种视点数等于2的特殊形式。
所述电子设备可使用前述实施例中编码器的实施方法,对多层视频信号进行编码,并输出码流。
所述电子设备可使用前述实施例中编码和/或解码的实施方法,对码流进行解析,获得解码、播放过程中所需使用的POC信息,恢复多层视频信号。
本实施例的电子设备可以是视频通信应用中相关码流生成设备和接收播放设备,例如,手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播系统设备等。
综上所述,本发明实施例实现了以下有益效果:解决了相关技术中,在多层视频编码及解码过程中,无法保证正确解码和输出多层视频编码码流以及增加网络资源的额外开销等问题,实现了不需要在BL码流中为实施POC对齐相关操作增加任何比特字段,也不需要对层的DPB中存储图像进行POC平移操作的效果。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
基于本发明实施例提供的上述技术方案,采用根据解析多层视频编码码流得到的结果获取POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数,并根据该MSB参数和LSB参数确定当前图像POC值的MSB取值和LSB取值,进而计算得到所述当前图像POC值的技术手段,解决了相关技术中,在多层视频编码及解码过程中,无法保证正确解码和输出多层视频编码码流以及增加网络资源的额外开销等问题,实现了不需要在BL码流中为实施POC对齐相关操作增加任何比特字段,也不需要对层的DPB中存储图像进行POC平移操作的效果。

Claims (28)

  1. 一种视频图像序号POC的解码方法,包括:
    获取对POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数;
    根据所述MSB参数和所述LSB参数确定当前图像POC值的MSB取值和LSB取值;
    根据所述MSB取值和所述LSB取值计算得到所述当前图像POC值。
  2. 根据权利要求1所述的方法,其中,根据所述MSB参数确定当前图像POC值的MSB取值包括以下之一:
    方法一,从码流中直接获取所述码流携带的MSB参数,根据所述码流携带的MSB参数获取所述MSB取值;
    方法二,获取用于指示在POC对齐过程中增强层EL所使用的MSB取值的第一指示信息,根据所述第一指示信息推导所述EL所使用的MSB取值,得到所述当前图像POC值的MSB取值;
    方法三,获取用于指示所述MSB参数的获取方式的第二指示信息集;根据所述第二指示信息集确定所述EL所使用的MSB取值,得到所述当前图像POC值的MSB取值。
  3. 根据权利要求2所述的方法,其中,通过以下方式确定推导所述EL的MSB取值过程中所使用的参考POC取值:
    从基本层BL或EL已有解码信息中获得所述参考POC取值。
  4. 根据权利要求2或3所述的方法,其中,根据所述第一指示信息推导所述EL所使用的MSB取值:
    根据所述EL所使用的LSB比特字段长度信息,从所述参考POC取值中提取所述EL所使用的MSB取值。
  5. 根据权利要求4所述的方法,其中,从所述参考POC取值中提取所述EL所使用的MSB取值包括以下之一:
    使用所述参考POC取值对应的MSB取值作为所述EL所使用的MSB取值;或者,
    将所述参考POC取值的二进制取值中的低比特位置0,作为EL使用的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;
    将所述参考POC取值的二进制取值先进行右移位操作、后进行左移位操作,其中,移位操作的二进制位数等于所述增强层EL所使用的LSB比特字段长度值。
  6. 根据权利要求2所述的方法,其中,根据所述码流携带的MSB参数获取所述MSB取值包括以下之一:
    根据用于标识所述MSB取值为0的标识信息获取所述当前图像POC值的所述MSB取值;
    将所述MSB参数取值设置为所述当前图像POC值的MSB取值;
    将所述MSB参数取值与以下之一取值的乘积设置为所述当前图像POC值的所述MSB取值:当前图像POC值的MSB最小容许正整数取值的乘积、所述当前图像POC值的最大LSB容许取值加1后得到的取值;
    将所述MSB参数取值的二进制取值进行左移位操作,将移位操作后的所述MSB参数取值作为当前图像POC值的所述MSB取值,其中,左移位的二进制位数等于所述EL所使用的LSB比特字段长度值。
  7. 根据权利要求2所述的方法,其中,根据所述第二指示信息集确定所述EL所使用的MSB取值,包括:
    将所述EL所使用的MSB取值设置为0;或者,
    使用从BL已有解码信息中的POC取值的低比特位置0后的取值作为所述EL的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;或者,
    使用从BL已有解码信息中的POC取值的低比特位置0后的取值与所述EL分片头信息携带的修正值之和作为所述EL的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值。
  8. 根据权利要求2至7中任一项所述的方法,其中,还包括:
    获取确定所述EL所使用的MSB取值所需的所述MSB参数的比特字段的长度。
  9. 根据权利要求1所述的方法,其中,根据所述LSB参数确定当前图像POC值的LSB取值包括:
    从EL的分片头信息中直接获取所述LSB参数。
  10. 根据权利要求1所述的方法,其中,根据所述MSB取值和所述LSB取值计算得到所述当前图像POC值包括:
    将所述MSB取值与LSB取值之和作为所述当前图像POC取值。
  11. 根据权利要求1所述的方法,其中,获取对POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数之前,包括:
    获取EL分片头信息中携带的POC对齐操作标志位,其中,在所述POC对齐操作标志位指示需要进行对齐操作时,触发获取所述MSB参数和所述LSB参数。
  12. 一种视频图像序号POC的编码方法,包括:
    获取执行POC对齐操作时所使用的当前图像的POC值;
    将所述POC值的最高比特位MSB取值和最低比特位LSB取值映射为在执行POC对齐操作时所使用的MSB参数和LSB参数;
    将所述MSB参数和所述LSB参数写入码流。
  13. 根据权利要求12所述的方法,其中,获取执行POC对齐操作时所使用的当前图像的POC值包括:
    如果与当前增强层EL图像位于同一接入单元AU的基本层BL图像存在,将所述POC值设置为该BL图像的POC取值;否则,根据BL的帧率信息及已编码的BL图像的POC信息,确定所述AU中在包含BL图像时所述BL图像所应使用的POC取值,并将所述BL图像所应使用的POC取值作为所述POC值。
  14. 根据权利要求12所述的方法,其中,通过以下方法确定所述MSB取值和LSB取值:
    将所述POC值的二进制取值中的低比特位作为所述LSB取值,所使用的二进制低比特位的位数等于EL所使用的LSB比特字段长度值;将所述POC值与LSB取值之差作为所述MSB取值;或者,
    将所述POC值的二进制表示中的低比特位置0,作为EL使用的MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;将置0操作前所述POC值与所述MSB取值之差作为所述LSB取值;或者,
    将所述POC值的二进制取值先进行右移位操作、后进左移位操作,其中,左移位和右移位的二进制位数等于所述EL所使用的LSB比特字段长度值,将移位操作后的POC值作为所述MSB取值,将移位操作前所述POC值与所述MSB取值之差作为所述LSB取值。
  15. 根据权利要求12所述的方法,其中,将所述POC值的MSB取值映射为在执行POC对齐操作时所使用的MSB参数包括以下之一:
    方法一,将所述MSB取值携带于所述码流中,作为所述MSB参数;
    方法二,将所述MSB取值映射为用于指示在POC对齐过程中EL所使用的MSB取值的第一指示信息;
    方法三,将所述MSB取值映射为用于指示所述MSB参数的获取方式的第二指示信息集。
  16. 根据权利要求15所述的方法,其中,将所述MSB取值携带于所述码流中包括:
    将所述MSB取值直接设置为用于标识所述MSB取值为0的标识信息携带于EL图像分片头信息;或者,
    将所述MSB取值直接携带于EL图像分片头信息;或者,
    将所述MSB取值相对于以下之一取值的倍数值携带于EL图像分片头信息中:当前图像POC值的MSB最小容许正整数取值、所述当前图像POC值的最大LSB容许取值加1后得到的取值;或者,
    将所述MSB取值二进制取值进行右移位操作,将移位操作后的MSB取值携带于EL图像分片头信息中,其中,右移位的二进制位数等于所述EL所使用的LSB比特字段长度值。
  17. 根据权利要求12所述的方法,其中,包括:
    将所述MSB参数的比特字段的长度携带于所述码流。
  18. 根据权利要求15所述的方法,其中,使用以下方法确定所述第一指示信息:
    选取EL已解码图像的POC取值,将其二进制取值的低比特位置为0,将低比特位置为0后的所述POC取值作为第一候选MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;
    当所述第一候选MSB值与所述EL所使用的MSB取值相等时,将所述第一指示信息设置为用于指示使用EL信息推导POC对齐操作所使用MSB取值的指示信息;否则,选取基本层BL已解码图像的POC取值,将其二进制表示的低比特位置为0,将低比特位置为0后的所述POC取值作为第二候选MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;
    当所述第二候选MSB值与所述EL所使用的MSB取值相等时,将所述第一指示信息设置为用于指示使用BL信息推导POC对齐操作所使用MSB取值的指示信息;或者,
    当所述第二候选MSB值与所述EL所使用的MSB取值相等时,将所述第一指示信息设置为用于指示使用BL信息推导POC对齐操作所使用MSB取值的指示信息;否则,当所述第一候选MSB值与所述EL所使用的MSB取值相等时,将第一指示信息设置为用于指示使用EL信息推导POC对齐操作所使用MSB取值的指示信息。
  19. 根据权利要求15所述的方法,其中,所述第一指示信息携带于EL图像分片头信息中。
  20. 根据权利要求15所述的方法,其中,当所述MSB取值等于0时,使用以下方法确定所述第二指示信息集:
    在第二指示信息集中设置用于指示将MSB值置为0的指示信息,并将该指示信息携带于EL图像分片头信息中。
  21. 根据权利要求15所述的方法,其中,当所述MSB取值不等于0时,使用以下之一方法确定所述第二指示信息集:
    在第二指示信息集中设置用于指示不将MSB值置为0的指示信息,并将该指示信息携带于EL图像分片头信息中;
    选取BL已解码图像的POC取值,将其二进制表示的低比特位置为0,将其作为候选MSB取值,其中,置0的低比特位位数等于所述EL所使用的LSB比特字段长度值;当所述MSB取值等于所述候选MSB取值时,在第二指示信 息集中设置用于指示直接将MSB取值设置为根据BL信息推导所得候选MSB取值的指示信息,并将该指示信息携带于EL图像分片头信息中;否则,在所述第二指示信息集中设置用于指示不直接将MSB取值设置为根据BL信息推导所得候选MSB取值的指示信息,并计算所述MSB取值与所述候选MSB取值之间的差值,将该指示信息和所述差值携带于EL图像分片头信息中。
  22. 根据权利要求12所述的方法,其中,所述LSB参数携带于EL图像分片头信息中。
  23. 根据权利要求12所述的方法,其中,获取执行POC对齐操作时所使用的当前图像的POC值之前,包括:在满足以下之一条件时,确定需要执行POC对齐操作:
    条件1:BL的图像为解码立即刷新IDR图像,所述IDR图像所在AU中EL存在图像且非IDR图像;
    条件2:BL的图像为断开连接访问BLA图像,且所述BLA图像所在AU中EL存在图像且非BLA图像;
    条件3:按照解码顺序,在当前AU之前的一个或多个AU中存在一个IDR或BLA的BL图像且所述一个或多个AU中不包含EL图像;
    条件4:EL的图像为IDR图像,所述IDR图像所在AU中BL图像存在且非IDR图像,或者所述EL的图像所在AU中不存在BL图像;
    条件5:EL的图像为BLA图像,且所述BLA图像所在AU中BL存在图像且非BLA图像,或者所述BLA图像所在AU中不存在BL图像。
  24. 一种视频图像序号POC的解码装置,包括:
    获取模块,设置为获取对POC进行对齐操作时所使用的最高比特位MSB参数和最低比特位LSB参数;
    确定模块,设置为根据所述MSB参数和所述LSB参数确定当前图像POC值的MSB取值和LSB取值;
    计算模块,设置为根据所述MSB取值和所述LSB取值计算得到所述当前图像POC值。
  25. 根据权利要求24所述的装置,其中,所述确定模块,设置为通过以下之一方法确定所述MSB:
    方法一,从码流中直接获取所述码流携带的MSB参数,根据所述码流携带的MSB参数获取所述MSB取值;
    方法二,获取用于指示在POC对齐过程中增强层EL所使用的MSB取值的第一指示信息,根据所述第一指示信息推导所述EL所使用的MSB取值,得到所述当前图像POC值的MSB取值;
    方法三,获取用于指示所述MSB参数的获取方式的第二指示信息集;根据所述第二指示信息集确定所述EL所使用的MSB取值,得到所述当前图像POC值的MSB取值。
  26. 一种视频图像序号POC的编码装置,包括:
    获取模块,设置为获取执行POC对齐操作时所使用的当前图像的POC值;
    映射模块,设置为将所述POC值的最高比特位MSB取值和最低比特位LSB取值映射为在执行POC对齐操作时所使用的MSB参数和LSB参数;
    写入模块,设置为将所述MSB参数和所述LSB参数写入码流。
  27. 根据权利要求26所述的装置,其中,所述获取模块,设置为在与当前增强层EL图像位于同一接入单元AU的基本层BL图像存在时,将所述POC值设置为该BL图像的POC取值;否则,根据BL的帧率信息及已编码的BL图像的POC信息,确定所述AU中在包含BL图像时所述BL图像所应使用的POC取值,并将所述BL图像所应使用的POC取值作为所述POC值。
  28. 一种电子设备,包括:权利要求24或25所述的装置,和/或权利要求26或27所述的装置。
PCT/CN2014/089231 2013-12-26 2014-10-23 视频图像序号的编码、解码方法及装置、电子设备 WO2015096542A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP14875285.0A EP3089451A4 (en) 2013-12-26 2014-10-23 Video picture order count coding and decoding methods and apparatuses and electronic device
JP2016542905A JP6511677B2 (ja) 2013-12-26 2014-10-23 ピクチャ順序カウントの符号化方法及び装置、復号化方法及び装置、電子機器
KR1020167020427A KR102266046B1 (ko) 2013-12-26 2014-10-23 동영상 픽쳐오더카운트의 부호화, 복호화 방법 및 장치, 전자기기
US15/107,585 US10362304B2 (en) 2013-12-26 2014-10-23 Method and device for coding POC, method and device for decoding POC, and electronic equipment
US16/518,183 US10827170B2 (en) 2013-12-26 2019-07-22 Method and device for coding POC, method and device for decoding POC, and electronic equipment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310733011.6A CN104754347B (zh) 2013-12-26 2013-12-26 视频图像序号的编码、解码方法及装置、电子设备
CN201310733011.6 2013-12-26

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/107,585 A-371-Of-International US10362304B2 (en) 2013-12-26 2014-10-23 Method and device for coding POC, method and device for decoding POC, and electronic equipment
US16/518,183 Continuation US10827170B2 (en) 2013-12-26 2019-07-22 Method and device for coding POC, method and device for decoding POC, and electronic equipment

Publications (1)

Publication Number Publication Date
WO2015096542A1 true WO2015096542A1 (zh) 2015-07-02

Family

ID=53477494

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/089231 WO2015096542A1 (zh) 2013-12-26 2014-10-23 视频图像序号的编码、解码方法及装置、电子设备

Country Status (6)

Country Link
US (2) US10362304B2 (zh)
EP (1) EP3089451A4 (zh)
JP (1) JP6511677B2 (zh)
KR (1) KR102266046B1 (zh)
CN (1) CN104754347B (zh)
WO (1) WO2015096542A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104754358B (zh) * 2013-12-27 2019-02-19 中兴通讯股份有限公司 码流的生成和处理方法、装置及系统
US10158867B2 (en) 2014-06-20 2018-12-18 Qualcomm Incorporated Picture order count reset for multi-layer codecs
US9807419B2 (en) * 2014-06-25 2017-10-31 Qualcomm Incorporated Recovery point SEI message in multi-layer video codecs
US9838697B2 (en) * 2014-06-25 2017-12-05 Qualcomm Incorporated Multi-layer video coding
CN106303673B (zh) * 2015-06-04 2021-01-22 中兴通讯股份有限公司 码流对齐、同步处理方法及发送、接收终端和通信系统
CN106937121B (zh) 2015-12-31 2021-12-10 中兴通讯股份有限公司 图像解码和编码方法、解码和编码装置、解码器及编码器
BR112021014857A2 (pt) * 2019-02-01 2021-10-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados
CA3152298A1 (en) * 2019-09-24 2021-04-01 Ye-Kui Wang Support of mixed irap and non-irap pictures within an access unit in multi-layer video bitstreams
US11356698B2 (en) 2019-12-30 2022-06-07 Tencent America LLC Method for parameter set reference constraints in coded video stream

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013044075A2 (en) * 2011-09-23 2013-03-28 Qualcomm Incorporated Reference picture signaling and decoded picture buffer management
WO2013048311A1 (en) * 2011-09-27 2013-04-04 Telefonaktiebolaget L M Ericsson (Publ) Decoders and methods thereof for managing pictures in video decoding process
US20130188709A1 (en) * 2012-01-25 2013-07-25 Sachin G. Deshpande Video decoder for tiles with absolute signaling
US20130208792A1 (en) * 2012-01-31 2013-08-15 Vid Scale, Inc. Reference picture set (rps) signaling for scalable high efficiency video coding (hevc)
CN103379320A (zh) * 2012-04-16 2013-10-30 华为技术有限公司 视频图像码流处理方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6897793B1 (en) * 2004-04-29 2005-05-24 Silicon Image, Inc. Method and apparatus for run length limited TMDS-like encoding of data
US9532052B2 (en) * 2013-04-08 2016-12-27 Qualcomm Incorporated Cross-layer POC alignment for multi-layer bitstreams that may include non-aligned IRAP pictures

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013044075A2 (en) * 2011-09-23 2013-03-28 Qualcomm Incorporated Reference picture signaling and decoded picture buffer management
WO2013048311A1 (en) * 2011-09-27 2013-04-04 Telefonaktiebolaget L M Ericsson (Publ) Decoders and methods thereof for managing pictures in video decoding process
US20130188709A1 (en) * 2012-01-25 2013-07-25 Sachin G. Deshpande Video decoder for tiles with absolute signaling
US20130208792A1 (en) * 2012-01-31 2013-08-15 Vid Scale, Inc. Reference picture set (rps) signaling for scalable high efficiency video coding (hevc)
CN103379320A (zh) * 2012-04-16 2013-10-30 华为技术有限公司 视频图像码流处理方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3089451A4 *

Also Published As

Publication number Publication date
JP2017507521A (ja) 2017-03-16
KR102266046B1 (ko) 2021-06-17
JP6511677B2 (ja) 2019-05-15
US10362304B2 (en) 2019-07-23
CN104754347B (zh) 2019-05-17
US20170013259A1 (en) 2017-01-12
KR20160104657A (ko) 2016-09-05
EP3089451A4 (en) 2017-01-11
US10827170B2 (en) 2020-11-03
CN104754347A (zh) 2015-07-01
EP3089451A1 (en) 2016-11-02
US20190349579A1 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
WO2015096542A1 (zh) 视频图像序号的编码、解码方法及装置、电子设备
JP6549145B2 (ja) マルチレイヤコーデックのためのhevc seiメッセージの汎用的な使用
US20190222863A1 (en) Video coding and decoding
JP5902314B2 (ja) マルチビュービデオコード化(mvc)適合3次元ビデオコード化(3dvc)のためのパラメータセットのアクティブ化
JP5553945B2 (ja) ビットストリームサブセットの指示
JP6285034B2 (ja) コードストリームの生成と処理方法、装置及びシステム
US20120212579A1 (en) Method and Arrangement for Multi-View Video Compression
ES2588314T3 (es) Gestión de memoria intermedia de imágenes decodificadas de múltiple resolución para codificación de vídeo multi-capa
JP2013509084A (ja) 付加処理情報の提供
CN111031302A (zh) 三维视频序列辅助信息的解码方法、编码方法及装置
JP6442067B2 (ja) Hevc拡張の搬送のための動作点のシグナリング

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016542905

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

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014875285

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014875285

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15107585

Country of ref document: US