WO2016155576A1 - 图像编解码方法和相关装置 - Google Patents

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

Info

Publication number
WO2016155576A1
WO2016155576A1 PCT/CN2016/077396 CN2016077396W WO2016155576A1 WO 2016155576 A1 WO2016155576 A1 WO 2016155576A1 CN 2016077396 W CN2016077396 W CN 2016077396W WO 2016155576 A1 WO2016155576 A1 WO 2016155576A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
current image
random access
current
access point
Prior art date
Application number
PCT/CN2016/077396
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 EP16771331.2A priority Critical patent/EP3264767B1/en
Priority to KR1020177027420A priority patent/KR102114715B1/ko
Priority to JP2017551284A priority patent/JP6549246B2/ja
Priority to EP20208246.7A priority patent/EP3866469A1/en
Publication of WO2016155576A1 publication Critical patent/WO2016155576A1/zh
Priority to US15/711,555 priority patent/US10917638B2/en
Priority to US17/167,072 priority patent/US11303888B2/en
Priority to US17/689,724 priority patent/US11889058B2/en
Priority to US18/395,726 priority patent/US20240129455A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/172Methods 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 picture, frame or field
    • 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames

Definitions

  • the present invention relates to the field of image processing technologies, and in particular, to an image encoding method, an image decoding method, and related devices.
  • some random access points are inserted in the encoded video.
  • the video is divided into random video segments by random access points, which may be referred to as random access segments, and a random access segment includes one or more pictures.
  • the image in a random access segment may be intra-coded (Intra coding), or the other images in the random access segment may be encoded by using inter prediction, which is referred to as inter coding.
  • an image in a random access segment can only serve as a reference picture (reference picture/frame) of other images in the random access segment, that is, inter prediction (inter prediction) across random access points is not allowed, which
  • inter prediction inter prediction
  • Embodiments of the present invention provide an image encoding/decoding method and related apparatus, in order to improve the efficiency of video encoding/decoding.
  • a first aspect of the embodiments of the present invention provides an image decoding method, including:
  • Obtaining a current image selecting K reference images of the current image from a knowledge base, at least one image of the knowledge base does not belong to a random access segment where the current image is located, and the K is greater than or equal to 1.
  • An integer decoding the current image according to the K reference images.
  • the at least one image in the knowledge base is obtained by decoding a second video code stream.
  • the selecting the K reference image of the current image from the knowledge base includes: Deriving a reference image of the current image decoded in the first video code stream to which the current image belongs Indexing, selecting K reference images of the current image from the knowledge base.
  • the reference image that matches the reference image index is a reconstructed image before the random access segment where the current image is located .
  • the method further includes: if the second video A reference image matching the reference image index is not found in the code stream, and a second video code stream incremental code stream including a reference image matching the reference image index is requested from the server, and the second video code stream is decoded.
  • the incremental code stream is obtained to obtain a reference image that matches the reference image index, and the obtained reference image that matches the reference image index is used as a reference image of the current image.
  • the reference image index of the current image indicates a number of the reference image, an image feature of the reference image, and/or an image feature of the current image.
  • the K reference image if the reference image index indicates an image feature of the current image, the K reference image The image features match the image features of the current image.
  • the image feature comprises a scale-invariant conversion feature SIFT And/or accelerate the robust feature SURF.
  • the knowledge base includes a key image in the video sequence to which the current image belongs, and the key image in the video sequence to which the current image belongs includes a scene switching image or/and a background image in the video sequence to which the current image belongs.
  • the scene switching image by decoding the second video code stream or the first video code to which the current image belongs Obtained by the stream, or the background image is decoded by decoding the second video stream or the current image
  • the first video stream of the genus is obtained, or the background image is obtained by performing background modeling on the decoded video sequence in the first video code stream to which the current image belongs.
  • the Decoding the current image by the reference image includes adding the K reference image to a reference image queue of the current image, and decoding the current image according to a reference image in the reference image queue.
  • the current image is located
  • the random access segment includes: in a decoding order, an image before the random access point from the most recent random access point before the current image in the video layer where the current image is located, wherein the current image
  • the random access segment includes an image of the nearest random access point before the current image, but does not include an image of the nearest random access point after the current image;
  • the random access segment in which the current image is located includes: in the decoding order, among the video layers in which the current image is located, from the most recent random access point before the current image to the An image before the nearest random access point after the current image, and in the decoding order, the video layer in which the X reference images of the current image are located, from the most recent random access point before the X reference images to the An image before the nearest random access point after the X reference images, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image An image of the point; the random access segment where the current image is located contains an image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, the X The reference image is a reference image of other video layers of the current image that are outside the dependent layer.
  • a second aspect of the embodiments of the present invention provides an image coding method, including:
  • Obtaining a current image selecting K reference images of the current image from a knowledge base, at least one image of the knowledge base does not belong to a random access segment where the current image is located, and the K is greater than or equal to 1.
  • An integer encoding the current image according to the K reference images.
  • the image features of the K reference images match the image features of the current image.
  • the image feature comprises a scale invariant transition feature SIFT and/or an accelerated robust feature SURF.
  • the knowledge base includes a key image in the video sequence to which the current image belongs, and the key image in the video sequence to which the current image belongs includes a scene switching image or/and a background image in the video sequence to which the current image belongs.
  • the scene switching image is obtained by performing scene switching detection on a video sequence to which the current image belongs, or
  • the background image is obtained by performing background modeling on a video sequence to which the current image belongs.
  • the knowledge base At least one image is decoded by the second video code stream, or at least one of the knowledge bases is decoded by the first video code stream encoded by the current image.
  • the random access segment in which the current image is located includes: in a decoding order, an image before the random access point from the most recent random access point before the current image to the most recent random access point after the current image in the video layer where the current image is located, where And the random access segment where the current image is located includes an image of a random access point that is closest to the current image, but does not include an image of a random access point that is closest to the current image; or
  • the random access segment in which the current image is located includes: in the decoding order, among the video layers in which the current image is located, from the most recent random access point before the current image to the An image before the nearest random access point after the current image, and in the decoding order, the video layers in which the X reference images of the current image are located, from the X reference images
  • the pre-nearest random access point starts to an image before the nearest random access point after the X reference images, wherein the random access segment where the current image is located contains an image of the nearest random access point before the current image, but not An image of a random access point that is closest to the current image; the random access segment where the current image is located contains an image of the nearest random access point before the X reference images, but does not include the X reference image An image of a random access point, the X reference images being reference images of other video layers of the current image that are outside the dependent layer.
  • a third aspect of the embodiments of the present invention provides an image decoding apparatus, including:
  • a reference unit configured to select K reference images of the current image from a knowledge base, at least one of the knowledge bases does not belong to a random access segment where the current image is located, and the K is greater than or equal to 1 Integer
  • a decoding unit configured to decode the current image according to the K reference image.
  • the at least one image in the knowledge base is obtained by decoding the second video code stream.
  • the reference unit is specifically configured to: based on the first video that belongs to the current image And a reference image index of the current image decoded in the code stream, and selecting K reference images of the current image from the knowledge base.
  • the reference image that matches the reference image index is a reconstructed image before the random access segment where the current image is located .
  • the reference unit is further configured to: A reference image matching the reference image index is not found in the second video code stream, and a second video code stream incremental code stream including a reference image matching the reference image index is requested from the server, and the second video is decoded.
  • the code stream increments the code stream to obtain a reference image that matches the reference image index, and the obtained reference image that matches the reference image index is used as a reference image of the current image.
  • the reference image index of the current image indicates a number of the reference image, an image feature of the reference image, and/or Or an image feature of the current image.
  • the K reference image if the reference image index indicates an image feature of the current image, the K reference image The image features match the image features of the current image.
  • the image feature comprises a scale invariant conversion feature SIFT And/or accelerate the robust feature SURF.
  • the knowledge base includes The key image in the video sequence to which the current image belongs, and the key image in the video sequence to which the current image belongs includes a scene switching image or/and a background image in the video sequence to which the current image belongs.
  • the scene switching image is configured by decoding a second video code stream or a first video code to which the current image belongs Obtaining, or the background image is obtained by decoding a second video code stream or a first video code stream to which the current image belongs, or the background image is by using a first video code stream to which the current image belongs
  • the decoded video sequence in is obtained by background modeling.
  • the decoding unit is specifically used And adding the K reference image to a reference image queue of the current image, and decoding the current image according to a reference image in the reference image queue.
  • the current image is located
  • the random access segment includes: in a decoding order, an image before the random access point from the most recent random access point before the current image in the video layer where the current image is located, wherein the current image
  • the random access segment includes an image of the nearest random access point before the current image, but does not include an image of the nearest random access point after the current image;
  • the random access segment in which the current image is located includes: in the decoding order, among the video layers in which the current image is located, from the most recent random access point before the current image to the An image before the nearest random access point after the current image, and in the decoding order, the video layer in which the X reference images of the current image are located, from the most recent random access point before the X reference images to the An image before the nearest random access point after the X reference images, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image An image of the point; the random access segment where the current image is located contains an image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, the X The reference image is a reference image of other video layers of the current image that are outside the dependent layer.
  • a fourth aspect of the embodiments of the present invention provides an image encoding apparatus, including:
  • a reference unit configured to select K reference images of the current image from a knowledge base, at least one of the knowledge bases does not belong to a random access segment where the current image is located, and the K is greater than or equal to 1 Integer
  • a coding unit configured to encode the current image according to the K reference image.
  • the image features of the K reference images match the image features of the current image.
  • the image feature comprises a scale invariant transition feature SIFT and/or an accelerated robust feature SURF.
  • the knowledge base includes The key image in the video sequence to which the current image belongs, and the key image in the video sequence to which the current image belongs includes a scene switching image or/and a background image in the video sequence to which the current image belongs.
  • the scene switching image is obtained by performing scene switching detection on a video sequence to which the current image belongs, or
  • the background image is background by a video sequence to which the current image belongs Modeled to get.
  • At least one image is decoded by the second video code stream, or at least one of the knowledge bases is decoded by the first video code stream encoded by the current image.
  • the random access segment in which the current image is located includes: in a decoding order, an image before the random access point from the most recent random access point before the current image to the most recent random access point after the current image in the video layer where the current image is located, where And the random access segment where the current image is located includes an image of a random access point that is closest to the current image, but does not include an image of a random access point that is closest to the current image; or
  • the random access segment in which the current image is located includes: in the decoding order, among the video layers in which the current image is located, from the most recent random access point before the current image to the An image before the nearest random access point after the current image, and in the decoding order, the video layer in which the X reference images of the current image are located, from the most recent random access point before the X reference images to the An image before the nearest random access point after the X reference images, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image An image of the point; the random access segment where the current image is located contains an image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, the X The reference image is a reference image of other video layers of the current image that are outside the dependent layer.
  • a fifth aspect of the embodiments of the present application provides an image decoding apparatus.
  • the image decoding device includes a memory and a processor coupled to the memory.
  • the memory is for storing instructions for the processor to execute the instructions.
  • the method of the first aspect may be performed in accordance with the instructions when the processor is executing the instructions.
  • a sixth aspect of embodiments of the present application provides a computer readable storage medium storing program code for image decoding.
  • the program code includes for execution The instructions of the method in the first aspect.
  • a seventh aspect of the embodiments of the present application further provides an image decoding apparatus.
  • the unit included in the image decoding device is capable of performing the method in the first aspect.
  • an eighth aspect of the embodiments of the present application provides an image encoding apparatus.
  • the image encoding device includes a memory and a processor coupled to the memory.
  • the memory is for storing instructions for the processor to execute the instructions.
  • the method of the second aspect may be performed in accordance with the instructions when the processor is executing the instructions.
  • a ninth aspect of embodiments of the present application provides a computer readable storage medium storing program code for image encoding.
  • the program code includes instructions for performing the method of the second aspect.
  • a tenth aspect of the embodiment of the present application further provides an image encoding apparatus.
  • the unit included in the image encoding device is capable of performing the method in the second aspect.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is encoded according to the K reference image, because the above knowledge base
  • At least one of the images does not belong to the random access segment in which the current image is located, that is, at least one image that does not belong to the random access segment in which the current image is located may serve as a candidate reference image of the current image, which does not belong to the above
  • the image of the random access segment where the current image is located may also be selected as the reference image of the current image, which to some extent breaks the limitation of the reference image candidate range of the current image in the conventional technology, since the above scheme is extended to some extent.
  • the candidate range of the reference image of the current image is advantageous to improve the efficiency of video coding to some extent.
  • FIG. 1 is a schematic diagram showing the division of several image blocks according to an embodiment of the present invention.
  • FIG. 1 is a schematic flowchart of an image encoding method according to an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of an image decoding method according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of an image decoding method according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of an image decoding system architecture according to an embodiment of the present disclosure.
  • FIG. 3 - FIG. 3 - FIG. 3 - d are schematic diagrams showing two other definitions of random access segments according to an embodiment of the present disclosure
  • 3e to 3f are schematic diagrams showing architectures of two other image decoding systems according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of an image decoding method according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic diagram of another image decoding system architecture according to an embodiment of the present disclosure.
  • FIG. 5-a is a schematic flowchart diagram of another image encoding method according to an embodiment of the present disclosure.
  • FIG. 5-b to FIG. 5-d are schematic diagrams showing architectures of two image coding systems according to an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of an image decoding apparatus according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic flowchart diagram of another image decoding apparatus according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic flowchart diagram of an image coding apparatus according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic flowchart diagram of another image encoding apparatus according to an embodiment of the present invention.
  • Embodiments of the present invention provide an image encoding/decoding method and related apparatus, in order to improve the efficiency of video encoding/decoding.
  • the video sequence consists of a series of pictures (English: picture), the picture is further divided into slices (English: slice), and the slice is further divided into blocks (English: block).
  • the video coding is performed in units of blocks, and can be encoded from left to right and from top to bottom line from the upper left corner position of the picture.
  • the concept of block is further extended.
  • macroblocks in the standard English: macroblock, abbreviation: MB
  • the MB can be further divided into multiple prediction blocks (English: partition) that can be used for predictive coding.
  • coding unit English: coding unit, abbreviation: CU
  • prediction unit English: prediction unit, abbreviation: PU
  • transform unit English: transform unit, abbreviation: TU
  • CU PU or TU
  • the PU is the basic unit of predictive coding.
  • the CU is further divided into a plurality of PUs according to a division mode.
  • the TU is the basic unit for transforming the prediction residual.
  • High-performance video coding English: high efficiency video coding, abbreviated: HEVC
  • coding tree unit English: coding tree unit, abbreviation: CTU
  • the size of a coding unit may include four levels of 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, and 8 ⁇ 8, and coding units of each level may be divided into different according to intra prediction and inter prediction.
  • the size of the prediction unit. 1 - a and FIG. The corresponding prediction unit division method.
  • the H264/advanced video coding (AVC) standard skip mode and direct mode are effective tools for improving coding efficiency, and are used at low bit rates.
  • the blocks of the two coding modes can account for more than half of the entire coding sequence.
  • the skip mode it is only necessary to pass a skip mode flag in the code stream, and the motion vector of the current image block can be derived by using the peripheral motion vector, and the value of the reference block is directly copied according to the motion vector as the current image. The reconstructed value of the block.
  • the encoder can derive the motion vector of the current image block by using the peripheral motion vector, and directly copy the value of the reference block as the predicted value of the current image block according to the motion vector, and the encoding end uses the predicted value to the current value.
  • the image block is encoded and predicted.
  • high-performance video coding English: high efficiency video coding, abbreviation: HEVC
  • HEVC high efficiency video coding
  • AMVP adaptive motion vector prediction
  • a fusion code constructs a candidate motion information set by using motion information of a coded block around the current coding block (which may include a motion vector (English: motion vector, abbreviation: MV) and a prediction direction and a reference frame index, etc.)
  • the candidate motion information with the highest coding efficiency may be selected as the motion information of the current coding block, the prediction value of the current coding block is found in the reference frame, and the current coding block is predictively coded, and at the same time, the peripheral coded block from which the representation is selected may be selected.
  • the index value of the motion information is written to the code stream.
  • the adaptive motion vector prediction mode when used, by using the motion vector of the peripheral coded block as the predicted value of the current coded block motion vector, a motion vector with the highest coding efficiency may be selected to predict the motion vector of the current coded block, and An index value indicating which peripheral motion vector is selected is written to the video stream.
  • the image encoding method provided by the embodiment of the present invention is described below.
  • the execution body of the image encoding method provided by the embodiment of the present invention is an image encoding device, where the image encoding device can be any device that needs to output or store video, such as a notebook computer. , devices such as tablets, PCs, mobile phones or video servers.
  • An image encoding method may include: acquiring a current image; selecting K reference images of the current image from the knowledge base, wherein at least one of the knowledge bases does not belong to a random access segment where the current image is located, the K An integer greater than or equal to 1; the current image is encoded according to the K reference image described above.
  • FIG. 1-c is a schematic flowchart of an image encoding method according to an embodiment of the present invention.
  • an image encoding method provided by an embodiment of the present invention may include:
  • the knowledge base may be regarded as a set of images of candidate reference images that can accommodate the current image, and some or all of the images in the knowledge base may be selected as reference images of the current image.
  • the image in the knowledge base may be The original image may also be a reconstructed image.
  • At least one image in the knowledge base does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image.
  • any one of the K reference images may belong to the random access of the current image. Fragment.
  • the K reference image may be all reference images of the current image, or may be part of the reference image of the current image.
  • K can be, for example, equal to 9, 1, 2, 3, 4, 5, 8, 10, 20, 30, 43, 50 or other positive integers.
  • the random access segments in which the current image is located may be different in different scenarios.
  • the random access segment in which the current image is located may include: in the decoding order, in the video layer where the current image is located, from the current The image of the random access point before the current image is the image of the random access point before the current image, and the image of the random access point of the current image before the current image includes the image of the nearest random access point before the current image, but does not include the current image The image of the most recent random access point.
  • the random access segment of the current image includes: in the decoding order, the video layer in which the current image is located, from the most recent random access point before the current image to the most recent after the current image
  • An image before the random access point, wherein the random access segment in which the current image is located includes an image of a random access point closest to the current image, but does not include an image of a random access point after the current image; the random access of the current image
  • the segment includes an image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, and the X reference images are other than the dependent layer of the current image.
  • the reference image of the video layer includes: in the decoding order, the video layer in which the current image is located, from the most recent random access point before
  • X is an integer greater than or equal to 1.
  • X may be equal to 9, for example, 9, 2, 3, 4, 5, 7, 11, 20, 30, 43, 50 or other positive integers.
  • the encoding the current image according to the K reference image may include: predicting the current image according to the K reference image to obtain a predicted pixel value of the current image, and obtaining the original pixel value and the predicted pixel value of the current image.
  • the prediction residual of the current image, the prediction residual of the current image block is written into the first video code stream.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is encoded according to the K reference image, due to the above knowledge.
  • At least one image in the library does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image, which does not belong to
  • the image of the random access segment in which the current image is located may also be selected as the reference image of the current image, which to some extent breaks the limitation of the reference image candidate range of the current image in the conventional technology, because the above scheme is extended to some extent.
  • the candidate range of the reference image of the current image is further beneficial to improve the efficiency of video coding to some extent.
  • the K reference image of the current image may be selected from the knowledge base based on a preset policy.
  • the image features of the K reference images are matched with the image features of the current image, wherein the image features of the K reference images match the image features of the current image may specifically refer to the images of the K reference images.
  • the similarity of the feature to the image feature of the current image above exceeds a set threshold, wherein the set threshold may be, for example, 0.85 or 70%, 81%, 88%, or other value that satisfies the requirements.
  • the similarity is, for example, a linear correlation between two image feature vectors, or a reciprocal of the maximum difference between each of the two image feature vectors, or a reciprocal of the Hamming distance between the two image feature vectors.
  • the image features may include, for example, a Scale-invariant feature transform (SIFT) and/or an Image Acceleration Feature (SURF). ), of course, may include other images feature.
  • SIFT Scale-invariant feature transform
  • SURF Image Acceleration Feature
  • the image included in the knowledge base may be various.
  • the knowledge base may include a reconstructed image obtained by compression-coding a key image in a video sequence to which the current image belongs, and the current image belongs to a video sequence.
  • the key image may include a scene cut image or/and a background image within the video sequence to which the current image belongs.
  • the above scene switching image or/and background image can be obtained in various ways.
  • the scene switching image may be obtained by performing scene switching detection on the video sequence to which the current image belongs, or the background image may be obtained by performing background modeling on the video sequence to which the current image belongs.
  • At least one image in the knowledge base is decoded by the second video code stream, and/or at least one image in the knowledge base is used by the current image.
  • the encoded first video bitstream is decoded.
  • the first video stream and the second video stream are different video streams.
  • the image number of the first video stream and the image number of the second video stream are independent of each other.
  • the image number of the first video stream indicates the relative relationship of the images in the display order.
  • the image with the smaller number in the display order appears in front of the image with the larger number, and the image number of the second video stream may not indicate the time sequence. relationship.
  • the numbers in the first video stream that are the same as the numbers in the second video stream do not necessarily correspond to the same time.
  • the reference image index of the current image may also be written into the first video code stream, where the reference image index of the current image may be directly or indirectly indicated
  • the reference image index of the current image may indicate the number of the reference image, the image feature of the reference image, and/or the image feature of the current image, and the like.
  • the decoding end may determine the reference image of the current image according to the reference image index of the current image.
  • the image decoding method provided by the embodiment of the present invention is also described below.
  • the execution body of the decoding method is an image decoding device, wherein the image decoding device can be any device that needs to output or store video, such as a notebook computer, a tablet computer, a personal computer, a mobile phone, or a video server.
  • An image decoding method may include: acquiring a current image; selecting K reference images of the current image from the knowledge base, wherein at least one of the knowledge bases does not belong to a random access segment where the current image is located, the K An integer greater than or equal to 1; the current image is encoded according to the K reference image described above.
  • FIG. 2 is a schematic flowchart diagram of an image decoding method according to another embodiment of the present invention.
  • an image decoding method provided by another embodiment of the present invention may include:
  • the current image may also be referred to as a current decoded image, which corresponds to a partial code stream in the first video code stream.
  • the knowledge base may be regarded as a set of images of candidate reference images that can accommodate the current image, and some or all of the images in the knowledge base may be selected as reference images of the current image.
  • the image in the knowledge base may be the original image or the reconstructed image. At least two images can be included in the knowledge base.
  • At least one image in the knowledge base does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image.
  • any one of the K reference images may belong to the random access of the current image. Fragment.
  • the K reference image may be all reference images of the current image, or may be part of the reference image of the current image.
  • K can be, for example, equal to 9, 1, 2, 3, 4, 5, 8, 10, 20, 30, 43, 50 or other positive integers.
  • the random access segments in which the current image is located may be different in different scenarios.
  • the random access segment in which the current image is located may include: in the decoding order, in the video layer where the current image is located, from the current The image of the random access point before the current image is the image of the random access point before the current image, and the image of the random access point of the current image before the current image includes the image of the nearest random access point before the current image, but does not include the current image The image of the most recent random access point.
  • the random access segment of the current image includes: in the decoding order, the video layer in which the current image is located, from the most recent random access point before the current image to the most recent after the current image
  • An image before the random access point, wherein the random access segment in which the current image is located includes an image of a random access point closest to the current image, but does not include an image of a random access point after the current image; the random access of the current image
  • the segment includes an image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, and the X reference images are other than the dependent layer of the current image.
  • the reference image of the video layer includes: in the decoding order, the video layer in which the current image is located, from the most recent random access point before
  • the nearest random access point before the current image is the random access point where the current image is located; if the reference image of the current image in other video layers is located at a random access point, then The nearest random access point before the reference image is the random access point where the reference image is located.
  • the random access segment in which the current image is located may further include a random near the current image. Access point.
  • X is an integer greater than or equal to 1.
  • X may be equal to 9, for example, 9, 2, 3, 4, 5, 7, 11, 20, 30, 43, 50 or other positive integers.
  • the decoding the current image according to the K reference image may include: predicting the current image according to the K reference image to obtain a predicted pixel value of the current image, according to a predicted pixel value and a prediction residual of the current image.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is decoded according to the K reference image, due to the above knowledge.
  • At least one image in the library does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image, which does not belong to
  • the image of the random access segment in which the current image is located may also be selected as the reference image of the current image, which to some extent breaks the limitation of the reference image candidate range of the current image in the conventional technology, because the above scheme is extended to some extent.
  • the candidate range of the reference image of the current image thereby facilitating the efficiency of video decoding to some extent.
  • At least one image in the knowledge base is obtained by decoding a second video code stream.
  • At least one image in the knowledge base may also be stored in advance in the image decoding device.
  • both the image decoding device and the image encoding device can implement the same or partially identical knowledge base, and the image decoding device and the image encoding device can also obtain the reconstructed image by decoding the second video code stream, and add the obtained reconstructed image. Remained in the knowledge base.
  • selecting the K reference image of the current image from the knowledge base may include: decoding based on decoding from the first video code stream to which the current image belongs And a reference image index of the current image, and selecting K reference images of the current image from a knowledge base.
  • the reference image index of the current image may indicate a number of the reference image, an image feature of the reference image, and/or an image feature of the current image. For example, if the reference image index indicates an image feature of the current image, the image features of the K reference image match the image features of the current image.
  • the image feature of the K reference image and the image feature of the current image may specifically refer to an image feature of the K reference image and an image of the current image.
  • the similarity of the features exceeds a set threshold (the threshold may be, for example, 0.85, 70%, 85%, 88% or other values that meet the requirements).
  • the similarity is, for example, a linear correlation between two image feature vectors, or a reciprocal of the maximum difference between each of the two image feature vectors, or a reciprocal of the Hamming distance between the two image feature vectors.
  • the image features may include, for example, Image Scale Invariant Transition Feature (SIFT) and/or Image Acceleration Robust Feature (SURF), and may of course include other image features.
  • SIFT Image Scale Invariant Transition Feature
  • SURF Image Acceleration Robust Feature
  • the reference image that matches the reference image index may include, for example, a reconstructed image before the random access segment where the current image is located.
  • the method further includes: if the reference image matching the reference image index is not found in the second video code stream, requesting, including the Retrieving the second video code stream incremental code stream of the reference image matching reference image, decoding the second video code stream incremental code stream to obtain a reference image matching the reference image index, and obtaining the reference image
  • the index matching reference image serves as a reference image of the current image.
  • the method may further Searching for a reference image matching the reference image index in the second video code stream, if the reference image matching the reference image index is not found in the second video code stream, the server may further request the inclusion and the server Deriving a second video code stream incremental code stream of the reference image matching reference image, decoding the second video code stream incremental code stream to obtain a reference image that matches the reference image index, and obtaining the reference
  • the reference image matched by the image index serves as a reference image of the current image.
  • the image included in the knowledge base may be various.
  • the knowledge base may include a key image in the video sequence to which the current image belongs, and the reconstructed image is obtained by compression coding, and the key image in the video sequence to which the current image belongs may be The scene switching image or/and the background image in the video sequence to which the current image belongs is included.
  • the above scene switching image or/and background image can be obtained in various ways.
  • the scene switching image by decoding the second video code stream or the first video stream to which the current image belongs Obtaining, or the background image is obtained by decoding a second video code stream or a first video code stream to which the current image belongs, or the background image is in a first video bitstream to which the current image belongs
  • the decoded video sequence is obtained by background modeling.
  • At least one image in the knowledge base is decoded by the second video code stream, and/or at least one image in the knowledge base is used by the current image.
  • the encoded first video bitstream is decoded.
  • the second video stream and the first video stream are different video streams.
  • the image number of the first video stream and the image number of the second video stream are independent of each other.
  • the image number of the first video stream indicates the relative relationship of the images in the display order.
  • the image with the smaller number in the display order appears in front of the image with the larger number, and the image number of the second video stream may not indicate the time sequence. relationship.
  • the numbers in the first video stream that are the same as the numbers in the second video stream do not necessarily correspond to the same time.
  • the decoding, according to the K reference image, the current image may include: adding the K reference image to a reference of the current image In the reference picture list, the current image is decoded according to a reference image in the reference image queue.
  • FIG. 3 is a schematic flowchart of an image decoding method according to another embodiment of the present invention.
  • the image decoding method shown in FIG. 3-a can be implemented based on the image decoding system architecture shown in FIG. 3-b.
  • an image decoding method provided by another embodiment of the present invention may include:
  • the image decoding device acquires a current image from the first video code stream.
  • the current image may also be referred to as a current decoded image, which corresponds to a partial code stream in the first video code stream.
  • a reference image buffer may be included in the image decoding device, wherein the reference image buffer may store a short-term reference image and a long-term reference image for predicting the current decoded image.
  • the image decoding device selects, from the knowledge base, the K reference images of the current image.
  • the K reference image is added to the reference image queue of the current image.
  • the at least one image in the knowledge base does not belong to a random access segment where the current image is located, and the K is an integer greater than or equal to 1.
  • the knowledge base may be regarded as a set of images of candidate reference images that can accommodate the current image, and some or all of the images in the knowledge base may be selected as reference images of the current image.
  • the image in the knowledge base may be the original image or the reconstructed image. At least two images can be included in the knowledge base.
  • the images in the knowledge base may also be images pre-stored by the image decoding device; these images may not correspond to images in the video sequence in which the current image is located, for example, may include images composed of a plurality of patterns or may also include a computer Rendering the resulting image; may even include images added to the knowledge base downloaded from the network; may also include images copied from the mobile storage device to the knowledge base.
  • the knowledge base can be set to be in a state of dynamic accumulation, and the number of images and content contained are constantly updated over time. These images may include uncompressed compressed images as well as images that do not belong to the random access segment of the current image.
  • At least one image in the knowledge base does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image.
  • any one of the K reference images may belong to the random access of the current image. Fragment.
  • the random access segments in which the current image is located may be different in different scenarios.
  • the random access segment in which the current image is located may include: in the decoding order, in the video layer where the current image is located, from the current The image of the random access point before the current image is the image of the random access point before the current image, and the image of the random access point of the current image before the current image includes the image of the nearest random access point before the current image, but does not include the current image The image of the most recent random access point.
  • the random access segment of the current image includes: in the decoding order, the video layer in which the current image is located, from the most recent random access point before the current image to the most recent after the current image Random access The image before the point, and in the decoding order, the video layer in which the X reference images of the current image are located, from the nearest random access point before the X reference images to the nearest random access point after the X reference images a previous image, wherein the random access segment of the current image includes an image of a random access point that is closest to the current image, but does not include an image of a random access point that is closest to the current image; and the random access segment of the current image includes the above An image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, the X reference images being the other video layers of the current image other than the dependent layer Reference image.
  • the random access segment in which the image is located includes an image in the decoding order before the closest random access point RAP2 image located before the A image in the decoding order to the image before the nearest random access point RAP4 image, and also includes the reference of the A image in the independent layer.
  • the image B picture is decoded in the independent layer in the order in which the nearest random access point RAP1 image before the B picture starts to the image before the nearest random access point RAP3 image after the B picture.
  • the decoding device may select an image C image from the knowledge base as a reference image of the A image, add a reference image queue of the A image, and decode the A image; the C image does not belong to the random access segment where the A image is located.
  • the random access segment in which the A image is located includes an image in the second dependent layer in the decoding order before the closest random access point RAP5 image before the A image starts to the image before the nearest random access point RAP6 image, and includes the A image in the first dependency
  • the reference image B image in the layer in the first dependent layer is decoded in order from the nearest random access point RAP3 image before the B image to the image before the closest random access point RAP4 image after the B image, and also includes the B image
  • the reference image C image in the independent layer is decoded in the independent layer in order from the random access point RAP1 image before the C picture to the image before the closest random access point RAP2 image after the C picture.
  • the decoding device selects an image D image from the knowledge base as a reference image of the A image, and the D image does
  • the nearest random access point before the current image is the random access point where the current image is located; if the reference image of the current image in other video layers is located at a random access point, then The nearest random access point before the reference image is the random access point where the reference image is located.
  • the random access segment in which the current image is located may also include a random access before the current image. point.
  • selecting the K reference image of the current image from the knowledge base may include: decoding based on decoding from the first video code stream to which the current image belongs And a reference image index of the current image, and selecting K reference images of the current image from a knowledge base.
  • the reference image index of the current image may indicate a number of the reference image, an image feature of the reference image, and/or an image feature of the current image. For example, if the reference image index indicates an image feature of the current image, the image features of the K reference image match the image features of the current image.
  • the image feature of the K reference image and the image feature of the current image may specifically mean that the similarity between the image feature of the K reference image and the image feature of the current image exceeds a set threshold (the threshold may be, for example, 70%, 85%, 88% or other values that meet the requirements).
  • the similarity between the image features of the K reference images and the image features of the current image may be greater than or equal to the similarity of the image features of the other current images and other images in the knowledge base.
  • the image features may include, for example, Image Scale Invariant Transition Feature (SIFT) and/or Image Acceleration Robust Feature (SURF), and may of course include other image features.
  • SIFT Image Scale Invariant Transition Feature
  • SURF Image Acceleration Robust Feature
  • the image decoding device decodes the current image according to a reference image in the reference image queue.
  • the decoding of the current image by the image decoding device according to the K reference image may include: predicting the current image according to the K reference image to obtain a predicted pixel value of the current image, according to the predicted pixel value of the current image. Predicting the residual to reconstruct the current image The reconstructed image of the current image.
  • the image decoding device may further add the reconstructed image of the background image decoded from the first video code stream to the knowledge base.
  • the video sequence obtained by decoding the first video code stream may be subjected to scene switching detection to obtain a scene switching image in the video sequence obtained by decoding the first video code stream, and The reconstructed image of the scene switching image is added to the knowledge base.
  • the scene switching detection method has a plurality of more mature methods, for example, calculating the mean value of pixel values between multiple groups of pixels in two adjacent images, and when the mean value of the pixel values is greater than a certain threshold, the two images are considered to be Scene switching occurs between the two; for example, image features (such as SIFT) are extracted separately for the two images.
  • image features such as SIFT
  • the method further includes: if the reference image matching the reference image index is not found in the second video code stream, requesting, including the Retrieving the second video code stream incremental code stream of the reference image matching reference image, decoding the second video code stream incremental code stream to obtain a reference image matching the reference image index, and obtaining the reference image
  • the index matching reference image is added to the reference image queue of the current image.
  • the method may further Searching for a reference image matching the reference image index in the second video code stream, if the reference image matching the reference image index is not found in the second video code stream, the server may further request the inclusion and the server Deriving a second video code stream incremental code stream of the reference image matching reference image, decoding the second video code stream incremental code stream to obtain a reference image that matches the reference image index, and obtaining the reference A reference image matched by the image index is added to the reference image queue of the current image.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is decoded according to the K reference image, due to the above knowledge.
  • At least one image in the library does not belong to the random access segment where the current image is located, that is, at least one random access segment that does not belong to the current image
  • the image may be used as a candidate reference image of the current image, which may make the image of the random access segment not belonging to the current image may also be selected as the reference image of the current image, which breaks the traditional image to the current image to some extent.
  • the limitation of the reference image candidate range is that the above scheme extends the candidate range of the reference image of the current image to a certain extent, thereby facilitating the efficiency of video decoding to a certain extent.
  • FIG. 4-a is a schematic flowchart diagram of an image decoding method according to another embodiment of the present invention.
  • the image decoding method shown in FIG. 4-a can be implemented based on the image decoding system architecture shown in FIG. 4-b.
  • an image decoding method provided by another embodiment of the present invention may include:
  • the image decoding apparatus decodes the second video code stream (the knowledge base code stream), and adds the reconstructed image obtained by decoding the second video code stream to the knowledge base.
  • the image decoding device may add, for example, at least one image in the second video code stream to the knowledge base; for example, the background image synthesized by the multiple images in the second video code stream may be added to the knowledge base.
  • the image decoding device acquires a current image from the first video code stream.
  • the current image may also be referred to as a current decoded image, which corresponds to a partial code stream in the first video code stream.
  • a reference image buffer may be included in the image decoding device, wherein the reference image buffer may store a short-term reference image and a long-term reference image for predicting the current decoded image.
  • the first video code stream and the second video code stream are different video code streams.
  • the image number of the first video stream and the image number of the second video stream are independent of each other.
  • the image number of the first video stream indicates the relative relationship of the images in the display order. For example, the image with the smaller number in the display order appears in front of the image with the larger number, and the image number of the second video stream may not indicate the time sequence. relationship.
  • the numbers in the first video stream that are the same as the numbers in the second video stream do not necessarily correspond to the same time.
  • the image decoding device selects K reference images of the current image from a knowledge base, and adds the K reference images to a reference image queue of the current image.
  • K is an integer greater than or equal to one.
  • the knowledge base may be regarded as a set of images of candidate reference images that can accommodate the current image, and some or all of the images in the knowledge base may be selected as reference images of the current image.
  • the image in the knowledge base may be the original image or the reconstructed image. At least two images can be included in the knowledge base.
  • the images in the knowledge base may also be images pre-stored by the image decoding device; these images may not correspond to images in the video sequence in which the current image is located, for example, may include images composed of a plurality of patterns or may also include a computer Rendering the resulting image; may even include images added to the knowledge base downloaded from the network; may also include images copied from the mobile storage device to the knowledge base.
  • the knowledge base can be set to be in a state of dynamic accumulation, and the number of images and content contained are constantly updated over time. These images may include uncompressed compressed images as well as images that do not belong to the random access segment of the current image.
  • At least one image in the knowledge base does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image.
  • any one of the K reference images may belong to the random access of the current image. Fragment.
  • the random access segments in which the current image is located may be different in different scenarios.
  • the random access segment in which the current image is located may include: in the decoding order, in the video layer where the current image is located, from the current The image of the random access point before the current image is the image of the random access point before the current image, and the image of the random access point of the current image before the current image includes the image of the nearest random access point before the current image, but does not include the current image The image of the most recent random access point.
  • the random access segment of the current image includes: in the decoding order, the video layer in which the current image is located, from the most recent random access point before the current image to the most recent after the current image The image before the random access point, and the video in which the X reference images of the current image are located in the decoding order
  • an image from a random access point before the X reference images to a point before the nearest random access point after the X reference images where the random access segment of the current image includes the most recent random access before the current image
  • the random access segment of the current image contains the image of the nearest random access point before the X reference images, but does not include the X reference images
  • the image of the nearest random access point, the X reference images are reference images of other video layers outside the dependent layer of the current image.
  • the nearest random access point before the current image is the random access point where the current image is located; if the reference image of the current image in other video layers is located at a random access point, then The nearest random access point before the reference image is the random access point where the reference image is located.
  • the random access segment in which the current image is located may also include the current image immediately before. Random access point.
  • selecting the K reference image of the current image from the knowledge base may include: decoding based on decoding from the first video code stream to which the current image belongs And a reference image index of the current image, and selecting K reference images of the current image from a knowledge base.
  • the reference image index of the current image may indicate a number of the reference image, an image feature of the reference image, and/or an image feature of the current image. For example, if the reference image index indicates an image feature of the current image, the image features of the K reference image match the image features of the current image.
  • the image feature of the K reference image and the image feature of the current image may specifically mean that the similarity between the image feature of the K reference image and the image feature of the current image exceeds a set threshold (the threshold may be, for example, 70%, 85%, 88% or other values that meet the requirements).
  • the similarity between the image features of the K reference images and the image features of the current image may be greater than or equal to the similarity of the image features of the other current images and other images in the knowledge base.
  • the similarity is, for example, a linear correlation between two image feature vectors, or a reciprocal of the maximum difference between groups of elements in two image feature vectors, or a Hamming distance between two image feature vectors The reciprocal of the departure.
  • the image features may include, for example, Image Scale Invariant Transition Feature (SIFT) and/or Image Acceleration Robust Feature (SURF), and may of course include other image features.
  • SIFT Image Scale Invariant Transition Feature
  • SURF Image Acceleration Robust Feature
  • the image decoding apparatus decodes the current image according to a reference image in the reference image queue.
  • the decoding of the current image by the image decoding device according to the K reference image may include: predicting the current image according to the K reference image to obtain a predicted pixel value of the current image, according to the predicted pixel value of the current image. Predicting the reconstructed image of the current image obtained by reconstructing the current image.
  • the method further includes: if the reference image matching the reference image index is not found in the second video code stream, requesting, including the Retrieving the second video code stream incremental code stream of the reference image matching reference image, decoding the second video code stream incremental code stream to obtain a reference image matching the reference image index, and obtaining the reference image
  • the index matching reference image is added to the reference image queue of the current image.
  • the method may further Searching for a reference image matching the reference image index in the second video code stream, if the reference image matching the reference image index is not found in the second video code stream, the server may further request the inclusion and the server Deriving a second video code stream incremental code stream of the reference image matching reference image, decoding the second video code stream incremental code stream to obtain a reference image that matches the reference image index, and obtaining the reference A reference image matched by the image index is added to the reference image queue of the current image.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is decoded according to the K reference image, due to the above knowledge.
  • At least one image in the library does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image, which does not belong to Where the current image above is located.
  • the image of the machine access segment may also be selected as the reference image of the current image, which to some extent breaks the limitation of the reference image candidate range of the current image in the conventional technology, because the above solution extends the reference of the current image to some extent.
  • the candidate range of the image helps to improve the efficiency of video decoding to some extent.
  • the user terminal (the image decoding device) sends the video access time information to the server when the video is requested, and the video access time information is, for example, the access point relative to the video slice header. Interval.
  • the server sends two video code streams (the first video stream and the second video stream) to the user terminal according to the video access time information, where the number of images included in the second video stream is generally smaller than the first video stream. Contains the number of images.
  • the user terminal can download the first video bitstream offline.
  • the user terminal decodes the first video code stream while watching the video, and plays the decoded image of the first video code stream.
  • the user terminal decoding process may include, for example, at least one of the following processes:
  • the user terminal requests the server to send a second video stream incremental code stream containing the specified image.
  • the user terminal receives the second video code stream incremental code stream, and merges the second video code stream incremental code stream into the second video code stream; and decodes the second video code stream incremental code stream to obtain the specified image, which will be specified.
  • the image is used as a reference image of the current image, and is added to the reference image queue of the current image, and the user terminal decodes the current image by using the reference image queue.
  • Processing method 2 during decoding of the first video code stream by the user terminal, if it is found that the current image needs to be referenced by referring to the specified image in the second video code stream, and the user terminal stores the second video code stream, the decoded image includes the specified For the image, the user terminal may add the specified image as a reference image of the current decoded image to the reference image queue of the currently decoded image, and the user terminal decodes the current image by using the reference image queue.
  • Processing mode 3 During the process of decoding the first video code stream by the user terminal, if the current image is found to be needed Decoding with reference to the specified image in the second video code stream, and the second video code stream stored by the user terminal includes the specified image, but the user terminal stores the second video code stream decoded image, and the specified image is not included in the memory.
  • the corresponding code stream segment in the second video code stream is decoded to obtain a specified image, and the specified image is used as a reference image of the current image, and is added to the reference image queue of the current image, and the user terminal decodes the current image by using the reference image queue.
  • the specified image may be added to the memory storing the decoded image of the second video stream.
  • the first video stream and the second video stream may be stored on a storage medium such as an optical disk or a magnetic disk.
  • the number of the image in the first video stream and the number of the image in the second video stream are independent of each other, and the image number is used to indicate the order of the image sequence (POC, Picture) used in the video coding standard such as H.264. Order Count).
  • the number of images contained in the second video stream is generally less than the number of images contained in the first video stream.
  • the image decoding apparatus may adopt the following scheme to decode at least one image in the first video code stream:
  • the image decoding device acquires at least one designated reconstructed image based on the second video stream. More specifically, the storage device that stores the first video code stream decoded reconstructed image is referred to as a first storage device, and the storage device that stores the second video code stream decoded reconstructed image is referred to as a second storage device. And searching for a reconstructed image matching the reference image index in the second storage device according to the reference image index corresponding to the current image in the first video code stream, that is, specifying the reconstructed image.
  • the reference image index may include one or more numbers, each number corresponding to one of the decoded images in the second video stream decoded image; the number of designated reconstructed images is the same as the number of numbers included in the reference image index.
  • the second storage device is full when the specified image is added to the second storage device, the corresponding number of images in the second storage device are replaced with the specified reconstructed image.
  • the reference image index may be stored in the first video code stream, for example, in a slice header of the current image, or may be stored in a syntax structure unit such as a sequence parameter set (SPS).
  • the reference image index may also be stored in a storage space other than the first video code stream, for example, a plurality of reference image indexes form a data structure, and the data structure is encoded and stored.
  • the image in the second video stream may be decoded by intra-frame decoding, or may be decoded by inter-frame decoding.
  • the image decoding device may use the specified reconstructed image as a reference image of the current image in the first video stream to decode the current image to obtain a reconstructed image of the current image.
  • the reference image of the current image may also contain other images, for example, the reference image of the current image may also contain the image that has been decoded in the random access segment where the current image is located.
  • the decoding method may employ an inter-frame video decoding method based on inter prediction.
  • the image of the random access point in the first video code stream can be used to decode the reconstructed image of the second video code stream as a reference image, and the image of the partial random access point can also use the traditional image.
  • Intraframe decoding mode Different frame types can be used in the first video stream to distinguish between the two types of images at random access points.
  • the image of the non-random access point in the second video stream may only allow the image that has been decoded in the random access segment in which the current image is located.
  • the image in the second video stream can be decoded, for example, using only intra decoding.
  • the image decoding device may sequentially display the decoded image of the first video code stream according to the image sequence number of each decoded image in the first video code stream.
  • FIG. 5-a is a schematic flowchart of an image encoding method according to another embodiment of the present invention.
  • the image encoding method shown in FIG. 5-a can be implemented based on the image encoding system architecture shown in FIG. 5-b.
  • an image coding method provided by another embodiment of the present invention may include:
  • the image encoding device extracts at least two key images from the video sequence, and adds the reconstructed image encoded by the key image to the knowledge base.
  • the image coding apparatus may perform background modeling on the video sequence to which the current image belongs to obtain a background image, encode the background image to obtain a coded background image, and decode the coded background image to obtain a background image.
  • the image is reconstructed, and the reconstructed image of the obtained background image is added to the knowledge base.
  • the image encoding device may also perform a video sequence to which the current image belongs.
  • the scene switching detection is performed to obtain a scene switching image in the video sequence to which the current image belongs, and the reconstructed image obtained by the scene switching image is added to the knowledge base.
  • the scene switching detection method has a plurality of more mature methods, for example, calculating the mean value of pixel values between multiple groups of pixels in two adjacent images, and when the mean value of the pixel values is greater than a certain threshold, the two images are considered to be Scene switching occurs between them; for example, image features (for example, SIFT) are respectively extracted for two images, wherein when the matching degree of the image features is less than a certain threshold, scene switching between the two frames is considered.
  • image features for example, SIFT
  • the method for extracting a key image may further include: calculating a mean value of pixel values of at least one image in the video sequence and an image adjacent to the time domain, and using an image whose pixel value difference is less than a certain threshold as a key image; or
  • the image of at least one predetermined position in the video sequence is taken as a key image, and the image of the predetermined position includes, for example, the first image, the second image, and/or the last image.
  • the image encoding device acquires a current image from the video sequence.
  • the current image may also be referred to as a current encoded image, which corresponds to one image in the video sequence.
  • a reference image buffer may be included in the image encoding device, wherein the reference image buffer may store a short-term reference image and a long-term reference image for predicting the current encoded image.
  • the image encoding device selects K reference images of the current image from a knowledge base, and adds the K reference images to a reference image queue of the current image.
  • the at least one image in the knowledge base does not belong to a random access segment where the current image is located, and the K is an integer greater than or equal to 1.
  • the knowledge base may be regarded as a set of images of candidate reference images that can accommodate the current image, and some or all of the images in the knowledge base may be selected as reference images of the current image.
  • the image in the knowledge base may be the original image or the reconstructed image. At least two images can be included in the knowledge base.
  • selecting the K reference images of the current image from the knowledge base may include selecting K reference images of the current image based on at least one of the following methods.
  • Method 1 Select at least one image in the knowledge base that is most similar to the current image.
  • the similarity calculation may use a plurality of similarity metrics, such as mean square error, SIFT feature difference, and the like.
  • Method 2 Adding an image in the knowledge base to the reference image queue of the current image, performing precoding to obtain a rate distortion cost (RD cost, Rate Distortion cost) of the current image; performing at least two images in the knowledge base In the above rate distortion cost calculation, an image in which the cost corresponding to the minimum rate distortion is selected is selected as the reference image of the current image.
  • RD cost Rate Distortion cost
  • Method 3 In the image pre-stored in the knowledge base, an image containing an image similar to an area in the current image is selected as a reference image of the current image.
  • the images in the knowledge base may also include images previously stored by the image encoding device; these images may not correspond to images in the video sequence in which the current image is located, for example, may include images composed of a plurality of patterns or may also include a computer Rendering the resulting image; may even include images added to the knowledge base downloaded from the network; may also include images copied from the mobile storage device to the knowledge base.
  • the knowledge base can be set to be in a state of dynamic accumulation, and the number of images and content contained are constantly updated over time. These images may include uncompressed compressed images as well as images that do not belong to the random access segment of the current image.
  • At least one image in the knowledge base does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image.
  • any one of the K reference images may belong to the random access of the current image. Fragment.
  • the random access segments in which the current image is located may be different in different scenarios.
  • the random access segment in which the current image is located may include: in the coding sequence, in the video layer where the current image is located, from the current The image of the random access point before the current image is the image of the random access point before the current image, and the image of the random access point of the current image before the current image includes the image of the nearest random access point before the current image, but does not include the current image The image of the most recent random access point.
  • the random access segment of the current image includes: in the coding order, the video layer in which the current image is located, from the random access point before the current image to the latest after the current image Random access The image before the point, and in the coding order, the video layer in which the X reference images of the current image are located, from the nearest random access point before the X reference images to the nearest random access point after the X reference images a previous image, wherein the random access segment of the current image includes an image of a random access point that is closest to the current image, but does not include an image of a random access point that is closest to the current image; and the random access segment of the current image includes the above An image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, the X reference images being the other video layers of the current image other than the dependent layer Reference image.
  • the nearest random access point before the current image is the random access point where the current image is located; if the reference image of the current image in other video layers is located at a random access point, then The nearest random access point before the reference image is the random access point where the reference image is located.
  • the random access segment in which the current image is located may also include the current image immediately before. Random access point.
  • selecting the K reference images of the current image from the knowledge base may include: selecting, according to the image features of the current image, the current image from the knowledge base. K reference images. Wherein the image features of the K reference images match the image features of the current image.
  • the image feature of the K reference image and the image feature of the current image may specifically mean that the similarity between the image feature of the K reference image and the image feature of the current image exceeds a set threshold (the threshold may be, for example, 70%, 85%, 88% or other values that meet the requirements).
  • the similarity between the image features of the K reference images and the image features of the current image may be greater than or equal to the similarity of the image features of the other current images and other images in the knowledge base.
  • the image features may include, for example, Image Scale Invariant Transition Feature (SIFT) and/or Image Acceleration Robust Feature (SURF), and may of course include other image features.
  • SIFT Image Scale Invariant Transition Feature
  • SURF Image Acceleration Robust Feature
  • the image encoding device pairs the current image according to a reference image in the reference image queue. Encode.
  • the encoding of the current image by the image encoding device according to the K reference image may include: predicting the current image according to the K reference image to obtain a predicted pixel value of the current image, according to the predicted pixel value of the current image. Predicting the reconstructed image of the current image obtained by reconstructing the current image.
  • the image encoding method may further include: the image encoding device adds the knowledge base reference information (ie, the reference image index) in the first video code stream, wherein the knowledge base reference information records the image in the current encoded image reference knowledge base.
  • the information may be at least one of an image number of the knowledge base image, an image feature descriptor, and an image MD5 check code.
  • Image features include, for example, SIFT and/or SURF and the like.
  • the knowledge base reference information may also include image type information, for example, when the knowledge base is configured to include N background images and M scene images (N and M are positive integers), the knowledge base The index of the middle image can be indicated by the image type and the number of the image in the corresponding image type.
  • the knowledge base is configured to include multiple types of images and there is only one image for each type, then one of the images in the knowledge base can be directly indicated by the image type.
  • the image encoding device may further store or transmit the second video code stream obtained by encoding the key image; the image encoding device may also store or transmit the first video code stream.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is encoded according to the K reference image, due to the above knowledge.
  • At least one image in the library does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may be used as a candidate reference image of the current image, which does not belong to
  • the image of the random access segment in which the current image is located may also be selected as the reference image of the current image, which to some extent breaks the limitation of the reference image candidate range of the current image in the conventional technology, because the above scheme is extended to some extent.
  • the candidate range of the reference image of the current image is further beneficial to improve the efficiency of video coding to some extent.
  • the embodiment of the present invention further provides a video code stream, where the video code stream includes an A image, and includes image features of the A image, and the image features include, for example, SIFT and/or SURF.
  • the video code stream includes an A image, and includes image features of the A image, and the image features include, for example, SIFT and/or SURF.
  • An embodiment of the present invention further provides a video code stream, including at least one of a first video code stream and a second video code stream.
  • the first video stream includes an A image
  • the second video stream includes a B image
  • the first video stream further comprising image features of the B image, the image features including, for example, SIFT and/or SURF.
  • the image feature of the B image is associated with the A image, for example, the image number of the B image may be stored in the slice header information in the A image stream segment.
  • the second video code stream is decoded first and the reconstructed image is stored in the knowledge base, and then the image feature of the B image is obtained from the first video code stream, and then the image feature of the B image is learned from the image.
  • the B image is retrieved in the library as a reference image of the A image to decode the A image.
  • An embodiment of the present invention further provides a video code stream, including at least one of a first video code stream and a second video code stream.
  • the first video stream includes an A image
  • the second video stream includes a B image
  • the first video stream further includes an image number of the B image in the second video stream.
  • the image number of the B image is associated with the A image, for example, the image number of the B image may be stored in the slice header information of the A image.
  • the image sequence number of the B image does not depend on the image sequence number of the A image in the first video code stream, for example, the image sequence number of the B image is stored in the slice header information in the A image stream segment with its absolute value instead of The difference between the image number of the B image and the image number of the A image.
  • the first video code stream may be decoded to obtain the image sequence number of the B image, and then the code stream segment of the B image is found in the second video code stream by the image sequence number of the B image, and the B image is obtained after decoding the B image.
  • a reference image of the A image a reference image queue of the A image is added, and the A image is decoded.
  • the first video code stream and the second video code stream each independently adopt a set of image sequence numbers, that is, the image sequence number of the second video code stream is not associated with the image sequence number of the first video code stream, wherein the first video code The image in the stream is not necessarily later in time than the image with a smaller image number in the second video stream.
  • the image sequence number of the first video code stream indicates the order of display time, and the image sequence number of the second video code stream may not be constrained by such time series.
  • the image sequence number of each image in the second video code stream may be numbered according to the number of times the image is used as the reference image by the image in the first video code stream, for example, as an image in the second video code stream is used as a reference. The more the number of images, the smaller the number of the image.
  • the decoded image of the first video stream is used for display, and the decoding of the second video stream The image is not used for display.
  • an embodiment of the present invention further provides an image decoding apparatus, which may include:
  • the obtaining unit 610 is configured to acquire a current image.
  • the reference unit 620 is configured to select, from the knowledge base, K reference images of the current image, where at least one image in the knowledge base does not belong to a random access segment where the current image is located, and the K is greater than or equal to An integer of 1;
  • the decoding unit 630 is configured to decode the current image according to the K reference image.
  • At least one image in the knowledge base is obtained by decoding a second video code stream.
  • selecting the K reference image of the current image from the knowledge base may include: decoding based on the first video code stream to which the current image belongs A reference image index of the current image is selected, and K reference images of the current image are selected from the knowledge base.
  • the reference image that matches the reference image index is a reconstructed image before the random access segment where the current image is located.
  • the reference unit is further configured to: if the reference image that matches the reference image index is not found in the second video code stream, request the server to include Deriving a second video code stream incremental code stream of the reference image matching reference image, decoding the second video code stream incremental code stream to obtain a reference image that matches the reference image index, and obtaining the reference The reference image matched by the image index serves as a reference image of the current image.
  • the reference image index of the current image may indicate a number of the reference image, an image feature of the reference image, and/or an image feature of the current image.
  • an image feature of the K reference image matches an image feature of the current image if the reference image index indicates an image feature of the current image.
  • the image features include a scale-invariant conversion feature SIFT and/or an acceleration robust feature SURF.
  • the knowledge base includes a key image in a video sequence to which the current image belongs, and the key image in the video sequence to which the current image belongs includes the current image The scene within the video sequence switches the image or/and the background image.
  • the scene switching image is obtained by decoding a second video code stream or a first video code stream to which the current image belongs, or the background image is decoded.
  • the decoding unit 630 is specifically configured to add the K reference image to a reference image queue of the current image, according to the reference image queue.
  • the reference image decodes the current image.
  • the random access segment where the current image is located includes: a random access point in the video layer where the current image is located, from the current image before the current image in the decoding order Starting an image before the nearest random access point after the current image, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image Point image
  • the random access segment in which the current image is located includes: in the decoding order, among the video layers in which the current image is located, from the most recent random access point before the current image to the An image before the nearest random access point after the current image, and in the decoding order, the video layer in which the X reference images of the current image are located, from the most recent random access point before the X reference images to the An image before the nearest random access point after the X reference images, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image An image of the point; the random access segment where the current image is located contains an image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, the X The reference image is a reference image of other video layers of the current image that are outside the dependent layer.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is decoded according to the K reference image. Since at least one image in the knowledge base does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may serve as a candidate reference image of the current image, which is The image of the random access segment that does not belong to the current image may also be selected as the reference image of the current image, which to some extent breaks the limitation of the reference image candidate range of the current image in the conventional technology, because the above scheme is certain To a certain extent, the candidate range of the reference image of the current image is expanded, thereby facilitating the efficiency of video decoding to a certain extent.
  • an image decoding apparatus 700 may include:
  • the processor 702 and the memory 703 are coupled by a bus 701.
  • the processor 702 is configured to acquire a current image by calling code or instructions in the memory 703, and select K reference images of the current image from a knowledge base, wherein at least one of the knowledge bases The image does not belong to a random access segment in which the current image is located, and the K is an integer greater than or equal to 1; the current image is decoded according to the K reference image.
  • At least one image in the knowledge base is obtained by decoding a second video code stream.
  • selecting the K reference image of the current image from the knowledge base may include: decoding based on the first video code stream to which the current image belongs A reference image index of the current image is selected, and K reference images of the current image are selected from the knowledge base.
  • the reference image that matches the reference image index is a reconstructed image before the random access segment where the current image is located.
  • the processor 702 is further configured to: if the reference image that matches the reference image index is not found in the second video code stream, request the server And a second video code stream incremental code stream including a reference image that matches the reference image index, and decoding the second video code stream incremental code stream to obtain a reference image that matches the reference image index, and the obtained The reference image matches the reference image as a reference image of the current image.
  • the reference image index of the current image may indicate a number of the reference image, an image feature of the reference image, and/or an image feature of the current image.
  • an image feature of the K reference image matches an image feature of the current image if the reference image index indicates an image feature of the current image.
  • the image features include a scale-invariant conversion feature SIFT and/or an acceleration robust feature SURF.
  • the knowledge base includes a key image in a video sequence to which the current image belongs, and the key image in the video sequence to which the current image belongs includes the current image The scene within the video sequence switches the image or/and the background image.
  • the scene switching image is obtained by decoding a second video code stream or a first video code stream to which the current image belongs, or the background image is decoded.
  • the processor 702 is specifically configured to add the K reference image to a reference image queue of the current image, according to the reference image queue.
  • the reference image decodes the current image.
  • the random access segment where the current image is located includes: a random access point in the video layer where the current image is located, from the current image before the current image in the decoding order Starting an image before the nearest random access point after the current image, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image Point image
  • the random access segment in which the current image is located includes: in the decoding order, among the video layers in which the current image is located, from the most recent random access point before the current image to the An image before the nearest random access point after the current image, and in the decoding order, the video layer in which the X reference images of the current image are located, from the most recent random access point before the X reference images to the An image before the nearest random access point after the X reference images, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image An image of the point; the random access segment where the current image is located contains an image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, the X The reference image is a reference image of other video layers of the current image that are outside the dependent layer.
  • the image decoding device 700 of the present embodiment may select K reference images of the current image from the knowledge base, and decode the current image according to the K reference images. Since at least one image in the knowledge base does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may serve as a candidate reference image of the current image, which is The image of the random access segment that does not belong to the current image may also be selected as the reference image of the current image, which to some extent breaks the limitation of the reference image candidate range of the current image in the conventional technology, because the above scheme is certain To a certain extent, the candidate range of the reference image of the current image is expanded, thereby facilitating the efficiency of video decoding to a certain extent.
  • an embodiment of the present invention further provides an image encoding apparatus 800, which may include: an obtaining unit 810, a reference unit 820, and an encoding unit 830.
  • the obtaining unit 810 is configured to acquire a current image.
  • the reference unit 820 is configured to select, from the knowledge base, the K reference images of the current image, where at least one of the knowledge bases does not belong to the random access segment where the current image is located, and the K is greater than or equal to An integer of 1.
  • the encoding unit 830 is configured to encode the current image according to the K reference image.
  • the image features of the K reference images match the image features of the current image.
  • the image features include a scale-invariant conversion feature SIFT and/or an acceleration robust feature SURF.
  • the knowledge base includes a key image in a video sequence to which the current image belongs, and the key image in the video sequence to which the current image belongs includes the current image The scene within the video sequence switches the image or/and the background image.
  • the scene switching image is obtained by performing scene switching detection on a video sequence to which the current image belongs, or the background image is related to the current image.
  • the video sequence is obtained by background modeling.
  • At least one image in the knowledge base is decoded by a second video code stream, or at least one image in the knowledge base is used by the current
  • the first video code stream encoded by the image is decoded.
  • the random access segment where the current image is located includes: a random access point in the video layer where the current image is located, from the current image before the current image in the decoding order Starting an image before the nearest random access point after the current image, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image Point image
  • the random access segment in which the current image is located includes: in the decoding order, among the video layers in which the current image is located, from the most recent random access point before the current image to the An image before the nearest random access point after the current image, and in the decoding order, the video layer in which the X reference images of the current image are located, from the most recent random access point before the X reference images to the An image before the nearest random access point after the X reference images, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image An image of the point; the random access segment where the current image is located contains the nearest random access point before the X reference images An image, but not an image of the nearest random access point after the X reference images, the X reference images being reference images of other video layers of the current image that are outside the dependent layer.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is encoded according to the K reference image. Since at least one image in the knowledge base does not belong to the random access segment where the current image is located, that is, at least one image that does not belong to the random access segment where the current image is located may serve as a candidate reference image of the current image, which is The image of the random access segment that does not belong to the current image may also be selected as the reference image of the current image, which to some extent breaks the limitation of the reference image candidate range of the current image in the conventional technology, because the above scheme is certain To a certain extent, the candidate range of the reference image of the current image is expanded, thereby facilitating the efficiency of video encoding to a certain extent.
  • an image coding apparatus 900 may include:
  • the processor 902 and the memory 903 are coupled by a bus 901.
  • the processor 902 is configured to acquire a current image by calling a code or an instruction in the memory 903; select K reference images of the current image from a knowledge base, wherein at least one of the knowledge bases The image does not belong to a random access segment in which the current image is located, and the K is an integer greater than or equal to 1; the current image is encoded according to the K reference image.
  • the image features of the K reference images match the image features of the current image.
  • the image features include a scale-invariant conversion feature SIFT and/or an acceleration robust feature SURF.
  • the knowledge base includes a key image in a video sequence to which the current image belongs, and the key image in the video sequence to which the current image belongs includes the current image The scene within the video sequence switches the image or/and the background image.
  • the scene switching image passes through The video sequence to which the current image belongs is obtained by performing scene switching detection, or the background image is obtained by performing background modeling on a video sequence to which the current image belongs.
  • At least one image in the knowledge base is decoded by a second video code stream, or at least one image in the knowledge base is used by the current
  • the first video code stream encoded by the image is decoded.
  • the random access segment where the current image is located includes: a random access point in the video layer where the current image is located, from the current image before the current image in the decoding order Starting an image before the nearest random access point after the current image, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image Point image
  • the random access segment in which the current image is located includes: in the decoding order, among the video layers in which the current image is located, from the most recent random access point before the current image to the An image before the nearest random access point after the current image, and in the decoding order, the video layer in which the X reference images of the current image are located, from the most recent random access point before the X reference images to the An image before the nearest random access point after the X reference images, wherein the random access segment in which the current image is located contains an image of the nearest random access point before the current image, but does not include the most recent random access after the current image An image of the point; the random access segment where the current image is located contains an image of the nearest random access point before the X reference images, but does not include an image of the nearest random access point after the X reference images, the X The reference image is a reference image of other video layers of the current image that are outside the dependent layer.
  • the K reference image of the current image may be selected from the knowledge base, and the current image is encoded according to the K reference image. At least one image in the above knowledge base does not belong to the random access segment where the current image is located, that is, at least one piece does not belong to the current image.
  • the image of the random access segment may be used as a candidate reference image of the current image, which may make the image of the random access segment not belonging to the current image may also be selected as the reference image of the current image, which breaks the traditional technology to some extent.
  • the limitation of the reference image candidate range of the current image because the above scheme extends the candidate range of the reference image of the current image to a certain extent, thereby facilitating the efficiency of the video encoding to a certain extent.
  • the disclosed apparatus may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or may be Integrate into 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 as separate components may or may not be physically separated, and 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 integrated unit is implemented in the form of a software functional unit and sold as a standalone product Or when used, it can 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 methods described in 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

一种图像编/解码方法和相关装置。其中,一种图像解码方法包括获取当前图像;从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;根据所述K幅参考图像对所述当前图像进行解码。实施例提供的技术方案有利于提高视频编/解码的效率。

Description

图像编解码方法和相关装置 技术领域
本发明涉及图像处理技术领域,具体涉及图像编码方法、图像解码方法和相关装置。
背景技术
传统视频编码中,为了使编码后的视频支持随机访问功能,在编码视频中会***一些随机访问点(random access point)。视频由随机访问点分割成多个具有随机访问功能的视频片段,可简称为随机访问片段,一个随机访问片段包括一幅或多幅图像(picture)。其中,一个随机访问片段中的图像可以进行帧内编码(Intra coding),或者,参考该随机访问片段中其它图像利用帧间预测进行编码,简称帧间编码(Inter coding)。
在传统技术中,一个随机访问片段中的图像只能作为该随机访问片段中的其他图像的参考图像(reference picture/frame),即不允许跨随机访问点的帧间预测(Inter prediction),这种传统机制在某些场景下可能会较大的限制视频编/解码的效率。
发明内容
本发明实施例提供图像编/解码方法和相关装置,以期提高视频编/解码的效率。
本发明实施例第一方面提供一种图像解码方法,包括:
获取当前图像;从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;根据所述K幅参考图像对所述当前图像进行解码。
结合第一方面,在第一方面的第一种可能的实施方式中,所述知识库中的至少1幅图像通过解码第二视频码流而得到。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述从知识库中选择当前图像的K幅参考图像包括:基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像 索引,从知识库中选择所述当前图像的K幅参考图像。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,与所述参考图像索引匹配的参考图像为所述当前图像所在随机访问片段之前的重建图像。
结合第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述方法还包括:若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
结合第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述当前图像的参考图像索引指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。
结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,若所述参考图像索引指示出所述当前图像的图像特征,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
结合第一方面的第五种可能的实施方式或第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
结合第一方面或第一方面的第一种至第七种可能的实施方式中的任意一种可能的实施方式,在第一方面的第八种可能的实施方式中,
所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
结合第一方面的第八种可能的实施方式,在第一方面的第九种可能的实施方式中,所述场景切换图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像通过解码第二视频码流或所述当前图像所 属的第一视频码流而得到,或者所述背景图像是通过对所述当前图像所属的第一视频码流中的已解码视频序列进行背景建模而得到。
结合第一方面或第一方面的第一种至第九种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十种可能的实施方式中,所述根据所述K幅参考图像对所述当前图像进行解码,包括:将所述K幅参考图像添加到所述当前图像的参考图像队列中,根据所述参考图像队列中的参考图像对所述当前图像进行解码。
结合第一方面或第一方面的第一种至第十种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十一种可能的实施方式中,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
或者,
若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
本发明实施例第二方面提供一种图像编码方法,包括:
获取当前图像;从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;根据所述K幅参考图像对所述当前图像进行编码。
结合第二方面,在第二方面的第一种可能的实施方式中,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
结合第二方面或第二方面的第一种至第二种可能的实施方式中的任意一种可能的实施方式,在第二方面的第三种可能的实施方式中,
所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述场景切换图像通过对所述当前图像所属视频序列进行场景切换检测而得到,或者,所述背景图像通过对所述当前图像所属的视频序列进行背景建模而得到。
结合第二方面或第二方面的第一种至第四种可能的实施方式中的任意一种可能的实施方式,在第二方面的第五种可能的实施方式中,所述知识库中的至少一幅图像由第二视频码流解码得到,或者,所述知识库中的至少一幅图像由所述当前图像所编码到的第一视频码流解码得到。
结合第二方面或第二方面的第一种至第五种可能的实施方式中的任意一种可能的实施方式,在第二方面的第六种可能的实施方式中,
所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;或者,
若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之 前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
本发明实施例第三方面提供一种图像解码装置,包括:
获取单元,用于获取当前图像;
参考单元,用于从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;
解码单元,用于根据所述K幅参考图像对所述当前图像进行解码。
结合第三方面,在第三方面的第一种可能的实施方式中,所述知识库中的至少1幅图像通过解码第二视频码流而得到。
结合第三方面或第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,所述参考单元具体用于:基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
结合第三方面的第二种可能的实施方式,在第三方面的第三种可能的实施方式中,与所述参考图像索引匹配的参考图像为所述当前图像所在随机访问片段之前的重建图像。
结合第三方面的第二种可能的实施方式或第三方面的第三种可能的实施方式,在第三方面的第四种可能的实施方式中,所述参考单元还用于:若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
结合第三方面的第二种可能的实施方式或第三方面的第三种可能的实施 方式或第三方面的第四种可能的实施方式,在第三方面的第五种可能的实施方式中,所述当前图像的参考图像索引指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。
结合第三方面的第五种可能的实施方式,在第三方面的第六种可能的实施方式中,若所述参考图像索引指示出所述当前图像的图像特征,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
结合第三方面的第五种可能的实施方式或第三方面的第六种可能的实施方式,在第三方面的第七种可能的实施方式中,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
结合第三方面或第三方面的第一种至第七种可能的实施方式中的任意一种可能的实施方式,在第三方面的第八种可能的实施方式中,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
结合第三方面的第八种可能的实施方式,在第三方面的第九种可能的实施方式中,所述场景切换图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像是通过对所述当前图像所属的第一视频码流中的已解码视频序列进行背景建模而得到。
结合第三方面或第三方面的第一种至第九种可能的实施方式中的任意一种可能的实施方式,在第三方面的第十种可能的实施方式中,所述解码单元具体用于将所述K幅参考图像添加到所述当前图像的参考图像队列中,根据所述参考图像队列中的参考图像对所述当前图像进行解码。
结合第三方面或第三方面的第一种至第十种可能的实施方式中的任意一种可能的实施方式,在第三方面的第十一种可能的实施方式中,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
或者,
若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
本发明实施例第四方面提供一种图像编码装置,包括:
获取单元,用于获取当前图像;
参考单元,用于从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;
编码单元,用于根据所述K幅参考图像对所述当前图像进行编码。
结合第四方面,在第四方面的第一种可能的实施方式中,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
结合第四方面或第四方面的第一种至第二种可能的实施方式中的任意一种可能的实施方式,在第四方面的第三种可能的实施方式中,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
结合第四方面的第三种可能的实施方式,在第四方面的第四种可能的实施方式中,所述场景切换图像通过对所述当前图像所属视频序列进行场景切换检测而得到,或者,所述背景图像通过对所述当前图像所属的视频序列进行背景 建模而得到。
结合第四方面或第四方面的第一种至第四种可能的实施方式中的任意一种可能的实施方式,在第四方面的第五种可能的实施方式中,所述知识库中的至少一幅图像由第二视频码流解码得到,或者,所述知识库中的至少一幅图像由所述当前图像所编码到的第一视频码流解码得到。
结合第四方面或第四方面的第一种至第五种可能的实施方式中的任意一种可能的实施方式,在第四方面的第六种可能的实施方式中,
所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;或者,
若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
此外,本申请实施例第五方面提供一种图像解码装置。图像解码装置包括存储器及与所述存储器耦合的处理器。所述存储器用于存储指令,所述处理器用于执行所述指令。当所述处理器在执行所述指令时可根据所述指令执行第一方面中的方法。
此外,本申请实施例第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储了用于图像解码的程序代码。所述程序代码包括用于执行 第一方面中的方法的指令。
本申请实施例第七方面还提供了一种图像解码装置。所述图像解码装置包括的单元能够执行第一方面中的方法。
此外,本申请实施例第八方面提供一种图像编码装置。图像编码装置包括存储器及与所述存储器耦合的处理器。所述存储器用于存储指令,所述处理器用于执行所述指令。当所述处理器在执行所述指令时可根据所述指令执行第二方面中的方法。
此外,本申请实施例第九方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储了用于图像编码的程序代码。所述程序代码包括用于执行第二方面中的方法的指令。
本申请实施例第十方面还提供了一种图像编码装置。所述图像编码装置包括的单元能够执行第二方面中的方法。
可以看出,本发明实施例的技术方案中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行编码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频编码的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-a~图1-b为本发明实施例提供的几种图像块的划分示意图
图1-c为本发明实施例提供的一种图像编码方法的流程示意图;
图2为本发明实施例提供的一种图像解码方法的流程示意图;
图3-a为本发明实施例提供的一种图像解码方法的流程示意图;
图3-b为本发明实施例提供的一种图像解码***架构的示意图;
图3-c~图3-d为本发明实施例提供的另两种界定随机访问片段的示意图;
图3-e~图3-f为本发明实施例提供的另两种图像解码***架构的示意图;
图4-a为本发明实施例提供的一种图像解码方法的流程示意图;
图4-b为本发明实施例提供的另一种图像解码***架构的示意图;
图5-a为本发明实施例提供的另一种图像编码方法的流程示意图;
图5-b~图5-d为本发明实施例提供的两种图像编码***架构的示意图;
图6为本发明实施例提供的一种图像解码装置的流程示意图;
图7为本发明实施例提供的另一种图像解码装置的流程示意图;
图8为本发明实施例提供的一种图像编码装置的流程示意图;
图9为本发明实施例提供的另一种图像编码装置的流程示意图。
具体实施方式
本发明实施例提供图像编/解码方法和相关装置,以期提高视频编/解码的效率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下分别进行详细说明。
下面先对本发明实施例可能涉及的一些概念进行介绍。
在多数的编码框架中,视频序列包括一系列图像(英文:picture),图像被进一步划分为切片(英文:slice),slice再被划分为块(英文:block)。视频编码以块为单位,可从picture的左上角位置开始从左到右从上到下一行一行进行编码处理。在一些新的视频编码标准中,block的概念被进一步扩展。在H.264 标准中有宏块(英文:macroblock,缩写:MB),MB可进一步划分成多个可用于预测编码的预测块(英文:partition)。其中,在HEVC标准中,采用编码单元(英文:coding unit,缩写:CU),预测单元(英文:prediction unit,缩写:PU)和变换单元(英文:transform unit,缩写:TU)等基本概念,从功能上划分了多种Unit,并采用全新的基于树结构进行描述。比如CU可以按照四叉树进行划分为更小的CU,而更小的CU还可以继续划分,从而形成一种四叉树结构。对于PU和TU也有类似的树结构。无论CU,PU还是TU,本质上都属于块block的概念,CU类似于宏块MB,是对编码图像进行划分和编码的基本单元。PU是预测编码的基本单元。其中,对CU按照划分模式进一步划分成多个PU。TU是对预测残差进行变换的基本单元。高性能视频编码(英文:high efficiency video coding,缩写:HEVC)标准中则可以把它们统一称之为编码树单元(英文:coding tree unit,缩写:CTU)等等。
在HEVC标准中,编码单元的大小可包括64×64,32×32,16×16和8×8等四个级别,每个级别的编码单元按照帧内预测和帧间预测由可以划分为不同大小的预测单元。其中,例如图1-a和图1-b所示,图1-a举例示出了一种与帧内预测对应的预测单元划分方式,图1-b举例示出了几种与帧间预测对应的预测单元划分方式。
在视频编码技术发展演进过程中,视频编码专家们发明了多种方法来利用相邻编解码块之间的时空相关性来努力提高编码效率。其中,在H264/高级视频编码(英文:advanced video coding,缩写:AVC)标准,跳过模式(skip mode)和直接模式(direct mode)成为提高编码效率的有效工具,在低码率时使用这两种编码模式的块能占到整个编码序列的一半以上。当使用跳过模式时,可只需要在码流中传递一个跳过模式标记,就可以利用周边运动矢量推导得到当前图像块的运动矢量,根据该运动矢量来直接拷贝参考块的值作为当前图像块的重建值。此外,当使用直接模式时,编码器可以利用周边运动矢量推导得到当前图像块的运动矢量,根据该运动矢量直接拷贝参考块的值作为当前图像块的预测值,编码端利用该预测值对当前图像块进行编码预测。目前最新的高性能视频编码(英文:high efficiency video coding,缩写:HEVC)标准中,通过 引进一些新编码工具,进一步提高视频编码性能。融合编码(merge)模式和自适应运动矢量预测(英文:advanced motion vector prediction,缩写:AMVP)模式是两个重要的帧间预测工具。融合编码(merge)利用当前编码块周边已编码块的运动信息(可包括运动矢量(英文:motion vector,缩写:MV)和预测方向和参考帧索引等)构造一个候选运动信息集合,通过比较,可选择出编码效率最高的候选运动信息作为当前编码块的运动信息,在参考帧中找到当前编码块的预测值,对当前编码块进行预测编码,同时,可把表示选择来自哪个周边已编码块的运动信息的索引值写入码流。当使用自适应运动矢量预测模式时,利用周边已编码块的运动矢量作为当前编码块运动矢量的预测值,可以选定一个编码效率最高的运动矢量来预测当前编码块的运动矢量,并可把表示选定哪个周边运动矢量的索引值写入视频码流。
下面先介绍本发明实施例提供的图像编码方法,本发明实施例提供的图像编码方法的执行主体是图像编码装置,其中,该图像编码装置可以是任何需要输出或存储视频的装置,如笔记本电脑、平板电脑、个人电脑、手机或视频服务器等设备。
本发明图像编码方法的一个实施例。一种图像编码方法可以包括:获取当前图像;从知识库中选择上述当前图像的K幅参考图像,其中,上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,上述K为大于或等于1的整数;根据上述K幅参考图像对上述当前图像进行编码。
参见图1-c,图1-c为本发明的一个实施例提供的一种图像编码方法的流程示意图。其中,如图1-c所示,本发明的一个实施例提供的一种图像编码方法可以包括:
S101、获取当前图像。
S102、从知识库中选择上述当前图像的K幅参考图像。上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,上述K为大于或等于1的整数。
其中,知识库可看成是可容纳当前图像的候选参考图像的图像集,知识库中的部分或全部图像可能被选为当前图像的参考图像。知识库中的图像可能是 原始图像也可能是重建图像。
其中,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像。因此上述K幅参考图像中的至少一幅图像可能不属于上述当前图像所在的随机访问片段,当然某些时候上述K幅参考图像中的任意一幅图像也可能都属于上述当前图像所在的随机访问片段。
其中,上述K幅参考图像可能是上述当前图像的全部参考图像,也可能是上述当前图像的部分参考图像。
可选的,K例如可等于9、1、2、3、4、5、8、10、20、30、43、50或其他正整数。
其中,在不同场景下,上述当前图像所在的随机访问片段的界定方式可能不尽相同,例如上述当前图像所在随机访问片段可包括:在解码顺序上,上述当前图像所在视频层中,从上述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像。或者若上述当前图像位于依赖层,上述当前图像所在随机访问片段包括:在解码顺序上,上述当前图像所在的视频层之中,从上述当前图像之前最近的随机访问点开始到上述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,上述当前图像的X个参考图像所在的视频层中,从上述X个参考图像之前最近的随机访问点开始到上述X个参考图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像;上述当前图像所在随机访问片段包含上述X个参考图像之前最近的随机访问点的图像,但不包含上述X个参考图像之后最近的随机访问点的图像,上述X个参考图像为上述当前图像的在依赖层之外的其他视频层的参考图像。
其中,X为大于或等于1的整数。
可选的,X例如可等于9、1、2、3、4、5、7、11、20、30、43、50或其他的正整数。
S103、根据上述K幅参考图像对上述当前图像进行编码。
其中,根据上述K幅参考图像对上述当前图像进行编码可包括:根据上述K幅参考图像对上述当前图像进行预测以得到当前图像的预测像素值,根据当前图像的原始像素值和预测像素值得到当前图像的预测残差,将当前图像块的预测残差写入第一视频码流。
可以看出,本实施例的方案图像编码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行编码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频编码的效率。
可选的,在本发明的一些可能的实施方式中,可以基于预设策略从知识库中选择上述当前图像的K幅参考图像。例如,上述K幅参考图像的图像特征与上述当前图像的图像特征相匹配,其中,上述K幅参考图像的图像特征与上述当前图像的图像特征相匹配具体可指,上述K幅参考图像的图像特征与上述当前图像的图像特征的相似度超过设定阈值,其中,该设定阈值例如可为0.85或70%、81%、88%或满足要求的其它值。所述相似度例如两个图像特征矢量之间的线性相关性,或者两个图像特征矢量中各组元素间最大差值的倒数,或者两个图像特征矢量之间的汉明距离的倒数。
可选的,在本发明的一些可能的实施方式中,上述图像特征例如可包括图像尺度不变转换特征(SIFT,Scale-invariant feature transform)和/或图像加速稳健特征(SURF,Speeded Up Robust Features),当然亦可能包括其它的图像 特征。
其中,上述知识库中包括的图像可能是多种多样的,例如,上述知识库中可包括上述当前图像所属视频序列内的关键图像经过压缩编码而得到的重建图像,上述当前图像所属视频序列内的关键图像可包括上述当前图像所属视频序列内的场景切换(scene cut)图像或/和背景图像。
其中,可以通过多种方式获得上述场景切换图像或/和背景图像。例如上述场景切换图像可以通过对上述当前图像所属视频序列进行场景切换检测而得到,或者,上述背景图像通过对上述当前图像所属的视频序列进行背景建模而得到。
可以看出,由于上述方案支持选择一个或者多个背景图像作为当前图像的参考图像,并且支持所选择的背景图像可以不是当前图像的前面最近的一幅背景图像,在研究和实践过程中发现,这种机制有利于更灵活地消除视频内的冗余信息。
可选的,在本发明的一些可能的实施方式中,上述知识库中的至少一幅图像可由第二视频码流解码得到,和/或,上述知识库中的至少一幅图像由上述当前图像所编码到的第一视频码流解码得到。第一视频码流和第二视频码流为不同的视频码流。例如第一视频码流的图像编号和第二视频码流的图像编号相互独立。第一视频码流的图像编号指示了显示顺序上各图像的相对关系,例如显示顺序上编号较小的图像出现在编号较大的图像前面,而第二视频码流的图像编号可不指示时间先后关系。第一视频码流中编号与第二视频码流中编号相同的图像也并不一定对应于同一时刻。
可选的,在本发明的一些可能的实施方式中,还可将上述当前图像的参考图像索引写入第一视频码流中,其中,上述当前图像的参考图像索引可直接或间接的指示出上述当前图像的参考图像。例如,上述当前图像的参考图像索引可以指示出参考图像的编号、参考图像的图像特征和/或上述当前图像的图像特征等。解码端则可根据上述当前图像的参考图像索引来确定上述当前图像的参考图像。
下面还介绍本发明实施例提供的图像解码方法,本发明实施例提供的图像 解码方法的执行主体是图像解码装置,其中,该图像解码装置可以是任何需要输出或存储视频的装置,如笔记本电脑、平板电脑、个人电脑、手机或视频服务器等设备。
本发明图像解码方法的一个实施例。一种图像解码方法可以包括:获取当前图像;从知识库中选择上述当前图像的K幅参考图像,其中,上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,上述K为大于或等于1的整数;根据上述K幅参考图像对上述当前图像进行编码。
请参见图2,图2为本发明的另一个实施例提供的一种图像解码方法的流程示意图。其中,如图2所示,本发明的另一个实施例提供的一种图像解码方法可以包括:
201、获取当前图像。
其中,在图像解码流程中,当前图像亦可称之为当前解码图像,其对应于第一视频码流中的部分码流。
202、从知识库中选择所述当前图像的K幅参考图像。其中,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数。
其中,知识库可看成是可容纳当前图像的候选参考图像的图像集,知识库中的部分或全部图像可能被选为当前图像的参考图像。知识库中的图像可能是原始图像也可能是重建图像。知识库中可包括至少两幅图像。
其中,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像。因此上述K幅参考图像中的至少一幅图像可能不属于上述当前图像所在的随机访问片段,当然某些时候上述K幅参考图像中的任意一幅图像也可能都属于上述当前图像所在的随机访问片段。
其中,上述K幅参考图像可能是上述当前图像的全部参考图像,也可能是上述当前图像的部分参考图像。
可选的,K例如可等于9、1、2、3、4、5、8、10、20、30、43、50或其他正整数。
其中,在不同场景下,上述当前图像所在的随机访问片段的界定方式可能不尽相同,例如上述当前图像所在随机访问片段可包括:在解码顺序上,上述当前图像所在视频层中,从上述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像。或者若上述当前图像位于依赖层,上述当前图像所在随机访问片段包括:在解码顺序上,上述当前图像所在的视频层之中,从上述当前图像之前最近的随机访问点开始到上述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,上述当前图像的X个参考图像所在的视频层中,从上述X个参考图像之前最近的随机访问点开始到上述X个参考图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像;上述当前图像所在随机访问片段包含上述X个参考图像之前最近的随机访问点的图像,但不包含上述X个参考图像之后最近的随机访问点的图像,上述X个参考图像为上述当前图像的在依赖层之外的其他视频层的参考图像。
需要说明的是,如果当前图像位于一个随机访问点,则当前图像之前最近的随机访问点即为当前图像所在的随机访问点;如果当前图像在其他视频层的参考图像位于一个随机访问点,则该参考图像之前最近的随机访问点即为该参考图像所在的随机访问点。
另外,在一些编码结构下,例如若在使用层次B帧(Hierarchical B)结构对当前图像所在视频序列编码的码流中,则当前图像所在的随机访问片段还可以包括当前图像之前次近的随机访问点。
其中,X为大于或等于1的整数。
可选的,X例如可等于9、1、2、3、4、5、7、11、20、30、43、50或其他的正整数。
203、根据所述K幅参考图像对所述当前图像进行解码。
其中,根据上述K幅参考图像对上述当前图像进行解码可包括:根据上述K幅参考图像对上述当前图像进行预测以得到当前图像的预测像素值,根据当前图像的预测像素值和预测残差对当前图像进行重建得到的当前图像的重建图像。
可以看出,本实施例的方案图像解码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行解码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频解码的效率。
可选的,在本发明的一些可能的实施方式中,所述知识库中的至少1幅图像通过解码第二视频码流而得到。所述知识库中的至少1幅图像也可事先存储在图像解码装置中。例如,图像解码装置和图像编码装置均可实现存储相同或部分相同的知识库,图像解码装置和图像编码装置也均可通过解码第二视频码流来获得重建图像,并将获得的重建图像加入各自维护的知识库中。
可选的,在本发明的一些可能的实施方式中,所述从知识库中选择当前图像的K幅参考图像,可包括:基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
其中,所述当前图像的参考图像索引可指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。例如,若所述参考图像索引指示出所述当前图像的图像特征,则所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。其中,上述K幅参考图像的图像特征与上述当前图像的图像特征相匹配具体可指,上述K幅参考图像的图像特征与上述当前图像的图像 特征的相似度超过设定阈值(阈值例如可为0.85、70%、85%、88%或满足要求的其它值)。所述相似度例如两个图像特征矢量之间的线性相关性,或者两个图像特征矢量中各组元素间最大差值的倒数,或者两个图像特征矢量之间的汉明距离的倒数。
可选的,在本发明的一些可能的实施方式中,上述图像特征例如可包括图像尺度不变转换特征(SIFT)和/或图像加速稳健特征(SURF),当然亦可能包括其它的图像特征。
可选的,在本发明的一些可能的实施方式中,与所述参考图像索引匹配的参考图像例如可包括所述当前图像所在随机访问片段之前的重建图像。
可选的,在本发明的一些可能的实施方式中,所述方法还包括:若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
具体例如,可以先在参考图像缓存中查找是否存在与所述参考图像索引匹配的参考图像,若在参考图像缓存中未查找到与所述参考图像索引匹配的参考图像,则可进一步的在第二视频码流中查找是否存在与所述参考图像索引匹配的参考图像,若为在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,可进一步向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
其中,上述知识库中包括的图像可能是多种多样的,例如上述知识库可包括上述当前图像所属视频序列内的关键图像经过压缩编码得到重建图像,上述当前图像所属视频序列内的关键图像可包括上述当前图像所属视频序列内的场景切换图像或/和背景图像。
其中,可以通过多种方式获得上述场景切换图像或/和背景图像。例如所述场景切换图像通过解码第二视频码流或所述当前图像所属的第一视频码流 而得到,或者所述背景图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像是通过对所述当前图像所属的第一视频码流中的已解码视频序列进行背景建模而得到。
可选的,在本发明的一些可能的实施方式中,上述知识库中的至少一幅图像可由第二视频码流解码得到,和/或,上述知识库中的至少一幅图像由上述当前图像所编码到的第一视频码流解码得到。第二视频码流和第一视频码流为不同的视频码流。例如第一视频码流的图像编号和第二视频码流的图像编号相互独立。第一视频码流的图像编号指示了显示顺序上各图像的相对关系,例如显示顺序上编号较小的图像出现在编号较大的图像前面,而第二视频码流的图像编号可不指示时间先后关系。第一视频码流中编号与第二视频码流中编号相同的图像也并不一定对应于同一时刻。
可选的,在本发明的一些可能的实施方式中,所述根据所述K幅参考图像对所述当前图像进行解码,可以包括:将所述K幅参考图像添加到所述当前图像的参考图像队列(reference picture list)中,根据所述参考图像队列中的参考图像对所述当前图像进行解码。
为便于更好的理解和实施本发明实施例的上述方案,下面结合更具体的应用场景进行进一步说明。
请参见图3-a和图3-b,图3-a为本发明的另一个实施例提供的一种图像解码方法的流程示意图。其中,图3-a所示的图像解码方法可基于图3-b所示的图像解码***架构来实施。
其中,如图3-a所示,本发明的另一个实施例提供的一种图像解码方法可以包括:
S301、图像解码装置从第一视频码流获取当前图像。
其中,在图像解码流程中,当前图像亦可称之为当前解码图像,其对应于第一视频码流中的部分码流。
图像解码装置中可包含一个参考图像缓存,其中,参考图像缓存中可存储短期参考图像和长期参考图像,用于预测当前解码图像。
S302、图像解码装置从知识库中选择所述当前图像的K幅参考图像,将所 述K幅参考图像添加到所述当前图像的参考图像队列中。其中,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数。
其中,知识库可看成是可容纳当前图像的候选参考图像的图像集,知识库中的部分或全部图像可能被选为当前图像的参考图像。知识库中的图像可能是原始图像也可能是重建图像。知识库中可包括至少两幅图像。
特别地,知识库中的图像还可以为图像解码装置预先存储的图像;这些图像可以不对应于当前图像所在视频序列中的图像,例如可包括由多种图案构成的图像或者还可包括由计算机渲染得到的图像;甚至也还可以包括从网络下载的加入知识库的图像;也可以包括从移动存储设备中拷贝到知识库的图像。知识库可以设置为处于动态积累的状态,包含的图像数量和内容随着时间推移不断更新。这些图像可以包括未经编码压缩的图像,也包括不属于当前图像所在随机访问片段的图像。
其中,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像。因此上述K幅参考图像中的至少一幅图像可能不属于上述当前图像所在的随机访问片段,当然某些时候上述K幅参考图像中的任意一幅图像也可能都属于上述当前图像所在的随机访问片段。
其中,在不同场景下,上述当前图像所在的随机访问片段的界定方式可能不尽相同,例如上述当前图像所在随机访问片段可包括:在解码顺序上,上述当前图像所在视频层中,从上述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像。或者若上述当前图像位于依赖层,上述当前图像所在随机访问片段包括:在解码顺序上,上述当前图像所在的视频层之中,从上述当前图像之前最近的随机访问点开始到上述当前图像之后最近的随机访问 点之前的图像,以及在解码顺序上,上述当前图像的X个参考图像所在的视频层中,从上述X个参考图像之前最近的随机访问点开始到上述X个参考图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像;上述当前图像所在随机访问片段包含上述X个参考图像之前最近的随机访问点的图像,但不包含上述X个参考图像之后最近的随机访问点的图像,上述X个参考图像为上述当前图像的在依赖层之外的其他视频层的参考图像。
例如参见图3-c,解码一个包含了一层独立层和一层依赖层的第一视频码流中的依赖层的一幅图像,如图3-c中的A图像(当前图像),A图像所在的随机访问片段包括依赖层中解码顺序上位于A图像之前最近的随机访问点RAP2图像开始到图像之后最近的随机访问点RAP4图像之前的图像,并且,还包括A图像在独立层的参考图像B图像在独立层中解码顺序上位于B图像之前最近的随机访问点RAP1图像开始到B图像之后最近的随机访问点RAP3图像之前的图像。解码装置可从知识库中选取一幅图像C图像作为A图像的参考图像,加入A图像的参考图像队列,对A图像进行解码;C图像不属于A图像所在的随机访问片段。
又例如参见图3-d,解码一个包含了一层独立层和两层依赖层的视频码流中的第二依赖层的一幅图像,如图3-d中的A图像(当前图像),A图像所在的随机访问片段包括第二依赖层中解码顺序上位于A图像之前最近的随机访问点RAP5图像开始到图像之后最近的随机访问点RAP6图像之前的图像,并包括A图像在第一依赖层中的参考图像B图像在第一依赖层中解码顺序上位于B图像之前最近的随机访问点RAP3图像开始到B图像之后最近的随机访问点RAP4图像之前的图像,并且也还包括B图像在独立层中的参考图像C图像在独立层中解码顺序上位于C图像之前最近的随机访问点RAP1图像开始到C图像之后最近的随机访问点RAP2图像之前的图像。解码装置从知识库中选取一幅图像D图像作为A图像的参考图像,D图像不属于A图像所在的随机访问片段。其他情况以此类推。
需要说明的是,如果当前图像位于一个随机访问点,则当前图像之前最近的随机访问点即为当前图像所在的随机访问点;如果当前图像在其他视频层的参考图像位于一个随机访问点,则该参考图像之前最近的随机访问点即为该参考图像所在的随机访问点。
另外,在一些编码结构下,例如若在使用层次B帧(Hierarchical B)结构对当前图像所在视频序列编码的码流中,当前图像所在的随机访问片段还可以包括当前图像之前次近的随机访问点。
可选的,在本发明的一些可能的实施方式中,所述从知识库中选择当前图像的K幅参考图像,可包括:基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
其中,所述当前图像的参考图像索引可指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。例如,若所述参考图像索引指示出所述当前图像的图像特征,则所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。其中,上述K幅参考图像的图像特征与上述当前图像的图像特征相匹配具体可指,上述K幅参考图像的图像特征与上述当前图像的图像特征的相似度超过设定阈值(阈值例如可为70%、85%、88%或满足要求的其它值)。或者,上述K幅参考图像的图像特征与上述当前图像的图像特征的相似度,可以大于或等于其他上述当前图像与知识库中的其他图像的图像特征的相似度。
可选的,在本发明的一些可能的实施方式中,上述图像特征例如可包括图像尺度不变转换特征(SIFT)和/或图像加速稳健特征(SURF),当然亦可能包括其它的图像特征。
S303、图像解码装置根据所述参考图像队列中的参考图像对所述当前图像进行解码。
其中,图像解码装置根据上述K幅参考图像对上述当前图像进行解码具体可以包括:根据上述K幅参考图像对上述当前图像进行预测以得到当前图像的预测像素值,根据当前图像的预测像素值和预测残差对当前图像进行重建得到 的当前图像的重建图像。
进一步的,如图3-e举例所示,图像解码装置还可将从第一视频码流中解码得到背景图像的重建图像加入知识库中。
进一步的,如图3-f举例所示,还可将对解码第一视频码流得到的视频序列进行场景切换检测,以得到解码第一视频码流得到的视频序列中的场景切换图像,将得到场景切换图像的重建图像加入知识库中。
其中,场景切换检测方法有多种较成熟的方法,例如计算相邻两幅图像中多组像素之间的像素值差异均值,当像素值差异均值大于某一阈值时,认为这两幅图像之间发生了场景切换;又例如对两幅图像分别提取图像特征(例如SIFT),当图像特征的匹配度小于某一阈值时,认为这两帧图像之间发生了场景切换。
可选的,在本发明的一些可能的实施方式中,所述方法还包括:若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像添加到所述当前图像的参考图像队列。
具体例如,可以先在参考图像缓存中查找是否存在与所述参考图像索引匹配的参考图像,若在参考图像缓存中未查找到与所述参考图像索引匹配的参考图像,则可进一步的在第二视频码流中查找是否存在与所述参考图像索引匹配的参考图像,若为在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,可进一步向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像添加到所述当前图像的参考图像队列。
可以看出,本实施例的方案图像解码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行解码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段 的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频解码的效率。
请参见图4-a和图4-b,图4-a为本发明的另一个实施例提供的一种图像解码方法的流程示意图。其中,图4-a所示的图像解码方法可基于图4-b所示的图像解码***架构来实施。
其中,如图4-a所示,本发明的另一个实施例提供的一种图像解码方法可以包括:
S401、图像解码装置解码第二视频码流(知识库码流),将解码第二视频码流而得到的重建图像加入知识库中。
具体的,图像解码装置例如可以将第二视频码流中的至少一幅图像添加到知识库中;又例如,可以将第二视频码流中的多幅图像合成的背景图像添加到知识库中。
S402、图像解码装置从第一视频码流获取当前图像。
其中,在图像解码流程中,当前图像亦可称之为当前解码图像,其对应于第一视频码流中的部分码流。
图像解码装置中可包含一个参考图像缓存,其中,参考图像缓存中可存储短期参考图像和长期参考图像,用于预测当前解码图像。
其中,第一视频码流和第二视频码流为不同的视频码流。例如第一视频码流的图像编号和第二视频码流的图像编号相互独立。第一视频码流的图像编号指示了显示顺序上各图像的相对关系,例如显示顺序上编号较小的图像出现在编号较大的图像前面,而第二视频码流的图像编号可不指示时间先后关系。第一视频码流中编号与第二视频码流中编号相同的图像也并不一定对应于同一时刻。
S403、图像解码装置从知识库中选择所述当前图像的K幅参考图像,将所述K幅参考图像添加到所述当前图像的参考图像队列中。其中,所述知识库中 的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数。
其中,知识库可看成是可容纳当前图像的候选参考图像的图像集,知识库中的部分或全部图像可能被选为当前图像的参考图像。知识库中的图像可能是原始图像也可能是重建图像。知识库中可包括至少两幅图像。
特别地,知识库中的图像还可以为图像解码装置预先存储的图像;这些图像可以不对应于当前图像所在视频序列中的图像,例如可包括由多种图案构成的图像或者还可包括由计算机渲染得到的图像;甚至也还可以包括从网络下载的加入知识库的图像;也可以包括从移动存储设备中拷贝到知识库的图像。知识库可以设置为处于动态积累的状态,包含的图像数量和内容随着时间推移不断更新。这些图像可以包括未经编码压缩的图像,也包括不属于当前图像所在随机访问片段的图像。
其中,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像。因此上述K幅参考图像中的至少一幅图像可能不属于上述当前图像所在的随机访问片段,当然某些时候上述K幅参考图像中的任意一幅图像也可能都属于上述当前图像所在的随机访问片段。
其中,在不同场景下,上述当前图像所在的随机访问片段的界定方式可能不尽相同,例如上述当前图像所在随机访问片段可包括:在解码顺序上,上述当前图像所在视频层中,从上述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像。或者若上述当前图像位于依赖层,上述当前图像所在随机访问片段包括:在解码顺序上,上述当前图像所在的视频层之中,从上述当前图像之前最近的随机访问点开始到上述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,上述当前图像的X个参考图像所在的视频 层中,从上述X个参考图像之前最近的随机访问点开始到上述X个参考图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像;上述当前图像所在随机访问片段包含上述X个参考图像之前最近的随机访问点的图像,但不包含上述X个参考图像之后最近的随机访问点的图像,上述X个参考图像为上述当前图像的在依赖层之外的其他视频层的参考图像。
需要说明的是,如果当前图像位于一个随机访问点,则当前图像之前最近的随机访问点即为当前图像所在的随机访问点;如果当前图像在其他视频层的参考图像位于一个随机访问点,则该参考图像之前最近的随机访问点即为该参考图像所在的随机访问点。
另外,在一些编码结构下,例如若在使用层次B帧(Hierarchical B)结构对当前图像所在视频序列编码而得到的视频码流中,当前图像所在的随机访问片段还可以包括当前图像之前次近的随机访问点。
可选的,在本发明的一些可能的实施方式中,所述从知识库中选择当前图像的K幅参考图像,可包括:基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
其中,所述当前图像的参考图像索引可指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。例如,若所述参考图像索引指示出所述当前图像的图像特征,则所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。其中,上述K幅参考图像的图像特征与上述当前图像的图像特征相匹配具体可指,上述K幅参考图像的图像特征与上述当前图像的图像特征的相似度超过设定阈值(阈值例如可为70%、85%、88%或满足要求的其它值)。或者,上述K幅参考图像的图像特征与上述当前图像的图像特征的相似度,可以大于或等于其他上述当前图像与知识库中的其他图像的图像特征的相似度。所述相似度例如两个图像特征矢量之间的线性相关性,或者两个图像特征矢量中各组元素间最大差值的倒数,或者两个图像特征矢量之间的汉明距 离的倒数。
可选的,在本发明的一些可能的实施方式中,上述图像特征例如可包括图像尺度不变转换特征(SIFT)和/或图像加速稳健特征(SURF),当然亦可能包括其它的图像特征。
S404、图像解码装置根据所述参考图像队列中的参考图像对所述当前图像进行解码。
其中,图像解码装置根据上述K幅参考图像对上述当前图像进行解码具体可以包括:根据上述K幅参考图像对上述当前图像进行预测以得到当前图像的预测像素值,根据当前图像的预测像素值和预测残差对当前图像进行重建得到的当前图像的重建图像。
可选的,在本发明的一些可能的实施方式中,所述方法还包括:若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像添加到所述当前图像的参考图像队列。
具体例如,可以先在参考图像缓存中查找是否存在与所述参考图像索引匹配的参考图像,若在参考图像缓存中未查找到与所述参考图像索引匹配的参考图像,则可进一步的在第二视频码流中查找是否存在与所述参考图像索引匹配的参考图像,若为在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,可进一步向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像添加到所述当前图像的参考图像队列。
可以看出,本实施例的方案图像解码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行解码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随 机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频解码的效率。
下面结合一些更为具体的应用场景进行举例描述。假设,若将上述方案应用到在线流媒体场景下,那么用户终端(图像解码装置)点播视频时将视频接入时间信息发送给服务器端,视频接入时间信息例如为接入点相对于视频片头的间隔时间。
服务器根据视频接入时间信息发送两个视频码流(第一视频码流和第二视频码流)给用户终端,其中,第二视频码流中包含图像的数目一般小于第一视频码流中包含图像的数目。
又例如,若将上述方案应用到离线流媒体场景下,那么用户终端(图像解码装置)可以离线下载第一视频码流。用户终端观看视频时对第一视频码流进行解码,并播放第一视频码流的解码图像。
用户终端解码过程例如可至少包括以下一种处理:
处理方式一:用户终端解码第一视频码流过程中,如果发现当前图像需要参考第二视频码流中的指定图像进行解码,并且用户终端存储的第二视频码流中不包含指定图像,则用户终端向服务器端请求发送包含指定图像的第二视频码流增量码流。用户终端接收第二视频码流增量码流,将第二视频码流增量码流并入到第二视频码流中;解码第二视频码流增量码流以得到指定图像,将指定图像作为当前图像的参考图像,加入当前图像的参考图像队列中,用户终端利用参考图像队列对当前图像进行解码。
处理方式二:用户终端解码第一视频码流过程中,如果发现当前图像需要参考第二视频码流中的指定图像来进行解码,并且用户终端存储第二视频码流解码图像的内存中包含指定图像,则用户终端可将指定图像作为当前解码图像的参考图像,加入当前解码图像的参考图像队列中,用户终端利用参考图像队列对当前图像进行解码。
处理方式三:用户终端解码第一视频码流过程中,如果发现当前图像需要 参考第二视频码流中的指定图像进行解码,并且用户终端存储的第二视频码流中包含指定图像,但是用户终端存储第二视频码流解码图像的内存中不包含指定图像,则用户终端解码第二视频码流中相应的码流片段得到指定图像,将指定图像作为当前图像的参考图像,加入当前图像的参考图像队列中,用户终端利用参考图像队列对当前图像进行解码。其中,指定图像可加入存储第二视频码流解码图像的内存中。
又举例来说,可以将第一视频码流和第二视频码流存储在光盘、磁盘等存储介质上。其中,第一视频码流中图像的编号和第二视频码流中图像的编号相互独立,图像编号例如H.264等视频编码标准中采用的用于指示显示顺序的图像顺序序号(POC,Picture Order Count)。第二视频码流中包含图像的数目一般小于第一视频码流中包含图像的数目。
其中,图像解码装置可采用以下方案来对第一视频码流中至少一幅图像进行解码:
首先,对当前图像,图像解码装置基于第二视频码流获取至少一幅指定重建图像。更具体的,将存储第一视频码流解码重建图像的存储装置称为第一存储装置,将存储第二视频码流解码重建图像的存储装置称为第二存储装置。根据第一视频码流中当前图像对应的参考图像索引,在第二存储装置中寻找与所述参考图像索引匹配的重建图像,即为指定重建图像。如果第二存储装置中没有找到指定重建图像,则解析第二视频码流,在第二视频码流中找到对应于参考图像索引的目标图像码流,解码目标图像码流得到指定重建图像放入第二存储装置中。参考图像索引可包含一个或多个编号,每个编号对应于第二视频码流解码图像中的一幅解码图像;指定重建图像的数目与参考图像索引包含的编号的数目相同。特别地,如果在将指定图像加入第二存储装置时第二存储装置已满,则用指定重建图像替换第二存储装置中的相应数目的图像。上述参考图像索引可以存储在第一视频码流中,例如存在当前图像的条带头(slice header)之中,也可以存储在序列参数集(SPS,sequence parameter set)等语法结构单元中。此外,上述参考图像索引也可以存放在第一视频码流以外的其它存储空间中,例如将多个参考图像索引构成一个数据结构,将该数据结构编码后存放 在第二视频码流中。第二视频码流中的图像可采用帧内解码方式解码,也可以采用基于帧间预测的帧间解码方式解码。
图像解码装置可将指定重建图像作为第一视频码流中的当前图像的参考图像,对当前图像进行解码以得到当前图像的重建图像。当前图像的参考图像也可以包含其它图像,例如当前图像的参考图像也可以包含当前图像所在随机访问片段中已经解码的图像。解码的方法可采用基于帧间预测的帧间视频解码方法。
更具体的,为了降低复杂度,第一视频码流中可只有随机访问点所在图像才允许使用第二视频码流的重建图像作为参考图像进行解码,部分随机访问点的图像也可以使用传统的帧内解码方式。可在第一视频码流中使用不同的帧类型来区别随机访问点上这两类图像。第二视频码流中非随机访问点的图像可只允许使用当前图像所在随机访问片段中已经解码的图像。第二视频码流中的图像例如可仅采用帧内解码方式解码。
图像解码装置可按照第一视频码流中各解码图像的图像顺序序号,依次显示第一视频码流的解码图像。
其它解码场景此处不在一一举例。
请参见图5-a和图5-b,图5-a为本发明的另一个实施例提供的一种图像编码方法的流程示意图。其中,图5-a所示的图像编码方法可基于图5-b所示的图像编码***架构来实施。
其中,如图5-a所示,本发明的另一个实施例提供的一种图像编码方法可以包括:
S501、图像编码装置从视频序列中提取至少两幅关键图像,将关键图像编码后的重建图像加入知识库。
其中,如图5-c举例所示,图像编码装置可对当前图像所属视频序列进行背景建模以得到背景图像,对背景图像进行编码得到编码背景图像,对编码背景图像进行解码得到背景图像的重建图像,将得到的背景图像的重建图像加入知识库中。
如图5-d举例所示,图像编码装置还可将对当前图像所属的视频序列进行 场景切换检测,以得到当前图像所属的视频序列中的场景切换图像,将得到场景切换图像的重建图像加入知识库中。其中,场景切换检测方法有多种较成熟的方法,例如计算相邻两幅图像中多组像素之间的像素值差异均值,当像素值差异均值大于某一阈值时,认为这两幅图像之间发生了场景切换;又例如对两幅图像分别提取图像特征(例如SIFT),其中,当图像特征的匹配度小于某一阈值时,认为这两帧图像之间发生了场景切换。
关键图像的提取可采用的方法还可包括:计算视频序列中至少一幅图像与其时域相邻图像的像素值差异均值,将像素值差异均值小于某一预设阈值的图像作为关键图像;或者将视频序列中至少一个预定位置的图像作为关键图像,预定位置的图像例如包括第一幅图像、第二幅图像和/或最后一幅图像。
S502、图像编码装置从视频序列中获取当前图像。
其中,在图像编码流程中,当前图像亦可称之为当前编码图像,其对应于视频序列中的一幅图像。
图像编码装置中可包含一个参考图像缓存,其中,参考图像缓存中可存储短期参考图像和长期参考图像,用于预测当前编码图像。
S503、图像编码装置从知识库中选择所述当前图像的K幅参考图像,将所述K幅参考图像添加到所述当前图像的参考图像队列中。其中,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数。
其中,知识库可看成是可容纳当前图像的候选参考图像的图像集,知识库中的部分或全部图像可能被选为当前图像的参考图像。知识库中的图像可能是原始图像也可能是重建图像。知识库中可包括至少两幅图像。
可选的,在本发明的一些可能的实施方式中,所述从知识库中选择当前图像的K幅参考图像,可包括基于如下方法的至少一种来选择当前图像的K幅参考图像。
方法一:选取知识库中与当前图像最相似的至少一幅图像,其中,相似性计算可以使用多种相似性算子(similarity metric),例如均方误差,SIFT特征差异等。
方法二:将知识库中的一幅图像加入当前图像的参考图像队列中,进行预编码,得到当前图像的率失真代价(RD cost,Rate Distortion cost);对知识库中的至少两幅图像进行上述率失真代价计算,选择其中对应于最小率失真代价的图像作为当前图像的参考图像。
方法三:在知识库中预先存储的图像中,选取图像中包含与当前图像中某一区域相似图案的图像作为当前图像的参考图像。
特别地,知识库中的图像还可包括图像编码装置预先存储的图像;这些图像可以不对应于当前图像所在视频序列中的图像,例如可包括由多种图案构成的图像或者还可包括由计算机渲染得到的图像;甚至也还可以包括从网络下载的加入知识库的图像;也可包括从移动存储设备中拷贝到知识库的图像。知识库可以设置为处于动态积累的状态,包含的图像数量和内容随着时间推移不断更新。这些图像可以包括未经编码压缩的图像,也包括不属于当前图像所在随机访问片段的图像。
其中,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像。因此上述K幅参考图像中的至少一幅图像可能不属于上述当前图像所在的随机访问片段,当然某些时候上述K幅参考图像中的任意一幅图像也可能都属于上述当前图像所在的随机访问片段。
其中,在不同场景下,上述当前图像所在的随机访问片段的界定方式可能不尽相同,例如上述当前图像所在随机访问片段可包括:在编码顺序上,上述当前图像所在视频层中,从上述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像。或者若上述当前图像位于依赖层,上述当前图像所在随机访问片段包括:在编码顺序上,上述当前图像所在的视频层之中,从上述当前图像之前最近的随机访问点开始到上述当前图像之后最近的随机访问 点之前的图像,以及在编码顺序上,上述当前图像的X个参考图像所在的视频层中,从上述X个参考图像之前最近的随机访问点开始到上述X个参考图像之后最近的随机访问点之前的图像,其中,上述当前图像所在随机访问片段包含上述当前图像之前最近的随机访问点的图像,但不包含上述当前图像之后最近的随机访问点的图像;上述当前图像所在随机访问片段包含上述X个参考图像之前最近的随机访问点的图像,但不包含上述X个参考图像之后最近的随机访问点的图像,上述X个参考图像为上述当前图像的在依赖层之外的其他视频层的参考图像。
需要说明的是,如果当前图像位于一个随机访问点,则当前图像之前最近的随机访问点即为当前图像所在的随机访问点;如果当前图像在其他视频层的参考图像位于一个随机访问点,则该参考图像之前最近的随机访问点即为该参考图像所在的随机访问点。
另外,在一些编码结构下,例如若在使用层次B帧(Hierarchical B)结构对当前图像所在视频序列编码而得到的视频码流中,当前图像所在的随机访问片段还可以包括当前图像之前次近的随机访问点。
可选的,在本发明的一些可能的实施方式中,所述从知识库中选择当前图像的K幅参考图像,可包括:基于当前图像的图像特征,从知识库中选择所述当前图像的K幅参考图像。其中,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。其中,上述K幅参考图像的图像特征与上述当前图像的图像特征相匹配具体可指,上述K幅参考图像的图像特征与上述当前图像的图像特征的相似度超过设定阈值(阈值例如可为70%、85%、88%或满足要求的其它值)。或者,上述K幅参考图像的图像特征与上述当前图像的图像特征的相似度,可以大于或等于其他上述当前图像与知识库中的其他图像的图像特征的相似度。
可选的,在本发明的一些可能的实施方式中,上述图像特征例如可包括图像尺度不变转换特征(SIFT)和/或图像加速稳健特征(SURF),当然亦可能包括其它的图像特征。
S504、图像编码装置根据所述参考图像队列中的参考图像对所述当前图像 进行编码。
其中,图像编码装置根据上述K幅参考图像对上述当前图像进行编码具体可以包括:根据上述K幅参考图像对上述当前图像进行预测以得到当前图像的预测像素值,根据当前图像的预测像素值和预测残差对当前图像进行重建得到的当前图像的重建图像。
进一步的,图像编码方法还可以包括:图像编码装置在第一视频码流中加入知识库参考信息(即参考图像索引),其中,所述知识库参考信息记录了当前编码图像参考知识库中图像的信息,可为知识库图像的图像编号、图像特征描述符、图像MD5校验码中的至少一种。图像特征例如包括SIFT和/或SURF等等。当知识库包括多种类型的图像时,知识库参考信息还可以包含图像类型信息,例如当知识库配置为包括N个背景图像和M个场景图像时(N和M为正整数),知识库中图像的索引可以通过图像类型和相应图像类型中图像的编号来指示。特别的,当知识库配置为包括多种类型的图像且每种类型的图像只有一幅,那么可以直接通过图像类型来指示知识库中的某一幅图像。
进一步的,图像编码装置还可存储或者发送由编码关键图像后得到的第二视频码流;图像编码装置还可存储或者发送第一视频码流。
可以看出,本实施例的方案图像编码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行编码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频编码的效率。
本发明实施例还提供一种视频码流,该视频码流中包含A图像,同时包含了A图像的图像特征,图像特征例如包括SIFT和/或SURF。解码A图像时,计算知识库中至少一幅图像的图像特征,如果其中至少一幅图像的图像特征与A 图像的图像特征的差异小于设定阈值,则选择其中至少一幅图像作为A图像的参考图像。
本发明实施例还提供一种视频码流,包括第一视频码流和第二视频码流中的至少一种。第一视频码流包含A图像,第二视频码流包含B图像,第一视频码流中还包含B图像的图像特征,图像特征例如包括SIFT和/或SURF。B图像的图像特征与A图像关联,例如B图像的图像序号可以存储在A图像码流片段中的条带头信息中。其中,解码A图像时,先解码第二视频码流并将其重建图像存入知识库中,然后,从第一视频码流解析得到B图像的图像特征,再通过B图像的图像特征从知识库中检索到B图像作为A图像的参考图像,以对A图像进行解码。
本发明实施例还提供一种视频码流,包括第一视频码流和第二视频码流中的至少一种。第一视频码流中包含A图像,第二视频码流中包含B图像,第一视频码流中还包含B图像在第二视频码流中的图像序号。B图像的图像序号与A图像关联,例如B图像的图像序号可以存储在A图像的条带头信息中。B图像的图像序号不依赖于所述第一视频码流中的A图像的图像序号,例如B图像的图像序号以其绝对的数值存储在A图像码流片段中的条带头信息中,而不是以B图像的图像序号与A图像的图像序号的差分值的方式。解码A图像时,可先解码第一视频码流得到B图像的图像序号,然后通过B图像的图像序号在第二视频码流中找到B图像的码流片段,解码得到B图像后将B图像作为A图像的参考图像,加入A图像的参考图像队列,对A图像进行解码。
例如,第一视频码流和第二视频码流各自独立采用一套图像序号,也就是说第二视频码流的图像序号与第一视频码流的图像序号没有关联,其中,第一视频码流中的图像并不一定在时间上晚于第二视频码流中具有更小图像序号的图像。第一视频码流的图像序号表示了显示时间上的先后顺序,第二视频码流的图像序号可以没有这种时间先后的约束。其中,第二视频码流中各图像的图像序号可以按照各图像被第一视频码流中图像用作参考图像的次数多少进行编号,例如作为第二视频码流中一幅图像被用作参考图像的次数越多,则这幅图像的序号越小。第一视频码流的解码图像用于显示,第二视频码流的解码 图像不用于显示。
参见图6,本发明实施例还提供一种图像解码装置,可包括:
获取单元610,用于获取当前图像。
参考单元620,用于从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;
解码单元630,用于根据所述K幅参考图像对所述当前图像进行解码。
可选的,在本发明的一些可能的实施方式中,所述知识库中的至少1幅图像通过解码第二视频码流而得到。
可选的,在本发明的一些可能的实施方式中,所述从知识库中选择当前图像的K幅参考图像可以包括:基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
可选的,在本发明的一些可能的实施方式中,与所述参考图像索引匹配的参考图像为所述当前图像所在随机访问片段之前的重建图像。
可选的,在本发明的一些可能的实施方式中,所述参考单元还用于若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
可选的,在本发明的一些可能的实施方式中,所述当前图像的参考图像索引可指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。
可选的,在本发明的一些可能的实施方式中,若所述参考图像索引指示出所述当前图像的图像特征,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
可选的,在本发明的一些可能的实施方式中,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
可选的,在本发明的一些可能的实施方式中,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
可选的,在本发明的一些可能的实施方式中,所述场景切换图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像是通过对所述当前图像所属的第一视频码流中的已解码视频序列进行背景建模而得到。
可选的,在本发明的一些可能的实施方式中,所述解码单元630具体用于将所述K幅参考图像添加到所述当前图像的参考图像队列中,根据所述参考图像队列中的参考图像对所述当前图像进行解码。
可选的,在本发明的一些可能的实施方式中,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
或者,
若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
可以理解的是,本实施例的图像解码装置600的各功能模块的功能可根据 上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例图像解码装置600在图像解码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行解码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频解码的效率。
参见图7,本发明实施例提供的一种图像解码装置700,可包括:
处理器702和存储器703。其中,处理器702和存储器703通过总线701耦合连接。
所述处理器702通过调用所述存储器703中的代码或指令以用于,获取当前图像;从知识库中选择所述当前图像的K幅参考图像,其中,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;根据所述K幅参考图像对所述当前图像进行解码。
可选的,在本发明的一些可能的实施方式中,所述知识库中的至少1幅图像通过解码第二视频码流而得到。
可选的,在本发明的一些可能的实施方式中,所述从知识库中选择当前图像的K幅参考图像可以包括:基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
可选的,在本发明的一些可能的实施方式中,与所述参考图像索引匹配的参考图像为所述当前图像所在随机访问片段之前的重建图像。
可选的,在本发明的一些可能的实施方式中,所述处理器702还用于若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求 包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
可选的,在本发明的一些可能的实施方式中,所述当前图像的参考图像索引可指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。
可选的,在本发明的一些可能的实施方式中,若所述参考图像索引指示出所述当前图像的图像特征,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
可选的,在本发明的一些可能的实施方式中,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
可选的,在本发明的一些可能的实施方式中,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
可选的,在本发明的一些可能的实施方式中,所述场景切换图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像是通过对所述当前图像所属的第一视频码流中的已解码视频序列进行背景建模而得到。
可选的,在本发明的一些可能的实施方式中,所述处理器702具体用于将所述K幅参考图像添加到所述当前图像的参考图像队列中,根据所述参考图像队列中的参考图像对所述当前图像进行解码。
可选的,在本发明的一些可能的实施方式中,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
或者,
若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
可以理解的是,本实施例的图像解码装置700的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例图像解码装置700在图像解码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行解码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频解码的效率。
参见图8,本发明实施例还提供一种图像编码装置800,可以包括:获取单元810、参考单元820和编码单元830。
其中,获取单元810,用于获取当前图像。
参考单元820,用于从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数。
编码单元830,用于根据所述K幅参考图像对所述当前图像进行编码。
可选的,在本发明的一些可能的实施方式中,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
可选的,在本发明的一些可能的实施方式中,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
可选的,在本发明的一些可能的实施方式中,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
可选的,在本发明的一些可能的实施方式中,所述场景切换图像通过对所述当前图像所属视频序列进行场景切换检测而得到,或者,所述背景图像通过对所述当前图像所属的视频序列进行背景建模而得到。
可选的,在本发明的一些可能的实施方式中,所述知识库中的至少一幅图像由第二视频码流解码得到,或者,所述知识库中的至少一幅图像由所述当前图像所编码到的第一视频码流解码得到。
可选的,在本发明的一些可能的实施方式中,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
或者,
若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的 图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
可以理解的是,本实施例的图像编码装置800的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例的图像编码装置800图像编码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行编码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频编码的效率。
参见图9,本发明实施例提供的一种图像编码装置900,可包括:
处理器902和存储器903。其中,处理器902和存储器903通过总线901耦合连接。所述处理器902通过调用所述存储器903中的代码或指令以用于,获取当前图像;从知识库中选择所述当前图像的K幅参考图像,其中,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;根据所述K幅参考图像对所述当前图像进行编码。
可选的,在本发明的一些可能的实施方式中,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
可选的,在本发明的一些可能的实施方式中,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
可选的,在本发明的一些可能的实施方式中,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
可选的,在本发明的一些可能的实施方式中,所述场景切换图像通过对所 述当前图像所属视频序列进行场景切换检测而得到,或者,所述背景图像通过对所述当前图像所属的视频序列进行背景建模而得到。
可选的,在本发明的一些可能的实施方式中,所述知识库中的至少一幅图像由第二视频码流解码得到,或者,所述知识库中的至少一幅图像由所述当前图像所编码到的第一视频码流解码得到。
可选的,在本发明的一些可能的实施方式中,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
或者,
若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
可以理解的是,本实施例的图像编码装置900的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例的图像编码装置900图像编码过程中,获取当前图像之后,可从知识库中选择上述当前图像的K幅参考图像,根据上述K幅参考图像对上述当前图像进行编码,由于上述知识库中的至少一幅图像不属于上述当前图像所在的随机访问片段,也就是说,至少一幅不属于上述当前图像所在的 随机访问片段的图像可作为当前图像的候选参考图像,这使得不属于上述当前图像所在的随机访问片段的图像也可能被选为当前图像的参考图像,这在一定程度上打破了传统技术中对当前图像的参考图像候选范围的限制,由于上述方案在一定程度上扩展了当前图像的参考图像的候选范围,进而有利于一定程度上提高视频编码的效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,其中,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (57)

  1. 一种图像解码方法,其特征在于,包括:
    获取当前图像;
    从知识库中选择所述当前图像的K幅参考图像,其中,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;
    根据所述K幅参考图像对所述当前图像进行解码。
  2. 根据权利要求1所述的方法,其特征在于,所述知识库中的至少1幅图像通过解码第二视频码流而得到。
  3. 根据权利要求1或2所述的方法,其特征在于,所述从知识库中选择当前图像的K幅参考图像包括:基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
  4. 根据权利要求3所述的方法,其特征还在于,
    与所述参考图像索引匹配的参考图像为所述当前图像所在随机访问片段之前的重建图像。
  5. 根据权利要求3或4所述的方法,其特征在于,
    所述方法还包括:若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
  6. 根据权利要求3或4或5所述的方法,其特征在于,所述当前图像的参考图像索引指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。
  7. 根据权利要求6所述的方法,其特征在于,若所述参考图像索引指示出所述当前图像的图像特征,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
  8. 根据权利要求6或7所述的方法,其特征在于,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
  9. 根据权利要求1至8任一项所述的方法,其特征在于,
    所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
  10. 根据权利要求9所述的方法,其特征在于,所述场景切换图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像是通过对所述当前图像所属的第一视频码流中的已解码视频序列进行背景建模而得到。
  11. 根据权利要求1至10任一项所述的方法,其特征在于,所述根据所述K幅参考图像对所述当前图像进行解码,包括:将所述K幅参考图像添加到所述当前图像的参考图像队列中,根据所述参考图像队列中的参考图像对所述当前图像进行解码。
  12. 根据权利要求1至11任一项所述的方法,其特征还在于,
    所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
    或者,
    若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随 机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
  13. 一种图像编码方法,其特征在于,包括:
    获取当前图像;
    从知识库中选择所述当前图像的K幅参考图像,其中,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;
    根据所述K幅参考图像对所述当前图像进行编码。
  14. 根据权利要求13所述的方法,其特征在于,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
  15. 根据权利要求14所述的方法,其特征在于,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
  16. 根据权利要求13至15任一项所述的方法,其特征在于,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
  17. 根据权利要求16所述的方法,其特征在于,所述场景切换图像通过对所述当前图像所属视频序列进行场景切换检测而得到,或者,所述背景图像通过对所述当前图像所属的视频序列进行背景建模而得到。
  18. 根据权利要求13至17任一项所述的方法,其特征在于,所述知识库中的至少一幅图像由第二视频码流解码得到,或者,所述知识库中的至少一幅图像由所述当前图像所编码到的第一视频码流解码得到。
  19. 根据权利要求13至18任一项所述的方法,其特征还在于,
    所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前 图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
    或者,
    若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
  20. 一种图像解码装置,其特征在于,包括:
    获取单元,用于获取当前图像;
    参考单元,用于从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;
    解码单元,用于根据所述K幅参考图像对所述当前图像进行解码。
  21. 根据权利要求20所述的装置,其特征在于,所述知识库中的至少1幅图像通过解码第二视频码流而得到。
  22. 根据权利要求20或21所述的装置,其特征在于,所述参考单元具体用于基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
  23. 根据权利要求22所述的装置,其特征还在于,
    与所述参考图像索引匹配的参考图像为所述当前图像所在随机访问片段之前的重建图像。
  24. 根据权利要求22或23所述的装置,其特征在于,
    所述参考单元还用于:若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
  25. 根据权利要求22或23或24所述的装置,其特征在于,所述当前图像的参考图像索引指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。
  26. 根据权利要求25所述的装置,其特征在于,若所述参考图像索引指示出所述当前图像的图像特征,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
  27. 根据权利要求25或26所述的装置,其特征在于,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
  28. 根据权利要求20至27任一项所述的装置,其特征在于,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
  29. 根据权利要求28所述的装置,其特征在于,所述场景切换图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像是通过对所述当前图像所属的第一视频码流中的已解码视频序列进行背景建模而得到。
  30. 根据权利要求20至29任一项所述的装置,其特征在于,所述解码单元具体用于将所述K幅参考图像添加到所述当前图像的参考图像队列中,根据所述参考图像队列中的参考图像对所述当前图像进行解码。
  31. 根据权利要求20至30任一项所述的装置,其特征还在于,
    所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的 随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
    或者,
    若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
  32. 一种图像编码装置,其特征在于,包括:
    获取单元,用于获取当前图像;
    参考单元,用于从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;
    编码单元,用于根据所述K幅参考图像对所述当前图像进行编码。
  33. 根据权利要求32所述的装置,其特征在于,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
  34. 根据权利要求33所述的装置,其特征在于,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
  35. 根据权利要求32至34任一项所述的装置,其特征在于,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
  36. 根据权利要求35所述的装置,其特征在于,所述场景切换图像通过对所述当前图像所属视频序列进行场景切换检测而得到,或者,所述背景图像通过对所述当前图像所属的视频序列进行背景建模而得到。
  37. 根据权利要求32至36任一项所述的装置,其特征在于,所述知识库中的至少一幅图像由第二视频码流解码得到,或者,所述知识库中的至少一幅图像由所述当前图像所编码到的第一视频码流解码得到。
  38. 根据权利要求32至37任一项所述的装置,其特征还在于,
    所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
    或者,
    若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
  39. 一种图像解码装置,其特征在于,包括:
    存储器和与所述存储器耦合的处理器;
    其中,所述处理器用于,获取当前图像;从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机访问片段,所述K为大于或等于1的整数;根据所述K幅参考图像对所述当前图 像进行解码。
  40. 根据权利要求39所述的装置,其特征在于,所述知识库中的至少1幅图像通过解码第二视频码流而得到。
  41. 根据权利要求39或40所述的装置,其特征在于,所述参考单元具体用于基于从所述当前图像所属的第一视频码流中解码得到的所述当前图像的参考图像索引,从知识库中选择所述当前图像的K幅参考图像。
  42. 根据权利要求41所述的装置,其特征还在于,
    与所述参考图像索引匹配的参考图像为所述当前图像所在随机访问片段之前的重建图像。
  43. 根据权利要求41或42所述的装置,其特征在于,
    所述参考单元还用于:若在第二视频码流中未查找到与所述参考图像索引匹配的参考图像,向服务器请求包含与所述参考图像索引匹配的参考图像的第二视频码流增量码流,解码所述第二视频码流增量码流以得到与所述参考图像索引匹配的参考图像,得到的与所述参考图像索引匹配的参考图像作为所述当前图像的参考图像。
  44. 根据权利要求41或42或43所述的装置,其特征在于,所述当前图像的参考图像索引指示出参考图像的编号、参考图像的图像特征和/或所述当前图像的图像特征。
  45. 根据权利要求44所述的装置,其特征在于,若所述参考图像索引指示出所述当前图像的图像特征,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
  46. 根据权利要求44或45所述的装置,其特征在于,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
  47. 根据权利要求39至46任一项所述的装置,其特征在于,
    所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
  48. 根据权利要求47所述的装置,其特征在于,所述场景切换图像通过解 码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像通过解码第二视频码流或所述当前图像所属的第一视频码流而得到,或者所述背景图像是通过对所述当前图像所属的第一视频码流中的已解码视频序列进行背景建模而得到。
  49. 根据权利要求39至48任一项所述的装置,其特征在于,所述解码单元具体用于将所述K幅参考图像添加到所述当前图像的参考图像队列中,根据所述参考图像队列中的参考图像对所述当前图像进行解码。
  50. 根据权利要求39至49任一项所述的装置,其特征还在于,
    所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
    或者,
    若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
  51. 一种图像编码装置,其特征在于,包括:
    存储器和与所述存储器耦合的处理器;
    其中,所述处理器用于,获取当前图像;从知识库中选择所述当前图像的K幅参考图像,所述知识库中的至少一幅图像不属于所述当前图像所在的随机 访问片段,所述K为大于或等于1的整数;根据所述K幅参考图像对所述当前图像进行编码。
  52. 根据权利要求51所述的装置,其特征在于,所述K幅参考图像的图像特征与所述当前图像的图像特征相匹配。
  53. 根据权利要求52所述的装置,其特征在于,所述图像特征包括尺度不变转换特征SIFT和/或加速稳健特征SURF。
  54. 根据权利要求51至53任一项所述的装置,其特征在于,所述知识库中包括所述当前图像所属视频序列内的关键图像,所述当前图像所属视频序列内的关键图像包括所述当前图像所属视频序列内的场景切换图像或/和背景图像。
  55. 根据权利要求54所述的装置,其特征在于,所述场景切换图像通过对所述当前图像所属视频序列进行场景切换检测而得到,或者,所述背景图像通过对所述当前图像所属的视频序列进行背景建模而得到。
  56. 根据权利要求51至55任一项所述的装置,其特征在于,所述知识库中的至少一幅图像由第二视频码流解码得到,或者,所述知识库中的至少一幅图像由所述当前图像所编码到的第一视频码流解码得到。
  57. 根据权利要求51至56任一项所述的装置,其特征还在于,
    所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在视频层中,从所述当前图像之前最近的随机访问点开始到当前图像之后最近的随机访问点之前的图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;
    或者,
    若所述当前图像位于依赖层,所述当前图像所在随机访问片段包括:在解码顺序上,所述当前图像所在的视频层之中,从所述当前图像之前最近的随机访问点开始到所述当前图像之后最近的随机访问点之前的图像,以及在解码顺序上,所述当前图像的X个参考图像所在的视频层中,从所述X个参考图像之前最近的随机访问点开始到所述X个参考图像之后最近的随机访问点之前的 图像,其中,所述当前图像所在随机访问片段包含所述当前图像之前最近的随机访问点的图像,但不包含所述当前图像之后最近的随机访问点的图像;所述当前图像所在随机访问片段包含所述X个参考图像之前最近的随机访问点的图像,但不包含所述X个参考图像之后最近的随机访问点的图像,所述X个参考图像为所述当前图像的在依赖层之外的其他视频层的参考图像。
PCT/CN2016/077396 2015-03-31 2016-03-25 图像编解码方法和相关装置 WO2016155576A1 (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
EP16771331.2A EP3264767B1 (en) 2015-03-31 2016-03-25 Image coding/decoding method and related apparatus
KR1020177027420A KR102114715B1 (ko) 2015-03-31 2016-03-25 이미지 코딩/디코딩 방법 및 관련 장치
JP2017551284A JP6549246B2 (ja) 2015-03-31 2016-03-25 画像符号化/復号方法および関連装置
EP20208246.7A EP3866469A1 (en) 2015-03-31 2016-03-25 Picture encoding/decoding method and related apparatus
US15/711,555 US10917638B2 (en) 2015-03-31 2017-09-21 Picture encoding/decoding method and related apparatus
US17/167,072 US11303888B2 (en) 2015-03-31 2021-02-03 Picture encoding/decoding method and related apparatus
US17/689,724 US11889058B2 (en) 2015-03-31 2022-03-08 Picture encoding/decoding method and related apparatus
US18/395,726 US20240129455A1 (en) 2015-03-31 2023-12-25 Picture encoding/decoding method and related apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510150090.7A CN104768011B (zh) 2015-03-31 2015-03-31 图像编解码方法和相关装置
CN201510150090.7 2015-03-31

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/711,555 Continuation US10917638B2 (en) 2015-03-31 2017-09-21 Picture encoding/decoding method and related apparatus

Publications (1)

Publication Number Publication Date
WO2016155576A1 true WO2016155576A1 (zh) 2016-10-06

Family

ID=53649570

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/077396 WO2016155576A1 (zh) 2015-03-31 2016-03-25 图像编解码方法和相关装置

Country Status (6)

Country Link
US (4) US10917638B2 (zh)
EP (2) EP3866469A1 (zh)
JP (1) JP6549246B2 (zh)
KR (1) KR102114715B1 (zh)
CN (1) CN104768011B (zh)
WO (1) WO2016155576A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104768011B (zh) 2015-03-31 2018-03-06 浙江大学 图像编解码方法和相关装置
EP3371974B1 (en) * 2015-11-06 2024-05-01 Microsoft Technology Licensing, LLC Flexible reference picture management for video encoding
CN107634928B (zh) * 2016-07-18 2020-10-23 华为技术有限公司 一种码流数据的处理方法及装置
CN107634930B (zh) * 2016-07-18 2020-04-03 华为技术有限公司 一种媒体数据的获取方法和装置
CN107635142B (zh) * 2016-07-18 2020-06-26 浙江大学 一种视频数据的处理方法及装置
US20180109812A1 (en) * 2016-10-14 2018-04-19 Media Tek Inc. Block partitioning using tree structures
CN108243339B (zh) * 2016-12-27 2021-02-26 浙江大学 图像编解码方法及装置
US10922551B2 (en) * 2017-10-06 2021-02-16 The Nielsen Company (Us), Llc Scene frame matching for automatic content recognition
CN108184113B (zh) * 2017-12-05 2021-12-03 上海大学 一种基于图像间参考的图像压缩编码方法和***
US11470356B2 (en) * 2018-04-17 2022-10-11 Mediatek Inc. Method and apparatus of neural network for video coding
CN110876083B (zh) * 2018-08-29 2021-09-21 浙江大学 指定参考图像的方法及装置及处理参考图像请求的方法及装置
CN111405291B (zh) * 2019-01-02 2021-10-19 浙江大学 视频编解码方法与装置
CN111416977B (zh) 2019-01-07 2024-02-09 浙江大学 视频编码器、视频解码器及相应方法
CN111416981B (zh) * 2019-01-07 2023-06-02 浙江大学 视频图像解码、编码方法及装置
CN111416976B (zh) * 2019-01-08 2023-12-08 浙江大学 视频解码方法、视频编码方法、装置、设备及存储介质
WO2020156054A1 (zh) * 2019-02-03 2020-08-06 华为技术有限公司 视频解码方法、视频编码方法、装置、设备及存储介质
CN111526368B (zh) * 2019-02-03 2021-09-03 华为技术有限公司 视频解码方法、视频编码方法、装置、设备及存储介质
WO2021058401A1 (en) * 2019-09-23 2021-04-01 Interdigital Vc Holdings France, Sas Prediction for video encoding and decoding using external reference
CN113301341A (zh) * 2021-05-27 2021-08-24 上海国茂数字技术有限公司 基于知识图像的视频编码方法、装置及可读存储介质
US11956441B2 (en) * 2021-12-23 2024-04-09 Ati Technologies Ulc Identifying long term reference frame using scene detection and perceptual hashing
WO2023143331A1 (zh) * 2022-01-25 2023-08-03 阿里巴巴(中国)有限公司 一种面部视频编码方法、解码方法及装置
CN115052160B (zh) * 2022-04-22 2023-07-07 江西中烟工业有限责任公司 基于云数据自动下载的图像编码方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101389034A (zh) * 2007-09-14 2009-03-18 华为技术有限公司 一种图像编/解码方法、装置及一种图像处理方法、***
US20140086328A1 (en) * 2012-09-25 2014-03-27 Qualcomm Incorporated Scalable video coding in hevc
WO2014058210A1 (ko) * 2012-10-08 2014-04-17 삼성전자 주식회사 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 부호화 방법 및 그 장치, 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 복호화 방법 및 그 장치
CN104247430A (zh) * 2012-04-20 2014-12-24 高通股份有限公司 标记视频序列中具有断链图片的参考图片
CN104768011A (zh) * 2015-03-31 2015-07-08 浙江大学 图像编解码方法和相关装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
CN101534112A (zh) 2008-03-14 2009-09-16 富士迈半导体精密工业(上海)有限公司 开关装置
JP4879937B2 (ja) * 2008-06-23 2012-02-22 シャープ株式会社 動画像記録装置、動画像再生装置、動画像削除装置、動画像記録方法、動画像再生方法、動画像削除方法及びそれら方法を実行可能なプログラム
JP5267655B2 (ja) 2009-03-19 2013-08-21 富士通株式会社 画像符号化装置、画像符号化制御方法および画像符号化プログラム
CN101534442B (zh) 2009-04-13 2011-01-12 腾讯科技(深圳)有限公司 视频编码***及方法
CN101729898B (zh) 2009-11-16 2011-06-15 中国人民解放军国防科学技术大学 视频编码、解码方法与视频编码、解码装置
JP5331773B2 (ja) * 2010-10-14 2013-10-30 株式会社ソニー・コンピュータエンタテインメント 動画再生装置、情報処理装置および動画再生方法
DE102012202315A1 (de) 2012-02-16 2013-08-22 Robert Bosch Gmbh Videosystem zur Darstellung von Bilddaten, Verfahren und Computerprogramm
US20140003799A1 (en) * 2012-06-30 2014-01-02 Divx, Llc Systems and methods for decoding a video sequence encoded using predictions that include references to frames in reference segments from different video sequences
KR102167096B1 (ko) * 2012-09-13 2020-10-16 엘지전자 주식회사 영상 부호화/복호화 방법 및 장치
US20140086557A1 (en) * 2012-09-25 2014-03-27 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
US8879858B1 (en) * 2013-10-01 2014-11-04 Gopro, Inc. Multi-channel bit packing engine
EP3058735B1 (en) * 2013-10-14 2019-05-08 Nokia Technologies Oy Multi-layer hypothetical reference decoder
US9807407B2 (en) * 2013-12-02 2017-10-31 Qualcomm Incorporated Reference picture selection
WO2016085229A1 (ko) * 2014-11-27 2016-06-02 주식회사 케이티 비디오 신호 처리 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101389034A (zh) * 2007-09-14 2009-03-18 华为技术有限公司 一种图像编/解码方法、装置及一种图像处理方法、***
CN104247430A (zh) * 2012-04-20 2014-12-24 高通股份有限公司 标记视频序列中具有断链图片的参考图片
US20140086328A1 (en) * 2012-09-25 2014-03-27 Qualcomm Incorporated Scalable video coding in hevc
WO2014058210A1 (ko) * 2012-10-08 2014-04-17 삼성전자 주식회사 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 부호화 방법 및 그 장치, 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 복호화 방법 및 그 장치
CN104768011A (zh) * 2015-03-31 2015-07-08 浙江大学 图像编解码方法和相关装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP3866469A1 (en) 2021-08-18
EP3264767A4 (en) 2018-02-21
US11889058B2 (en) 2024-01-30
EP3264767A1 (en) 2018-01-03
CN104768011B (zh) 2018-03-06
KR20170122800A (ko) 2017-11-06
US20210168356A1 (en) 2021-06-03
JP6549246B2 (ja) 2019-07-24
CN104768011A (zh) 2015-07-08
US10917638B2 (en) 2021-02-09
US11303888B2 (en) 2022-04-12
US20180014012A1 (en) 2018-01-11
US20240129455A1 (en) 2024-04-18
JP2018513627A (ja) 2018-05-24
KR102114715B1 (ko) 2020-06-05
EP3264767B1 (en) 2021-01-20
US20220191476A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
WO2016155576A1 (zh) 图像编解码方法和相关装置
CN113261298B (zh) 视频编解码的方法和装置
CN112585966A (zh) 以基于历史的运动向量为基础的帧间预测方法及其装置
JP2021518078A (ja) ビデオを復号する方法、装置およびコンピュータプログラム
JP7141463B2 (ja) インター予測モードに基づいた映像処理方法およびそのための装置
BR122021010905A2 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, mídia de armazenamento não transitória legível por computador, aparelho de decodificação para decodificação de imagem e aparelho de codificação para codificação de imagem
TW201713116A (zh) 在區塊內複製模式中之參考圖像清單結構
CN111448800B (zh) 在图像编码***中使用仿射mvp候选列表的基于仿射运动预测的图像解码方法及设备
US10368086B2 (en) Image coding/decoding method, device, and system
JP2023052767A (ja) 映像処理方法及び符号化器
GB2492778A (en) Motion compensated image coding by combining motion information predictors
KR20210014197A (ko) 서브블록 단위의 시간적 움직임 정보 예측을 위한 인터 예측 방법 및 그 장치
CN112204964A (zh) 基于帧间预测模式的图像处理方法及其装置
CN109076234A (zh) 图像预测方法和相关设备
CN112385213A (zh) 基于帧间预测模式处理图像的方法和用于该方法的设备
TW202133619A (zh) 用於合併估計區域的基於歷史的運動向量預測約束
CN113508583A (zh) 基于帧内块编译的视频或图像编译
CN110557645B (zh) 帧内预测模式的解码方法、编码方法、装置及设备
TWI559751B (zh) 用於評估要轉換成被跳過巨集區塊的巨集區塊候選者的方法、系統和電腦程式產品
US9812095B2 (en) Video processing method including managing a reference picture list and video system therefore
WO2020061784A1 (zh) 编码方法、解码方法、编码设备和解码设备
CN112840649A (zh) 图像编码***中通过使用块分割对图像解码的方法及其装置
US12015780B2 (en) Inter prediction method and apparatus, video encoder, and video decoder

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20177027420

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2016771331

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017551284

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE