[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2016054937A1 - 三维图像编码方法和三维图像解码方法及相关装置 - Google Patents

三维图像编码方法和三维图像解码方法及相关装置 Download PDF

Info

Publication number
WO2016054937A1
WO2016054937A1 PCT/CN2015/084074 CN2015084074W WO2016054937A1 WO 2016054937 A1 WO2016054937 A1 WO 2016054937A1 CN 2015084074 W CN2015084074 W CN 2015084074W WO 2016054937 A1 WO2016054937 A1 WO 2016054937A1
Authority
WO
WIPO (PCT)
Prior art keywords
adjacent
current image
image block
sampling point
point
Prior art date
Application number
PCT/CN2015/084074
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 EP15848924.5A priority Critical patent/EP3099071A4/en
Publication of WO2016054937A1 publication Critical patent/WO2016054937A1/zh
Priority to US15/362,448 priority patent/US10116965B2/en
Priority to US16/113,531 priority patent/US10397612B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to the field of image processing technologies, and in particular, to a three-dimensional image encoding method, a three-dimensional image decoding method, and related devices.
  • the basic principle of video coding compression is to use the correlation between airspace, time domain and codewords to remove redundancy as much as possible.
  • the current popular practice is to use a block-based hybrid video coding framework to implement video coding compression through prediction (including intra prediction and inter prediction), transform, quantization, and entropy coding.
  • the intra prediction technique uses the spatial pixel information of the current image block to remove redundant information of the current image block to obtain a residual.
  • the inter prediction technique removes redundant information of the current image block using the encoded or decoded image pixel information adjacent to the current image to obtain a residual.
  • This coding framework shows a strong vitality, and HEVC still uses this block-based hybrid video coding framework.
  • 3D In 3D (English: 3Dimensions, abbreviation: 3D) video codec, in order to reflect the object depth information, the depth map needs to be coded and decoded. Because the depth map data has some different signal characteristics than the texture map data. The most prominent is a smooth region with many depth values approximations. In many cases, the sample points in the smooth region can use the same depth value. Therefore, a codec algorithm based on Single depth intra mode (SDM) is introduced for the image block in the depth map.
  • SDM Single depth intra mode
  • the core of SDM is to simplify the reconstruction of the current image block, and one depth value can be used to represent the depth value of the entire smooth region of the current image block.
  • the sampling candidate list is constructed based on the detection results of at least five adjacent predicted sampling points. Since there are at least 5 adjacent prediction sampling points to be referenced when constructing the sampling candidate list, the coding and decoding complexity of the conventional mechanism may be relatively high, and the required storage space is relatively large.
  • the embodiment of the invention provides a three-dimensional image coding method, a three-dimensional image decoding method and a related device, so as to reduce the complexity of the SDM-based codec algorithm and reduce the occupation requirement of the storage space.
  • a first aspect of the present invention provides a three-dimensional video decoding method, which may include:
  • the first adjacent prediction sampling point and the second image of the current image block in the current depth map are Detecting a neighboring predicted sampling point; constructing a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, wherein the adjacent predicted sampling of the current image block is available The point includes only the first adjacent predicted sample point and the second adjacent predicted sample point;
  • the detecting according to the first adjacent predicted sampling point and the second adjacent predicted sampling point The result builds a list of candidate candidates, including:
  • the first preset depth value is used as a sampling candidate list corresponding to the current image block. a candidate value of the first index position record; a second preset depth value is used as a candidate value for the second index position record in the sample candidate list.
  • the first preset depth value is equal to 2 k1 , where the k1 is equal to g_bitDepthY-x1,
  • the g_bitDepthY is equal to the number of coded bits, and the first preset depth value is less than or equal to 255, and the x1 is a positive integer.
  • the second preset depth value is equal to 2 k2 , wherein the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, and the x2 is a positive integer not equal to the x1;
  • the second preset depth value is equal to the first preset depth value
  • the second preset depth value is equal to the first preset depth value plus a first adjustment value
  • the second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the size of the current image block is n*n, and the n is a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are any two of the following adjacent predicted sampling points of the current image block:
  • the first neighboring prediction sampling point is an (n+) of an upper edge of the current image block 2)/2 An adjacent pixel point above the pixel, the second adjacent predicted sampling point being a left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the current image block;
  • the second adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the first adjacent predicted sampling point is the current The left adjacent pixel of the (n+2)/2th pixel of the left edge of the image block.
  • a second aspect of the present invention provides a three-dimensional video encoding method, including:
  • sampling candidate list Constructing a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, wherein the sampling candidate list has a first index position and a second index position;
  • the decoding mode corresponding to the current image block is a single depth intra mode
  • the single sampling index flag indicates that the predicted sample value of some or all of the pixels of the current image block is located in the sampling candidate list. An index position or the second index position.
  • sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, including:
  • the first preset depth value is used as a sampling candidate list corresponding to the current image block. a candidate value of the first index position record; a second preset depth value is used as a candidate value for the second index position record in the sample candidate list.
  • the first preset depth value is equal to 2 k1 , wherein the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, the first preset depth value is less than or equal to 255, and the x1 is a positive integer .
  • the second preset depth value is equal to 2 k2 , wherein the k2 is equal to g_bitDepthY-x2, the second preset depth value is less than or equal to 255, and the x2 is a positive integer not equal to the x1;
  • the second preset depth value is equal to the first preset depth value
  • the second preset depth value is equal to the first preset depth value plus a first adjustment value
  • the second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the size of the current image block is n*n, and the n is a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are any two of the following adjacent predicted sampling points of the current image block:
  • the first adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the second adjacent predicted sampling point is the current a left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the image block
  • the second adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the first adjacent predicted sampling point is the current The left adjacent pixel of the (n+2)/2th pixel of the left edge of the image block.
  • the single sample index identifier corresponding to the current image block is written before the video code stream And further comprising: calculating a first rate distortion cost corresponding to the current image block by using a depth value of the first index position located in the sampling candidate list; using the second index located in the sampling candidate list The depth value of the location calculates a second rate distortion cost corresponding to the current image block;
  • the single sample index flag indicates that a predicted sample value of part or all of the pixel points of the current image block is located in the sample candidate The first index position in the list; if the first rate distortion cost is greater than the second rate distortion cost, the single sample index flag indicates a predicted sample of some or all of the pixels of the current image block The value is located at the second index position in the sample candidate list.
  • a third aspect of the present invention provides a video decoding apparatus, including:
  • a decoding unit configured to decode, from the video code stream, a single sample identifier bit corresponding to the current image block in the current depth map
  • a detecting unit configured to: if the single sampling identifier bit obtained by decoding indicates that a decoding mode corresponding to the current image block is a single depth intra mode, and first neighbor prediction of a current image block in the current depth map The sampling point and the second adjacent predicted sampling point are detected; wherein the available adjacent predicted sampling points of the current image block include only the first adjacent predicted sampling point and the second adjacent predicted sampling point;
  • a building unit configured to construct a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, wherein the sampling candidate list has a first index position and a second index position;
  • the decoding unit is further configured to decode, by using the video code stream, a single sampling index identifier corresponding to the current image block;
  • An image reconstruction unit configured to acquire, according to the index position indicated by the single sampling index identifier obtained by the decoding, a candidate depth value of an index position indicated by the single sampling index identifier bit in the sampling candidate list; Deriving a candidate depth value as a predicted sample value of a part or all of the pixel points of the current image block, using a predicted sample value pair of the part or all of the pixel points of the current image block The current image block is reconstructed.
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is detected, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in the sampling candidate list corresponding to the current image block; writing a depth value of the second adjacent predicted sampling point to a second index position in the sampling candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in the sampling candidate list corresponding to the current image block; writing a depth value of the first adjacent predicted sampling point to a second index position in the sampling candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in a sampling candidate list corresponding to the current image block, and writing a depth value obtained by adding a depth value of the first adjacent predicted sampling point to the first adjustment value to the a second index position in the sample candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in a sampling candidate list corresponding to the current image block, and writing a depth value obtained by subtracting a depth value of the first adjacent predicted sampling point from the second adjustment value into the a second index position in the sample candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in the sampling candidate list corresponding to the current image block; using a second preset depth value as a candidate value recorded in the second index position in the sampling candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is not available, and detect that the second adjacent predicted sampling point is unavailable, the first preset depth value is used as the current image a candidate value of the first index position record in the sample candidate list corresponding to the block; and a second preset depth value as a candidate value of the second index position record in the sample candidate list.
  • the first preset depth value is equal to 2 k1 , wherein the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the number of coding bits, the first preset depth value is less than or equal to 255, and the x1 is a positive integer .
  • the second preset depth value is equal to 2 k2 , wherein the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, and the x2 is a positive integer not equal to the x1;
  • the second preset depth value is equal to the first preset depth value
  • the second preset depth value is equal to the first preset depth value plus a first adjustment value
  • the second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the size of the current image block is n*n, and the n is a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are any two of the following adjacent predicted sampling points of the current image block:
  • the first neighboring prediction sampling point is the (n+) of the upper edge of the current image block 2) an upper adjacent pixel point of /2 pixels, wherein the second adjacent prediction sampling point is a left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the current image block;
  • the second adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the first adjacent predicted sampling point is the current The left adjacent pixel of the (n+2)/2th pixel of the left edge of the image block.
  • a fourth aspect of the present invention provides a video encoding apparatus, including:
  • a detecting unit configured to detect, by using a first adjacent predicted sampling point and a second adjacent predicted sampling point of the current image block in the current depth map, where the available adjacent predicted sampling points of the current image block only include the first An adjacent predicted sampling point and a second adjacent predicted sampling point;
  • a building unit configured to construct a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, wherein the sampling candidate list has a first index position and a second index position;
  • a coding unit configured to write a single sampling identifier corresponding to the current image block into a video code stream, and write a single sampling index identifier corresponding to the current image block into the video code stream,
  • the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, and the single sampling index flag indicates a predicted sampling value of part or all of the pixel points of the current image block. Located at the first index position or the second index position in the sampling candidate list.
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is detected, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in the sampling candidate list corresponding to the current image block; writing a depth value of the second adjacent predicted sampling point to a second index position in the sampling candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in the sampling candidate list corresponding to the current image block; writing a depth value of the first adjacent predicted sampling point to a second index position in the sampling candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in a sampling candidate list corresponding to the current image block, and writing a depth value obtained by adding a depth value of the first adjacent predicted sampling point to the first adjustment value to the a second index position in the sample candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in a sampling candidate list corresponding to the current image block, and writing a depth value obtained by subtracting a depth value of the first adjacent predicted sampling point from the second adjustment value into the a second index position in the sample candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point is Writing a value to a first index position in the sampling candidate list corresponding to the current image block; using a second preset depth value as a candidate value recorded in the second index position in the sampling candidate list;
  • the constructing unit is specifically configured to: if the first adjacent predicted sampling point is not available, and detect that the second adjacent predicted sampling point is unavailable, the first preset depth value is used as the current image a candidate value of the first index position record in the sample candidate list corresponding to the block; and a second preset depth value as a candidate value of the second index position record in the sample candidate list.
  • the first preset depth value is equal to 2 k1 , wherein the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, the first preset depth value is less than or equal to 255, and the x1 is a positive integer .
  • the second preset depth value is equal to 2 k2 , wherein the k2 is equal to g_bitDepthY-x2, the second preset depth value is less than or equal to 255, and the x2 is a positive integer not equal to the x1;
  • the second preset depth value is equal to the first preset depth value
  • the second preset depth value is equal to the first preset depth value plus a first adjustment value
  • the second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the fourth possibility in the fourth aspect is n*n, and the n is a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are any two of the following adjacent predicted sampling points of the current image block:
  • the first neighboring prediction sampling point is an (n+) of an upper edge of the current image block 2) an upper adjacent pixel point of /2 pixels, wherein the second adjacent prediction sampling point is a left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the current image block;
  • the second adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the first adjacent predicted sampling point is the current The left adjacent pixel of the (n+2)/2th pixel of the left edge of the image block.
  • the video encoding device further includes:
  • a calculating unit configured to calculate the current current value by using a depth value of the first index position in the sampling candidate list before writing a single sampling index identifier corresponding to the current image block into the video code stream a first rate distortion cost corresponding to the image block; calculating a second rate distortion cost corresponding to the current image block by using a depth value of the second index position located in the sampling candidate list;
  • the single sample index flag indicates that a predicted sample value of part or all of the pixel points of the current image block is located in the sample candidate The first index position in the list; if the first rate distortion cost is greater than the second rate distortion cost, the single sample index flag indicates a predicted sample of some or all of the pixels of the current image block The value is located at the second index position in the sample candidate list.
  • the first adjacent prediction sample point and the second adjacent prediction sample point of the current image block in the current depth map are detected; according to the first neighbor prediction Generating a sampling candidate list by sampling the result of the sampling point and the second adjacent prediction sampling point; writing a single sampling identifier bit and a single sampling index identification bit corresponding to the current image block to the video code stream, and the single sampling identifier bit indicates
  • the decoding mode corresponding to the current image block is a single depth intra mode
  • the single sampling index flag indicates that the predicted sample value of part or all of the pixel points of the current image block is located in the first of the sampling candidate lists. Index position or second index position.
  • the sampling candidate list is constructed according to the result of detecting the two adjacent predicted sampling points of the first adjacent predicted sampling point and the second adjacent predicted sampling point, wherein the current image block is available
  • the adjacent predicted sampling point includes only the first adjacent predicted sampling point and the second adjacent predicted sampling point, that is, the above-mentioned side
  • the sample construction candidate list can refer to the detection results of two adjacent prediction samples, which is beneficial to simplify the process of constructing the sample candidate list. It can be seen that compared with the conventional scheme, the above scheme is beneficial to reduce the complexity of the SDM-based coding algorithm and reduce the complexity. Storage space usage requirements.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map are detected; according to the first adjacent Generating a sample candidate list by predicting a result of the sampling point and the second adjacent predicted sample point detection; decoding a single sample index flag corresponding to the current image block in the video code stream; and decoding the Determining, by the single sampling index, an index position indicated by the bit, obtaining a candidate depth value of an index position indicated by the single sampling index identifier bit in the sampling candidate list, and using the candidate depth value as the current image block a depth value of a portion or all of the pixels, the current image block being reconstructed using a depth value of the portion or all of the pixels of the current image block.
  • the constructed sampling candidate list may refer to only the detection results of two adjacent predicted sampling points, which is advantageous for simplifying the process of constructing the sampling candidate list. Therefore, compared with the conventional solution, the above solution is beneficial to reduce the complexity of the SDM-based decoding algorithm and reduce the storage space occupation requirement.
  • FIG. 1 is a schematic flow chart of a three-dimensional image encoding method according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a position of adjacent predicted sampling points of a current image block according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram showing the location of adjacent predicted sampling points of another current image block according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a method for decoding a three-dimensional image according to an embodiment of the present invention
  • FIG. 4 is a schematic flowchart diagram of another three-dimensional image encoding method according to an embodiment of the present invention.
  • FIG. 5 is a schematic flowchart diagram of another method for decoding a three-dimensional image according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a video decoding apparatus according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a video encoding apparatus according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of another video encoding apparatus according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of another video decoding apparatus according to an embodiment of the present invention.
  • the embodiment of the invention provides a three-dimensional image coding method, a three-dimensional image decoding method and a related device, so as to reduce the complexity of the SDM-based codec algorithm and reduce the occupation requirement of the storage space.
  • the execution body of the three-dimensional video coding method provided by the embodiment of the present invention is a video coding device, where the video coding device can be any device that needs to output or store video, such as Devices such as laptops, tablets, PCs, mobile phones or video servers.
  • a three-dimensional video encoding method includes: Detecting the first adjacent predicted sample point and the second adjacent predicted sample point of the current image block in the front depth map; detecting according to the first adjacent predicted sample point and the second adjacent predicted sample point As a result, a sampling candidate list is constructed, the sampling candidate list has a first index position and a second index position; a single sampling flag corresponding to the current image block is written into the video code stream, and a single sampling corresponding to the current image block is obtained.
  • the index identifier bit is written into the video code stream, where the single sample identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, and the single sample index flag indicates the current image block.
  • the predicted sample value of some or all of the pixel points is located at a first index position or a second index position in the sample candidate list.
  • FIG. 1 is a schematic flowchart of a three-dimensional video encoding method according to an embodiment of the present invention.
  • a three-dimensional video encoding method according to an embodiment of the present invention may include the following content. :
  • the available adjacent predicted sampling points of the current image block may include only the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are preset two adjacent predicted sampling points of the current image block, and therefore, the current depth
  • the detecting of the first adjacent predicted sample point and the second adjacent predicted sample point of the current image block in the figure may include: setting a first adjacent predicted sample point and a second for the current image block in the current depth map Adjacent predicted sampling points are detected.
  • detecting, by using the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map may include: only in the current depth map The (set) first adjacent predicted sample point and the second adjacent predicted sample point of the current image block are detected.
  • the number of index positions that the sample candidate list has may be, for example, 2 or more, for example, the sample candidate list has a first index position and a second index position. That is, the sample candidate list can be recorded Two candidate depth values, each of which may record a candidate depth value, wherein the candidate depth value located in the sample candidate list may also be referred to as a candidate sample value or a candidate value.
  • the data structure of the sample candidate list may be various, and the embodiment of the present invention does not limit the specific form of the data structure.
  • the single sampling identifier (English: single_sample_flag) indicates whether the decoding mode corresponding to the current image block is a single depth intra mode (SDM).
  • SDM single depth intra mode
  • the single sampling identifier corresponding to the current image block is mainly used.
  • the bit indicates that the decoding mode corresponding to the current image block is SDM as an example. For example, when the single sampling identifier bit is set to “0”, the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, when the single sampling index flag is set. When the value is "1", the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a non-single depth intra mode, and vice versa.
  • the core of the SDM is to simplify the reconstruction process of the current image block. Specifically, the current image block can be reconstructed by using one depth value, so that the current image block is a smooth region, and the depth values of the pixels in the smooth region are consistent.
  • the single sample index (English: single_sample_idx) flag indicates that the predicted sample value of part or all of the pixel points of the current image block is located at a first index position or a second index position in the sample candidate list. For example, when the single sample index identifies the location "0", the single sample index flag may indicate that the predicted sample value of some or all of the pixels of the current image block is located at the first index position in the sample candidate list. When the single sampling index identifies the location "1", the single sampling index flag may indicate that a predicted sample value (English: predSample) of some or all of the pixels of the current image block is located in the sampling candidate list. The second index position in the middle, of course, vice versa. Wherein, the first index location and the second index location may have the same or different write priorities.
  • the single sample index identifier bit and the single sample flag bit corresponding to the current image block may be written into the video code stream by one write operation, or may be performed by two write operations. Separating a single sampling index mark corresponding to the current image block and a single mining The sample flag is written to the video stream. That is to say, step 103 and step 104 may be performed synchronously or not simultaneously.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map are detected; according to the first adjacent predicted sampling And a result of the second adjacent predicted sampling point detection constructing a sampling candidate list; writing a single sampling identifier bit and a single sampling index identification bit corresponding to the current image block to a video code stream, where the single sampling identifier bit indication Decoding mode corresponding to the current image block is a single depth intra mode, where the single sampling index flag indicates that the predicted sample value of part or all of the pixel points of the current image block is located in the sampling candidate list. An index position or a second index position.
  • the sampling candidate list is constructed according to the result of detecting the two adjacent predicted sampling points of the first adjacent predicted sampling point and the second adjacent predicted sampling point, that is, the sampling candidate list may be constructed.
  • the sampling candidate list may be constructed according to the result of detecting the two adjacent predicted sampling points of the first adjacent predicted sampling point and the second adjacent predicted sampling point, that is, the sampling candidate list may be constructed.
  • the implementation manner of constructing the sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point may be various.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may have the same or different detection order.
  • the constructing the sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point may include:
  • first adjacent predicted sampling point If it is detected that the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block; writing a depth value of the second adjacent predicted sample point to a second index position in the sample candidate list (the first adjacent predicted sample point The depth value and the depth value of the second adjacent predicted sampling point may be equal or unequal);
  • the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is not available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block, and the depth value obtained by adding the depth value of the first adjacent predicted sample point to the first adjustment value (the first adjustment value is a positive integer) is written into the Describe a second index position in the sample candidate list;
  • the first index position in the sample candidate list corresponding to the block does not write any depth value in the second index position in the sample candidate list (in this case, only one of the sample candidate lists can be considered to be written)
  • Candidate depth value
  • the second preset depth value is used as a candidate value of the second index position in the sampling candidate list (where the second preset depth value may be, for example, in the sampling candidate list).
  • the second index position of the sampling candidate list is written in the initialization process.
  • the second preset depth value may also be written to the sampling candidate list after detecting that the second adjacent predicted sampling point is not available. Second index position);
  • the first preset depth value is used as a sampling candidate list corresponding to the current image block.
  • a candidate value of the first index position record (the first preset depth value may be written to the first index position of the sampling candidate list during initialization of the sampling candidate list, for example, the first preset depth value may also be detected.
  • the second preset depth value is used as the sampling candidate list a candidate value of the second index position record (the second preset depth value may be written to the second index position of the sample candidate list, for example, during the initialization process of the sample candidate list, of course, the second preset depth value may also be And writing to the second index position of the sampling candidate list after detecting that neither the first adjacent predicted sampling point nor the second adjacent predicted sampling point are available.
  • sampling candidate list may be constructed according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point according to other implementation manners.
  • the mechanism for constructing the sampling candidate list by the decoding end and the encoding end may be the same or similar.
  • a certain adjacent predicted sampling point of the current image block (for example, the first adjacent predicted sampling point or the second adjacent predicted sampling point) is available, and refers to the certain adjacent of the current image block.
  • the predicted sampling point can be used for intra prediction.
  • a certain adjacent predicted sampling point of the current image block is not available, which means that the certain adjacent predicted sampling point of the current image block is not available for intra prediction.
  • the first preset depth value is equal to 2 k1 , the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, and the first preset depth value is less than or Equal to 255, the x1 is a positive integer.
  • the x1 may for example be equal to 1, 2, 3, 4 or other values.
  • the first preset depth value is a positive integer.
  • the second preset depth value is equal to 2 k2 , the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, where the x2 is not equal to The positive integer of x1.
  • the x2 can be, for example, equal to 1, 2, 3, 4 or other values.
  • the second preset depth value is a positive integer.
  • the second preset depth value is equal to the first preset depth value; or the second preset depth value is equal to the first preset depth value plus the first adjustment value; or The second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the first adjustment value may be equal to 1, 2, 3, 4, 6, 10, 20 or other values, for example.
  • the second adjustment value can be, for example, equal to 1, 2, 3, 4, 6, 11, 25 or other values.
  • the size of the current image block may be, for example, n*n, and the n may be a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may be, for example, any two of the following adjacent predicted sampling points of the current image block:
  • An upper adjacent pixel point of the upper left pixel in the current image block (a specific location such as the pixel point B 0 in FIG. 2-a),
  • the left adjacent pixel point of the upper left pixel point in the current image block (such as a specific position such as the pixel point A 0 in FIG. 2-a),
  • the upper left adjacent pixel point of the upper left pixel point in the current image block (specific position, for example, pixel point B -1 in FIG. 2-a ),
  • An upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block (a specific position such as a pixel point B n/2 in FIG. 2-a) and the current image block
  • the left adjacent pixel point of the (n+2)/2th pixel of the left edge (the specific position is, for example, the pixel point A n/2 in FIG. 2-a).
  • the pixel point at the left starting position of the upper edge of the current image block is the 0th pixel point B 0 of the upper edge
  • the pixel position at the starting position above the left edge of the current image block is The 0th pixel A 0 of the left edge.
  • the first adjacent predicted sampling point is the (n+2)/2th of the upper edge of the current image block.
  • An upper adjacent pixel of the pixel B n/2 the second adjacent predicted sampling point being the left adjacent to the (n+2)/2th pixel A n/2 of the left edge of the current image block pixel.
  • the second adjacent prediction sampling point may be an upper adjacent pixel point of the (n+2)/2th pixel point Bn/2 of the upper edge of the current image block
  • the first adjacent The predicted sampling point may be the left adjacent pixel point of the (n+2)/2th pixel point A n/2 of the left edge of the current image block.
  • the method may further include: using a first location in the sample candidate list A depth value of an index position calculates a first rate distortion cost corresponding to the current image block; and a second rate distortion cost corresponding to the current image block is calculated using a depth value of a second index position located in the sample candidate list.
  • the single sample index flag indicates that a predicted sample value of part or all of the pixel points of the current image block is located in the sample candidate a first index position in the list; if the first rate distortion cost is greater than the second rate distortion cost, the single sample index flag indicates that a predicted sample value of some or all of the pixels of the current image block is located a second index position in the sample candidate list.
  • the single sampling index flag indicates whether the predicted sample value of part or all of the pixel points of the current image block is located at the first index position or the second index position in the sample candidate list.
  • the single sampling index flag may indicate part or all of the pixel points of the current image block.
  • the predicted sample value is located in any one of a first index position and a second index position in the sample candidate list.
  • the three-dimensional video decoding method provided by the embodiment of the present invention is described below.
  • the execution body of the three-dimensional video decoding method provided by the embodiment of the present invention is a video decoding device, where the video decoding device may be any device that needs to output or store video, such as a notebook. Devices such as computers, tablets, PCs, mobile phones or video servers.
  • a three-dimensional video decoding method includes: decoding, from a video code stream, a single sampling identifier bit corresponding to a current image block in a current depth map; and if the single sampling obtained by decoding The identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, and the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map are detected; Constructing a sample candidate list according to the results of detecting the first adjacent predicted sample point and the second adjacent predicted sample point; decoding the current picture from the video code stream a single sample index flag corresponding to the block; obtaining, according to the index position indicated by the single sample index identifier bit obtained by decoding, a candidate depth of an index position indicated by the single sample index flag in the sample candidate list And using the candidate depth value as a predicted sample value of a part or all of the pixel points of the current image block, and using the predicted sample value of the
  • FIG. 3 is a schematic flowchart of a method for decoding a three-dimensional video according to another embodiment of the present invention.
  • a method for decoding a three-dimensional video according to another embodiment of the present invention may include The following:
  • the single sampling identifier bit obtained by the decoding indicates that the decoding mode corresponding to the current image block is a single depth intra mode, and the first adjacent prediction sampling point of the current image block in the current depth map is The second adjacent predicted sampling point is detected; and the sampling candidate list is constructed according to the result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the available adjacent predicted sampling points of the current image block may include only the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are preset two adjacent predicted sampling points of the current image block, and therefore, the current depth
  • the detecting of the first adjacent predicted sample point and the second adjacent predicted sample point of the current image block in the figure may include: setting a first adjacent predicted sample point and a second for the current image block in the current depth map Adjacent predicted sampling points are detected.
  • detecting, by using the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map may include: only in the current depth map The (set) first adjacent predicted sample point and the second adjacent predicted sample point of the current image block are detected.
  • the number of index positions that the sample candidate list has may be, for example, 2 or more, for example, the sample candidate list has a first index position and a second index position. That is, two candidate depth values may be recorded in the sampling candidate list, and each candidate position may record one candidate depth value.
  • the data structure of the sample candidate list may be various, and the embodiment of the present invention does not limit the specific form of the data structure.
  • the single sampling identifier bit indicates whether the decoding mode corresponding to the current image block is a single depth intra mode.
  • the current image block is indicated by a single sampling identifier corresponding to the current image block.
  • the corresponding decoding mode is SDM as an example.
  • the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, and when the single sampling index identifies the location “1”
  • the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a non-single depth intra mode, and vice versa.
  • the single sampling identifier corresponding to the current image block is used as an example to indicate that the decoding mode corresponding to the current image block is SDM.
  • the single sample index flag and the single sample flag bit corresponding to the current image block may be decoded from the video code stream by one decoding operation, or may be separately performed by two decoding operations. Decoding in the video code stream results in a single sample index flag and a single sample flag corresponding to the current image block. That is to say, step 301 and step 303 may be performed synchronously or asynchronously.
  • the single sample index identifier bit indicates that a predicted sample value of a part or all of the pixel points of the current image block is located at a first index position or a second index position in the sample candidate list. For example, when the single sampling index identifies the location "0", the single sampling index flag may indicate that the predicted sample value of some or all of the pixels of the current image block is located in the first index in the sampling candidate list. a location, when the single sample index identifies a location "1", the single sample index flag may indicate that a predicted sample value of a portion or all of the pixels of the current image block is located in a second of the sample candidate list Index position, of course, vice versa. Wherein, the first index position and the second index position may have the same or different write priorities (wherein the index bits of some levels are written) Set the depth value of the candidate to be written first).
  • the candidate depth value is used as a depth value of a part or all of the pixel points of the current image block, and the current image block is reconstructed by using a depth value of the part or all the pixel points of the current image block.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map are detected; according to the first adjacent predicted sampling And a result of the second adjacent predicted sampling point detection constructing a sampling candidate list; decoding a single sampling index flag corresponding to the current image block in the video code stream; and according to the decoded And determining, by the single sampling index, an index position indicated by the bit, obtaining a candidate depth value of an index position indicated by the single sampling index identifier bit in the sampling candidate list, and using the candidate depth value as a part of the current image block Or the depth value of all the pixels, and the current image block is reconstructed by using the depth value of the part or all the pixels of the current image block.
  • the sample candidate list is constructed according to the result of detecting the two adjacent predicted sample points of the first adjacent predicted sample point and the second adjacent predicted sample point, that is, the sample candidate list may be constructed by referring to only two
  • the detection result of the adjacent prediction sampling points simplifies the process of constructing the sampling candidate list. Therefore, compared with the conventional scheme, the above scheme is beneficial to reduce the complexity of the SDM-based decoding algorithm and reduce the occupation of the storage space.
  • the implementation manner of constructing the sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point may be various.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may have the same or different detection order.
  • the constructing the sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point may include:
  • first adjacent predicted sampling point If it is detected that the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block; writing a depth value of the second adjacent predicted sample point to a second index position in the sample candidate list (the first adjacent predicted sample point The depth value and the depth value of the second adjacent predicted sampling point may be equal or unequal);
  • the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is not available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block, and the depth value obtained by adding the depth value of the first adjacent predicted sample point to the first adjustment value (the first adjustment value is a positive integer) is written into the Describe a second index position in the sample candidate list;
  • the first index position in the sample candidate list corresponding to the block does not write any depth value in the second index position in the sample candidate list (in this case, only one sample can be considered in the sample candidate list) Candidate depth value);
  • the second preset depth value is used as a candidate value of the second index position record in the sample candidate list (where the second preset depth value may be, for example, a sample candidate).
  • the initialization process of the list is written to the second index position of the sampling candidate list.
  • the second preset depth value may also be written to the sampling candidate list after detecting that the second adjacent predicted sampling point is not available. Second index position);
  • the first preset depth value is used as a sampling candidate list corresponding to the current image block.
  • a candidate value of the first index position record (the first preset depth value may be written to the first index position of the sampling candidate list during initialization of the sampling candidate list, for example, the first preset depth value may also be detected.
  • the second preset depth value is used as the sampling candidate list a candidate value of the second index position record (the second preset depth value may be written to the second index position of the sampling candidate list, for example, in the initialization process of the sampling candidate list, of course, the second preset depth value may also be It is detected that the first adjacent predicted sampling point and the second adjacent predicted sampling point are both unavailable and then written to the second index position of the sampling candidate list).
  • sampling candidate list may be constructed according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point according to other implementation manners.
  • the mechanism for constructing the sampling candidate list by the decoding end and the encoding end may be the same or similar.
  • a certain adjacent predicted sampling point of the current image block (for example, the first adjacent predicted sampling point or the second adjacent predicted sampling point) is available, and refers to the certain adjacent of the current image block.
  • the predicted sampling point can be used for intra prediction.
  • a certain adjacent predicted sampling point of the current image block is not available, which means that the certain adjacent predicted sampling point of the current image block is not available for intra prediction.
  • the first preset depth value is equal to 2 k1 , the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, and the first preset depth value is less than or Equal to 255, the x1 is a positive integer.
  • the x1 may for example be equal to 1, 2, 3, 4 or other values.
  • the first preset depth value is a positive integer.
  • the second preset depth value is equal to 2 k2 , the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, where the x2 is not equal to The positive integer of x1.
  • the x2 can be, for example, equal to 1, 2, 3, 4 or other values.
  • the second preset depth value is a positive integer.
  • the second preset depth value is equal to the first preset depth value; or the second preset depth value is equal to the first preset depth value plus the first adjustment value; or The second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the first adjustment value may be equal to 1, 2, 3, 4, 6, 10, 20 or other values, for example.
  • the second adjustment value can be, for example, equal to 1, 2, 3, 4, 6, 11, 25 or other values.
  • the size of the current image block may be, for example, n*n, and the n may be a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may be, for example, any two of the following adjacent predicted sampling points of the current image block:
  • An upper adjacent pixel point of the upper left pixel in the current image block (a specific location such as the pixel point B 0 in FIG. 2-a),
  • the left adjacent pixel point of the upper left pixel point in the current image block (such as a specific position such as the pixel point A 0 in FIG. 2-a),
  • the upper left adjacent pixel point of the upper left pixel point in the current image block (specific position, for example, pixel point B -1 in FIG. 2-a ),
  • An upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block (a specific position such as a pixel point B n/2 in FIG. 2-a) and the current image block
  • the left adjacent pixel point of the (n+2)/2th pixel of the left edge (the specific position is, for example, the pixel point A n/2 in FIG. 2-a).
  • the pixel point at the left starting position of the upper edge of the current image block is the 0th pixel point B 0 of the upper edge
  • the pixel position at the starting position above the left edge of the current image block is The 0th pixel A 0 of the left edge.
  • the first adjacent predicted sampling point is the (n+2)/2th of the upper edge of the current image block.
  • An upper adjacent pixel of the pixel B n/2 the second adjacent predicted sampling point being the left adjacent to the (n+2)/2th pixel A n/2 of the left edge of the current image block pixel.
  • the second adjacent prediction sampling point may be an upper adjacent pixel point of the (n+2)/2th pixel point Bn/2 of the upper edge of the current image block
  • the first adjacent The predicted sampling point may be the left adjacent pixel point of the (n+2)/2th pixel point A n/2 of the left edge of the current image block.
  • FIG. 4 is a schematic flowchart of another method for encoding a three-dimensional video according to another embodiment of the present invention
  • FIG. 4 is another three-dimensional video encoding method according to another embodiment of the present invention.
  • the encoding end generates a sampling candidate list and initializes the sampling candidate list.
  • the number of index positions that the sample candidate list has may be, for example, 2, for example, the sample candidate list has a first index position and a second index position. That is, two candidate depth values may be recorded in the sampling candidate list, and each candidate position may record one candidate depth value.
  • the first preset depth value may be written in the first index position of the sampling candidate list.
  • the second preset depth value may be written in the second index position of the sampling candidate list.
  • the encoding end detects the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map.
  • the available adjacent predicted sampling points of the current image block may include only the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are preset, which avoids the encoding end of the current image block except the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the detection of other adjacent predicted sampling points is advantageous in reducing the complexity of the algorithm because the number of adjacent predicted sampling points to be detected is reduced.
  • the encoding end fills in a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point check
  • the first index position in the sampling candidate list has been written with other depth values (for example, the first index position in the sampling candidate list has been written to the first preset depth value)
  • a depth value of the first adjacent predicted sampling point covering other depth values that have been written by the first index position in the sampling candidate list; if the first index position in the sampling candidate list has not been written to any other depth value, The depth value of the first adjacent predicted sampling point is written in the first index position in the sampling candidate list, and the filling of other index positions is repeated.
  • the implementation manner of filling out the sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point may be various.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may have the same or different detection order.
  • the filling out the sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point may include:
  • first adjacent predicted sampling point If it is detected that the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block; writing a depth value of the second adjacent predicted sample point to a second index position in the sample candidate list (the first adjacent predicted sample point The depth value and the depth value of the second adjacent predicted sampling point may be equal or unequal);
  • the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is not available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block, and the depth value obtained by adding the depth value of the first adjacent predicted sample point to the first adjustment value (the first adjustment value is a positive integer) is written into the Describe a second index position in the sample candidate list;
  • the second preset depth value is used as a candidate value of the second index position record in the sample candidate list (where the second preset depth value may be, for example, a sample candidate).
  • the initialization process of the list is written to the second index position of the sampling candidate list.
  • the second preset depth value may also be written to the sampling candidate list after detecting that the second adjacent predicted sampling point is not available. Second index position);
  • the first preset depth value is used as a sampling candidate list corresponding to the current image block.
  • the candidate value of the first index position record (the first preset depth value may be, for example, at the beginning of the sampling candidate list
  • the initial indexing process is written to the first index position of the sampling candidate list.
  • the first preset depth value may also be detected when the first adjacent predicted sampling point and the second adjacent predicted sampling point are not available.
  • the second preset depth value is used as the candidate value of the second index position record in the sampling candidate list (the second preset depth value can be, for example, sampled)
  • the initialization process of the candidate list is written to the second index position of the sampling candidate list.
  • the second preset depth value may also detect the first adjacent predicted sampling point and the second adjacent predicted sampling. The points are not available and are then written to the second index position of the sample candidate list).
  • sampling candidate list may be filled according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point according to other implementation manners.
  • the mechanism for constructing the sampling candidate list by the decoding end and the encoding end may be the same or similar.
  • the first preset depth value is equal to 2 k1 , the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, and the first preset depth value is less than or Equal to 255, the x1 is a positive integer.
  • the x1 may for example be equal to 1, 2, 3, 4 or other values.
  • the first preset depth value is a positive integer.
  • the second preset depth value is equal to 2 k2 , the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, where the x2 is not equal to The positive integer of x1.
  • the x2 can be, for example, equal to 1, 2, 3, 4 or other values.
  • the second preset depth value is a positive integer.
  • the second preset depth value is equal to the first preset depth value; or the second preset depth value is equal to the first preset depth value plus the first adjustment value; or The second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the first adjustment value may be equal to 1, 2, 3, 4, 6, 10, 20 or other values, for example.
  • the second adjustment value can be, for example, equal to 1, 2, 3, 4, 6, 11, 25 or other values.
  • the size of the current image block may be, for example, n*n, and the n may be a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may be, for example, any two of the following adjacent predicted sampling points of the current image block:
  • the first adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block.
  • the second adjacent predicted sampling point is a left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the current image block.
  • the second adjacent predicted sampling point may be an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the first adjacent predicted sampling point may be Is the left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the current image block.
  • the method may further include: if located in the sample candidate list The depth value of the first index position is different from the depth value of the second index position in the sampling candidate list, and the first image corresponding to the current image block is calculated using the depth value of the first index position located in the sampling candidate list A rate distortion cost; calculating a second rate distortion cost corresponding to the current image block using a depth value of a second index position located in the sample candidate list.
  • the single sample index flag indicates that a predicted sample value of part or all of the pixel points of the current image block is located in the sample candidate a first index position in the list; if the first rate distortion cost is greater than the second rate distortion cost, the single sample index flag indicates that a predicted sample value of some or all of the pixels of the current image block is located a second index position in the sample candidate list.
  • constructing the sampling candidate list may include the steps of generating a sampling candidate list, filling out a sampling candidate list, and the like.
  • constructing the sample candidate list may include the steps of generating a sample candidate list, initializing a sample candidate list, and filling out a sample candidate list. Therefore, step 401 and step 403 can be regarded as some specific implementation manners for constructing a sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, of course, if the sampling candidate If the list already exists, the step of generating a sample candidate list may also be omitted.
  • the encoding end writes a single sampling identifier bit corresponding to the current image block into a video code stream.
  • the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single Depth intra mode. For example, when the single sampling identifier bit position is “0”, the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, when the single sampling index identifies the location “1”. The single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a non-single depth intra mode, and vice versa.
  • the encoding end writes a single sampling index identifier corresponding to the current image block into the video code stream.
  • the single sample index identifier bit indicates that a predicted sample value of a part or all of the pixel points of the current image block is located at a first index position or a second index position in the sample candidate list. For example, when the single sampling index identifies the location "0", the single sampling index flag may indicate that the predicted sample value of some or all of the pixels of the current image block is located in the first index in the sampling candidate list. a location, when the single sample index identifies a location "1", the single sample index flag may indicate that a predicted sample value of a portion or all of the pixels of the current image block is located in a second of the sample candidate list Index position, of course, vice versa. Wherein, the first index location and the second index location may have the same or different write priorities.
  • the single sample index identifier bit and the single sample flag bit corresponding to the current image block may be written into the video code stream by one write operation, or may be performed by two write operations.
  • the single sample index flag and the single sample flag corresponding to the current image block are respectively written into the video code stream. That is, steps 404 and 405 may be performed synchronously or asynchronously.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map are detected; according to the first adjacent predicted sampling And a result of the second adjacent predicted sampling point detection constructing a sampling candidate list; writing a single sampling identifier bit and a single sampling index identification bit corresponding to the current image block to a video code stream, where the single sampling identifier bit indication Decoding mode corresponding to the current image block is a single depth intra mode, where the single sampling index flag indicates that the predicted sample value of part or all of the pixel points of the current image block is located in the sampling candidate list. An index position or a second index position.
  • the sample candidate list is constructed according to the result of detecting the first adjacent predicted sample point and the second adjacent predicted sample point, that is, the sample candidate list can be constructed by referring to only two adjacent predicted sample points. Test results, Compared with the traditional solution, the above solution is beneficial to reduce the complexity of the SDM-based coding algorithm and reduce the storage space occupation requirement.
  • FIG. 5 is a schematic flowchart of a method for decoding a three-dimensional video according to another embodiment of the present invention.
  • a method for decoding a three-dimensional video according to another embodiment of the present invention may include The following:
  • the decoding end decodes from the video code stream to obtain a single sampling identifier bit corresponding to the current image block in the current depth map.
  • the decoding end If the single sampling identifier bit obtained by the decoding indicates that the decoding mode corresponding to the current image block is a single depth intra mode, the decoding end generates a sampling candidate list, and may initialize the sampling candidate list.
  • the number of index positions that the sample candidate list has may be, for example, 2, for example, the sample candidate list has a first index position and a second index position. That is, two candidate depth values may be recorded in the sampling candidate list, and each candidate position may record one candidate depth value.
  • the first preset depth value may be written in the first index position of the sampling candidate list.
  • the second preset depth value may be written in the second index position of the sampling candidate list.
  • the decoding end detects the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map.
  • the available adjacent predicted sampling points of the current image block may include only the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are preset, which avoids the decoding of the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block by the decoding end.
  • the detection of other adjacent prediction sampling points is not limited, because the number of adjacent prediction sampling points needs to be detected at the decoding end, thereby reducing the complexity of the algorithm.
  • the decoding end fills in a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point check
  • the first index position in the sampling candidate list has been written with other depth values (for example, the first index position in the sampling candidate list has been written to the first preset depth value)
  • a depth value of the first adjacent predicted sampling point covering other depth values that have been written by the first index position in the sampling candidate list; if the first index position in the sampling candidate list has not been written with any other depth value, The depth value of the first adjacent predicted sampling point is directly written in the first index position in the sampling candidate list, and the filling of other index positions is repeated.
  • first adjacent predicted sampling point If it is detected that the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block; writing a depth value of the second adjacent predicted sample point to a second index position in the sample candidate list (the first adjacent predicted sample point The depth value and the depth value of the second adjacent predicted sampling point may be equal or unequal);
  • the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is not available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block, and the depth value obtained by adding the depth value of the first adjacent predicted sample point to the first adjustment value (the first adjustment value is a positive integer) is written into the Describe a second index position in the sample candidate list;
  • the second preset depth value is used as a candidate value of the second index position record in the sample candidate list (where the second preset depth value may be, for example, a sample candidate).
  • the initialization process of the list is written to the second index position of the sampling candidate list.
  • the second preset depth value may also be written to the sampling candidate list after detecting that the second adjacent predicted sampling point is not available. Second index position);
  • the first preset depth value is used as a sampling candidate list corresponding to the current image block.
  • a candidate value of the first index position record (the first preset depth value may be written to the first index position of the sampling candidate list during initialization of the sampling candidate list, for example, the first preset depth value may also be detected.
  • the second preset depth value is used as the sampling candidate list a candidate value of the second index position record (the second preset depth value may be written to the second index position of the sample candidate list, for example, during the initialization of the sample candidate list, of course, the second preset The depth value may also be written to the second index position of the sample candidate list after detecting that neither the first adjacent predicted sample point nor the second adjacent predicted sample point is available.
  • sampling candidate list may be filled according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point according to other implementation manners.
  • the mechanism for constructing the sampling candidate list by the decoding end and the encoding end may be the same or similar.
  • the first preset depth value is equal to 2 k1 , the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, and the first preset depth value is less than or Equal to 255, the x1 is a positive integer.
  • the x1 may for example be equal to 1, 2, 3, 4 or other values.
  • the first preset depth value is a positive integer.
  • the second preset depth value is equal to 2 k2 , the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, where the x2 is not equal to The positive integer of x1.
  • the x2 can be, for example, equal to 1, 2, 3, 4 or other values.
  • the second preset depth value is a positive integer.
  • the second preset depth value is equal to the first preset depth value; or the second preset depth value is equal to the first preset depth value plus the first adjustment value; or The second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the first adjustment value may be equal to 1, 2, 3, 4, 6, 10, 20 or other values, for example.
  • the second adjustment value can be, for example, equal to 1, 2, 3, 4, 6, 11, 25 or other values.
  • the size of the current image block may be, for example, n*n, and the n may be a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may be, for example, any two of the following adjacent predicted sampling points of the current image block:
  • the first adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block.
  • the second The adjacent predicted sampling point is the left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the current image block.
  • the second adjacent predicted sampling point may be an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the first adjacent predicted sampling point may be Is the left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the current image block.
  • the encoding end may be located Determining, by the depth value of the first index position in the sampling candidate list, a first rate distortion cost corresponding to the current image block; calculating the current image block by using a depth value of a second index position located in the sampling candidate list Corresponding second rate distortion penalty.
  • the single sample index flag indicates that a predicted sample value of part or all of the pixel points of the current image block is located in the sample candidate a first index position in the list; if the first rate distortion cost is greater than the second rate distortion cost, the single sample index flag indicates that a predicted sample value of some or all of the pixels of the current image block is located a second index position in the sample candidate list.
  • constructing the sampling candidate list may include the steps of generating a sampling candidate list, filling out a sampling candidate list, and the like.
  • constructing the sample candidate list may include the steps of generating a sample candidate list, initializing a sample candidate list, and filling out a sample candidate list. Therefore, step 502 and step 504 can be regarded as some specific implementation manners for constructing a sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, of course, if the sampling candidate If the list already exists, the step of generating a sample candidate list may also be omitted.
  • the decoding end decodes the video sample stream to obtain a single sampling index identifier corresponding to the current image block.
  • the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode. For example, when the single sampling identifier bit position is “0”, the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, when the single sampling index identifies the location “1”. The single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a non-single depth intra mode, and vice versa.
  • the decoding end acquires, according to the index position indicated by the single sampling index identifier obtained by decoding.
  • the single sample index located in the sample candidate list identifies a candidate depth value of an index position indicated by a bit.
  • the decoding end uses the candidate depth value as a depth value of a part or all of the pixel points of the current image block, and uses the depth value of the part or all the pixel points of the current image block to perform the current image block. Refactoring.
  • the single sample index identifier bit indicates that a predicted sample value of a part or all of the pixel points of the current image block is located at a first index position or a second index position in the sample candidate list. For example, when the single sampling index identifies the location "0", the single sampling index flag may indicate that the predicted sample value of some or all of the pixels of the current image block is located in the first index in the sampling candidate list. a location, when the single sample index identifies a location "1", the single sample index flag may indicate that a predicted sample value of a portion or all of the pixels of the current image block is located in a second of the sample candidate list Index position, of course, vice versa. Wherein, the first index location and the second index location may have the same or different write priorities.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map are detected; according to the first adjacent predicted sampling And a result of the second adjacent predicted sampling point detection constructing a sampling candidate list; decoding a single sampling index flag corresponding to the current image block in the video code stream; and according to the decoded And determining, by the single sampling index, an index position indicated by the bit, obtaining a candidate depth value of an index position indicated by the single sampling index identifier bit in the sampling candidate list, and using the candidate depth value as a part of the current image block Or the depth value of all the pixels, and the current image block is reconstructed by using the depth value of the part or all the pixels of the current image block.
  • the sample candidate list is constructed according to the result of detecting the first adjacent predicted sample point and the second adjacent predicted sample point, that is, the sample candidate list is constructed, and only the detection results of two adjacent predicted sample points may be referenced.
  • the above solution is beneficial to reduce the complexity of the SDM-based decoding algorithm and reduce the storage space occupation requirement.
  • the current image block is an 8 ⁇ 8 image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the depth value of the first adjacent predicted sampling point of the current image block is 37
  • the current image is If the depth value of the second adjacent predicted sampling point of the block is 39, the encoding end and the decoding end write the depth value of the first adjacent predicted sampling point to 37 at the first index position in the sampling candidate list, and the sampling candidate The second index position in the list is written to the second adjacent predicted sample point with a depth value of 39.
  • the encoding end may calculate the first rate distortion cost corresponding to the current image block by using the depth value 37 of the first index position located in the sampling candidate list; the encoding end may utilize the depth of the second index position located in the sampling candidate list A value 39 calculates a second rate distortion penalty corresponding to the current image block. It is assumed that the first rate distortion cost is greater than the second rate distortion cost. Therefore, the encoding end can set the single sampling identifier bit and the single sampling index flag corresponding to the current image block to “1” to indicate the current image block.
  • the decoding mode is SDM, and the predicted sample value of some or all of the pixels of the current image block is located at the second index position in the sampling candidate list.
  • the decoding end may determine, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sample value of part or all of the pixel points of the current image block is located in the second index position in the sampling candidate list, and a candidate depth value 39 of the second index position of the sampling candidate list; using the candidate depth value 39 as a predicted sampling value of a part or all of the pixels of the current image block, using the part or all pixels of the current image block The depth value reconstructs the current image block.
  • the current image block is an 8 ⁇ 8 image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the depth value of the first adjacent predicted sampling point of the current image block is 37
  • the current image block is The second adjacent prediction sampling point is not available
  • the encoding end and the decoding end write the depth value of the first adjacent prediction sampling point at the first index position in the sampling candidate list to 37, and the second index in the sampling candidate list.
  • the encoding end may calculate the first rate distortion cost corresponding to the current image block by using the depth value 37 of the first index position located in the sampling candidate list; the encoding end may utilize the depth of the second index position located in the sampling candidate list A value 38 calculates a second rate distortion penalty corresponding to the current image block. It is assumed that the first rate distortion cost is greater than the second rate distortion cost. Therefore, the encoding end can set the single sampling identifier bit and the single sampling index flag corresponding to the current image block to “1” to indicate the current image block.
  • the decoding mode is SDM, and the predicted sample value of some or all of the pixels of the current image block is located at the second index position in the sampling candidate list.
  • the decoding end may determine, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sample value of part or all of the pixel points of the current image block is located in the sampling candidate list. a second index position, which in turn may obtain a candidate depth value 38 located at a second index position of the sample candidate list; using the candidate depth value 38 as a predicted sample value of a part or all of the pixel points of the current image block, using the current image block The depth value of the portion or all of the pixels reconstructs the current image block.
  • the current image block is an 8 ⁇ 8 image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the depth value of the first adjacent predicted sampling point of the current image block is 37
  • the current image block is The second adjacent predicted sampling point is not available
  • the encoding end and the decoding end write the depth value 37 of the first adjacent predicted sampling point at the first index position in the sampling candidate list, and the second index position in the sampling candidate list
  • the encoding end may calculate the first rate distortion cost corresponding to the current image block by using the depth value 37 of the first index position located in the sampling candidate list; the encoding end may utilize the depth of the second index position located in the sampling candidate list A value 38 calculates a second rate distortion penalty corresponding to the current image block. It is assumed that the first rate distortion cost is less than the second rate distortion cost. Therefore, the encoding end may set the single sample identification position corresponding to the current image block to “1” to indicate that the decoding mode of the current image block is SDM, and the single The sampling index flag is set to “0” to indicate that the depth value of some or all of the pixels of the current image block is located at the first index position in the sampling candidate list.
  • the decoding end determines, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sampling value of part or all of the pixel points of the current image block is located in the first index position in the sampling candidate list, and then obtains a candidate depth value 37 located at a first index position of the sampling candidate list; using the candidate depth value 37 as a predicted sampling value of a part or all of the pixel points of the current image block, using the part or all pixels of the current image block The depth value of the point reconstructs the current image block.
  • the current image block is an 8 ⁇ 8 size image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the depth value of the first adjacent predicted sampling point of the current image block is 37
  • the current image block is The second adjacent predicted sampling point is not available
  • the encoding end and the decoding end write the depth value 37 of the first adjacent predicted sampling point at the first index position in the sampling candidate list, and the second index position in the sampling candidate list
  • the depth value 37 of the first adjacent predicted sample point is also written. Therefore, the encoding end may set the single sampling identifier position corresponding to the current image block to “1” to indicate that the decoding mode of the current image block is SDM, and set the single sampling index flag to “0” to refer to the current image block.
  • the decoding end determines, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sampling value of part or all of the pixel points of the current image block is located at the first index position in the sampling candidate list, and further Obtaining a candidate depth value 37 located at a first index position of the sampling candidate list; using the candidate depth value 37 as a predicted sampling value of a part or all of the pixel points of the current image block, using the part or all of the current image block The depth value of the pixel reconstructs the current image block.
  • the current image block is an 8 ⁇ 8 image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the depth value of the first adjacent predicted sampling point of the current image block is 37
  • the current image block is The second adjacent predicted sampling point is not available
  • the encoding end and the decoding end write the depth value 37 of the first adjacent predicted sampling point at the first index position in the sampling candidate list, and the second index position in the sampling candidate list No depth value may be written, that is, the sample candidate list adopts a single candidate mode.
  • the encoding end may set the single sampling identifier position corresponding to the current image block to “1” to indicate that the decoding mode of the current image block is SDM, and set the single sampling index flag to “0” to refer to the current image block.
  • the depth value of some or all of the pixel points is located at the first index position in the sampling candidate list.
  • the decoding end determines, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sampling value of part or all of the pixel points of the current image block is located at the first index position in the sampling candidate list, and further Obtaining a candidate depth value 37 located at a first index position of the sampling candidate list; using the candidate depth value 37 as a predicted sampling value of a part or all of the pixel points of the current image block, using the part or all of the current image block The depth value of the pixel reconstructs the current image block.
  • the current image block is an 8 ⁇ 8 size image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block are not available.
  • the encoding end and the decoding end write the first preset depth value 2 k1 at the first index position in the sampling candidate list
  • the second index position in the sampling candidate list may not write any depth value, that is, the sampling candidate.
  • the list uses a single candidate. Therefore, the encoding end may set the single sampling identifier position corresponding to the current image block to “1” to indicate that the decoding mode of the current image block is SDM, and set the single sampling index flag to “0” to refer to the current image block.
  • the depth value of some or all of the pixel points is located at the first index position in the sampling candidate list.
  • the decoding end determines, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sampling value of part or all of the pixel points of the current image block is located at the first index position in the sampling candidate list, and obtains the location a candidate depth value 2 k1 of the first index position of the sampling candidate list; using the candidate depth value 2 k1 as a predicted sampling value of a part or all of the pixel points of the current image block, using the part or all of the current image block The depth value of the pixel reconstructs the current image block.
  • the current image block is an 8 ⁇ 8 image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block are not available.
  • the encoding end and the decoding end write the first preset depth value 2 k1 at the first index position in the sampling candidate list, and write the depth value 2 k1 +1 in the second index position in the sampling candidate list. Therefore, the encoding end may calculate the first rate distortion cost corresponding to the current image block by using the depth value 2 k1 of the first index position located in the sampling candidate list; the encoding end may utilize the second index position located in the sampling candidate list.
  • the depth value 2 k1 +1 calculates a second rate distortion cost corresponding to the current image block. Assuming that the first rate distortion cost is less than the second rate distortion cost, the encoding end may set the single sample identification position corresponding to the current image block to “1” to indicate that the decoding mode of the current image block is SDM, and the single sampling index is used. The flag bits are all set to “0” to indicate that the depth value of some or all of the pixels of the current image block is located at the first index position in the sample candidate list.
  • the decoding end determines, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sampling value of part or all of the pixel points of the current image block is located at the first index position in the sampling candidate list, and Obtaining a candidate depth value 2 k1 at a first index position of the sampling candidate list; using the candidate depth value 2 k1 as a predicted sampling value of a part or all of the pixels of the current image block, using the portion of the current image block Or the depth value of all pixels is reconstructed for the current image block.
  • the current image block is an 8 ⁇ 8 image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block are not available.
  • the encoding end and the decoding end write the first preset depth value 2 k1 at the first index position in the sampling candidate list, and write the depth value 2 k2 in the second index position in the sampling candidate list. Therefore, the encoding end may calculate the first rate distortion cost corresponding to the current image block by using the depth value 2 k1 of the first index position located in the sampling candidate list; the encoding end may utilize the second index position located in the sampling candidate list.
  • the depth value 2 k2 calculates a second rate distortion cost corresponding to the current image block. Assuming that the first rate distortion cost is less than the second rate distortion cost, the encoding end may set the single sample identification position corresponding to the current image block to “1” to indicate that the decoding mode of the current image block is SDM, and the single sampling index is used. The flag bits are all set to “0” to indicate that the depth value of some or all of the pixels of the current image block is located at the first index position in the sample candidate list.
  • the decoding end determines, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sampling value of part or all of the pixel points of the current image block is located at the first index position in the sampling candidate list, and Obtaining a candidate depth value 2 k1 at a first index position of the sampling candidate list; using the candidate depth value 2 k1 as a predicted sampling value of a part or all of the pixels of the current image block, using the portion of the current image block Or the depth value of all pixels is reconstructed for the current image block.
  • the current image block is an 8 ⁇ 8 size image block in the depth map
  • the decoding mode corresponding to the current image block is SDM
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block are not available.
  • the encoding end and the decoding end write the first preset depth value 2 k1 at the first index position in the sampling candidate list, and write the depth value 2 k1 in the second index position in the sampling candidate list. Therefore, the encoding end may set the single sampling identifier position corresponding to the current image block to “1” to indicate that the decoding mode of the current image block is SDM, and set the single sampling index flag to “0” to refer to the current image block portion.
  • the decoding end determines, according to the value of the single sampling index identifier bit decoded from the video bit rate, that the predicted sampling value of part or all of the pixel points of the current image block is located at the first index position in the sampling candidate list, and Obtaining a candidate depth value 2 k1 at a first index position of the sampling candidate list; using the candidate depth value 2 k1 as a predicted sampling value of a part or all of the pixels of the current image block, using the portion of the current image block Or the depth value of all pixels is reconstructed for the current image block.
  • an embodiment of the present invention provides a video decoding apparatus, which may include:
  • the decoding unit 610 The decoding unit 610, the detecting unit 620, the building unit 630, and the image reconstruction unit 640.
  • the decoding unit 610 is configured to decode, from the video code stream, a single sample identifier bit corresponding to the current image block in the current depth map.
  • the detecting unit 620 is configured to: if the single sample identifier bit obtained by decoding indicates the current picture
  • the decoding mode corresponding to the block is a single depth intra mode, and the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map are detected.
  • the available adjacent predicted sampling points of the current image block may include only the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are preset two adjacent predicted sampling points of the current image block, and therefore, the detecting unit 620
  • the method may be specifically configured to: detect the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map.
  • the detecting unit 620 may be specifically configured to: (set) the first adjacent predicted sampling point and the second adjacent predicted sampling only for the current image block in the current depth map. Point to detect.
  • the construction unit 630 is configured to construct a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, wherein the sampling candidate list has a first index position and a second Index location.
  • the number of index positions that the sample candidate list has may be, for example, 2 or more, for example, the sample candidate list has a first index position and a second index position. That is, two candidate depth values may be recorded in the sampling candidate list, and each candidate position may record one candidate depth value.
  • the data structure of the sample candidate list may be various, and the embodiment of the present invention does not limit the specific form of the data structure.
  • the decoding unit 610 is further configured to decode, by using the video code stream, a single sampling index identifier corresponding to the current image block.
  • An image reconstruction unit 640 configured to acquire, according to the index position indicated by the single sampling index identifier obtained by the decoding, a candidate depth value of an index position indicated by the single sampling index identifier bit in the sampling candidate list;
  • the candidate depth value is used as a predicted sample value of a part or all of the pixel points of the current image block, and the current image block is reconstructed by using a predicted sample value of the part or all of the pixel points of the current image block.
  • the constructing unit 630 is specifically configured to: if it is detected that the first neighboring predicted sampling point is available, and detect that the second adjacent predicted sampling point is available, Writing a depth value of the first adjacent predicted sampling point to a first index position in a sampling candidate list corresponding to the current image block; writing a depth value of the second adjacent predicted sampling point to the a second index position in the sampling candidate list (the depth value of the first adjacent predicted sampling point and the depth value of the second adjacent predicted sampling point may be equal or unequal);
  • the constructing unit 630 is specifically configured to: if it is detected that the first adjacent predicted sampling point is available, and detect that the second adjacent predicted sampling point is unavailable, the depth value of the first adjacent predicted sampling point Writing to a first index position in a sampling candidate list corresponding to the current image block; writing a depth value of the first adjacent predicted sampling point to a second index position in the sampling candidate list;
  • the constructing unit 630 is specifically configured to: if it is detected that the first adjacent predicted sampling point is available, and detect that the second adjacent predicted sampling point is unavailable, the depth value of the first adjacent predicted sampling point Writing to a first index position in a sampling candidate list corresponding to the current image block, and writing a depth value obtained by adding a depth value of the first adjacent predicted sampling point to the first adjustment value to the sampling a second index position in the candidate list;
  • the constructing unit 630 is specifically configured to: if it is detected that the first adjacent predicted sampling point is available, and detect that the second adjacent predicted sampling point is unavailable, the depth value of the first adjacent predicted sampling point Writing to a first index position in a sampling candidate list corresponding to the current image block, and writing a depth value obtained by subtracting a depth value of the first adjacent predicted sampling point from the second adjustment value to the sampling a second index position in the candidate list;
  • the constructing unit 630 is specifically configured to: if it is detected that the first adjacent predicted sampling point is available, and detect that the second adjacent predicted sampling point is unavailable, the depth value of the first adjacent predicted sampling point Writing to a first index position in a sampling candidate list corresponding to the current image block; using a second preset depth value as a candidate value recorded in a second index position in the sampling candidate list;
  • the constructing unit 630 is specifically configured to: if the first adjacent predicted sampling point is detected, and check The second adjacent predicted sampling point is not available, and the depth value of the first adjacent predicted sampling point is written to the first index position in the sampling candidate list corresponding to the current image block, and the invalid depth is Writing a value to a second index position in the sampling candidate list;
  • the constructing unit 630 is specifically configured to: if it is detected that the first adjacent predicted sampling point is available, and detect that the second adjacent predicted sampling point is unavailable, the depth value of the first adjacent predicted sampling point Writing to a first index position in a sampling candidate list corresponding to the current image block, and not writing any depth value in a second index position in the sampling candidate list (in this case, sampling candidates may be considered Only one candidate depth value is written in the list);
  • the constructing unit 630 is specifically configured to: if it is detected that the first adjacent predicted sampling point is unavailable, and detect that the second adjacent predicted sampling point is unavailable, the first preset depth value is used as the current image block a candidate value of the first index position record in the corresponding sample candidate list; a second preset depth value is used as a candidate value for the second index position record in the sample candidate list.
  • the first preset depth value is equal to 2 k1 , the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, and the first preset depth value is less than or Equal to 255, the x1 is a positive integer.
  • the x1 may for example be equal to 1, 2, 3, 4 or other values.
  • the first preset depth value is a positive integer.
  • the second preset depth value is equal to 2 k2 , the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, where the x2 is not equal to The positive integer of x1.
  • the x2 can be, for example, equal to 1, 2, 3, 4 or other values.
  • the second preset depth value is a positive integer.
  • the second preset depth value is equal to the first preset depth value; or the second preset depth value is equal to the first preset depth value plus the first adjustment value; or The second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the first adjustment value may be equal to 1, 2, 3, 4, 6, 10, 20 or other values, for example.
  • the second adjustment value can be, for example, equal to 1, 2, 3, 4, 6, 11, 25 or other values.
  • the size of the current image block may be, for example, For n*n, the n can be a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may be, for example, any two of the following adjacent predicted sampling points of the current image block:
  • the size of the current image block is n*n, and the n is a positive even number, wherein the first adjacent predicted sampling point and the second phase
  • the neighbor prediction sampling point is any two of the following adjacent prediction sampling points of the current image block:
  • the first adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the second adjacent predicted sampling point is the current a left adjacent pixel point of the (n+2)/2th pixel point of the left edge of the image block
  • the second adjacent predicted sampling point is an upper adjacent pixel point of the (n+2)/2th pixel point of the upper edge of the current image block
  • the first adjacent predicted sampling point is the current The left adjacent pixel of the (n+2)/2th pixel of the left edge of the image block.
  • the video decoding device 600 can be any device that needs to output and play video, such as a notebook computer, a tablet computer, a personal computer, a mobile phone, or a video server.
  • the video decoding apparatus 600 of this embodiment detects the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map; according to the first adjacent predicted sampling And a result of the second adjacent predicted sampling point detection constructing a sampling candidate list; decoding a single sampling index flag corresponding to the current image block in the video code stream; and according to the decoded An index position indicated by a single sample index identifier bit, obtained in the sample candidate list
  • the single sampling index identifier bit indicates a candidate depth value of an index position, and the candidate depth value is used as a depth value of a part or all of the pixel points of the current image block, using the current image block.
  • the depth value of some or all of the pixels reconstructs the current image block.
  • the sample candidate list is constructed according to the result of detecting the two adjacent predicted sample points of the first adjacent predicted sample point and the second adjacent predicted sample point, that is, the sample candidate list may be constructed by referring to only two
  • the detection result of the adjacent prediction sampling points simplifies the process of constructing the sampling candidate list. Therefore, compared with the conventional scheme, the above scheme is beneficial to reduce the complexity of the SDM-based decoding algorithm and reduce the occupation of the storage space.
  • an embodiment of the present invention provides a video encoding apparatus 700, which may include:
  • the detecting unit 710, the building unit 720, and the encoding unit 730 are detecting units 710, the building unit 720, and the encoding unit 730.
  • the detecting unit 710 is configured to detect the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are preset two adjacent predicted sampling points of the current image block, and therefore, the detecting unit 710 The method may be specifically configured to: detect the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map.
  • the available adjacent predicted sampling points of the current image block may include only the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the detecting unit 710 may be specifically configured to: (set) the first adjacent predicted sampling point and the second adjacent prediction only for the current image block in the current depth map. The sampling point is tested.
  • the construction unit 720 is configured to construct a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, wherein the sampling candidate list has a first index position and a second Index location.
  • the number of index positions that the sample candidate list has may be, for example, 2 or more, for example, the sample candidate list has a first index position and a second index position. That is, two candidate depth values may be recorded in the sampling candidate list, and each candidate position may record one candidate depth value.
  • the data structure of the sample candidate list may be various, and the embodiment of the present invention is not limited. The specific form of its data structure.
  • the coding unit 730 is configured to write a single sampling identifier corresponding to the current image block into a video code stream, and write a single sampling index identifier corresponding to the current image block into the video code stream.
  • the single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, and the single sampling index flag indicates a predicted sampling value of part or all of the pixel points of the current image block. Located at the first index position or the second index position in the sampling candidate list.
  • the constructing unit 720 is specifically configured to: if the first neighboring predicted sampling point is detected, and the second neighboring predicted sampling point is detected Writing a depth value of the first adjacent predicted sampling point to a first index position in a sampling candidate list corresponding to the current image block; writing a depth value of the second adjacent predicted sampling point to a second index position in the sampling candidate list;
  • the constructing unit 720 may be specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point Writing a value to a first index position in the sampling candidate list corresponding to the current image block; writing a depth value of the first adjacent predicted sampling point to a second index position in the sampling candidate list;
  • the constructing unit 720 may be specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point Writing a value to a first index position in a sampling candidate list corresponding to the current image block, and writing a depth value obtained by adding a depth value of the first adjacent predicted sampling point to the first adjustment value to the a second index position in the sample candidate list;
  • the constructing unit 720 may be specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point Writing a value to a first index position in a sampling candidate list corresponding to the current image block, and writing a depth value obtained by subtracting a depth value of the first adjacent predicted sampling point from the second adjustment value into the Sampling candidate The second index position in the list;
  • the constructing unit 720 may be specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point Writing a value to a first index position in the sampling candidate list corresponding to the current image block; using a second preset depth value as a candidate value recorded in the second index position in the sampling candidate list;
  • the constructing unit 720 may be specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point Writing a value to a first index position in the sampling candidate list corresponding to the current image block, and writing an invalid depth value to a second index position in the sampling candidate list;
  • the constructing unit 720 may be specifically configured to: if the first adjacent predicted sampling point is detected, and the second adjacent predicted sampling point is not available, the depth of the first adjacent predicted sampling point Writing a value to a first index position in a sampling candidate list corresponding to the current image block, and writing no depth value at a second index position in the sampling candidate list (in this case, sampling candidates may be considered Only one candidate depth value is written in the list);
  • the constructing unit 720 may be specifically configured to: if the first adjacent predicted sampling point is not available, and detect that the second adjacent predicted sampling point is unavailable, the first preset depth value is used as the current image a candidate value of the first index position record in the sample candidate list corresponding to the block; and a second preset depth value as a candidate value of the second index position record in the sample candidate list.
  • the first preset depth value is equal to 2 k1 , the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, and the first preset depth value is less than or Equal to 255, the x1 is a positive integer.
  • the x1 may for example be equal to 1, 2, 3, 4 or other values.
  • the first preset depth value is a positive integer.
  • the second preset depth value is equal to 2 k2 , the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, where the x2 is not equal to The positive integer of x1.
  • the x2 can be, for example, equal to 1, 2, 3, 4 or other values.
  • the second preset depth value is a positive integer.
  • the second preset depth value is equal to the first preset depth value; or the second preset depth value is equal to the first preset depth value plus the first adjustment value; or The second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the first adjustment value may be equal to 1, 2, 3, 4, 6, 10, 20 or other values, for example.
  • the second adjustment value can be, for example, equal to 1, 2, 3, 4, 6, 11, 25 or other values.
  • the size of the current image block may be, for example, n*n, and the n may be a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may be, for example, any two of the following adjacent predicted sampling points of the current image block:
  • the pixel point at the left starting position of the upper edge of the current image block is the 0th pixel point B 0 of the upper edge
  • the pixel position at the starting position above the left edge of the current image block is The 0th pixel A 0 of the left edge.
  • the first adjacent predicted sampling point is the (n+2)/2th of the upper edge of the current image block.
  • An upper adjacent pixel of the pixel B n/2 the second adjacent predicted sampling point being the left adjacent to the (n+2)/2th pixel A n/2 of the left edge of the current image block pixel.
  • the second adjacent prediction sampling point may be an upper adjacent pixel point of the (n+2)/2th pixel point Bn/2 of the upper edge of the current image block
  • the first adjacent The predicted sampling point may be the left adjacent pixel point of the (n+2)/2th pixel point A n/2 of the left edge of the current image block.
  • the video encoding apparatus 700 may further include:
  • the calculating unit 740 is configured to use the depth of the first index position located in the sampling candidate list before writing the single sampling index identifier corresponding to the current image block into the video code stream Calculating a first rate distortion cost corresponding to the current image block; calculating a second rate distortion cost corresponding to the current image block by using a depth value of the second index position in the sampling candidate list;
  • the single sample index flag indicates that a predicted sample value of part or all of the pixel points of the current image block is located in the sample candidate The first index position in the list; if the first rate distortion cost is greater than the second rate distortion cost, the single sample index flag indicates a predicted sample of some or all of the pixels of the current image block The value is located at the second index position in the sample candidate list.
  • the single sampling index flag indicates whether the predicted sample value of part or all of the pixel points of the current image block is located at the first index position or the second index position in the sample candidate list.
  • the single sampling index flag may indicate part or all of the pixel points of the current image block.
  • the predicted sample value is located in any one of a first index position and a second index position in the sample candidate list.
  • the video encoding device 700 can be any device that needs to output and play video, such as a notebook computer, a tablet computer, a personal computer, a mobile phone, or a video server.
  • the video encoding apparatus 700 of this embodiment detects the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map; according to the sampling of the first adjacent prediction And a result of the second adjacent predicted sampling point detection constructing a sampling candidate list; writing a single sampling identifier bit and a single sampling index identification bit corresponding to the current image block to a video code stream, where the single sampling identifier bit indication Decoding mode corresponding to the current image block is a single depth intra mode, where the single sampling index flag indicates that the predicted sample value of part or all of the pixel points of the current image block is located in the sampling candidate list. An index position or a second index position.
  • the sampling candidate list is constructed according to the result of detecting the two adjacent predicted sampling points of the first adjacent predicted sampling point and the second adjacent predicted sampling point, that is, the sampling candidate list may be constructed.
  • the sampling candidate list may be constructed according to the result of detecting the two adjacent predicted sampling points of the first adjacent predicted sampling point and the second adjacent predicted sampling point, that is, the sampling candidate list may be constructed.
  • FIG. 8 is a structural block diagram of a video encoding apparatus 800 according to another embodiment of the present invention.
  • the video encoding apparatus 800 may include at least one processor 801, a memory 805, and at least one communication bus 802.
  • the video encoding device 800 may further include: at least one network interface 804 and/or a user interface 803.
  • the user interface 803 includes, for example, a display (eg, a touch screen, an LCD, a Holographic, a CRT, or a Projector), a pointing device (such as a mouse or a trackball touch panel or a touch screen, etc.), a camera, and/or Or a pickup device, etc.
  • the memory 805 can include a read only memory and a random access memory and provides instructions and data to the processor 801. A portion of the memory 805 may also include a non-volatile random access memory.
  • memory 805 stores elements, executable modules or data structures, or a subset thereof, or their extension set:
  • the operating system 8051 includes various system programs for implementing various basic services and processing hardware-based tasks.
  • the application module 8052 includes various applications for implementing various application services.
  • the processor 801 is configured to use the first adjacent predicted sample point and the second adjacent predicted sample point for the current image block in the current depth map by calling a program or instruction stored in the memory 805. Performing detection; constructing a sampling candidate list according to a result of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, the sampling candidate list having a first index position and a second index position; Writing a single sample identifier bit corresponding to the current image block to the video code stream, and writing a single sample index identifier corresponding to the current image block to the video code stream, where the single sample identifier bit indicates the current image block
  • the corresponding decoding mode is a single depth intra mode, where the single sampling index flag indicates that the predicted sample value of part or all of the pixel points of the current image block is located in the first index position or the second in the sampling candidate list. Index location.
  • the available adjacent predicted sampling points of the current image block may include only the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the first adjacent predicted sampling point and the second adjacent The predicted sampling point is a preset two adjacent predicted sampling points of the current image block, so that the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map may be detected.
  • the method includes: detecting, by using the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map.
  • detecting, by using the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map may include: only in the current depth map The (set) first adjacent predicted sample point and the second adjacent predicted sample point of the current image block are detected.
  • the number of index positions that the sample candidate list has may be, for example, 2 or more, for example, the sample candidate list has a first index position and a second index position. That is, two candidate depth values may be recorded in the sampling candidate list, and each candidate position may record one candidate depth value.
  • the data structure of the sample candidate list may be various, and the embodiment of the present invention does not limit the specific form of the data structure.
  • the implementation manner of the processor 801 constructing the sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point may be various.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may have the same or different detection order.
  • the processor 801 constructs a sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, which may include:
  • first adjacent predicted sampling point If it is detected that the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block; writing a depth value of the second adjacent predicted sample point to a second index position in the sample candidate list (the first adjacent predicted sample point The depth value and the depth value of the second adjacent predicted sampling point may be equal or unequal);
  • the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is not available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block, and the depth value obtained by adding the depth value of the first adjacent predicted sample point to the first adjustment value (the first adjustment value is a positive integer) is written into the Describe a second index position in the sample candidate list;
  • the first index position in the sample candidate list corresponding to the block does not write any depth value in the second index position in the sample candidate list (in this case, only one of the sample candidate lists can be considered to be written)
  • Candidate depth value
  • the second preset depth value may be written to the second index position of the sampling candidate list in the initialization process of the sampling candidate list, for example, the second preset depth value Or being written to the second index position of the sampling candidate list after detecting that the second adjacent predicted sampling point is unavailable;
  • the first preset depth value is used as a sampling candidate list corresponding to the current image block.
  • a candidate value of the first index position record (the first preset depth value may be written to the first index position of the sampling candidate list during initialization of the sampling candidate list, for example, the first preset depth value may also be detected.
  • the second preset depth value is used as the sampling candidate list a candidate value of the second index position record (the second preset depth value may be written to the second index position of the sample candidate list, for example, during the initialization process of the sample candidate list, of course, the second preset depth value may also be And writing to the second index position of the sampling candidate list after detecting that neither the first adjacent predicted sampling point nor the second adjacent predicted sampling point are available.
  • sampling candidate list may be constructed according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point according to other implementation manners.
  • the mechanism for constructing the sampling candidate list by the decoding end and the encoding end may be the same or similar.
  • the first preset depth value is equal to 2 k1 , the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, and the first preset depth value is less than or Equal to 255, the x1 is a positive integer.
  • the x1 may for example be equal to 1, 2, 3, 4 or other values.
  • the first preset depth value is a positive integer.
  • the second preset depth value is equal to 2 k2 , the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, where the x2 is not equal to The positive integer of x1.
  • the x2 can be, for example, equal to 1, 2, 3, 4 or other values.
  • the second preset depth value is a positive integer.
  • the second preset depth value is equal to the first preset depth value; or the second preset depth value is equal to the first preset depth value plus the first adjustment value; or Second preset depth The value is equal to the first preset depth value minus the second adjustment value.
  • the first adjustment value may be equal to 1, 2, 3, 4, 6, 10, 20 or other values, for example.
  • the second adjustment value can be, for example, equal to 1, 2, 3, 4, 6, 11, 25 or other values.
  • the size of the current image block may be, for example, n*n, and the n may be a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may be, for example, any two of the following adjacent predicted sampling points of the current image block:
  • the first adjacent predicted sampling point is above (n+2)/2 pixel points Bn/2 of an upper edge of the current image block.
  • the second adjacent predicted sampling point is a left adjacent pixel point of the (n+2)/2th pixel point A n/2 of the left edge of the current image block.
  • the second adjacent prediction sampling point may be an upper adjacent pixel point of the (n+2)/2th pixel point Bn/2 of the upper edge of the current image block
  • the first adjacent The predicted sampling point may be the left adjacent pixel point of the (n+2)/2th pixel point A n/2 of the left edge of the current image block.
  • the processor 801 before the single sample index identifier corresponding to the current image block is written into the video code stream, the processor 801 is further configured to use the sample candidate list. Calculating a first rate distortion cost corresponding to the current image block by using a depth value of the first index position; calculating a second rate distortion corresponding to the current image block by using a depth value of the second index position in the sampling candidate list cost.
  • the single sample index flag indicates that a predicted sample value of part or all of the pixel points of the current image block is located in the sample candidate a first index position in the list; if the first rate distortion cost is greater than the second rate distortion cost, the single sample index flag indicates that a predicted sample value of some or all of the pixels of the current image block is located a second index position in the sample candidate list.
  • the processor 801 may also determine the single sampling index identifier by other means. It is shown that a predicted sample value of a part or all of the pixel points of the current image block is located at a first index position or a second index position in the sample candidate list. For example, when the depth value of the first index position and the depth value of the second index position in the sampling candidate list are the same, the single sampling index flag may indicate part or all of the pixel points of the current image block. The predicted sample value is located in any one of a first index position and a second index position in the sample candidate list.
  • the video encoding device 800 can be any device that needs to output and play video, such as a notebook computer, a tablet computer, a personal computer, a mobile phone, or a video server.
  • the video encoding apparatus 800 of this embodiment detects the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map; according to the sampling of the first adjacent prediction And a result of the second adjacent predicted sampling point detection constructing a sampling candidate list; writing a single sampling identifier bit and a single sampling index identification bit corresponding to the current image block to a video code stream, where the single sampling identifier bit indication Decoding mode corresponding to the current image block is a single depth intra mode, where the single sampling index flag indicates that the predicted sample value of part or all of the pixel points of the current image block is located in the sampling candidate list. An index position or a second index position.
  • the sampling candidate list is constructed according to the result of detecting the two adjacent predicted sampling points of the first adjacent predicted sampling point and the second adjacent predicted sampling point, that is, the sampling candidate list may be constructed.
  • the conventional sampling scheme candidate list refers to at least 5 adjacent prediction samples of the current image block. Point
  • FIG. 9 is a structural block diagram of a video decoding apparatus 900 according to another embodiment of the present invention.
  • the video decoding device 900 may include at least one processor 901, a memory 905, and at least one communication bus 902.
  • the video decoding device 900 may further include: at least one network interface 904 and/or a user interface 903.
  • the user interface 903 includes, for example, a display (eg, a touch screen, an LCD, a holographic image, a CRT, a Projector, etc.), and a click setting.
  • Equipment such as a mouse or trackball touchpad or touch screen, etc.
  • a camera and/or a pickup device and the like.
  • the memory 905 can include a read only memory and a random access memory and provides instructions and data to the processor 901. A portion of the memory 905 may also include a non-volatile random access memory.
  • the memory 905 stores the following elements, executable modules or data structures, or a subset thereof, or their extended set:
  • the operating system 9051 includes various system programs for implementing various basic services and processing hardware-based tasks.
  • the application module 9052 includes various applications for implementing various application services.
  • the processor 901 decodes the single sample identifier bit corresponding to the current image block in the current depth map by calling the program or instruction stored in the memory 905; if the decoded result is The single sampling identifier bit indicates that the decoding mode corresponding to the current image block is a single depth intra mode, and the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map are performed.
  • Detecting constructing a sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point; decoding a single sampling index identifier corresponding to the current image block from the video code stream Obtaining a candidate depth value of an index position indicated by the single sampling index identifier bit in the sampling candidate list according to an index position indicated by the single sampling index identifier bit obtained by decoding; using the candidate depth value as a predicted sample value of a portion or all of the pixels of the current image block, utilizing the portion or all of the current image block Pixel sample values predicted point of the current image block is reconstructed.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point are preset two adjacent predicted sampling points of the current image block, and therefore, the processor 901 The first adjacent predicted sample point and the second adjacent predicted sample point of the current image block in the current depth map may be detected.
  • the available adjacent predicted sampling points of the current image block may include only the first adjacent predicted sampling point and the second adjacent predicted sampling point.
  • the processor 901 is configured to perform only the (set) first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map. Detection.
  • the number of index positions that the sample candidate list has may be, for example, 2 or more, for example, the sample candidate list has a first index position and a second index position. That is, two candidate depth values may be recorded in the sampling candidate list, and each candidate position may record one candidate depth value.
  • the data structure of the sample candidate list may be various, and the embodiment of the present invention does not limit the specific form of the data structure.
  • the implementation manner of the processor 901 constructing the sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point may be various.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling point may have the same or different detection order.
  • the processor 901 constructs a sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point, which may include:
  • first adjacent predicted sampling point If it is detected that the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block; writing a depth value of the second adjacent predicted sample point to a second index position in the sample candidate list (the first adjacent predicted sample point The depth value and the depth value of the second adjacent predicted sampling point may be equal or unequal);
  • the first adjacent predicted sampling point is available, and detecting that the second adjacent predicted sampling point is not available, writing a depth value of the first adjacent predicted sampling point to the current image a first index position in the sample candidate list corresponding to the block, and adding a depth value of the first adjacent predicted sample point a depth value obtained by the first adjustment value (the first adjustment value is a positive integer) is written to a second index position in the sampling candidate list;
  • the first index position in the sample candidate list corresponding to the block does not write any depth value in the second index position in the sample candidate list (in this case, only one sample can be considered in the sample candidate list) Candidate depth value);
  • the second preset depth value is used as a candidate value of the second index position record in the sample candidate list (where the second preset depth value may be, for example, a sample candidate).
  • the initialization process of the list is written to the second index position of the sampling candidate list.
  • the second preset depth value may also be written to the sampling candidate list after detecting that the second adjacent predicted sampling point is not available. Second index position);
  • the first preset depth value is used as a sampling candidate list corresponding to the current image block.
  • a candidate value of the first index position record (the first preset depth value may be written to the first index position of the sampling candidate list during initialization of the sampling candidate list, for example, the first preset depth value may also be detected.
  • the second preset depth value is used as the sampling candidate list a candidate value of the second index position record (the second preset depth value may be written to the second index position of the sampling candidate list, for example, in the initialization process of the sampling candidate list, of course, the second preset depth value may also be It is detected that the first adjacent predicted sampling point and the second adjacent predicted sampling point are both unavailable and then written to the second index position of the sampling candidate list).
  • the processor 901 may also construct a sampling candidate list according to the results of detecting the first adjacent predicted sampling point and the second adjacent predicted sampling point according to other implementation manners.
  • the mechanism for constructing the sampling candidate list by the decoding end and the encoding end may be the same or similar.
  • the first preset depth value is equal to 2 k1 , the k1 is equal to g_bitDepthY-x1, the g_bitDepthY is equal to the coded bit number, and the first preset depth value is less than or Equal to 255, the x1 is a positive integer.
  • the x1 may for example be equal to 1, 2, 3, 4 or other values.
  • the first preset depth value is a positive integer.
  • the second preset depth value is equal to 2 k2 , the k2 is equal to g_bitDepthY-x2, and the second preset depth value is less than or equal to 255, where the x2 is not equal to The positive integer of x1.
  • the x2 can be, for example, equal to 1, 2, 3, 4 or other values.
  • the second preset depth value is a positive integer.
  • the second preset depth value is equal to the first preset depth value; or the second preset depth value is equal to the first preset depth value plus the first adjustment value; or The second preset depth value is equal to the first preset depth value minus the second adjustment value.
  • the first adjustment value may be equal to 1, 2, 3, 4, 6, 10, 20 or other values, for example.
  • the second adjustment value can be, for example, equal to 1, 2, 3, 4, 6, 11, 25 or other values.
  • the size of the current image block may be, for example, n*n, and the n may be a positive even number.
  • the first adjacent predicted sampling point and the second adjacent predicted sampling The point may be, for example, any two of the following adjacent predicted sampling points of the current image block:
  • the pixel point at the left starting position of the upper edge of the current image block is the 0th pixel point B 0 of the upper edge
  • the pixel position at the starting position above the left edge of the current image block is The 0th pixel point A0 of the left edge.
  • the first adjacent predicted sampling point is the (n+2)/2th of the upper edge of the current image block.
  • An adjacent pixel point above the pixel Bn/2 the second adjacent predicted sampling point being a left neighboring pixel of the (n+2)/2th pixel point An/2 of the left edge of the current image block .
  • the second adjacent prediction sampling point may be an upper adjacent pixel point of the (n+2)/2th pixel point Bn/2 of the upper edge of the current image block
  • the first adjacent prediction The sampling point may be the left adjacent pixel point of the (n+2)/2th pixel point An/2 of the left edge of the current image block.
  • the video decoding device 900 can be any device that needs to output and play video, such as a notebook computer, a tablet computer, a personal computer, a mobile phone, or a video server.
  • the video decoding apparatus 900 of this embodiment detects the first adjacent predicted sampling point and the second adjacent predicted sampling point of the current image block in the current depth map; according to the sampling of the first adjacent prediction And a result of the second adjacent predicted sampling point detection constructing a sampling candidate list; decoding a single sampling index flag corresponding to the current image block in the video code stream; and according to the decoded And determining, by the single sampling index, an index position indicated by the bit, obtaining a candidate depth value of an index position indicated by the single sampling index identifier bit in the sampling candidate list, and using the candidate depth value as a part of the current image block Or a depth value of all pixels, using the current image The depth value of the portion or all of the pixels of the block reconstructs the current image block.
  • the sample candidate list is constructed according to the result of detecting the two adjacent predicted sample points of the first adjacent predicted sample point and the second adjacent predicted sample point, that is, the sample candidate list may be constructed by referring to only two
  • the detection result of the adjacent prediction sampling points simplifies the process of constructing the sampling candidate list. Therefore, compared with the conventional scheme, the above scheme is beneficial to reduce the complexity of the SDM-based decoding algorithm and reduce the occupation of the storage space.
  • the disclosed apparatus may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the above units is only a logical function division. In actual implementation, there may be another division manner. For example, multiple units or components may be combined or integrated. Go to another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical or otherwise.
  • the units described above as separate components may or may not be physically separated.
  • the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the above-described integrated unit if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the above-described methods of various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like. .

Landscapes

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

Abstract

一种三维图像编码方法和三维图像解码方法和相关装置,有利于降低基于SDM的编解码算法的复杂度,减少存储空间的占用需求。该解码方法,可包括:从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位;若解码得到的单一采样标识位指示出当前图像块对应的解码模式为单一深度帧内模式,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对第一相邻预测采样点和第二相邻预测采样点检测的结果构建采样候选列表,其中,采样候选列表具有第一索引位置和第二索引位置;从视频码流中解码得到当前图像块所对应的单一采样索引标识位。

Description

三维图像编码方法和三维图像解码方法及相关装置
本申请要求于2014年10月10日提交中国专利局、申请号为201410531608.7、发明名称为“三维图像编码方法和三维图像解码方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及图像处理技术领域,具体涉及三维图像编码方法和三维图像解码方法和相关装置。
背景技术
随着光电采集技术的发展及不断增长的高清数字视频需求,视频数据量越来越大,有限异构的传输带宽、多样化的视频应用不断地对视频编码效率提出了更高的需求,高性能视频编码(英文:high efficient video coding,缩写:HEVC)标准的制定工作因需启动。
视频编码压缩的基本原理是利用空域、时域和码字之间的相关性,尽可能去除冗余。目前流行做法是采用基于块的混合视频编码框架,通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤实现视频编码压缩。帧内预测技术利用当前图像块的空间像素信息去除当前图像块的冗余信息以获得残差。帧间预测技术利用当前图像邻近的已编码或已解码图像像素信息去除当前图像块的冗余信息以获得残差。这种编码框架显示了很强的生命力,HEVC也仍沿用这种基于块的混合视频编码框架。
三维(英文:3Dimensions,缩写:3D)视频编解码中为了能够反映出物体深度信息,需要对深度图进行编解码。由于深度图数据较纹理图数据有着一些不同的信号特性。最突出的是有着很多深度值近似的平滑区域,很多情况下平滑区域中的采样点可采用同一深度值。因此对于深度图中的图像块引入了基于单一深度帧内模式(英文:Single depth intra mode,缩写:SDM)的编解码算法。其中,SDM的核心是简化当前图像块的重构,可用1个深度值来代表当前图像块的整个平滑区域的深度值。
在传统的基于SDM的编解码算法中,需要对当前图像块周边的至少5个相邻预测采样点按照设定检测顺序进行检测,获取得到相应深度值并写入到采样候选列表中,也就是说,传统机制中是根据至少5个相邻预测采样点的检测结果来构建采样候选列表。由于构建采样候选列表时存在至少5个相邻预测采样点需要参考,这使得传统机制的编解码复杂度可能就相对比较高,所需存储空间也相对较多。
发明内容
本发明实施例提供了一种三维图像编码方法和三维图像解码方法和相关装置,以期能够降低基于SDM的编解码算法的复杂度,减少存储空间的占用需求。
本发明第一方面提供一种三维视频解码方法,可包括:
从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位;
若解码得到的所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,对所述当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点;
从所述视频码流中解码得到所述当前图像块所对应的单一采样索引标识位;
根据解码得到的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表中的所述单一采样索引标识位指示的索引位置的候选深度值;将所述候选深度值作为所述当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或全部像素点的预测采样值对所述当前图像块进行重构。
结合第一方面,在第一种可能的实施方式中,
所述根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的 结果构建采样候选列表,包括:
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
或者,
若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中 的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述第一预设深度值等于2k1,其中,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或者等于255,所述x1为正整数。
结合第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,
所述第二预设深度值等于2k2,其中,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或者等于255,所述x2为不等于所述x1的正整数;
或者,
所述第二预设深度值等于所述第一预设深度值;
或者,
所述第二预设深度值等于所述第一预设深度值加上第一调整值;
或者,
所述第二预设深度值等于所述第一预设深度值减去第二调整值。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述当前图像块的大小为n*n,所述n为正偶数,
其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
结合第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2 个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
或者,
所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
本发明第二方面提供一种三维视频编码方法,包括:
对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测,其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点;
根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述采样候选列表具有第一索引位置和第二索引位置;
将所述当前图像块对应的单一采样标识位写入视频码流,将所述当前图像块对应的单一采样索引标识位写入所述视频码流,其中,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置或所述第二索引位置。
结合第二方面,在第一种可能的实施方式中,
所述根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,包括:
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应 的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
或者,
若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,
所述第一预设深度值等于2k1,其中,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。
结合第二方面的第一种可能的实施方式或第二方面的第二种可能的实施 方式,在第二方面的第三种可能的实施方式中,
所述第二预设深度值等于2k2,其中,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数;
或者,
所述第二预设深度值等于所述第一预设深度值;
或者,
所述第二预设深度值等于所述第一预设深度值加上第一调整值;
或者,
所述第二预设深度值等于所述第一预设深度值减去第二调整值。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式或第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述当前图像块的大小为n*n,所述n为正偶数,
其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
结合第二方面的第四种可能的实施方式,在第二方面的第五种可能的实施方式中,
所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
或者,
所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式或第二方面的第三种可能的实施方式或第二方面的第四种可能的实施方式或第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,将所述当前图像块对应的单一采样索引标识位写入所述视频码流之前,还包括:利用位于所述采样候选列表中的所述第一索引位置的深度值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的所述第二索引位置的深度值计算所述当前图像块对应的第二率失真代价;
其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第二索引位置。
本发明第三方面提供一种视频解码装置,包括:
解码单元,用于从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位;
检测单元,用于若解码得到的所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,对所述当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点;
构建单元,用于根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述采样候选列表具有第一索引位置和第二索引位置;
所述解码单元还用于从所述视频码流中解码得到所述当前图像块所对应的单一采样索引标识位;
图像重构单元,用于根据解码得到的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表中的所述单一采样索引标识位指示的索引位置的候选深度值;将所述候选深度值作为所述当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或全部像素点的预测采样值对 所述当前图像块进行重构。
结合第三方面,在第一种可能的实施方式中,
所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
或者,
所述构建单元具体用于:若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
结合第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,
所述第一预设深度值等于2k1,其中,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或者等于255,所述x1为正整数。
结合第三方面的第一种可能的实施方式或第三方面的第二种可能的实施方式,在第三方面的第三种可能的实施方式中,
所述第二预设深度值等于2k2,其中,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或者等于255,所述x2为不等于所述x1的正整数;
或者,
所述第二预设深度值等于所述第一预设深度值;
或者,
所述第二预设深度值等于所述第一预设深度值加上第一调整值;
或者,
所述第二预设深度值等于所述第一预设深度值减去第二调整值。
结合第三方面或第三方面的第一种可能的实施方式或第三方面的第二种可能的实施方式或第三方面的第三种可能的实施方式,在第三方面的第四种可能的实施方式中,所述当前图像块的大小为n*n,所述n为正偶数,
其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
结合第三方面的第四种可能的实施方式,在第三方面的第五种可能的实施方式中,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
或者,
所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
本发明第四方面提供一种视频编码装置,包括:
检测单元,用于对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测,其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点;
构建单元,用于根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述采样候选列表具有第一索引位置和第二索引位置;
编码单元,用于将所述当前图像块对应的单一采样标识位写入视频码流,将所述当前图像块对应的单一采样索引标识位写入所述视频码流,
其中,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置或所述第二索引位置。
结合第四方面,在第一种可能的实施方式中,
所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
或者,
所述构建单元具体用于,若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施 方式中,
所述第一预设深度值等于2k1,其中,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。
结合第四方面的第一种可能的实施方式或第四方面的第二种可能的实施方式,在第四方面的第三种可能的实施方式中,
所述第二预设深度值等于2k2,其中,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数;
或者,
所述第二预设深度值等于所述第一预设深度值;
或者,
所述第二预设深度值等于所述第一预设深度值加上第一调整值;
或者,
所述第二预设深度值等于所述第一预设深度值减去第二调整值。
结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的实施方式或第四方面的第三种可能的实施方式,在第四方面的第四种可能的实施方式中,所述当前图像块的大小为n*n,所述n为正偶数,
其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
结合第四方面的第四种可能的实施方式,在第四方面的第五种可能的实施方式中,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
或者,
所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的实施方式或第四方面的第三种可能的实施方式或第四方面的第四种可能的实施方式或第四方面的第五种可能的实施方式,在第四方面的第六种可能的实施方式中,
所述视频编码装置还包括:
测算单元,用于在将所述当前图像块对应的单一采样索引标识位写入所述视频码流之前,利用位于所述采样候选列表中的所述第一索引位置的深度值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的所述第二索引位置的深度值计算所述当前图像块对应的第二率失真代价;
其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第二索引位置。
可以看出,本发明一些实施例提供的编码方案中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;将所述当前图像块对应的单一采样标识位和单一采样索引标识位写入视频码流,单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。其中,由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点这两个相邻预测采样点检测的结果构建采样候选列表,其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点,也就是说,上述方 案构建采样候选列表可以只参考两个相邻预测采样点的检测结果,有利于简化构建采样候选列表的过程,可见相对于传统方案,上述方案有利于降低基于SDM的编码算法的复杂度,减少存储空间的占用需求。
可以看出,本发明一些实施例的解码方案中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;对所述视频码流中的所述当前图像块所对应的单一采样索引标识位进行解码;并根据解码出的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表之中的所述单一采样索引标识位指示的索引位置的候选深度值,将所述候选深度值作为所述当前图像块的部分或者全部像素点的深度值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点这两个相邻预测采样点检测的结果构建采样候选列表,其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点,即,构建采样候选列表可以只参考两个相邻预测采样点的检测结果,有利于简化构建采样候选列表的过程,因此,相对于传统的方案,上述方案有利于降低基于SDM的解码算法的复杂度,减少存储空间的占用需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种三维图像编码方法的流程示意图;
图2-a是本发明实施例提供的一种当前图像块的相邻预测采样点的位置示意图;
图2-b是本发明实施例提供的另一种当前图像块的相邻预测采样点的位置示意图;
图3是本发明实施例提供的一种三维图像解码方法的流程示意图;
图4是本发明实施例提供的另一种三维图像编码方法的流程示意图;
图5是本发明实施例提供的另一种三维图像解码方法的流程示意图;
图6是本发明实施例提供的一种视频解码装置的示意图;
图7是本发明实施例提供的一种视频编码装置的示意图;
图8是本发明实施例提供的另一种视频编码装置的示意图;
图9是本发明实施例提供的另一种视频解码装置的示意图。
具体实施方式
本发明实施例提供了一种三维图像编码方法和三维图像解码方法和相关装置,以期能够降低基于SDM的编解码算法的复杂度,减少存储空间的占用需求。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面先介绍本发明实施例提供的三维视频编码方法,本发明实施例提供的三维视频编码方法的执行主体是视频编码装置,其中,该视频编码装置可以是任何需要输出或存储视频的装置,如笔记本电脑、平板电脑、个人电脑、手机或视频服务器等设备。
本发明三维视频编码方法的一实施例,一种三维视频编码方法包括:对当 前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,所述采样候选列表具有第一索引位置和第二索引位置;将所述当前图像块对应的单一采样标识位写入视频码流,将所述当前图像块对应的单一采样索引标识位写入所述视频码流,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。
首先参见图1,图1为本发明的一实施例提供的一种三维视频编码方法的流程示意图,如图1所示,本发明的一实施例提供的一种三维视频编码方法可以包括以下内容:
101、对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,所述当前图像块的可用相邻预测采样点可仅包括第一相邻预测采样点和第二相邻预测采样点。
可选的,在本发明一些可能实施方式中,第一相邻预测采样点和第二相邻预测采样点是当前图像块的预先设定的两个相邻预测采样点,因此,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测可以包括:对当前深度图中的当前图像块的设定的第一相邻预测采样点和第二相邻预测采样点进行检测。
可选的,在本发明一些可能实施方式中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测,可包括:仅对当前深度图中的当前图像块的(设定的)第一相邻预测采样点和第二相邻预测采样点进行检测。
102、根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表(英文:sample candidate list)。
其中,采样候选列表具有的索引位置的数量例如可为2或更多,例如所述采样候选列表具有第一索引位置和第二索引位置。即,采样候选列表中可记录 两个候选的深度值,每个索引位置可记录一个候选的深度值,其中,位于采样候选列表中的候选深度值亦可称之为候选采样值或候选值。
其中,采样候选列表的数据结构可能是多种多样的,本发明实施例不限定其数据结构的具体形式。
103、将所述当前图像块对应的单一采样标识位写入视频码流。
其中,单一采样标识位(英文:single_sample_flag)指示出所述当前图像块对应的解码模式是否为单一深度帧内模式(SDM),本发明实施例中主要以所述当前图像块对应的单一采样标识位指示出所述当前图像块对应的解码模式为SDM为例。例如,当所述单一采样标识位被置“0”时,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,当所述单一采样索引标识位被置“1”时,所述单一采样标识位指示出所述当前图像块对应的解码模式为非单一深度帧内模式,当然反之亦可。
其中,SDM的核心是简化当前图像块的重构过程,具体可用1个深度值来重构当前图像块,使得当前图像块为平滑区域,平滑区域中的各像素点的深度值一致。
104、将所述当前图像块对应的单一采样索引标识位写入所述视频码流。
其中,所述单一采样索引(英文:single_sample_idx)标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。例如,当单一采样索引标识位置“0”时,所述单一采样索引标识位可指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置,当所述单一采样索引标识位置“1”时,所述单一采样索引标识位可以指示出所述当前图像块的部分或全部像素点的预测采样值(英文:predSample)位于所述采样候选列表中的第二索引位置,当然反之亦可。其中,第一索引位置和第二索引位置可能具有相同或者不同的写入优先级。
其中,在本发明一些可能的实现过程中,可以通过一次写入操作将所述当前图像块对应的单一采样索引标识位和单一采样标识位写入视频码流,也可通过两次写入操作分别将所述当前图像块对应的单一采样索引标识位和单一采 样标识位写入视频码流。也就是说,步骤103和步骤104可能同步执行或者不同步执行。
可以看出,本实施例的编码方案中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;将所述当前图像块对应的单一采样标识位和单一采样索引标识位写入视频码流,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。其中,由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点这两个相邻预测采样点检测的结果构建采样候选列表,也就是说,构建采样候选列表可以只参考两个相邻预测采样点的检测结果,有利于简化构建采样候选列表的过程,因此相对于传统方案(传统方案中构建采样候选列表参考当前图像块的至少5个相邻预测采样点),上述方案有利于降低基于SDM的编码算法的复杂度,减少存储空间的占用需求。
其中,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表的实现方式可能是多种多样的。其中,所述第一相邻预测采样点和所述第二相邻预测采样点可能具有相同或不同的检测顺序。
举例来说,所述根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,可以包括:
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置(所述第一相邻预测采样点的深度值和所述第二相邻预测采样点的深度值可能相等或不等);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应 的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值(第一调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值(第二调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将无效深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,在所述采样候选列表中的第二索引位置不写入任何深度值(在这种情况下,可以认为采样候选列表之中只写入了一个候选的深度值);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应 的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(其中,第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可以在检测到所述第二相邻预测采样点不可得之后被写入到采样候选列表的第二索引位置);
或者,
若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值(第一预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第一索引位置,当然第一预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第一索引位置);将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第二索引位置)。
当然,亦可按照其他实现方式,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表。其中,解码端和编码端构建采样候选列表的机制可相同或类似。
可以理解的是,所谓当前图像块的某个相邻预测采样点(例如第一相邻预测采样点或第二相邻预测采样点)可得,是指该当前图像块的该某个相邻预测采样点可用于帧内预测,所谓当前图像块的某个相邻预测采样点不可得,是指该当前图像块的该某个相邻预测采样点不可用于帧内预测。
可选的,在本发明一些可能实施方式中,第一预设深度值等于2k1,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。所述x1例如可以等于1、2、3、4或其他值。当然所述第一预设深度值为正整数。
可选的,在本发明一些可能实施方式中,第二预设深度值等于2k2,所述 k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数。所述x2例如可以等于1、2、3、4或其他值。当然所述第二预设深度值为正整数。
或者,所述第二预设深度值等于所述第一预设深度值;或者,所述第二预设深度值等于所述第一预设深度值加上第一调整值;或者,所述第二预设深度值等于所述第一预设深度值减去第二调整值。
可选的,第一调整值例如可等于1、2、3、4、6、10、20或其他值。第二调整值例如可等于1、2、3、4、6、11、25或其他值。
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小例如可为n*n,所述n可为正偶数。所述第一相邻预测采样点和所述第二相邻预测采样点例如可为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点(具体位置例如图2-a中的像素点B0)、
所述当前图像块中的左上角像素点的左方相邻像素点(具体位置例如图2-a中的像素点A0)、
所述当前图像块中的左上角像素点的左上方相邻像素点(具体位置例如图2-a中的像素点B-1)、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点(具体位置例如图2-a中的像素点Bn/2)和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点(具体位置例如图2-a中的像素点An/2)。
其中,图2-a中示出,当前图像块的上边缘左方起始位置的像素点为上边缘的第0个像素点B0,当前图像块的左边缘上方起始位置的像素点为左边缘的第0个像素点A0
可选的,在本发明一些可能的实施方式中,如图2-b所示,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。或者,所述第二相邻预测采样点可以为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第一 相邻预测采样点可以为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。
可选的,在本发明一些可能的实施方式中,将所述当前图像块对应的单一采样索引标识位写入所述视频码流之前,还可包括:利用位于所述采样候选列表中的第一索引位置的深度值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的第二索引位置的深度值计算所述当前图像块对应的第二率失真代价。
其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置。
当然,亦可能通过其他方式来确定所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置还是第二索引位置。例如,当位于所述采样候选列表中的第一索引位置的深度值和第二索引位置的深度值相同,则所述单一采样索引标识位可指示所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置和第二索引位置中的任意一个。
下面介绍本发明实施例提供的三维视频解码方法,本发明实施例提供的三维视频解码方法的执行主体是视频解码装置,其中,该视频解码装置可以是任何需要输出或存储视频的装置,如笔记本电脑、平板电脑、个人电脑、手机或视频服务器等设备。
本发明三维视频解码方法的一实施例,一种三维视频解码方法包括:从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位;若解码得到的所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,对所述当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;从视频码流中解码得到所述当前图 像块所对应的单一采样索引标识位;根据解码得到的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表中的所述单一采样索引标识位指示的索引位置的候选深度值;将所述候选深度值作为所述当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或全部像素点的预测采样值对所述当前图像块进行重构。
请参见图3,图3为本发明的另一实施例提供的一种三维视频解码方法的流程示意图,如图3所示,本发明的另一实施例提供的一种三维视频解码方法可以包括以下内容:
301、从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位。
302、若解码得到的所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,对所述当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表。
其中,所述当前图像块的可用相邻预测采样点可仅包括第一相邻预测采样点和第二相邻预测采样点。
可选的,在本发明一些可能实施方式中,第一相邻预测采样点和第二相邻预测采样点是当前图像块的预先设定的两个相邻预测采样点,因此,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测可以包括:对当前深度图中的当前图像块的设定的第一相邻预测采样点和第二相邻预测采样点进行检测。
可选的,在本发明一些可能实施方式中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测,可包括:仅对当前深度图中的当前图像块的(设定的)第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,采样候选列表具有的索引位置的数量例如可为2或更多,例如所述采样候选列表具有第一索引位置和第二索引位置。即,采样候选列表中可记录两个候选的深度值,每个索引位置可记录一个候选的深度值。
其中,采样候选列表的数据结构可能是多种多样的,本发明实施例不限定其数据结构的具体形式。
其中,单一采样标识位指示出所述当前图像块对应的解码模式是否为单一深度帧内模式,本发明实施例中主要以所述当前图像块对应的单一采样标识位指示出所述当前图像块对应的解码模式为SDM为例。例如当所述单一采样标识位被置“0”时,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,当所述单一采样索引标识位置“1”时,所述单一采样标识位指示出所述当前图像块对应的解码模式为非单一深度帧内模式,当然反之亦可。本发明实施例中主要以所述当前图像块对应的单一采样标识位指示出所述当前图像块对应的解码模式为SDM为例。
303、从上述视频码流中解码得到所述当前图像块所对应的单一采样索引标识位。
304、根据解码得到的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表之中的所述单一采样索引标识位指示的索引位置的候选深度值。
其中,在一些可能的实现过程中,可以通过一次解码操作从视频码流中解码得到所述当前图像块所对应的单一采样索引标识位和单一采样标识位,也可通过两次解码操作分别从视频码流中解码得到所述当前图像块所对应的单一采样索引标识位和单一采样标识位。也就是说,步骤301和步骤303可能同步执行或不同步执行。
其中,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或者第二索引位置。例如当所述单一采样索引标识位置“0”时,所述单一采样索引标识位可以指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置,当所述单一采样索引标识位置“1”时,所述单一采样索引标识位可以指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置,当然反之亦可。其中,第一索引位置和第二索引位置可能具有相同或不同的写入优先级(其中,写入有些级高的索引位 置优先写入候选的深度值)。
305、将所述候选深度值作为所述当前图像块的部分或者全部像素点的深度值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
可以看出,本实施例的解码方案中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;对所述视频码流中的所述当前图像块所对应的单一采样索引标识位进行解码;并根据解码出的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表之中的所述单一采样索引标识位指示的索引位置的候选深度值,将所述候选深度值作为所述当前图像块的部分或者全部像素点的深度值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点这两个相邻预测采样点检测的结果构建采样候选列表,即,构建采样候选列表可以只参考两个相邻预测采样点的检测结果,简化了构建采样候选列表的过程,因此相对于传统方案,上述方案有利于降低基于SDM的解码算法的复杂度,减少存储空间的占用需求。
其中,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表的实现方式可能是多种多样的。其中,所述第一相邻预测采样点和所述第二相邻预测采样点可能具有相同或不同的检测顺序。
举例来说,所述根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,可以包括:
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置(所述第一相邻预测采样点的深度值和所述第二相邻预测采样点的深度值可能相等或不等);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值(第一调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值(第二调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将无效深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,在所述采样候选列表中的第二索引位置不写入任何的深度值(在这种情况下,可以认为采样候选列表中只写入了一个候选的深度值);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(其中,第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可以在检测到所述第二相邻预测采样点不可得之后被写入到采样候选列表的第二索引位置);
或者,
若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值(第一预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第一索引位置,当然第一预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后写入到采样候选列表的第一索引位置);将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第二索引位置)。
当然,亦可按照其他实现方式,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表。其中,解码端和编码端构建采样候选列表的机制可相同或类似。
可以理解的是,所谓当前图像块的某个相邻预测采样点(例如第一相邻预测采样点或第二相邻预测采样点)可得,是指该当前图像块的该某个相邻预测采样点可用于帧内预测,所谓当前图像块的某个相邻预测采样点不可得,是指该当前图像块的该某个相邻预测采样点不可用于帧内预测。
可选的,在本发明一些可能实施方式中,第一预设深度值等于2k1,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。所述x1例如可以等于1、2、3、4或其 他值。当然所述第一预设深度值为正整数。
可选的,在本发明一些可能实施方式中,第二预设深度值等于2k2,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数。所述x2例如可以等于1、2、3、4或其他值。当然所述第二预设深度值为正整数。
或者,所述第二预设深度值等于所述第一预设深度值;或者,所述第二预设深度值等于所述第一预设深度值加上第一调整值;或者,所述第二预设深度值等于所述第一预设深度值减去第二调整值。
可选的,第一调整值例如可等于1、2、3、4、6、10、20或其他值。第二调整值例如可等于1、2、3、4、6、11、25或其他值。
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小例如可为n*n,所述n可为正偶数。所述第一相邻预测采样点和所述第二相邻预测采样点例如可为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点(具体位置例如图2-a中的像素点B0)、
所述当前图像块中的左上角像素点的左方相邻像素点(具体位置例如图2-a中的像素点A0)、
所述当前图像块中的左上角像素点的左上方相邻像素点(具体位置例如图2-a中的像素点B-1)、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点(具体位置例如图2-a中的像素点Bn/2)和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点(具体位置例如图2-a中的像素点An/2)。
其中,图2-a中示出,当前图像块的上边缘左方起始位置的像素点为上边缘的第0个像素点B0,当前图像块的左边缘上方起始位置的像素点为左边缘的第0个像素点A0
可选的,在本发明一些可能的实施方式中,如图2-b所示,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2 个像素点An/2的左方相邻像素点。或者,所述第二相邻预测采样点可以为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第一相邻预测采样点可以为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。
为便于更好理解和实施本发明实施例的上述方案,下面结合一些具体的应用场景进行举例说明。
请参见图4,图4为本发明的另一实施例提供的另一种三维视频编码方法的流程示意图,如图4所示,本发明的另一实施例提供的另一种三维视频编码方法可以包括以下内容:
401、编码端生成采样候选列表并对所述采样候选列表进行初始化。
其中,采样候选列表具有的索引位置的数量例如可为2,例如所述采样候选列表具有第一索引位置和第二索引位置。即,采样候选列表中可记录两个候选的深度值,每个索引位置可记录一个候选的深度值。
可选的,在对采样候选列表进行初始化过程中,可在采样候选列表的第一索引位置写入第一预设深度值。
可选的,在对采样候选列表进行初始化过程中,可在采样候选列表的第二索引位置写入第二预设深度值。
402、编码端对当前深度图中的当前图像块的设定的第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,所述当前图像块的可用相邻预测采样点可仅包括第一相邻预测采样点和第二相邻预测采样点。
其中,第一相邻预测采样点和第二相邻预测采样点是预先设定的,这就避免了编码端对当前图像块的除第一相邻预测采样点和第二相邻预测采样点之外的其他相邻预测采样点的检测,其中,由于减少了需要检测的相邻预测采样点的数量,故而有利于降低算法复杂度。
403、编码端根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果填写采样候选列表。
可以理解,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检 测的结果填写采样候选列表时,若采样候选列表中第一索引位置已经写入了其他的深度值(例如采样候选列表中第一索引位置已经写入第一预设深度值),则可用所述第一相邻预测采样点的深度值,覆盖采样候选列表中第一索引位置已写入的其他深度值;若采样候选列表中第一索引位置还未写入其他任何深度值,则可直接在采样候选列表中第一索引位置写入所述第一相邻预测采样点的深度值,其他索引位置的填写以此类推。
其中,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果填写采样候选列表的实现方式可能是多种多样的。其中,所述第一相邻预测采样点和所述第二相邻预测采样点可能具有相同或不同的检测顺序。
举例来说,所述根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果填写采样候选列表,可以包括:
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置(所述第一相邻预测采样点的深度值和所述第二相邻预测采样点的深度值可能相等或不等);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值(第一调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值(第二调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将无效深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,在所述采样候选列表中的第二索引位置不写入任何深度值(在这种情况下,可以认为采样候选列表中只写入了一个候选的深度值);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(其中,第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可以在检测到所述第二相邻预测采样点不可得之后被写入到采样候选列表的第二索引位置);
或者,
若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值(第一预设深度值例如可以在采样候选列表的初 始化过程中被写入到采样候选列表的第一索引位置,当然第一预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第一索引位置);将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第二索引位置)。
当然,亦可按照其他实现方式,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果填写采样候选列表。其中,解码端和编码端构建采样候选列表的机制可相同或类似。
可选的,在本发明一些可能实施方式中,第一预设深度值等于2k1,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。所述x1例如可以等于1、2、3、4或其他值。当然所述第一预设深度值为正整数。
可选的,在本发明一些可能实施方式中,第二预设深度值等于2k2,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数。所述x2例如可以等于1、2、3、4或其他值。当然所述第二预设深度值为正整数。
或者,所述第二预设深度值等于所述第一预设深度值;或者,所述第二预设深度值等于所述第一预设深度值加上第一调整值;或者,所述第二预设深度值等于所述第一预设深度值减去第二调整值。
可选的,第一调整值例如可等于1、2、3、4、6、10、20或其他值。第二调整值例如可等于1、2、3、4、6、11、25或其他值。
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小例如可为n*n,所述n可为正偶数。所述第一相邻预测采样点和所述第二相邻预测采样点例如可为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
可选的,在本发明一些可能的实施方式中,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。或者,所述第二相邻预测采样点可以为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点可以为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
可选的,在本发明一些可能的实施方式中,将所述当前图像块对应的单一采样索引标识位写入所述视频码流之前,还可进一步包括:若位于所述采样候选列表中的第一索引位置的深度值和位于所述采样候选列表中的第二索引位置的深度值不同,利用位于所述采样候选列表中的第一索引位置的深度值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的第二索引位置的深度值计算所述当前图像块对应的第二率失真代价。
其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置。
可以理解的是,构建采样候选列表可包括生成采样候选列表、填写采样候选列表等步骤。或者,构建采样候选列表可包括生成采样候选列表、初始化采样候选列表和填写采样候选列表等步骤。因此,步骤401和步骤403可看做是根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表的一些具体实现方式,当然,如果采样候选列表已经存在,则亦可省略生成采样候选列表的步骤。
404、编码端将所述当前图像块对应的单一采样标识位写入视频码流。
其中,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一 深度帧内模式。例如当所述单一采样标识位位置“0”时,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,当所述单一采样索引标识位置“1”时,所述单一采样标识位指示出所述当前图像块对应的解码模式为非单一深度帧内模式,当然反之亦可。
405、编码端将所述当前图像块对应的单一采样索引标识位写入所述视频码流。
其中,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。例如当所述单一采样索引标识位置“0”时,所述单一采样索引标识位可以指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置,当所述单一采样索引标识位置“1”时,所述单一采样索引标识位可以指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置,当然反之亦可。其中,第一索引位置和第二索引位置可能具有相同或不同的写入优先级。
其中,在本发明一些可能的实现过程中,可以通过一次写入操作将所述当前图像块对应的单一采样索引标识位和单一采样标识位写入视频码流,也可通过两次写入操作分别将所述当前图像块对应的单一采样索引标识位和单一采样标识位写入视频码流。也就是说,步骤404和步骤405可能同步执行或者不同步执行。
可以看出,本实施例的编码方案中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;将所述当前图像块对应的单一采样标识位和单一采样索引标识位写入视频码流,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,也就是说,构建采样候选列表可以只参考两个相邻预测采样点的检测结果, 相对于传统方案,上述方案有利于降低基于SDM的编码算法的复杂度,减少存储空间的占用需求。
首先参见图5,图5为本发明的另一实施例提供的一种三维视频解码方法的流程示意图,如图5所示,本发明的另一实施例提供的一种三维视频解码方法可以包括以下内容:
501、解码端从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位。
502、若解码得到的所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,解码端生成采样候选列表,并可对采样候选列表进行初始化。
其中,采样候选列表具有的索引位置的数量例如可为2,例如所述采样候选列表具有第一索引位置和第二索引位置。即,采样候选列表中可记录两个候选的深度值,每个索引位置可记录一个候选的深度值。
可选的,在对采样候选列表进行初始化过程中,可在采样候选列表的第一索引位置写入第一预设深度值。
可选的,在对采样候选列表进行初始化过程中,可在采样候选列表的第二索引位置写入第二预设深度值。
503、解码端对所述当前深度图中的当前图像块的设定的第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,所述当前图像块的可用相邻预测采样点可仅包括第一相邻预测采样点和第二相邻预测采样点。
其中,第一相邻预测采样点和第二相邻预测采样点是预先设定的,这就避免了解码端对当前图像块的除第一相邻预测采样点和第二相邻预测采样点之外的其他相邻预测采样点的检测,其中,由于减少了解码端需检测相邻预测采样点的数量,进而有利于降低算法复杂度。
504、解码端根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果填写采样候选列表。
可以理解,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检 测的结果填写采样候选列表时,若采样候选列表中第一索引位置已经写入了其他的深度值(例如采样候选列表中第一索引位置已经写入第一预设深度值),则可用所述第一相邻预测采样点的深度值,覆盖采样候选列表中第一索引位置已写入的其他深度值;若采样候选列表中第一索引位置还未写入了其他任何深度值,则可直接在采样候选列表中第一索引位置写入所述第一相邻预测采样点的深度值,其他索引位置的填写以此类推。
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置(所述第一相邻预测采样点的深度值和所述第二相邻预测采样点的深度值可能相等或不等);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值(第一调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值(第二调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将无效深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,在所述采样候选列表中的第二索引位置不写入任何深度值(在这种情况下,可以认为采样候选列表中只写入了一个候选的深度值);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(其中,第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可以在检测到所述第二相邻预测采样点不可得之后被写入到采样候选列表的第二索引位置);
或者,
若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值(第一预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第一索引位置,当然第一预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第一索引位置);将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设 深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第二索引位置)。
当然,亦可按照其他实现方式,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果填写采样候选列表。其中,解码端和编码端构建采样候选列表的机制可相同或类似。
可选的,在本发明一些可能实施方式中,第一预设深度值等于2k1,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。所述x1例如可以等于1、2、3、4或其他值。当然所述第一预设深度值为正整数。
可选的,在本发明一些可能实施方式中,第二预设深度值等于2k2,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数。所述x2例如可以等于1、2、3、4或其他值。当然所述第二预设深度值为正整数。
或者,所述第二预设深度值等于所述第一预设深度值;或者,所述第二预设深度值等于所述第一预设深度值加上第一调整值;或者,所述第二预设深度值等于所述第一预设深度值减去第二调整值。
可选的,第一调整值例如可等于1、2、3、4、6、10、20或其他值。第二调整值例如可等于1、2、3、4、6、11、25或其他值。
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小例如可为n*n,所述n可为正偶数。所述第一相邻预测采样点和所述第二相邻预测采样点例如可为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
可选的,在本发明一些可能的实施方式中,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二 相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。或者,所述第二相邻预测采样点可以为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点可以为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
可选的,在本发明一些可能实施方式中,若位于所述采样候选列表中的第一索引位置的深度值和位于采样候选列表中的第一索引位置的深度值不同,编码端可利用位于所述采样候选列表中的第一索引位置的深度值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的第二索引位置的深度值计算所述当前图像块对应的第二率失真代价。其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置。
可以理解的是,构建采样候选列表可包括生成采样候选列表、填写采样候选列表等步骤。或者,构建采样候选列表可包括生成采样候选列表、初始化采样候选列表和填写采样候选列表等步骤。因此,步骤502和步骤504可看做是根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表的一些具体实现方式,当然,如果采样候选列表已经存在,则亦可省略生成采样候选列表的步骤。
505、解码端从上述视频码流中解码得到所述当前图像块所对应的单一采样索引标识位。
其中,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式。例如当所述单一采样标识位位置“0”时,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,当所述单一采样索引标识位置“1”时,所述单一采样标识位指示出所述当前图像块对应的解码模式为非单一深度帧内模式,当然反之亦可。
506、解码端根据解码得到的单一采样索引标识位指示的索引位置,获取 位于所述采样候选列表之中的所述单一采样索引标识位指示的索引位置的候选深度值。
507、解码端将所述候选深度值作为所述当前图像块的部分或者全部像素点的深度值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
其中,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。例如当所述单一采样索引标识位置“0”时,所述单一采样索引标识位可以指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置,当所述单一采样索引标识位置“1”时,所述单一采样索引标识位可以指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置,当然反之亦可。其中,第一索引位置和第二索引位置可能具有相同或不同的写入优先级。
可以看出,本实施例的解码方案中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;对所述视频码流中的所述当前图像块所对应的单一采样索引标识位进行解码;并根据解码出的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表之中的所述单一采样索引标识位指示的索引位置的候选深度值,将所述候选深度值作为所述当前图像块的部分或者全部像素点的深度值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,即,构建采样候选列表可以只参考两个相邻预测采样点的检测结果,相对于传统方案,上述方案有利于降低基于SDM的解码算法的复杂度,减少存储空间的占用需求。
下面通过一些更为具体的例子进行说明。
举例一,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点的深度值为37,当前图 像块的第二相邻预测采样点的深度值为39,则编码端和解码端在采样候选列表中的第一索引位置写入第一相邻预测采样点的深度值为37,在采样候选列表中的第二索引位置写入第二相邻预测采样点的深度值为39。编码端可以利用位于采样候选列表中的第一索引位置的深度值37计算所述当前图像块对应的第一率失真代价;编码端可以利用位于所述采样候选列表中的第二索引位置的深度值39计算所述当前图像块对应的第二率失真代价。假设所述第一率失真代价大于所述第二率失真代价,因此,编码端可将当前图像块对应的单一采样标识位和单一采样索引标识位均置为“1”,以指示当前图像块的解码模式为SDM,当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置。解码端可根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样值位于采样候选列表中的第二索引位置,进而可获取位于所述采样候选列表的第二索引位置的候选深度值39;将候选深度值39作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
举例二,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点的深度值为37,当前图像块的第二相邻预测采样点不可得,则编码端和解码端在采样候选列表中的第一索引位置写入第一相邻预测采样点的深度值为37,在采样候选列表中的第二索引位置写入深度值38(38=37+1,1为调整值)。编码端可以利用位于采样候选列表中的第一索引位置的深度值37计算所述当前图像块对应的第一率失真代价;编码端可以利用位于所述采样候选列表中的第二索引位置的深度值38计算所述当前图像块对应的第二率失真代价。假设所述第一率失真代价大于所述第二率失真代价,因此,编码端可将当前图像块对应的单一采样标识位和单一采样索引标识位均置为“1”,以指示当前图像块的解码模式为SDM,当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置。解码端可根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样值位于采样候选列表中的第 二索引位置,进而可获取位于所述采样候选列表的第二索引位置的候选深度值38;将候选深度值38作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
举例三,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点的深度值为37,当前图像块的第二相邻预测采样点不可得,则编码端和解码端在采样候选列表中的第一索引位置写入第一相邻预测采样点的深度值37,在采样候选列表中的第二索引位置写入深度值38(38=37+1,1为调整值)。编码端可以利用位于采样候选列表中的第一索引位置的深度值37计算所述当前图像块对应的第一率失真代价;编码端可以利用位于所述采样候选列表中的第二索引位置的深度值38计算所述当前图像块对应的第二率失真代价。假设所述第一率失真代价小于所述第二率失真代价,因此,编码端可将当前图像块对应的单一采样标识位置为“1”,以指示当前图像块的解码模式为SDM,将单一采样索引标识位均置为“0”,以指当前图像块的部分或者全部像素点的深度值位于所述采样候选列表中的第一索引位置。相应的,解码端根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样值位于采样候选列表中的第一索引位置,进而获取位于所述采样候选列表的第一索引位置的候选深度值37;将候选深度值37作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
举例四,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点的深度值为37,当前图像块的第二相邻预测采样点不可得,则编码端和解码端在采样候选列表中的第一索引位置写入第一相邻预测采样点的深度值37,在采样候选列表中的第二索引位置也写入第一相邻预测采样点的深度值37。因此,编码端可将当前图像块对应的单一采样标识位置为“1”,以指示当前图像块的解码模式为SDM,将单一采样索引标识位均置为“0”,以指当前图像块的部分或者全部像素点的深 度值位于所述采样候选列表中的第一索引位置。相应的,解码端根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样值位于采样候选列表中的第一索引位置,进而可获取位于所述采样候选列表的第一索引位置的候选深度值37;将候选深度值37作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
举例五,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点的深度值为37,当前图像块的第二相邻预测采样点不可得,则编码端和解码端在采样候选列表中的第一索引位置写入第一相邻预测采样点的深度值37,在采样候选列表中的第二索引位置可不写入任何深度值,即,采样候选列表采用单候选方式。因此,编码端可以将当前图像块对应的单一采样标识位置为“1”,以指示当前图像块的解码模式为SDM,将单一采样索引标识位均置为“0”,以指当前图像块的部分或者全部像素点的深度值位于所述采样候选列表中的第一索引位置。相应的,解码端根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样值位于采样候选列表中的第一索引位置,进而可获取位于所述采样候选列表的第一索引位置的候选深度值37;将候选深度值37作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
举例六,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点和第二相邻预测采样点均不可得,则编码端和解码端在采样候选列表中的第一索引位置写入第一预设深度值2k1,在采样候选列表中的第二索引位置可不写入任何深度值,即,采样候选列表采用单候选方式。因此,编码端可以将当前图像块对应的单一采样标识位置为“1”,以指示当前图像块的解码模式为SDM,将单一采样索引标识位均置为“0”,以指当前图像块的部分或者全部像素点的深度值位于所述采样候选列表中的第一索引位置。相应的,解码端根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样 值位于采样候选列表中的第一索引位置,获取位于所述采样候选列表的第一索引位置的候选深度值2k1;将候选深度值2k1作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
举例七,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点和第二相邻预测采样点均不可得,则编码端和解码端在采样候选列表中的第一索引位置写入第一预设深度值2k1,在采样候选列表中的第二索引位置写入深度值2k1+1。因此编码端可以利用位于采样候选列表中的第一索引位置的深度值2k1计算所述当前图像块对应的第一率失真代价;编码端可以利用位于所述采样候选列表中的第二索引位置的深度值2k1+1计算所述当前图像块对应的第二率失真代价。假设所述第一率失真代价小于所述第二率失真代价,编码端可以将当前图像块对应的单一采样标识位置为“1”,以指示当前图像块的解码模式为SDM,将单一采样索引标识位均置为“0”,以指当前图像块的部分或者全部像素点的深度值位于所述采样候选列表中的第一索引位置。相应的,解码端根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样值位于采样候选列表中的第一索引位置,进而可以获取位于所述采样候选列表的第一索引位置的候选深度值2k1;将候选深度值2k1作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
举例七,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点和第二相邻预测采样点均不可得,则编码端和解码端在采样候选列表中的第一索引位置写入第一预设深度值2k1,在采样候选列表中的第二索引位置写入深度值2k2。因此编码端可以利用位于采样候选列表中的第一索引位置的深度值2k1计算所述当前图像块对应的第一率失真代价;编码端可以利用位于所述采样候选列表中的第二索引位置的深度值2k2计算所述当前图像块对应的第二率失真代价。假设所述第一率失真代价小于所述第二率失真代价,编码端可以将当前图像块对应的单一采 样标识位置为“1”,以指示当前图像块的解码模式为SDM,将单一采样索引标识位均置为“0”,以指当前图像块的部分或者全部像素点的深度值位于所述采样候选列表中的第一索引位置。相应的,解码端根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样值位于采样候选列表中的第一索引位置,进而可以获取位于所述采样候选列表的第一索引位置的候选深度值2k1;将候选深度值2k1作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
举例八,当前图像块为深度图中的8×8大小的图像块,当前图像块对应的解码模式为SDM,当前图像块的第一相邻预测采样点和第二相邻预测采样点均不可得,则编码端和解码端在采样候选列表中的第一索引位置写入第一预设深度值2k1,在采样候选列表中的第二索引位置写入深度值2k1。因此编码端可以将当前图像块对应的单一采样标识位置为“1”,以指示当前图像块的解码模式为SDM,将单一采样索引标识位均置为“0”,以指当前图像块的部分或者全部像素点的深度值位于所述采样候选列表中的第一索引位置。相应的,解码端根据从视频码率中解码得到的单一采样索引标识位的取值,确定当前图像块的部分或全部像素点的预测采样值位于采样候选列表中的第一索引位置,进而可以获取位于所述采样候选列表的第一索引位置的候选深度值2k1;将候选深度值2k1作为当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。
可以理解,上述举例只是为了解释说明,其中涉及的部分或全部参数的取值可根据实际需要进行调整。
下面还提供用于实施上述方案的相关装置。
参见图6,本发明实施例提供一种视频解码装置,可包括:
解码单元610、检测单元620、构建单元630和图像重构单元640。
其中,解码单元610,用于从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位。
检测单元620,用于若解码得到的所述单一采样标识位指示出所述当前图 像块对应的解码模式为单一深度帧内模式,对所述当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,所述当前图像块的可用相邻预测采样点可仅包括第一相邻预测采样点和第二相邻预测采样点。
可选的,在本发明一些可能实施方式中,第一相邻预测采样点和第二相邻预测采样点是当前图像块的预先设定的两个相邻预测采样点,因此,检测单元620可具体用于:对当前深度图中的当前图像块的设定的第一相邻预测采样点和第二相邻预测采样点进行检测。
可选的,在本发明一些可能实施方式中,检测单元620可具体用于仅对当前深度图中的当前图像块的(设定的)第一相邻预测采样点和第二相邻预测采样点进行检测。
构建单元630,用于根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述采样候选列表具有第一索引位置和第二索引位置。
其中,采样候选列表具有的索引位置的数量例如可为2或更多,例如所述采样候选列表具有第一索引位置和第二索引位置。即,采样候选列表中可记录两个候选的深度值,每个索引位置可记录一个候选的深度值。
其中,采样候选列表的数据结构可能是多种多样的,本发明实施例不限定其数据结构的具体形式。
所述解码单元610还用于从所述视频码流中解码得到所述当前图像块所对应的单一采样索引标识位。
图像重构单元640,用于根据解码得到的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表中的所述单一采样索引标识位指示的索引位置的候选深度值;将所述候选深度值作为所述当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或全部像素点的预测采样值对所述当前图像块进行重构。
可选的,在本发明一些可能实施方式中,构建单元630具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得, 将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置(所述第一相邻预测采样点的深度值和所述第二相邻预测采样点的深度值可能相等或不等);
或者,
构建单元630具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
构建单元630具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
构建单元630具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
构建单元630具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
或者,
构建单元630具体用于:若检测到所述第一相邻预测采样点可得,并且检 测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将无效深度值写入到所述采样候选列表中的第二索引位置;
或者,
构建单元630具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,在所述采样候选列表中的第二索引位置不写入任何的深度值(在这种情况下,可以认为采样候选列表中只写入了一个候选的深度值);
或者,
构建单元630具体用于:若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
可选的,在本发明一些可能实施方式中,第一预设深度值等于2k1,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。所述x1例如可以等于1、2、3、4或其他值。当然所述第一预设深度值为正整数。
可选的,在本发明一些可能实施方式中,第二预设深度值等于2k2,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数。所述x2例如可以等于1、2、3、4或其他值。当然所述第二预设深度值为正整数。
或者,所述第二预设深度值等于所述第一预设深度值;或者,所述第二预设深度值等于所述第一预设深度值加上第一调整值;或者,所述第二预设深度值等于所述第一预设深度值减去第二调整值。
可选的,第一调整值例如可等于1、2、3、4、6、10、20或其他值。第二调整值例如可等于1、2、3、4、6、11、25或其他值。
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小例如可 为n*n,所述n可为正偶数。所述第一相邻预测采样点和所述第二相邻预测采样点例如可为所述当前图像块的如下相邻预测采样点之中的任意两个:
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小为n*n,所述n为正偶数,其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
可选的,在本发明一些可能的实施方式中,
所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
或者,
所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
可以理解的是,本实施例的视频解码装置600的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
其中,视频解码装置600可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机或视频服务器等设备。
可以看出,本实施例的视频解码装置600对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;对所述视频码流中的所述当前图像块所对应的单一采样索引标识位进行解码;并根据解码出的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表 之中的所述单一采样索引标识位指示的索引位置的候选深度值,将所述候选深度值作为所述当前图像块的部分或者全部像素点的深度值,利用所述当前图像块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点这两个相邻预测采样点检测的结果构建采样候选列表,即,构建采样候选列表可以只参考两个相邻预测采样点的检测结果,简化了构建采样候选列表的过程,因此相对于传统方案,上述方案有利于降低基于SDM的解码算法的复杂度,减少存储空间的占用需求。
参见图7,本发明实施例提供一种视频编码装置700,可包括:
检测单元710、构建单元720和编码单元730。
其中,检测单元710,用于对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测。
可选的,在本发明一些可能实施方式中,第一相邻预测采样点和第二相邻预测采样点是当前图像块的预先设定的两个相邻预测采样点,因此,检测单元710可具体用于:对当前深度图中的当前图像块的设定的第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,所述当前图像块的可用相邻预测采样点可仅包括第一相邻预测采样点和第二相邻预测采样点。
可选的,在本发明一些可能实施方式中,检测单元710可具体用于:仅对当前深度图中的当前图像块的(设定的)第一相邻预测采样点和第二相邻预测采样点进行检测。
构建单元720,用于根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述采样候选列表具有第一索引位置和第二索引位置。
其中,采样候选列表具有的索引位置的数量例如可为2或更多,例如所述采样候选列表具有第一索引位置和第二索引位置。即,采样候选列表中可记录两个候选的深度值,每个索引位置可记录一个候选的深度值。
其中,采样候选列表的数据结构可能是多种多样的,本发明实施例不限定 其数据结构的具体形式。
其中,编码单元730,用于将所述当前图像块对应的单一采样标识位写入视频码流,将所述当前图像块对应的单一采样索引标识位写入所述视频码流。
其中,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置或所述第二索引位置。
可选的,在本发明一些可能的实施方式中,构建单元720具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
构建单元720可具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
构建单元720可具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
构建单元720可具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选 列表中的第二索引位置;
或者,
构建单元720可具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
或者,
构建单元720可具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将无效深度值写入到所述采样候选列表中的第二索引位置;
或者,
构建单元720可具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,在所述采样候选列表中的第二索引位置不写入任何深度值(在这种情况下,可以认为采样候选列表之中只写入了一个候选的深度值);
或者,
构建单元720可具体用于,若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
可选的,在本发明一些可能实施方式中,第一预设深度值等于2k1,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。所述x1例如可以等于1、2、3、4或其他值。当然所述第一预设深度值为正整数。
可选的,在本发明一些可能实施方式中,第二预设深度值等于2k2,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于 所述x1的正整数。所述x2例如可以等于1、2、3、4或其他值。当然所述第二预设深度值为正整数。
或者,所述第二预设深度值等于所述第一预设深度值;或者,所述第二预设深度值等于所述第一预设深度值加上第一调整值;或者,所述第二预设深度值等于所述第一预设深度值减去第二调整值。
可选的,第一调整值例如可等于1、2、3、4、6、10、20或其他值。第二调整值例如可等于1、2、3、4、6、11、25或其他值。
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小例如可为n*n,所述n可为正偶数。所述第一相邻预测采样点和所述第二相邻预测采样点例如可为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
其中,图2-a中示出,当前图像块的上边缘左方起始位置的像素点为上边缘的第0个像素点B0,当前图像块的左边缘上方起始位置的像素点为左边缘的第0个像素点A0
可选的,在本发明一些可能的实施方式中,如图2-b所示,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。或者,所述第二相邻预测采样点可以为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第一相邻预测采样点可以为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。
可选的,视频编码装置700还可包括:
测算单元740,用于在将所述当前图像块对应的单一采样索引标识位写入所述视频码流之前,利用位于所述采样候选列表中的所述第一索引位置的深度 值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的所述第二索引位置的深度值计算所述当前图像块对应的第二率失真代价;
其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第二索引位置。
当然,亦可能通过其他方式来确定所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置还是第二索引位置。例如,当位于所述采样候选列表中的第一索引位置的深度值和第二索引位置的深度值相同,则所述单一采样索引标识位可指示所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置和第二索引位置中的任意一个。
可以理解的是,本实施例的视频编码装置700的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
其中,视频编码装置700可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机或视频服务器等设备。
可以看出,本实施例的视频编码装置700对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;将所述当前图像块对应的单一采样标识位和单一采样索引标识位写入视频码流,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。其中,由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点这两个相邻预测采样点检测的结果构建采样候选列表,也就是说,构建采样候选列表可以只参考两个相邻预测采样点的检测结果,有利于简化构建采样候选列表的过程,因 此上述方案相对于传统方案(传统方案中构建采样候选列表参考当前图像块的至少5个相邻预测采样点),有利于降低基于SDM的编码算法的复杂度,减少存储空间的占用需求。
参见图8,图8是本发明的另一个实施例提供的视频编码装置800的结构框图。其中,视频编码装置800可包括:至少1个处理器801、存储器805和至少1个通信总线802。可选的,视频编码装置800还可包括:至少1个网络接口804和/或用户接口803。其中,用户接口803例如包括显示器(例如触摸屏、LCD、全息成像(Holographic)、CRT或者投影(Projector)等)、点击设备(例如鼠标或轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器805可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器805中的一部分还可以包括非易失性随机存取存储器。
在一些实施方式中,存储器805存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统8051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序模块8052,包含各种应用程序,用于实现各种应用业务。
在本发明的实施例中,通过调用存储器805存储的程序或指令,处理器801用于用于对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,所述采样候选列表具有第一索引位置和第二索引位置;将所述当前图像块对应的单一采样标识位写入视频码流,将所述当前图像块对应的单一采样索引标识位写入所述视频码流,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。
其中,所述当前图像块的可用相邻预测采样点可仅包括第一相邻预测采样点和第二相邻预测采样点。
可选的,在本发明一些可能实施方式中,第一相邻预测采样点和第二相邻 预测采样点是当前图像块的预先设定的两个相邻预测采样点,因此,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测可以包括:对当前深度图中的当前图像块的设定的第一相邻预测采样点和第二相邻预测采样点进行检测。
可选的,在本发明一些可能实施方式中,对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测,可包括:仅对当前深度图中的当前图像块的(设定的)第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,采样候选列表具有的索引位置的数量例如可为2或更多,例如所述采样候选列表具有第一索引位置和第二索引位置。即,采样候选列表中可记录两个候选的深度值,每个索引位置可记录一个候选的深度值。
其中,采样候选列表的数据结构可能是多种多样的,本发明实施例不限定其数据结构的具体形式。
其中,处理器801根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表的实现方式可能是多种多样的。其中,所述第一相邻预测采样点和所述第二相邻预测采样点可能具有相同或者不同的检测顺序。
举例来说,处理器801根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,可以包括:
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置(所述第一相邻预测采样点的深度值和所述第二相邻预测采样点的深度值可能相等或不等);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入 到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值(第一调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值(第二调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将无效深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,在所述采样候选列表中的第二索引位置不写入任何深度值(在这种情况下,可以认为采样候选列表之中只写入了一个候选的深度值);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表 中的第二索引位置记录的候选值(其中,第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可以在检测到所述第二相邻预测采样点不可得之后被写入到采样候选列表的第二索引位置);
或者,
若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值(第一预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第一索引位置,当然第一预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第一索引位置);将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第二索引位置)。
当然,亦可按照其他实现方式,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表。其中,解码端和编码端构建采样候选列表的机制可相同或类似。
可选的,在本发明一些可能实施方式中,第一预设深度值等于2k1,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。所述x1例如可以等于1、2、3、4或其他值。当然所述第一预设深度值为正整数。
可选的,在本发明一些可能实施方式中,第二预设深度值等于2k2,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数。所述x2例如可以等于1、2、3、4或其他值。当然所述第二预设深度值为正整数。
或者,所述第二预设深度值等于所述第一预设深度值;或者,所述第二预设深度值等于所述第一预设深度值加上第一调整值;或者,所述第二预设深度 值等于所述第一预设深度值减去第二调整值。
可选的,第一调整值例如可等于1、2、3、4、6、10、20或其他值。第二调整值例如可等于1、2、3、4、6、11、25或其他值。
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小例如可为n*n,所述n可为正偶数。所述第一相邻预测采样点和所述第二相邻预测采样点例如可为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
可选的,在本发明一些可能的实施方式中,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。或者,所述第二相邻预测采样点可以为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第一相邻预测采样点可以为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。
可选的,在本发明一些可能的实施方式中,将所述当前图像块对应的单一采样索引标识位写入所述视频码流之前,处理器801还用于利用位于所述采样候选列表中的第一索引位置的深度值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的第二索引位置的深度值计算所述当前图像块对应的第二率失真代价。
其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第二索引位置。
当然,处理器801亦可能通过其他方式来确定所述单一采样索引标识位指 示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置还是第二索引位置。例如,当位于所述采样候选列表中的第一索引位置的深度值和第二索引位置的深度值相同,则所述单一采样索引标识位可指示所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置和第二索引位置中的任意一个。
可以理解的是,本实施例的视频编码装置800的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
其中,视频编码装置800可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机或视频服务器等设备。
可以看出,本实施例的视频编码装置800对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;将所述当前图像块对应的单一采样标识位和单一采样索引标识位写入视频码流,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的第一索引位置或第二索引位置。其中,由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点这两个相邻预测采样点检测的结果构建采样候选列表,也就是说,构建采样候选列表可以只参考两个相邻预测采样点的检测结果,有利于简化构建采样候选列表的过程,因此上述方案相对于传统方案(传统方案中构建采样候选列表参考当前图像块的至少5个相邻预测采样点),有利于降低基于SDM的编码算法的复杂度,减少存储空间的占用需求。
参见图9,图9是本发明的另一个实施例提供的视频解码装置900的结构框图。其中,视频解码装置900可包括:至少1个处理器901、存储器905和至少1个通信总线902。可选的,视频解码装置900还可包括:至少1个网络接口904和/或用户接口903。其中,用户接口903例如包括显示器(例如触摸屏、LCD、全息成像(Holographic)、CRT或者投影(Projector)等)、点击设 备(例如鼠标或轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器905可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器905中的一部分还可以包括非易失性随机存取存储器。
在一些实施方式中,存储器905存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统9051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序模块9052,包含各种应用程序,用于实现各种应用业务。
在本发明的实施例中,通过调用存储器905存储的程序或指令,处理器901从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位;若解码得到的所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,对所述当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;从视频码流中解码得到所述当前图像块所对应的单一采样索引标识位;根据解码得到的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表中的所述单一采样索引标识位指示的索引位置的候选深度值;将所述候选深度值作为所述当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或全部像素点的预测采样值对所述当前图像块进行重构。
可选的,在本发明一些可能实施方式中,第一相邻预测采样点和第二相邻预测采样点是当前图像块的预先设定的两个相邻预测采样点,因此,处理器901可对当前深度图中的当前图像块的设定的第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,所述当前图像块的可用相邻预测采样点可仅包括第一相邻预测采样点和第二相邻预测采样点。
可选的,在本发明一些可能实施方式中,处理器901可用于仅对当前深度图中的当前图像块的(设定的)第一相邻预测采样点和第二相邻预测采样点进行检测。
其中,采样候选列表具有的索引位置的数量例如可为2或更多,例如所述采样候选列表具有第一索引位置和第二索引位置。即,采样候选列表中可记录两个候选的深度值,每个索引位置可记录一个候选的深度值。
其中,采样候选列表的数据结构可能是多种多样的,本发明实施例不限定其数据结构的具体形式。
其中,处理器901根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表的实现方式可能是多种多样的。
其中,所述第一相邻预测采样点和所述第二相邻预测采样点可能具有相同或不同的检测顺序。
举例来说,处理器901根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,可以包括:
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置(所述第一相邻预测采样点的深度值和所述第二相邻预测采样点的深度值可能相等或不等);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上 第一调整值(第一调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值(第二调整值为正整数)而得到的深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将无效深度值写入到所述采样候选列表中的第二索引位置;
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,在所述采样候选列表中的第二索引位置不写入任何的深度值(在这种情况下,可以认为采样候选列表中只写入了一个候选的深度值);
或者,
若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(其中,第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可以在检测到所述第二相邻预测采样点不可得之后被写入到采样候选列表的第二索引位置);
或者,
若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值(第一预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第一索引位置,当然第一预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后写入到采样候选列表的第一索引位置);将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值(第二预设深度值例如可以在采样候选列表的初始化过程中被写入到采样候选列表的第二索引位置,当然,第二预设深度值亦可在检测到所述第一相邻预测采样点和所述第二相邻预测采样点均不可得之后被写入到采样候选列表的第二索引位置)。
当然,处理器901亦可按照其他实现方式,根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表。其中,解码端和编码端构建采样候选列表的机制可相同或类似。
可选的,在本发明一些可能实施方式中,第一预设深度值等于2k1,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。所述x1例如可以等于1、2、3、4或其他值。当然所述第一预设深度值为正整数。
可选的,在本发明一些可能实施方式中,第二预设深度值等于2k2,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数。所述x2例如可以等于1、2、3、4或其他值。当然所述第二预设深度值为正整数。
或者,所述第二预设深度值等于所述第一预设深度值;或者,所述第二预设深度值等于所述第一预设深度值加上第一调整值;或者,所述第二预设深度值等于所述第一预设深度值减去第二调整值。
可选的,第一调整值例如可等于1、2、3、4、6、10、20或其他值。第二调整值例如可等于1、2、3、4、6、11、25或其他值。
可选的,在本发明一些可能的实施方式中,所述当前图像块的大小例如可为n*n,所述n可为正偶数。所述第一相邻预测采样点和所述第二相邻预测采样 点例如可为所述当前图像块的如下相邻预测采样点之中的任意两个:
所述当前图像块中的左上角像素点的上方相邻像素点、
所述当前图像块中的左上角像素点的左方相邻像素点、
所述当前图像块中的左上角像素点的左上方相邻像素点、
所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
其中,图2-a中示出,当前图像块的上边缘左方起始位置的像素点为上边缘的第0个像素点B0,当前图像块的左边缘上方起始位置的像素点为左边缘的第0个像素点A0。
可选的,在本发明一些可能的实施方式中,如图2-b所示,所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。或者,所述第二相邻预测采样点可以为所述当前图像块的上边缘的第(n+2)/2个像素点Bn/2的上方相邻像素点,所述第一相邻预测采样点可以为所述当前图像块的左边缘的第(n+2)/2个像素点An/2的左方相邻像素点。
可以理解的是,本实施例的视频解码装置900的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
其中,视频解码装置900可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机或视频服务器等设备。
可以看出,本实施例的视频解码装置900对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表;对所述视频码流中的所述当前图像块所对应的单一采样索引标识位进行解码;并根据解码出的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表之中的所述单一采样索引标识位指示的索引位置的候选深度值,将所述候选深度值作为所述当前图像块的部分或者全部像素点的深度值,利用所述当前图像 块的所述部分或者全部像素点的深度值对所述当前图像块进行重构。由于是根据对所述第一相邻预测采样点和所述第二相邻预测采样点这两个相邻预测采样点检测的结果构建采样候选列表,即,构建采样候选列表可以只参考两个相邻预测采样点的检测结果,简化了构建采样候选列表的过程,因此相对于传统方案,上述方案有利于降低基于SDM的解码算法的复杂度,减少存储空间的占用需求。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (26)

  1. 一种三维视频解码方法,其特征在于,包括:
    从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位;
    若解码得到的所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,对所述当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点;
    从所述视频码流中解码得到所述当前图像块所对应的单一采样索引标识位;
    根据解码得到的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表中的所述单一采样索引标识位指示的索引位置的候选深度值;将所述候选深度值作为所述当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或全部像素点的预测采样值对所述当前图像块进行重构。
  2. 根据权利要求1所述的方法,其特征在于,
    所述根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,包括:
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
    或者,
    若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
  3. 根据权利要求2所述的方法,其特征在于,
    所述第一预设深度值等于2k1,其中,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或者等于255,所述x1为正整数。
  4. 根据权利要求2或3所述的方法,其特征在于,
    所述第二预设深度值等于2k2,其中,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或者等于255,所述x2为不等于所述x1的正整数;
    或者,
    所述第二预设深度值等于所述第一预设深度值;
    或者,
    所述第二预设深度值等于所述第一预设深度值加上第一调整值;
    或者,
    所述第二预设深度值等于所述第一预设深度值减去第二调整值。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述当前图像块的大小为n*n,所述n为正偶数,
    其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
    所述当前图像块中的左上角像素点的上方相邻像素点、
    所述当前图像块中的左上角像素点的左方相邻像素点、
    所述当前图像块中的左上角像素点的左上方相邻像素点、
    所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
  6. 根据权利要求5所述的方法,其特征在于,
    所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
    或者,
    所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
  7. 一种三维视频编码方法,其特征在于,包括:
    对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测,其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点;
    根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述采样候选列表具有第一索引位置和第二索引位 置;
    将所述当前图像块对应的单一采样标识位写入视频码流,将所述当前图像块对应的单一采样索引标识位写入所述视频码流,其中,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置或所述第二索引位置。
  8. 根据权利要求7所述的方法,其特征在于,
    所述根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,包括:
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
    或者,
    若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
  9. 根据权利要求8所述的方法,其特征在于,
    所述第一预设深度值等于2k1,其中,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。
  10. 根据权利要求8或9所述的方法,其特征在于,
    所述第二预设深度值等于2k2,其中,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数;
    或者,
    所述第二预设深度值等于所述第一预设深度值;
    或者,
    所述第二预设深度值等于所述第一预设深度值加上第一调整值;
    或者,
    所述第二预设深度值等于所述第一预设深度值减去第二调整值。
  11. 根据权利要求7至10任一项所述的方法,其特征在于,所述当前图像块的大小为n*n,所述n为正偶数,
    其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
    所述当前图像块中的左上角像素点的上方相邻像素点、
    所述当前图像块中的左上角像素点的左方相邻像素点、
    所述当前图像块中的左上角像素点的左上方相邻像素点、
    所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
  12. 根据权利要求11所述的方法,其特征在于,
    所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
    或者,
    所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
  13. 根据权利要求7至12任一项所述的方法,其特征在于,将所述当前图像块对应的单一采样索引标识位写入所述视频码流之前,还包括:利用位于所述采样候选列表中的所述第一索引位置的深度值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的所述第二索引位置的深度值计算所述当前图像块对应的第二率失真代价;
    其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第二索引位置。
  14. 一种视频解码装置,其特征在于,包括:
    解码单元,用于从视频码流中解码得到当前深度图中的当前图像块所对应的单一采样标识位;
    检测单元,用于若解码得到的所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,对所述当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测;其中,所述当前图像块的 可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点;
    构建单元,用于根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述采样候选列表具有第一索引位置和第二索引位置;
    所述解码单元还用于从所述视频码流中解码得到所述当前图像块所对应的单一采样索引标识位;
    图像重构单元,用于根据解码得到的所述单一采样索引标识位指示的索引位置,获取位于所述采样候选列表中的所述单一采样索引标识位指示的索引位置的候选深度值;将所述候选深度值作为所述当前图像块的部分或全部像素点的预测采样值,利用所述当前图像块的所述部分或全部像素点的预测采样值对所述当前图像块进行重构。
  15. 根据权利要求14所述的视频解码装置,其特征在于,
    所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    所述构建单元具体用于:若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值;
    或者,
    所述构建单元具体用于:若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
  16. 根据权利要求15所述的视频解码装置,其特征在于,
    所述第一预设深度值等于2k1,其中,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或者等于255,所述x1为正整数。
  17. 根据权利要求15或16所述的视频解码装置,其特征在于,
    所述第二预设深度值等于2k2,其中,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或者等于255,所述x2为不等于所述x1的正整数;
    或者,
    所述第二预设深度值等于所述第一预设深度值;
    或者,
    所述第二预设深度值等于所述第一预设深度值加上第一调整值;
    或者,
    所述第二预设深度值等于所述第一预设深度值减去第二调整值。
  18. 根据权利要求14至17任一项所述的视频解码装置,其特征在于,所述当前图像块的大小为n*n,所述n为正偶数,
    其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
    所述当前图像块中的左上角像素点的上方相邻像素点、
    所述当前图像块中的左上角像素点的左方相邻像素点、
    所述当前图像块中的左上角像素点的左上方相邻像素点、
    所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
  19. 根据权利要求18所述的视频解码装置,其特征在于,
    所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
    或者,
    所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
  20. 一种视频编码装置,其特征在于,包括:
    检测单元,用于对当前深度图中的当前图像块的第一相邻预测采样点和第二相邻预测采样点进行检测,其中,所述当前图像块的可用相邻预测采样点仅包括第一相邻预测采样点和第二相邻预测采样点;
    构建单元,用于根据对所述第一相邻预测采样点和所述第二相邻预测采样点检测的结果构建采样候选列表,其中,所述采样候选列表具有第一索引位置和第二索引位置;
    编码单元,用于将所述当前图像块对应的单一采样标识位写入视频码流,将所述当前图像块对应的单一采样索引标识位写入所述视频码流,
    其中,所述单一采样标识位指示出所述当前图像块对应的解码模式为单一深度帧内模式,所述单一采样索引标识位指示出所述当前图像块的部分或全部 像素点的预测采样值位于所述采样候选列表中的所述第一索引位置或所述第二索引位置。
  21. 根据权利要求20所述的视频编码装置,其特征在于,
    所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第二相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将所述第一相邻预测采样点的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值加上第一调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置,将所述第一相邻预测采样点的深度值减去第二调整值而得到的深度值写入到所述采样候选列表中的第二索引位置;
    或者,
    所述构建单元具体用于,若检测到所述第一相邻预测采样点可得,并且检测到所述第二相邻预测采样点不可得,将所述第一相邻预测采样点的深度值写入到所述当前图像块对应的采样候选列表中的第一索引位置;将第二预设深度 值作为所述采样候选列表中的第二索引位置记录的候选值;
    或者,
    所述构建单元具体用于,若检测到所述第一相邻预测采样点不可得,并且检测到所述第二相邻预测采样点不可得,将第一预设深度值作为所述当前图像块对应的采样候选列表中的第一索引位置记录的候选值;将第二预设深度值作为所述采样候选列表中的第二索引位置记录的候选值。
  22. 根据权利要求21所述的视频编码装置,其特征在于,
    所述第一预设深度值等于2k1,其中,所述k1等于g_bitDepthY-x1,所述g_bitDepthY等于编码比特位数,所述第一预设深度值小于或等于255,所述x1为正整数。
  23. 根据权利要求21或22所述的视频编码装置,其特征在于,
    所述第二预设深度值等于2k2,其中,所述k2等于g_bitDepthY-x2,所述第二预设深度值小于或等于255,所述x2为不等于所述x1的正整数;
    或者,
    所述第二预设深度值等于所述第一预设深度值;
    或者,
    所述第二预设深度值等于所述第一预设深度值加上第一调整值;
    或者,
    所述第二预设深度值等于所述第一预设深度值减去第二调整值。
  24. 根据权利要求20至23任一项所述的视频编码装置,其特征在于,所述当前图像块的大小为n*n,所述n为正偶数,
    其中,所述第一相邻预测采样点和所述第二相邻预测采样点为所述当前图像块的如下相邻预测采样点之中的任意两个:
    所述当前图像块中的左上角像素点的上方相邻像素点、
    所述当前图像块中的左上角像素点的左方相邻像素点、
    所述当前图像块中的左上角像素点的左上方相邻像素点、
    所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点和所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
  25. 根据权利要求24所述的视频编码装置,其特征在于,
    所述第一相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第二相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点;
    或者,
    所述第二相邻预测采样点为所述当前图像块的上边缘的第(n+2)/2个像素点的上方相邻像素点,所述第一相邻预测采样点为所述当前图像块的左边缘的第(n+2)/2个像素点的左方相邻像素点。
  26. 根据权利要求20至25任一项所述的视频编码装置,其特征在于,所述视频编码装置还包括:
    测算单元,用于在将所述当前图像块对应的单一采样索引标识位写入所述视频码流之前,利用位于所述采样候选列表中的所述第一索引位置的深度值计算所述当前图像块对应的第一率失真代价;利用位于所述采样候选列表中的所述第二索引位置的深度值计算所述当前图像块对应的第二率失真代价;
    其中,若所述第一率失真代价小于或等于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第一索引位置;若所述第一率失真代价大于所述第二率失真代价,所述单一采样索引标识位指示出所述当前图像块的部分或全部像素点的预测采样值位于所述采样候选列表中的所述第二索引位置。
PCT/CN2015/084074 2014-10-10 2015-07-15 三维图像编码方法和三维图像解码方法及相关装置 WO2016054937A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP15848924.5A EP3099071A4 (en) 2014-10-10 2015-07-15 Three-dimensional image coding method, three-dimensional image decoding method and related device
US15/362,448 US10116965B2 (en) 2014-10-10 2016-11-28 Three-dimensional video encoding method, three-dimensional video decoding method, and related apparatus
US16/113,531 US10397612B2 (en) 2014-10-10 2018-08-27 Three-dimensional video encoding method, three-dimensional video decoding method, and related apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410531608.7A CN104333760B (zh) 2014-10-10 2014-10-10 三维图像编码方法和三维图像解码方法及相关装置
CN201410531608.7 2014-10-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/362,448 Continuation US10116965B2 (en) 2014-10-10 2016-11-28 Three-dimensional video encoding method, three-dimensional video decoding method, and related apparatus

Publications (1)

Publication Number Publication Date
WO2016054937A1 true WO2016054937A1 (zh) 2016-04-14

Family

ID=52408399

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/084074 WO2016054937A1 (zh) 2014-10-10 2015-07-15 三维图像编码方法和三维图像解码方法及相关装置

Country Status (4)

Country Link
US (2) US10116965B2 (zh)
EP (1) EP3099071A4 (zh)
CN (1) CN104333760B (zh)
WO (1) WO2016054937A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106803962A (zh) * 2017-02-16 2017-06-06 南京理工大学 基于贝叶斯准则的3d视频深度图帧内预测模式选择方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397611B2 (en) * 2014-10-08 2019-08-27 Lg Electronics Inc. Method and device for encoding/decoding 3D video
CN104333760B (zh) 2014-10-10 2018-11-06 华为技术有限公司 三维图像编码方法和三维图像解码方法及相关装置
KR20180000303A (ko) * 2016-06-22 2018-01-02 한국전자통신연구원 화면 내 예측 방법 및 장치
BR112020024052A2 (pt) 2018-06-13 2021-02-09 Panasonic Intellectual Property Corporation Of America método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
CN109361924B (zh) * 2018-10-26 2020-11-10 西安科锐盛创新科技有限公司 图像编码方法及装置
CN109547780B (zh) * 2018-10-26 2020-06-23 武汉天娱动画设计有限公司 图像编码方法及装置
JP7224892B2 (ja) * 2018-12-18 2023-02-20 ルネサスエレクトロニクス株式会社 動画像符号化装置及びその動作方法、動画像符号化装置を搭載する車両
EP3989547A4 (en) * 2019-06-21 2023-04-19 Samsung Electronics Co., Ltd. VIDEO ENCODING METHOD AND DEVICE, AND VIDEO DECODER METHOD AND DEVICE
JP7552988B2 (ja) * 2019-06-21 2024-09-18 インターデジタル ヴイシー ホールディングス, インコーポレイテッド オプティカルフローによる動き補償のための精度精緻化

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102017628A (zh) * 2008-04-25 2011-04-13 汤姆逊许可证公司 深度信号的编码
US20130176390A1 (en) * 2012-01-06 2013-07-11 Qualcomm Incorporated Multi-hypothesis disparity vector construction in 3d video coding with depth
CN104333760A (zh) * 2014-10-10 2015-02-04 华为技术有限公司 三维图像编码方法和三维图像解码方法及相关装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2721825A4 (en) 2011-06-15 2014-12-24 Mediatek Inc METHOD AND DEVICE FOR MOTION AND DISPARITY VECTOR PREDICTION AND COMPENSATION IN 3D VIDEO CODING
AU2012323631B2 (en) * 2011-10-11 2015-09-17 Mediatek Inc. Method and apparatus of motion and disparity vector derivation for 3D video coding and HEVC
CN104412597B (zh) 2012-07-05 2017-09-08 联发科技股份有限公司 用于3d视频编码的统一视差矢量推导的方法及装置
CN106105195B (zh) * 2014-03-11 2019-06-21 寰发股份有限公司 用于视频编码的单一样本模式的方法及装置
CN106664414B (zh) * 2014-06-19 2019-07-05 寰发股份有限公司 视频编码中用于单个样本模式的候选生成的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102017628A (zh) * 2008-04-25 2011-04-13 汤姆逊许可证公司 深度信号的编码
US20130176390A1 (en) * 2012-01-06 2013-07-11 Qualcomm Incorporated Multi-hypothesis disparity vector construction in 3d video coding with depth
CN104333760A (zh) * 2014-10-10 2015-02-04 华为技术有限公司 三维图像编码方法和三维图像解码方法及相关装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHEN, YIWEN ET AL.: "3D-CE2: Single depth intra mode for 3D-HEVC", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSIONS OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 9 July 2014 (2014-07-09), pages 1 - 2, XP030132396 *
See also references of EP3099071A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106803962A (zh) * 2017-02-16 2017-06-06 南京理工大学 基于贝叶斯准则的3d视频深度图帧内预测模式选择方法
CN106803962B (zh) * 2017-02-16 2019-10-18 南京理工大学 基于贝叶斯准则的3d视频深度图帧内预测模式选择方法

Also Published As

Publication number Publication date
US10116965B2 (en) 2018-10-30
CN104333760B (zh) 2018-11-06
CN104333760A (zh) 2015-02-04
US20180367813A1 (en) 2018-12-20
US10397612B2 (en) 2019-08-27
EP3099071A4 (en) 2017-03-22
EP3099071A1 (en) 2016-11-30
US20170078701A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
WO2016054937A1 (zh) 三维图像编码方法和三维图像解码方法及相关装置
US10659803B2 (en) Picture prediction method and related apparatus
US11968386B2 (en) Picture prediction method and related apparatus
JP7216351B2 (ja) 点群符号化構造
US10827194B2 (en) Picture prediction method and related apparatus
US20190098312A1 (en) Image prediction method and related device
KR20130062109A (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2016065872A1 (zh) 图像预测方法及相关装置
US20190141287A1 (en) Using low-resolution frames to increase frame rate of high-resolution frames
WO2015188297A1 (zh) 加权跳过模式的视频图像块压缩算术编解码方法及装置
US10397609B2 (en) Method and apparatus for predicting residual
BR112017007399B1 (pt) Método de predição de imagem e aparelho relacionado
BR122023012613B1 (pt) Método de predição de imagem e dispositivo relacionado
BR112017006017B1 (pt) Método de predição de imagem e aparelho relacionado

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015848924

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015848924

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE