WO2014154074A1 - 一种深度信息编解码方法、装置及视频处理播放设备 - Google Patents

一种深度信息编解码方法、装置及视频处理播放设备 Download PDF

Info

Publication number
WO2014154074A1
WO2014154074A1 PCT/CN2014/072490 CN2014072490W WO2014154074A1 WO 2014154074 A1 WO2014154074 A1 WO 2014154074A1 CN 2014072490 W CN2014072490 W CN 2014072490W WO 2014154074 A1 WO2014154074 A1 WO 2014154074A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
depth
lookup table
dlt
difference
Prior art date
Application number
PCT/CN2014/072490
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 JP2016504463A priority Critical patent/JP6371373B2/ja
Priority to KR1020157030831A priority patent/KR101700752B1/ko
Priority to US14/779,308 priority patent/US10477245B2/en
Priority to EP14774120.1A priority patent/EP2981081B1/en
Publication of WO2014154074A1 publication Critical patent/WO2014154074A1/zh

Links

Classifications

    • 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
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the embodiment of the invention relates to a three-dimensional video compression coding technology, and in particular to a method and device for encoding and decoding depth information, and a video processing and playback device. Background technique
  • Simplified Depth Coding is being developed in the High Efficiency Video Coding (HEVC) standard-compatible 3D-HEVC coding standard 3D-HEVC (HEVC Three-Dimensional extension framework) , SDC ) can effectively improve the coding efficiency of depth information, and the computational complexity is low.
  • the depth of the depth sampled information can be further reduced by using the Depth Look-up Table (DLT) to map the depth input of the encoder to the depth value index number, thereby further improving the bit depth of the depth sampling information.
  • DLT Depth Look-up Table
  • the encoder needs to write the DLT to the code stream.
  • the 3D-HEVC standard uses direct encoding to write DLT information into the code stream.
  • the decoding process is as follows:
  • the decoder For the Depth Component, the decoder first parses the value of dlt_flag from the input stream. When the value of dlt_flag is equal to 1 (ie, using DLT), the decoder further parses the value of num_depth_values-in_dlt, and then the decoder parses num_depth_values_in_dlt DLT elements The value of dlt_depth_value [i][j] ).
  • the encoding process is as follows:
  • Encoding process When encoding the depth component, the encoder first writes the dlt_flag to the code stream; when the value of the dlt flag is equal to 1 (ie, uses DLT), the encoder writes the number of depth values contained in the DLT into the code. Stream, then, the encoder will each element in the DLT (dlt_depth_value[i][j] ) The values are written directly into the code stream.
  • the proposal document JCT3V-C0142 gives a Range Constrained Bit Map (RCBM) method with limited value range.
  • the method first encodes the minimum and maximum values (indicated by the difference between the maximum and the minimum) in the DLT in the code stream, and then identifies the minimum and maximum values using an identification bit map consisting of one-dimensional flag vector. Whether each depth value is in the DLT.
  • RCBM Range Constrained Bit Map
  • the DLT decoding process of the RCBM method is as follows:
  • the decoder parses the value of dlt_flag from the input code stream; when the value of dlt_flag is equal to 1 (ie, using DLT), the decoder parses the code_fll_bit_depth_ The value of map_flag, when the value of code_f ll — bit — depth — map — flag is 0, the minimum depth value in DLT is set to 0, and the maximum depth value in DLT is set to the maximum allowable value (such as When the bit depth of the depth sample value is 8, the value is 255). Conversely, when the value of code_fom_bit_depth_map_flag is 1, the decoder parses the depth sample value in the DLT from the input code stream.
  • the decoder parses whether the values in the range of values contain the flag bits in the DLT, and adds the depth sample values whose flag bits are equal to "1" to the DLT.
  • the encoding process of the RCBM method is as follows:
  • Encoding process When encoding the depth component, the encoder first writes the dlt_flag to the code stream; when the value of the dlt flag is equal to 1 (ie, using DLT), the encoder will code_f ll — bit — depth — map — The flag is written to the code stream; when the value of code_f ll_bit_depth_map_flag is 0, the minimum depth value in the DLT is set to 0, and the maximum depth value in the DLT is set to the maximum allowable value (such as depth). When the bit depth of the sampled value is 8, the value is 255).
  • code_full_bit_depth_map_flag 1
  • the encoder compares the minimum and maximum values of the depth sampled values in the DLT. The difference between the minimum values is written to the code stream; for the maximum and minimum ranges Each depth sample value (excluding the maximum value and the minimum value), whether the encoder includes the depth sample value in the DLT flag information ( "0" is not included in the DLT, "1" is included in the DLT) Write the code stream.
  • the main disadvantage of the existing methods in 3D-HEVC is that the values of the elements in the DLT are written directly into the code stream without the use of correlations between the data elements in the DLT to remove the redundancy between the data. This causes the DLT coded bit overhead to be too large.
  • the DLT information is located in the Sequence Parameter Set (SPS). Tests show that DLT information accounts for up to 65% of SPS overhead.
  • the RCBM method can effectively reduce the coding overhead of DLT information, since the method needs to encode a flag bit for each depth sample value between the minimum value and the maximum value to identify whether the depth value is included in the DLT, therefore, when When there are more non-DLT values between the value and the maximum value, the RCMB uses more extra bit overhead. Summary of the invention
  • the technical problem to be solved by the embodiments of the present invention is to provide a depth information encoding and decoding method and apparatus to improve the depth information coding efficiency.
  • an embodiment of the present invention discloses a method for encoding depth information, including:
  • the depth mapping lookup table is a data structure that represents the depth value by the index number
  • the first part of the depth mapping lookup table except the first element The value of each element and the difference between the value of the element whose index number is smaller than the index number of the element in the depth mapping lookup table are respectively encoded, including: the value of the element whose index number in the mapping lookup table is smaller than the index number of the element a difference between when the difference is less than or equal to a set threshold, the selected first entropy coding method is used to encode the difference, and when the difference is greater than a set threshold, then The difference is encoded by selecting a set second entropy encoding method.
  • the set threshold value is a preset fixed value; or a value dynamically adjusted during the encoding process.
  • the set threshold value is set for the entire depth map lookup table; or is set separately for other elements except the first element in the depth map lookup table.
  • the above method further includes:
  • the above method further includes:
  • the coded auxiliary information is written to the code stream, wherein the auxiliary information is used to identify an entropy coding method used to encode the difference.
  • the embodiment of the invention further discloses a method for decoding depth information, including:
  • the difference between the obtained difference and the depth mapping lookup table is smaller than the corresponding element of the difference
  • the value of the decoded element of the sequence number is added, and the sum value is used as the value of the index number element corresponding to the difference in the depth map lookup table.
  • the above method further includes:
  • decoding the depth map lookup table information includes: information about the number of elements included in the depth map lookup table.
  • the above method further includes:
  • decoding a bit field corresponding to the difference Before decoding the bit field corresponding to the difference, decoding a bit field corresponding to the auxiliary information of the encoded difference, obtaining an entropy coding method used by the difference, and entropy corresponding to the entropy coding method used according to the difference A decoding method decodes the difference.
  • the embodiment of the invention further discloses an encoding device for depth information, including:
  • a processing unit configured to place all elements in the depth map lookup table in ascending order of value
  • a first coding unit configured to encode a value of a first element in the depth map lookup table and write the code stream
  • the second coding unit is configured to: respectively, the value of the other element except the first element in the depth mapping lookup table and the difference between the value of the element whose index number is smaller than the element index number in the depth mapping lookup table respectively Encode and write to the code stream;
  • the depth map lookup table is a data structure that represents a depth value by an index number.
  • the second coding unit is configured to determine a difference between the values of the elements whose depth mapping is smaller than the element index number, when the difference is less than or equal to a set threshold And selecting the set first entropy coding method to encode the difference, and when the difference is greater than the set threshold, selecting the set second entropy coding method to encode the difference.
  • the set threshold value is a preset fixed value; or Is the value that is dynamically adjusted during the encoding process.
  • the set threshold value is set for the entire depth map lookup table; or is set separately for other elements except the first element in the depth map lookup table.
  • the first coding unit is further configured to write the depth map lookup table information into a code stream, where the depth map lookup table information includes information on the number of elements.
  • the second coding unit is configured to, when encoding the difference, further write the coding auxiliary information into the code stream, where the auxiliary information is used to identify the coded difference.
  • the entropy encoding method used by the value is configured to, when encoding the difference, further write the coding auxiliary information into the code stream, where the auxiliary information is used to identify the coded difference.
  • the embodiment of the invention further discloses a decoding device for depth information, including:
  • a first decoding unit configured to decode a bit field corresponding to a first element of the depth mapping lookup table in the received code stream to obtain a value of the first element
  • a second decoding unit configured to perform a bit field corresponding to a difference between a value of an element other than the first element in the depth mapping lookup table and an element whose index number in the depth mapping lookup table is smaller than an element index number of the element Decoding to obtain the difference;
  • the processing unit is configured to add the obtained difference value to the value of the decoded element in the depth mapping lookup table whose index number is smaller than the index element number of the difference corresponding element, and use the sum value as the difference in the depth mapping lookup table.
  • the value corresponds to the value of the index number element
  • the depth map lookup table is a data structure that represents a depth value by an index number.
  • the first decoding unit is configured to decode the depth map lookup table information before decoding the depth map lookup table, and includes: information about the number of elements included in the depth map lookup table.
  • the second decoding unit is configured to solve a bit field corresponding to the auxiliary information of the encoded difference value before decoding the bit field corresponding to the difference value And obtaining an entropy coding method used by the difference, and decoding the difference according to an entropy decoding method corresponding to the entropy coding method used by the difference.
  • the embodiment of the invention also discloses a video processing device, including:
  • a buffer configured to cache data to be encoded
  • An encoder configured to: place all elements in the depth mapping lookup table in the cached data in ascending order of value, encode the value of the first element in the depth mapping lookup table, and write the code stream And encoding, in the depth mapping lookup table, the value of the other element except the first element and the value of the element in the depth mapping lookup table whose index number is smaller than the element index number, respectively, and writing Code stream.
  • the encoder is configured to determine values of other elements except the first element in the depth mapping lookup table and values of elements in the depth mapping lookup table whose index number is smaller than the index number of the element.
  • the difference between the two when the difference is less than or equal to the set threshold, the selected first entropy coding method is used to encode the difference, and when the difference is greater than the set threshold, then the difference is selected.
  • the set second entropy encoding method encodes the difference.
  • the set threshold value of the encoder reference is a preset fixed value; or, is a dynamically adjusted value during the encoding process.
  • the set threshold value of the encoder reference is set for the entire depth map lookup table; or, is set separately for other elements except the first element in the depth map lookup table.
  • the encoder is configured to, when encoding the difference, further write the coded auxiliary information into the code stream, where the auxiliary information is used to identify an entropy coding method used to encode the difference value. .
  • the embodiment of the invention further discloses a video playing device, wherein the device comprises: a decoder configured to decode a bit field corresponding to a first element of a depth mapping lookup table in the received code stream to obtain a first The value of the element, in addition to the first in the depth map lookup table Decoding the bit field corresponding to the difference between the values of the elements in the depth mapping lookup table and the value of the element whose index number is smaller than the index number of the element, and obtaining the difference, and the obtained difference and depth mapping The value of the decoded element in the lookup table whose index number is smaller than the index element number of the difference corresponding element is added, and the sum value is used as the value of the index corresponding to the index number in the depth mapping lookup table;
  • a display configured to display the decoded data of the decoder.
  • the decoder is configured to: before decoding the bit field corresponding to the difference, decoding a bit field corresponding to the auxiliary information of the encoded difference, and obtaining an entropy coding method used by the difference, according to The difference is decoded by an entropy decoding method corresponding to the entropy coding method used by the difference.
  • Embodiments of the present invention also disclose a computer storage medium in which computer executable instructions are stored, the computer executable instructions being used to perform the above method.
  • the technical solution of the present application improves the efficiency of deep information encoding and decoding, and reduces the resource occupancy rate when deep information is encoded.
  • 1 is a logic flow chart of an encoding method in the embodiment
  • FIG. 5 is a flowchart of decoding of the fourth embodiment
  • FIG. 7 is a flowchart of decoding of the fifth embodiment
  • Figure 9 is a flowchart of decoding of the sixth embodiment.
  • Figure 10 is a flow chart of the encoding of the sixth embodiment. detailed description
  • the encoder implementation method described in the following embodiments is only one of the possible implementation methods of the encoder in this embodiment. Any encoder capable of generating a code stream that meets the requirements of the decoding process of the embodiment belongs to the encoding of the embodiment. Implement method. Example 1
  • This embodiment describes a method for encoding depth information. As shown in FIG. 1, the following steps 101 to 103 are included:
  • Step 101 Place all elements in the depth mapping lookup table in ascending order of value
  • all the elements in the depth map lookup table may be placed in ascending order of the value, and may be placed directly in the corresponding ascending position when the elements are placed in the DLT. Or, based on the existing DLT, rearrange the elements in ascending order.
  • Step 102 Encode the value of the first element in the depth mapping lookup table, and write the code stream;
  • Step 103 Encode the difference between the value of each element except the first element in the depth mapping lookup table and the value of the element whose index number in the depth mapping lookup table is smaller than the element index number. Write the code stream.
  • a preferred solution is proposed, which is to select a different entropy coding method to encode the difference by setting a threshold value. That is, after determining the difference between the value of each element except the first element in the depth mapping lookup table and the value of the element whose index number in the depth mapping lookup table is smaller than the index number of the element, when the difference is less than or equal to Set the threshold, then select the set number
  • An entropy encoding method (for example, entropy encoding method E1) encodes the difference, and when the difference is greater than a set threshold, selects a set second entropy encoding method (for example, entropy encoding method E2) The difference is encoded.
  • the set threshold may be a fixed value set in advance, or may be a variable dynamically adjusted during the encoding process.
  • the set threshold can be set for the entire depth map lookup table, that is, there is a set threshold for a depth map lookup table.
  • the threshold value may be set separately for other elements except the first element in the depth mapping lookup table, that is, there are N-1 setting limits for a depth mapping lookup table including N elements. value.
  • the depth mapping lookup table information may also be written into the code stream, where the depth mapping lookup table information includes information about the number of elements.
  • the auxiliary information may be encoded and written into the code stream, and the auxiliary information is used to identify the entropy coding method used for the coding difference, so that the decoding may be determined according to the auxiliary information. Which entropy decoding method is used to decode the difference.
  • This embodiment describes a method for decoding depth information.
  • the method can decode the code stream encoded by the foregoing embodiment 1.
  • the decoding process is as shown in FIG. 2, and includes the following steps 201 to 203: Step 201: Received The bit field corresponding to the first element of the depth mapping lookup table in the code stream is decoded to obtain the value of the first element;
  • Step 202 Decode, in the depth mapping lookup table, a bit field corresponding to a difference between an element of the depth mapping lookup table and an element whose index number is smaller than an element of the element index number in the depth mapping lookup table, to obtain a Difference value
  • Step 203 Add the obtained difference value to the value of the decoded element in the depth mapping lookup table whose index number is smaller than the index element number of the difference corresponding element, and use the sum value as the difference in the depth mapping lookup table.
  • the value of the index number element is the value of the index number element.
  • the depth mapping lookup table can also receive the depth before decoding.
  • the lookup table information is mapped, and the depth map lookup table information includes information of the number of elements included in the decoded depth map lookup table.
  • the received code stream may further include auxiliary information of the coded difference value in the depth mapping lookup table, so that before decoding the bit field corresponding to the difference value, the bit field corresponding to the auxiliary information of the coded difference value is first performed.
  • Decoding obtaining an entropy coding method used by the difference, and decoding the difference according to the entropy decoding method corresponding to the entropy coding method used by the difference.
  • This embodiment describes a specific process of performing depth information encoding and decoding according to the encoding and decoding methods of Embodiment 1 and Embodiment 2 in the specific application scenario.
  • the DLT code stream organization method of this embodiment is shown in Table 1.
  • the DLT code stream organization method is suitable for encoding and transmitting a DLT information code stream in a code stream organization structure such as a Parameter Set, a Slice Header or a Slice Segment Header.
  • the depth information identification method in the code stream identifies the information of the number of elements in the DLT; identifies the value of the first element in the DLT; identifies the value of the other elements except the first element in the DLT and the index number in the DLT is less than The difference between the elements of the element index sequence value; the auxiliary information identifying the entropy decoding method used to decode the difference corresponding bit field.
  • the corresponding code stream carries the following bit fields: a bit field of the element quantity information in the DLT; a bit field of the first element value in the DLT; a value other than the first element in the DLT and an index number in the DLT are smaller than a bit field of a difference between elements of the element index sequence number; an auxiliary information bit field identifying an entropy decoding method used to decode the difference bit field.
  • the code stream can be used to encode DLT data in a parameter set (armeter set) and/or slice header information and/or slice segment header information.
  • the DLT code stream organization method in this embodiment is as shown in Table 1:
  • DepthFlag is a flag bit for identifying whether the current processing component is a depth component.
  • dlt_flag When the value of dlt_flag is equal to 1, it means that the decoder needs to use DLT in the decoding process; otherwise, when the value is equal to 0, it means that the decoder does not use DLT during decoding.
  • the codec method of this element uses the codec method corresponding to u(l).
  • Num depth values in dlt indicates the number of deep sample point values contained in the DLT.
  • the codec method can use the codec method corresponding to ue(v), or the codec method corresponding to u(v). When the codec method corresponding to u(v) is used, the number of bits corresponding to num_depth_value_in_dlt in the code stream is equal to the bit depth of the depth component.
  • Dlt_depth—value[0] is the value of the first element in the DLT.
  • the encoding and decoding method can use the encoding and decoding method corresponding to ue(v), or the encoding and decoding method corresponding to u(v).
  • the codec method corresponding to u(v) is used, the number of bits corresponding to dlt_depth_value[0] in the code stream is equal to the bit depth of the depth component.
  • the encoding and decoding method of the element may use a codec method corresponding to ue(v), or a codec method corresponding to u(v). When u(v) corresponds to the codec method, dlt_depth_diff_minus l [i] corresponds to the ratio in the code stream The special number is equal to the bit depth of the depth component.
  • the process of decoding the code stream using the code stream organization of Table 1 above is as shown in FIG. 3, and includes the following steps 301 to 309:
  • Step 301 The decoder parses the value of the dlt_flag from the code stream.
  • the decoder uses the decoding method corresponding to u(l) to parse the bit field corresponding to the dlt_flag from the code stream, and obtain the value of dlt_flag.
  • Step 302 The decoder determines: whether the value of dlt_flag is 1. If yes, go to step 303; otherwise, go to step 309.
  • Step 303 The decoder parses the value of num_depth_values-in-dlt.
  • the decoder uses the ue(v) corresponding decoding method to parse the bit field corresponding to num_depth_values-in-dlt from the code stream, and obtain the value of num_depth_values-in-dlt.
  • the decoder uses the decoding method corresponding to u(v) to parse the bit field corresponding to num_depth_values-in-dlt from the code stream, and obtain the values of num_depth_values-in-dlt.
  • Step 304 The decoder parses the value of dlt_depth_value[0].
  • the decoder uses the decoding method corresponding to ue(v) to parse the bit field corresponding to dlt_depth_value[0] from the code stream, and obtain the value of dlt_depth_value[0].
  • the decoder uses the decoding method corresponding to u(v) to parse the bit field corresponding to dlt_depth_value[0] from the code stream, and obtain the value of dlt_depth_value[0].
  • step 306 the decoder determines: i ⁇ num — depth — values — in — dlt is true. If yes, go to step 307, otherwise, go to step 309.
  • Step 307 the decoder parses the value of dlt_depth_diff_ minusl [i].
  • the decoder parses dlt_depth_diff_ minusl [i] from the code stream using the decoding method corresponding to ue(v) Corresponding bit field, obtain the value of dlt_depth_diff_ minusl [i].
  • the decoder uses the decoding method corresponding to u(v) to parse the bit field corresponding to dlt_depth_diff_min 1 [i] from the code stream, and obtain the value of dlt_depth_diff_min 1 [i].
  • Step 309 the decoding ends the process of obtaining the DLT data from the code stream, and the DLT data is stored in the group dlt_depth_value.
  • the encoding process using the code stream organization of Table 1 above is as shown in FIG. 4, and includes the following steps 401 to 408:
  • Step 401 The encoder writes the value of the dlt_flag into the code stream by using an encoding method corresponding to u(l).
  • the encoder uses existing encoder optimization techniques to determine if DLT is required during the encoding process. If DLT is used, the value of dlt_flag is set to 1; otherwise, the value of dlt_flag is set to 0.
  • Step 402 The encoder determines: whether the value of dlt_flag is 1. If yes, perform the steps
  • step 408 is performed.
  • Step 403 The encoder obtains the value of the number of elements included in the DLT and writes it into the code stream.
  • the encoder uses the existing method to obtain the raw data of the DLT, stores it in an array, and counts the number of valid elements contained in the array as the value of the number of elements contained in the DLT.
  • Step 404 the encoder sorts the data in the DLT in ascending order, and writes the first data in the DLT into the code stream.
  • the encoder sorts the data in the DLT in ascending order; or, when the encoder obtains the DLT raw data, the data is placed in an array of DLTs in ascending order of the original data.
  • the encoder writes the first data value in the DLT to the code stream using the encoding method corresponding to ue(v). Or the encoder writes the first data value in the DLT to the code stream using the encoding method corresponding to u(v).
  • step 406 the encoder determines: i ⁇ num — depth — values — in — whether dlt is true. If yes, go to step 407; otherwise, go to step 408.
  • Step 407 the encoder performs an operation: the encoder writes the value of dlt[i] - dlt[i - 1] -1 into the code stream; the encoder updates the counter: i ++. Return to step 406.
  • the encoder writes the value of dlt[i] - dlt[i - 1] -1 to the code stream using the encoding method corresponding to ue(v). Alternatively, the encoder writes the value of dlt[i] - dlt[i - 1] -1 into the code stream using the encoding method corresponding to u(v).
  • Step 408 the encoder encodes the DLT information process ends.
  • This embodiment describes a specific process of performing depth information encoding and decoding according to the encoding and decoding methods of Embodiment 1 and Embodiment 2 in the specific application scenario.
  • the DLT code stream organization method used in this embodiment is shown in Table 2.
  • the DLT code stream organization method is suitable for encoding and transmitting a DLT information stream in a code stream organization such as a Parameter Set, a Slice Header, or a Slice Segment Header.
  • the depth information identification method in the code stream identifies the information of the number of elements in the DLT; identifies the value of the first element in the DLT; identifies the value of the other elements except the first element in the DLT and the index number in the DLT is less than The difference between the elements of the element index sequence value; the auxiliary information identifying the entropy decoding method used to decode the difference corresponding bit field.
  • the corresponding code stream carries the following bit fields: a bit field of the element quantity information in the DLT; a bit field of the first element value in the DLT; a value other than the first element in the DLT and an index number in the DLT are smaller than a bit field of a difference between elements of the element index sequence number; an auxiliary information bit field identifying an entropy decoding method used to decode the difference bit field.
  • the code stream can be used to encode in a parameter set and/or slice header information and/or slice partition header information.
  • the DLT code stream organization method of Embodiment 4 is as shown in Table 2:
  • DepthFlag is a flag bit for identifying whether the current processing component is a depth component.
  • dlt_flag When the value of dlt_flag is equal to 1, it means that the decoder needs to use DLT in the decoding process; otherwise, when the value is equal to 0, it means that the decoder does not use DLT during decoding.
  • the codec method of this element uses the codec method corresponding to u(l).
  • Num depth values in dlt indicates the number of deep sample point values contained in the DLT.
  • the codec method can use the codec method corresponding to u(v), or the codec method corresponding to ue(v). When the codec method corresponding to u(v) is used, the number of bits corresponding to num_depth_value_in_dlt in the code stream is equal to the bit depth of the depth component.
  • Dlt_depth—value[0] is the value of the first element in the DLT.
  • the encoding and decoding method can use the encoding and decoding method corresponding to u(v), or the encoding and decoding method corresponding to ue(v).
  • the codec method corresponding to u(v) is used, the number of bits corresponding to dlt_depth_value[0] in the code stream is equal to the bit depth of the depth component.
  • the value is equal to 1, it means that the difference between the i-th element and the i-th element in the DLT minus 1 is less than 4; otherwise, the value equal to 0 means DLT
  • the value after subtracting 1 from the difference between the i-th element and the i-th element is greater than 4.
  • the codec method of this element uses the codec method corresponding to u(l).
  • the codec method of this element uses the codec method corresponding to u(2).
  • the codec method of this element can use the codec method corresponding to ue(v), or the codec method corresponding to u(v). When u(v) corresponds to the codec method, dlt_depth_diff-next1-minus4[i] corresponds to the bit depth of the depth component in the bitstream.
  • the decoding process using the code stream organization method shown in Table 2 is as shown in Fig. 5, and includes steps 501 to 511.
  • Step 501 is exactly the same as step 301.
  • Step 502 The decoder determines: whether the value of dlt_flag is 1. If yes, go to step 503; otherwise, go to step 511.
  • Step 503 is exactly the same as step 303.
  • Step 504 is exactly the same as step 304.
  • Step 505 is exactly the same as step 305.
  • step 506 the decoder determines: i ⁇ num — depth — values — in — dlt is true. If yes, go to step 507, otherwise, go to step 511.
  • Step 507 the decoder parses the dlt_depth_diff_minusl_less_than_4_flag[ i ] Value.
  • the decoder uses the decoding method corresponding to u(l) to parse the bit field corresponding to dlt_depth_diff_minusl_less_than_4_flag[ i ] from the code stream, and obtain the value of dlt_depth_diff_next1-less_than_4_flag[i].
  • Step 508 The decoder determines whether the value of dlt_depth_diff_minusl_less_than_4_flag[ i ] is equal to 1. If yes, go to step 509; otherwise, go to step 510.
  • the decoder uses the decoding method corresponding to u(2) to parse the bit field corresponding to dlt_depth_diff_ minusl[i] from the code stream, and obtain the value of dlt_depth_diff_ minusl [i].
  • the decoder uses the ue(v) corresponding decoding method to resolve the dt depth diff minus 1 _minus4 [ i ] corresponding bit field from the code stream and obtain the value of dlt_depth_ diff- minusl- minus4[ i ].
  • the decoder uses the decoding method corresponding to u(v) to parse the bit field corresponding to dlt depth diff minus 1 _minus4 [ i ] from the code stream, and obtain the value of dlt depth diff minus 1 _minus4 [ i ].
  • Step 511 Decoding obtains DLT data from the code stream, and the DLT data is stored in the group dlt_depth_value.
  • the encoding process using the code stream organization method shown in Table 2 is as shown in FIG. 6, and includes steps 601 to 610.
  • Step 601 is exactly the same as step 401.
  • Step 602 The encoder determines: whether the value of dlt_flag is 1. If yes, go to step 603; otherwise, go to step 610.
  • Step 603 is exactly the same as step 403.
  • Step 604 is exactly the same as step 404.
  • Step 605 is exactly the same as step 405.
  • Step 606 the encoder determines: i ⁇ num_depth_values-in-dlt is established. If yes, go to step 607; otherwise, go to step 610.
  • Step 607 the encoder determines: dlt[i]-dlt[i-l]- 1 ⁇ 4 is established. If yes, go to step 608; otherwise, go to step 609.
  • Step 608 the encoder performs the operation: writing the value "1" into the code stream; writing the value of dlt[i]-dlt[i-l]-l into the code stream; updating the counter: i++. Go to step 606.
  • Step 609 the encoder performs the operation: writing the value "0" into the code stream; writing the value of dlt[i]-dlt[i-l]-l-4 into the code stream; updating the counter: i++. Go to step 606.
  • Step 610 the encoder encodes the DLT information process ends.
  • This embodiment describes a specific process of performing depth information encoding and decoding according to the encoding and decoding methods of Embodiment 1 and Embodiment 2 in the specific application scenario.
  • the DLT code stream organization method used in this embodiment is shown in Table 3.
  • the DLT code stream organization method is suitable for encoding and transmitting a DLT information stream in a code stream organization such as a Parameter Set, a Slice Header or a Slice Segment Header.
  • the depth information identification method in the code stream identifies the information of the number of elements in the DLT; identifies the value of the first element in the DLT; identifies the value of the other elements except the first element in the DLT and the index number in the DLT is less than The difference between the elements of the element index sequence value; the auxiliary information identifying the entropy decoding method used to decode the difference corresponding bit field.
  • the corresponding code stream carries the following bit fields: a bit field of the element quantity information in the DLT; a bit field of the first element value in the DLT; a value other than the first element in the DLT and an index number in the DLT are smaller than a bit field of a difference between elements of the element index sequence number; an auxiliary information bit field identifying an entropy decoding method used to decode the difference bit field.
  • the code stream can be used to encode DLT data in a parameter set and/or slice header information and/or slice partition header information.
  • the DLT code stream organization method of Embodiment 5 is as shown in Table 3:
  • DepthFlag is a flag bit for identifying whether the current processing component is a depth component.
  • dlt_flag When the value of dlt_flag is equal to 1, it means that the decoder needs to use DLT in the decoding process; otherwise, when the value is equal to 0, it means that the decoder does not use DLT during decoding.
  • the codec method of this element uses the codec method corresponding to u(l).
  • Num depth values in dlt indicates the number of deep sample point values contained in the DLT.
  • the codec method can use the codec method corresponding to u(v), or use the corresponding ue(v) Code method.
  • the codec method corresponding to u(v) is used, the number of bits corresponding to num_depth_value_in_dlt in the code stream is equal to the bit depth of the depth component.
  • Dlt_depth—value[0] is the value of the first element in the DLT.
  • the encoding and decoding method can use the encoding and decoding method corresponding to u(v), or the encoding and decoding method corresponding to ue(v).
  • the codec method corresponding to u(v) is used, the number of bits corresponding to dlt_depth_value[0] in the code stream is equal to the bit depth of the depth component.
  • Dlt_depth—diff—threshold indicates the threshold value for switching the DLT entropy coding method, and its codec method uses the codec method corresponding to u(3).
  • the decoding operation corresponding to the value of this element is as follows. Among them, the operator "a « b" in Table 4 means that the binary representation value of a is shifted to the right by b bits.
  • the corresponding operation table of the dlt_depth_diff-threshold value in the embodiment 5 is as shown in Table 4:
  • Dlt—depth— diff— minus 1— less— than—threshold—flag [ i ] 1 means that the difference between the i-th element and the i-th element in the DLT minus 1 is less than the gate Limit; otherwise, a value equal to 0 indicates that the value of the difference between the i-th element and the i-th element in the DLT minus one is greater than the threshold.
  • the threshold value is determined according to the value of dlt_depth_diff-threshold.
  • the codec method of this element uses the codec method corresponding to U(1).
  • the codec method of this element can use the codec method corresponding to u(v) and ue(v). When the encoding and decoding method of the element uses the codec method corresponding to u(v), the number of corresponding bits in the code stream is equal to the value of dlt depth diff threshold.
  • the codec method of this element can use the codec method corresponding to ue(v), or the codec method corresponding to u(v).
  • the decoding process using the code stream organization method of Table 3 above is as shown in Fig. 7, and includes steps 701 to 707.
  • Step 701 is exactly the same as step 501.
  • Step 702 The decoder determines: whether the value of dlt_flag is 1. If yes, go to step 703; otherwise, go to step 707.
  • Step 703 is exactly the same as step 503.
  • Step 704 is exactly the same as step 504.
  • Step 705 The decoder parses the value of dlt_depth_diff_threshold from the code stream.
  • the decoder uses the decoding method corresponding to u(3) to parse the bit field corresponding to dlt_depth_diff-threshold from the code stream, and obtain the value of dlt_depth_diff-threshold.
  • Step 706 The decoder parses the DLT according to the value of dlt_depth_diff_threshold. If the value of dlt_depth_diff-threshold is equal to 0, the decoder parses the bit field corresponding to dlt_depth_diff_ minus 1 [i] from the code stream using the decoding method corresponding to ue(v) to obtain dlt depth diff Minus 1 [i]'s value and perform the operation
  • the decoder uses the decoding method corresponding to u(l) to parse the bit field corresponding to dlt_depth_diff_minusl_less_than_threshold_flag[ i ] from the code stream, and obtain the flag bit dlt_depth_diff_ Minus 1— less— than — threshold—The value of flag[ i ].
  • the decoder parses the bit field corresponding to dlt_depth_diff_ minusl [ i ] from the code stream using the decoding method corresponding to u(v) (the field bit) The number is dlt_depth_diff-threshold, and the value of dlt depth diff minus 1 [ i ] is obtained, and the operation is performed.
  • Dlt—depth—value [i] dlt—depth— diff— minus l [i] + 1 + dlt—depth—value [i - 1].
  • the decoder parses the dlt depth diff minus 1 _minus4 from the code stream using the decoding method corresponding to ue(v). [ i ] corresponding bit field, obtain the value of dlt depth diff minus 1 _minus4 [ i ], and perform the operation
  • Dlt—depth—value [i] dlt—depth— diff—minus l—minus4[i] + 1 + 4 + dlt—depth—value [i-1].
  • Step 707 the decoding ends the process of obtaining the DLT data from the code stream, and the DLT data is stored in the array dlt_depth_value.
  • the encoding process using the code stream organization method of Table 3 is as shown in FIG. 8, and includes steps 801 to 806. Step 801 is exactly the same as step 601.
  • Step 802 The encoder determines whether the value of dlt_flag is 1. If yes, go to step 803; otherwise, go to step 806.
  • Step 803 is exactly the same as step 603.
  • Step 804 is exactly the same as step 604.
  • Step 805 The encoder sets a value of dlt_depth_diff_threshold according to the depth data characteristic, and writes the DLT related data into the code stream according to the value.
  • the encoder can evaluate the effects of different dlt-depth-diff-threshold values on coding efficiency and occupied resources (such as computational complexity, storage space requirements, etc.), and select according to the set evaluation criteria (such as commonly used rate-distortion criteria).
  • the dlt_depth_diff-threshold value with the lowest cost.
  • the encoder writes the selected dlt_depth_diff-threshold value to the code stream using the encoding method corresponding to u(3).
  • the encoder writes the value of dlt[i] - dlt[i-l] - 1 to the code stream using the encoding method corresponding to ue(v).
  • the encoder sets the threshold according to Table 4 according to the value of dlt_depth_diff-threshold.
  • the encoder determines that the value of dlt[i] - dlt[il] - 1 is less than the threshold, the encoder writes the value "1" to the code stream using the encoding method corresponding to u(l), and then uses u(v)
  • the corresponding encoding method writes the value of dlt[i] - dlt[il] - 1 into the code stream, and the number of bits used is equal to dlt_depth_diff-threshold; conversely, when the encoder determines dlt[i] - dlt When the value of [il] - 1 is greater than the threshold value, the encoder writes the value "0" to the code stream using the encoding method corresponding to u(l), and then uses the encoding method corresponding to ue(v).
  • Step 806 the encoder encodes the DLT information process ends.
  • This embodiment describes a specific process of performing depth information encoding and decoding according to the encoding and decoding methods of Embodiment 1 and Embodiment 2 in the specific application scenario.
  • the DLT code stream organization method used in this embodiment is shown in Table 4.
  • the DLT code stream organization method is suitable for encoding and transmitting a DLT information stream in a code stream organization such as a Parameter Set, a Slice Header, or a Slice Segment Header.
  • the depth information identification method in the code stream identifies the information of the number of elements in the DLT; identifies the value of the first element in the DLT; identifies the value of the other elements except the first element in the DLT and the index number in the DLT is less than The difference between the elements of the element index sequence value; the auxiliary information identifying the entropy decoding method used to decode the difference corresponding bit field.
  • the corresponding code stream carries the following bit fields: a bit field of the element quantity information in the DLT; a bit field of the first element value in the DLT; a value other than the first element in the DLT and an index number in the DLT are smaller than a bit field of a difference between elements of the element index sequence number; an auxiliary information bit field identifying an entropy decoding method used to decode the difference bit field.
  • the code stream can be used to encode DLT data in parameter sets and/or slice header information and/or slice partition header information.
  • the DLT code stream organization method of Embodiment 6 is as shown in Table 5:
  • DepthFlag is a flag bit for identifying whether the current processing component is a depth component.
  • dlt_flag When the value of dlt_flag is equal to 1, it means that the decoder needs to use DLT in the decoding process; otherwise, when the value is equal to 0, it means that the decoder does not use DLT during decoding.
  • the codec method of this element uses the codec method corresponding to u(l).
  • Num depth values in dlt indicates the number of deep sample point values contained in the DLT.
  • the codec method can use the codec method corresponding to u(v), or the codec method corresponding to ue(v). When the codec method corresponding to u(v) is used, the number of bits corresponding to num_depth_value_in_dlt in the code stream is equal to the bit depth of the depth component.
  • Dlt_depth—value[0] is the value of the first element in the DLT.
  • the encoding and decoding method can use the encoding and decoding method corresponding to u(v), or the encoding and decoding method corresponding to ue(v).
  • the codec method corresponding to u(v) is used, the number of bits corresponding to dlt_depth_value[0] in the code stream is equal to the bit depth of the depth component.
  • Dlt_depth—element—threshold A value of 1 indicates that each element in the DLT uses its own threshold to switch the entropy coding method. Conversely, a value equal to 0 indicates that each element in the DLT uses the same threshold to switch entropy. Coding method.
  • Dlt_depth_diff-threshold indicates the threshold value of the switching DLT entropy coding method, and the codec method uses the codec method corresponding to u(3).
  • the decoding operation corresponding to the value of this element is as follows. Among them, the operator "a « b" in Table 6 means that the binary representation value of a is shifted right by b bits.
  • the corresponding operation table of the dlt_depth_diff-threshold value in the embodiment 6 is as shown in Table 6:
  • Dlt_depth_diff_threshold_array[ i ] represents the threshold of the DLT entropy coding method for the i-th element in the DLT, and the codec method uses the codec method corresponding to u(3).
  • the decoding operation corresponding to this element is the same as dlt_depth_diff-threshold, as shown in Table 6.
  • Dlt—depth— diff— minus 1— less— than—threshold—flag [ i ] 1 means that the difference between the i-th element and the i-th element in the DLT minus 1 is less than the gate Limit; otherwise, a value equal to 0 indicates that the value of the difference between the i-th element and the i-th element in the DLT minus one is greater than the threshold.
  • the threshold value is determined according to the value of dlt_depth_diff-threshold.
  • the codec method of this element uses the codec method corresponding to u(l).
  • the encoding and decoding method of this element can use the encoding and decoding methods corresponding to ue(v) and u(v).
  • the codec method of this element can use the codec method corresponding to ue(v).
  • the decoding process using the code stream organization method of Table 5 above is as shown in Fig. 9, and includes steps 901 to 907.
  • Step 901 is exactly the same as step 701.
  • Step 902 The decoder determines: whether the value of dlt_flag is 1. If yes, go to step 903; otherwise, go to step 907.
  • Step 903 is exactly the same as step 703.
  • Step 904 is exactly the same as step 704.
  • Step 905 The decoder parses the values of dlt_depth_diff_element_threshold_flag and dlt depth diff threshold.
  • the decoder parses from the code stream using the decoding method corresponding to U( l) Dlt_depth_diff_element-threshold-flag Corresponding field bit, obtain the value of dlt_depth_diff_element_threshold-flag.
  • the decoder determines that the value of dlt_depth_diff_element_threshold-flag is equal to 1, the decoder sets the value of dlt_depth_diff_threshold to zero.
  • the decoder parses the field bits corresponding to dlt_depth_diff-threshold using the decoding method corresponding to u(3), and obtains the value of dlt_depth_diff-threshold.
  • Step 906 The decoder parses the DLT according to the values of dlt_depth_diff_element_threshold-flag and dlt depth diff threshold.
  • the decoder parses the bit field corresponding to dlt_depth_diff_threshold_array[i] from the code stream using the decoding method corresponding to u(3) to obtain dlt_depth_diff_threshold_array[ The value of i ]; conversely, if the decoder determines that the value of dlt_depth_diff_element_threshold_flag is equal to 0, the decoder sets the value of dlt_depth_diff_threshold_array[i] to 0. .
  • the decoder parses the DLT as follows:
  • the decoder uses the decoding method corresponding to u(l) to parse the bit field corresponding to dlt_depth_diff_minusl_less_than_threshold_flag[ i ] from the code stream, and obtain the target The position of dt_depth_diff- minus 1— less—than—threshold—flag[ i ].
  • Step 907 the process of obtaining the DLT data from the code stream ends, and the DLT data is stored in the group dlt_depth_value.
  • the encoding process using the code stream organization method of Table 5 is as shown in FIG. 10, including steps 1001 to
  • Step 1001 is exactly the same as step 801.
  • Step 1002 The encoder determines: whether the value of dlt_flag is 1. If yes, go to step 1003; otherwise, go to step 1006.
  • Step 1003 is exactly the same as step 803.
  • Step 1004 is exactly the same as step 804.
  • step 1005 the encoder sets the values of dlt_depth_diff_element_threshold_flag and dlt_depth_diff-threshold according to the characteristics of the deep data, and writes the DLT related data into the code stream according to the value.
  • the encoder can evaluate different dlt-depth-diff_element-threshold-flag values to 0 and 1 for coding efficiency and resource occupation (such as computational complexity, storage space requirements, etc.)
  • the effect of selecting the minimum cost dlt_depth_diff_element_threshold-flag according to the set evaluation criterion is as follows:
  • the encoder When the encoder sets the value of dlt_depth_diff_element_threshold-flag to 0, the encoder evaluates the coding efficiency and occupied resources (such as computational complexity and storage) under the dlt_depth_diff-threshold allowable value. The influence of space requirements, etc., selects the least costd dlt_depth_diff-threshold value according to the set evaluation criteria (such as the commonly used rate distortion criterion). The encoder sets the value of the generation as the cost value corresponding to the value of dlt_depth_diff_threshold-flag, and records the value of dlt depth diff threshold.
  • the set evaluation criteria such as the commonly used rate distortion criterion
  • the encoder When the encoder sets the value of dlt_depth_diff_element_threshold-flag to 0, the encoder evaluates the coding efficiency and occupied resources (such as computational complexity and storage) under the dlt_depth_diff-threshold allowable value.
  • the set evaluation criteria such as the commonly used rate distortion criterion
  • the encoder sets the value of the generation as the value of dlt_depth_diff-threshold-flag, and sets the value of the corresponding value to 1, and records the dlt_depth_diff_threshold_array[i] of the other elements except the first element. Value.
  • the encoder uses the corresponding encoding method of u(l) to write the value of dlt_depth_diff_element_threshold_flag into the code stream. If the value of dlt_depth_diff_element-threshold-flag is equal to 0, the encoder writes the value of dlt depth diff threshold to the code stream using the encoding method corresponding to u(3).
  • the encoder does the following:
  • the encoder uses the encoding method corresponding to u(3) to take the determined dlt_depth_diff_threshold_array[i] The value is written to the code stream, and the encoder sets the threshold according to dlt_depth_diff_threshold_array[i], and the encoder sets the value of the coded bit length equal to the value of dlt_depth_diff_threshold_array[i] .
  • the encoder determines that the value of dlt_depth_diff_element_threshold-flag is equal to 0, the encoder sets the value of the coded bit length to be equal to the value of dlt_depth_diff_threshold.
  • the encoder When the encoder determines dlt depth diff threshold ten dlt_depth_diff_threshold_array[ i ] is equal to 0, the encoder writes the value of dlt[i] - dlt[i-l] - 1 into the code stream using the encoding method corresponding to ue(v).
  • the encoder determines that the value of dlt_depth_diff_threshold + dlt_depth_diff_threshold_array[i] is greater than 0, the encoder performs the following operations: When the encoder determines that the value of dlt[i] - dlt[il] - l is less than When determining the threshold value, the encoder writes the value "1" to the code stream using the encoding method corresponding to u(l), and then uses the encoding method corresponding to u(v) to dlt[i] - dlt[il] - 1 The value is written into the code stream, and the number of bits used is equal to the determined code bit length value; conversely, when the encoder determines that the value of dlt[i] - dlt[il] - 1 is greater than the threshold value, the encoder uses The encoding method corresponding to u(l) writes the value "0" into the code
  • step 1006 is performed.
  • Step 1006 the encoder encodes the DLT information process ends.
  • This embodiment introduces an encoding apparatus for depth information, which can implement the encoding operation in the above embodiments, and the apparatus includes at least the following parts.
  • a processing unit configured to place all elements in the depth map lookup table in ascending order of value
  • a first coding unit configured to encode a value of a first element in the depth map lookup table and write the code stream
  • the second coding unit is configured to: respectively, the value of the other element except the first element in the depth mapping lookup table and the difference between the value of the element whose index number is smaller than the element index number in the depth mapping lookup table respectively Encode and write to the code stream.
  • the foregoing second coding unit is configured to determine, between the value of each element except the first element in the depth mapping lookup table, and the value of the element in the depth mapping lookup table whose index number is smaller than the element index number. a difference, when the difference is less than or equal to a set threshold, selecting a set first entropy coding method to encode the difference, and when the difference is greater than a set threshold, selecting a setting
  • the second entropy encoding method encodes the difference.
  • the set threshold is a preset fixed value or a dynamically adjusted value during the encoding process.
  • the set threshold may be set for the entire depth map lookup table, or may be set separately for the elements other than the first element in the depth map lookup table.
  • the first coding unit is further configured to write the depth map lookup table information into the code stream, where the depth map lookup table information includes information about the number of elements.
  • the second coding unit is configured to, when encoding the difference, encode the auxiliary information and write the code stream, wherein the auxiliary information is used to identify an entropy coding method used to encode the difference.
  • the encoding apparatus may be a separate encoding device, or may be an encoder embedded in various video processing devices (including a three-dimensional video processing device).
  • the video processing device at this time includes a buffer and an encoder.
  • the encoder places all the elements in the depth mapping lookup table in the cached data in ascending order of the value, encodes the value of the first element in the depth mapping lookup table, and writes the code stream,
  • the value of the other element except the first element in the depth mapping lookup table and the difference between the value of the element whose index number in the depth mapping lookup table is smaller than the index number of the element are respectively encoded and written into the code stream.
  • the encoder determines a value between a value of each element except the first element in the depth mapping lookup table and a value of an element whose index number in the depth mapping lookup table is smaller than the index number of the element,
  • the first entropy coding method is selected to encode the difference
  • the set is selected.
  • the second entropy encoding method encodes the difference.
  • the set threshold is a preset fixed value
  • the set threshold is set for the entire depth map lookup table.
  • the encoder may further encode the auxiliary information into the code stream when encoding the difference, wherein the auxiliary information is used to identify an entropy coding method used to encode the difference.
  • the present embodiment provides a decoding apparatus for depth information, which can implement the decoding operations in the above embodiments, and includes at least the following units.
  • a first decoding unit configured to: decode a bit field corresponding to a first element of the depth mapping lookup table in the received code stream to obtain a value of the first element
  • the first decoding unit is configured to receive depth mapping lookup table information before decoding the depth mapping lookup table, where the depth mapping lookup table information includes the number of elements included in the decoding depth mapping lookup table. information.
  • a second decoding unit configured to perform a bit field corresponding to a difference between a value of an element other than the first element in the depth mapping lookup table and an element whose index number in the depth mapping lookup table is smaller than an element index number of the element Decoding to obtain the difference;
  • the second decoding unit is configured to: before decoding the bit field corresponding to the difference, decoding a bit field corresponding to the auxiliary information of the encoded difference, and obtaining an entropy coding method used by the difference, according to the The difference is decoded by an entropy decoding method corresponding to the entropy coding method used by the difference.
  • the processing unit is configured to add the obtained difference value to the value of the decoded element in the depth mapping lookup table whose index number is smaller than the index element number of the difference corresponding element, and use the sum value as the difference in the depth mapping lookup table.
  • the value corresponds to the value of the index number element.
  • the decoding apparatus provided in this embodiment may be a separate decoding apparatus, or may be a decoder built in any video playing device including a three-dimensional video playing device.
  • the decoder in the video playback device decodes the bit field corresponding to the first element of the depth mapping lookup table in the received code stream to obtain the value of the first element, and the first element in the depth mapping lookup table.
  • Decoding the bit field corresponding to the difference between the value of the element whose index number is smaller than the value of the element index number in the depth mapping lookup table to obtain the difference, and the obtained difference and depth mapping lookup table The value of the decoded element whose index number is smaller than the index element corresponding to the difference element is added, and the sum value is used as the value of the index corresponding to the index number in the depth mapping lookup table;
  • the display may display the decoded data of the decoder.
  • the decoder may further decode the bit field corresponding to the auxiliary information of the encoded difference before decoding the bit field corresponding to the difference, and obtain an entropy coding method used by the difference, and use the difference according to the difference.
  • the entropy coding method corresponding to the entropy coding method decodes the difference.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware aspects. Moreover, the invention can take the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例公开了一种深度信息编解码方法和装置,涉及三维视频压缩编码技术。所述编码方法包括:将深度映射查找表中的所有元素按取值大小的升序方式放置,其中,所述深度映射查找表是一种以索引序号表示深度数值的数据结构;对所述深度映射查找表中的首个元素的取值进行编码并写入码流;对所述深度映射查找表中除首个元素外的其它各元素的取值与深度映射查找表中索引序号小于该元素索引序号的元素的取值之间的差值分别进行编码并写入码流。本发明实施例还公开了深度信息的解码方法以及深度信息的编解码装置。本申请技术方案提高了深度信息编解码的效率,并降低了深度信息编码时资源占用率。

Description

一种深度信息编解码方法、 装置及视频处理播放设备 技术领域
本发明实施例涉及三维视频压缩编码技术, 具体涉及一种深度信息的 编解码方法、 装置及视频处理播放设备。 背景技术
正在制定的高性能视频编码(High Efficiency Video Coding, HEVC ) 标准兼容的三维视频( Three-Dimensional Video, 3DV )编码标准 3D-HEVC ( HEVC Three-Dimensional extension framework ) 中 , 简化深度编码 ( Simplified Depth Coding, SDC )可以有效提高深度信息的编码效率, 并 且计算复杂度较低。在 SDC模块,可进一步通过使用深度映射查找表( Depth Look-up Table, DLT )将编码器输入深度采样映射为深度值索引序号, 从而 降低深度采样信息的比特深度(bit depth ), 达到进一步提高压缩效率的目 的。 同时, 编码器需要将 DLT写入码流。
3D-HEVC标准使用直接编码的方法将 DLT信息写入码流,其解码过程 如下:
解码过程: 对于深度分量(Depth Component ), 解码器首先从输入码流 中解析 dlt— flag的取值。 当 dlt— flag的取值等于 1 (即使用 DLT ) 时, 解码 器进一步解析 num— depth— values— in— dlt 的取值, 然后, 解码器解析 num— depth— values— in— dlt个 DLT元素的取值 ( dlt— depth— value [i][j] )。
对应于解码过程, 其编码过程如下:
编码过程: 在编码深度分量时, 编码器首先将 dlt— flag 写入码流; 当 dlt flag的取值等于 1 (即使用 DLT )时, 编码器将 DLT中包含的深度数值 的数量写入码流,然后,编码器将 DLT中的每个元素( dlt— depth— value[i][j] ) 的取值直接依次写入码流。
为提高 DLT信息的压缩编码效率,提案文档 JCT3V-C0142给出了一种 取值范围受限的标识比特映射表(Range Constrained Bit Map, RCBM )方 法。 该方法首先在码流中编码 DLT中的最小值和最大值(以最大值与最小 值之差表示), 然后使用一个由一维标志位向量组成的标识比特映射表标识 最小值与最大值之间各深度值是否在 DLT中。
RCBM方法的 DLT解码过程如下:
解码过程: 对于深度分量, 解码器从输入码流中解析 dlt— flag的取值; 当 dlt— flag 的取值等于 1 ( 即使用 DLT ) 时, 解码器解析 code— f ll— bit— depth— map— flag 的取值, 当 code— f ll— bit— depth— map— flag 的 值为 0时, DLT中的最小深度值设置为 0, DLT中最大深度值设置为容许 的最大取值(如深度采样值的比特深度为 8 时, 该值为 255 ), 反之, 当 code— foil— bit— depth— map— flag的值为 1 时, 解码器从输入码流中解析 DLT 中深度采样值的最小值、 最大值与最小值之间的差值; 并设置最大值和最 小值。 在最小值与最大值界定的 DLT取值范围, 解码器解析取值范围内各 值是否包含在 DLT中的标志位, 并将标志位取值等于 "1"的深度采样值添 加进入 DLT中。
对应于解码过程, RCBM方法的编码过程如下:
编码过程: 在编码深度分量时, 编码器首先将 dlt— flag 写入码流; 当 dlt flag 的 取值 等 于 1 ( 即 使 用 DLT ) 时 , 编 码 器 将 code— f ll— bit— depth— map— flag写入码流; 当 code— f ll— bit— depth— map— flag的 值为 0时, DLT中的最小深度值设置为 0, DLT中最大深度值设置为 容许 的最大取值(如深度采样值的比特深度为 8 时, 该值为 255 ), 反之, 当 code— full— bit— depth— map— flag的值为 1时, 编码器将 DLT中深度采样值的 最小值和最大值与最小值之间的差值写入码流; 对于最大值和最小值范围 内的每个深度采样值 (不包括最大值和最小值), 编码器将该深度采样值是 否包含在 DLT中的标志信息( "0" 不包含在 DLT中, "1" 包含在 DLT中) 写入码流。
上述两种 DLT编解码方法的主要局限性如下:
3D-HEVC 中现有方法的主要缺点在于直接将 DLT 中各元素的取值写 入码流, 而没有利用 DLT中各数据元素之间存在的相关性去除数据之间存 在的冗余。这导致 DLT编码比特开销过大。在 3D-HEVC的参考软件 HTM5.1 中, DLT信息位于序列参数集( Sequence Parameter Set, SPS ) 中。 测试表 明, DLT信息在 SPS总开销中占比高达 65%。
尽管 RCBM方法可有效降低 DLT信息的编码开销,但是由于该方法需 要为最小值与最大值之间的每个深度采样值编码标志位, 以标识该深度值 是否包含在 DLT中, 因此, 当最小值与最大值之间存在较多的非 DLT数值 时, RCMB使用了较多的额外比特开销。 发明内容
本发明实施例所要解决的技术问题是, 提供一种深度信息编解码方法 和装置, 以提高深度信息编码效率。
为了解决上述技术问题, 本发明实施例公开了一种深度信息的编码方 法, 包括:
将深度映射查找表中的所有元素按取值大小的升序方式放置, 其中, 所述深度映射查找表是一种以索引序号表示深度数值的数据结构;
对所述深度映射查找表中的首个元素的取值进行编码并写入码流; 射查找表中索引序号小于该元素索引序号的元素的取值之间的差值分别进 行编码并写入码流。
较佳地, 上述方法中, 对所述深度映射查找表中除首个元素外的其它 各元素的取值与深度映射查找表中索引序号小于该元素索引序号的元素的 取值之间的差值分别进行编码, 包括: 映射查找表中索引序号小于该元素索引序号的元素的取值之间的差值, 当 所述差值小于等于设定门限值时, 选择设定的第一熵编码方法对该差值进 行编码, 当所述差值大于设定门限值时, 则选择设定的第二熵编码方法对 该差值进行编码。
较佳地, 上述方法中, 所述设定门限值是预先设定的固定取值; 或者 是编码过程中动态调整的数值。
较佳地, 上述方法中, 所述设定门限值是为整个深度映射查找表设定 的; 或者是为深度映射查找表中除首个元素外的其它元素分别设定的。
较佳地, 上述方法还包括:
将所述深度映射查找表信息写入码流, 其中, 所述深度映射查找表信 息包含元素数量的信息。
较佳地, 上述方法还包括:
在对差值进行编码时, 编码辅助信息一并写入码流, 其中, 所述辅助 信息用于标识编码所述差值使用的熵编码方法。
本发明实施例还公开了一种深度信息的解码方法, 包括:
对码流中深度映射查找表的第一个元素对应的比特字段进行解码得到 第一个元素的取值, 其中, 所述深度映射查找表是一种以索引序号表示深 度数值的数据结构;
对深度映射查找表中除第一个元素外其它各元素与深度映射查找表中 索引序号小于该元素索引序号的元素的取值之间的差值对应的比特字段进 行解码, 得到所述差值;
将得到的差值与深度映射查找表中索引序号小于所述差值对应元素索 引序号的已解码元素的取值进行加法运算, 将和值作为深度映射查找表中 所述差值对应索引序号元素的取值。
较佳地, 上述方法还包括:
在对深度映射查找表进行解码之前, 解码所述深度映射查找表信息, 包括: 深度映射查找表中包含的元素数量的信息。
较佳地, 上述方法还包括:
在对所述差值对应的比特字段进行解码之前, 对编码差值的辅助信息 对应的比特字段进行解码, 得到该差值使用的熵编码方法, 按照该差值使 用的熵编码方法对应的熵解码方法对所述差值进行解码。
本发明实施例还公开了一种深度信息的编码装置, 包括:
处理单元, 配置为将深度映射查找表中的所有元素按取值大小的升序 方式进行放置;
第一编码单元, 配置为对深度映射查找表中的首个元素的取值进行编 码, 并写入码流;
第二编码单元, 配置为对所述深度映射查找表中除首个元素外的其它 元素的取值与深度映射查找表中索引序号小于该元素索引序号的元素的取 值之间的差值分别进行编码, 并写入码流;
其中, 所述深度映射查找表是一种以索引序号表示深度数值的数据结 构。
较佳地, 上述装置中, 所述第二编码单元, 配置为确定所述深度映射 小于该元素索引序号的元素的取值之间的差值, 当所述差值小于等于设定 门限值时, 选择设定的第一熵编码方法对该差值进行编码, 当所述差值大 于设定门限值时, 则选择设定的第二熵编码方法对该差值进行编码。
较佳地, 上述装置中, 所述设定门限值是预先设定的固定取值; 或者 是编码过程中动态调整的数值。
较佳地, 上述装置中, 所述设定门限值是为整个深度映射查找表设定 的; 或者是为深度映射查找表中除首个元素外的其它元素分别设定的。
较佳地, 上述装置中, 所述第一编码单元, 还配置为将所述深度映射 查找表信息写入码流, 其中, 所述深度映射查找表信息包含元素数量的信 息。
较佳地, 上述装置中, 所述第二编码单元, 配置为在对差值进行编码 时, 还将编码辅助信息一并写入码流, 其中, 所述辅助信息用于标识编码 所述差值使用的熵编码方法。
本发明实施例还公开了一种深度信息的解码装置, 包括:
第一解码单元, 配置为对接收到的码流中深度映射查找表的第一个元 素对应的比特字段进行解码得到第一个元素的取值;
第二解码单元, 配置为对深度映射查找表中除第一个元素外其它各元 素与深度映射查找表中索引序号小于该元素索引序号的元素的取值之间的 差值对应的比特字段进行解码, 得到所述差值;
处理单元, 配置为将得到的差值与深度映射查找表中索引序号小于所 述差值对应元素索引序号的已解码元素的取值进行加法运算, 将和值作为 深度映射查找表中所述差值对应索引序号元素的取值;
其中, 所述深度映射查找表是一种以索引序号表示深度数值的数据结 构。
较佳地, 上述装置中, 所述第一解码单元, 配置为在对深度映射查找 表进行解码之前, 解码所述深度映射查找表信息, 包括: 深度映射查找表 中包含的元素数量的信息。
较佳地, 上述装置中, 所述第二解码单元, 配置为在对所述差值对应 的比特字段进行解码之前, 对编码差值的辅助信息对应的比特字段进行解 码, 得到该差值使用的熵编码方法, 按照该差值使用的熵编码方法对应的 熵解码方法对所述差值进行解码。
本发明实施例还公开了一种视频处理设备, 包括:
緩存器, 配置为緩存所要编码的数据;
编码器, 配置为将所緩存的数据中深度映射查找表中的所有元素按取 值大小的升序方式进行放置, 对深度映射查找表中的首个元素的取值进行 编码, 并写入码流, 对所述深度映射查找表中除首个元素外的其它元素的 取值与深度映射查找表中索引序号小于该元素索引序号的元素的取值之间 的差值分别进行编码, 并写入码流。
较佳的, 所述编码器, 配置为确定所述深度映射查找表中除首个元素 外的其它各元素的取值与深度映射查找表中索引序号小于该元素索引序号 的元素的取值之间的差值, 当所述差值小于等于设定门限值时, 选择设定 的第一熵编码方法对该差值进行编码, 当所述差值大于设定门限值时, 则 选择设定的第二熵编码方法对该差值进行编码。
较佳的, 所述编码器参考的所述设定门限值是预先设定的固定取值; 或者, 是编码过程中动态调整的数值。
较佳的 , 所述编码器参考的所述设定门限值是为整个深度映射查找表 设定的; 或者, 是为深度映射查找表中除首个元素外的其它元素分别设定 的。
较佳的, 所述编码器, 配置为在对差值进行编码时, 还将编码辅助信 息一并写入码流, 其中, 所述辅助信息用于标识编码所述差值使用的熵编 码方法。
本发明实施例还公开了一种视频播放设备, 其中, 该设备包括: 解码器, 配置为对接收到的码流中深度映射查找表的第一个元素对应 的比特字段进行解码得到第一个元素的取值, 对深度映射查找表中除第一 个元素外其它各元素与深度映射查找表中索引序号小于该元素索引序号的 元素的取值之间的差值对应的比特字段进行解码, 得到所述差值, 将得到 的差值与深度映射查找表中索引序号小于所述差值对应元素索引序号的已 解码元素的取值进行加法运算, 将和值作为深度映射查找表中所述差值对 应索引序号元素的取值;
显示器, 配置为显示所述解码器解码后的数据。
较佳的, 所述解码器, 配置为在对所述差值对应的比特字段进行解码 之前, 对编码差值的辅助信息对应的比特字段进行解码, 得到该差值使用 的熵编码方法, 按照该差值使用的熵编码方法对应的熵解码方法对所述差 值进行解码。
本发明实施例还公开了一种计算机存储介质, 其中存储有计算机可执 行指令, 所述计算机可执行指令用于执行上述的方法。
本申请技术方案提高了深度信息编解码的效率, 并降低了深度信息编 码时资源占用率。 附图说明
图 1为本实施例中编码方法逻辑流程图;
图 2为本实施例中解码方法逻辑流程图;
图 3为本实施例 3的解码流程图;
图 4为本实施例 3的编码流程图;
图 5为本实施例 4的解码流程图;
图 6为本实施例 4的编码流程图;
图 7为本实施例 5的解码流程图;
图 8为本实施例 5的编码流程图;
图 9为本实施例 6的解码流程图;
图 10为本实施例 6的编码流程图。 具体实施方式
为使本发明的目的、 技术方案和优点更加清楚明白, 下文将结合附图 对本发明技术方案作进一步详细说明。 需要说明的是, 在不沖突的情况下, 本申请的实施例和实施例中的特征可以任意相互组合。
下述各实施例所述编码器实现方法仅为该实施例下编码器可能的实现 方法之一, 任何能够生成符合该实施例解码过程要求的码流的编码器, 均 属于该实施例的编码器实现方法。 实施例 1
本实施例介绍一种深度信息的编码方法, 如图 1 所示, 包括如下步驟 101至 103:
步驟 101 , 将深度映射查找表中的所有元素按取值大小的升序方式放 置;
实际应用中, 将深度映射查找表中的所有元素按取值大小的升序方式 放置可以是在向 DLT中放置元素的时候直接放置在其对应的升序位置上。 或者在已有的 DLT基础上, 将其中的元素按照升序的顺序重新排列即可。
步驟 102,对所述深度映射查找表中的首个元素的取值进行编码, 并写 入码流;
步驟 103 ,对所述深度映射查找表中除首个元素外的其它各元素的取值 与深度映射查找表中索引序号小于该元素索引序号的元素的取值之间的差 值分别进行编码并写入码流。
在上述方法的基础上, 提出一种优选方案, 是通过设定门限值来选择 不同的熵编码方法编码上述差值。 即确定深度映射查找表中除首个元素外 的其它各元素的取值与深度映射查找表中索引序号小于该元素索引序号的 元素的取值之间的差值后, 当差值小于等于设定门限值, 则选择设定的第 一熵编码方法(例如, 熵编码方法 E1 )对该差值进行编码, 当所述差值大 于设定门限值时, 则选择设定的第二熵编码方法(例如, 熵编码方法 E2 ) 对该差值进行编码。 其中, 设定门限值可以是预先设定的一个固定取值, 也可以是编码过程中动态调整的一个变量。 而设定门限值可以是为整个深 度映射查找表设定的, 即针对一个深度映射查找表对应有一个设定门限值。 当然设定门限值也可以是为深度映射查找表中除首个元素外的其它元素分 别设定的, 即针对一个包含有 N个元素的深度映射查找表对应有 N-1个设 定限值。
还要说明的是, 上述编码过程中, 还可以将深度映射查找表信息写入 码流, 其中, 深度映射查找表信息包含元素数量的信息。
另外, 在对差值进行编码时, 也可以对辅助信息进行编码并写入码流, 该辅助信息用于标识编码差值使用的熵编码方法, 这样, 解码时即可根据 此辅助信息来确定用何种熵解码方法对差值进行解码操作。 实施例 2
本实施例介绍一种深度信息的解码方法, 该方法可对上述实施例 1 编 码的码流进行解码, 该解码过程如图 2所示, 包括如下步驟 201至 203: 步驟 201 ,对接收到的码流中深度映射查找表的第一个元素对应的比特 字段进行解码得到第一个元素的取值;
步驟 202,对深度映射查找表中除第一个元素外其它各元素与深度映射 查找表中索引序号小于该元素索引序号的元素的取值之间的差值对应的比 特字段进行解码, 得到所述差值;
步驟 203 ,将得到的差值与深度映射查找表中索引序号小于所述差值对 应元素索引序号的已解码元素的取值进行加法运算, 将和值作为深度映射 查找表中所述差值对应索引序号元素的取值。
需要说明的是, 在对深度映射查找表进行解码之前, 还可以接收深度 映射查找表信息, 该深度映射查找表信息包括解码深度映射查找表中包含 的元素数量的信息。
另外, 接收到的码流中还可能包括深度映射查找表中编码差值的辅助 信息, 这样, 在对差值对应的比特字段进行解码之前, 先对编码差值的辅 助信息对应的比特字段进行解码, 得到该差值使用的熵编码方法, 再按照 该差值使用的熵编码方法对应的熵解码方法对差值进行解码即可。 实施例 3
本实施例针对具体应用场景, 介绍按照上述实施例 1和实施例 2的编 解码方法进行深度信息编解码的具体过程。
本实施例的 DLT码流组织方法如表 1所示。该 DLT码流组织方法适用 于在参数集( Parameter Set )、 分片头信息 ( Slice Header )或分片分割头信 息( Slice Segment Header )等码流组织结构中编码和传输 DLT信息码流。
如表 1所示码流中深度信息标识方法, 标识 DLT中元素数量的信息; 标识 DLT中首个元素的取值;标识 DLT中除首个元素外的其它元素取值与 DLT 中索引序号小于所述元素索引序号的元素取值之间的差值; 标识解码 所述差值对应比特字段所使用的熵解码方法的辅助信息。
对应的码流中, 携带有如下比特字段: DLT 中元素数量信息的比特字 段; DLT中首个元素取值的比特字段; DLT中除首个元素外的其它元素取 值与 DLT中索引序号小于所述元素索引序号的元素取值之间的差值的比特 字段; 标识解码所述差值比特字段所使用的熵解码方法的辅助信息比特字 段。 该码流可用于在参数集 ( arameter set )和 /或分片头 ( slice header )信 息和 /或分片划分头 (slice segment header )信息中编码 DLT数据。 本实施 例中 DLT码流组织方法如表 1所示:
Figure imgf000014_0001
表 1
表 1中各字段的语义(对应的解码操作)如下。 其中, DepthFlag是一 个用于标识当前处理分量是否是深度分量的标志位。
dlt— flag取值等于 1时表示解码器在解码过程中需要使用 DLT; 反之, 取值等于 0时表示解码器在解码过程中不使用 DLT。 该元素的编解码方法 使用 u(l)对应的编解码方法。
num depth values in dlt表示 DLT中包含的深度采样点数值的数量。 其编解码方法可使用 ue(v)对应的编解码方法, 也可以使用 u(v)对应的编解 码方法。 当使用 u(v)对应的编解码方法时, num— depth— values— in— dlt在码流 中对应的比特个数等于深度分量的比特深度。
dlt— depth— value[0]是 DLT中首个元素的取值,其编解码方法可使用 ue(v) 对应的编解码方法,也可以使用 u(v)对应的编解码方法。 当使用 u(v)对应的 编解码方法时, dlt— depth— value[0]在码流中对应的比特个数等于深度分量的 比特深度。
dlt— depth— diff— minus 1 [ i ]表示 DLT中第 i个元素与第 i - 1个元素之间 的差值, 其取值必须是非负整数。 除 DLT中首个元素外, 其它元素的取值 为: dlt— depth— value [i] = dlt— depth— diff— minusl [i] + 1 + dlt— depth— value [i— 1], 其中, i的取值为 1, 2, · · ·, num depth values in dlt - 1。 该元素的编解码方 法可使用 ue(v)对应的编解码方法, 也可以使用 u(v)对应的编解码方法。 当 使用 u(v)对应的编解码方法时, dlt— depth— diff— minus l [i]在码流中对应的比 特个数等于深度分量的比特深度。
对使用上述表 1的码流组织方式的码流进行解码的过程如图 3所示, 包括如下步驟 301至 309:
步驟 301 , 解码器从码流中解析 dlt— flag的取值。
解码器使用 u(l)对应的解码方法从码流中解析 dlt— flag对应的比特字 段, 获得 dlt_flag的取值。
步驟 302, 解码器判断: dlt— flag的取值是否为 1。 若是, 则执行步驟 303; 否则, 执行步驟 309。
步驟 303 , 解码器解析 num— depth— values— in— dlt的取值。
解 码 器 使 用 ue(v) 对 应 的 解 码 方 法 从码 流 中 解 析 num— depth— values— in— dlt对应的比特字段, 获得 num— depth— values— in— dlt的 取值。
或者, 解码器使用 u(v)对应的解码方法从码流中解析 num— depth— values— in— dlt对应的比特字段, 获得 num— depth— values— in— dlt的 取值。
步驟 304, 解码器解析 dlt— depth— value[0]的取值。
解码器使用 ue(v)对应的解码方法从码流中解析 dlt— depth— value[0]对应 的比特字段, 获得 dlt— depth— value[0]的取值。
或者,解码器使用 u(v)对应的解码方法从码流中解析 dlt— depth— value[0] 对应的比特字段, 获得 dlt— depth— value[0]的取值。
步驟 305 , 解码器对循环处理初始化: i = l。
步驟 306,解码器判断: i < num— depth— values— in— dlt是否成立。若成立, 则执行步驟 307, 否则, 执行步驟 309。
步驟 307, 解码器解析 dlt— depth— diff— minusl [i]的取值。
解码器使用 ue(v)对应的解码方法从码流中解析 dlt— depth— diff— minusl [i] 对应的比特字段, 获得 dlt— depth— diff— minusl [i]的取值。
或者, 解码器使用 u(v)对应的解码方法从码流中解析 dlt— depth— diff— minus 1 [i]对应的比特字段, 获得 dlt— depth— diff— minus 1 [i]的取 值。
步驟 308 , 解码 器执行如 下 操作 : dlt— depth— value[i] = dlt— depth— diff— minus l [i] + 1 + dlt— depth— value [i - 1]; i ++。 返回步驟 306。
步驟 309, 解码从码流中获得 DLT数据流程结束, DLT数据存储在数 组 dlt— depth— value中。
而使用上述表 1的码流组织方式的编码过程如图 4所示, 包括如下步 驟 401至 408:
步驟 401 ,编码器使用 u(l)对应的编码方法将 dlt— flag的取值写入码流。 编码器使用现有的编码器优化技术确定编码过程中是否需要使用 DLT。 若使用 DLT, 则将 dlt— flag的取值置为 1 ; 反之, 将 dlt— flag的取值 置为 0。
步驟 402 , 编码器判断: dlt— flag的取值是否为 1。 若是, 则执行步驟
403; 否则, 执行步驟 408。
步驟 403, 编码器获得 DLT中包含元素数量的取值并将其写入码流。 编码器使用现有方法获得 DLT的原始数据, 存储在数组中, 计数该数 组中所包含的有效元素数量, 将其作为 DLT中包含元素数量的取值。
步驟 404, 编码器对 DLT中的数据进行升序排列, 并将 DLT中首个数 据写入码流。
编码器对 DLT中的数据进行升序排列; 或者, 编码器在获取 DLT原始 数据时, 按照原始数据升序的方式将数据放置在存储 DLT的数组中。
编码器使用 ue(v)对应的编码方法将 DLT中首个数据值写入码流。或者 编码器使用 u(v)对应的编码方法将 DLT中首个数据值写入码流。 步驟 405 , 解码器对循环处理初始化: i = l。
步驟 406,编码器判断: i < num— depth— values— in— dlt是否成立。若成立, 执行步驟 407; 否则, 执行步驟 408。
步驟 407,编码器执行操作:编码器将 dlt[i] - dlt[i - 1] -1的值写入码流; 编码器更新计数器: i ++。 返回步驟 406。
编码器使用 ue(v)对应的编码方法将 dlt[i] - dlt[i - 1] -1的值写入码流。 或者, 编码器使用 u(v)对应的编码方法将 dlt[i] - dlt[i - 1] -1的值写入码流。
步驟 408, 编码器编码 DLT信息过程结束。 实施例 4
本实施例针对具体应用场景, 介绍按照上述实施例 1和实施例 2的编 解码方法进行深度信息编解码的具体过程。
本实施例所使用的 DLT码流组织方法如表 2所示。该 DLT码流组织方 法适用于在参数集( Parameter Set )、 分片头信息 ( Slice Header )或分片分 割头信息 ( Slice Segment Header )等码流组织结构中编码和传输 DLT信息 码流。
如表 2所示码流中深度信息标识方法, 标识 DLT中元素数量的信息; 标识 DLT中首个元素的取值;标识 DLT中除首个元素外的其它元素取值与 DLT 中索引序号小于所述元素索引序号的元素取值之间的差值; 标识解码 所述差值对应比特字段所使用的熵解码方法的辅助信息。
对应的码流中, 携带有如下比特字段: DLT 中元素数量信息的比特字 段; DLT中首个元素取值的比特字段; DLT中除首个元素外的其它元素取 值与 DLT中索引序号小于所述元素索引序号的元素取值之间的差值的比特 字段; 标识解码所述差值比特字段所使用的熵解码方法的辅助信息比特字 段。 该码流可用于在参数集和 /或分片头信息和 /或分片划分头信息中编码
DLT数据。 实施例 4的 DLT码流组织方法如表 2所示:
Figure imgf000018_0001
表 2
表 2中各字段的语义(对应的解码器操作)如下。 其中, DepthFlag是 一个用于标识当前处理分量是否是深度分量的标志位。
dlt— flag取值等于 1时表示解码器在解码过程中需要使用 DLT; 反之, 取值等于 0时表示解码器在解码过程中不使用 DLT。 该元素的编解码方法 使用 u(l)对应的编解码方法。
num depth values in dlt表示 DLT中包含的深度采样点数值的数量。 其编解码方法可以使用 u(v)对应的编解码方法, 也可使用 ue(v)对应的编解 码方法。 当使用 u(v)对应的编解码方法时, num— depth— values— in— dlt在码流 中对应的比特个数等于深度分量的比特深度。
dlt— depth— value[0]是 DLT 中首个元素的取值, 其编解码方法可以使用 u(v)对应的编解码方法, 也可使用 ue(v)对应的编解码方法。 当使用 u(v)对 应的编解码方法时, dlt— depth— value[0]在码流中对应的比特个数等于深度分 量的比特深度。
dlt depth diff minus 1 _less_than_4_flag [ i ]取值等于 1时表示 DLT中第 i个元素与第 i - 1个元素之间的差值减 1后的值小于 4; 反之, 取值等于 0 时表示 DLT中第 i个元素与第 i - 1个元素之间的差值减 1后的值大于 4。 该元素的编解码方法使用 u(l)对应的编解码方法。
dlt_depth_diff_minusl [ i ]表示 DLT中第 i个元素与第 i - 1个元素之间 的差值, 其取值必须是非负整数。 除 DLT中首个元素外, 其它元素的取值 为: dlt— depth— value [i] = dlt— depth— diff— minus 1 [i] + 1 + dlt— depth— value [i— 1], 其中, i的取值为 1, 2, · · ·, num— depth— values— in— dlt - 1。 该元素的编解码方 法使用 u(2)对应的编解码方法。
dlt depth diff minus 1 _minus4 [ i ]表示 DLT中第 i个元素与第 i - 1个元 素之间的差值, 其取值必须是非负整数。 除 DLT中首个元素外, 其它元素 的取值为: dlt— depth— value [i] = dlt— depth— diff— minus l—minus4[i] + 1 + 4 + dlt— depth— value [i— 1] ,其中, i的取值为 1, 2, · · ·, num— depth— values— in— dlt - 1。 该元素的编解码方法可使用 ue(v)对应的编解码方法, 也可以使用 u(v)对应 的 编 解 码 方 法 。 当 使 用 u(v)对 应 的 编 解 码 方 法 时 , dlt— depth— diff— minusl—minus4[i]在码流中对应的比特个数等于深度分量的 比特深度。
使用表 2所示的码流组织方法的解码过程如图 5所示, 包括步驟 501 至 511。
步驟 501 , 与步驟 301完全相同。
步驟 502, 解码器判断: dlt— flag的取值是否为 1。 若是, 则执行步驟 503; 否则, 执行步驟 511。
步驟 503 , 与步驟 303完全相同。
步驟 504 , 与步驟 304完全相同。
步驟 505 , 与步驟 305完全相同。
步驟 506,解码器判断: i < num— depth— values— in— dlt是否成立。若成立, 则执行步驟 507, 否则, 执行步驟 511。
步驟 507, 解码器解析 dlt_depth_diff_minusl_less_than_4_flag[ i ]的取 值。
解 码 器 使 用 u(l) 对 应 的 解 码 方 法 从 码 流 中 解 析 dlt_depth_diff_minusl_less_than_4_flag[ i ]对应的 比特字段, 获得 dlt— depth— diff— minusl— less— than— 4— flag[ i ]的取值。
步驟 508, 解码器判断: dlt_depth_diff_minusl_less_than_4_flag[ i ]的取 值是否等于 1。 若是, 执行步驟 509; 否则, 执行步驟 510。
步驟 509, 解码器执行操作: 解析 dlt_depth_diff_minusl [ i ]的取值; dlt— depth— value [i] = dlt— depth— diff— minus l [i] + 1 + dlt— depth— value [i - 1]; 解 码器更新 i ++。 返回步驟 506。
解码器使用 u(2)对应的解码方法从码流中解析 dlt— depth— diff— minusl [i] 对应的比特字段, 获得 dlt— depth— diff— minusl [i]的取值。
步驟 510, 解码器执行操作: 解析 dlt_depth_diff_minusl_minus4[ i ]的 取值; dlt_depth_value[i] = dlt— depth— diff— minusl— minus4[i] 十 1 十 4 十 dlt— depth— value[i - 1]; 解码器更新 i ++。 执行步驟 406。
解 码 器 使 用 ue(v) 对 应 的 解 码 方 法 从码 流 中 解 析 dlt depth diff minus 1 _minus4 [ i ] 对 应 的 比 特 字 段 , 获 得 dlt— depth— diff— minusl— minus4[ i ]的取值。
可替换地, 解码器使用 u(v)对应的解码方法从码流中解析 dlt depth diff minus 1 _minus4 [ i ] 对 应 的 比 特 字 段 , 获 得 dlt depth diff minus 1 _minus4 [ i ]的取值。
步驟 511 , 解码从码流中获得 DLT数据流程结束, DLT数据存储在数 组 dlt— depth— value中。 使用表 2所示的码流组织方法的编码过程如图 6所示, 包括步驟 601 至 610。
步驟 601 , 与步驟 401完全相同。 步驟 602, 编码器判断: dlt— flag的取值是否为 1。 若是, 则执行步驟 603; 否则, 执行步驟 610。
步驟 603 , 与步驟 403完全相同。
步驟 604 , 与步驟 404完全相同。
步驟 605, 与步驟 405完全相同。
步驟 606,编码器判断: i<num— depth— values— in— dlt是否成立。若成立, 执行步驟 607; 否则, 执行步驟 610。
步驟 607, 编码器判断: dlt[i]-dlt[i-l]- 1 <4是否成立。 若成立, 执行 步驟 608; 否则, 执行步驟 609。
步驟 608, 编码器执行操作: 将数值 "1"写入码流; 将 dlt[i]-dlt[i- l]- l的值写入码流; 更新计数器: i++。 执行步驟 606。
步驟 609, 编码器执行操作: 将数值 "0"写入码流; 将 dlt[i]-dlt[i- l]- l-4的值写入码流; 更新计数器: i++。 执行步驟 606。
步驟 610, 编码器编码 DLT信息过程结束。 实施例 5
本实施例针对具体应用场景, 介绍按照上述实施例 1和实施例 2的编 解码方法进行深度信息编解码的具体过程。
本实施例所使用的 DLT码流组织方法如表 3所示。该 DLT码流组织方 法适用于在参数集( Parameter Set ), 分片头信息 ( Slice Header )或分片分 割头信息( Slice Segment Header )等码流组织结构中编码和传输 DLT信息 码流。
如表 3所示码流中深度信息标识方法, 标识 DLT中元素数量的信息; 标识 DLT中首个元素的取值;标识 DLT中除首个元素外的其它元素取值与 DLT 中索引序号小于所述元素索引序号的元素取值之间的差值; 标识解码 所述差值对应比特字段所使用的熵解码方法的辅助信息。 对应的码流中, 携带有如下比特字段: DLT 中元素数量信息的比特字 段; DLT中首个元素取值的比特字段; DLT中除首个元素外的其它元素取 值与 DLT中索引序号小于所述元素索引序号的元素取值之间的差值的比特 字段; 标识解码所述差值比特字段所使用的熵解码方法的辅助信息比特字 段。 该码流可用于在参数集和 /或分片头信息和 /或分片划分头信息中编码 DLT数据。 实施例 5的 DLT码流组织方法如表 3所示:
Figure imgf000022_0001
表 3
表 3中各字段的语义(对应的解码器操作)如下。 其中, DepthFlag是 一个用于标识当前处理分量是否是深度分量的标志位。
dlt— flag取值等于 1时表示解码器在解码过程中需要使用 DLT; 反之, 取值等于 0时表示解码器在解码过程中不使用 DLT。 该元素的编解码方法 使用 u(l)对应的编解码方法。
num depth values in dlt表示 DLT中包含的深度采样点数值的数量。 其编解码方法可以使用 u(v)对应的编解码方法, 也可使用 ue(v)对应的编解 码方法。 当使用 u(v)对应的编解码方法时, num— depth— values— in— dlt在码流 中对应的比特个数等于深度分量的比特深度。
dlt— depth— value[0]是 DLT 中首个元素的取值, 其编解码方法可以使用 u(v)对应的编解码方法, 也可使用 ue(v)对应的编解码方法。 当使用 u(v)对 应的编解码方法时, dlt— depth— value[0]在码流中对应的比特个数等于深度分 量的比特深度。
dlt— depth— diff— threshold表示切换 DLT熵编码方法的门限值, 其编解码 方法使用 u(3)对应的编解码方法。 该元素取值对应的解码操作如下。 其中, 表 4中运算符 "a « b" 表示将 a的二进制表示值右移 b位。 实施例 5中 dlt— depth— diff— threshold取值的对应操作表如表 4所示:
Figure imgf000023_0001
表 4 dlt— depth— diff— minus 1— less— than— threshold— flag [ i ]取值等于 1 时表示 DLT中第 i个元素与第 i - 1个元素之间的差值减 1后的值小于门限值; 反 之, 取值等于 0时表示 DLT中第 i个元素与第 i - 1个元素之间的差值减 1 后的值大于门限值。其中, 门限值根据 dlt— depth— diff— threshold的取值确定。 该元素的编解码方法使用 U( l)对应的编解码方法。
dlt_depth_diff_minusl [ i ]表示 DLT中第 i个元素与第 i - 1个元素之间 的差值, 其取值必须是非负整数。 除 DLT中首个元素外, 其它元素的取值 为: dlt— depth— value [i] = dlt— depth— diff— minus 1 [i] + 1 + dlt— depth— value [i— 1], 其中, i的取值为 1, 2, · · ·, num— depth— values— in— dlt - 1。 该元素的编解码方 法可以使用 u(v)和 ue(v)对应的编解码方法。当该元素的编解码方法使用 u(v) 对应 的编解码方法时 , 其在码流中对应 的 比特个数等于 dlt depth diff threshold的取值。
dlt depth diff minus 1 _minus4 [ i ]表示 DLT中第 i个元素与第 i - 1个元 素之间的差值, 其取值必须是非负整数。 除 DLT中首个元素外, 其它元素 的取值为: dlt— depth— value [i] = dlt— depth— diff— minus l—minus4[i] + 1 + 4 + dlt— depth— value [i— 1] ,其中, i的取值为 1, 2, · · ·, num— depth— values— in— dlt - 1。 该元素的编解码方法可使用 ue(v)对应的编解码方法, 也可以使用 u(v)对应 的编解码方法。
使用上述表 3的码流组织方法的解码过程如图 7所示, 包括步驟 701 至 707。
步驟 701 , 与步驟 501完全相同。
步驟 702, 解码器判断: dlt— flag的取值是否为 1。 若是, 则执行步驟 703 ; 否则, 执行步驟 707。
步驟 703 , 与步驟 503完全相同。
步驟 704, 与步驟 504完全相同。 步驟 705 , 解码器从码流中解析 dlt— depth— diff— threshold的取值。
解码器使用 u(3)对应的解码方法从码流中解析 dlt— depth— diff— threshold 对应的比特字段, 获得 dlt— depth— diff— threshold的取值。
步驟 706, 解码器根据 dlt— depth— diff— threshold的取值, 解析 DLT。 若 dlt— depth— diff— threshold的取值等于 0, 解码器使用 ue(v)对应的解码 方法从码流中解析 dlt— depth— diff— minus 1 [i]对应的比特字段, 获得 dlt depth diff minus 1 [i]的取值, 并执行操作
dlt— depth— value [i] = dlt— depth— diff— minus l [i] + 1 + dlt— depth— value [i -
1]。
反之, 若 dlt— depth— diff— threshold的取值等于 1 , 解码器使用 u(l)对应 的解码方法从码流中解析 dlt_depth_diff_minusl_less_than_threshold_flag[ i ] 对 应 的 比 特 字 段 , 获 得 标 志 位 dlt— depth— diff— minus 1— less— than— threshold— flag[ i ] 的 取 值 。 当 dlt depth diff minus 1 _less_than_threshold_flag[ i ]取值等于 1时, 解码器使 用 u(v)对应的解码方法从码流中解析 dlt— depth— diff— minusl [ i ]对应的比特 字 段 ( 该 字 段 比 特数 为 dlt— depth— diff— threshold 个 ) , 获得 dlt depth diff minus 1 [ i ]的取值, 并执行操作
dlt— depth— value [i] = dlt— depth— diff— minus l [i] + 1 + dlt— depth— value [i - 1]。 反之, 当 dlt— depth— diff— minus 1— less— than— threshold— flag[ i ]取值等于 0 时 , 解码 器使用 ue(v)对应 的 解码 方 法从码 流 中 解析 dlt depth diff minus 1 _minus4 [ i ] 对 应 的 比 特 字 段 , 获 得 dlt depth diff minus 1 _minus4 [ i ]的取值, 并执行操作
dlt— depth— value [i] = dlt— depth— diff— minus l—minus4[i] + 1 + 4 + dlt— depth— value [i— 1]。
步驟 707, 解码从码流中获得 DLT数据流程结束, DLT数据存储在数 组 dlt— depth— value中。 使用表 3的码流组织方法的编码过程如图 8所示,包括步驟 801至 806。 步驟 801 , 与步驟 601完全相同。
步驟 802, 编码器判断: dlt— flag的取值是否为 1。 若是, 则执行步驟 803 ; 否则, 执行步驟 806。
步驟 803 , 与步驟 603完全相同。
步驟 804 , 与步驟 604完全相同。
步驟 805 , 编码器根据深度数据特性设置 dlt— depth— diff— threshold的取 值, 并根据该取值将 DLT相关数据写入码流。
编码器可以分别评估不同 dlt— depth— diff— threshold容许取值下对编码效 率和占用资源 (如计算复杂度、 存储空间需求等) 的影响, 选择按照设定 评定准则 (如常用的率失真准则) 下代价最小的 dlt— depth— diff— threshold取 值。
编码器使用 u(3)对应的编码方法将所选定的 dlt— depth— diff— threshold取 值写入码流。
若 dlt— depth— diff— threshold取值等于 0, 编码器使用 ue(v)对应的编码方 法将 dlt[i] - dlt[i-l] - 1的值写入码流。
反之, 若 dlt— depth— diff— threshold的取值不等于 0, 编码器的执行过程 如下所述:
编码器根据 dlt— depth— diff— threshold的取值, 根据表 4设定门限值。 当编码器判断 dlt[i] - dlt[i-l] - 1的值小于门限值时, 编码器使用 u(l) 对应的编码方法将数值" 1"写入码流,然后使用 u(v)对应的编码方法将 dlt[i] - dlt[i-l] - 1 的数值写入码流, 所使用 的 比特个数等于 dlt— depth— diff— threshold; 反之, 当编码器判断 dlt[i] - dlt[i-l] - 1的值大于门 限值时, 编码器使用 u(l)对应的编码方法将数值 "0" 写入码流, 然后使用 ue(v)对应的编码方法将 dlt[i] - dlt[i-l] - 1- 4的数值写入码流。
编码器完成 DLT中所有元素的处理过程后,该步驟结束,执行步驟 806。 步驟 806, 编码器编码 DLT信息过程结束。 实施例 6
本实施例针对具体应用场景, 介绍按照上述实施例 1和实施例 2的编 解码方法进行深度信息编解码的具体过程。
本实施例所使用的 DLT码流组织方法如表 4所示。该 DLT码流组织方 法适用于在参数集( Parameter Set )、 分片头信息 ( Slice Header )或分片分 割头信息 ( Slice Segment Header )等码流组织结构中编码和传输 DLT信息 码流。
如表 5所示码流中深度信息标识方法, 标识 DLT中元素数量的信息; 标识 DLT中首个元素的取值;标识 DLT中除首个元素外的其它元素取值与 DLT 中索引序号小于所述元素索引序号的元素取值之间的差值; 标识解码 所述差值对应比特字段所使用的熵解码方法的辅助信息。
对应的码流中, 携带有如下比特字段: DLT 中元素数量信息的比特字 段; DLT中首个元素取值的比特字段; DLT中除首个元素外的其它元素取 值与 DLT中索引序号小于所述元素索引序号的元素取值之间的差值的比特 字段; 标识解码所述差值比特字段所使用的熵解码方法的辅助信息比特字 段。 该码流可用于在参数集和 /或分片头信息和 /或分片划分头信息中编码 DLT数据。 实施例 6的 DLT码流组织方法如表 5所示:
Figure imgf000027_0001
Figure imgf000028_0001
表 5中各字段的语义(对应的解码器操作)如下。 其中, DepthFlag是 一个用于标识当前处理分量是否是深度分量的标志位。
dlt— flag取值等于 1时表示解码器在解码过程中需要使用 DLT; 反之, 取值等于 0时表示解码器在解码过程中不使用 DLT。 该元素的编解码方法 使用 u(l)对应的编解码方法。
num depth values in dlt表示 DLT中包含的深度采样点数值的数量。 其编解码方法可以使用 u(v)对应的编解码方法, 也可使用 ue(v)对应的编解 码方法。 当使用 u(v)对应的编解码方法时, num— depth— values— in— dlt在码流 中对应的比特个数等于深度分量的比特深度。
dlt— depth— value[0]是 DLT 中首个元素的取值, 其编解码方法可以使用 u(v)对应的编解码方法, 也可使用 ue(v)对应的编解码方法。 当使用 u(v)对 应的编解码方法时, dlt— depth— value[0]在码流中对应的比特个数等于深度分 量的比特深度。
dlt— depth— element— threshold— flag取值等于 1时表示 DLT中各元素使用 自身的门限值切换熵编码方法; 反之, 取值等于 0时表示 DLT中各元素使 用相同的门限值切换熵编码方法。 dlt— depth— diff— threshold表示切换 DLT熵编码方法的门限值, 其编解码 方法使用 u(3)对应的编解码方法。 该元素取值对应的解码操作如下。 其中, 表 6中运算符 "a « b" 表示将 a的二进制表示值右移 b位。 实施例 6中 dlt— depth— diff— threshold取值的对应操作表如表 6所示:
Figure imgf000029_0001
表 6
dlt_depth_diff_threshold_array[ i ]表示 DLT中第 i个元素的切换 DLT熵 编码方法的门限值, 其编解码方法使用 u(3)对应的编解码方法。 该元素取 值对应的解码操作与 dlt— depth— diff— threshold相同, 如表 6所示。
dlt— depth— diff— minus 1— less— than— threshold— flag [ i ]取值等于 1 时表示 DLT中第 i个元素与第 i - 1个元素之间的差值减 1后的值小于门限值; 反 之, 取值等于 0时表示 DLT中第 i个元素与第 i - 1个元素之间的差值减 1 后的值大于门限值。其中, 门限值根据 dlt— depth— diff— threshold的取值确定。 该元素的编解码方法使用 u( l)对应的编解码方法。
dlt_depth_diff_minusl [ i ]表示 DLT中第 i个元素与第 i - 1个元素之间 的差值, 其取值必须是非负整数。 除 DLT中首个元素外, 其它元素的取值 为: dlt— depth— value [i] = dlt— depth— diff— minus 1 [i] + 1 + dlt— depth— value [i— 1], 其中, i的取值为 1, 2, · · ·, num— depth— values— in— dlt - 1。 该元素的编解码方 法可使用 ue(v)和 u(v)对应的编解码方法。 当该元素的编解码方法使用 u(v) 对应的编解码方法时,当 dlt— depth— element— threshold— flag的取值等于 1时, 其在码流中对应的比特个数等于 dlt— depth— diff— threshold— array[i]的取值;反 之, 当 dlt— depth— element— threshold— flag的取值等于 0时, 其在码流中对应 的比特个数等于 dlt— depth— diff— threshold的取值。
dlt depth diff minus 1 _minus4 [ i ]表示 DLT中第 i个元素与第 i - 1个元 素之间的差值, 其取值必须是非负整数。 除 DLT中首个元素外, 其它元素 的取值为: dlt— depth— value [i] = dlt— depth— diff— minus l—minus4[i] + 1 + 4 + dlt— depth— value [i— 1] ,其中, i的取值为 1, 2, · · ·, num— depth— values— in— dlt - 1。 该元素的编解码方法可使用 ue(v)对应的编解码方法。
使用上述表 5的码流组织方法的解码过程如图 9所示, 包括步驟 901 至 907。
步驟 901 , 与步驟 701完全相同。
步驟 902, 解码器判断: dlt— flag的取值是否为 1。 若是, 则执行步驟 903 ; 否则, 执行步驟 907。
步驟 903 , 与步驟 703完全相同。
步驟 904 , 与步驟 704完全相同。
步驟 905 , 解码器解析 dlt— depth— diff— element— threshold— flag 和 dlt depth diff threshold的取值。
解 码 器 使 用 U( l) 对 应 的 解 码 方 法 从 码 流 中 解 析 dlt— depth— diff— element— threshold— flag 对 应 的 字 段 比 特 , 获 得 dlt— depth— diff— element— threshold— flag的取值。
当解码器判断 dlt— depth— diff— element— threshold— flag的取值等于 1时, 解码器将 dlt— depth— diff— threshold的取值设置为 0。
反之, 当解码器判断 dlt— depth— diff— element— threshold— flag的取值等于
0时, 解码器使用 u(3)对应的解码方法解析 dlt— depth— diff— threshold对应的 字段比特, 获得 dlt— depth— diff— threshold的取值。
步驟 906 , 解码器根据 dlt— depth— diff— element— threshold— flag 和 dlt depth diff threshold的取值, 解析 DLT。
若解码器判断 dlt— depth— diff— element— threshold— flag的取值等于 1 , 则 解 码 器 使 用 u(3) 对 应 的 解 码 方 法 从 码 流 中 解 析 dlt_depth_diff_threshold_array[ i ] 对 应 的 比 特 字 段 , 获 得 dlt_depth_diff_threshold_array[ i ]的取值; 反之, 若解码器判断 dlt— depth— diff— element— threshold— flag 的取值等于 0 , 则解码器将 dlt— depth— diff— threshold— array [ i ]的值设置为 0。
解 码 器 若 判 断 dlt— depth— diff— threshold + dlt_depth_diff_threshold_array[ i ]的值等于 0, 则解码器使用 ue(v)对应的解 码方法从码流中解析 dlt— depth— diff— minusl [i]对应的比特字段, 获得 dlt depth diff minus 1 [i]的取值 , 并执行操作 dlt_depth_value[i] = dlt— depth— diff— minus 1 [i] + 1 + dlt— depth— value [i— 1]。
反 之 , 解 码 器 若 判 断 dlt— depth— diff— threshold + dlt_depth_diff_threshold_array[ i ]的值大于 0,则解码器按照如下所述流程解 析 DLT:
解 码 器 使 用 u(l) 对 应 的 解 码 方 法 从 码 流 中 解 析 dlt_depth_diff_minusl_less_than_threshold_flag[ i ]对应的比特字段, 获得标 志位 dlt— depth— diff— minus 1— less— than— threshold— flag[ i ]的取值。 当 dlt depth diff minus 1 _less_than_threshold_flag[ i ]取值等于 1时, 解码器使 用 u(v)对应的解码方法从码流中解析 dlt— depth— diff— minusl [ i ]对应的比特 字段 (该字段比特数为 dlt_depth_diff_threshold_array[ i ]个), 获得 dlt depth diff minus 1 [ i ]的取值, 并执行操作 dlt_depth_value[i] = dlt— depth— diff— minus l [i] + 1 + dlt— depth— value [i - 1]; 反之, 当 dlt_depth_diff_minusl_less_than_threshold_flag[ i ]取值等于 0时, 解码器使 用 ue(v)对应的解码方法从码流中解析 dlt_depth_diff_minusl_minus4[ i ]对 应的比特字段, 获得 dlt_depth_diff_minusl_minus4[ i ]的取值, 并执行操作 dlt— depth— value [i] = dlt— depth— diff— minus l—minus4[i] + 1 + 4 + dlt— depth— value [i - 1]。
步驟 907, 解码从码流中获得 DLT数据流程结束, DLT数据存储在数 组 dlt— depth— value中。 使用表 5的码流组织方法的编码过程如图 10所示, 包括步驟 1001至
1006。
步驟 1001 , 与步驟 801完全相同。
步驟 1002, 编码器判断: dlt— flag的取值是否为 1。 若是, 则执行步驟 1003; 否则, 执行步驟 1006。
步驟 1003 , 与步驟 803完全相同。
步驟 1004 , 与步驟 804完全相同。
步 驟 1005 , 编 码 器 根 据 深 度 数 据 特 性 设 置 dlt— depth— diff— element— threshold— flag和 dlt— depth— diff— threshold的取值 , 并 根据该取值将 DLT相关数据写入码流。
编码器可以分别评估不同 dlt— depth— diff— element— threshold— flag取值设 置为 0和 1下对编码效率和占用资源 (如计算复杂度、 存储空间需求等) 的影响, 选择按照设定评定准则 (如常用的率失真准则) 下代价最小的 dlt— depth— diff— element— threshold— flag取值, 具体过程如下:
编码器将 dlt— depth— diff— element— threshold— flag的取值设置为 0时, 编 码器分别评估 dlt— depth— diff— threshold容许取值下对编码效率和占用资源 (如计算复杂度、 存储空间需求等) 的影响, 选择按照设定评定准则 (如 常用的率失真准则) 下代价最小的 dlt— depth— diff— threshold取值。 编码器将 该代价值作为 dlt— depth— diff— threshold— flag 的取值设置为 0 时对应的代价 值, 并记录 dlt depth diff threshold的取值。
编码器将 dlt— depth— diff— element— threshold— flag的取值设置为 0时, 编 码器分别评估 dlt— depth— diff— threshold容许取值下对编码效率和占用资源 (如计算复杂度、 存储空间需求等) 的影响, 为 DLT表中除首个元素外其 它元素选择按照设定评定准则 (如常用的率失真准则) 下代价最小的 dlt— depth— diff— threshold— array[i]取值 。 编码 器将该代价值作 为 dlt— depth— diff— threshold— flag的取值设置为 1时对应的代价值, 并记录除首 个元素外其它元素的 dlt— depth— diff— threshold— array[i]取值。
编 码 器 使 用 u(l) 对 应 的 编 码 方 法 将 dlt— depth— diff— element— threshold— flag 的 取 值 写 入 码 流 。 若 dlt— depth— diff— element— threshold— flag的值等于 0, 则编码器使用 u(3)对应的 编码方法将 dlt depth diff threshold的值写入码流。
对于 DLT中除首个元素之外的其它元素(如第 i个元素), 编码器执行 如下操作:
当编码器判断 dlt— depth— diff— element— threshold— flag的取值等于 1时, 编码器使用 u(3)对应的编码方法将已确定的 dlt— depth— diff— threshold— array[i] 取值写入码流, 编码器根据 dlt— depth— diff— threshold— array [i]设置门限值, 编 码器设置编码比特长度的值等于 dlt— depth— diff— threshold— array[i]的取值。反 之, 当编码器判断 dlt— depth— diff— element— threshold— flag的取值等于 0时, 编码器设置编码比特长度的值等于 dlt— depth— diff— threshold的取值。
编码器判断 dlt depth diff threshold十 dlt_depth_diff_threshold_array[ i ] 的取值等于 0时, 编码器使用 ue(v)对应的编码方法将 dlt[i] - dlt[i-l] - 1的 数值写入码流。 反之, 编码器判断 dlt— depth— diff— threshold + dlt_depth_diff_threshold_array[ i ]的取值大于 0时, 编码器执行下述操作: 当编码器判断 dlt[i] - dlt[i-l] - l的值小于已确定的门限值时,编码器使 用 u(l)对应的编码方法将数值 " 1" 写入码流, 然后使用 u(v)对应的编码方 法将 dlt[i] - dlt[i-l] - 1的数值写入码流,所使用的比特个数等于已确定的编 码比特长度值; 反之, 当编码器判断 dlt[i] - dlt[i-l] - 1的值大于门限值时, 编码器使用 u(l)对应的编码方法将数值 "0"写入码流, 然后使用 ue(v)对应 的编码方法将 dlt[i] - dlt[i-l] - 1- 4的数值写入码流。
编码器完成 DLT 中所有元素的处理过程后, 该步驟结束, 执行步驟 1006。
步驟 1006, 编码器编码 DLT信息过程结束。 实施例 7
本实施例介绍一种深度信息的编码装置, 可实现上述各实施例中的编 码操作, 该装置至少包括如下各部分。
处理单元, 配置为将深度映射查找表中的所有元素按取值大小的升序 方式进行放置;
第一编码单元, 配置为对深度映射查找表中的首个元素的取值进行编 码, 并写入码流;
第二编码单元, 配置为对所述深度映射查找表中除首个元素外的其它 元素的取值与深度映射查找表中索引序号小于该元素索引序号的元素的取 值之间的差值分别进行编码, 并写入码流。 具体地, 上述第二编码单元, 配置为确定深度映射查找表中除首个元 素外的其它各元素的取值与深度映射查找表中索引序号小于该元素索引序 号的元素的取值之间的差值, 当所述差值小于等于设定门限值时, 选择设 定的第一熵编码方法对该差值进行编码, 当所述差值大于设定门限值时, 则选择设定的第二熵编码方法对该差值进行编码。
其中, 设定门限值是预先设定的固定取值, 或者是编码过程中动态调 整的数值。 而设定门限值可以是为整个深度映射查找表设定的, 也可以是 为深度映射查找表中除首个元素外的其它元素分别设定的。
另外, 第一编码单元, 还配置为可以将深度映射查找表信息写入码流, 其中, 深度映射查找表信息包含元素数量的信息。
第二编码单元, 配置为在对差值进行编码时, 则可以编码辅助信息一 并写入码流, 其中, 辅助信息用于标识编码所述差值使用的熵编码方法。
需要说明的是, 本实施例所提供的编码装置, 可以是单独的一编码装 置, 也可以在内置于各种视频处理设备(包括三维视频处理设备) 中的编 码器。 此时视频处理设备包括緩存器和编码器。
緩存器, 緩存所要编码的数据;
编码器, 将所緩存的数据中深度映射查找表中的所有元素按取值大小 的升序方式进行放置, 对深度映射查找表中的首个元素的取值进行编码, 并写入码流, 对所述深度映射查找表中除首个元素外的其它元素的取值与 深度映射查找表中索引序号小于该元素索引序号的元素的取值之间的差值 分别进行编码, 并写入码流。
具体地, 编码器, 确定所述深度映射查找表中除首个元素外的其它各 元素的取值与深度映射查找表中索引序号小于该元素索引序号的元素的取 值之间的差值, 当所述差值小于等于设定门限值时, 选择设定的第一熵编 码方法对该差值进行编码, 当所述差值大于设定门限值时, 则选择设定的 第二熵编码方法对该差值进行编码。
其中, 所述设定门限值是预先设定的固定取值; 或者
是编码过程中动态调整的数值。
所述设定门限值是为整个深度映射查找表设定的; 或者
是为深度映射查找表中除首个元素外的其它元素分别设定的。
另外, 编码器, 在对差值进行编码时, 还可以编码辅助信息一并写入 码流, 其中, 所述辅助信息用于标识编码所述差值使用的熵编码方法。 实施例 8
本实施例提供一种深度信息的解码装置, 可实现上述各实施例中的解 码操作, 其至少包括如下各单元。
第一解码单元, 配置为配置为对接收到的码流中深度映射查找表的第 一个元素对应的比特字段进行解码得到第一个元素的取值;
在一些方案中, 第一解码单元, 配置为在对深度映射查找表进行解码 之前, 还可能接收深度映射查找表信息, 其中, 深度映射查找表信息包括 解码深度映射查找表中包含的元素数量的信息。
第二解码单元, 配置为对深度映射查找表中除第一个元素外其它各元 素与深度映射查找表中索引序号小于该元素索引序号的元素的取值之间的 差值对应的比特字段进行解码, 得到所述差值;
优选地, 第二解码单元, 配置为在对所述差值对应的比特字段进行解 码之前, 对编码差值的辅助信息对应的比特字段进行解码, 得到该差值使 用的熵编码方法, 按照该差值使用的熵编码方法对应的熵解码方法对所述 差值进行解码。
处理单元, 配置为将得到的差值与深度映射查找表中索引序号小于所 述差值对应元素索引序号的已解码元素的取值进行加法运算, 将和值作为 深度映射查找表中所述差值对应索引序号元素的取值。 特别指出的是、 本实施例提供的解码装置, 可以是单独的一解码装置, 也可以是内置于任何视频播放设备包括三维视频播放设备 ) 中的解码器。
即视频播放设备中解码器, 对接收到的码流中深度映射查找表的第一 个元素对应的比特字段进行解码得到第一个元素的取值, 对深度映射查找 表中除第一个元素外其它各元素与深度映射查找表中索引序号小于该元素 索引序号的元素的取值之间的差值对应的比特字段进行解码, 得到所述差 值, 将得到的差值与深度映射查找表中索引序号小于所述差值对应元素索 引序号的已解码元素的取值进行加法运算, 将和值作为深度映射查找表中 所述差值对应索引序号元素的取值;
显示器, 显示所述解码器解码后的数据即可。
其中, 解码器, 在对所述差值对应的比特字段进行解码之前, 还可以 对编码差值的辅助信息对应的比特字段进行解码, 得到该差值使用的熵编 码方法, 按照该差值使用的熵编码方法对应的熵解码方法对所述差值进行 解码。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或计算机程序产品。 因此, 本发明可采用硬件实施例、 软件实施例、 或结 合软件和硬件方面的实施例的形式。 而且, 本发明可采用在一个或多个其 中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘 存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序 产品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程 图和 /或方框图中的每一流程和 /或方框、以及流程图和 /或方框图中的流程和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功 能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理 设备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存 储器中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个 流程或多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备 上, 使得在计算机或其他可编程设备上执行一系列操作步驟以产生计算机 实现的处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现 在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功 能的步驟。
以上所述, 仅为本发明的较佳实例而已, 并非用于限定本发明的保护 范围。 凡在本发明的精神和原则之内, 所做的任何修改、 等同替换、 改进 等, 均应包含在本发明的保护范围之内。

Claims

权利要求书
1、 一种深度信息的编码方法, 其中, 该方法包括:
将深度映射查找表中的所有元素按取值大'』、的升序方式放置, 其中, 所述深度映射查找表是一种以索引序号表示深度数值的数据结构;
对所述深度映射查找表中的首个元素的取值进行编码并写入码流; 射查找表中索引序号小于该元素索引序号的元素的取值之间的差值分别进 行编码并写入码流。
2、 根据权利要求 1所述方法, 其中, 对所述深度映射查找表中除首个 元素外的其它各元素的取值与深度映射查找表中索引序号小于该元素索引 序号的元素的取值之间的差值分别进行编码, 包括: 映射查找表中索引序号小于该元素索引序号的元素的取值之间的差值, 当 所述差值小于等于设定门限值时, 选择设定的第一熵编码方法对该差值进 行编码, 当所述差值大于设定门限值时, 则选择设定的第二熵编码方法对 该差值进行编码。
3、 根据权利要求 2所述的方法, 其中,
所述设定门限值是预先设定的固定取值; 或者,
是编码过程中动态调整的数值。
4、 根据权利要求 2或 3所述的方法, 其中,
所述设定门限值是为整个深度映射查找表设定的; 或者,
是为深度映射查找表中除首个元素外的其它元素分别设定的。
5、 根据权利要求 1至 3任一项的所述方法, 其中, 该方法还包括: 将所述深度映射查找表信息写入码流, 其中, 所述深度映射查找表信 息包含元素数量的信息。
6、 根据权利要求 1所述的方法, 其中, 该方法还包括: 在对差值进行编码时, 编码辅助信息一并写入码流, 其中, 所述辅助 信息用于标识编码所述差值使用的熵编码方法。
7、 一种深度信息的解码方法, 其中, 该方法包括:
对码流中深度映射查找表的第一个元素对应的比特字段进行解码得到 第一个元素的取值, 其中, 所述深度映射查找表是一种以索引序号表示深 度数值的数据结构;
对深度映射查找表中除第一个元素外其它各元素与深度映射查找表中 索引序号小于该元素索引序号的元素的取值之间的差值对应的比特字段进 行解码, 得到所述差值;
将得到的差值与深度映射查找表中索引序号小于所述差值对应元素索 引序号的已解码元素的取值进行加法运算, 将和值作为深度映射查找表中 所述差值对应索引序号元素的取值。
8、 根据权利要求 7所述的方法, 其中, 该方法还包括:
在对深度映射查找表进行解码之前, 解码所述深度映射查找表信息, 包括: 深度映射查找表中包含的元素数量的信息。
9、 根据权利要求 7或 8所述的方法, 其中, 该方法还包括: 在对所述差值对应的比特字段进行解码之前, 对编码差值的辅助信息 对应的比特字段进行解码, 得到该差值使用的熵编码方法, 按照该差值使 用的熵编码方法对应的熵解码方法对所述差值进行解码。
10、 一种深度信息的编码装置, 其中, 该装置包括:
处理单元, 配置为将深度映射查找表中的所有元素按取值大小的升序 方式进行放置;
第一编码单元, 配置为对深度映射查找表中的首个元素的取值进行编 码, 并写入码流; 第二编码单元, 配置为对所述深度映射查找表中除首个元素外的其它 元素的取值与深度映射查找表中索引序号小于该元素索引序号的元素的取 值之间的差值分别进行编码, 并写入码流;
其中, 所述深度映射查找表是一种以索引序号表示深度数值的数据结 构。
11、 根据权利要求 10所述的装置, 其中,
所述第二编码单元, 配置为确定所述深度映射查找表中除首个元素外 的其它各元素的取值与深度映射查找表中索引序号小于该元素索引序号的 元素的取值之间的差值, 当所述差值小于等于设定门限值时, 选择设定的 第一熵编码方法对该差值进行编码, 当所述差值大于设定门限值时, 则选 择设定的第二熵编码方法对该差值进行编码。
12、 根据权利要求 11所述的装置, 其中, 第二编码单元参考的所述设 定门限值是预先设定的固定取值; 或者, 是编码过程中动态调整的数值。
13、 根据权利要求 11或 12所述的装置, 其中, 第二编码单元参考的 所述设定门限值是为整个深度映射查找表设定的; 或者, 是为深度映射查 找表中除首个元素外的其它元素分别设定的。
14、 根据权利要求 10至 13任一项所述的装置, 其中,
所述第一编码单元, 还配置为将所述深度映射查找表信息写入码流, 其中, 所述深度映射查找表信息包含元素数量的信息。
15、 根据权利要求 14所述的装置, 其中,
所述第二编码单元, 配置为在对差值进行编码时, 将编码辅助信息一 并写入码流, 其中, 所述辅助信息用于标识编码所述差值使用的熵编码方 法。
16、 一种深度信息的解码装置, 其中, 该装置包括:
第一解码单元, 配置为对接收到的码流中深度映射查找表的第一个元 素对应的比特字段进行解码得到第一个元素的取值;
第二解码单元, 配置为对深度映射查找表中除第一个元素外其它各元 素与深度映射查找表中索引序号小于该元素索引序号的元素的取值之间的 差值对应的比特字段进行解码, 得到所述差值;
处理单元, 配置为将得到的差值与深度映射查找表中索引序号小于所 述差值对应元素索引序号的已解码元素的取值进行加法运算, 将和值作为 深度映射查找表中所述差值对应索引序号元素的取值;
其中, 所述深度映射查找表是一种以索引序号表示深度数值的数据结 构。
17、 根据权利要求 16所述的装置, 其中,
所述第一解码单元, 配置为在对深度映射查找表进行解码之前, 解码 所述深度映射查找表信息, 包括: 深度映射查找表中包含的元素数量的信
18、 根据权利要求 16或 17所述的装置, 其中,
所述第二解码单元, 配置为在对所述差值对应的比特字段进行解码之 前, 对编码差值的辅助信息对应的比特字段进行解码, 得到该差值使用的 熵编码方法, 按照该差值使用的熵编码方法对应的熵解码方法对所述差值 进行解码。
19、 一种视频处理设备, 其中, 该设备包括:
緩存器, 配置为緩存所要编码的数据;
编码器, 配置为将所緩存的数据中深度映射查找表中的所有元素按取 值大小的升序方式进行放置, 对深度映射查找表中的首个元素的取值进行 编码, 并写入码流, 对所述深度映射查找表中除首个元素外的其它元素的 取值与深度映射查找表中索引序号小于该元素索引序号的元素的取值之间 的差值分别进行编码, 并写入码流。
20、 根据权利要求 19所述的设备, 其中,
所述编码器, 配置为确定所述深度映射查找表中除首个元素外的其它 各元素的取值与深度映射查找表中索引序号小于该元素索引序号的元素的 取值之间的差值, 当所述差值小于等于设定门限值时, 选择设定的第一熵 编码方法对该差值进行编码, 当所述差值大于设定门限值时, 则选择设定 的第二熵编码方法对该差值进行编码。
21、 根据权利要求 20所述的设备, 其中, 所述编码器参考的所述设定 门限值是预先设定的固定取值; 或者, 是编码过程中动态调整的数值。
22、 根据权利要求 20或 21所述的设备, 其中, 所述编码器参考的所 述设定门限值是为整个深度映射查找表设定的; 或者, 是为深度映射查找 表中除首个元素外的其它元素分别设定的。
23、 根据权利要求 22所述的设备, 其中,
所述编码器, 配置为在对差值进行编码时, 还将编码辅助信息一并写 入码流, 其中, 所述辅助信息用于标识编码所述差值使用的熵编码方法。
24、 一种视频播放设备, 其中, 该设备包括:
解码器, 配置为对接收到的码流中深度映射查找表的第一个元素对应 的比特字段进行解码得到第一个元素的取值, 对深度映射查找表中除第一 个元素外其它各元素与深度映射查找表中索引序号小于该元素索引序号的 元素的取值之间的差值对应的比特字段进行解码, 得到所述差值, 将得到 的差值与深度映射查找表中索引序号小于所述差值对应元素索引序号的已 解码元素的取值进行加法运算, 将和值作为深度映射查找表中所述差值对 应索引序号元素的取值;
显示器, 配置为显示所述解码器解码后的数据。
25、 根据权利要求 24所述的设备, 其中,
所述解码器, 配置为在对所述差值对应的比特字段进行解码之前, 对 编码差值的辅助信息对应的比特字段进行解码, 得到该差值使用的熵编码 方法, 按照该差值使用的熵编码方法对应的熵解码方法对所述差值进行解 码。
26、 一种计算机存储介质, 其中存储有计算机可执行指令, 所述计算 机可执行指令用于执行所述权利要求 1至 6、权利要求 7至 9任一项所述的 方法。
PCT/CN2014/072490 2013-03-27 2014-02-25 一种深度信息编解码方法、装置及视频处理播放设备 WO2014154074A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016504463A JP6371373B2 (ja) 2013-03-27 2014-02-25 奥行き情報符号化および復号化方法、奥行き情報符号化および復号化装置、並びにビデオ処理及び再生装置
KR1020157030831A KR101700752B1 (ko) 2013-03-27 2014-02-25 깊이 정보의 코딩 방법과 디코딩 방법, 깊이 정보의 코딩 장치와 디코딩 장치 및 비디오 처리 재생 장치
US14/779,308 US10477245B2 (en) 2013-03-27 2014-02-25 Methods and devices for coding and decoding depth information, and video processing and playing device
EP14774120.1A EP2981081B1 (en) 2013-03-27 2014-02-25 Methods and devices for coding and decoding depth information, and video processing and playing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310102168.9 2013-03-27
CN201310102168.9A CN104079941B (zh) 2013-03-27 2013-03-27 一种深度信息编解码方法、装置及视频处理播放设备

Publications (1)

Publication Number Publication Date
WO2014154074A1 true WO2014154074A1 (zh) 2014-10-02

Family

ID=51600949

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/072490 WO2014154074A1 (zh) 2013-03-27 2014-02-25 一种深度信息编解码方法、装置及视频处理播放设备

Country Status (6)

Country Link
US (1) US10477245B2 (zh)
EP (1) EP2981081B1 (zh)
JP (1) JP6371373B2 (zh)
KR (1) KR101700752B1 (zh)
CN (1) CN104079941B (zh)
WO (1) WO2014154074A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015139203A1 (en) 2014-03-18 2015-09-24 Mediatek Singapore Pte. Ltd. Dlt signaling in 3d video coding
CN105915917A (zh) * 2015-07-24 2016-08-31 乐视云计算有限公司 深度信息编码方法、解码方法及装置
FR3047379A1 (fr) * 2016-01-29 2017-08-04 Orange Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465004A (zh) * 2007-12-21 2009-06-24 三星电子株式会社 表示3d深度图像的自适应信息的方法、介质和设备
WO2012042890A1 (ja) * 2010-09-30 2012-04-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
WO2012059841A1 (en) * 2010-11-04 2012-05-10 Koninklijke Philips Electronics N.V. Generation of depth indication maps
CN102970548A (zh) * 2012-11-27 2013-03-13 西安交通大学 一种图像深度感知装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1117971A (ja) 1997-06-24 1999-01-22 Canon Inc 画像処理装置およびその方法、データ処理方法、並びに、記録媒体
JP2002044662A (ja) * 2000-07-24 2002-02-08 Sony Corp データ符号化装置及び符号化方法並びにデータ復号化装置及び復号化方法
JP2009509582A (ja) * 2005-09-22 2009-03-12 スリーエム イノベイティブ プロパティズ カンパニー 3次元イメージングにおけるアーチファクトの軽減
JP5039142B2 (ja) * 2006-10-25 2012-10-03 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 品質スケーラブルな符号化方法
KR20100002032A (ko) * 2008-06-24 2010-01-06 삼성전자주식회사 영상 생성 방법, 영상 처리 방법, 및 그 장치
CN101751897A (zh) * 2008-12-10 2010-06-23 扬智科技股份有限公司 压缩及解压缩查找表的方法及其相关装置
JP5492206B2 (ja) * 2009-07-27 2014-05-14 株式会社東芝 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置
JP2011217347A (ja) * 2010-03-16 2011-10-27 Sony Corp 画像符号化装置とその方法、画像復号化装置とその方法、およびプログラム
DK2924996T3 (en) * 2010-07-09 2018-10-01 Samsung Electronics Co Ltd VIDEO ENCODER DEVICE, BY USING BLOCK COLLECTION
US8553998B1 (en) * 2011-08-16 2013-10-08 Google Inc. Depthmap compression using a primitive
KR102216585B1 (ko) * 2013-01-04 2021-02-17 삼성전자주식회사 깊이 영상의 부호화 장치 및 복호화 장치, 부호화 방법 및 복호화 방법
KR101740630B1 (ko) * 2013-01-11 2017-05-26 미디어텍 싱가폴 피티이. 엘티디. 깊이 룩업 테이블의 효율적인 코딩을 위한 방법 및 장치
EP2944082B1 (en) * 2013-01-11 2019-08-21 Huawei Technologies Co., Ltd. Method and apparatus of depth prediction mode selection
US10271034B2 (en) * 2013-03-05 2019-04-23 Qualcomm Incorporated Simplified depth coding
WO2014139566A1 (en) * 2013-03-13 2014-09-18 Huawei Technologies Co., Ltd. Method for coding a depth lookup table
CN105009575B (zh) * 2013-03-13 2018-12-07 华为技术有限公司 一种基于子范围编码深度查询表的方法
ES2698515T3 (es) * 2013-03-15 2019-02-05 Qualcomm Inc Predictor para la intra-codificación de mapas de profundidad
US10659813B2 (en) * 2013-04-10 2020-05-19 Zte Corporation Method, system and device for coding and decoding depth information
US20150063464A1 (en) * 2013-08-30 2015-03-05 Qualcomm Incorporated Lookup table coding
US9497473B2 (en) * 2013-10-03 2016-11-15 Qualcomm Incorporated High precision explicit weighted prediction for video coding
KR20150043218A (ko) * 2013-10-12 2015-04-22 삼성전자주식회사 부가 영상을 부호화하기 위한 스케일러블 비디오 부호화 방법 및 장치, 부가 영상을 복호화하기 위한 스케일러블 비디오 복호화 방법 및 장치
WO2015057033A1 (ko) * 2013-10-18 2015-04-23 엘지전자 주식회사 3d 비디오 부호화/복호화 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465004A (zh) * 2007-12-21 2009-06-24 三星电子株式会社 表示3d深度图像的自适应信息的方法、介质和设备
WO2012042890A1 (ja) * 2010-09-30 2012-04-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
WO2012059841A1 (en) * 2010-11-04 2012-05-10 Koninklijke Philips Electronics N.V. Generation of depth indication maps
CN102970548A (zh) * 2012-11-27 2013-03-13 西安交通大学 一种图像深度感知装置

Also Published As

Publication number Publication date
KR20150135495A (ko) 2015-12-02
CN104079941A (zh) 2014-10-01
JP2016517230A (ja) 2016-06-09
KR101700752B1 (ko) 2017-01-31
US10477245B2 (en) 2019-11-12
US20160057452A1 (en) 2016-02-25
EP2981081A1 (en) 2016-02-03
CN104079941B (zh) 2017-08-25
EP2981081B1 (en) 2018-11-14
EP2981081A4 (en) 2016-03-30
JP6371373B2 (ja) 2018-08-08

Similar Documents

Publication Publication Date Title
US11936884B2 (en) Coded-block-flag coding and derivation
TWI360956B (en) Cabac decoding apparatus and decoding method there
KR101751153B1 (ko) 디코딩 장치, 방법 및 비-일시적 컴퓨터 판독가능 기록매체
RU2013158832A (ru) Сокращение задержки при кодировании и декодировании видео
JP2015515824A5 (zh)
JP2017522799A5 (zh)
CN103339959A (zh) 动态视频切换
TW200952498A (en) CABAC decoding unit and decoding method
JP2017519467A5 (zh)
US20170359591A1 (en) Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing
JP2006129467A (ja) 整数データの無損失適応符号化・復号化
WO2013159705A1 (zh) 编解码方法、视频序列码流的编解码方法及其对应的装置
WO2014154074A1 (zh) 一种深度信息编解码方法、装置及视频处理播放设备
JP2018152887A (ja) 改善されたファイルの圧縮及び暗号化
WO2014048225A1 (zh) 使用参数集的编码、解码方法及装置、电子设备
WO2016003130A1 (ko) 제한된 캐리 연산에 의한 산술 코딩을 수행하기 위한 방법 및 장치
WO2014051745A1 (en) Entropy coding techniques and protocol to support parallel processing with low latency
WO2012095030A1 (zh) 条带编码方法及装置、条带解码方法及装置
TWI735297B (zh) 具有初始化片段之視訊及音訊之寫碼
KR100944923B1 (ko) 개선된 멀티미디어 디코더를 위한 방법 및 장치
JP6509916B2 (ja) 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置
WO2015192340A1 (zh) 基于调色板的图像编码方法、装置以及图像处理设备
RU2013114349A (ru) Энтропийный кодер для сжатия изображения

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14779308

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2016504463

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

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2014774120

Country of ref document: EP