CN105453570A - 用于下一代视频的对分区数据的内容自适应熵编码 - Google Patents

用于下一代视频的对分区数据的内容自适应熵编码 Download PDF

Info

Publication number
CN105453570A
CN105453570A CN201480003744.7A CN201480003744A CN105453570A CN 105453570 A CN105453570 A CN 105453570A CN 201480003744 A CN201480003744 A CN 201480003744A CN 105453570 A CN105453570 A CN 105453570A
Authority
CN
China
Prior art keywords
variable length
video
length code
code table
subregion
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201480003744.7A
Other languages
English (en)
Other versions
CN105453570B (zh
Inventor
A·普里
N·N·戈卡莱
D·索塞卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN105453570A publication Critical patent/CN105453570A/zh
Application granted granted Critical
Publication of CN105453570B publication Critical patent/CN105453570B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/124Quantisation
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/1887Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a variable length codeword
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • 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/513Processing of motion vectors
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)

Abstract

描述了与对分区数据进行内容自适应熵编码有关的技术。

Description

用于下一代视频的对分区数据的内容自适应熵编码
相关申请
本申请要求享有于2013年1月30日递交的、且名称为“NEXTGENERATIONVIDEOCODING”的美国临时申请No.61/758,314的优先权,其内容通过引用整体并入本文。
背景技术
视频编码器压缩视频信息,使得可以在给定的带宽上发送更多信息。然后,可以将压缩的信号发送至具有解码器的接收器,该解码器在显示之前将信号解码或解压缩。
高效视频编码(HEVC)是最新的视频压缩标准,其由关于视频编码的联合协作团队(JCT-VC)开发,该关于视频编码的联合协作团队由ISO/IEC移动图片专家组(MPEG)和ITU-T视频编码专家组(VCEG)组成。响应于先前的H.264/AVC(高级视频编码)标准未提供对于演进的较高分辨率视频应用足够的压缩,正在开发HEVC。与先前的视频编码标准相类似,HEVC包括诸如帧内/帧间预测、变换、量化、循环内滤波和熵编码之类的基本功能模块。
进行中的HEVC标准可能尝试改进H.264/AVC标准的限制,例如针对所允许的预测分区和编码分区的有限的选择、有限的所允许的生成多个参考和预测、有限的变换块大小和实际变换、有限的用于减小编码噪音的机制、以及低效的熵编码技术。但是,进行中的HEVC标准可以使用迭代方法来解决这样的问题。
例如,随着要压缩的视频的分辨率和对高视频质量的期望的日益增加,使用诸如H.264之类的现有的视频编码标准或甚至诸如H.265/HEVC之类的更演进的标准进行编码所需的相应的比特率/带宽相对较高。前述的标准使用传统方式的扩展形式来隐式地解决不充分压缩/质量问题,但是经常的,其结果是有限的。
在下一代视频(NGV)编解码器项目的背景中开发的本说明书解决了设计最大化可获得的压缩效率且同时保持足够实用以用于在设备上实现的高级视频编解码器的一般问题。例如,随着由于好显示器的可用性所导致的视频分辨率和对高视频质量的期望的日益增加,使用诸如较早的MPEG标准之类的现有视频编码标准和甚至较新的H.264/AVC标准所需的相应比特率/带宽相对较高。H.264/AVC未被认为对于演进的较高分辨率视频应用提供了足够的压缩。
附图说明
通过示例的方式而非通过限制的方式在附图中示出了本申请中描述的资料。为简单和清楚起见,附图中示出的元件不一定按比例画出。例如,为了清晰起见,可能相对于其他元件而放大了一些元件的尺寸。此外,在认为适当的地方,在附图中重复了附图标记以指示相应的或类似的元件。在附图中:
图1为示例性下一代视频编码器的直观图;
图2为示例性下一代视频编码器的直观图;
图3(a)为示例性下一代视频编码器和子系统的直观图;
图3(b)为示例性下一代视频解码器和子系统的直观图;
图4为示例性熵编码器模块的直观图;
图5为示例性熵解码器模块的直观图;
图6为示例性熵编码器模块的直观图;
图7为示例性熵解码器模块的直观图;
图8为示出了示例性过程的流程图;
图9示出了示例性比特流;
图10为示出了示例性过程的流程图;
图11为示例性视频编码系统和在运行中的视频编码过程的直观图;
图11为示例性视频编码系统的直观图;
图12为示出了示例性编码过程的流程图;
图13示出了示例性比特流;
图14为示出了示例性解码过程的流程图;
图15(A)、15(B)和15(C)提供了示例性视频编码系统和在运行中的视频编码过程的直观图;
图16为示例性视频编码系统的直观图;
图17为示例性系统的直观图;
图18示出了示例性的设备;
图19为用于图片部分的示例性分区的示例性多级图案的直观图;
图20为示出了示例性过程的流程图;
图21为示出了示例性过程的流程图;
图22(A)-22(F)示出了示例性过程的流程图;
图23(A)-23(C)示出了示例性过程的流程图;
图24示出了用于对分区数据进行熵编码的示例性系统;
图25示出了示例性当前图片部分以及示例性相邻图片部分,其全部根据本公开的至少一些实施方式而布置。
具体实施方式
现在参照附图来描述一个或多个实施例或实施方式。虽然讨论了特定的配置和布置,但是应该理解的是这仅是为了说明的目的而进行的。相关领域的技术人员将认识到可以利用其他的配置和布置而不偏离描述的精神和范围。对相关领域的技术人员而言将显而易见的是,本申请中描述的技术和/或布置也可以在与本申请中所描述的不同的各种其他系统和应用中采用。
虽然以下描述阐述了可以在诸如例如片上系统(SoC)架构中表示的各种实施方式,但是本申请中描述的技术和/或布置的实施方式并不限于特定的架构和/或计算系统,且其可以为了类似的目的由任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构、和/或诸如机顶盒、智能电话等的各种计算设备和/或消费电子(CE)设备可以实现本申请中描述的技术和/或布置。此外,虽然以下描述可能阐述了诸如逻辑实现、系统组件的类型和相互关系、逻辑分块/集成选择等的许多特定细节,但是可以在没有这样的特定细节的情况下实践要求保护的主题。在其他实例中,为了不混淆本申请中所公开的资料,可能不详细示出诸如例如控制结构和完整的软件指令序列之类的一些材料。
本申请中公开的资料可以以硬件、固件、软件或其任何组合来实现。本申请中公开的资料也可以实现为在机器可读介质上存储的指令,该指令可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或发送信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)以及其他的。
本说明书中提及的“一个实施方式”、“实施方式”、“一示例性实施方式”等指示所描述的实施方式可以包括特定的特征、结构、或特性,但是每一实施例未必包括该特定的特征、结构或特性。此外,这样的短语未必指代同一实施方式。此外,当结合实施例描述特定的特征、结构或特性时,所主张的是,无论在本申请中是否明确描述,结合其他实施方式来产生这样的特征、结构或特性是在本领域的普通技术人员的知识之内的。
下文描述了与用于视频系统的内容自适应熵编码有关的系统、装置、制品和方法。
下文描述了下一代视频(NGV)系统、装置、制品和方法。NGV视频编码可将基于重要内容的自适应性并入到视频编码过程中,以实现更高的压缩。如上文所讨论的,H.264/AVC标准可能具有多种局限性,并且正在进行的对改进标准(诸如例如HEVC标准)的尝试可以使用迭代方法来解决这些局限性。在本申请中将描述具有编码器和解码器的NGV系统。
例如,H.264标准可支持两种模式的熵编码。在第一模式中,自适应VLC(可变长度编码),可使用上下文自适应VLC(CAVLC)对变换系数进行编码,并使用指数哥伦布编码对所有其他的语法元素(例如,开销数据、模式、运动向量等)进行编码。经CAVLC编码的数据和经指数哥伦布编码的数据可被复用以产生经编码的比特流。在第二模式中,可使用上下文自适应二进制算术编码(CABAC)对所有数据进行编码。相对应的解码器也可以以两种模式操作,在第一模式中,分解并解码复用的比特流,并且在第二模式中,对经CABAC编码的比特流进行解码,这种技术可能有局限性。例如,CABAC编码可能是有效的但是也有可能复杂的,使得在更高分辨率上下文中的吞吐量可能是有限的。此外,通过将数据集合在一起进行编码,可能无法优化熵编码的效率和复杂度。
在一些视频编解码器的实施方式中,对各种数据(例如开销数据、模式、运动向量、和/或变换系数)的熵编码和解码可以是对系统的编码效率和复杂度的重要贡献者。在一些示例中,本申请所讨论的技术可以平衡编码效率和系统复杂度。
在一些示例中,可在熵编码器模块处接收第一视频数据和第二视频数据以进行熵编码。该第一视频数据和第二视频数据可以是不同的数据类型(例如,头部数据,变形参数,合成参数,或全局图数据(mapdata)或运动向量或帧内预测分区数据等,如本申请进一步讨论的)。可基于与该第一视频数据相关联的参数来确定用于第一视频数据的第一熵编码技术,该参数诸如例如,第一视频数据的多个压缩的比特、与第一视频数据相关联的预先确定的指示符或标志,预先确定的阈值、或以启发式地确定的阈值等。在一些示例中,第一熵编码技术可以从自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一个中选择出来。可使用第一熵编码技术对第一视频数据进行熵编码,并可使用第一熵编码技术对第二视频数据进行熵编码。在一些示例中,可基于关于该第一视频数据所讨论的参数来确定用于第二视频数据的第二熵编码技术。在一些示例中,第二熵编码技术可根据包括以下技术的选项来确定:自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、自适应向量可变长度编码、自适应1维可变长度编码技术、自适应2维可变长度编码技术,或本申请中所讨论的其他技术。在一些示例中,第二熵编码技术可被预先确定用于第二视频数据的数据类型。对第一视频数据和第二视频数据进行熵编码可以生成第一压缩视频数据和第二压缩视频数据。第一缩视频数据和第二压缩视频数据可被组装,以生成输出比特流。
输出比特流可从编码器传送到解码器,解码器对比特流进行解组装,以确定第一压缩视频数据和第二压缩视频数据。压缩的视频数据可被熵解码,以生成熵解码的视频数据,其可被进一步解码以生成视频帧。视频帧可被发送到显示设备以呈现给用户。
在一些示例中,可在熵编码器模块处接收额外的视频数据类型以用于进行熵编码。例如,第三、第四、第五、第六、第七或更多的视频数据可被熵编码,以生成相关联的压缩的视频数据,这些数据在输出比特流中被集合、发送、并随后经由解码器被熵解码。本申请将进一步讨论各种数据类型和编码/解码技术的多种选项及实施方式。
如在本申请中所使用的,术语“编码器”可以指代编码器和/或解码器。类似地,如在本申请中所使用的,术语“编码”可以指代通过编码器执行视频编码和/或通过解码器执行视频解码。例如,视频编码器和视频解码器两者都可以是能够对视频数据进行编码的编码器的示例。此外,如在本申请中所使用的,术语“编解码器”可以指代诸如例如可以实现编码器和/或解码器的软件、固件、和/或硬件的任何过程、程序、或操作组。此外,如在本申请中所使用的,短语“视频数据”可以指代与视频编码相关联的诸如例如视频帧、图像数据、经编码的比特流数据等的任何类型的数据。
图1是根据本公开的至少一些实施方式布置的示例性下一代视频编码器100的直观图。如所示出的,编码器100可以接收输入视频101。输入视频101可以包括供进行编码的诸如例如视频序列的输入帧的任何适当的输入视频。如所示出的,可以通过内容预分析器模块102接收输入视频101。内容预分析器模块102可以被配置为执行对输入视频101的视频帧的内容的分析以确定用于改进视频编码效率和速率性能的各种类型的参数。例如,内容预分析器模块102可以确定水平和垂直梯度信息(例如,Rs、Cs)、方差、每图片空间复杂度、每图片时间复杂度、场景变化检测、运动范围估计、增益检测、预测距离估计、对象数估计、区域边界检测、空间复杂度映射计算、聚焦估计、胶片颗粒估计等。由内容预分析器模块102生成的参数可以由编码器100使用(例如,通过编码控制器103)和/或量化并传送至解码器。如所示出的,视频帧和/或其他数据可以从内容预分析器模块102发送至自适应图片组织器模块104,自适应图片组织器模块104可以确定每一视频帧的图片类型(例如,I-、P-、或F/B-图片)并根据需要重新排序视频帧。在一些示例中,自适应图片组织器模块104可以包括被配置为生成帧部分的帧部分生成器。在一些示例中,内容预分析器模块102和自适应图片组织器模块104可以一起被认为是编码器100的预分析器子系统。
如所示出的,可以从自适应图片组织器模块104向预测分区生成器模块105发送视频帧和/或其他的数据。在一些示例中,预测分区生成器模块105可以将帧或图片分成瓦片(tiles)或超分片(super-fragments)等。在一些示例中,额外的模块(例如,在模块104和105之间)可以被提供以用于将帧或图片分成瓦片或超分片。预测分区生成器模块105可以将每一瓦片或超分片分成潜在的预测分块(partitionings)或分区(partitions)。在一些示例中,可以使用诸如例如k-d树分区技术、二叉树分区技术等的分区技术来确定潜在的预测分块,潜在的预测分块可以基于个体视频帧的图片类型(例如,I-、P-、或F/B-图片)、被分区的帧部分的特性等来确定。在一些示例中,所确定的潜在的预测分块可以是用于预测的分区(例如,帧间或帧内预测)并且所确定的潜在的预测分块可以被描述为预测分区或预测块等。
在一些示例中,可以根据潜在的预测分块来确定所选择的预测分块(例如,预测分区)。例如,所选择的预测分块可以是基于使用基于特性和运动的多参考预测或帧内预测而针对每一潜在的预测分块确定预测的并且是基于确定预测参数的。对于每一潜在的预测分块,可以通过确定原始像素与预测像素的差异来确定潜在的预测误差,且所选择的预测分块可以是具有最小预测误差的潜在预测分块。在其他示例中,所选择的预测分块可以是基于速率失真优化来确定的,速率失真优化包括基于用于对分块进行编码的比特数以及与预测分块相关联的预测误差的加权得分。
如所示出的,在差异确定器106处,可以确定所选择的预测分块(例如,当前帧的预测分区)的原始像素与所预测的分区的差异(例如,基于一参考帧或多个参考帧或诸如帧间或帧内预测数据的其他预测性数据而对当前帧的预测分区的预测)。预测分区的确定将在下文进一步描述且如图1中所示包括解码循环。可以将来自该差异的任何残差或残差数据(例如,分区预测误差数据)发送至编码分区生成器模块107。在一些示例中,例如对于在任何图片类型(I、F/B、或P图片)中进行的对预测分区的帧间预测,编码分区生成器模块107可以通过开关107a和107b被绕开。在这样的示例中,仅可以执行单级的分区。这样的分区可以被描述为预测分块(如所讨论的)或编码分块或两者。在各种示例中,这样的分区可以通过预测分区生成器模块105来执行(如所讨论的),或如在本申请中进一步讨论的,这样的分区可以通过k-d树帧内预测/编码划分器(partitioner)模块来执行或通过经由编码分区生成器模块107实现的二叉树帧内预测/编码划分器模块来执行。
在一些示例中,分区预测误差数据,如果有的话,可能不够重要来保证编码。在其他示例中,在可能期望对分区预测误差数据进行编码且分区预测误差数据与帧间预测相关联等的情况下,编码分区生成器模块107可以确定预测分区的编码分区。在一些示例中,可能不需要编码分区生成器模块107,这是因为分区可以在没有编码分块的情况下被编码(例如,如通过开关107a和107b而可用的旁路路径所示出的)。在有编码分块或没有编码分块的情况下,如果残差或残差数据需要编码,则可以向自适应变换模块108发送分区预测误差数据(随后其可以在任何事件中被描述为编码分区)。在一些示例中,预测分区生成器模块105和编码分区生成器模块107可以一起被认为是编码器100的划分器子系统。在各个示例中,编码分区生成器模块107可以对分区预测误差数据、原始像素数据、残差数据、或小波数据进行操作。
编码分区生成器模块107可以使用二叉树和/或k-d树分区技术等生成例如分区预测误差数据的潜在的编码分块(例如,编码分区)。在一些示例中,可以通过自适应变换模块108使用具有各种块大小的自适应或固定变换来变换潜在的编码分区,并且可以基于速率失真优化或其他基础来确定所选择的编码分块和所选择的变换(例如,自适应的或固定的)。在一些示例中,所选择的编码分块和/或所选择的变换可以基于根据编码分区尺寸等的预先确定的选择方法来确定。
例如,自适应变换模块108可以包括:用于执行参数变换以允许对小到中型尺寸的块的局部优化变换的第一部分或组件以及用于使用固定变换(例如,离散余弦变换(DCT)或来自各种变换(包括参数变换)的基于图片的变换)执行全局稳定的、低开销变换编码的第二部分或组件,或如本申请中进一步讨论的任何其他配置。在一些示例中,如在本申请中进一步讨论的,对于局部优化转换编码,可以执行参数哈尔变换(PHT)。在一些示例中,可以对大小在大约4×4像素和64×64像素之间的矩形2D块执行变换,其中实际尺寸取决于多个因素,例如被变换的数据是亮度还是色度,或是帧间还是帧内,或所确定的所使用的变换是PHT还是DCT等。
如所示出的,可以将所产生的变换系数发送至自适应量化模块109。自适应量化模块109可以量化所产生的变换系数。此外,可以根据需要而向自适应量化模块109(如果想要量化)或自适应熵编码器模块110发送与参数变换相关联的任何数据。此外,如在图1中所示出的,可以扫描并向自适应熵编码器模块110发送经量化的系数。自适应熵编码器模块110可以对经量化的系数进行熵编码且将其包含在输出比特流111中。在一些示例中,自适应变换模块108和自适应量化模块109可以一起被认为是编码器100的变换编码器子系统。
如也在图1中所示出的,编码器100包括局部解码循环。局部解码循环可以在自适应逆量化模块112处开始。自适应逆量化模块112可以被配置为执行自适应量化模块109的相反操作,使得可以执行逆扫描并且经量化的系数可以被去缩放以确定变换系数。这样的自适应量化操作可能是例如有损耗的。如所示出的,可以向自适应逆变换模块113发送变换系数。自适应逆变换模块113可以执行如由自自适应变换模块108所执行的变换的逆变换,例如,以生成与编码分区相关联的成残差或残差值或分区预测误差数据(或如所讨论的,原始数据或小波数据)。在一些示例中,自适应逆量化模块112和自适应逆变换模块113可以一起被认为是编码器100的变换解码器子系统。
如所示出的,可以向可选的编码分区组装器114发送分区预测误差数据(等)。根据需要,编码分区组装器114可以根据需要将编码分区组装成解码的预测分区(如所示出的,在一些示例中,可通过开关114a和114b跳过编码分区组装器114,使得解码的预测分区可已在自适应逆变换模块113处生成),以生成预测误差数据的预测分区或解码的残差预测分区等。
如所示出的,可以在加法器115处将解码的残差预测分区添加到预测的分区(例如,预测像素数据),以生成重建的预测分区。可以向预测分区组装器116发送该重建的预测分区。预测分区组装器116可以组装重建的预测分区以生成重建的瓦片或超分片。在一些示例中,编码分区组装器模块114和预测分区组装器模块116可以一起被认为是编码器100的非划分器(un-partitioner)子系统。
可以向块分析器(blockinessanalyzer)和解块滤波模块117发送重建的瓦片或超分片。块分析器和解块滤波模块117可以对重建的瓦片或超分片(或瓦片或超分片的预测分区)进行解块和振动(dither)。例如,所生成的解块和振动滤波参数可以用于当前的滤波操作和/或在输出比特流111中被编码以由解码器使用。可以向质量分析器和质量恢复滤波模块118发送块分析器和解块滤波模块117的输出。质量分析器和质量恢复滤波模块118可以确定QR滤波参数(例如,用于QR分解)并使用所确定的参数以用于滤波。QR滤波参数也可以在输出比特流111中被编码以由解码器使用。如所示出的,可以向解码的图片缓冲器119发送质量分析器和质量恢复滤波器模块118的输出。在一些示例中,质量分析器和质量恢复滤波模块118的输出可以是最终重建帧,该最终重建帧可以用于针对编码其他帧的预测(例如,最终重建帧可以是参考帧等)。在一些示例中,块分析器和解块滤波模块117和质量分析器和质量恢复滤波模块118可以一起被认为是编码器100的滤波子系统。
在编码器100中,预测操作可以包括帧间预测和/或帧内预测。如在图1中所示出的,帧间预测可以由包括变形分析器和变形的图片生成模块120、合成分析器和生成模块121、以及特性和运动滤波预测器模块123的一个或多个模块执行。变形分析器和变形的图片生成模块120可以分析当前的图片以确定针对关于利用其可以被编码的一个参考帧或多个参考帧的增益中的变化、主要运动中的变化、配准中的变化、以及模糊中的变化的参数。所确定的变形参数可以被量化或被去量化并被使用(例如,由变形分析器和变形的图片生成模块120)以生成变形的参考帧,该变形的参考帧可以由运动估计器模块122使用以用于计算运动向量以对当前帧进行高效的运动(和特性)补偿的预测。合成分析器和生成模块121可以针对运动而生成超分辨率(SR)图片和投影的插值(PI)图片等以用于确定运动向量以在这些帧中进行高效的运动补偿的预测。
运动估计器模块122可以基于变形的参考帧和/或超分辨率(SR)图片和投影的插值(PI)图片以及当前的帧而生成运动向量。在一些示例中,运动估计器模块122可以被认为是帧间预测模块。例如,运动向量数据可以用于帧间预测。如果应用了帧间预测,则如所讨论的,特性和运动补偿的滤波预测器模块123可以将运动补偿应用为局部解码循环的一部分。
可以由帧内方向预测分析器和预测生成模块124来执行帧内预测。帧内方向预测分析器和预测生成模块124可以被配置为执行空间方向预测且可以使用解码的相邻分区。在一些示例中,可以由帧内方向预测分析器和预测生成模块124来执行方向的确定和预测的生成。在一些示例中,帧内方向预测分析器和预测生成模块124可以被认为是帧内预测模块。
如在图1中所示出的,预测模式和参考类型分析器模块125可以允许针对瓦片(或超分片)的每一预测分区,从“跳过”、“自动”、“帧间”、“划分(split)”、“多个”、以及“帧内”中选择预测模式,这些模式全部可以应用于P和F/B图片。除了预测模式之外,预测模式和参考类型分析器模块125还允许选择参考类型,根据“帧间”或“多个”模式以及对于P和F/B图片,上述参考类型可以是不同的。在预测模式和参考类型分析器模块125的输出处的预测信号可以被预测分析器和预测融合滤波模块126来滤波。预测分析器和预测融合滤波模块126可以确定要用于滤波和可以执行滤波的参数(例如,滤波系数、频率、开销)。在一些示例中,对预测信号进行滤波可以融合代表不同模式(例如,帧内、帧间、多个、划分、跳过、以及自动)的不同类型的信号。在一些示例中,帧内预测信号可与所有其他类型的帧间预测信号都不同,使得适当的滤波可以极大地增强编码效率。在一些示例中,可以在输出比特流111中编码滤波参数以供由解码器使用。如上文所讨论的,经滤波的预测信号可以向差异确定器106提供第二输入(例如,预测分区),上述差异确定器106可以确定预测差异信号(例如,分区预测误差)以用于之前讨论的进行编码。此外,也如上文所描述的,相同的经滤波的预测信号可以向加法器115提供第二输入。如所讨论的,输出比特流111可以提供高效编码的比特流以供由解码器使用以用于呈现视频。
图1示出了与视频编码器100的操作有关的示例性控制信号,其中,以下缩写可表示相关的信息:
scnchg场景变化信息
spcpx空间复杂度信息
tpcpx时间复杂度信息
pdist时间预测距离信息
pap预分析参数(用于除scnchg、spcpx、tpcpx、pdist之外的所有其
他的预分析参数的占位符)
ptyp图片类型信息
pgst图片组结构信息
pptncand.预测分块候选
cptncand.编码分块候选
prp预处理
xmtyp变换类型信息
xmdir变换方向信息
xmmod变换模式
ethp八分之一(1/8)图素运动预测
pptn预测分块
cptn编码分块
mot&cod成本运动和编码成本
qs量化器信息组(包括量化器参数(Qp)、量化器矩阵(QM)选择)
mv运动向量
mop变形参数
syp合成参数
ddi解块和振动信息
qri质量恢复滤波索引/信息
api自适应精确滤波索引/信息
fii融合滤波索引/信息
mod模式信息
reftyp参考类型信息
idir帧内预测方向
可以需要向解码器发送的各种信号和数据项,即,pgst、ptyp、prp、pptn、cptn、modes、reftype、ethp、xmtyp、xmdir、xmmod、idir、mv、qs、mop、syp、ddi、qri、api、fii、quant系数等然后可以由自适应熵编码器110对其它系数进行熵编码,其中自适应熵编码器110可以包括被统称为熵编码器子系统的不同熵编码器。虽然将这些控制信号示出为与图1中的编码器100的特定示例性功能模块相关联,但是其他的实施方式可以包括编码器100的功能模块之间的控制信号的不同分布。本公开不在该方面受到限制,并且在各个示例中,在本申请中控制信号的实施方式可以包括仅采用所示出的特定示例性控制信号、额外控制信号、和/或在与所示出的不同的布置中的子集。
图2是根据本公开的至少一些实施方式布置的示例性下一代视频解码器200的直观图。如所示出的,解码器200可以接收输入比特流201。在一些示例中,输入比特流201可以通过编码器100和/或通过本申请中讨论的编码技术来编码。如所示出的,可以由自适应熵解码器模块202来接收输入比特流201。自适应熵解码器模块202可以解码各种类型的编码的数据(例如,开销、运动向量、变换系数等)。在一些示例中,自适应熵解码器202可以使用可变长度解码技术。在一些示例中,自适应熵解码器202可以执行上文讨论的自适应熵编码器模块110的逆操作。
可以向自适应逆量化模块203发送解码的数据。自适应逆量化模块203可以被配置为对量化的系数进行逆扫描和去缩放以确定变换系数。例如,这样的自适应量化操作可能是有损耗的。在一些示例中,自适应逆量化模块203可以被配置为执行自适应量化模块109的相反操作(例如,与自适应逆量化模块112大致相同的操作)。如所示出的,可以向自适应逆变换模块204发送变换系数(以及,在一些示例中,用于在参数变换中使用的变换数据)。自适应逆变换模块204可以对变换系数执行逆变换以生成与编码分区相关联的残差或残差值或分区预测误差数据(或原始数据或小波数据)。在一些示例中,自适应逆变换模块204可以被配置为执行自适应变换模块108的相反操作(例如,与自适应逆变换模块113大致相同的操作)。在一些示例中,自适应逆变换模块204可以基于诸如例如解码的相邻分区的其他先前解码的数据来执行逆变换。在一些示例中,自适应逆量化模块203和自适应逆变换模块204可以一起被认为是解码器200的变换解码器子系统。
如所示出的,可以向编码分区组装器205发送残差或残差值或分区预测误差数据。编码分区组装器205可以根据需要将编码分区组装为解码的预测分区(如所示出的,在一些示例中,可以通过开关205a和205b而跳过编码分区组装器205,使得解码的预测分区可已经在自适应逆变换模块204处生成)。可以在加法器206处将预测误差数据的解码预测分区(例如,预测分区残差)添加到预测的分区(例如,预测像素数据),以生成重建的预测分区。可以向预测分区组装器207发送重建的预测分区。预测分区组装器207可以组装重建的预测分区以生成重建的瓦片或超分片。在一些示例中,编码分区组装器模块205和预测分区组装器模块207可以一起被认为是解码器200的非划分器子系统。
可以向解块滤波模块208发送重建的瓦片或超分片。解块滤波模块208可以对重建的瓦片或超分片(或瓦片或超分片的预测分区)进行解块和振动。例如,可以根据输入比特流201来确定所生成的解块和振动滤波器参数。可以向质量恢复滤波模块209发送解块滤波模块208的输出。例如,质量恢复滤波模块209可以基于QR参数而应用质量滤波,QR参数可以根据输入比特流201来确定。如在图2中所示出的,可以向解码的图片缓冲器210发送质量恢复滤波模块209的输出。在一些示例中,质量恢复滤波模块209的输出可以是最终重建帧,该最终重建帧可以用于针对编码其他帧的预测(例如,最终重建帧可以是参考帧等)。在一些示例中,解块滤波模块208和质量恢复滤波模块209可以一起被认为是解码器200的滤波子系统。
如所讨论的,由于预测操作所导致的补偿可以包括帧间预测和/或帧内预测补偿。如所示出的,帧间预测补偿可以由包括变形的图片生成模块211、合成的图片生成模块212、以及特性和运动补偿的滤波预测器模块213的一个或多个模块来执行。变形生成模块211可以使用去量化的变形参数(例如,根据输入比特流201所确定的)以生成变形的参考帧。合成生成模块212可以基于根据输入比特流201确定的参数而生成超分辨率(SR)图片和投影的插值(PI)图片等。如果应用了帧间预测,则特性和运动补偿的滤波预测器模块213可以基于在输入比特流201中接收的帧和运动向量数据等而应用运动补偿。
帧内预测补偿可以由帧内方向预测生成模块214执行。帧内方向预测生成模块214可以被配置为根据输入比特流201中的帧内预测数据执行空间方向预测且可以使用解码的相邻分区。
如在图2中所示出的,预测模式选择器模块215可以基于输入比特流201中的模式选择数据,针对瓦片中的每一预测分区而从“跳过”、“自动”、“帧间”、“划分”、“多个”、以及“帧内”中确定预测模式选择,全部这些模式可以应用到P和F/B图片。除了预测模式之外,预测模式选择器模块215还允许选择参考类型,上述参考类型根据“帧间”、或“多个”模式以及对于P和F/B图片可以是不同的。在预测模式选择器模块215的输出处的预测信号可以由预测融合滤波模块216滤波。预测融合滤波模块216可以基于经由输入比特流201确定的参数(例如,滤波系数、频率、开销)而执行滤波。在一些示例中,对预测信号进行滤波可以融合代表不同模式(例如,帧内、帧间、多个、跳过、以及自动)的不同类型的信号。在一些示例中,帧内预测信号可以与所有其他类型的帧间预测信号不同,使得适当的滤波可以极大地增强编码效率。如上文所讨论的,经滤波的预测信号可以向差异确定器206提供第二输入(例如,预测分区)。
如所讨论的,质量恢复滤波模块209的输出可以是最终重建帧。可以向自适应图片重组织器217发送最终重建帧,自适应图片重组织器217可以根据需要而基于输入比特流201中的排序参数来重新排序或重新组织帧。可以向内容后恢复器模块218发送重新排序的帧。内容后恢复器模块218可以是被配置为执行对解码的视频的感知质量进行进一步改进的可选模块。改进过程可以响应于输入比特流201中的质量改进参数来执行或其可以作为单独的操作而执行。在一些示例中,内容后恢复器模块218可以应用参数以提高质量,诸如例如估计薄膜纹理噪声或残差块减小(例如,甚至在关于解块滤波模块208所讨论的解块操作之后)。如所示出的,解码器200可以提供显示视频219,其可以被配置用于通过显示设备(未示出)来显示。
图2示出了与视频解码器200的操作相关联的示例性控制信号,其中,所指示的缩写可表示与上文参照图1所讨论的类似的信息。虽然这些控制信号被示出为与图4中的解码器200的特定示例性功能模块相关联,但其他实施方式可包括在编码器100的功能模块之间的控制信号的不同分布。本公开不限于该方面,且在各个示例中,在本申请中控制信号的实施方式可以包括仅采用所示出的特定示例性控制信号、额外控制信号、和/或在与所示出的不同的布置中的子集。
虽然图1和2示出了特定的编码和解码模块,但是也可以根据本公开而利用未示出的各种其他的编码模块或组件。此外,本公开不限于图1和2中所示出的特定的组件和/或不限于各个组件所布置的方式。本申请中描述的系统的各个组件可以以软件、固件、和/或硬件和/或其任意组合来实现。例如,可以至少部分地由诸如可以在诸如例如移动电话的计算系统中找到的计算片上系统(SoC)的硬件来提供编码器100和/或解码器200的各个组件。
此外,可以认识到的是,编码器100可以与内容提供商系统相关联和/或由内容提供商系统(包括例如视频内容服务器系统)提供,并且可以认识到可以由未在图1和2中描绘的诸如收发器、天线、网络系统等的各种通信组件和/或系统而向诸如例如解码器200的解码器发送或传送输出比特流111。还可以认识到的是,解码器200可以与诸如计算设备(例如,台式计算机、膝上型计算机、平板计算机、可翻转笔记本、移动电话等)的客户端系统相关联,该客户端系统远离编码器100且通过未在图1和2中描绘的诸如收发器、天线、网络系统等的各种通信组件和/或系统而接收输入比特流201。因此,在各个实施方式中,编码器100和解码器子系统200可以一起实现或彼此单独实现。
图3(a)是根据本公开的至少一些实施方式布置的示例性下一代视频编码器300a的直观图。图3(a)呈现了与图1(a)和图1(b)中示出的编码器类似的编码器,且为了简洁将不重复类似的元件。如在图3(a)中所示出的,编码器300a可以包括预分析器子系统310a、划分器子系统320a、预编码子系统330a、变换编码器子系统340a、滤波编码子系统350a、熵编码器系统360a、变换解码器子系统370a、和/或非划分器子系统380a。预分析器子系统310a可以包括内容预分析器模块102和/或自适应图片组织器模块104。划分器子系统320a可以包括预测分区生成器模块105、和/或编码分区生成器107。预测编码子系统330a可以包括运动估计器模块122、特性和运动补偿的滤波估计器模块123、和/或帧内方向预测分析器和预测生成模块124。变换编码器子系统340a可以包括自适应变换模块108和/或自适应量化模块109。滤波编码子系统350a可以包括块分析器和解块滤波模块117,质量分析器和质量恢复滤波模块118、运动估计器模块122、特性和运动补偿的滤波预测器模块123、和/或预测分析器和预测融合滤波模块126。熵编码子系统360a可以包括自适应熵编码器模块110。变换解码器子系统370a可以包括自适应逆量化模块112和/或自适应逆变换模块113。非划分器子系统380a可以包括编码分区组装器114和/或预测分区组装器116。
编码器300a的划分器子系统320a可以包括两个分区子系统:可以对预测执行分析和分区的预测分区生成器模块105,以及可以对编码执行分析和分区的编码分区生成器模块107。另一分区方法可以包括可以将图片分段成区域或片的自适应图片组织器104,其也可以可选地被当作该划分器的一部分。
编码器300a的预测编码器子系统330可以包括运动估计器122以及可以对“帧间”信号执行分析和预测的特性和运动补偿的滤波预测器123,以及可以对“帧内”信号执行分析和预测的帧内方向预测分析器和预测生成模块124。运动估计器122以及特性和运动补偿的滤波预测器123可以允许通过首先补偿其他源的差异(例如,增益、全局运动、配准),然后进行实际的运动补偿来增加可预测性。它们还可以允许使用数据建模来创建可以允许更好的预测的合成帧(超分辨率和投影),然后在这样的帧中使用实际的运动补偿。
编码器300a的变换编码器子系统340a可以执行分析以选择变换的类型和大小,并且可以包括两个主要类型的组件。第一类型的组件可以允许使用参数变换来允许对小到中型大小块的局部优化变换编码;然而这样的编码可能需要一些开销。第二类型的组件可以允许使用诸如DCT的通用/固定变换、或来自包括参数变换的少量变化选择中的基于图片的变换的全局稳定的、低开销编码。对于局部自适应变换编码,可以使用PHT(参数哈尔变换)。可以对4×4和64×64之间的矩形大小的2D块执行变换,其中实际大小可以取决于许多因素,例如变换的数据是亮度还是色度,是帧间还是帧内变换,以及所使用的变换是PHT还是DCT。可以对所产生的变换系数进行量化、扫描和熵编码。
编码器300a的熵编码器子系统360a可以包括多个高效但低复杂度的组件,每一个这样的组件具有对特定类型的数据(各种类型的开销、运动向量、或变换系数)进行高效编码的目标。该子系统的组件可以属于通用类别的低复度性可变长度编码技术,然而,对于高效的编码,每一组件可以针对最高效率进行自定义优化。例如,可以设计自定义解决方案以用于对“编码的/非编码的”数据进行编码、另一个用于“模式和参考类型”数据、又一个用于“运动向量”数据、且又一个用于“预测和编码分区”数据。最终,因为要被熵编码的很大部分的数据是“变换系数”数据,所以可以使用用于对特定块大小进行高效处理的多个方式,以及可以在多个表之间适配的算法。
编码器300a的滤波编码器子系统350a可以执行对参数的分析并基于这些参数执行对重建的图片多次滤波,且其可以包括若干子系统。例如,第一子系统,即,块分析器和解块滤波模块117,可以解块和振动以减小或掩码任何潜在的块编码噪音。第二示例性子系统,即,质量分析器和质量恢复滤波模块118,可以执行一般的质量恢复以减小由于在任何视频编码中的量化操作导致的噪音。可以包括运动估计器122以及特性和运动补偿的滤波预测器模块123的第三示例性子系统,该第三示例性子系统可以通过使用适配用于内容的运动特性(运动速度/模糊度)的滤波器来改进来自运动补偿的结果。第四示例性子系统,即,预测融合分析器和滤波生成模块126可以允许预测信号的自适应滤波(其可以减小预测中的假噪音,这经常来自帧内预测),从而减小了需要被编码的预测误差。
编码器300a的编码控制器模块103可以在给定的资源和期望的编码速度的约束下,负责整体视频质量。例如,在基于完全RDO(速率失真优化)的编码中,并且在不使用任何捷径的情况下,软件编码的编码速度可以仅是计算资源(处理器速度、处理器数量、超线程、DDR3存储器等)可用性的结果。在这样的情况下,可以向编码控制器模块103输入预测分区和编码分区的每一个单个组合,且通过实际的编码,可以针对每一情况计算比特率以及重建的误差,并且基于拉格朗日优化方程,可以发送预测和编码分区的最佳组以用于被编码的每一帧的每一瓦片。基于完全RDO的模式可以导致最佳的压缩效率且还可以是最慢的编码模式。通过使用来自内容预分析器模块102的内容分析参数,并使用它们来进行RDO简化(不测试所有的可能的情况)或经由完全RDO而仅通过一定百分比的块,可以进行质量对速度的折衷,以允许更快速的编码。到现在为止,我们已经描述了基于可变比特率(VBR)的编码器操作。编码控制器模块103还可以包括可在不变比特率(CBR)控制的编码中调用的速率控制器。
最后,编码器300a的预分析器子系统310a可以执行对内容的分析以计算对于提高视频编码效率和速度性能有用的各种类型的参数。例如,其可以计算水平和垂直梯度信息(Rs、Cs)、方差、每图片空间复杂度、每图片时间复杂度、场景变化检测、运动范围估计、增益检测、预测距离估计、对象数量估计、区域边界检测、空间复杂度图计算、焦点估计、薄膜纹理估计等。由预分析器子系统310a生成的参数可以由编码器消耗或被量化并发送至解码器200。
虽然子系统310a至380a被示出为与图3(a)中的编码器300a的特定示例性功能模块相关联,但是在本申请中编码器300a的其他实施方式可以包括在子系统310a至380a之中的编码器300a的功能模块的不同分布。本公开不受该方面的限制,且在各个示例中,本申请中的示例性子系统310a至380a的实施方式可以包括仅采用所示出的编码器300a的特定示例性功能模块、额外功能模块、和/或在与所示出的不同的布置中的子集。
图3(b)是根据本公开的至少一些实施方式布置的示例性下一代视频解码器300b的直观图。图3(b)呈现了与图2中示出的解码器类似的解码器,且为了简洁将不重复类似的元件。如在图3(b)所示出的,解码器300b可以包括预测解码器子系统330b、滤波解码器子系统350b、熵解码器子系统360b、变换解码器子系统370b、非划分器_2子系统380b、非划分器_1子系统351b、滤波解码器子系统350b、和/或后恢复器子系统390b。预测解码器子系统330b可以包括特性和运动补偿的滤波预测器模块213和/或帧内方向预测生成模块214。滤波解码器子系统350b可以包括解块滤波模块208、质量恢复滤波模块209、特性和运动补偿的滤波预测器模块213、和/或预测融合滤波模块216。熵解码器子系统360b可以包括自适应熵解码器模块202。变换解码器子系统370b可以包括自适应逆量化模块203和/或自适应逆变换模块204。非划分器_2子系统380b可以包括编码分区组装器205。非划分器_1子系统351b可以包括预测分区组装器207。后恢复子系统790可以包括内容后恢复器模块218和/或自适应图片重组织器217。
解码器300b的熵解码子系统360b可以执行编码器300a的熵编码器子系统360a的逆操作,即,熵解码子系统360b可以使用被松散地称为可变长度解码的一类技术来解码由熵编码器子系统360a所编码的各种数据(开销、运动向量、变换系数类型)。具体地,要被解码的各种类型的数据可以包括“编码/非编码的”数据、“模式和参考类型”数据、“运动向量”数据、“预测和编码分区”数据、以及“变换系数”数据。
解码器300b的变换解码器子系统370b可以执行编码器300a的变换编码器子系统340a的操作的逆操作。变换解码器子系统370b可以包括两种类型的组件。第一种类型的示例性组件可以支持使用对小到中型块大小的参数逆PHT变换,而其他类型的示例性组件可以支持针对所有块大小的逆DCT变换。用于块的PHT变换可以取决于对相邻块的解码的数据的分析。输出比特流111和/或输入比特流201可以携带关于用于PHT变换的分区/块大小的信息,以及在要被进行逆变换的2D块的那个方向上可以使用PHT(另一方向使用DCT)。对于仅由DCT所编码的块,分区/块大小信息也可以从输出比特流111和/或输入比特流201中取出并且用于应用适当尺寸的逆DCT。
解码器300b的非划分器子系统380b可以执行编码器300a的划分器子系统320a的操作的逆操作,并且非划分器子系统380b可以包括两个非分区子系统,可以执行对编码的数据的非分区的编码分区组装器模块205以及可以对预测执行非分区的预测分区组装器模块207。此外,如果在编码器300a处使用可选的自适应图片组织器模块104以用于区域片段或片,则在解码器处可以需要自适应图片重组织器模块217。
解码器300b的预测解码器子系统330b可以包括可以执行对“帧间”信号的预测的特性和运动补偿的滤波预测器模块213以及可以执行对“帧内”信号的预测的帧内方向预测生成模块214。特性和运动补偿的滤波预测器模块213可以允许通过首先补偿其他源的差异(例如,增益、全局运动、配准)或合成帧的创建(超分辨率、和投影),然后进行实际的运动补偿来增加可预测性。
解码器300b的滤波解码器子系统350b可以基于由编码器300a发送的参数来执行对重建的图片的多次滤波,并且滤波解码器子系统350b可以包括若干子系统。第一示例性子系统,即,解块滤波模块208,可以解块和振动以减小或掩码任何潜在的块编码噪音。第二示例性子系统,即,质量恢复滤波模块209,可以执行一般的质量恢复以减小由于在任何视频编码中的量化操作所导致的噪音。第三示例性子系统,即,特性和运动补偿的滤波预测器模块213,可以通过使用可以适配用于内容的运动特性(运动速度/模糊度)的滤波器来改进来自运动补偿的结果。第四示例性子系统,即,预测融合滤波模块216,可以允许对预测信号的自适应滤波(其可以减小预测中的假噪音,其经常来自帧内预测),从而减小可以需要被编码的预测误差。
解码器300b的后恢复器子系统390b是可以对解码的视频的感知质量执行进一步改进的可选块。可以响应于由编码器100发送的质量改进参数来完成该处理,或该处理可以是在后恢复器子系统390b处进行的单独的决策。关于在编码器100处计算的可以在后恢复器子系统390b处使用以改进质量的特定参数方面,这些特定参数可以是编码器100处的薄膜纹理噪声和残差块的估计(甚至在解块之后)。关于薄膜增益噪声,如果可以计算参数并通过输出比特流111和/或输入比特流201向解码器200发送,则可以使用这些参数来合成薄膜增益噪声。同样地,对于编码器100处的任何残差块噪音,如果它们可以被测量并通过输出比特流111和/或比特流201发送,则后恢复器子系统390b可以解码这些参数并且可以在显示前使用它们来可选地执行额外的解块。此外,编码器100还可以具有对以下的访问:有助于在后恢复器子系统390b中的质量恢复的场景变化、空间复杂度、时间复杂度、运动范围以及预测距离信息。
虽然将子系统330b至390b示出为与图3(b)中的解码器300b的特定的示例性功能模块相关联,但是本申请中解码器300b的其他实施方式可以包括在子系统330b至390b之间的解码器300b的功能模块的不同分布。本公开在该方面不受限制,且在各个示例中,本申请中示例性子系统330b至390b的实施方式可以包括仅采用所示出的解码器300b的特定的示例性功能模块、额外功能模块、和/或在与所示出的不同的布置中的子集。
图4是根据本公开的至少一些实施方式布置的示例性熵编码器模块110的直观图。如所示出的,熵编码器模块110可以包括比特流头部、参数和图数据编码器模块401、图片分区、预测分区、和编码分区编码器模块402、编码模式和参考类型编码器模块403、编码/非编码的数据编码器模块404、变换系数编码器模块405、运动向量预测和差异运动向量编码器模块406、帧内预测类型和方向数据编码器模块407、和/或比特流组装器模块408。在本申请的讨论中,为了简洁起见,模块401至407中的每一个可以被简称为编码器模块401、编码器模块404等。
如所示出的,编码器模块401至407可以分别经由自适应熵编码器110分别接收视频数据411至417。在一些示例中,如本申请中所讨论的,接收到的视频数据411至417可以是从编码器100的各种模块接收的。如所示出的,编码器模块401至407可压缩接收到的视频数据411至417,以生成压缩的视频数据421至427。压缩的视频数据421至427可被提供给比特流组装器408,比特流组装器408可将压缩的视频数据421至427进行组装以生成输出比特流111。
在一些示例中,编码器模块401至407每个可以包括一个或多个专用组件以用于对与接收到的视频数据411至417相关联的数据类型高效地进行编码。在一些示例中,编码器模块401至407中的一个或多个可以基于接收到的视频数据411至417的一个参数、多个参数或特性或其他系统信息而预处理接收到的视频数据411至417和/或选择熵编码技术。
例如,编码器401可以接收开销数据411,开销数据411可以包括比特流头部数据(例如,序列和/或图片等级比特流头部)、变型参数、合成参数、或全局图数据(例如,指示在分区的基础上要被使用的量化器的图片的量化器图)。如下面进一步参照图6所讨论的,在一些示例中,编码器模块401可以实现自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、或对视频数据411的压缩的可变长度编码表或多个表。在一些示例中,编码器模块411可以确定哪种技术提供了最大压缩效率(例如,针对压缩的视频数据421的最少比特),使得与视频数据411相关联的参数可以为每种编码技术所需的比特数等。编码器模块411可以对视频数据411进行熵编码以生成压缩的视频数据421(例如,压缩的头部数据),可以如所示出地向比特流组装器408传送视频数据421。
如所讨论的,在一些示例中,与视频数据(例如,视频数据411至417中的任意一个)相关联的参数可以为最少数量的可达到比特、最高效的编码技术等。在其他示例中,与视频数据相关联的参数可以为预定义或预先确定的参数,使得编码技术是被预先确定的。在一些示例中,如在本申请中进一步讨论的,与视频数据相关联的参数可以是基于视频数据的特性的,使得所确定的编码技术可以自适应于接收到的视频数据。
如所示出的,在一些示例中,编码器模块402可以接收分区数据412,分区数据412可以包括图片片或区域数据、帧内预测分区数据、和/或帧间预测分区和编码分区数据。如下面参照附图6进一步讨论的,在一些示例中,编码器模块402可以实现自适应符号运行可变长度编码技术或自适应代理可变长度编码技术,以用于基于与帧内预测分区数据和/或帧间预测分区数据相关联的参数(例如,最少数量的可达到比特、最高效的编码技术、预先确定的参数、视频数据412的特性等)而压缩视频数据412的帧内预测分区数据和/或帧间预测分区数据部分,并且编码器模块412可以实现对视频数据412的片或区域数据部分的自适应码本可变长度编码,以生成压缩的视频数据422(例如,压缩的分区数据),压缩的视频数据422可以如所示出地被传送至比特流组装器408。在一些示例中,帧内预测分区数据和/或帧间预测分区数据可以包括指示将瓦片分为分区、将分区分为子分区等的数据。在一些示例中,分区和/或子分区可以包括预测分区和/或子分区。在一些示例中,分区和/或子分区可以包括编码分区和/或子分区。
进一步如所示出的,在一些示例中,编码器模块403可以接收模式和类型数据413,模式和类型数据413可以包括针对每个预测分区的模式(例如,帧内、划分、跳过、自动、帧间、或多个)数据和/或参考数据。例如,模式划分信息可以指示分区是否进一步被分割。如果分区被进一步分割,则模式数据可以进一步包括指示该划分是被水平划分(例如,hor)还是被垂直划分(例如,vert)的方向信息。如下面参照附图6进一步讨论的,在一些示例中,编码器模块403可以实现自适应符号运行可变长度编码技术或自适应代理可变长度编码技术,以用于基于与数据相关联的参数(例如,最少数量的可达到比特、最高效的编码技术、预先确定的参数、视频数据413的相关部分的特性等)而单独编码划分/非划分的分区信息数据、单独编码划分/非划分的划分信息数据或预测参考信息数据,并且编码器模块403可以实现自适应可变长度编码以用于对模式和划分信息的联合编码,以生成压缩的视频数据423(例如,压缩的模式或参考类型数据),视频数据423可以如所示出地被传送至比特流组装器408。
此外,在一些示例中,编码器模块404可以接收编码的/非编码的数据414,数据414可以包括如在本申请中所讨论的编码的/非编码的数据。例如,如果分区(或子分区)具有任何非零变换系数,则其可以被编码,并且如果分区(或子分区)具有全部零变换系数,则其不可以被编码。在一些示例中,对于具有帧内或跳过模式的分区,可以不需要编码的/非编码的数据。在一些示例中,对于具有自动、帧间、或多个模式的分区,可以需要编码的/非编码的数据。如下面关于附图6进一步讨论的,在一些示例中,编码器模块404可以基于与编码的/非编码的数据相关联的参数(例如,最少数量的可达到比特、最高效的编码技术、预先确定的参数、视频数据414的特性等)来实现自适应符号运行可变长度编码技术或自适应代理可变长度编码技术以用于编码的/非编码的数据,以生成压缩的视频数据424(例如,压缩的编码的/非编码的数据),视频数据424可以如所示出地被传送至比特流组装器408。
在一些示例中,编码器模块405可以接收变换数据415,变换数据415可以包括变换系数数据。例如,对于被编码的块或分区或子分区(例如,具有一个或多个非零变换系数),可以接收变换系数数据以用于熵编码。如下面关于附图6进一步讨论的,编码器模块405可以实现对在一个维度中具有大小为2的块或分区或子分区(例如,2×K分区或K×2大小的分区)的块或分区或子分区的自适应向量可变长度编码。此外,编码器模块405可以实现针对4×4大小的块或分区或子分区的自适应1维可变长度编码,以及针对所有其他块或分区或子分区大小(例如,4×8、8×4、8×8、16×16、32×32、64×64等)实现自适应2维可变长度编码。所生成的压缩的视频数据425(例如,压缩的变换数据)可以如所示出地被传送至比特流组装器408。
例如,可以由于通过自适应变换模块108所实现的对像素数据的矩形(或方形等)分区或对像素差值的矩形(或方形等)分区的前向变换,接着是通过自适应量化模块109所实现的对得到的系数的量化,而产生的变换系数数据。在一些示例中,可以扫描变换系数数据以通过编码器模块405而将变换系数数据转换为1维频率有序分区。这样的转换可以高度自适应于任何分区大小(例如,24或更大或32或更大的分区大小)、不同数据类型(例如,帧内分区或帧间分区的离散余弦变换系数或混合参数哈尔变换系数等)、和/或不同量化器组特性(例如,量化器参数和/或矩阵的各种组合)。此外,块或分区或子分区可以属于不同图片类型:I图片(例如,仅帧内补偿)、P图片(例如,预测的)或F图片(例如,功能的)和/或可以表示不同类型的信号或数据(例如,亮度或色度等),可以用不同量化器设置来对其进行量化。
此外,在一些示例中,编码器模块406可以接收运动数据416,运动数据416可以包括运动向量数据。如参照图6进一步讨论的,可以基于视频数据416而执行运动向量预测,以生成一个或多个预测的运动向量。可以确定预测的运动向量与视频数据416的原始运动数据的不同,以生成差值运动向量。在一些示例中,编码器模块416可以针对插值运动向量实现自适应分类的可变长度编码,以生成压缩的视频数据426(例如,压缩的运动数据),如所示出的,可以将视频数据426向比特流组装器408发送。
此外,在一些示例中,编码器模块407可以接收帧内预测数据417,帧内预测数据417可以包括帧内预测类型或帧内预测方向数据。例如,如所讨论的,帧内编码可以使用预测,其可以使用相邻的过去的同一帧内的解码的分区来生成空间预测。在这样的示例中,可以存在用于指示过去的解码的分区的预测器。例如,预测器可以包括dc、斜率、方向、BTPC、特征匹配等。此外,在一些示例中,方向预测器可以自适应于不同的分区大小。例如,指定方向预测器可以包括提供用于确定角度预测像素分区的技术以使用随意(casual)相邻的解码的分区进行编码和/或指定用于熵编码空间预测方向的技术。在一些示例中,这样的技术可以通过编码器407来执行。如下面参照图6进一步讨论的,在一些示例中,编码器模块407可以基于与帧内预测类型或帧内预测方向数据相关联的参数(例如,最少数量的可达到比特、最高效的编码技术、预先确定的参数、视频数据417的相关部分的特性等)而针对帧内预测类型或帧内预测方向数据实现自适应可变长度编码技术或算术编码技术,以生成压缩的视频数据427(例如,压缩的帧内预测数据),如所示出的,可以将视频数据427发送到比特流组装器408。
如在图4中所示出的,自适应熵编码器110可以包括比特流组装器408。在一些示例中,编码器模块401至407中的一些或全部可以在时间的不同实例处提供熵编码的压缩的视频数据421至427。此外,在一些示例中,压缩的视频数据421至427中的一个或一些可以是基于图片、基于区域或片、基于瓦片、基于预测分区、基于编码分区、或其任何组合的。在一些示例中,比特流组装器可以复用(潜在地不同的)压缩的视频数据421至427以创建诸如例如输出比特流111的有效的比特流。例如,有效的比特流可以是有效的下一代视频(NGV)编码的比特流,其可以遵循NGV比特流语法规范。在一些示例中,输出比特流111可以是仅视频比特流。在一些示例中,输出比特流111可以与非编码或编码的音频复用(例如,传输或媒体文件格式)以创建复用的视听流。在任何情况下,如本申请中所讨论的,可以使用比特流进行局部解码、存储或向解码器传输。
图5是根据本公开的至少一些实施方式布置的示例性熵解码器模块202的直观图。如所示出的,熵解码器模块202可以包括比特流头部、参数和图数据解码器模块501、图片分区、预测分区、和编码分区解码器模块502、编码模式和参考类型解码器模块503、编码/非编码的数据解码器模块504、变换系数解码器模块505、运动向量和差异运动向量解码器模块506、帧内预测和方向数据解码器模块507、和/或比特流解组装器模块508。在本申请的讨论中,为了简洁起见,模块501至507中的每一个可以被简称为解码器模块501、解码器模块505等。
如所示出的,比特流解组装器模块508可以接收输入比特流201。在一些示例中,输入比特流201可以是诸如例如有效的下一代视频(NGV)编码的比特流的有效的比特流,其可以遵循NGV比特流语法规范。在一些示例中,输入比特流201可以是仅视频比特流。如本申请中所讨论的,在一些示例中,输入比特流201可以是复用的视听流。如所示出的,比特流解组装器模块508可以将输入比特流201解组装以确定压缩的视频数据511至517。例如,比特流解组装器模块508可以使用预定义的语法或规范以按照数据类型将输入比特流201分割成分量压缩的视频数据511至517以用于通过解码器模块501至507解压缩。在一些示例中,比特流解组装器模块508可以执行相对于比特流组装器模块408的逆操作。
如在图5中所示出的,解码器模块501至507可以分别接收压缩的视频数据511至517,并生成视频数据521至527。如本申请中所讨论的,可以向解码器200的各个组件发送视频数据521至527以进行进一步解码。从而,解码器200可以生成视频帧以通过显示设备(未示出)向用户呈现。在一些示例中,解码器模块501至507各自可以执行相对于编码器模块401至407的逆操作。在一些示例中,解码器模块501至507可以各自包括一个或多个专用组件,以将与压缩的视频数据511至517相关联的数据的类型进行高效地熵解码。
例如,解码器模块501可以接收压缩的开销数据511,压缩的开销数据511可以包括压缩的比特流头部数据(例如,序列和/或图片级别比特流头部)、变形参数、合成参数、或全局图数据(例如,指示以分区为基础所要使用的量化器的图片的量化器图)。在一些示例中,解码器模块511可以实现自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、或可变长度编码表或多表以对压缩的开销数据511进行解压缩,以生成开销数据521。在一些示例中,解码器模块501可以基于通过比特流201提供的参数或指示符来确定要实现哪一个编码技术。
如所示出的,在一些示例中,解码器模块502可以接收压缩的分区数据512,压缩的分区数据512可以包括压缩的图片片或区域数据、帧内预测分区数据、和/或帧间预测分区数据。在一些示例中,解码器模块502可以实现自适应符号运行可变长度编码技术或自适应代理可变长度编码技术,以对压缩的分区数据512的帧内预测分区数据或帧间预测分区数据部分进行解压缩,并且解码器模块502可以实现自适应码本可变长度编码以对压缩的分区数据512的片或区域数据部分进行解压缩,以生成分区数据522。在一些示例中,帧内预测分区数据和/或帧间预测分区数据可以包括指示将瓦片分成分区、将分区分成子分区的数据等。在一些示例中,上述分区和/或子分区可以包括预测分区和/或子分区。在一些示例中,分区和/或子分区可以包括编码分区和/或子分区。在一些示例中,解码器模块502可以基于通过比特流201提供的参数或指示符确定要实现哪一个编码技术,以将压缩的视频数据512的帧内预测分块数据和/或帧间预测分块数据部分解压缩。
此外,在一些示例中,解码器模块503可以接收压缩的模式和参考类型数据513,压缩的模式和参考类型数据513可以包括针对每一预测分区的压缩模式(例如,帧内、划分、跳过、自动、帧间、或多个)数据和/或参考数据。例如,模式划分信息可以指示是否进一步分割分区。如果进一步分割分区,则模式数据可以进一步包括指示该划分是水平划分(例如,hor)还是垂直划分(例如,vert)的方向信息。在一些示例中,解码器模块503可以实现自适应符号运行可变长度编码技术或自适应代理可变长度编码技术,以对划分/非划分的分区信息数据的单独编码、划分/非划分的划分信息数据的单独编码、或预测参考信息数据进行解压缩,并且解码器模块503可以实现自适应可变长度编码,以对模式和划分信息的联合编码进行解压缩,以生成模式和参考类型数据523。在一些示例中,解码器模块503可以基于通过比特流201提供的参数或指示符来确定要实现哪一个编码技术以对划分/非划分的分区信息数据的单独编码、划分/非划分的划分信息数据的单独编码、或预测参考信息数据进行解压缩。
此外,在一些示例中,解码器模块504可以接收压缩的编码/非编码的数据514,压缩的编码/非编码的数据514可以包括本申请中讨论的编码/非编码的数据。例如,如果分区(或子分区)具有任何非零的变换系数,则其可被编码,并且如果分区(或子分区)具有全部都是零的变换系数,则其可以不被编码。在一些示例中,对于具有帧内或跳过模式的分区,可不需要编码/非编码的数据。在一些示例中,对于具有自动、帧间或多模式的分区,可需要编码/非编码的数据。在一些示例中,解码器模块504可以实现自适应符号运行可变长度编码技术或自适应代理可变长度编码技术,以对编码/非编码的数据进行解压缩,以生成编码/非编码的视频数据524。在一些示例中,解码器模块504可以基于通过比特流201提供的参数或指示符来确定要实现哪一个编码技术以进行解压缩。
如所示出的,在一些示例中,解码器模块505可以接收压缩的变换数据515,压缩的变换数据515可以包括变换系数数据。例如,对于被编码的块或分区或子分区(例如,具有一个或多个非零的变换系数),压缩的视频数据515可以包括变换系数数据。在一些示例中,解码器模块505可以实现自适应向量可变长度编码,以对在一个维度上具有大小为2的块或分区或子分区的块或分区或子分区(例如,2×K分区或K×2大小的分区)进行解压缩。此外,解码器模块505可以实现自适应1维可变长度编码以用于对4×4大小的块或分区或子分区进行解压缩,并且实现自适应2维可变长度编码以用于对所有其他的块或分区或子分区大小(例如,4×8、8×4、8×8、16×16、32×32、64×64等)进行解压缩。如所示出的,可以向解码器200的其他模块发送所生成的变换数据525。
此外,在一些示例中,解码器模块506可以接收压缩的运动数据516,压缩的运动数据516可以包括运动向量数据。如下面进一步关于图6所讨论的在一些示例中,可以使用自适应分类的可变长度编码技术来对压缩的运动数据516进行解压缩,以生成预测的差异运动向量。可以将预测的差异运动向量添加到运动向量预测,以生成重建的运动向量。可以基于使用通过编码器模块506所实现的技术的逆向的相邻块或分区的先前解码的运动向量来生成运动向量预测,例如,和/或运动向量。如所示出的,可以通过运动数据526向解码器200的其他模块发送重建的运动向量。
此外,在一些示例中,解码器507可以接收压缩的帧内预测数据517,压缩的帧内预测数据517可以包括帧内预测类型或帧内预测方向数据。例如,如所讨论的,帧内编码可以使用预测,其可以使用相同帧内的相邻的过去解码的分区来生成空间预测。在这样的示例中,可存在用于指示过去的解码的分区的预测器。例如,预测器可以包括dc、斜率、方向、BTPC、特征匹配等。此外,在一些示例中,方向预测器可以自适应于不同的分区大小。例如,指定方向预测器可以包括提供用于确定角度预测像素分区的技术以使用随意相邻的解码的分区进行编码和/或指定用于熵编码空间预测方向的技术。在一些示例中,解码器模块517可以实现自适应可变长度编码技术或算术编码技术以对帧内预测类型或帧内预测方向数据进行解压缩以生成帧内预测数据527。在一些示例中,解码器模块507可以基于通过比特流201提供的参数或指示符确定要实现哪一个编码技术来进行解压缩。
如上文所讨论的,可以对各种数据类型实现各种熵编码技术以无损压缩视频数据,以在熵编码器处生成压缩的视频数据,以及用于对压缩的视频数据进行,以在熵编码器处生成复制的视频数据。
在一些示例中,可以实现自适应符号运行可变长度编码技术。例如,编码器和解码器模块401、501、402、502、403、503和/或404、504可以实现对所接收的视频数据中的一些或全部或压缩的视频数据中的一些或全部的自适应符号运行可变长度编码技术。
在一些示例中,自适应符号运行可变长度编码技术可以包括在允许人们确定连续的跳过的块数目的视频编码中对帧内的非跳过的块之间的地址的相对差异进行编码。例如,在编码/未编的码数据通过编码器和解码器模块504、404进行编码和解码的上下文中,编码器模块504例如可以对跳过块的运行进行编码,而不是向信号编码/非编码的(例如,跳过的)块而针对每一块来发送一个比特(例如,位图)。在这样的实施方式中,跳过的块的运行越长,就可以越高效地压缩数据。
此外,如本申请中所描述的,可以将若干类型的自适应性添加到自适应符号运行可变长度编码技术:可以允许使用多个表的自适应性、可以允许使用对原始位图数据、反转的位图、差异位图、或梯度预测位图等执行该类型的编码的自适应性。例如,自适应符号运行可变编码长度技术可以包括在应用自适应符号运行可变长度编码之前,将第一视频数据从位图数据转换为反转的位图、差异位图、或梯度预测位图中的至少一个。例如,自适应符号运行可变长度编码技术可以用于对基本上任何类型的事件(例如,符号/运行组合)进行熵编码。此外,符号/运行事件可以用于对多级(例如,0、1、2、3等)或二进制(例如,0、1)事件进行编码。在多级别事件被编码的示例中,可以多次连续应用自适应符号运行可变长度编码技术,将多级图分成多个二进制子图,其中将每一先前的子图排除在下一级的子图之外等。
在一些示例中,可以实现自适应代理可变长度编码技术。例如,编码器和解码器模块401、501、402、502、403、503和/或404、504可以对所接收的视频数据或压缩的视频数据中的一些或全部实现自适应代理可变长度编码技术。
在一些示例中,自适应代理可变长度编码技术可以包括用可变长度代码(例如,比特序列的图案(pattern))替代原始的固定长度1D比特块(例如,组),使得在替换之后,所得到的比特流在大小方面更小。在一些示例中,在解码器处,可以重复(或反转)该过程以导致原本期望的比特流。在一些示例中,被替换的原始比特块可以具有固定的小尺寸(例如,2比特组、3比特组、或4比特组等)。在一些示例中,替换代码可以天然具有小尺寸和可变的长度。在一些示例中,本申请中所讨论的自适应代理可变长度编码的特征是短VLC(例如,可变长度编码)。此外,通过提供多个替换选项,本申请中描述的自适应代理可变长度编码技术可以自适应于内容。在一些示例中,可以利用1-3比特长编码来替换1维的2比特块/组。在一些示例中,可以利用1-5比特长编码来替换具有编码1维的3比特块/组(或块/组的集合)。在一些示例中,自适应代理可变长度编码技术可以利用比特流内的统计冗余。在一些示例中,自适应代理可变长度编码技术可以提供大约1-1.3的压缩增益。在一些示例中,自适应代理可变长度编码技术可以提供可服从于应用到短序列比特的优点。
在一些示例中,可以实现自适应符号块可变长度编码技术。例如,编码器和解码器模块405、505可以对所接收的视频数据或压缩的视频数据中的一些或全部实现自适应符号块可变长度编码技术。
在一些示例中,如将进一步参考图7所讨论的,自适应符号块可变长度编码技术可以包括两个子编码技术。例如,自适应符号块可变长度编码技术可以包括自适应向量可变长度编码技术和自适应1D/2D(1维/2维)可变长度编码技术。在一些示例中,如本申请中所讨论的,自适应符号块可变长度编码技术可以用于对诸如变换系数块的紧密相关的符号块进行编码。
在一些示例中,自适应符号块可变长度编码技术的自适应向量可变长度编码技术可以通过使用联合的单个码字而对符号的相对较小的2D块或分区进行编码,使得对符号的块的编码可以导致VLC(可变长度编码)码本。在一些示例中,块或分区的大小越大,码本的大小越大。在一些示例中,自适应向量可变长度编码技术可以被应用于在一个维度上具有尺寸为2的块或分区大小(例如,2×K或K×2块或分区)。通过将自适应向量可变长度编码技术应用于这样大小的块或分区,可以有利地限制VLC码本的大小。
在一些示例中,自适应符号块可变长度编码技术的自适应1D可变长度编码技术可以用于对4×4变换系数块或分区大小进行编码。本质上与CAVLC编码器相同。该编码器主要用于对4×4进行编码。在一些示例中,可以通过具有基于被编码的系数的上下文使用的多个不同的VLC表的内容的自适应可变长度编码技术来实现自适应1D可变长度编码技术。例如,基于被编码的系数的上下文,编码器和/或解码器模块505、505可以交换VLC表。
在一些示例中,自适应符号块可变长度编码技术的自适应2D可变长度编码技术可以利用符号块的二维属性而基于多个不同的VLC表之间的上下文而进行交换。在一些示例中,自适应2D可变长度编码技术的特征可以是CA2DVLC(内容自适应2D可变长度)编码器。在一些示例中,除了2×K、K×2块和4×4块之外,自适应2D可变长度编码技术还可以对所有剩余的变换系数块或请求的大小(例如,4×8、8×4、8×8、16×16、32×32、64×64等)进行编码。
图6是根据本公开的至少一些实施方式布置的示例性熵编码器模块110的直观图。如所示出的以及参照附图4所讨论的,熵编码器模块110可以包括比特流头部、参数和图数据编码器模块401、图相分区、预测分区、和编码分区编码器模块402、编码模式和参考类型编码器模块403、编码/非编码的数据编码器模块404、变换参数编码器模块405、运动向量和差异运动向量编码器模块406、帧内预测和方向数据编码器模块407、和/或比特流组装器模块408。
如所示出的,编码器模块110可包括用于比特流头部、参数和图数据模块的自适应VLC、符号运行VLC、和/或代理VLC编码器611,并可接收视频数据411。视频数据411可具有数据类型,从而视频数据411可以包括比特流头部数据(例如,序列和/或图片级别比特流头部)、变形参数、合成参数、或全局图数据(例如,指示以分区为基础所要使用的量化器的图片的量化器图)。在一些示例中,可基于视频数据411的一个参数、多个参数或特性或其他系统参数确定针对视频数据411的熵编码技术。在一些示例中,针对视频数据411的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、如以上所描述的,或可变长度编码表或多表压缩技术中的一种。所确定的熵编码技术可应用到视频数据411,以生成压缩的视频数据421。例如,可变长度编码表或多表压缩技术可包括具有可用于基于视频数据411而进行编码的一个或多个表的内容自适应代理可变长度编码技术。在一些示例中,编码器模块404可以确定哪一种技术提供最大的压缩效率(例如,用于压缩的视频数据421的最少比特),从而使得与视频数据411相关联的参数可以是每种编码技术所需的比特的数量等。在一些示例中,与视频数据411相关联的参数可基于视频数据的特性,从而使得所确定的编码技术可自适应于接收到的视频数据。
如在图6所示出的,编码器模块402可包括用于图像分区模块的自适应码本VLC编码器621、用于帧内预测分区模块的符号运行VLC和/或代理VLC编码器622、和/或用于帧间预测分区和编码分区模块的符号运行VLC和/或代理VLC编码器623。同样如所示出的,编码器模块402可接收视频数据412。在一些示例中,视频数据412可以包括图片片或区域数据624、帧内预测分区数据625、和/或帧间预测分区和编码分区数据626。
如所示出的,图片片或区域数据624可通过用于图像分区模块的自适应码本VLC编码器621被接收,自适应码本VLC编码器可将自适应码本可变长度编码应用到图片片或区域数据624,以生成压缩的图片片或区域数据627。在一些示例中,图片片或区域数据624可包括图片、片、区域等的区域边界。在一些示例中,自适应码本可变长度编码可包括使用自适应于图片片或区域数据624或其他系统参数等的内容的码本的自适应可变长度编码。
如所示出的,帧内预测分区数据625可通过用于帧内预测分区模块的符号运行VLC和/或代理VLC编码器622被接收。在一些示例中,如在本申请中所讨论的,可基于帧内预测分区数据625的一个参数、多个参数或特性或其他系统参数(例如,压缩效率、数据特性等)确定针对帧内预测分区数据625的熵编码技术。所确定的熵编码技术可应用到帧内预测分区数据625,以生成压缩的帧内预测分区数据628。如所示出的,在一些示例中,针对帧内预测分区数据625的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。在一些示例中,帧内预测分区数据625可包括基于二叉树分区或k-d树分区的分区。
如所示出的,帧间预测分区和编码分区数据626可通过用于帧间预测分区和编码分区模块的符号运行VLC和/或代理VLC编码器623被接收。在一些示例中,如在本申请中所讨论的,可基于帧间预测分区和编码分区数据626的一个参数、多个参数或特性或其他系统参数(例如,压缩效率、数据特性等)确定针对帧间预测分区和编码分区数据626的熵编码技术。所确定的熵编码技术可应用到帧间预测分区和编码分区数据626,以生成压缩的帧间预测分区和编码分区数据629。如所示出的,在一些示例中,针对帧间预测分区和编码分区数据626的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。在一些示例中,帧间预测分区和编码分区数据626可包括帧间分区和编码树分区等。
如在图6所示出的,编码器模块403可包括用于联合模式和划分模块的自适应VLC编码器631、用于模式模块的符号运行VLC和/或代理VLC编码器632、和/或用于划分模块的符号运行VLC和/或代理VLC编码器633。同样如所示出的,编码器模块403可接收视频数据412。在一些示例中,视频数据412可包括对模式和划分数据的联合编码635、模式信息数据636、划分/非划分的信息数据637、和/或预测参考信息数据638。
如所示出的,对模式和划分数据的联合编码635可通过用于联合模式和划分模块的自适应VLC编码器631被接收,自适应VLC编码器可将自适应可变长度编码应用到对模式和划分数据的联合编码635,以生成对模式和划分数据的压缩的联合编码639。在一些示例中,自适应可变长度编码可包括自适应于对模式和划分数据的联合编码635或其他系统参数等的内容自适应可变长度编码。
如所讨论的,在一些示例中,模式和划分数据可通过用于联合模式和划分模块的自适应VLC编码器631被联合编码。在一些示例中,模式和划分数据可通过用于模式模块的符号运行VLC和/或代理VLC编码器632、和/或用于划分模块的符号运行VLC和/或代理VLC编码器633被单独编码,如下面所讨论的。在一些示例中,基于对编码技术进行比较以确定哪种技术最有效地压缩数据的这一结果,编码器100(通过,例如,自适应熵编码器110和/或编码控制器103)联合地或单独地编码。
如所示出的,模式信息数据636可通过用于模式模块的符号运行VLC和/或代理VLC编码器632被接收。在一些示例中,如在本申请中所讨论的,可基于模式信息数据636的一个参数、多个参数或特性或其他系统参数(例如,压缩效率、数据特性等)确定针对模式信息数据636的熵编码技术。所确定的熵编码技术可应用到模式信息数据636,以生成压缩的模式信息数据642。如所示出的,在一些示例中,针对模式信息数据636的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。
如所示出的,划分/非划分的信息数据637可通过用于划分模块的符号运行VLC和/或代理VLC编码器633被接收。在一些示例中,如在本申请中所讨论的,可基于划分/非划分的信息数据637的一个参数、多个参数或特性或其他系统参数(例如,压缩效率、数据特性等)确定针对划分/非划分的信息数据637的熵编码技术。所确定的熵编码技术可应用到划分/非划分的信息数据637,以生成压缩的划分/非划分的信息数据643。如所示出的,在一些示例中,用于划分/非划分的信息数据637的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。
如所示出的,预测参考信息数据638可通过用于参考类型模块的符号运行VLC和/或代理VLC编码器634被接收。在一些示例中,如在本申请中所讨论的,可基于预测参考信息数据638的一个参数、多个参数或特性或其他系统参数(例如,压缩效率、数据特性等)确定针对预测参考信息数据638熵编码技术。所确定的熵编码技术可应用到预测参考信息数据638,以生成压缩的预测参考信息数据644。如所示出的,在一些示例中,用于预测参考信息数据638的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。
如所示出的,编码器模块404可包括用于编码/非编码的数据的符号运行VLC和/或代理VLC641,并可接收视频数据414。视频数据414可具有数据类型,使得视频数据414可以包括编码/非编码的数据。例如,如果分区(或子分区)具有任何非零变换系数,则其可以被编码,并且如果分区(或子分区)具有全部为零的变换系数,则其可以不被编码。在一些示例中,对于具有帧内或跳过模式的分区,可以不需要编码的/非编码的数据。在一些示例中,对于具有自动、帧间、或多个模式的分区,可以需要编码的/非编码的数据。在一些示例中,可基于视频数据414的一个参数、多个参数或特性或其他系统参数确定针对视频数据414的熵编码技术。在一些示例中,针对视频数据414的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。所确定的熵编码技术可应用到视频数据414,以生成压缩的视频数据424。在一些示例中,如所讨论的,编码器模块404可以确定哪一种技术提供最大的压缩系数,从而使得与视频数据411相关联的参数可以是每种编码技术所需的比特的数量等。在一些示例中,与视频数据411相关联的参数可基于视频数据的特性,从而使得所确定的编码技术可自适应于接收到的视频数据。
如所示出的,在一些示例中,编码器模块405可包括用于变换系数模块的自适应向量VLC编码器651、和/或用于变换系数模块的自适应1D和2DVLC编码器652。
如所示出的,用于变换系数模块的自适应向量VLC编码器651可接收变换系数数据653,变换系数数据653可包括用于在一个维度中具有大小为2的块或分区或子分区(例如,2×K分区或K×2大小的分区)的块或分区或子分区的变换系数数据。自适应向量可变长度编码技术可应用到变换系数数据653,以生成压缩的变换系数数据655。在一些示例中,自适应向量可变长度编码技术可包括对块或分区的四叉树分割,其表示通过四叉树分割所生成的具有单个向量码字的每个四分之一,该单个向量码字表示具有单个索引值的所有系数,并使用可变长度编码技术等对码字进行熵编码。
同样如所示出的,用于变换系数模块的自适应1D和2DVLC编码器652可接收变换系数数据654,并可实现用于4×4大小的块或分区或子分区的自适应1维可变长度编码、以及用于所有其他块或分区或子分区大小(例如,4×8、8×4、8×8、16×16、32×32、64×64等)的自适应2维可变长度编码,以生成的压缩的变换系数数据656。如所讨论的,可以通过自适应变换模块108所实现的对像素数据的矩形(或方形等)分区或对像素差值的矩形(或方形等)分区的前向变换,接着是通过自适应量化模块109得到的系数的量化而产生变换系数数据653、654。在一些示例中,可以扫描变换系数数据以通过编码器模块405将变换系数数据转换为1维频率有序分区。这样的转换可以高度自适应于任何分区大小(例如,24或更大或32或更大的分区大小)、不同数据类型(例如,帧内分区或帧间分区的离散余弦变换系数或混合参数哈尔变换系数等)、和/或不同量化器组特性(例如,量化器参数和/或矩阵的各种组合)。此外,块或分区或子分区可以属于不同图片类型:I图片(例如,仅帧内补偿)、P图片(例如,预测的)或F图片(例如,功能的)和/或可以表示不同类型的信号或数据(例如,亮度或色度等),可以用不同量化器设置来对其进行量化。
如所示出的,编码器模块406可包括运动向量预测模块661、用于运动向量差异模块的自适应VLC编码器622、和/或差异确定器663。如所示出的,编码器模块406可通过运动向量预测模块661接收视频数据416,收视频数据416可包括运动向量数据。运动向量预测模块661可基于视频数据416(例如,视频数据516的运动向量数据)使用初始运动向量来执行运动向量预测,以生成相关联的预测的运动向量。在一些示例中,运动向量预测可基于所预测的运动向量左、右、上或下的近邻。在一些示例中,也可以使用可共享相同或相似特性的其他空间邻居。例如,许多不同类型的预测可被自适应地选择,并且选择信息可以通过比特流111提供给解码器200。差异确定器663可确定所预测的运动向量与初始运动向量的差异,以生成差异运动向量以用于进行熵编码。如所示出的,用于运动向量差异模块的自适应VLC编码器622可将自适应可变长度编码技术应用到差异运动向量,以生成压缩的视频数据526。在一些示例中,差别的(例如,差异)运动向量可具有两倍于原始运动向量的范围。此外,1/8图素(pel)精度的运动补偿可以将差异运动矢量的范围扩展8倍。在一些示例中,为解决这样的扩展,可采用将巨大的空间分类成较小的子区间并且可以使用对子区间内的矢量的索引。
如所示出的,编码器模块407可以包括用于帧内预测和方向数据的自适应VLC和/或算术编码器模块671,并且可以接收视频数据417。视频数据417可具有数据类型,使得视频数据417可以包括帧内预测类型或帧内预测方向数据。在一些示例中,如在本申请中所讨论的,可基于视频数据417的一个参数、多个参数或特性或其他系统参数(例如,压缩效率等)而确定针对视频数据417的熵编码技术。在一些示例中,如上所述,用于视频数据417的熵编码技术可以是自适应可变长度编码技术或算术编码技术中的一种。所确定的熵编码技术可应用到视频数据417,以生成压缩的视频数据427。在一些示例中,自适应可变长度编码技术可以包括基于视频数据417的内容的内容自适应可变长度编码。在一些示例中,算术编码技术可以包括基于视频数据417的内容的内容自适应二进制算术编码,视频数据417可以支持9个或更多个预测方向以及多种预测类型,包括平面、二叉树预测编码(BTPC)等。
如在图6中所示出的以及以上参照图4所讨论的,输出编码器模块401至407(通过相关联的子模块)可以被输入到比特流组装器408,比特流组装器408输出一个多路复用的每比特流语法格式化的比特流,如以上所讨论的。
图7是根据本公开的至少一些实施方式布置的示例性熵解码器模块202的直观图。如所示出的以及如上参照图5所讨论的,熵解码器模块202可以包括头部、参数和图数据解码器模块501、图片分区、预测分区、和编码分区解码器模块502、编码模式和参考类型解码器模块503、编码/非编码的数据解码器模块504、变换系数解码器模块505、运动向量和差异运动向量解码器模块506、帧内预测和方向数据解码器模块507、和/或比特流解组装器模块508。在一些示例中,熵解码器模块202(和相关的子模块)可以执行相对于熵编码器模块110(和相关的子模块)的逆技术,从而使得在编码器模块(和子模块)与解码器(和子模块)之间可存在一一对应的关系。
如所示出的,比特流解组装器模块508可以接收输入比特流201。在一些示例中,输入比特流201可以是诸如例如有效的下一代视频(NGV)编码的比特流的有效的比特流,其可以遵循NGV比特流语法规范,或是如在本申请中所讨论的其它有效的比特流。如参照附图5所讨论的,比特流解组装器模块508可以将输入比特流201解组装以确定压缩的视频数据511至517,压缩的视频数据511至517中的每一个均具有一个或多个组成部分,如以下进一步讨论的。例如,比特流解组装器模块508可以使用预定义的语法或规范按照数据类型,将输入比特流201分割成分量压缩的视频数据511至517以通过解码器模块501至507进行解压缩。在一些示例中,比特流解组装器模块508可以执行相对于比特流组装器模块308的逆操作。在一些示例中,对输入比特流201的解组装的特征在于解复用。
如所示出的,解码器模块501可包括用于头部、参数和图数据模块的自适应VLC、符号运行VLC和/或代理VLC解码器711,并可接收压缩的视频数据511。在一些示例中,压缩的视频数据511可以包括使用自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、或可变长度编码表或多表压缩技术中的一种进行熵编码的压缩的头部数据(例如,序列和/或图片级别比特流头部)、变形参数、合成参数、或全局图数据。在一些示例中,用于头部、参数和图数据模块的自适应VLC、符号运行VLC和/或代理VLC解码器711可以确定可应用到压缩的视频数据511的熵解码技术,并使用可应用的技术对压缩的视频数据511进行解码,以生成视频数据512。在一些示例中,可基于通过输入比特流201传送的指示符、参数或头数据等确定可应用的技术。
如所示出的,解码器模块502可包括用于图像分区模块的自适应码本VLC解码器721、用于帧内预测分区模块的符号运行VLC和/或代理VLC解码器722、和/或用于帧间预测分区和编码分区模块的符号运行VLC和/或代理VLC解码器723,并且可接收压缩的视频数据512。
如所示出的,压缩的图片片或区域数据724可通过用于图片分区模块的自适应码本VLC解码器721接收。在一些示例中,用于图片分区模块的自适应码本VLC解码器721可将自适应码本可变长度编码应用到压缩的图片片或区域数据724,以生成图片片或区域数据727。如所讨论的,自适应码本可变长度编码可包括使用自适应于压缩的图片片或区域数据724的内容或其他系统参数等的码本的内容自适应码本可变长度编码。在一些示例中,码本可通过用于图片分区模块的自适应码本VLC解码器721实现。
如所示出的,用于帧内预测分区数据的符号运行VLC和/或代理VLC解码器722可接收压缩的帧内预测分区数据725。在一些示例中,如在本申请中所描述的,压缩的帧内预测分区数据725可包括使用自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一种而被熵编码的压缩的帧内预测分区数据。在一些示例中,用于帧内预测分区模块的符号运行VLC和/或代理VLC解码器722可以确定可应用到压缩的帧内预测分区数据725的熵解码技术,并使用可应用的技术对压缩的帧内预测分区数据725进行熵解码,以生成帧内预测分区数据728。在一些示例中,可基于通过输入比特流201传送的指示符、参数或头数据等确定可应用的编码技术。
如所示出的,用于帧间预测分区和编码分区数据的符号运行VLC和/或代理VLC解码器723可接收压缩的帧间预测分区和编码分区数据726。在一些示例中,如在本申请中所讨论的,压缩的帧间预测分区和编码分区数据726可包括使用自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一种而熵编码的压缩的帧间预测分区和编码分区数据。在一些示例中,用于帧间预测分区和编码分区数据的符号运行VLC和/或代理VLC解码器723可以确定可应用到压缩的帧间预测分区和编码分区数据726的熵解码技术,并使用可应用的技术对压缩的帧间预测分区和编码分区数据726进行熵解码,以生成帧间预测分区和编码分区数据729。在一些示例中,可基于通过输入比特流201传送的指示符、参数或头数据等确定可应用的编码技术。
如所示出的,解码器模块503可包括用于联合模式和划分模块的自适应VLC解码器731、用于模式模块的符号运行VLC和/或代理VLC解码器732、和/或用于划分模块的符号运行VLC和/或代理VLC解码器733、和/或用于参考类型模块的符号运行VLC和/或代理VLC解码器734,并且可接收压缩的视频数据513。
如以上参照编码器模块403所讨论的,在一些示例中,模式和划分数据可被联合编码,或者,在一些示例中,模式和划分数据可被单独编码。在一些示例中,用于联合模式和划分模块的自适应VLC解码器731可对编码的数据联合解码,并且用于模式模块的符号运行VLC和/或代理VLC解码器732以及用于划分模块的符号运行VLC和/或代理VLC解码器733可对编码的数据单独解码。在一些示例中,可通过输入比特流201指示对数据进行联合解码还是单独解码。
如所示出的,可通过用于联合模式和划分模块的自适应VLC解码器731接收对模式和划分数据的压缩的联合编码735。在一些示例中,用于联合模式和划分模块的自适应VLC解码器731可将自适应可变长度编码应用到对模式和划分数据的压缩的联合编码735,以生成对模式和划分数据的压缩的联合编码739。如所讨论的,自适应可变长度编码可以是自适应于对模式和划分数据的压缩的联合编码735的内容或其他系统参数等的内容自适应可变长度编码。
如所示出的,用于模式模块的符号运行VLC和/或代理VLC解码器732可接收压缩的模式信息数据736。在一些示例中,如在本申请中所描述的,压缩的模式信息数据736可包括使用自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一种而熵编码的压缩的模式信息数据。在一些示例中,用于模式模块的符号运行VLC和/或代理VLC解码器732可以确定可应用到压缩的模式信息数据736的熵解码技术,并使用可应用的技术对压缩的模式信息数据736进行熵解码,以生成模式信息数据742。在一些示例中,可基于通过输入比特流201传送的指示符、参数或头数据等确定可应用的编码技术。
如所示出的,用于划分模块的符号运行VLC和/或代理VLC解码器733可接收压缩的划分信息数据737。在一些示例中,如在本申请中所讨论的,压缩的划分信息数据737可包括使用自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一种而熵编码的压缩的划分信息数据。在一些示例中,用于划分模块的符号运行VLC和/或代理VLC解码器733可以确定可应用到压缩的划分信息数据737的熵解码技术,并使用可应用的技术对压缩的划分信息数据737进行熵解码,以生成划分信息数据743。在一些示例中,可基于通过输入比特流201传送的指示符、参数或头数据等确定可应用的编码技术。
如所示出的,用于参考类型模块的符号运行VLC和/或代理VLC解码器734可接收压缩的参考类数据738。在一些示例中,如在本申请中所讨论的,压缩的参考类数据738可包括使用自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一种而熵编码的压缩的参考类数据738。在一些示例中,用于参考类型模块的符号运行VLC和/或代理VLC解码器734可以确定可应用到压缩的参考类数据738的熵解码技术,并使用可应用的技术对压缩的参考类数据738进行熵解码,以生成参考类型信息数据744。在一些示例中,可基于通过输入比特流201传送的指示符、参数或头数据等确定可应用的编码技术。
如所示出的,解码器模块504可包括用于编码/非编码的数据模块的自适应符号运行VLC和/或代理VLC解码器741,并且可接收压缩的视频数据514。在一些示例中,如在本申请中所讨论的,压缩的视频数据514可以包括使用自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种而熵编码的编码/非编码的数据。在一些示例中,用于编码/非编码的数据模块的符号运行VLC和/或代理VLC解码器741可以确定可应用到压缩的视频数据514的熵解码技术,并使用可应用的技术对压缩的视频数据514进行解码,以生成视频数据524。在一些示例中,可基于通过输入比特流201传送的指示符、参数或头数据等确定可应用的技术。在一些示例中,可应用的技术可以是自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一种。
如所示出的,解码器模块505可包括用于变换系数模块的自适应向量VLC解码器751、和/或用于变换系数模块的自适应1D和2DVLC解码器752,并且可接收压缩的视频数据515。
如所示出的,用于变换系数模块的自适应向量VLC解码器751可接收压缩的变换系数数据753,如在本申请中所讨论的,压缩的变换系数数据753可以包括针对在一个维度中具有大小为2的块或分区或子分区(例如,2×K分区或K×2大小的分区)的压缩的变换系数数据。在一些示例中,用于变换系数模块的自适应向量VLC解码器751可应用自适应向量可变长度编码技术以对压缩的变换系数数据753进行熵解码,以生成变换系数数据755。如所讨论的,在一些示例中,自适应向量可变长度编码技术可包括使用可变长度码字以生成对块的四叉树分割的所有系数,所述块可通过合并四叉树分割生成。
如所示出的,用于变换系数模块的自适应1D和2DVLC解码器752可接收压缩的变换系数数据754,压缩的变换系数数据754可以包括针对具有4×4大小的块或分区或子分区以及用于所有其他块或分区或子分区大小(例如,4×8、8×4、8×8、16×16、32×32、64×64等)的压缩的变换系数数据。用于变换系数模块的自适应1D和2DVLC解码器752可对具有4×4大小的块或分区或子分区应用自适应1维可变长度编码,并对所有其他块或分区或子分区大小(例如,4×8、8×4、8×8、16×16、32×32、64×64等)应用自适应2维可变长度编码,以对压缩的变换系数数据754进行熵解码,以生成变换系数数据756。
如所示出的,解码器模块506可包括用于运动向量差异模块的自适应VLC解码器762、运动向量预测器761和加法器763,并且可接收压缩的视频数据516。在一些示例中,用于运动向量差异模块的自适应VLC解码器762可对压缩的视频数据516进行解码,以生成运动向量差异。此外,运动向量预测器761可以以类似于关于运动向量预测模块661所讨论的技术,使用先前解码的相邻的运动向量来生成预测运动向量。如所示出的,解码的差异运动向量可通过加法器763与预测的运动向量相加,以生成重建的运动矢量,其可作为视频数据526一部分而输出,并进一步用于通过运动向量预测模块761来执行对其他运动向量的运动向量预测。
如所示出的,解码器模块507可包括用于帧内预测类型和方向模块的自适应VLC和/或算术解码器771,并且可接收压缩的视频数据517。在一些示例中,压缩的视频数据517可以包括使用自适应VLC编码技术或算术编码技术中的一种而熵编码的帧内预测类型和方向数据。在一些示例中,用于帧内预测类型和方向模块的自适应VLC和/或算术解码器771可以确定可应用到压缩的视频数据517的熵解码技术,并使用可应用的技术对压缩的视频数据517进行解码,以生成视频数据527。在一些示例中,可基于通过输入比特流201传送的指示符、参数或头数据等确定可应用的技术。
如所讨论的,视频数据521至527(如所讨论的,包括各个子部分)可被发送到解码器200的各个组件。此外,如所讨论的,解码器200可使用熵解码的视频数据521至527以生成视频帧,视频帧可通过显示视频219输出,以用于通过显示装置呈现或显示给用户。
图8是根据本公开的至少一些实施方式布置的示出了示例性过程800的流程图。过程800可以包括一个或多个操作、功能或动作,如由操作802、804、806和/或808中的一个或多个所示出的。过程800可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程800可以形成由图1中的编码器系统100和/或图5或7中的熵编码器模块110所采用的下一代视频编码过程的至少一部分。
过程800可以在操作802开始,“获得不同类型的第一和第二视频数据以用于进行熵编码”,其中可获得或接收不同类型的第一和第二(或额外的)视频数据,以用于进行熵编码。例如,可接收视频数据411-417(和/或视频数据511-517的任何子部分)中的两个或更多个。在一些示例中,可通过自适应熵编码器110接收视频数据411-417。如所讨论的,第一和第二(或另外的)视频数据可以是不同类型的,例如关于视频数据411-417或本申请中其它地方所讨论的任意类型或子部分类型。
过程800可以在操作804继续,“确定用于第一视频数据的熵编码技术”,其中,可确定用于第一视频数据的第一熵编码技术。如所讨论的,在一些示例中,编码器模块401至407中的一个或多个可以从各种编码技术选项中确定用于视频数据411至417的编码技术。例如,编码器模块401可以从以下技术中的一种中确定用于视频数据411的编码技术:自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、或可变长度编码表或多表压缩技术。此外,编码器模块402可以从以下技术中的一种中确定用于视频数据412的帧内预测数据625的编码技术:自适应符号运行可变长度编码技术、自适应代理可变长度编码技术等。在本申请中关于图4和6提供了多种示例,为简洁起见在此将不再重复。如所讨论的,在一些示例中,可以接收两种或多种类型的视频数据。在一些示例中,如在本申请中所描述的,可确定用于两个、三个或更多种类型的视频数据的熵编码技术。
如所讨论的,可以确定用于视频数据的熵编码技术。在一些示例中,可以从两个或更多个可用的表来确定与第一编码技术相关联的所选择的编码表。例如,可基于可用的表之间的比特计数比较、编码效率等而进行表的选择。例如,在本申请中所讨论的任何一种所描述的熵编码技术可具有多个可用的表。在一些示例中,在比特流900中可生成并提供表指示符,该表指示符指示针对视频数据所选择的表。例如,比特流900可包括指示处所选择的编码技术和所选择的编码表的指示符。此外,与视频数据的长度相关联的一个或多个指示符可包括在比特流900中。例如,可提供视频数据中元组(tuple)的长度或数目(例如视频串的长度),并且可使用位图技术对任何剩余的部分(例如,如果长度未被均分成元组)进行编码,并提供到输出比特流中。
过程800可以在操作806继续,“使用第一熵编码技术对第一视频数据进行熵编码,并对第二视频数据进行熵编码,以生成第一和第二压缩的视频数据”,其中,可使用第一熵编码技术对第一视频数据进行熵编码以生成第一压缩的视频数据,并可使用第二熵编码技术对第二视频数据进行压缩以生成第一和第二压缩的视频数据。
过程800可以在操作808继续,“组装第一和第二压缩的视频数据以生成输出比特流”,其中,可组装第一压缩的视频数据和第二压缩的视频数据以生成输出比特流。例如,如在本申请中所讨论的,比特流组装器508可将第一压缩的视频数据和第二压缩的视频数据进行组装或复用,以生成输出比特流111。
如所讨论的,在一些示例中,输出比特流111可与音频流(编码的或非编码的)复用以生成复用的视听流。此外,如所讨论的,在一些示例中,在进行熵编码之前,可对视频数据中的一个或多个进行预处理,或以其他方式进行操控。例如,对于运动向量数据,可执行运动向量预测以生成预测的运动向量,可以确定预测的运动向量与原始运动向量的差异,以生成差异运动向量,并且差异运动向量可被熵编码,如在本申请中所讨论的。此外,在一些示例中,七个编码器模块401至407中的每一个均可以同时实现,以对七种类型的视频数据411至417进行操作。如在本申请中所讨论的,过程800可以通过自适应熵编码器模块110来实现。此外,过程800可对任何数目的视频数据实例而串行或并行地重复。
如所讨论的,可使用多种所确定(或预先确定的)的自适应熵编码技术对不同类型的视频数据进行熵编码,以生成压缩的视频数据。压缩的视频数据可被组装,以生成输出比特流。
图9示出了根据本公开的至少一些实施方式布置的示例性比特流900。在一些示例中,比特流900可以与如图1、3a、4和6中所示出的输出比特流111对应和/或与如图2、3b、5和7中所示出的输入比特流201对应。尽管为了呈现的清楚起见在图9中未示出,但是在一些示例中,比特流900可以包括头部部分和数据部分。在各个示例中,比特流900可以包括数据、指示符、索引值、模式选择数据等如本申请中所讨论的与对视频帧进行编码相关联的。如所示出的,在一些示例中,比特流900可以包括指示符数据901、压缩的视频数据421、压缩的视频数据422、压缩的视频数据423、压缩的视频数据424、压缩的视频数据425、压缩的视频数据426和/或压缩的视频数据427。所示出的数据可以任何顺序存在于比特流900中,并可与任何其他用于编码视频的多种额外的数据相邻或是被任何其他用于编码视频的多种额外的数据分隔开。如所讨论的,比特流900还可包括指示出所选择的编码技术和所选择的编码表(例如,在指示符数据901中)的指示符。此外,与视频数据的长度相关联的一个或多个指示符可包括在比特流900中。可提供视频数据中元组的长度或数目(例如,视频串的长度),并且可使用位图技术对任何剩余的部分(例如,如果长度未被均分成元组)进行编码,并提供到输出比特流中。
在一些示例中,压缩的视频数据421至427可包括通过本申请中所讨论的任何技术进行编码的任何压缩的视频数据。在一些示例中,指示符数据901可包括头部数据、模式指示符数据和/或指示出与压缩的视频数据421至427相关联的熵编码技术的数据。例如,指示符数据901可指示用于压缩视频数据421的熵编码技术、用于压缩视频数据422的部分的熵编码技术、用于压缩视频数据423的部分的熵编码技术、用于压缩视频数据424的熵编码技术、和/或用于压缩视频数据427的熵编码技术,如在本申请中参照图4和6所讨论的。
如所讨论的,比特流900可以由诸如例如编码器100的编码器生成和/或由解码器200接收以进行解码,使得视频帧可以通过显示设备进行呈现。
图10是根据本公开至少一些实施方式布置的示出了示例性过程1000的流程图。过程1000可以包括一个或多个操作、功能或动作,如由操作1002、1004、1006、和/或1008中的一个或多个所示出的。过程1000可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程1000可以形成由图2中的解码器系统200所采用的下一代视频解码过程的至少一部分。
过程1000可以在操作1002开始,“接收熵编码的比特流”,其中可以接收熵编码的比特流。例如,可以在视频解码器处接收如本申请所讨论的那样被编码的比特流。在一些示例中,可以通过解码器200接收比特流100或900等。
过程1000可以在操作1004继续,“将熵编码的比特流解组装成第一压缩的视频数据和第二压缩的视频数据”,其中,可将所接收的比特流解组装以确定不同类型的压缩的视频数据。例如,可通过比特流解组装器508对比特流201解组装,以生成压缩的视频数据511至517(以及任何子部分视频数据),如图7中所示出的。例如,解组装的压缩的视频数据可包括第一压缩的视频和第二压缩的视频数据。
过程1000可以在操作1006继续,“对第一和第二压缩的视频数据进行熵解码,以生成第一视频数据和第二视频数据”,其中,可对第一和第二压缩的视频数据进行熵解码,以生成(解压缩的)第一和第二视频数据。如所讨论的,在一些示例中,解码器模块501至507中的一个或多个可从各种编码技术选项中确定针对压缩的视频数据511至51的编码技术。例如,解码器模块501可基于通过输入比特流提供的一个或多个指示符,从以下技术中的一种中确定针对压缩的视频数据511的编码技术:自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、或可变长编码表或多表压缩技术。此外,解码器模块502可从以下技术中的一种中确定针对视频数据512的压缩的帧内预测数据725的编码技术:自适应符号运行可变长度编码技术和自适应代理可变长度编码技术等。在本申请中关于图5、7提供了多种示例,为了简洁起见,在此将不再重复。如所讨论的,在一些示例中,可接收两种或更多种类型的视频数据。在一些示例中,可确定针对两种、三种或更多种类型的视频数据的熵解码技术,如在本申请中所讨论的。
过程1000可以在操作1008继续,“对第一和第二视频数据进行解码,以生成视频帧”,其中,可对第一和第二视频数据(以及任何其他熵解码的视频数据)进行解码以生成视频帧。例如,视频帧可适于通过显示设备呈现给用户。
如所讨论的,在一些示例中,熵解码的视频数据中的一个或多个可在进一步解码之前进行后处理,或以其他方式被操控。例如,熵解码的差异运动向量可与预测的运动向量相加,以生成重建的运动向量,其可被输出以用于通过解码器200进行的运动向量预测。
本申请中描述的系统的各个组件可以以软件、固件、和/或硬件和/或其任意组合来实现。例如,可以至少部分地由诸如可以在诸如例如智能电话的计算系统中找到的计算片上系统(SoC)的硬件来提供编码器100和/或解码器200的各个组件。本领域技术人员可以认识到本申请中描述的系统可以包括尚未在相对应的图中描绘的另外的组件。例如,本申请中所讨论的系统可以包括诸如为了清楚起见尚未描绘的比特流复用器或解复用器模块等之类的额外的组件。
可以在本申请中讨论的实施方式中的一个或多个示例中并且特别地关于下文的图11来描述与过程800、1000相关的一些额外的和/或替代的细节以及本申请中讨论的其他过程。
图11是根据本公开的至少一些实施方式布置的运行中的示例性视频编码系统1610和视频编码过程1100的直观图。在所示出的实施方式中,过程1100可以由动作1100至1112中的一个或多个所示出的包括一个或多个操作、功能或动作。通过非限制性示例的方式,将参照包括图1中的编码器100和图2中的解码器200的示例性视频编码系统1610在本申请中描述过程1100,如下文参照图16在本申请中进一步讨论的。在各个示例中,过程1100可以由包括编码器和解码器两者的系统或由具有采用编码器(及可选地解码器)的一个系统和采用解码器(以及可选地编码器)的另一系统的分离的系统所执行。还要注意的是,如上文所讨论的,编码器可以包括采用局部解码器的局部解码循环以作为编码器系统的一部分。
在所示出的实施方式中,视频编码系统1610可以包括逻辑电路1150等和/或其组合。例如,逻辑电路1150可以包括编码器100并且可以包括参照图1和/或3和5所讨论的任何模块,以及解码器200以及参照图2和/或4和6所讨论的任何模块。尽管如在图16中所示出的,视频编码系统1610可以包括与特定模块相关联的一个特定组的块或动作,但是这些块或动作可以与在此示出的特定的模块不同的模块相关联。尽管如所示出的,过程1100是针对编码和解码的,但是可以将所描述的概念和/或操作分别应用到编码和/或解码,且更一般地,应用到视频编码。
过程1100可以在操作1101开始,“获得不同类型的视频数据”,其中可以接收不同类型的视频数据以进行熵编码。例如,可以接收两种或更多种类型的视频数据以进行熵编码。例如,可以通过自适应熵编码器110接收视频数据411至417中的两个或更多个(和/或视频数据411至417的任何子部分)。如所讨论的,第一和第二视频数据(或额外的)可以具有不同类型,例如,可以是关于视频数据411至417或在本申请中其它地方所讨论的任何类型或子部分类型。
过程1100可从操作1101继续至操作1102,“确定针对一个或多个类型的视频数据的熵编码技术”,其中,可以确定针对一个或多个视频数据类型的熵编码技术。如所讨论的,在一些示例中,编码器模块401至407中的一个或多个可以从各种编码技术选项中而确定针对视频数据411至417的熵编码技术。例如,编码器模块401可以从以下技术中的一种确定针对视频数据411的编码技术:自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、或可变长度编码表或多表压缩技术。此外,如在本申请中所讨论的,编码器模块402可以从以下技术中的一种中确定针对视频数据402的帧内预测数据625的编码技术:自适应符号运行可变长度编码技术和自适应代理可变长度编码技术等。
过程1100可以在操作1103继续,“使用所确定的技术对视频数据进行熵编码”,其中,可使用所确定的技术对视频数据进行熵编码。例如,可以使用第一熵编码技术对第一视频数据进行熵编码,以生成第一压缩的视频数据。在一些示例中,可以使用在本申请中所讨论的第三、第四或更多额外的熵编码技术对第三、第四或更多额外的视频数据进行熵编码,以生成第一、第二、第三等相应的压缩的视频数据。
过程1100可从操作1103继续至操作1104,“组装压缩的视频数据”,其中,可组装不同类型的压缩的视频数据以生成输出比特流。例如,如在本申请中所讨论的,比特流组装器408可将压缩的视频数据进行组装或复用,以生成输出比特流111。
过程1100可从操作1104继续至操作1105,“可选地将视频比特流与音频流进行复用”,其中,可选地将视频比特流与编码或非编码的音频流进行复用,以生成视听比特流。
过程1100可从操作1105或操作1104继续至操作1106,“发送比特流”,其中,可发送比特流。例如,视频编码系统1610可以通过天线1102(请参照图16)发送输出比特流111或比特流800等。
操作1101-1106可提供视频编码和比特流传输技术,这些技术可被如在本申请中所讨论的编码器系统采用。后续的操作1107至1112可提供视频解码和视频显示技术,这些技术可被如在本申请中所讨论的解码器系统采用。
过程1100可以在操作1107继续,“接收比特流”,其中,可接收编码的比特流。例如,可以通过编码器200接收输入比特流100、201或比特流800等。在一些示例中,比特流可以包括如在本申请中所讨论的不同类型的熵编码的数据。
过程1100可从操作1107继续至操作1108,“解组装比特流,以生成不同类型的压缩的视频数据”,其中,可将所接收的比特流解组装以确定不同类型的压缩的视频数据。例如,可通过比特流解组装器508对比特流201解组装,以生成压缩的视频数据511至517(以及任何子部分视频数据),如图7中所示出的。例如,解组装的压缩的视频数据可包括第一、第二、第三或更多的压缩的视频数据。
过程1100可从操作1108继续至操作1109,“确定针对一种或多种类型的压缩的视频数据的熵解码技术”,其中,可确定针对一种或多种压缩的视频数据类型的熵解码技术。例如,可基于所接收的比特流传送的标记或指示符等确定熵解码技术。如所讨论的,在一些示例中,熵解码器模块501至507中的一个或多个可从各种编码技术选项中确定针对压缩的视频数据511至517的编码技术。例如,解码器模块401可给予通过输入比特流提供的一个或多个指示符,从以下技术中的一种中确定针对压缩的视频数据511的编码技术:自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、或可变长度编码表或多表压缩技术。此外,解码器模块502可从以下技术中的一种中确定针对视频数据512的帧内预测数据725的编码技术:自适应符号运行可变长度编码技术、自适应代理可变长度编码技术等。在本申请中提供了多种示例,为了简洁起见,在此将不再重复。如所讨论的,在一些示例中,可接收两种或更多种类型的视频数据。在一些示例中,可确定针对两种、三种或更多种类型的视频数据的熵解码技术,如在本申请中所讨论的。
过程1100可以从操作1109继续至操作1110,“对压缩的视频数据进行熵解码”,其中,可基于所确定的熵解码技术对压缩的视频数据进行熵解码。例如,可以通过解码器模块501至507对压缩的视频数据511至517进行熵解码。
过程1100可以从操作1110继续至操作1111,“对熵解码的视频数据进行解码,以生成视频帧”,其中,可对第一和第二视频数据(以及任何其他熵解码的视频数据)进行解码,以生成视频帧。例如,该视频帧适于通过显示设备呈现给用户。例如,可基于关于解码器200所讨论的解码技术的实施方式来确定该视频帧。
过程1100可以从操作1111继续至操作1112,“发送视频帧,以通过显示设备进行呈现”,其中,可传送所生成的视频帧,以通过显示设备进行呈现。例如,可将视频帧传送至显示设备1105(如图16所示)以进行呈现。在一些示例中,例如,显示设备1105可将视频帧显示给用户。
虽然本申请中的示例性过程的实施方式可包括采用以所示的顺序而示出的所有操作,但本公开并不限于此,并且在各个示例中,本申请中的示例性过程的实施方式可以包括仅采用所示的操作的子集和/或以与所示的顺序不同的顺序而示出的操作的子集。
此外,可以响应于由一个或多个计算机程序产品所提供的指令来执行本申请中所讨论的操作中的任何一个或多个。这样的程序产品可以包括提供指令的信号承载介质,当由例如处理器执行指令时,可以提供本申请中描述的功能。可以以一种或多种机器可读介质中的任意形式来提供计算机程序产品。因此,例如,包括一个或多个处理器核心的处理器可以响应于通过一种或多种机器可读介质向处理器传送的程序代码和/或指令或指令集而执行本申请中的示例性过程的操作中的一个或多个。通常而言,机器可读介质可以以程序代码和/或指令或指令集的形式传送软件,该软件可以使本申请中描述的设备和/或系统中的任何一个实现如本申请中所讨论的视频系统的至少部分。
如在本申请中描述的任何实施方式中所使用的,术语“模块”指被配置为提供本申请中所描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。可以将软件实施为软件包、代码和/或指令集或指令,且如在本申请中所描述的任何实施方式中所使用的,“硬件”可以例如单独地或以任意组合地包括硬接线电路、可编程电路、状态机电路、和/或存储由可编程电路执行的指令的固件。上述模块可以共同地或个体地被实施为形成较大系统的部分的电路,上述较大系统例如为集成电路(IC)、片上系统(SoC)等。例如,可以在逻辑电路中实施模块,以通过本申请中所讨论的编码系统的软件、固件、或硬件来实现。
图12是根据本公开的至少一些实施方式布置的示出了示例性过程1200的流程图。过程1200可以包括如由一个或多个操作所示出的一个或多个操作、功能或动作。过程1200可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程1200可以形成由图1中的编码器系统100和/或本申请中所描述的任何其它的编码器系统或子系统所采用的下一代视频编码过程的至少一部分。
过程1200可以在操作1202开始,“接收视频序列的输入视频帧”,例如,其中可以通过编码器100接收视频序列的输入视频帧。
过程1200可以在操作1204继续,“将图片类型与每一视频帧相关联”,例如,其中可以通过内容预分析器模块102将图片类型与一组图片中的每一视频帧相关联。例如,图片类型可以是F/B图片、P图片、或I图片等。在一些示例中,视频序列可以包括图片组,并且可以对一组图片中的帧或图片执行本申请中所描述的处理(例如,操作1203至1211),并且可以针对一组中的所有帧或图片重复该处理,并且接着针对视频序列中的所有图片组进行重复。
过程1200可以在操作1206继续,“将图片分割成瓦片和/或超分片和潜在的预测分块”,例如,其中可以通过预测分区生成器105来将图片分割成瓦片或超分片和潜在的预测分区。
过程1200可以在操作1210继续,“针对潜在的预测分块,确定潜在的预测误差”,其中,针对每一潜在的预测分块,可以确定潜在的预测误差。例如,针对每一预测分块(及相关联的预测分区、预测、以及预测参数),可以确定预测误差。例如,确定潜在的预测误差可以包括确定原始像素(例如,预测分区的原始像素数据)与预测像素的差异。在一些示例中,可以存储所关联的预测参数。如所讨论的,在一些示例中,预测误差数据分区可以包括至少部分地基于使用变形技术或合成技术中的至少一个所生成的先前解码的帧而生成的预测误差数据。
过程1200可以在操作1212继续,“选择预测分块和预测类型并保存参数”,其中可以选择预测分块和预测类型,且可以保存相关联的参数。在一些示例中,可以选择具有最小预测误差的潜在的预测分块。在一些示例中,可以基于速率失真优化(RDO)来选择潜在的预测分块。
过程1200可以在操作1214继续,“对潜在编码分块执行变换”,其中可以对分区预测误差数据的各种潜在编码分块执行具有各种块大小的固定的或内容自适应变换。例如,可以对分区预测误差数据进行分区,以生成多个编码分区。例如,如本申请中所讨论的,可以由编码分区生成器模块107的二叉树编码划分器模块或k-d树编码划分器模块来将分区预测误差数据进行分区。在一些示例中,可以由二叉树编码划分器模块来将与F/B或P图片关联的分区预测误差数据进行分区。在一些示例中,可以由k-d树编码划分器模块来将与I图片相关联的视频数据(例如,在一些示例中为瓦片或超分片)进行分区。在一些示例中,可以通过开关来选定或选择编码划分器模块。例如,可以由编码分区生成器模块107生成分区。
过程1200可以在操作1216继续,“确定最佳编码分块、变换块大小、以及实际变换”,其中可以确定最佳编码分块、变换块大小、以及实际变换。例如,可以基于RDO或另一基础来评估各种编码分块(例如,具有各种编码分区),以确定所选择的编码分块(如所讨论的,所选择的编码分块也可以包括当编码分区与变换块大小不匹配时,将编码分区进一步分割成变换块)。例如,如本申请中所描述的,实际变换(或所选择的变换)可以包括对编码分区或块大小所执行的任何内容自适应变换或固定变换。
过程1200可以在操作1218继续,“量化并扫描变换系数”,其中可以在对熵编码进行准备中将与编码分区(和/或变换块)相关联的变换系数进行量化和扫描。
过程1200可以在操作1222继续,“对与每个瓦片或超分片解码相关联的数据进行熵编码,例如,编码分区指示符、块大小数据、变换类型数据、量化器(Qp)、量化的变换系数、运动向量和参考类型数据、特性参数(例如,mop、syp)”,其中可以对数据进行熵编码。例如,熵编码的数据可以包括编码分区指示符、块大小数据、变换类型数据、量化器(Qp)、量化的变换系数、运动向量和参考类型数据、特性参数(例如,mop、syp)等、和/或其组合。另外地或替代地,熵编码的数据可以包括预测分块、预测参数、所选择的编码分块、所选择的特性数据、运动向量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)、以及指示符。
过程1200可以在操作1223继续,“应用DD/DB滤波器,重建像素数据,组装成图片”,其中可应用解块滤波(例如,DD或DB滤波器),可重建像素数据,并组装成图片。例如,在本地解码循环之后(例如,包括逆扫描、逆变换、以及组装编码分区),可生成预测误差数据分区。预测误差数据分区可与预测分区相加以生成重建的预测分区,重建的预测分区可被组装成瓦片或超分片。组装的瓦片或超分片可以可选地通过解块滤波和/或质量恢复滤波进行处理,并被组装以生成图片。
过程1200可以在操作1224继续,“应用QR/LF滤波器,保存在参考图片缓冲器中”,其中,可应用质量恢复滤波(例如,QR或LF滤波),并可将组装的图像保存在参考图片缓冲器中。例如,除了DD/DB滤波之外或可替代地,组装的瓦片或超分片可以可选地通过质量恢复滤波进行处理并被组装以生成图片。图片可被保存在解码的图片缓冲器119中,作为用于预测其他(例如,随后的)图片的参考图片。
过程1200可以在操作1225继续,“应用AP/AM滤波器,确定修改(例如,变形或合成)特性参数,以用于生成变形的或合成的预测参考,并执行预测”,其中,可执行修改(例如,变形或合成)特性参数和预测,并且可应用自适应运动滤波或自适应精密滤波(例如,AP/AM滤波器)。例如,可生成用于生成变形的或合成的预测参考的修改(例如,变形或合成)特性参数并执行预测。此外,在过程中可在这一点上应用自适应运动滤波或自适应精度滤波。
如所讨论的,在一些示例中,可以执行帧间预测。在一些示例中,可以使用多达4个解码的过去和/或未来的图片和若干变形/合成预测以生成大量的参考类型(例如,参考图片)。例如,在‘帧间’模式中,在P图片中可以支持多达9个参考类型,并且对于F/B图片可以支持多达10个参考类型。此外,‘多个’模式可以提供一种类型的帧间预测,其中可以使用2个参考图片而不是1个参考图片,且P和F/B图片分别可以允许3个,且多达8个参考类型。例如,预测可以基于使用变形技术或合成技术中的至少一个所生成的先前解码的帧。在这样的示例中,并且比特流(下文关于操作1212所讨论的)可以包括与预测分块相关联的帧参考、变形参数、或合成参数。
过程1200可以在操作1229继续,“可选地应用EP滤波器和/或可选地应用FI/FP滤波器”,其中,可选地应用增强的预测分区(例如,EP滤波)或FI/FP滤波(例如,融合滤波或融合改进滤波)。在一些示例中,可以作出关于是否利用某种形式或FI/FP滤波(融合改进滤波/融合滤波)或不使用FI/FP滤波的决策。当某种形式或FI/FP滤波(例如,融合滤波或融合改进滤波)要被应用到所选择的预测分区时,可对所选择的预测分区和第二选择的预测分区进行组装,以生成组装的图片的至少一部分。FI/FP滤波可应用于对组装的图片的部分进行滤波。可生成与FI/FP滤波相关联的FI/FP滤波参数(例如,滤波参数或融合改进滤波参数),并将其发送到熵编码器子系统。
在EP滤波或FI/FP滤波均可用的实施方式中,可生成指示符,该指示符向解码器系统指示是否要使用增强的预测分区(例如,EP滤波)或预测分区数据,作为针对预测分区的所选择的预测分区。
操作1202至1229可提供视频编码和比特流传输技术,这些技术可由本申请中所讨论的编码器系统采用。
图13示出了根据本公开的至少一些实施方式布置的示例性比特流1300。在一些示例中,比特流1300可以与如图1中所示出的输出比特流111和/或如图2中所示的输入比特流201对应。尽管为了呈现的清楚起见在图29中未示出,但是在一些示例中,比特流1300可以包括头部部分和数据部分。在各个示例中,比特流1300可以包括数据、指示符、索引值、模式选择数据等如本申请中所讨论的与对视频帧进行编码相关联的。
如所讨论的,比特流1300可以由诸如例如编码器100的编码器生成和/或由解码器200接收以进行解码,使得解码的视频帧可以通过显示设备进行呈现。
图14是根据本公开至少一些实施方式布置的示出了示例性过程1400的流程图。过程1400可以包括由如一个或多个操作所示出的一个或多个操作、功能或动作。过程1400可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程1400可以形成由图2中的解码器系统200和/或本申请中所描述的任何其它的编码器子系统所采用的下一代视频解码过程的至少一部分。
过程1400可以在操作1402开始,“接收编码的比特流”,其中可以接收比特流。例如,可以在视频解码器处接收如本申请所讨论的而被编码的比特流。在一些示例中,可以通过解码器200接收比特流900或1300。
过程1400可以在操作1404继续,“对熵编码的比特流进行解码以确定编码分区指示符、块大小数据、变换类型数据、量化器(Qp)、量化的变换系数、运动向量和参考类型数据、特性参数(例如,mop、syp)”,其中可以对比特流进行解码以确定编码分区指示符、块大小数据、变换类型数据、量化器(Qp)、量化的变换系数、运动向量和参考类型数据、特性参数(例如,mop、syp)等、和/或其组合。另外地或替代地,熵编码的数据可以包括预测分块、预测参数、所选择的编码分块、所选择的特性数据、运动向量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)、以及指示符。
过程1400可以在操作1406继续,“对量化的系数应用量化器(Qp)以生成逆量化的变换系数”,其中量化器(Qp)可以被应用于量化的变换系数,以生成逆量化的变换系数。例如,操作1406可以通过自适应逆量化模块203被应用。
过程1400可以在操作1408继续,“基于变换类型和块大小数据,对编码(或帧内预测)分区中的系数的每一解码的块执行逆变换,以生成解码的预测误差分区”,其中,可以基于变换类型和块大小数据而对编码(或帧内预测)分区中的系数的每一解码的块执行逆变换,以生成解码的预测误差分区。在一些示例中,逆变换可以包括逆固定变换。在一些示例中,逆变换可以包括逆内容自适应变换。在这样的示例中,执行逆内容自适应变换可以包括基于解码的视频数据的相邻块而确定与逆内容自适应变换相关联的基函数,如本申请中所讨论的。如本申请中所讨论的用于进行编码的任何前向变换可以用于使用关联的逆变换而进行解码。在一些示例中,逆变换可以由自适应逆变换模块204执行。在一些示例中,生成解码的预测误差分区也可以包括通过编码分区组装器205对编码分块进行组装。
过程1400可以在操作1423继续,“应用DD/DB滤波器,重建像素数据,组装成图片”,其中可应用解块滤波(例如,DD或DB滤波器),可重建像素数据,并组装成图片。例如,在逆扫描、逆变换、并组装编码分区之后,预测误差数据分区可以与预测分区相加,以生成重建的预测分区,该重建的预测分区可以被组装成瓦片或超分片。
过程1400可以在操作1424继续,“应用QR/LF滤波器,保存在参考图片缓冲器中”,其中,可应用质量恢复滤波(例如,QR或LF滤波),并可将组装的图像保存在参考图片缓冲器中。例如,除了DD/DB滤波之外或可替代地,组装的瓦片或超分片可以可选地通过质量恢复滤波进行处理并被组装以生成图片。图片可被保存在解码的图片缓冲器119中,作为用于预测其他(例如,随后的)图片的参考图片。
过程1400可以在操作1425继续,“应用AP/AM滤波器,使用解码的修改特性(例如,mop、syp)以生成用于预测的修改的参考,并使用运动向量和参考信息、预测的分区信息、以及修改的参考而生成预测分区”,其中,可以生成用于预测的修改的参考并生成预测的分区,并且,其中可应用自适应运动滤波或自适应精密滤波(例如,AP/AM滤波器)。例如,可至少部分地基于解码的修改特性(例如,mop、syp)而生成用于预测的修改的参考,并至少部分地基于运动向量和参考信息、预测的分区信息、以及修改的参考而生成预测分区。此外,在过程中可在这一点上应用自适应运动滤波或自适应精度滤波。
过程1400可以在操作1429继续,“可选地应用EP滤波器和/或可选地应用FI/FP滤波器”,其中,可以可选地应用增强的预测的分区(例如,EP滤波)或FI/FP滤波(例如,融合滤波或融合改进滤波)。在一些示例中,可以作出关于是否要利用某种形式或FI/FP滤波(融合改进滤波/融合滤波)或不使用FI/FP滤波的决策。当某种形式或FI/FP滤波(例如,融合滤波或融合改进滤波)被应用到所选择的预测分区时,可对所选择的预测分区和第二选择的预测分区进行组装,以生成组装的图片的至少一部分。FI/FP滤波可应用于对组装的图片的部分进行滤波。可生成与FI/FP滤波相关联的FI/FP滤波参数(例如,滤波参数或融合改进滤波参数),并将其发送到熵编码器子系统。
在实施方式中,当EP滤波或FI/FP滤波两者均可用时,可从编码器系统接收指示符,该指示符向解码器系统指示是否要使用增强的预测分区(例如,EP滤波)或预测的分区数据,作为针对预测分区的所选择的预测分区。
过程1400可以在操作1430继续,“将预测的分区与解码的预测误差数据分区相加以生成重建的分区”,其中可以将预测的分区与解码的预测误差数据分区相加以生成重建的预测分区。例如,可以通过加法器206将解码的预测误差数据分区与相关联的预测分区相加。
过程1400可以在操作1432继续,“组装重建的分区以生成瓦片或超分片”,其中可以组装重建的预测分区以生成瓦片或超分片。例如,可以通过预测分区组装器模块207来组装重建的预测分区以生成瓦片或超分片。
过程1400可以在操作1434继续,“组装图片的瓦片或超分片以生成全解码的图片”,其中可以组装图片的瓦片或超分片以生成全解码的图片。例如,在可选的解块滤波和/或质量恢复滤波之后,可以组装瓦片或超分片以生成全解码的图片,其可以通过解码的图片缓冲器210保存和/或在通过自适应图片重组织器模块217和内容后恢复器模块218处理之后发送,以通过显示设备进行呈现。
图15(A)、15(B)和15(C)提供了根据本公开的至少一些实施方式布置的运行中的示例性视频编码系统1600和视频编码过程1500的直观图。在所示出的实施方式中,过程1500可以包括如由动作1501至1580中的一个或多个所示出的一个或多个操作、功能或动作。通过非限制性示例的方式,将参照包括图1中的编码器100和图2中的解码器200的示例性视频编码系统1600在本申请中描述过程1500,如下文参考图16在本申请中进一步讨论的。在各个示例中,可以由包括编码器和解码器两者的系统或由具有采用编码器(及可选地解码器)的一个系统和采用解码器(以及可选地编码器)的另一系统的分离的系统来执行过程1500。还要注意的是,如上文所讨论的,编码器可以包括采用局部解码器的局部解码循环以作为编码器系统的一部分。
在所示出的实施方式中,视频编码系统1600可以包括逻辑电路1650等、和/或其组合。例如,逻辑电路1650可以包括图1中的编码器系统100和/或图2中的解码器系统200,并且可以包括如关于本申请中所描述的编码器系统和子系统和/或解码器系统和子系统中的任何一个所讨论的任何模块。尽管如在图15(A)-(C)中所示出的,视频编码系统1600可以包括与特定模块相关联的一个特定组的块或动作,但是这些块或动作可以与在此示出的特定的模块不同的模块相关联。尽管如所示出的,过程1500是针对编码和解码的,但是可以将所描述的概念和/或操作分别应用到编码和/或解码,且更一般地,应用到视频编码。
过程1500可以在操作1501开始,“接收视频序列的输入视频帧”,例如,其中可以通过编码器100接收视频序列的输入视频帧。
过程1500可以在操作1502继续,“将图片类型与一组图片中的每一视频帧相关联”,例如,其中可以通过内容预分析器模块102将图片类型与一组图片中的每一视频帧相关联。例如,图片类型可以是F/B图片、P图片、或I图片等。在一些示例中,视频序列可以包括图片组并且可以对一组图片中的帧或图片执行本申请中描述的处理(例如,操作1503至1511),并且可以针对一组中的所有帧或图片重复上述处理,并接着针对视频序列中的所有图片组进行重复。
过程1500可以在操作1503继续,“将图片分割成瓦片和/或超分片以及潜在的预测分块”,例如,其中可以通过预测分区生成器105来将图片分割成瓦片或超分片和潜在的预测分区。
过程1500可以在操作1504继续,“针对每一潜在的预测分块,执行预测并确定预测参数”,其中,针对每一潜在的预测分块,可以执行预测且可以确定预测参数。例如,可以生成一系列潜在的预测分块(每一个具有各种预测分区)并且可以确定相关联的预测和预测参数。例如,预测可以包括使用基于特性和运动的多参考预测或帧内预测的预测。
如所讨论的,在一些示例中,可以执行帧间预测。在一些示例中,可以使用多达4个解码的过去的和/或未来的图片和若干变形/合成预测以生成大量的参考类型(例如,参考图片)。例如,在‘帧间’模式中,在P图片中可以支持多达9个参考类型,并且对于F/B图片可以支持多达10个参考类型。此外,‘多个’模式可以提供一种类型的帧间预测模式,其中可以使用2个参考图片而不是1个参考图片,且P和F/B图片分别可以允许3个,且最多8个参考类型。例如,预测可以基于使用变形技术或合成技术中的至少一个所生成的先前解码的帧。在这样的示例中,并且比特流(下文关于操作1512所讨论的)可以包括与预测分区关联的帧参考、变形参数、或合成参数。
过程1500可以在操作1505继续,“针对每一潜在的预测分块,确定潜在的预测误差”,其中,针对每一潜在的预测分块,可以确定潜在的预测误差。例如,针对每一预测分块(以及相关联的预测分区、预测、以及预测参数),可以确定预测误差。例如,确定潜在的预测误差可以包括确定原始像素(例如,预测分区的原始像素数据)与预测像素的差异。在一些示例中,可以存储关联的预测参数。如所讨论的,在一些示例中,预测误差数据分区可以包括至少部分地基于使用变形技术或合成技术中的至少一个所生成的先前解码的帧而生成的预测误差数据。
过程1500可以在操作1506继续,“选择预测分块和预测类型并保存参数”,其中可以选择预测分块和预测类型且可以保存所关联的参数。在一些示例中,可以选择具有最小预测误差的潜在的预测分块。在一些示例中,可以基于速率失真优化(RDO)来选择潜在的预测分块。
过程1500可以在操作1507继续,“对分区预测误差数据的各种潜在的编码分块执行固定变换或具有各种块大小的内容自适应变换”,其中可以对分区预测误差数据的各种潜在的编码分块执行固定变换或具有各种块大小的内容自适应变换。例如,可以将分区预测误差数据分区以生成多个编码分区。例如,如本申请中所讨论的,可以通过编码分区生成器107的二叉树编码划分器模块或k-d树编码划分器模块来将分区预测误差数据进行分区。在一些示例中,可以通过二叉树编码划分器模块来将与F/B或P图片相关联的分区预测误差数据进行分区。在一些示例中,可以通过k-d树编码划分器模块来将与I图片相关联的视频数据(例如,在一些示例中为瓦片或超分片)进行分区。在一些示例中,可以通过开关选定或选择编码划分器模块。例如,可以通过编码分区生成器模块107来生成分区。
过程1500可以在操作1508继续,“确定最佳编码分块、变换块大小、以及实际变换”,其中可以确定最佳编码分块、变换块大小、以及实际变换。例如,可以基于RDO或另一基础来评估各种编码分块(例如,具有各种编码分区),以确定所选择的编码分块(如所讨论的,其也可以包括当编码分区与变换块大小不匹配时,将编码分区进一步分割成变换块)。例如,如本申请中所描述的,实际变换(或所选择的变换)可以包括对编码分区或块大小所执行的任何内容自适应变换或固定变换。
过程1500可以在操作1509继续,“量化并扫描变换系数”,其中可以在对熵编码进行准备中将与编码分区(和/或变换块)相关联的变换系数进行量化和扫描。
过程1500可以在操作1511继续,“对与每一瓦片或超分片相关联的数据进行熵编码”,其中可以对与每一瓦片或超分片相关联的数据进行熵编码。例如,可以对与每一视频序列的每一图片组的每一图片的每一瓦片或超分片相关联的数据进行熵编码。被熵编码的数据可以包括预测分块、预测参数、所选择的编码分块、所选择的特性数据、运动向量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)、以及指示符。
过程1500可以在操作1512继续,“生成比特流”,其中可以基于熵编码的数据而生成比特流。如所讨论的,在一些示例中,比特流可以包括与预测分区相关联的帧或图片参考、变形参数、或合成参数。
过程1500可以在操作1513继续,“发送比特流”,其中可以发送比特流。例如,视频编码系统2400可以通过天线2402(请参考图34)发送输出比特流111、比特流2100等。
过程1500可以在操作1520继续,“重建像素数据,组装成图片,并且保存在参考图片缓冲器中”,其中可以重建像素数据、组装成图片、并保存在参考图片缓冲器中。例如,在局部解码循环(例如,包括逆扫描、逆变换、以及组装编码分区)之后,可以生成预测误差数据分区。可以将预测误差数据分区与预测分区相加以生成重建的预测分区,该重建的预测分区可以被组装成瓦片或超分片。可以通过解块滤波和/或质量恢复滤波可选地处理所组装的瓦片或超分片,并将其组装以生成图片。可以将该图片保存在解码的图片缓冲器119中,作为用于预测其他(例如,随后的)图片的参考图片。
过程1500可以在操作1523继续,“应用DD/DB滤波器,重建像素数据,组装成图片”,其中可应用解块滤波(例如,DD或DB滤波器),可重建像素数据,并组装成图片。例如,在本地解码循环之后(例如,包括逆扫描、逆变换以及组装编码分区),可生成预测误差数据分区。预测误差数据分区可与预测分区相加以生成重建的预测分区,重建的预测分区可被组装成瓦片或超分片。组装的瓦片或超分片可以可选地通过解块滤波和/或质量恢复滤波进行处理,并被组装以生成图片。
过程1500可以在操作1524继续,“应用QR/LF滤波器,保存在参考图片缓冲器中”,其中,可应用质量恢复滤波(例如,QR或LF滤波),并可将组装的图像保存在参考图片缓冲器中。例如,除了DD/DB滤波之外或可替代地,组装的瓦片或超分片可以可选地通过质量恢复滤波进行处理并被组装以生成图片。图片可被保存在解码的图片缓冲器119中,作为用于预测其他(例如,随后的)图片的参考图片。
过程1500可以在操作1525继续,“生成修改特性参数”,其中,可以生成修改的特性参数。例如,可以至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第二修改的预测参考图片关联的第二修改特性参数,其中第二修改的参考图片可以具有与第一修改的参考图片不同的类型。
过程1500可以在操作1526继续,“生成修改的预测参考图片”,其中,可以生成修改的预测参考图片,例如,可以至少部分地基于第一解码的预测参考图片而生成第一修改的预测参考图片和与第一修改的预测参考图片关联的第一修改特性参数。
过程1500可以在操作1527继续,“生成运动数据”,其中可以生成运动估计数据。例如,可以至少部分地基于第一修改的预测参考图片或第二修改的预测参考图片中的一个而生成与当前图片的预测分区相关联的运动数据。
过程1500可以在操作1528继续,“应用AP/AM滤波器,执行运动补偿”,其中,可以执行运动补偿。例如,可以至少部分地基于运动数据、以及第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来执行运动补偿,以生成用于预测分区分的预测分区数据,并且可应用自适应运动滤波或自适应精密滤波(例如,AP/AM滤波器)。过程1150可以将该信息馈送回操作1504,在操作1504中可以将每一解码的预测误差分区(例如,包括零预测误差分区)与相对应的预测分区相加以生成重建的预测分区。此外,在过程中可在这一点上应用自适应运动滤波或自适应精度滤波。
过程1500可以在操作1529继续,“可选地应用EP”,其中,可选地应用增强的预测的分区(例如,EP滤波)。在当EP滤波或FI/FP滤波均可用的一些示例中,可生成指示符,该指示符向解码器系统指示是否要使用增强的预测的分区(例如,EP滤波)或预测的分区数据,作为针对预测分区的所选择的预测的分区。
过程1500可以在操作1530继续,“可选地应用FI/FP滤波器”,其中,可选地应用FI/FP滤波(例如,融合滤波或融合改进滤波)。在一些示例中,可以作出关于是否利用某种形式或FI/FP滤波(融合改进滤波/融合滤波)或不使用FI/FP滤波的决策。当某种形式或FI/FP滤波(例如,融合滤波或融合改进滤波)被应用到所选择的预测的分区时,可对所选择的预测的分区和第二所选择的预测的分区进行组装,以生成组装的图片的至少一部分。FI/FP滤波可应用于对组装的图片的部分进行滤波。可生成与FI/FP滤波相关联的FI/FP滤波参数(例如,滤波参数或融合改进滤波参数),并将其发送到熵编码器子系统。
操作1501至1530可提供视频编码和比特流传输技术,这些技术可被本申请中所讨论的的编码器系统采用。以下操作,操作1554至1568可提供视频解码和视频显示技术,这些技术可被本申请中所讨论的的解码器系统采用。
过程1500可以在操作1554进行,“接收比特流”,其中可以接收比特流。例如,可以通过解码器200接收输入比特流201、比特流2100等。在一些示例中,如上文所讨论的,比特流可以包括与编码分区相关联的数据、一个或多个指示符、和/或定义编码分区的数据。在一些示例中,比特流可以包括预测分块、预测参数、所选择的编码分块、所选择的特性数据、运动向量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)、以及指示符。
过程1500可以在操作1555继续,“解码比特流”,例如,其中可以通过自适应熵解码器模块202对所接收的比特流进行解码。例如,可以熵解码所接收的比特流以确定预测分块、预测参数、所选择的编码分块、所选择的特性数据、运动向量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)、以及指示符。
过程1500可以在操作1556继续,“对每一编码分区的每一块执行逆扫描和逆量化”,其中可以针对正被处理的预测分区,对每一编码分区的每一块执行逆扫描和逆量化。例如,可以通过自适应逆量化模块203执行逆扫描和逆量化。
过程1500可以在操作1557继续,“执行固定或内容自适应逆变换以对变换系数进行解码,以确定解码的预测误差数据分区”,其中可以执行固定变换或内容自适应逆变换以对变换系数解码,以确定解码预测误差数据分区。例如,逆变换可以包括诸如混合参数哈尔逆变换的逆内容自适应变换,使得混合参数哈尔逆变换可以包括在参数变换方向的方向上的参数哈尔逆变换以及在与参数变换方向正交的方向上的离散余弦逆变换。在一些示例中,固定逆变换可以包括离散余弦逆变换或离散余弦逆变换逼近器。例如,可以通过自适应逆变换模块204执行固定变换或内容自适应变换。如所讨论的,内容自适应逆变换可以基于诸如例如解码的相邻分区或块的其他先前解码的数据。在一些示例中,生成解码的预测误差数据分区可以包括通过编码分区组装器模块205组装解码的编码分区。
过程1500可以在操作1558继续,“针对每一预测分区生成预测像素数据”,其中可以针对每一预测分区生成预测像素数据。例如,可以使用所选择的预测类型(例如,基于特性和运动、或帧内、或其他类型)和相关联的预测参数来生成预测像素数据。
过程1500可以在操作1559继续,“将相对应的预测分区与每一解码的预测误差分区相加,以生成重建的预测分区”,其中,可以将每一解码的预测误差分区(例如,包括零预测误差分区)与相对应的预测分区,以生成重建的预测分区。例如,可以通过图2中示出的解码循环生成预测分区并通过加法器206与解码的预测误差分区相加。
过程1500可以在操作1560继续,“组装重建的预测分区以生成解码的瓦片或超分片”,其中可以将重建的预测分区组装以生成解码的瓦片或超分片。例如,可以组装预测分区以通过预测分区组装器模块207生成解码的瓦片或超分片。
过程1500可以在操作1561继续,“应用解块滤波和/或QR滤波以生成最终的解码的瓦片或超分片”,其中可以将可选的解块滤波和/或质量恢复滤波应用到解码的瓦片或超分片,以生成最终的解码的瓦片或超分片。例如,可以通过解块滤波模块208来应用可选的解块滤波和/或可以通过质量恢复滤波模块209来应用可选的质量恢复滤波。
过程1500可以在操作1562继续,“组装解码的瓦片或超分片以生成解码的视频图片,并保存在参考图片缓冲器中”,其中可以将解码的(或最终的解码的)瓦片或超分片组装以生成解码的视频图片,且可以将解码的视频图片保存在参考图片缓冲器(例如,解码的图片缓冲器210)中以在未来的预测中使用。
过程1500可以在操作1563继续,“发送解码的视频帧以通过显示设备进行呈现”,其中可以发送解码的视频帧以通过显示设备进行呈现。例如,解码的视频图片还可以通过自适应图片重组装器217和内容后恢复器模块218进一步处理,并且其作为显示视频219的视频帧被发送至显示设备以向用户呈现。例如,可以向显示设备2405(如在图34中所示出的)发送视频帧以进行呈现。
过程1500可以在操作1573继续,“应用DD/DB滤波器,重建像素数据,组装成图片”,其中可应用解块滤波(例如,DD或DB滤波器),可重建像素数据,并组装成图片。例如,在逆扫描、逆变换以及组装编码分区之后,预测误差数据分区可与预测分区相加以生成重建的预测分区,重建的预测分区可被组装成瓦片或超分片。组装的瓦片或超分片可以可选地通过解块滤波进行处理。
过程1500可以在操作1574继续,“应用QR/LF滤波器,保存在参考图片缓冲器中”,其中,可应用质量恢复滤波(例如,QR或LF滤波),并可将组装的图片保存在参考图片缓冲器中。例如,除了DD/DB滤波之外或可替代地,组装的瓦片或超分片可以可选地通过质量恢复滤波进行处理并被组装以生成图片。图片可被保存在解码的图片缓冲器中,作为用于预测其他(例如,随后的)图片的参考图片。
过程1500可以在操作1576继续,“生成修改的预测参考图片”,其中可以生成修改的预测参考图片,例如,可以至少部分地基于第三修改特性参数来生成第三修改的预测参考图片的至少一部分。类似地,可以至少部分地基于相关联的第二修改特性参数来生成第四修改的预测参考图片的至少一部分。
过程1500可以在操作1577继续,“生成运动数据”,其中,可以生成运动估计数据。例如,可以至少部分地基于第三修改的预测参考图片或第三修改的预测参考图片中的至少一个来生成与当前图片的预测分区相关联的运动数据。
过程1500可以在操作1578继续,“应用AP/AM滤波器并且执行运动补偿”,其中可以执行运动补偿,并且其中可应用自适应运动滤波或自适应精密滤波(例如,AP/AM滤波器)。例如,可以至少部分地基于第三修改的预测参考图片或第四修改的预测参考图片中的至少一个和运动数据来执行运动补偿,以生成针对预测分区的预测分区数据。过程1300可以将该信息馈送回操作1559,在操作1559中,可以将每一解码的预测误差分区(例如,包括零预测误差分区)与相对应的预测分区相加,以生成重建的预测分区。此外,在过程中可在这一点上应用自适应运动滤波或自适应精度滤波。
过程1500可以在操作1579继续,“可选地应用EP”,其中,可选地应用增强的预测的分区(例如,EP滤波)。在EP滤波或FI/FP滤波两者均可用的一些示例中,可从编码器系统接收指示符,该指示符向解码器系统指示是否要使用增强的预测分区(例如,EP滤波)或预测的分区数据,作为针对预测分区的所选择的预测的分区。
过程1500可以在操作1580继续,“可选地应用FI/FP滤波器”,其中,可选地应用FI/FP滤波(例如,融合滤波或融合改进滤波)。在一些示例中,可以作出关于是否利用某种形式或FI/FP滤波(融合改进滤波/融合滤波)或不使用FI/FP滤波的决策。当某种形式或FI/FP滤波(例如,融合滤波或融合改进滤波)被应用到所选择的预测的分区时,可对所选择的预测分区和第二选择的预测分区进行组装,以生成组装的图片的至少一部分。FI/FP滤波可应用于对组装的图片的部分进行滤波。可生成与FI/FP滤波相关联的FI/FP滤波参数(例如,滤波参数或融合改进滤波参数),并将其发送到熵编码器子系统。
可以通过如上文所讨论的任何编码器系统来实现过程1500。此外,可以对诸如预测误差数据分区、原始数据分区、或小波数据等的任何数目的视频数据的实例串行或并行地重复过程1500。
虽然在本申请中示例性过程的实施方式可以包括按照所示出的顺序所执行的所有操作,但是本公开在该方面不受限制,在各个示例中,在本申请中的示例性过程的实施方式可以包括仅执行所示出的操作的子集和/或按照与所示出的不同的顺序而执行。
图16是根据本公开至少一些实施方式布置的示例性视频编码系统1600的直观图。在所示出的实施方式中,视频编码系统1600可以包括成像设备1601、视频编码器100和/或通过处理单元1620的逻辑电路1650实现的视频编码器、视频解码器200和/或通过处理单元1620的逻辑电路1650实现的视频解码器、天线1602、一个或多个处理器1603、一个或多个存储器存储设备1604、和/或显示设备1605。
如所示出的,成像设备1601、天线1602、处理单元1620、逻辑电路1650、视频编码器100、视频解码器200、处理器1603、存储器存储设备1604、和/或显示设备1605可以相互通信。如所讨论的,尽管利用视频编码器100和视频解码器200进行了说明,但是在各个示例中,视频编码系统1600可以仅包括视频编码器100或仅包括视频解码器200。
如所示出的,在一些示例中,视频编码系统1600可以包括天线1602。例如,天线1602可以被配置为发送或接收视频数据的编码的比特流。此外,在一些示例中,视频编码系统1600可以包括显示设备1605。显示设备1605可以被配置为呈现视频数据。如所示出的,在一些示例中,可以通过处理单元1620实现逻辑电路1650。处理单元1620可以包括专用集成电路(ASIC)逻辑、图形处理器、通用处理器等。视频编码系统1600还可以包括可选的处理器1603,其可以类似地包括专用集成电路(ASIC)逻辑、图形处理器、通用处理器等。在一些示例中,逻辑电路1650可以通过硬件或视频编码专用应用等来实现,且处理器1603可以实现通用软件或操作系统等。此外,存储器存储设备1604可以是诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪速存储器等)等的任何类型的存储器。在非限制性示例中,可以由高速缓存存储器来实现存储器存储设备1604。在一些示例中,逻辑电路1650可以访问存储器存储设备1604(例如,以用于实现图像缓冲器)。在其他示例中,逻辑电路1650和/或处理单元1620可以包括存储器存储设备(例如,高速缓存等)以用于实现图像缓冲器等的。
在一些示例中,通过逻辑电路实现的视频编码器100可以包括图像缓冲器(例如,通过处理单元1620或存储器存储设备1604)和图形处理单元(例如,通过处理单元1620)。图形处理单元可以可通信地耦合到图像缓冲器。图形处理单元可以包括通过逻辑电路1650实现的视频编码器100以实施如关于图1以及图3和5所讨论的各个模块。例如,图形处理单元可以包括熵编码器逻辑电路等。逻辑电路可以被配置为执行如本申请中所讨论的各种操作。例如,熵编码器逻辑电路可以被配置为接收不同类型的第一视频数据和第二视频数据以用于进行熵编码,至少部分地基于与第一视频数据相关联的参数而确定针对第一视频数据的第一熵编码技术,使得第一熵编码技术包括自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的至少一种,使用第一编码技术对第一视频数据进行熵编码以生成第一压缩的视频数据,并所有第二编码技术对第二视频数据进行熵编码以生成第二压缩的视频数据,并且组装第一压缩的视频数据和第二压缩的视频数据以生成输出比特流。可以以类似的方式实现视频解码器200。
在一些示例中,视频编码系统1600的天线1602可以被配置为接收视频数据的熵编码的比特流。如所讨论的,比特流包括两个或更多个压缩的视频数据类型。视频编码系统1600还可以包括视频解码器200,视频解码器200耦合到天线1602且被配置为对编码的比特流进行解码。例如,解码器系统200可以被配置为对熵编码的比特流进行解组装以确定第一压缩的视频数据和第二压缩的视频数据,确定针对第一压缩的视频数据的第一熵解码技术,使得第一熵解码技术包括自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一种,基于第一熵解码技术对第一压缩的视频数据进行熵解码以生成第一视频数据,并基于第二解码技术对第二压缩的视频数据进行熵解码以生成第二视频数据,并且解码第一视频数据和第二视频数据以生成视频帧。
在实施例中,可以响应于由一个或多个计算机程序产品所提供的指令来执行本申请中所讨论的特征。这样的程序产品可以包括提供指令的信号承载介质,当由例如处理器执行指令时,可以提供本申请中描述的功能。可以以任何形式的一个或多个机器可读介质来提供计算机程序产品。因此,例如,响应于由一个或多个机器可读介质向处理器传送的程序代码和/或指令或指令集,包括一个或多个处理器核心的处理器可以执行本申请中描述的一个或多个特征。通常而言,机器可读介质可以以程序代码和/或指令或指令集的形式传送软件,程序代码和/或指令或指令集可以使本申请中描述的设备和/或系统中的任何一个实现如本申请中所讨论的至少部分特征。
图17是根据本公开至少一些实施方式布置的示例性系统1700的直观图。在各个实施方式中,系统1700可以是介质系统,尽管系统1700不限于该上下文。例如,可以将系统1700并入个人计算机(PC)、膝上型计算机、超级笔记本电脑、平板电脑、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息传送设备、数据传送设备、照相机(例如,傻瓜照相机、超级变焦照相机、数字单镜头反光(DSLR)照相机)等。
在各个实现中,系统1700包括耦合到显示器1720的平台1702。平台1702可以从内容服务设备1730或内容递送设备1740或其他类似的内容源的内容设备接收内容。包括一个或多个导航特征的导航控制器1750可以用于例如与平台1702和/或显示器1720交互。下文将更详细地多地描述了这些组件中的每一个。
在各个实现中,平台1702可以包括芯片集1705、处理器1710、存储器1712、天线1713、存储设备1714、图形子系统1715、应用1716和/或无线电设备1718的任何组合。芯片集1705可以提供处理器1710、存储器1712、存储设备1714、图形子系统1715、应用1716和/或无线电设备1718之间的相互通信。例如,芯片集1705可以包括能够提供与存储设备1714相互通信的存储适配器(未描绘)。
处理器1710可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核、或任何其他的微处理器或中央处理单元(CPU)。在各个实施方式中,处理器1710可以是双核处理器、双核移动处理器等。
存储器1712可以被实现为易失性存储设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
存储器1714可以被实现为非易失性存储器设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接的存储设备、闪速存储器、电池支持的SDRAM(同步DRAM)、和/或网络可访问的存储设备。在各个实施方式中,存储设备1714可以包括用于例如,当包括多个硬盘驱动时,对有价值数字介质的存储性能增强保护的技术。
图形子系统1715可以执行图像处理,例如静止的或用于显示的视频。例如,图形子系统1715可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于将图形子系统1715和显示器1720通信地耦合。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI、和/或无线HD兼容技术中的任何一个。图形子系统1715可以被集成到处理器1710或芯片集1705中。在一些实施方式中,图形子系统1715可以是通信地耦合到芯片集1705的独立设备。
可以在各种硬件架构中实现本申请中描述的图形和/或视频处理技术。例如,图形和/或视频功能可以被集成到芯片集中。或者,可以使用独立显卡和/或视频处理器。作为又一个实施方式,可以由通用处理器,包括多核处理器,来提供图形和/或视频功能。在另外的实施例中,可以在消费电子设备中实现上述功能。
无线电设备1718可以包括能够使用各种合适的无线通信技术发送和接收信号的一个或多个无线电设备。这样的技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络、和卫星网络。在跨这样的网络的通信中,无线电设备1718可以根据任何版本的一个或多个适用的标准而操作。
在各个实施方式中,显示器1720可以包括任何电视类型的监控器或显示器。例如,显示器1720可以包括计算机显示屏、触摸屏显示器、视频监控器、类似电视的设备、和/或电视机。显示器1720可以是数字的和/或模拟的。在各个实施方式中,显示器1720可以是全息显示器。此外,显示器1720可以是可以接收视觉投影的透明表面。这样的投影可以传送各种形式的信息、图像、和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用的视觉叠加。在一个或多个软件应用1716的控制下,平台1702可以在显示器1720上显示用户界面1722。
在各个实施方式中,例如,可以由任何国内的、国际的和/或独立的服务来托管内容服务设备1730,且从而可通过互联网访问平台1702。内容服务设备1730可以耦合到平台1702和/或到显示器1720。平台1702和/或内容服务设备1730可以耦合到网络1760以将媒体信息传送(例如,发送和/或接收)至网络1760和从网络1760传送。内容递送设备1740还可以耦合到平台1702和/或到显示器1720。
在各个实施方式中,内容服务设备1730可以包括能够递送数字信息和/或内容的有线电视盒、个人计算机、网络、电话、具有互联网能力的设备或装置,以及能够通过网络1760或直接地在内容提供商与平台1702和/或显示器1720之间单向或双向传送内容的任何其他类似的设备。将意识到可以通过网络1760向系统1700中的组件中的任何一个和内容提供商传送内容并且单向地和/或双向地从系统1700中的组件中的任何一个和内容提供商传送内容。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
内容服务设备1730可以接收诸如有线电视节目的内容,包括媒体信息、数字信息、和/或其他内容。内容提供商的示例可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的示例并不意在以任何方式限制根据本公开的实施方式。
在各个实施方式中,平台1702可以从具有一个或多个导航特征的导航控制器1750接收控制信号。例如,控制器1750的导航特征可以用于与用户设备1722交互。在各个实施例中,导航控制器1750可以是定点设备,该定点设备可以是允许用户输入空间(例如,连续的和多维的)数据到计算机的计算机硬件组件(特别地,人机接口设备)。诸如图形用户界面(GUI)之类的许多系统、以及电视机和监控器允许用户使用物理手势控制并向计算机或电视机提供数据。
控制器1750的导航特征的运动可以通过指针、光标、焦点环、或在显示器上显示的其他视觉指示符的运动而在显示器(例如,显示器1720)上复制。例如,在软件应用1716的控制下,位于导航控制器1750上的导航特征可以被映射到例如在用户界面1722上显示的视觉导航特征。在各个实施例中,控制器1750可以不是分离的组件而可以被集成到平台1702和/或显示器1720中。然而,本公开并不限于本申请中示出或描述的元件或在本申请中示出或描述的上下文中。
在各个实施方式中,驱动器(未示出)可以包括用于使得用户能够在初始启动之后,例如当启用时,利用对按钮的触摸即刻打开或关闭象电视机一样的平台1702的技术。程序逻辑可以允许平台1702将内容串流至介质适配器或其他的内容服务设备1730或内容递送设备1740,即使当平台被“关闭”时。此外,例如,芯片集1705可以包括支持5.1环绕立体声音频和/或高清7.1环绕立体声音频的硬件和/或软件。驱动器可以包括用于集成的图形平台的图形驱动器。在各个实施例中,图形驱动器可以包括外围组件互连(PCI)Express显卡。
在各个实施方式中,可以集成系统1700中示出的组件中的任何一个或多个。例如,平台1702和内容服务设备1730可以被集成,或平台1702和内容递送设备1740可以被集成,或平台1702、内容服务设备1730、以及内容递送设备1740可以被集成,例如。在各个实施例中,平台1702和显示器1720可以是集成的单元。例如,显示器1720和内容服务设备1730可以被集成,或显示器1720和内容递送设备1740可以被集成。这些示例并不意味着限制本公开。
在各个实施例中,系统1700可以被实现成无线系统、有线系统、或这两者的组合。当被实现为无线系统时,系统1700可以包括适于在诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等的无线共享介质上传送的组件和接口。无线共享介质的示例可以包括诸如RF频谱等的无线频谱。当被实现为有线系统时,系统1700可以包括适于在诸如输入/输出(I/O)适配器、用于将I/O适配器与相对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等在有线通信介质上通信的组件和接口。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴线缆、光纤等。
平台1702可以建立一个或多个逻辑或物理信道以传送信息。上述信息可以包括媒体信息和控制信息。媒体信息可以指代表用于用户的表示内容的任何数据。内容的示例可以包括,例如,来自语音对话、视频会议、串流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如语音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指代表用于自动系统的命令、指令或控制字的任何数据。例如,控制信息可以用于将媒体信息路由通过系统,或指示节点以预定的方式来处理媒体信息。然而,实施例不限于在图17中示出或描述的元件或在图17中示出或描述的上下文中。
如上文所描述的,可以以不同的物理样式或形状因子来实施系统1700。图18示出了小形状因子设备1800的实施方式,其中可以实施系统1800。在各个实施例中,例如,设备1800可以被实现为具有无线能力的移动计算设备。移动计算设备可以指具有处理系统和诸如例如一个或多个电池的移动电源或电源的任何设备。
如上文所描述的,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级笔记本电脑、平板电脑、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息传送设备、数据传送设备、照相机(例如,傻瓜照相机、超级变焦照相机、数字单镜头反光(DSLR)照相机)等。
移动计算设备的示例还可以包括被布置成由人穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂环计算机、鞋计算机、衣服计算机、以及其他可穿戴计算机。在各个实施例中,例如,移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管可以通过示例的方式利用被实现为智能电话的移动计算设备来描述一些实施例,但是可以意识到也可以使用其他无线移动计算设备来实现其他实施例。上述实施例并不限于该上下文中。
如图18中所示出的,设备1800可以包括壳体1802、显示器1804、输入/输出(I/O)设备1806、以及天线1808。设备1800还可以包括导航特征1812。显示器1804可以包括用于显示适合于移动计算设备的信息的任何适当的显示单元。I/O设备1806可以包括用于将信息输入到移动计算设备的任何适当的I/O设备。I/O设备1806的示例可以包括字母数字键盘、数字小型键盘、触摸板、输入按键、按钮、开关、摇杆开关、麦克风、扬声器、语音识别设备和软件等。还可以通过麦克风(未示出)的方式将信息输入到设备1800中。可以通过语音识别设备(未示出)来数字化这样的信息。上述实施例不受限于该上下文中。
可以使用硬件元件、软件元件、或这两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容、电导等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。确定使用硬件元件和/或软件眼镜来实现实施例可以根据任何数目的因素而变化,例如期望的计算速率、功率级别、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速率以及其他的设计或性能约束。
可以由存储在机器可读介质上的代表性指令来实现至少一个实施例的一个或多个方面,该指令代表处理器内的各个逻辑,当由机器读取时,该指令使得机器构造用于执行本申请中描述的技术的逻辑。这样的表示,被称为“IP核心”,可以存储在有形的、机器可读介质上,并提供给各个客户或生产设施备以装载到实际制造该逻辑或处理器的生产机器中。
如所讨论的,本申请中描述了与对视频系统的内容自适应熵编码相关的系统、装置、制品和方法。在一些示例中,本申请中描述了与对数据的内容自适应熵编码相关的系统、装置、制品和方法,这些数据定义了视频系统的视频帧的图片部分的数据分区。例如,该分区可以是视频帧的瓦片、最大编码单元、超块等的k-d树分区、二叉树分区、四叉树分区、结构化的码本分区等。所述分区可以是针对帧内或帧间编码的图片分区的预测分区或编码分区。
在一些示例中,可以确定针对图片部分的多级图案(例如,具有1个或多个图案的图案)。该多级图案可以仅具有基本图案,如果该基本图案具有所有终止(terminating)部分(例如,基本图案中匹配输入分区的部分),或者多级图案可以具有基本图案、用于基本图案的非终止部分的一级图案、用于一级图案的非终止部分的二级图案等,依此类推,直到每个图案在每个级别均具有所有的终止部分。所需级的数目(仅基本、一级、二级等)可以基于复杂度、分区的数目等而按照图片分区而改变。该多级图案可以括根据多个可用的图案确定的图案(例如,基本、一级等)。在一些示例中,可用的图案可以来自可用图案的码本等。此外,可以确定针对多级图案的每一级的终止比特(例如,指示是图案的一部分是否终止的比特)。可以针对视频帧、视频帧的一部分(例如,片)、或视频帧的序列而确定并聚集该终止比特。可以确定针对每个多级图案中的每个图案的熵编码的码字,并且可以对该终止比特进行熵编码。熵编码的码字和终止比特可被写入比特流,并传送到诸如解码器的接收设备。
在一些示例中,视频解码器可以接收并解码比特流。视频解码器可以基于熵编码的码字而确定基本图案以及可选的更高级别的图案。视频解码器还可以基于对熵编码的终止比特进行熵解码(可选地基于所指示的可变长度编码表或类似的)来确定终止比特。视频解码器可以基于多级图案和终止比特来重建视频部分的分区。此外,如在本申请中所讨论的,视频解码器可解码比特流以确定与分区相关联的误差数据的变换系数,使用本申请中所讨论的技术来预测分区,将误差数据和预测的分区相加以生成最终的预测的分区等,从而生成解码的视频帧,以通过显示设备进行呈现。
如在本申请中所讨论的,编码器模块402(请参照图6)可接收视频数据402,视频数据402可以包括定义视频帧或帧的的图片部分的分区的输入数据。
如所讨论的,下一代视频编码可以使用3种图片类型:I、P、以及B/F图片。例如,I图片和P图片,虽然它们可以具有预测和编码的细节不同,但可以在功能上类似。关于预测和编码,下一代视频编码中的图片可被分割成图片分区,例如瓦片。对于通用中间格式(CIF)或更低的分辨率,P图片可以使用32×32像素瓦片,而I图片和B/F图片可以使用64×64像素瓦片。对于比CIF更高的分辨率,所有图片类型可以使用64×64像素瓦片。
如在本申请中所讨论的,每个图片部分可进一步被分割成分区,以用于预测(例如,预测分区)和编码(例如,编码分区)。分区过程可以自适应于内容(例如,平的、详尽的或混合的图片)和/或编码比特率(例如,低、中、高)。分区也可以基于速率失真优化(RDO),其可结合内容和比特率自适应特性。在各个示例中,分块可以是矩形的或任意的(例如,具有更具体的形状)。例如,图片部分的矩形分块可基于二叉树分区、四叉树分区、k-d树分区、图案码本分区等。可以基于本申请中所讨论的描述的分区技术来执行本申请中关于编码分区所讨论的技术。另外如所讨论的,可以执行分区用于预测(例如,预测分区)或编码(例如,编码分区)。可以关于预测或编码分块而执行所讨论的技术。
图19示出了根据本公开的至少一些实施方式布置的用于图片部分的示例性分区的示例性多级图案的直观图。如图19所示出的,图片部分01可包括分区02(为清楚起见,不是每一个均被标记)。如所讨论的,图片部分01可以是视频帧的图片部分。例如,图片部分01可以是视频帧的瓦片、最大编码单元、超块。在一些示例中,图片部分01可以是视频帧的图片部分的分区。在一些示例中,视频帧可以是I图片,图片部分01可以是视频帧的瓦片。在一些I图片示例中,分区02可以是k-d树分区。在一些示例中,视频帧可以是P图片或B/F图片,并且图片部分01可以是视频帧的瓦片的分区。例如,瓦片的分区可以是预测分区。在一些P或B/F图片示例中,分区02可以是二叉树分区。
如所讨论的,图片部分01可以为任意尺寸。在一些示例中,图片部分01可以为32×32像素、64×64像素等。此外,如所讨论的,分区02可以是任何类型的分区。在一些示例中,分区02可以是k-d树分区、二叉树分区、四叉树分区、结构化的码本分区等。图片部分01和分区02可以针对亮度或色度数据。此外,图片部分01和分区02,以及其他图片部分和相应的分区可以通过诸如例如分区数据412等的输入数据来定义。
如图19中所示出的,可确定针对图片部分01的多级图案10。如所讨论的,多级图案可以包括任何数目的级(例如,仅基本级、基本级和一个或多个一级图案、基本级、一个或多个一级图案、以及一个或多个二级图案等)。在图19的示例中,多级图案10包括基本级图案11,四个一级图案12、13、14和15,以及七个二级图案21-27。
例如,可以使用基于图案的方法,例如以分层图案表示,确定针对图片部分1901和分区02的基本图案(例如,0级图案)11、一级图案12-15、和/或二级图案21-27。例如,可以从多个可用的图案中确定基本图案11作为(可用图案中的)最适合的图案,其可以覆盖或表示分区02的尽可能多的分区。在一些示例中,基本图案11可以是可用的图案中覆盖或表示分区02的最多数量的图案。如所示出的,基本图案11中的一个或多个部分可以是非终止的,使得基本图案11的部分与图片部分01的相对应部分的分区02不匹配(例如,完全表示)。例如,图片部分01的代表性部分30具有图片部分01的相对应部分,其具有7个分区,使得图片部分01的代表性部分30并不完全表示图象部分01的相对应部分,并且需要图案的更多级来完全表示图象部分01的相对应部分。
在一些示例中,基本图案11可以是完全终止的,使得基本图案完全表示相对应的图象部分。在这种示例中,不再需要更多的图案级,并且可以使用指示基本图案是完全终止的熵编码的码字对基本图案进行熵编码,如在本申请中进一步讨论的。
如图19中所示,可由一级图案12-15进一步表示基本图案11中的每个非终止的部分。如关于基本图案11所讨论的,可以从多个可用的图案中确定一级图案12-15中的每一个作为(可用图案中的)最适合的图案,其可以覆盖或表示分区02的尽可能多的分区。可以针对任何数目的额外分区重复这一过程并到达越来越小的级,直到所有分区终止。
例如,可以确定针对基本图案11的部分30的一级图案12。如所示出的,一级图案可具有三个终止部分和一个非终止部分。可以确定针对一级图案12的非终止部分的二级图案21。如所示出的,二级图案21可以是完全终止的。如所讨论的,为了确定图案是否是终止的,可将该图案与图片部分01中相关联的部分进行比较。如果该图案中的分区与图片部分01中相关联的分区完全匹配,则该图案中的分区是终止的。如果其不完全匹配,则该图案中的分区是非终止的。
类似的,可确定针对基本图案1911中的相关联的部分的一级图案13。一级图案13可具有四个非终止部分(并且没有终止部分)。可以确定针对非终止部分的二级图案22-25。如所示出的,在所示出的实施例中的二级图案可以全部是终止的(并且不需要更多级的图案)。此外,可以确定针对基本图案1911中的相关联的部分的一级图案14,并且一级图案14可以是完全终止的。此外,可以确定针对基本图案1911中的相关联的部分的一级图案14,并且一级图案14可具有两个终止部分和两个非终止部分。如所示出的,可以确定针对一级图案15的非终止部分的二级图案26、27。
使用所描述的技术,可以确定针对图片部分01的多级图案10。当每个级终止(例如,图案树的所有叶子均终止)时,多级图案10可以完成。使用类似的技术,可以确定针对视频帧的图片部分、视频帧的部分或片的图片部分、视频帧序列的视频帧的图片部分等的多级图案。
在该过程中,在每一级,针对每个非终止的图案,可以确定终止比特(例如,每非完全终止的图案的每一分区的一比特)。例如,对于基本图案11,终止比特可包括四比特,每个比特指示基本图案11的一个非终止部分(或分区)。类似的,一级图案12可具有与其相关联的四个终止比特,其中一比特指示非终止部分(或分区),三比特指示终止部分(或分区)。例如,如果1指示非终止而0指示终止,则一级图案12的比特可为0001。在一些示例中,图案的部分可以为从图案的左上到右下的顺序,从左到右向下对图案进行扫描,使得终止比特以这种方式排序。这种终止比特由此可以与多级图案10的图案相关联。
对于多级图案10中的每个图案(例如,所示示例中的基本图案11、一级图案12-15以及二级图案21-27),可以基于表诸如代理VLC表的表来确定熵编码的码字。如将在本申请中进一步描述的,可以以各种方式,例如预定的、自动的、或者自适应的,选择用于熵编码的适用的(或所选择的)代理VLC表。此外,用于选择代理VLC表的方法可取决于可变长度编码表选择模式,而该模式可进一步基于帧、帧的部分或帧的序列而进行选择。
在任何情况下,针对图案的熵编码的码字可被确定并被写入比特流。此外,终止比特可被熵编码并写入比特流。在一些示例中,终止比特可通过图案级和/或图案特性(例如,图案中的部分或分区的数目)进行分组,并且每个分组可用代理VLC和/或符号运行编码的组合进行编码。这样的分组可以提高本申请中所讨论的技术的编码效率。
图20是根据本公开的至少一些实施方式布置的示出了示例性过程2000的流程图。过程2000可以包括由操作2002、2004、2006、2008、2010、2012、2014和/或2016中的一个或多个所示出的一个或多个操作、功能或动作。过程2000可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程2000可以形成如由图1中的编码器系统100所采用的下一代视频编码过程的至少一部分。
过程2000可以在操作2002开始,“加载定义了分区的输入数据”,其中可以加载定义了分区的输入数据。例如,可以由编码器模块402等加载定义了视频帧的图片部分01等的定义分区02等的输入数据。例如,可以通过诸如视频编码器100视频编码器来加载定义了分区的输入数据。如在本申请中所讨论的,在各种示例中,输入数据可以包括定义了亮度分区的亮度数据和/或定义了色度分区的色度数据(例如,可选地在U和V平面)。
过程2000可以在操作2004继续,“设置可变长度编码表选择模式和/或切换模式”,其中,可设置可变长度编码表选择模式和/或切换模式。例如,如所讨论的,可基于可变长度编码(VLC)表确定表示多级图案中的图案的熵编码的码字。在一些示例中,可变长度编码表选择模式可确定是基于单个VLC表来确定熵编码的码字(例如,第一模式或模式0),还是基于从多个可用的多个VLC表中选择的VLC表来确定熵编码的码字(例如,第二模式或模式1)。在各个示例中,可基于视频帧、基于视频帧的部分或片、基于视频帧的序列来确定或设置可变长度编码表选择模式。
例如,可以从第一可变长度编码表选择模式和第二可变长度编码表选择模式中确定针对视频帧、视频帧的片、或视频帧序列的可变长度编码表选择模式,其中,在第一可变长度编码表选择模式中,单个可变长度编码表用于确定针对视频帧的每个图片部分的熵编码的码字,在第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中选择针对视频帧的每个图片部分的基于图片部分的可变长度编码表,并且所选择的基于图片部分的可变长度编码表用于确定针对相关联的图片部分的熵编码的码字。可通过可变长度编码表选择模式指示符(例如,一个比特或多个比特)来指示可变长度编码表选择模式,该指示符可被编码到比特流中。
在可变长度编码表选择模式被设置以使得单个VLC表用于所有码字的示例中,不需要或不必设置切换模式。在这种示例中,单个VLC表可以是平均VLC表等。
在可变长度编码表选择模式被设置以使得从可用的VLC表中选择该VLC表的示例中,则可设置切换模式。在这种示例中,可需要编码器和解码器确定应基于图片部分等而实现可用的VLC表中的哪个。在这种示例中,切换模式可以是自动切换模式或自适应切换模式等。
在自动切换模式中,可以基于在编码器和解码器两者上均能够执行的技术来确定所选择的VLC表(例如,使得不需要在比特流中发送指示符)。例如,在自动切换模式中,可以基于对第一部分的复杂度的预测而自动确定针对图片部分的VLC表。例如,对复杂度的预测可包括确定针对与第一图片部分相邻的图片部分的划分的数目,并基于该划分的数目而使用所选择的VLC表。在一些示例中,当划分的数目高于阈值时可选择高复杂度VLC码表,并且当划分的数目等于或低于阈值时,可选择高复杂度可变长度编码表。
在自适应切换模式中,可在编码器处确定所选择的VLC表,并通过自适应切换掩码传输所选择的VLC表。例如,自适应切换掩码可以通过将指示(例如,比特)包括在内来生成,该指示表明针对每个图片部分而选择第一VLC表和第二VLC表中的哪一个。可基于如所讨论的对复杂度的预测、速率失真优化等来确定VLC表。如在本文中所讨论的,可对自适应切换掩码进行熵编码,并写入比特流中。
如所讨论的,当可变长度编码表选择模式被设置使得从可用的VLC表中选择VLC表时,则可从自动切换模式或自适应切换模式中的一个来设置切换模式。在一些示例中,可基于当前正由视频系统实现的量化器值来确定切换模式。例如,如果量化值小于预先确定的阈值,则自适应切换模式则可以是所选择的切换模式。例如,该预先确定的可以是32等。
过程2000可以在操作2006继续,“可选地生成具有终止的32×32分区的图片部分的二进制掩码”,其中可以可选地生成具有终止的32×32分区的图片部分的二进制掩码。如所讨论的,可针对图片部分部分确定多级图案。在一些示例中,图片部分可为64×64像素。这种图片部分可包括32×32的终止的部分,使得识别和提供具有终止的32×32分区的图片部分的二进制掩码可对于编码效率有利。例如,可生成图片部分的二进制掩码,该二进制掩码包括多个二进制指示符(例如,比特),其每一个均指示相关联的图片部分包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区。图片部分的二进制掩码可被熵编码,并被写入比特流中。
过程2000可以在操作2008继续,“可选地对具有终止的32×32分区的图片分区的二进制掩码进行编码”,其中,可以可选地对图片部分的二进掩码进行熵编码。例如,可使用位图编码或符号运行编码对二进制掩码进行编码,并且所选择的编码技术可通过比特流进行传输以作为图片部分的二进掩码的编码技术指示符。
过程2000可以在操作2010继续,“可选地生成自适应切换掩码并对其进行编码”,其中,可以可选地生成自适应切换掩码并对其进行编码。如以上所讨论的,当可变长度编码表选择模式被设置使得从可用的VLC表中选择VLC表并且切换模式被设置为自适应切换模式时,可实现自适应切换掩码。在这样的示例中,可生成所描述的自适应切换掩码并对其进行熵编码。例如,可针对最小比特成本而对七种编码技术进行评估,并可以使用所选择的技术对自适应切换掩码进行编码。此外,可通过比特流提供所选择的编码技术,以作为自适应切换掩码编码技术指示符。
过程2000可以在操作2012继续,“确定针对图片部分的最佳的多级图案并编码到缓冲器中”,其中,可确定针对图片部分的最佳的多级图案并编码到缓冲器中。例如,如关于图19或本申请中其它地方所讨论的来确定多级图案。多级图案可以用于针对多级图案的每个图案而确定熵编码的码字。如所讨论的,根据可变长度代码表选择模式和切换模式,用于确定熵编码的码字的表可以变化(如在本申请中以下通过示例表所讨论的)。此外如所讨论的,在一些示例中,针对图案的所选择的码字可指示该图案是终止的,使得终止的图案可以不需要额外的终止比特(并可提高编码效率)。
过程2000可以在操作2014继续,“生成并确定用于对终止比特进行编码的最佳方法并编码到缓冲器中”,其中,可生成终止比特、确定用于对终止比特进行编码的最佳方法,并且终止比特可被编码到缓冲器中。例如,如关于图19或本申请中其它地方所讨论的来生成终止比特。可如在下面进一步讨论的来分组终止比特并对终止比特的每个组进行熵编码。熵编码的比特可以存储缓冲器中。
过程2000可以在操作2016继续,“将终止比特缓冲器写入比特流中”,其中,熵编码的终止比特可从缓冲器写入比特流中。
过程2000可以在操作2018继续,“将图案缓冲器写入比特流中”,其中,熵编码的码字(针对多级图案中的图案)可从缓冲器写入比特流中。
如所讨论的,在本申请所讨论的技术中,多种模式和选项是可用的。下表A提供了对于本申请中所使用的一些术语的示例性描述。
表A:示例性术语及描述
图21是根据本公开的至少一些实施方式布置的示出了示例性过程2100的流程图。过程2100可以包括如由操作2102、2104、2106、2108、2110和/或2112中的一个或多个所示出的一个或多个操作、功能或动作。过程2100可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程2100可以形成如由图2中的解码器系统200所采用的下一代视频解码过程的至少一部分。
过程2100可以在操作2102开始,“接收编码的比特流和输入数据以进行处理”,其中可以接收编码的比特流和/或输入数据以进行处理。例如,可以在视频解码器等处接收如本申请所讨论的编码的比特流。比特流可以包括任何如本申请所讨论的编码的数据,例如表示多级图案中的图案的熵编码的码字、熵编码的终止比特、头部数据、指示符等。比特流可被视为数据或输入数据,其可以被输入以进行处理。例如,比特流可被输入到自适应熵解码器202等以以进行处理。
过程2100可以在操作2104继续,“解码并设置可变长度编码表选择模式和/或切换模式”,其中,可对比特流进行解码,以确定可变长度编码表选择模式和/或切换模式。例如,如所讨论的,比特流可包括针对视频帧的可变长度编码表选择模式指示符、视频帧的一部分或片、或视频帧的序列。可变长度编码表选择模式指示符可从第一可变长度编码表选择模式和第二可变长度编码表选择模式或是如本申请所讨论的任何可变长度编码表选择模式中指示(例如,针对视频帧、视频帧的一部分或片、或视频帧的序列)可变长度编码表选择模式,其中,在第一可变长度编码表选择模式中单个可变长度编码表用于确定针对视频帧的每个图片部分的熵编码的码字,在第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中选择针对视频帧的每个图片部分的基于图片部分的可变长度编码表,并且所选择的基于图片部分的可变长度编码表用于确定针对相关联的图片部分的熵编码的码字。
如以上所讨论的,在可变长度编码表选择模式被设置为使得单个VLC表用于所有码字的示例中,不需要或不必设置切换模式。在这种示例中,单个VLC表可以是平均VLC表等。
在可变长度编码表选择模式被设置为使得从可用的VLC表中选择VLC表的示例中,则可确定切换模式。例如,比特流可包括指示出切换模式是否在可用的可变长度编码表之间的所选择的切换模式指示符。例如,切换模式可以是自动切换模式或自适应切换模式。
如本申请中所讨论的,在自动切换模式中,可以基于在编码器和解码器两者处均能够执行的技术(例如,使得不需要在比特流中发送指示符)来确定所选择的VLC表。例如,在自动切换模式中,可以基于对第一部分的复杂度的预测而自动地确定针对图片部分的VLC表。例如,对复杂度的预测可包括确定针对与第一图片部分相邻的图片部分的划分的数目,并基于该划分的数目使用所选择的VLC表。例如,当划分的数目高于阈值时可选择高复杂度的VLC码表,并且当划分的数目等于或低于阈值时,可选择低复杂度的可变长度编码表。
在自适应切换模式中,可在编码器处确定所选择的VLC表,并通过自适应切换掩码传输VLC表,如本申请中进一步、并且尤其关于以下的操作2108所讨论的。
过程2100可以在操作2106继续,“如果可用的话,对具有终止的32×32分区的图片部分的二进制掩码进行解码”,其中如果可用的话,可对具有终止的32×32分区的图片部分的二进制掩码进行解码。如所讨论的,在一些示例中,图片部分的二进制掩码可被包含在比特流中,该比特流包括多个二进制指示符,其每一个均指示相关联的图片部分具有四个32×32非终止的分区还是具有至少一个终止的32×32分区的四个32×32分区。在操作2106,这种掩码可被解码并在解码中实现,从而跳过这种终止的32×32分区。
过程2100可以在操作2108继续,“如果可用的话,对自适应切换掩码进行解码”,其中如果可用的话,可对自适应切换掩码进行解码。例如,如以上所讨论的,可接收可选的自适应切换掩码。该自适应切换掩码可包括指示(例如,比特),其指示针对每个图片部分选择第一VLC表和第二VLC表中的哪一个。自适应切换掩码可为图片部分的熵编码的码字指示可用的VLC表中的哪一个VLC表用于对码字进行熵解码。
过程2100可以在操作2110继续,“对终止比特进行解码”,其中可对终止比特进行解码。如所讨论的,终止比特可按图案级和/或图案特性(例如,图案中的部分或分区的数量)进行分组,并且每组可利用代理VLC和/或符号运行编码的组合进行编码。在这种示例中,可使用代理VLC和/或符号运行编码对所接收的熵编码的终止比特进行解码并解分组。以下将进一步讨论示例性分组的细节。
过程2100可以在操作2112继续,“从熵编码的码字中解码图案并重建分区”,其中可从熵编码的码字中解码图案并重建分区。例如,该熵编码的码字可从可用的图案中指示图案。例如,该图案可被包含在码本等中。解码的图案和终止比特可用于重建图片部分的分区,例如,图片部分01的分区02等。
如所讨论的,可确定针对图片部分的分区(例如,瓦片等)的多级图案。所述多级图案可包括基本图案和/或一个或多个较高级的图案。根据可变长度编码表选择模式,可通过根据具有单个表或从多个可用的表选择的表所确定的码字的熵编码的码字而对图案进行编码。当表是可选择的时,用于选择VLC表的方法可基于切换模式(例如,自动切换模式或自适应切换模式等)。可对可变长度编码表选择模式和切换模式(如果需要)进行熵编码并通过指示符将其写入比特流中。如果切换模式为自适应切换模式,则也可对自适应切换掩码进行熵编码,并将其写入比特流中。此外,如所讨论的,可以可选地对指示出图片部分具有非终止的子部分(例如,32×32分区)的图片部分的二进制掩码进行编码,并将其写入比特流中。可将熵编码的码字写入比特流中。可聚集终止比特、选择性地对其进行分组(如本申请中进一步描述的)、熵编码、并将其写入比特流中。
如所讨论的,可接收经编码的比特流,并且可将所讨论的过程及技术大致进行反向,以重建图片部分的分区。图22和23分别示出了用于实现所描述的技术的某些方面的示例性编码过程2200和示例性解码过程2300。
图22(A)至22(F)示出了根据本公开的至少一些实施方式布置的示例性过程2200的流程图。过程2200可以包括操作或操作组2002、2004、2006、2008、2010、2012、2014、2016和/或2018,这些操作可提供与本申请中关于于图20所讨论那些操作相同或相似的技术。在一些示例中,图22(A)至22(F)所示的过程可提供用于对亮度数据的64×64图片部分的分区进行编码的过程。
过程2200可以在操作或操作组2002开始,其可包括操作“输入数据:帧内分区(亮度64×64瓦片),模式,Qp”,其中可以加载输入数据。例如,输入数据可以包括具有64×64像素大小的图片部分(例如,瓦片)的针对亮度的帧内分区。在一些示例中,如所示出的,输入数据也可以包括可变长度代码表选择模式和量化值Qp。
过程2200可以在操作或操作组2004继续,其可以包括判定操作“Mode=1且Qp<32?”、操作“asw_mode=0”、以及操作“asw_mode=1”,其中可确定可变长度代码表选择模式。如果可变长度代码表选择模式是1(例如,使得从两个或更多个可用的表中选择VLC表),则可确定切换模式。如所讨论的,这样的模式可基于量化值。在示出的示例中,如果量化值高于阈值32,则切换模式设置为自适应的,如果其等于或低于阈值32,则切换模式设置为自动的。例如,操作可以设置自适应切换模式—如果使用了VLC表选择模式0且Qp<32,则启用自适应切换模式,否则将其禁用(例如,使用自动切换)。
过程2200可以在操作或操作组2006继续,其可以包括操作“i=0”、操作“将t设置为图片中的第一瓦片”、判定操作“t具有终止的32×32分区?”、操作“mask[i]=0”、操作“mask[i]=1”、操作“i=i+1”以及判定操作“所有瓦片完成?”。操作2006可生成具有终止的32×32分区的图片部分的二进制掩码。例如,该操作可获得具有终止的32×32分区的图片部分的掩码——针对所有瓦片,收集掩码比特;如果图片部分中存在终止的32×32分区,则将掩码比特设置为1;否则设置为0。掩码的长度是视频帧(例如,图片)中图片部分的数目。
过程2200可以在操作或操作组2008继续,其可以包括判定操作“mask=全0?”、操作“编码‘1’”、操作“编码‘0’”、操作“cost[0]=使用位图进行编码的成本”、操作“cost[1]=使用符号运行(Tbl0)进行编码的成本”、操作“cost[j]=min(cost[0],cost[1])”、操作“对方法j(1比特)的头部进行编码”、以及操作“利用方法j对掩码进行编码”。操作2008可以可选地对具有终止的32×32分区的图片部分的二进制掩码进行编码。例如,操作可对具有终止的32×32分区的图片部分(例如,瓦片)的掩码进行编码——如果所有比特都为0则使用1比特(0)来表示它;否则,则花费1比特头部(1),并按照以下对所述掩码进行编码:计算利用符号运行方法对掩码进行编码的成本,并将位图编码的成本设置为掩码长度,从2种成本中选择成本最小的作为编码方法,对指示所选择的方法的1比特头部进行编码,并利用所选择的方法对该掩码进行编码。
过程2200可以在操作或操作组2010继续,其可以包括判定操作“asw_mode=1?”、操作“i=0”、操作“将t设置为图片中的第一瓦片”、判定操作“t中分区的数量<t中4x4块的数量的1/16?”、操作“asw_mask[i]=0”、操作“asw_mask[i]=1”、操作“i=i+1”、判定操作“所有瓦片完成?”、判定操作“asw_mask=全0?”、操作“编码‘1’”、操作“编码‘0’”、操作“cost[0]=使用位图对asw_mask进行编码的成本,cost[1]=使用符号运行(Tbl0)对asw_mask进行编码的成本、cost[2]=使用符号运行(Tbl0)对inv.asw_mask进行编码的成本、cost[3]=使用符号运行(Tbl0)对diff.asw_mask进行编码的成本、cost[4]=使用符号运行(Tbl5)对asw_mask进行编码的成本、cost[5]=使用符号运行(Tbl0)对inv.asw_mask进行编码的成本、cost[6]=使用符号运行(Tbl0)对diff.asw_mask进行编码的成本”、操作“cost[j]=min(cost[k]),k=0,1,…,6”、操作“对方法j(2-3比特)的头部进行编码”、以及操作“利用方法j对asw_mask进行编码”。操作2010可以可选地生成自适应切换掩码,并对其进行编码。例如,操作可以计算自适应切换掩码并对其进行编码——如果启用了自适应切换模式,则按照以下派生出自适应切换掩码并对其进行编码:计算针对每一瓦片的自适应切换掩码比特:如果瓦片中的分区数目小,则将该比特设置为0;否则设置为1,对自适应切换掩码进行编码——如果所有比特都为0则使用1比特(0)来表示它,否则,则花费1比特头部(1),并按照以下对该掩码进行编码:计算利用2种符号运行方法对掩码进行编码的成本,应用到掩码比特上,将掩码比特取反并区分掩码比特,并且将位图编码的成本设置为掩码长度(所计算的7种成本的总和),从7种成本中选择最小成本的作为编码方法,对指示所选择的方法的2-3比特头部进行编码、并且利用所选择的方法对所述掩码进行编码。
过程2200可以在操作或操作组2012继续,其可以包括操作操作“i=0”、操作“将t设置为图片中的第一瓦片”、判定操作“Mode=1且asw_mode=1?”、判定操作“asw_mask[i]=0?、判定操作“Mode=1且asw_mode=0?”、操作“N=从t的邻居(上部,左侧,左上)预测的t中分区的数目”、判定操作“N<T_low?”、操作“将图案VLC表设置为低复杂度表”、操作“将图案VLC表设置为高复杂度表”、操作“将图案VLC表设置为平均表”、操作“P=对应于瓦片t分区的图案”、操作“Patt_ind=搜索图案码本(P的尺寸)以找到精确的匹配”、判定操作“Patt_ind>-1?”、操作“将图案码字(对应于Patt_ind)与picture_buffer相加、操作“ind=0”、操作“minCT=∞”、操作“将T设置为码本(t尺寸)中的ind图案”、判定操作“T是P的有效容器?”、操作“估计对T及其子图案(等级1,2,...)的编码成本CT。在这个过程中累积:tmp_pattern_bits_buffer以及tmp_termination_bits_buffer”、判定操作“minCT>CT?”、操作“minCT=CT,tile_pattern_bits_buffer=temp_patter_bits_buffer,tile_term_bits_buff=tmp_termination_bits_buffers”、操作“ind=ind+1”、判定操作“所有T图案已被处理?”、操作“将tile_term_bits_buff与pic_buff相加、将tile_patt_bits_buff与pic_tb_buffs相加”、操作“i=i+1”、以及判定操作“所有瓦片完成?”。操作2012可确定针对图片部分的最佳多级图案,并将其编码到缓冲器中。例如,操作可选择图案VLC表:如果使用VLC表选择模式1并且启用自适应切换模式,则如果自适应切换掩码为0则选择低复杂度图案VLC表;如果其为1则选择高复杂度图案VLC表;如果使用VLC表选择模式1并且禁用自适应切换模式(例如,设置为自动切换),则基于相邻瓦片中的划分的数目而进行复杂度预测——如果所预测的复杂度比特为0,则选择低复杂度图案VLC表;如果其为1则选择高复杂度图案VLC表;并且如果使用VLC表选择模式0,则将图案VLC表设置为平均的。此外,所述操作可获得对应于瓦片尺寸及分区的图案。例如,所述操作可搜索图案码本(例如,表38(a-e))以找到精确的匹配”;如果匹配存在,则将匹配的索引设置为码本表中的匹配图案索引,否则将其设置为-1;如果所述索引大于-1,则将图案码字比特写入到缓冲器并移动到下一个图片部分(例如,瓦片),否则继续贯穿所述瓦片尺寸图案码本(表38(a))并找到有效的0级图案(例如,那些没有无效剪切的图案);对所有这些图案执行以下操作:将i设置为0,针对当前非终止的i级图案累积终止比特;针对i级图案的所有非终止的分区(例如,在i+一级)累积终止比特,在相对应的图案码本中搜索精确匹配或最佳有效匹配;如果找到精确匹配,则将图案的码字比特写入临时缓冲器中,并移动到在i级的当前图案的下一个非终止的分区;如果未找到精确匹配,则写入最佳有效容器分区(非终止的)的比特,将i级增加1并重复,直到所有分区都是终止的。所述操作可以评估在临时缓冲器中累积比特的成本,并且如果它是目前为止最小的,则将累积的终止比特和图案比特复制到瓦片缓冲器中。所述操作还可以在对非终止的瓦片进行处理的结尾,将瓦片图案缓冲器复制到图片缓冲器中,并将瓦片终止比特缓冲器到图片终止比特缓冲器中。
过程2200可以在操作或操作组2014继续,其可以包括操作“取反(按比特)pic_tb_buffs”、判定操作“pic_tb_buff[0]=全0?”、操作“编码‘1’”、操作“编码‘0’”、操作“使用代理VLC编码(表2)对pic_tb_buff[0]进行编码”、操作“cost[0]=使用代理VLC(表4)对pic_tb_buff[1]进行编码的成本,cost[1]=使用代理VLC(表5)对pic_tb_buff[1]进行编码的成本,cost[2]=使用代理VLC(表6)对pic_tb_buff[1]进行编码的成本”、操作“cost[j]=min(cost[0],cost[1],cost[2])”、操作“对方法j(1-2比特)的头部进行编码”、操作“使用方法j对pic_tb_buff[1]进行编码”、操作“使用代理VLC编码(表7)对pic_tb_buff[2]进行编码”、操作“cost[0]=使用代理VLC(表9)对pic_tb_buff[3]进行编码的成本,cost[1]=使用代理VLC(表10)对pic_tb_buff[3]进行编码的成本,cost[2]=使用代理VLC(表11)对pic_tb_buff[3]进行编码的成本,cost[3]=使用代理VLC(表12)对pic_tb_buff[3]进行编码的成本,cost[4]=使用代理VLC(表13)对pic_tb_buff[3]进行编码的成本,cost[5]=使用代理VLC(表14)对pic_tb_buff[3]进行编码的成本,cost[6]=使用代理VLC(表15)对pic_tb_buff[3]进行编码的成本”、操作“cost[j]=min(cost[k]),k=0,1,…6”、操作“对方法j(2-3比特)的头部进行编码”、操作“使用方法j对pic_tb_buff[3]进行编码”、判定操作“pic_tb_buff[4]=全0?”、操作“编码‘1’”、操作“编码‘0’”、操作“cost[0]=使用符号运行(表17)对pic_tb_buff[4]进行编码的成本,cost[1]=使用符号运行(表18)对pic_tb_buff[4]进行编码的成本,cost[2]=使用符号运行(表19)对pic_tb_buff[4]进行编码的成本,cost[3]=使用代理VLC(表20)对pic_tb_buff[4]进行编码的成本”、操作“cost[j]=min(cost[k]),k=0,1,2,3”、操作“对方法j(2比特)的头部进行编码”、操作“使用方法j对pic_tb_buff[4]进行编码”、操作“cost[0]=使用代理VLC(表22)对pic_tb_buff[5]进行编码的成本,cost[1]=使用代理VLC(表23)对pic_tb_buff[5]进行编码的成本,cost[2]=使用代理VLC(表24)对pic_tb_buff[5]进行编码的成本,cost[3]=使用代理VLC(表25)对pic_tb_buff[5]进行编码的成本”、操作“cost[j]=min(cost[k]),k=0,1,2,3”、操作“对方法j(2比特)的头部进行编码”、以及操作“使用方法j对pic_tb_buff[5]进行编码”。操作2014可生成并确定用于对终止比特进行编码的最佳方法,并将其编码到缓冲器中。例如,所述操作可通过以下对终止比特进行编码:具有2个分区的0级的非终止的图案的终止比特被取反并如下进行编码:如果所有的比特均为0则使用1比特(0)来表示它。否则,花费1比特头部(1)并利用代理VLC编码使用表2所示的事件图对所述掩码进行编码;具有2个分区的一级(或更高)非终止的图案的终止比特被取反并如下进行编码:评估利用代理VLC编码使用表4、表5、表6所示的事件图对所述比特进行编码的成本(3种成本),找到最小的成本并选择相对应的方法,对1-2比特头部进行编码,以将所选择的方法指示到缓冲器中,利用所选择的方法将终止比特编码到缓冲器中;具有3个分区的0级非终止的图案的终止比特被取反并利用代理VLC编码使用表7所示的事件图进行编码;具有3个分区的一级(或更高)非终止的图案的终止比特被取反如下进行编码:评估利用代理VLC编码使用表9、表10、表11、表12、表13、表14、表15所示的事件图对所述比特进行编码的成本(7种成本),找到最小的成本并选择相对应的方法,对2-3比特头部进行编码,以指示所选择的方法,并利用所选择的方法将终止比特编码到缓冲器中;具有4个分区的0级非终止的图案的终止比特被取反并且如果所有的比特均为0则使用1比特(0)来表示它,否则,花费1比特头部(1)并如下对所述比特进行编码:评估利用具有表17、表18、表19所示的VLC符号运行、以及利用代理VLC编码使用表20所示的事件图对所述比特进行编码的成本(4种成本),找到最小的成本并选择相对应的方法,对2比特头部进行编码以指示所选择的方法,并利用所选择的方法将终止比特编码到缓冲器中;具有4个分区的一级(或更高)非终止的图案的终止比特被取反并如下进行编码:评估利用代理VLC编码使用表22、表23、表24、表25所示的事件图对所述比特进行编码的成本(4种成本),找到最小的成本并选择相对应的方法,对2比特头部进行编码,以指示所选择的方法,并利用所选择的方法将终止比特编码到缓冲器中。
过程2200可以在操作或操作组2016和2018继续,其可以包括操作“将pic_buff写入比特流”以及操作“完成处理当前图片”。操作2016和2018可将终止比特缓冲器写入比特流、将图案缓冲器写入比特流,并完成对当前视频帧(例如图像)的处理。例如,所述操作可将终止比特缓冲器写入比特流并将图案比特缓冲器写入比特流。
图23(A)至23(C)示出了根据本公开至少一些实施方式布置的示例性过程2300的流程图。过程2300可以包括操作或操作组2102、2104、2106、2108、2110和/或2112,这些操作或操作组可提供与参照图21所讨论的那些操作相同或相似的技术。在一些实施例中,图23(A)至23(C)所示出的过程可提供用于对亮度数据的64×64图片部分的分区进行解码的处理。
过程2300可以在操作或操作组2102开始,其可包括操作“输入数据:比特流、模式、Qp”,其中可以接收比特流和/或加载输入数据。例如,如在本申请中所讨论的,比特流可以包括熵编码的数据。在一些实施例中,如示出的,比特流和/或输入数据可以包括可变长度编码表选择模式和量化值Qp。
过程2300可以在操作或操作组2104继续,其可以包括判定操作“Mode=1且Qp<32?”、操作“asw_mode=0”、以及操作“asw_mode=1”。在本申请中所讨论的,操作2104可解码并设置VLC编码表选择模式和/或切换模式。例如,通过对所接收的比特流的解码,参照图22(A)至22(F)或本申请中其它部分所讨论的选项和模式是可用的。
过程2300可以在操作或操作组2106继续,其可以包括操作“对具有非终止的32×32分区的瓦片的掩码的头部进行解码”以及操作“对具有非终止的32×32分区的瓦片的掩码进行解码”。如果可用的话,操作2106可对具有终止的32×32分区的图片部分(例如,瓦片)的二进制掩码进行解码。例如,如果可用的话,所述操作可提供对指示出编码技术(例如,位图或符号运行)的头部的解码并且提供对具有非终止的32×32分区的瓦片的掩码的解码。这种技术可提供对参照图22(A)-22(F)或本申请中其它部分所讨论的编码操作的解码操作。
过程2300可以在操作或操作组2108继续,其可以包括判定操作“asw_mode=1?”、操作“对asw_mask的头部进行解码”、以及操作“对asw_mask进行解码”。如果可用的话,操作2108可对自适应切换掩码进行解码。例如,如果可用的话,所述操作可用于对指示出编码技术(例如,位图、符号运行、对逆比特的符号运行、对差异比特的符号运行等)的头部进行解码并且用于自适应切换掩码。这种技术可提供对参照图22(A)至22(F)或本申请中其它部分所讨论的编码操作的解码操作。
过程2300可以在操作或操作组2110继续,其可以包括操作“i=0”、操作“对pic_tb_buff[i]的头部进行解码”、操作“对pic_tb_buff[i]进行解码、终止比特组i”、操作“i=i+1”,以及判定操作“i>6?”。操作2110可对终止比特进行解码。例如,所述操作可提供对终止比特的解码及解分组。这种技术可提供对参照图22(A)至22(F)或本申请中其它部分所讨论的编码操作的解码操作。例如,以下提供对分组终止比特的更详细的讨论。
过程2300可以在操作2112继续,其可以包括操作“i=0”、操作“将t设置为图片中的第一瓦片”、判定操作“Mode=1且asw_mode=1?”、判定操作“asw_mask[i]=0?、判定操作“Mode=1且asw_mode=0?”、操作“N=从t的邻居(上部,左侧,左上)预测的t中分区的数目”、判定操作“N<T_low?”、操作“将图案VLC表设置为低复杂度表”、操作“将图案VLC表设置为高复杂度表”、操作“将图案VLC表设置为平均表”、操作“对0级图案P进行解码(表38a-e)”、判定操作“P是终止的?”、操作“解码(移动指针)P的终止比特(根据P中分区的数目从tb分组中)”、操作“N=P中非终止的分区的数目”、操作“n=0”、操作“对对应于分区n的P的子图案进行解码”、操作“n=n+1”、判定操作“n>N?”、操作“i=I+1”、判定操作“所有的瓦片已解码?”、以及操作“完成对当前图片的帧内分区的解码”。操作2112可从熵编码的码字中解码图案并重建图片部分的分区。操作2112还可完成对当前视频帧(例如,图片)的分区(例如,帧内分区)的解码。
图24是示出了根据本公开至少一些实施方式布置的用于对分区数据进行熵编码的示例性系统2400。如所示出的,系统2400可以包括基本图案匹配器模块2401、基本图案码本模块2402、分区终止分析器模块2403、“0”级终止指示符流采集器模块2404、分区图案匹配器模块2405、分区图案码本模块2406、子分区终止分析器模块2407、“n”级终止指示符流采集器模块2408、VLC图案索引编码器模块2409、递归级分析模块2410和/或VLC(符号运行/代理)终止流编码器模块2411。
在一些示例中,已被分区的图片部分(例如,分区的图片部分)可被输入到基本图案匹配模块2401。例如,所示分区可以是用于预测或编码的大小为64×64或32×32的k-d树分区或二叉树分区等。基本图案匹配器模块2401可以搜索可包括候选图案的基本图案码本模块2402,可以从所述候选图案中选择与分区的输入图片部分的最接近的可能的基本(例如,“粗略”)匹配。例如,如在本申请中所讨论的,所选择的图案可以被称为基本图案。如所示出的,基本图案可被输入到分区终止分析器模块2403,分区终止分析器模块2403可输出对应于下一个非终止的分区(例如,0级非终止)的分区细节,并且可以在比特流段0级终止指示符流中插入1比特的指示符(例如,具有值“0”或“1”)。如所示出的,可通过“0”级终止指示符流采集器模块2404采集该比特流段0级终止指示符流。如所示出的,非终止的分区(例如,0级非终止)的细节可作为开关2421的第一输入。如所示出的,开关2421的第二输入可以被提供为当前级或先前级非终止的子分区。
对于基本图案的第一非终止的分区正在被处理,0级非终止的(例如,下一个非终止分区)可被输入到分区图案匹配器模块2405。分区图案匹配器模块2405可以搜索可包括图案的分区图案码本模块2406,从所述图案中,可选择与所述分区(例如,下一个非终止的分区)最接近的下一级(例如“粗略”)匹配。所述图案可以被称为分区图案,并且可以被输入到子分区终止分析器模块2407。子分区终止分析器模块2407可以在开关2422的一个输入处输出当前级的详细的非终止的分区(例如,当前的一级非终止的),开关2422的第二输入可以是先前级的下一个详细的非终止的分区。原始图片部分分块(例如,分区的图片部分)以及“当前级非终止的子分区”(例如,当前一级非终止)可以被输入递归级分析器模块2410。递归级分析器模块2410可以输出下一个详细先前一级非终止的分区(如果需要)或者无输出,这可以通知对当前图片分区的处理完成。如所示出的,开关2422的输出在“当前一级非终止”分区和“任何先前一级非终止”分区之间进行选择,其可在分区图案匹配器模块2405的输入处反馈给开关2422,以形成闭环。被选择用于表示每个非终止的分区的各个图案/子图案的索引和/或码字可由VLC图案索引编码器模块2411进行编码。此外,0级的终止指示符流(例如,0级终止指示符流)以及更高级的各种其它终止指示符流(例如,n级终止指示符流)可由VLC(符号运行/代理)终止流编码器模块2411进行编码。VLC图案索引编码器模块2411和/或VLC(符号运行/代理)终止流编码器模块2411的输出可发送给比特流组装器408,以被组装到比特流并输出,如在本申请中所讨论的。
在各种示例中,系统2400可以通过编码器100,例如通过编码器100的自适应熵编码器110来实现(请参照图1)。在一些示例中,系统2400可以通过图片分区、预测分区、以及编码分区编码器模块402(请参照图4)来实现。例如,系统2400可以通过以下中的一个或多个来实现:用于图片分区模块621的自适应码本VLC编码器、用于帧内预测分区模块622的符号运行VLC和/或代理VLC编码器、和/或用于帧间预测分区和编码分区模块623的符号运行VLC和/或代理VLC编码器。例如,系统2400中的一个或多个可被实现以对编码的图片分区、帧内预测分区、帧间预测分区、和/或编码分区进行编码,如在本申请中所讨论的。
现在讨论编码的各种实例。例如,亮度分区的编码可包括两部分:(1)对图案(例如,多级图案中的图案)的编码和(2)对终止比特的编码。在一些示例中,色度分区编码可包括三部分:(1)对图案的编码、(2)对后续比特的编码、以及(3)对终止比特的编码。
如所讨论的,每个图片部分中的分区(例如,瓦片)可由一组分层有序的图案(例如,多级图案)来表示。如所讨论的,在0(基本)级,可选择最适合的起始图案。所述图案本身可以具有两种模式的表示。例如,所述图案可终止(例如,其忠实地或完全地表示)图片部分的给定分区,或其可不终止(例如,其部分或分区中的一个、一些或全部需要进一步编码并利用更小图案来表示——在更高级处)。
再次参照附图19,所示出的示例示例表明输入图片部分分区可以分级的方式来表示。在所示出的示例示例中,存在12个图案以用于指定图片部分(基本级有1个,一级有4个,2级有7个)。
如所讨论的,在这样的示例中,终止的图案无需携带它们的实际VLC码之外的任何额外的比特(例如,不需要终止比特)。然而,关于非终止的图案的哪些分区需要被进一步编码的信息,关于哪些信息需要被输送到解码器,以使得解码器重建图片部分的分区的消息。例如,非终止的图案必须至少有1个分区是非终止的,使得图案的终止比特具有少一个的按比特事件。换句话说,如果0表示终止、1表示非终止,则在具有3个分区的非终止的图案中,事件000将永远不会发生(否则,所述图案将是终止的)。在一些示例中,这一事实可以用来得出对终止比特的小的基于VLC的编码。此外,在一些示例中,可利用符号运行方法对终止比特进行编码。
同样如所讨论的,对图案的编码中有两种模式的操作:(1)可变长度编码表选择模式0(例如,单个图案VLC表),和(2)可变长度编码表选择模式1(例如,在诸如复杂图案VLC表和简单图案VLC表的多个VLC表之间切换。
如所讨论的,在亮度的示例中,可变长度编码表选择模式0可基于使用针对图案的单个VLC表。在色度的示例中,可变长度编码表选择模式0可使用对编码方法的基于帧的切换。这种切换可以基于量化参数(QP)。切换模式可包括方法A和方法B,方法A中,0级图案(例如,实体(solid))可从VLC表禁用并利用符号运行编码器被编码,方法B中,在V平面中的符号运行可以对U平面和V平面实体/非实体掩码的差异而执行。在色度的示例中,可变长度编码表选择模式1可以使用与模式0相同的方法。
返回到亮度的示例,如所讨论的,可以基于在使用相邻图片部分的图片部分的基础上的预测而进行切换。例如,对当前图片部分的结果的预先确定的统计数据可以提供表切换比特以用于直接相邻的图片部分(例如,先前解码的图片部分)。例如,可以使用具有3帧的16个序列而计算统计数据,每一帧均使用4、8、12、16、24、32、48和64的量化器。另外,每个图片部分可被双重编码,并且在每个图片部分级选择2个中最好的。使用预先确定的统计数据可构造概率表,其中,根据关于帧级的复杂度(SC)以及量化器而将多个表分离。可使用表中相对应的概率来确定在给定的图片部分要切换什么表的判定。例如,可以基于Qp、SC、以及相邻图片部分的切换比特而执行查找。可利用针对使用比特表的每个图片部分的图案比特的计数来生成或估算切换掩码。如果特定表的概率大于约65%,则可使用得到的切换掩码。如果特定表的概率小于约65%,则所述切换掩码可以基于以下使用相邻图片部分中多个分区的技术,其关于图25示出。
图25示出了根据本公开的至少一些实施方式布置的示例性当前图片部分2501以及示例性相邻图片部分2511、2512、2513。如图25所示,当前图片部分2501(在位置X,Y)可具有先前解码的相邻图片部分2511(在位置X-1,Y-1;相对于当前图片部分2501的左上)、先前解码的相邻图片部分2512(在位置X,Y-1;相对于当前图片部分2501的顶部)、以及先前解码的相邻图片部分2513(在位置X-1,Y;相对于当前图片部分2501的左边)。例如,使用相邻图片部分中的分区的数目的技术可确定分区数目来预测当前图片部分的切换比特。例如,可利用直接相邻的图片部分2511、251和2513的已知的分区数目来估计当前图片部分2501的分区数目。对于内部图片部分,例如当前图片部分2501,所估计的分区数目可以是图片部分2513的分区数目的60%、图片部分2512的分区数目的30%、以及图片部分2511的分区数目的10%。所估计的图片部分分区的数目可与预先确定的阈值进行比较,使得如果所估计的图片部分分区的数目多于该预先确定的阈值,则将VLC表设定为高分区或高复杂度VLC表(对应于切换比特1),并且如果所估计的图片部分分区的数目少于该预先确定的阈值,则将VLC表设定为低分区或低复杂度VLC表(对应于切换比特0)。在一些示例中,该预先确定的阈值可以是16。
如所讨论的,对于所有非终止的图案,可以指定终止比特,使得解码器可以确定非终止的图案中的哪些分区不终止并且进一步被编码。同样如所讨论的,终止比特可被分组、被分组熵编码、并写入比特流中。例如,在64×64像的图片部分的亮度平面中,所述终止比特可被累积并如下被分成7个不同的组:
表B:示例性亮度平面终止比特分组
例如,亮度图片部分可以是64×64像素。在这种的示例中(例如,大小为64×64的图片部分的亮度),可使用以下方法对终止比特进行编码。例如,第1组终止比特(具有2个分区的0级非终止的图案的终止比特)可被取反,并利用表1中的2种方法中产生最小比特成本的一种方法进行编码。
方法编号 VLC头部 描述
0 0 所有比特均为0
1 1 使用表2所示的事件图的代理VLC编码
表1:在对具有2个分区的0级非终止的图案的终止比特进行编码中使用的方法及它们的头部比特(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
00 0
01 10
10 11
11
表2:在对具有2个分区的0级非终止的图案的取反的终止比特进行编码的方法1中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
例如,第2组终止比特(具有2个分区的一级或更高级非终止的图案的终止比特)可被取反,并利用表3中的3种方法中产生最小比特成本的一种方法进行编码。
方法编号 VLC头部 描述
0 0 使用表4所示的事件图的代理VLC编码
1 10 使用表5所示的事件图的代理VLC编码
2 11 使用表6所示的事件图的代理VLC编码
表3:在对具有2个分区的一级或更高级非终止的图案的终止比特进行编码中使用的方法及它们的头部比特(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
00 10
01 0
10 11
11
表4:在对具有2个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法0中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
00 0
01 10
10 11
11
表5:在对具有2个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法1中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
00 11
01 10
10 0
11
表6:在对具有2个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法2中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
例如,第3组终止比特(具有3个分区的0级非终止的图案的终止比特)可被取反,并使用表7的事件图利用代理VLC进行编码。
事件 VLC
000 00
001 010
100 011
010 100
011 101
110 110
101 111
111
表7:用于对具有3个分区的0级非终止的图案的取反的终止比特进行编码的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
例如,第4组终止比特(具有3个分区的一级或更高级非终止的图案的终止比特)可被取反,并利用表8中的7种方法中产生最小比特成本的一种方法进行编码。
方法编号 VLC头部 描述
0 00 使用表9所示的事件图的代理VLC编码
1 010 使用表10所示的事件图的代理VLC编码
2 011 使用表11所示的事件图的代理VLC编码
3 100 使用表12所示的事件图的代理VLC编码
4 101 使用表13所示的事件图的代理VLC编码
5 110 使用表14所示的事件图的代理VLC编码
6 111 使用表15所示的事件图的代理VLC编码
表8:在对具有3个分区的一级或更高级非终止的图案的终止比特进行编码中使用的方法及它们的头部比特(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
000 00
001 010
100 011
010 100
011 101
110 110
101 11165 -->
111
表9:对具有3个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法0中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
000 010
001 00
100 011
010 100
011 101
110 110
101 111
111
表10:在对具有3个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法1中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
000 011
001 010
100 00
010 100
011 101
110 110
101 111
111
表11:在对具有3个分区的一级或更高级非终止的图案的反转的终止比特编码方法2中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
000 100
001 010
100 011
010 00
011 101
110 110
101 111
111
表12:在对具有3个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法3中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
000 101
001 010
100 011
010 100
011 00
110 110
101 111
111
表13:在对具有3个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法4中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
000 110
001 010
100 011
010 100
011 101
110 00
101 111
111
表14:在对具有3个分区的一级或更高级非终止的图案的取反的终止比特进行编码方法5中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
000 111
001 010
100 011
010 100
011 101
110 110
101 00
111
表15:在对具有3个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法6中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
例如,第5组终止比特(具有4个分区的0级非终止的图案的终止比特)可被取反,并利用表16中的5种方法中产生最小比特成本的一种方法进行编码。
方法编号 VLC头部 描述
0 0 所有比特均为0
1 100 利用表17所示的VLC的符号运行
2 101 利用表18所示的VLC的符号运行
3 110 利用表19所示的VLC的符号运行
4 111 使用表20所示的事件图的代理VLC编码
表16:在对具有4个分区的0级非终止的图案的终止比特进行编码中使用的方法及它们的头部比特(在使用64×64瓦片尺寸的亮度平面中)
运行 长度 编码 运行 长度 编码
0 2 11 17 6 101101
1 4 0001 18 6 100001
2 4 0101 19 7 0000001
3 4 0100 20 7 0000000
4 5 10101 21 7 1000101
5 5 10100 22 7 1000100
6 5 01101 23 7 1011000
7 5 10111 24 7 1011001
8 6 000011 25 8 10000010
9 6 011001 26 8 10001101
10 6 100110 27 8 10000011
11 6 100100 28 8 10001111
12 6 000010 29 8 10000000
13 6 100101 30 8 10000001
14 6 011000 31 8 10001110
15 6 100111 32 8 10001100
16 6 000001 ESC 4 0111
EOB 3 001
表17:在对具有4个分区的0级非终止的图案的取反的终止比特进行编码的方法1中使用的符号运行VLC表(在使用64×64瓦片尺寸的亮度平面中)
运行 长度 编码 运行 长度 编码
0 2 01 17 7 1011001
1 3 001 18 8 00000001
2 3 111 19 8 10100001
3 4 0001 20 8 1010001068 -->
4 4 1001 21 8 00000101
5 4 1100 22 8 10100011
6 4 1101 23 8 10110001
7 5 10101 24 9 101000000
8 5 10111 25 9 000000000
9 6 100000 26 9 000001001
10 6 100011 27 9 101100000
11 6 101101 28 9 000000001
12 6 101001 29 9 101000001
13 7 0000001 30 9 101100001
14 7 1000100 31 10 0000010000
15 7 0000011 32 10 0000010001
16 7 1000101 ESC 6 100001
EOB 5 00001
表18:在对具有4个分区的0级非终止的图案的取反的终止比特进行编码的方法2中使用的符号运行VLC表(在使用64×64瓦片尺寸的亮度平面中)
运行 长度 编码 运行 长度 编码
0 1 1 17 11 00000000001
1 2 01 18 11 00000001101
2 4 0001 19 12 000000000000
3 4 0011 20 12 000000000001
4 5 00001 21 12 000000011001
5 5 00101 22 14 00000001100011
6 6 000001 23 14 00000001100000
7 7 0000001 24 15 000000011000101
8 7 0010010 25 16 0000000110001001
9 7 0010011 26 17 00000001100010001
10 8 00100000 27 18 000000011000100001
11 8 00100001 28 19 0000000110001000001
12 9 000000001 29 20 00000001100010000001
13 10 0000000001 30 21 000000011000100000001
14 10 0000000111 31 22 0000000110001000000000
15 10 0000000100 32 22 0000000110001000000001
16 10 0000000101 ESC 14 00000001100001
EOB 7 0010001
表19:在对具有4个分区的0级非终止的图案的取反的终止比特进行编码的方法3中使用的符号运行VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
0000 0
0001 1000
0100 1001
0010 1010
0011 1011
0110 11000
0101 11001
0111 11010
1000 11011
1001 11100
1100 11101
1010 111100
1011 111101
1110 111110
1101 111111
1111
表20:在对具有4个分区的0级非终止的图案的取反的终止比特进行编码的方法4中使用的符号运行VLC表(在使用64×64瓦片尺寸的亮度平面中)
例如,第6组终止比特(具有4个分区的一级或更高级非终止的图案的终止比特)可被取反,并利用表21中的4种方法中产生最小比特成本的一种方法进行编码。
方法编号 VLC头部 描述
0 00 使用表22所示的事件图的代理VLC编码
1 01 使用表23所示的事件图的代理VLC编码
2 10 使用表24所示的事件图的代理VLC编码
3 11 使用表25所示的事件图的代理VLC编码
表21:在对具有4个分区的一级或更高级非终止的图案的终止比特进行编码中使用的方法及它们的头部比特(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
0000 0
0001 1000
0100 1001
0010 1010
0011 1011
0110 11000
0101 1100170 -->
0111 11010
1000 11011
1001 11100
1100 11101
1010 111100
1011 111101
1110 111110
1101 111111
1111
表22:在对具有4个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法0中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
0000 00
0001 010
0100 011
0010 100
0011 101
0110 11000
0101 11001
0111 11010
1000 11011
1001 11100
1100 11101
1010 111100
1011 111101
1110 111110
1101 111111
1111
表23:在对具有4个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法1中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
0000 00
0001 0100
0100 0101
0010 0110
0011 011171 -->
0110 1000
0101 1001
0111 1010
1000 1011
1001 1100
1100 1101
1010 11100
1011 11101
1110 11110
1101 11111
1111
表24:在对具有4个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法2中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
事件 VLC
0000 000
0001 0010
0100 0011
0010 0100
0011 0101
0110 0110
0101 0111
0111 1000
1000 1001
1001 1010
1100 1011
1010 1100
1011 1101
1110 1110
1101 1111
1111
表25:在对具有4个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法3中使用的代理VLC表(在使用64×64瓦片尺寸的亮度平面中)
例如,第7组终止比特(具有多于4个分区的任何级非终止的图案的终止比特)被未压缩地进行编码(例如,“就像是”利用位图编码)。例如,具有多于4个分区的任何级非终止的图案的终止比特基本上可以是罕见事件。
例如,在32×32像素图片部分的亮度平面中,可以使用与用于具有64×64像素图片部分的亮度平面的那些技术相同的技术对第2、第3、第4、第6和第7组终止比特进行编码。然而,可以使用不同的技术对第1和第5组终止比特进行编码。例如,在32×32像素图片部分的亮度平面中,第1组终止比特(具有2个分区的0级非终止的图案的终止比特)可被取反,并利用表26中的3种方法中产生最小比特成本的一种方法进行编码。
方法编号 VLC头部 描述
0 10 所有比特均为0
1 0 使用表27所示的事件图的代理VLC编码
2 11 利用表28所示的VLC的符号运行
表26:在对具有2个分区的0级非终止的图案的终止比特进行编码中使用的方法及它们的头部比特(在使用32×32瓦片尺寸的亮度平面中)
事件 VLC
00 0
01 10
10 11
11
表27:在对具有2个分区的0级非终止的图案的取反的终止比特进行编码的方法3中使用的代理VLC表(在使用32×32瓦片尺寸的亮度平面中)
运行 长度 编码 运行 长度 编码
0 2 11 17 6 101101
1 4 0001 18 6 100001
2 4 0101 19 7 0000001
3 4 0100 20 7 0000000
4 5 10101 21 7 1000101
5 5 10100 22 7 1000100
6 5 01101 23 7 1011000
7 5 10111 24 7 1011001
8 6 000011 25 8 10000010
9 6 011001 26 8 10001101
10 6 100110 27 8 10000011
11 6 100100 28 8 10001111
12 6 000010 29 8 10000000
13 6 100101 30 8 10000001
14 6 011000 31 8 10001110
15 6 100111 32 8 10001100
16 6 000001 ESC 4 0111
EOB 3 001
表28:在对具有2个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法2中使用的符号运行VLC表(在使用32×32瓦片尺寸的亮度平面中)
例如,在32×32像素图片部分的亮度平面中,第5组终止比特(具有4个分区的0级非终止的图案的终止比特)可被取反,并利用表29中的3种方法中产生最小比特成本的一种方法进行编码。
方法编号 VLC头部 描述
0 10 所有比特均为0
1 0 使用表30所示的事件图的代理VLC编码
2 11 利用表31所示的VLC的符号运行
表29:在对具有4个分区的0级非终止的图案的终止比特进行编码中使用的方法及它们的头部比特(在使用32×32瓦片尺寸的亮度平面中)
事件 VLC
0000 0
0001 1000
0010 1001
0011 1010
0100 1011
0101 11000
0110 11001
0111 11010
1000 11011
1001 11100
1010 11101
1011 111100
1100 111101
1101 111110
1110 111111
1111
表30:在对具有4个分区的0级非终止的图案的取反的终止比特进行编码的方法1中使用的代理VLC表(在使用32×32瓦片尺寸的亮度平面中)
运行 长度 编码 运行 长度 编码
0 2 11 17 6 101101
1 4 0001 18 6 100001
2 4 0101 19 7 0000001
3 4 0100 20 7 000000074 -->
4 5 10101 21 7 1000101
5 5 10100 22 7 1000100
6 5 01101 23 7 1011000
7 5 10111 24 7 1011001
8 6 000011 25 8 10000010
9 6 011001 26 8 10001101
10 6 100110 27 8 10000011
11 6 100100 28 8 10001111
12 6 000010 29 8 10000000
13 6 100101 30 8 10000001
14 6 011000 31 8 10001110
15 6 100111 32 8 10001100
16 6 000001 ESC 4 0111
EOB 3 001
表31:在对具有4个分区的一级或更高级非终止的图案的取反的终止比特进行编码的方法2中使用的符号运行VLC表(在使用32×32瓦片尺寸的亮度平面中)
例如,在色度平面中,所述终止比特可被累积并如下被分成5个不同的组:
表C:示例性色度平面终止比特分组
例如,在色度平面中,可使用表32所示的事件图采用代理VLC编码对第1组终止比特(具有2个分区的0级非终止的图案的终止比特)进行编码。
事件 VLC
00
01 10
10 11
11 0
表32:在对具有2个分区的0级非终止的图案的终止比特进行编码中使用的代理VLC表(在使用32×32瓦片尺寸的色度平面中(亮度64×64))
例如,在色度平面中,第2组终止比特(具有2个分区的一级或更高级非终止的图案的终止比特)可利用表33中的2种方法中产生最小比特成本的一种方法进行编码。
方法编号 VLC头部 描述
0 0 使用表34所示的事件图的代理VLC编码
1 1 使用表35所示的事件图的代理VLC编码
表33:在对具有2个分区的一级或更高级非终止的图案终止比特进行编码中使用的方法及它们的头部比特(在使用32×32瓦片尺寸的色度平面中(亮度64×64))
事件 VLC
00
01 0
10 10
11 11
表34:在对具有2个分区的一级或更高级非终止的图案的终止比特进行编码中使用的代理VLC表(在色度平面中)
事件 VLC
00
01 10
10 0
11 11
表35:在对具有2个分区的一级或更高级非终止的图案的终止比特进行编码中使用的代理VLC表(在使用32×32瓦片尺寸的色度平面中(亮度64×64))
例如,在色度平面中,第3组终止比特(具有3个分区的非终止的图案的终止比特)是使用表36所示的事件图采用代理VLC编码而进行编码的。
事件 VLC
000
001 010
010 011
011 100
100 00
101 101
110 110
111 111
表36:在对具有3个分区的非终止的图案的终止比特进行编码中使用的代理VLC表(在使用32×32瓦片尺寸的色度平面中(亮度64×64))
例如,在色度平面中,第4组终止比特(具有4个分区的非终止的图案的终止比特)可使用表37所示的事件图采用代理VLC编码进行编码。
事件 VLC
0000
0001 11111100
0010 11111101
0011 1111000
0100 11111110
0101 1111001
0110 1111011
0111 101
1000 11111111
1001 1111010
1010 1111100
1011 1110
1100 1111101
1101 110
1110 100
1111 0
表37:在对具有3个分区的的非终止的图案的终止比特进行编码中使用的代理VLC表(在使用32×32瓦片尺寸的色度平面中(亮度64×64))
例如,在色度平面中,第5组终止比特(具有多于4个分区的任何级非终止的图案的终止比特)可被未压缩地进行编码(例如,“就像是”位图)。例如,具有多于4个分区的任何级非终止的图案的终止比特基本上可以是罕见事件。
如所讨论的,终止比特可以被分成第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特。可以通过取反所述第一到第七组终止比特中的至少一组对所述终止比特进行熵编码,并基于来自多个可变长度编码表的给出针对取反的终止比特分组的最小比特成本的所选择的可变长度编码表进行熵编码,生成与所选择的可变长度编码表相关联的可变长度编码表头部,并将所述可变长度编码表头部和熵编码的取反的终止比特分组写入比特流中。
在一些示例中,可基于亮度图片部分分区对色度图片部分分区进行编码。例如,后续的比特可描述色度图片部分分区可以从相对应的亮度图片部分的分区复制还是色度图片部分分区可被明确指定(例如,色度图片部分分区是不同的,且不可复制)。例如,后续比特“1”可指示色度中特定图片部分分区是否可被复制以供色度使用,并且具有“0”值的后续比特可指示色度图片部分分区的分区信息通过比特流明确地发送。
在一些示例中,可利用位图或符号运行VLC直接对U色度平面后续比特进行编码,并且根据具有预测差异(例如,校正V色度平面后续比特预测的比特)的U平面而预测V色度平面后续比特,其中是利用位图或符号运行VLC对预测差异进行编码。
例如,用于进行编码的输入数据可以包括定义了视频帧的亮度分区和色度分区的亮度数据和色度数据。如所讨论的,可以生成用于视频帧的后续比特。对于视频帧的图片部分,所述后续比特可指示,色度分区与亮度分区相匹配(例如,比特“1”)或是色度分区与亮度分区不匹配(例如,比特“0”)。可从位图编码或符号运行可变长度编码中来确定针对后续比特的所选择的编码技术,并可生成指示出编码技术的后续比特的所选择的编码技术头部。可基于所选择的编码技术对后续比特进行熵编码,并将其写入比特流中。
在一些示例中,输入数据可包括定义了亮度分区的亮度数据,以及定义了针对视频帧的U平面色度分区和V平面色度分区的色度数据。可针对视频帧而生成U平面后续比特,使得对于视频帧的图片部分,所述后续比特可指示,所述U平面色度分区与所述亮度分区相匹配(例如,比特“1”)还是所述U平面色度分区与所述亮度分区不匹配(例如,比特“0”)。此外,可针对视频帧而生成V平面后续比特,使得对于视频帧的图片部分,所述后续比特可指示,所述V平面色度分区与所述亮度分区相匹配(例如,比特“1”)还是所述V平面色度分区与所述亮度分区不匹配(例如,比特“0”)。可从位图编码或符号运行可变长度编码中确定针对U平面后续比特选择的编码技术,并可生成指示了编码技术的U平面后续比特选择的编码技术头部。此外,可基于U平面后续比特确定V平面预测的后续比特。例如,所述V平面预测的后续比特可与所述U平面后续比特相匹配。可以确定所述V平面后续比特与所述V平面预测的后续比特的差异,以生成V平面差异后续比特。可从位图编码或符号运行可变长度编码中确定用于V平面差异后续比特的V平面差异后续比特选择的编码技术,并可生成指示出所选择的编码技术的V平面差异后续比特选择的编码技术头部。可基于所选择的编码技术对所述U平面后续比特和V平面差异后续比特进行熵编码,并可以将U平面后续比特选择的编码技术头部、V平面差异后续比特选择的编码技术头部、熵编码的U平面后续比特、以及熵编码的V平面差异后续比特写入比特流中。
如在本申请中所讨论的,可基于单个(平均)VLC表或选择性地基于两个(例如,低复杂度和高复杂度)VLC表(或更多个)对多级图案中的图案进行熵编码。当两个或更多个表可用时,它们可被自动或自适应地选择。基于可用的VLC表或多个VLC表,可针对(多级图案中的)每个图案确定熵编码的码字,并将该熵编码的码字写入比特流中。表D提供了用于VLC类型的示例性列表的关键字。在表D中,“VLC类型”列提供如在本申请中所讨论的示例性VLC类型、模式等,并且“T”列提供用于表38(a)-(e)的关键字,使得在表38(a)-(e)中,“T”下的列表表示由表D中的“VLC类型”提供的描述。本申请中所描述的码本可被共同实现或它们可被单独实现。此外,如所描述的,与单个码本相比,多级图案的实施方式可限制码本内条目的数目。所提供的示例性码本用于表示亮度。在一些示例中,具有相同或相似数目条目的色度表也可被实现。
表D:用于以下的表38(a)-(e)的关键字以及VLC类型的示例性描述
在以下的表38(a)-(e)中,提供了示例性码本或码本部分。在示例中,在第一列中提供了码本的(例如,分区的)可视图案。在可视图案的左下方提供了可视图案的索引值,并且在右下方提供了分区的数目。在其他列中,例如,提供了与表D中提供的“VLC类型”相对应的熵编码的码字(例如,“a”对应于VLC类型“用于终止的图案的平均VLC表”,“b”对应于VLC类型“用于非终止的图案的平均VLC表”,等等)。在表中,头部“T”表示“VLC类型”。此外,在头部“L”下给出了值,该值为码字的长度。所提供的码本是示例性的,并且在一些情况下,为简单起见,是部分的。
表38(a):针对64×64图案的亮度64×64图片部分码本
表38(b):针对64×64图案的亮度64×64图片部分码本
表38(c):针对32×16图案的亮度64×64瓦片码本(部分的)
表38(d):针对32×8图案的亮度64×64瓦片码本(部分的)
表38(e):针对32×8图案的亮度64×64瓦片码本(部分的)
如参照图16所讨论的,示例性视频编码系统1600可以包括成像设备1601、视频编码器100和/或通过处理单元1620的逻辑电路1650实现的视频编码器、天线1602、视频解码器200和/或通过处理单元1620的逻辑电路1650实现的视频解码器、天线1602、一个或多个处理器1603、一个或多个存储器存储设备1604、和/或显示设备1605。
在一些示例中,通过逻辑电路1650实现的视频编码器100可以包括图像缓冲器(例如,通过处理单元1620或存储器存储设备1604)和图形处理单元(例如,通过处理单元1620)。图形处理单元可以可通信地耦合到图像缓冲器。图形处理单元可以包括通过逻辑电路1650实现的视频编码器100,以实施如关于图1以及图4、6以及本申请中其它部分所讨论的各个模块。例如,图形处理单元可以包括熵编码器逻辑电路等。该逻辑电路可以被配置为执行如本申请中所讨论的各种操作。例如,熵编码器逻辑电路可以被配置为加载定义了视频帧的图片部分的分区的输入数据;确定针对第一图片部分的多级图案,使得该多级图案可包括从多个可用图案中选择出的基本图案以及从多个可用图案中选择出的、针对该基本图案的至少一个非终止的部分的至少一个一级图案;确定指示出视频帧的图片部分的图案级的终止的终止比特,使得所述终止比特可包括与多级图案中的基本图案以及第一图片部分相关联的第一终止比特;确定与所述基本图案相关联的第一熵编码的码字以及与一级图案相关联的第二熵编码的码字;对所述终止比特进行熵编码;并将所述第一熵编码的码字、第二熵编码的码字、以及熵编码的终止比特写入比特流中。
在一些示例中,视频编码系统1600的天线1602可以被配置为接收视频数据的熵编码的比特流。如所讨论的,所述比特流可以包括不同类型的压缩的视频数据。视频编码系统1600还可以包括耦合至天线1602并被配置为对编码的比特流进行解码的视频解码器200。例如,视频解码器200被配置为对编码的比特流进行解码,以基于编码的比特流中的第一熵编码的码字来确定针对视频帧的第一图片部分的多级图案中的基本图案、并且基于编码的比特流中的第二熵编码的码字来确定多级图案中的一级图案,以及指示出所述视频帧的图片部分的图案级的终止的终止比特,并基于解码的基本图案、一级图案、以及终止比特来重建第一图片部分的第一分区。
虽然已经参照各种实施方式描述了本申请中所阐述的某些特征,但这些描述并不意在被解释为限制性的。因此,对本申请中所描述实施方式的以及其它实施方式的各种修改是对本公开内容所属的领域的技术人员来说显而易见的,并且被认为落在本公开的精神和范围内。
下面的示例涉及进一步的实施例。
在一个示例中,一种计算机实现的用于进行视频编码的方法可以包括加载定义了视频帧的图片部分的分区的输入数据,确定针对第一图片部分的多级图案,使得所述多级图案可包括从多个可用图案中选择出的基本图案以及从多个可用图案中选择出的至少一个一级图案,确定指示出所述视频帧的所述图片部分的图案级的终止的终止比特,使得所述终止比特可包括与所述多级图案中的所述基本图案以及所述第一图片部分相关联的第一终止比特,确定与所述基本图案相关联的第一熵编码的码字以及与所述一级图案相关联的第二熵编码的码字,对所述终止比特进行熵编码,并将所述第一熵编码的码字、所述第二熵编码的码字、以及该熵编码的终止比特写入比特流中。
在另一个示例中,一种计算机实现的用于进行视频编码的方法可进一步包括从第一可变长度编码表选择模式和第二可变长度编码表选择模式中确定针对视频帧、视频帧的片、或视频帧的序列中的至少一个的可变长度编码表选择模式,其中,在所述第一可变长度编码表选择模式中,使用单个可变长度编码表以确定针对所述视频帧的每个图片部分的熵编码的码字,并且在所述第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中选择出针对所述视频帧的每个图片部分的基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表而确定针对相关联的图片部分的熵编码的码字,并将终止比特分组为第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特。对所述终止比特进行熵编码可以包括取反所述第一组到第七组终止比特中的至少一组,并基于来自多个可变长度编码表中的给出针对取反的终止比特组的最小比特成本的所选择的可变长度编码表对所述取反的终止比特组进行熵编码,生成与所述所选择的可变长度编码表相关联的可变长度编码表头部,并将所述可变长度编码表头部和熵编码的取反的终止比特组写入比特流中。第一可变长度编码表和第二可变长度编码表可选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且所述方法进一步包括从自动切换模式或自适应切换模式中的至少一个中确定用于针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式,并且使得如果量化器值小于预先确定的阈值,则所述自适应切换模式为所述所选择的切换模式。第一可变长度编码表和第二可变长度编码表可选择性的用于确定针对所述视频帧的图片部分的熵编码的码字,使得可基于对第一图片部分的复杂度的预测而针对所述第一图片部分从所述第一可变长度编码表或所述第二可变长度编码表中的至少一个中自动地确定第一所选择的可变长度编码表。高复杂度可变长度编码表和低复杂度可变长度编码表可选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,使得可基于对第一图片部分的复杂度的预测而针对所述第一图片部分从所述高复杂度可变长度编码表和所述低复杂度可变长度编码表中自动地确定第一所选择的可变长度编码表。对所述第一图片部分的复杂度的预测可以包括确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用所述高复杂度可变长度编码表,而当所述划分的数目等于或低于所述阈值时,使用低复杂度可变长度编码表。第一可变长度编码表和第二可变长度编码表可选择性的用于确定针对所述视频帧的图片部分的熵编码的码字,使得可针对所述第一图片部分而从所述第一可变长度编码表和所述第二可变长度编码表中确定第一所选择的可变长度编码表,并且所述方法可以进一步包括从所述第一可变长度编码表和所述第二可变长度编码表中确定针对所述视频帧的图片部分的所选择的可变长度编码表,生成针对所述视频帧的自适应切换掩码,使得所述自适应切换掩码可包括指示出针对所述图片部分的所述所选择的可变长度编码表的指示符,并且对所述自适应切换掩码进行熵编码并写入比特流中。第二熵编码的码字可指示一级图案为终止的图案。所述图片部分可为64×64像素,并且所述方法可以进一步包括生成图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,其每一个均指示出相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区,确定是使用符号运行编码方法还是位图编码方法对所述图片部分的二进制掩码进行编码,生成图片部分编码方法指示符的二进制掩码,基于所选择的编码方法对所述图片部分的二进制掩码进行熵编码,并将所述图片部分编码方法指示符的二进制掩码和熵编码的图片部分的二进制掩码写入比特流中。输入数据可以包括定义了亮度分区和色度分区的亮度数据和色度数据,并且所述方法可以进一步包括生成针对所述视频帧的后续比特,使得对于所述视频帧的图片部分,所述后续比特指示所述色度分区与所述亮度分区相匹配或是所述色度分区与所述亮度分区不匹配中的至少一个,从位图编码或符号运行可变长度编码中的至少一个中确定针对所述后续比特的后续比特选择的编码技术,生成指示所述出位图编码或所述符号运行可变长度编码中的至少一个的后续比特选择的编码技术头部,基于所选择的编码技术对所述后续比特进行熵编码,并将所述后续比特选择的编码技术和熵编码的后续比特写入比特流中。所述输入数据可包括定义了亮度分区的亮度数据,以及定义了U平面色度分区和V平面色度分区的色度数据,并且所述方法可以进一步包括针对视频帧生成U平面后续比特,使得对于所述视频帧的图片部分,所述U平面后续比特指示所述U平面色度分区与所述亮度分区相匹配或所述U平面色度分区与所述亮度分区中的至少一个不匹配,生成针对所述视频帧的V平面后续比特,使得对于所述视频帧的图片部分,所述V平面后续比特指示所述V平面色度分区与所述亮度分区相匹配或是所述V平面色度分区与所述亮度分区不匹配中的至少一个,从位图编码或符号运行可变长度编码中的至少一个中确定针对U平面后续比特的U平面后续比特选择的编码技术、以及指示出所述位图编码或所述符号运行可变长度编码中的至少一个的U平面后续比特选择的编码技术头部,至少部分地基于所述U平面后续比特而生成V平面预测的后续比特,确定所述V平面后续比特与所述V平面预测的后续比特的差异以生成V平面差异后续比特,从位图编码或符号运行可变长度编码中的至少一个中确定针对所述V平面差异后续比特的V平面差异后续比特选择的编码技术、以及指示出所述位图编码或符号运行可变长度编码中的至少一个的V平面差异后续比特选择的编码技术头部,基于所选择的编码技术对所述U平面后续比特和所述V平面差异后续比特进行熵编码,并将所述U平面后续比特选择的编码技术头部、所述V平面差异后续比特选择的编码技术头部、熵编码的U平面后续比特、以及熵编码的V平面差异后续比特写入比特流中。所述输入数据可包括亮度数据或色度数据中的至少一种。所述视频帧可包括I图片,并且其中所述第一图片部分包括所述视频帧的瓦片。所述视频帧可包括I图片并且所述第一图片部分可包括所述视频帧的瓦片,并且其中所述分区包括k-d树分区。所述视频帧可包括P图片或B/F图片中的至少一种,并且所述图片部分可包括所述视频帧的瓦片的分区。所述分区可包括k-d树分区、二叉树分区、四叉树分区、或结构化的码本分区中的至少一种。所述图片部分可包括瓦片、最大编码单元、或超块中的至少一种。所述终止比特可与视频帧、所述视频帧的瓦片、或视频帧的序列中的至少一个相关联。多个可用图案可包括可用图案的码本。
在其它示例中,视频编码器可以包括图像缓冲器和具有熵编码器逻辑电路的图形处理单元。图形处理单元可以通信地耦合到图像缓冲器,并且熵编码器逻辑电路可以被配置为加载定义了视频帧的图片部分的分区的输入数据,确定针对第一图片部分确定多级图案,使得所述多级图案可包括从多个可用图案中选择出的基本图案,以及从针对所述基本图案的至少一个非终止的部分的多个可用图案中选择出的至少一个一级图案,确定指示出实施视频帧的所述图片部分的图案级的终止的终止比特,使得所述终止比特包括与所述多级图案的基本图案以及所述第一图片部分相关联的第一终止比特,确定与所述基本图案相关联的第一熵编码的码字以及与所述一级图案相关联的第二熵编码的码字,对所述终止比特进行熵编码,并将第一熵编码的码字、第二熵编码的码字、以及熵编码的终止比特写入比特流中。
在进一步的示例性视频编码器中,熵编码器逻辑电路可进一步被配置为从第一可变长度编码表选择模式和第二可变长度编码表选择模式中的至少一个中确定针对视频帧、视频帧的片或视频帧的序列中的至少一个的可变长度编码表选择模式,其中,在第一可变长度编码表选择模式中使用单个可变长度编码表以确定针对所述视频帧的每个图片部分的熵编码的码字,并且在所述第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中选择出针对所述视频帧的每个图片部分的基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表而确定针对相关联的图片部分的熵编码的码字,从自动切换模式或自适应切换模式中的至少一个中确定用于针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式,使得如果量化器值小于预先确定的阈值,则所述自适应切换模式为所述所选择的切换模式,并将终止比特分组为第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特。对所述终止比特进行熵编码可以包括所述熵编码器逻辑被配置为取反第一组到第七组终止比特中的至少一组,并且基于来自多个可变长度编码表中的给出针对取反的终止比特组的最小比特成本的所选择的可变长度编码表对所述取反的终止比特组进行熵编码,生成与所选择的可变长度编码表相关联的可变长度编码表头部,并将所述可变长度编码表头部和熵编码的取反的终止比特组写入比特流中。高复杂度可变长度编码表和低复杂度可变长度编码表可选择性的用于确定针对所述视频帧的图片部分的熵编码的码字,并且所述熵编码器逻辑电路可被配置为基于对第一图片部分的复杂度的预测而从所述高复杂度可变长度编码表和所述低复杂度可变长度编码表中自动地确定第一所选择的可变长度编码表,并且使得确定对所述第一图片部分的复杂度的预测可以包括所述熵编码器逻辑被配置为确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用所述高复杂度可变长度编码表,而当所述划分的数目等于或低于所述阈值时,使用所述低复杂度可变长度编码表。第一可变长度编码表和第二可变长度编码表可选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且所述熵编码器逻辑电路可进一步被配置为针对所述视频帧的图片部分从所述第一可变长度编码表和所述第二可变长度编码表中确定所选择的可变长度编码表,生成针对所述视频帧的自适应切换掩码,使得所述自适应切换掩码包括指示出针对所述图片部分的所选择的可变长度编码表的指示符,并且对所述自适应切换掩码进行熵编码并将其写入比特流中。第二熵编码的码字可指示一级图案为终止的图案。所述图片部分可包括64×64像素,并且所述熵编码器逻辑电路可进一步被配置为生成图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,其每一个均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区,确定是使用符号运行编码方法还是位图编码方法对所述图片部分的二进制掩码进行编码,生成图片部分编码方法指示符的二进制掩码,基于所选择的编码方法对所述图片部分的二进制掩码进行熵编码,并将所述图片部分编码方法指示符的二进制掩码和熵编码的图片部分的二进制掩码写入比特流中。输入数据可以包括定义了亮度分区和色度分区的亮度数据和色度数据,并且所述熵编码器逻辑电路可进一步被配置为生成针对所述视频帧的后续比特,使得对于所述视频帧的图片部分,所述后续比特指示所述色度分区与所述亮度分区相匹配或是所述色度分区与所述亮度分区不匹配中的至少一个,从位图编码或符号运行可变长度编码中的至少一种确定针对所述后续比特的后续比特选择的编码技术,生成指示出所述位图编码或所述符号运行可变长度编码中的至少一个的后续比特选择的编码技术头部,基于所选择的编码技术对所述后续比特进行熵编码,并将所述后续比特选择的编码技术和熵编码的后续比特写入比特流中。所述输入数据可包括定义了亮度分区的亮度数据,以及定义了U平面色度分区和V平面色度分区的色度数据,并且所述熵编码器逻辑电路可进一步被配置为生成针对所述视频帧的U平面后续比特,使得对于所述视频帧的图片部分,所述U平面后续比特指示所述U平面色度分区与所述亮度分区相匹配或是所述U平面色度分区与所述亮度分区不匹配中的至少一个,生成针对所述视频帧的V平面后续比特,使得对于所述视频帧的图片部分,所述V平面后续比特指示所述V平面色度分区与所述亮度分区相匹配或是所述V平面色度分区与所述亮度分区不匹配中的至少一个,从位图编码或符号运行可变长度编码中的至少一个确定中针对所述U平面后续比特的U平面后续比特选择的编码技术、以及指示出实施位图编码或实施符号运行可变长度编码中的至少一个的U平面后续比特选择的编码技术头部,至少部分地基于所述U平面后续比特而生成V平面预测的后续比特,确定所述V平面后续比特与V平面预测的后续比特的差异以生成V平面差异后续比特,从位图编码或符号运行可变长度编码中的至少一个中确定针对所述V平面差异后续比特的V平面差异后续比特选择的编码技术、以及指示出所述位图编码或符号运行可变长度编码中的至少一个的V平面差异后续比特选择的编码技术头部,基于所选择的编码技术对所述U平面后续比特和所述V平面差异后续比特进行熵编码,并将所述U平面后续比特选择的编码技术头部、所述V平面差异后续比特选择的编码技术头部、熵编码的U平面后续比特、以及熵编码的V平面差异后续比特写入比特流中。所述视频帧可包括I图片,并且其中所述第一图片部分包括所述视频帧的瓦片。所述视频帧可包括I图片并且所述第一图片部分可包括所述视频帧的瓦片,并且其中所述分区包括k-d树分区。所述视频帧可包括P图片或B/F图片中的至少一种,并且所述图片部分可包括所述视频帧的瓦片的分区。所述分区可包括k-d树分区、二叉树分区、四叉树分区、或结构化的码本分区中的至少一种。所述图片部分可包括瓦片、最大编码单元、或超块中的至少一种。所述终止比特可与视频帧、视频帧的瓦片或视频帧的序列中的至少一个相关联。所述多个可用图案可包括可用图案的码本。
在又一示例中,系统可包括视频解码器,其被配置为用于对编码的比特流进行解码。所述视频解码器被配置为对编码的比特流进行解码,以基于在编码的比特流中的第一熵编码的码字而确定针对视频帧的第一图片部分的多级图案中的基本图案,并基于编码的比特流中的第二熵编码的码字而确定多级图案中的一级图案,以及指示出所述视频帧的图片部分的图案级的终止的终止比特,并基于解码的基本图案、一级图案、以及终止比特来重建第一图片部分的第一分区。
在又一示例性系统中,所述系统还包括被配置为接收所述编码的比特流的天线以及被配置为呈现视频帧的显示设备。为对编码的比特流进行解码可进一步包括视频解码器被配置为从第一可变长度编码表选择模式和第二可变长度编码表选择模式中的至少一个中针对视频帧、视频帧的片或视频帧序列中的至少一个而确定可变长度编码表选择模式指示符,该可变长度编码表选择模式指示符指示出可变长度编码表选择模式,其中,在第一可变长度编码表选择模式中使用单个可变长度编码表以确定针对所述视频帧的每个图片部分的熵编码的码字,并且在所述第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中选择出针对所述视频帧的每个图片部分的基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表对针对相关联的图片部分的熵编码的码字进行熵解码。第一可变长度编码表和第二可变长度编码表可选择性地用于对所述视频帧的图片部分的熵编码的码字进行熵解码,并且编码的比特流进行解码进一步包括所述视频解码被配置为从自动切换模式或自适应切换模式中的至少一个中确定用于针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式。第一可变长度编码表和第二可变长度编码表可选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,并且所述视频解码器进一步被配置为基于对第一图片部分的复杂度的预测从高复杂度可变长度编码表和低复杂度可变长度编码表中的至少一个中自动地确定第一所选择的可变长度编码表,使得对所述第一图片部分的复杂度的预测可以包括所述视频解码器被配置为确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用高复杂度可变长度编码表,而当所述划分的数目等于或低于所述阈值时,使用低复杂度可变长度编码表。第一可变长度编码表和第二可变长度编码表可选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,并且对编码的比特流进行解码可以进一步包括实施视频解码器被配置为确定针对所述视频帧的自适应切换掩码,使得所述自适应切换掩码可包括对针对所述第一图片部分的第一所选择的可变长度编码表的指示。第二熵编码的码字可指示所选择的一级图案为终止的图案。所述第一图片部分可为64×64像素,并且对编码的比特流进行解码进一步包括所述视频解码器被配置为确定图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,其每一个均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区。所述视频解码器可进一步被配置为基于对终止比特的分组而对所述终止比特进行熵解码,所述终止比特被分成第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特,并基于对所述终止比特的分组而对所述终止比特进行熵解码,其中,对所述终止比特进行熵解码包括所述视频解码器被配置为确定与第一组终止比特相关联的可变长度编码表头部,并基于所述可变长度编码表头部根据所选择的可变长度编码表而对所述第一组终止比特进行解码。所述多级图案可包括亮度图案,并且对编码的比特流进行解码可进一步包括所述视频解码器被配置为确定针对所述视频帧的后续比特,并且所述视频解码器可进一步被配置为至少部分地基于所解码的后续比特而确定针对所述第一图片部分的色度图案与亮度图案相匹配。
在又一示例中,至少一种机器可读介质可包括:多个指令,其响应于在计算设备上被执行,使得所述计算设备根据上述示例中的任意一个执行所述方法。
在又一示例中,一种装置可包括用于根据上述示例中的任意一个执行所述的方法的单元。
上述的示例可以包括特征的特定组合。然而,这样的上述示例在该方面不受限制,且在各个实施方式中,上述的示例可以包括仅采用这样的特征的子集、采用不同顺序的这样的特征、采用这样的特征的不同组合、和/或采用与明确列出的那些特征不同的另外的特征。例如,可以关于示例性的装置、示例性系统、和/或示例性制品来实现关于示例性方法描述的所有特征,且反之亦然。

Claims (57)

1.一种计算机实现的用于进行视频编码的方法,包括:
加载定义了视频帧的图片部分的分区的输入数据;
确定针对第一图片部分的多级图案,其中,所述多级图案包括从多个可用图案中选择的基本图案以及从所述多个可用图案中选择的、针对所述基本图案的至少一个非终止的部分的至少一个一级图案;
确定指示所述视频帧的所述图片部分的图案级的终止的终止比特,其中,所述终止比特包括与所述多级图案中的所述基本图案以及所述第一图片部分相关联的第一终止比特;
确定与所述基本图案相关联的第一熵编码的码字以及与所述一级图案相关联的第二熵编码的码字;
对所述终止比特进行熵编码;并且
将所述第一熵编码的码字、所述第二熵编码的码字、以及熵编码的终止比特写入到比特流中。
2.根据权利要求1所述的方法,进一步包括:
从第一可变长度编码表选择模式和第二可变长度编码表选择模式中的至少一个中确定针对所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个的可变长度编码表选择模式,其中,在所述第一可变长度编码表选择模式中,使用单个可变长度编码表以用于确定针对所述视频帧的每个图片部分的熵编码的码字,并且在所述第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中针对所述视频帧的每个图片部分而选择基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表以用于确定针对相关联的图片部分的熵编码的码字。
3.根据权利要求1所述的方法,其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,所述方法进一步包括:
从自动切换模式或自适应切换模式中的至少一个中确定用于针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式。
4.根据权利要求1所述的方法,其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,所述方法进一步包括:
从自动切换模式或自适应切换模式中的至少一个中确定用于针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式,并且其中,如果量化器值小于预先确定的阈值,则所述自适应切换模式为所述所选择的切换模式。
5.根据权利要求1所述的方法,其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,基于对所述第一图片部分的复杂度的预测而针对所述第一图片部分从所述第一可变长度编码表或所述第二可变长度编码表中的至少一个中自动地确定第一所选择的可变长度编码表。
6.根据权利要求1所述的方法,其中,高复杂度可变长度编码表和低复杂度可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,基于对所述第一图片部分的复杂度的预测而针对所述第一图片部分从所述高复杂度可变长度编码表和所述低复杂度可变长度编码表中自动地确定第一所选择的可变长度编码表,并且其中,对所述第一图片部分的复杂度的预测包括确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用所述高复杂度可变长度编码表,且当所述划分的数目等于或低于所述阈值时,使用所述低复杂度可变长度编码表。
7.根据权利要求1所述的方法,其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,其中,从所述第一可变长度编码表和所述第二可变长度编码表中确定针对所述第一图片部分的第一所选择的可变长度编码表,并且其中,所述方法进一步包括:
生成针对所述视频帧的自适应切换掩码,其中,所述自适应切换掩码包括针对所述第一图片部分的所述第一所选择的可变长度编码表的指示。
8.根据权利要求1所述的方法,其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,所述方法进一步包括:
从所述第一可变长度编码表和所述第二可变长度编码表中确定针对所述视频帧的图片部分的所选择的可变长度编码表;
生成针对所述视频帧的自适应切换掩码,其中,所述自适应切换掩码包括指示针对所述图片部分的所述所选择的可变长度编码表的指示符;并且
对所述自适应切换掩码进行熵编码并将其写入到所述比特流中。
9.根据权利要求1所述的方法,其中,所述第二熵编码的码字指示所述一级图案为终止的图案。
10.根据权利要求1所述的方法,其中,所述图片部分包括64×64像素,所述方法进一步包括:
生成图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,每一个二进制指示符均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区;并且
对所述图片部分的二进制掩码进行熵编码并将其写入到所述比特流中。
11.根据权利要求1所述的方法,其中,所述图片部分包括64×64像素,所述方法进一步包括:
生成图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,每一个二进制指示符均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区;
确定是使用符号运行编码方法还是位图编码方法来对所述图片部分的二进制掩码进行编码;
生成图片部分编码方法指示符的二进制掩码;
基于所选择的编码方法对所述图片部分的二进制掩码进行熵编码;并且
将所述图片部分编码方法指示符的二进制掩码和熵编码的图片部分的二进制掩码写入到所述比特流中。
12.根据权利要求1所述的方法,进一步包括:
将所述终止比特分组为:第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特。
13.根据权利要求1所述的方法,进一步包括:
将所述终止比特分组为:第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特,
其中,对所述终止比特进行熵编码包括:
对第一组到第七组终止比特中的至少一组取反,并基于来自多个可变长度编码表中的给出针对取反的终止比特组的最小比特成本的所选择的可变长度编码表来对所述取反的终止比特组进行熵编码;
生成与所述所选择的可变长度编码表相关联的可变长度编码表头部;并且
将所述可变长度编码表头部和熵编码的取反的终止比特组写入到所述比特流中。
14.根据权利要求1所述的方法,其中,所述输入数据包括定义了亮度分区和色度分区的亮度数据和色度数据,所述方法进一步包括:
生成针对所述视频帧的后续比特,其中,对于所述视频帧的图片部分,所述后续比特指示所述色度分区与所述亮度分区相匹配或所述色度分区与所述亮度分区不匹配中的至少一个。
15.根据权利要求1所述的方法,其中,所述输入数据包括定义了亮度分区和色度分区的亮度数据和色度数据,所述方法进一步包括:
生成针对所述视频帧的后续比特,其中,对于所述视频帧的图片部分,所述后续比特指示所述色度分区与所述亮度分区相匹配或所述色度分区与所述亮度分区不匹配中的至少一个;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述后续比特的后续比特选择的编码技术;
生成指示所述位图编码或所述符号运行可变长度编码中的至少一个的后续比特选择的编码技术头部;
基于所选择的编码技术对所述后续比特进行熵编码;并且
将所述后续比特选择的编码技术和熵编码的后续比特写入到所述比特流中。
16.根据权利要求1所述的方法,其中,所述输入数据包括定义了亮度分区的亮度数据,以及定义了U平面色度分区和V平面色度分区的色度数据,所述方法进一步包括:
生成针对所述视频帧的U平面后续比特,其中,对于所述视频帧的图片部分,所述U平面后续比特指示所述U平面色度分区与所述亮度分区相匹配或所述U平面色度分区与所述亮度分区不匹配中的至少一个;
生成针对所述视频帧的V平面后续比特,其中,对于所述视频帧的图片部分,所述V平面后续比特指示所述V平面色度分区与所述亮度分区相匹配或所述V平面色度分区与所述亮度分区不匹配中的至少一个;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述U平面后续比特的U平面后续比特选择的编码技术,并且确定指示所述位图编码或所述符号运行可变长度编码中的至少一个的U平面后续比特选择的编码技术头部;
至少部分地基于所述U平面后续比特而生成V平面预测的后续比特;
确定所述V平面后续比特与所述V平面预测的后续比特的差异,以生成V平面差异后续比特;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述V平面差异后续比特的V平面差异后续比特选择的编码技术,并且确定指示所述位图编码或所述符号运行可变长度编码中的至少一个的V平面差异后续比特选择的编码技术头部;
基于所选择的编码技术对所述U平面后续比特和所述V平面差异后续比特进行熵编码;并且
将所述U平面后续比特选择的编码技术头部、所述V平面差异后续比特选择的编码技术头部、熵编码的U平面后续比特、以及熵编码的V平面差异后续比特写入到所述比特流中。
17.根据权利要求1所述的方法,其中,所述输入数据包括亮度数据或色度数据中的至少一种。
18.根据权利要求1所述的方法,其中,所述视频帧包括I图片,并且其中,所述第一图片部分包括所述视频帧的瓦片。
19.根据权利要求1所述的方法,其中,所述视频帧包括I图片,其中,所述第一图片部分包括所述视频帧的瓦片,并且其中,所述分区包括k-d树分区。
20.根据权利要求1所述的方法,其中,所述视频帧包括P图片或B/F图片中的至少一种,并且其中,所述图片部分包括所述视频帧的瓦片的分区。
21.根据权利要求1所述的方法,其中,所述分区包括k-d树分区、二叉树分区、四叉树分区、或结构化的码本分区中的至少一种。
22.根据权利要求1所述的方法,其中,所述图片部分包括瓦片、最大编码单元、或超块中的至少一种。
23.根据权利要求1所述的方法,其中,所述终止比特与所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个相关联。
24.根据权利要求1所述的方法,其中,所述多个可用图案包括可用图案的码本。
25.根据权利要求1所述的方法,进一步包括:
从第一可变长度编码表选择模式和第二可变长度编码表选择模式中的至少一个中确定针对所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个的可变长度编码表选择模式,其中,在所述第一可变长度编码表选择模式中,使用单个可变长度编码表以用于确定针对所述视频帧的每个图片部分的熵编码的码字,并且在所述第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中针对所述视频帧的每个图片部分而选择基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表以用于确定针对相关联的图片部分的熵编码的码字;并且
将所述终止比特分组为:第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特,
其中,对所述终止比特进行熵编码包括:
对第一组到第七组终止比特中的至少一组取反,并基于来自多个可变长度编码表中的给出针对取反的终止比特组的最小比特成本的所选择的可变长度编码表来对所述取反的终止比特组进行熵编码;
生成与所述所选择的可变长度编码表相关联的可变长度编码表头部;并且
将所述可变长度编码表头部和熵编码的取反的终止比特组写入到所述比特流中,
其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,所述方法进一步包括:
从自动切换模式或自适应切换模式中的至少一个中确定用于针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式,并且其中,如果量化器值小于预先确定的阈值,则所述自适应切换模式为所述所选择的切换模式,
其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,基于对所述第一图片部分的复杂度的预测而针对所述第一图片部分从所述第一可变长度编码表或所述第二可变长度编码表中的至少一个中自动地确定第一所选择的可变长度编码表,
其中,高复杂度可变长度编码表和低复杂度可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,基于对所述第一图片部分的复杂度的预测而针对所述第一图片部分从所述高复杂度可变长度编码表和所述低复杂度可变长度编码表中自动地确定第一所选择的可变长度编码表,并且其中,对所述第一图片部分的复杂度的预测包括确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用所述高复杂度可变长度编码表,且当所述划分的数目等于或低于所述阈值时,使用所述低复杂度可变长度编码表,
其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,其中,针对所述第一图片部分而从所述第一可变长度编码表和所述第二可变长度编码表中确定第一所选择的可变长度编码表,并且其中,所述方法进一步包括:
从所述第一可变长度编码表和所述第二可变长度编码表中确定针对所述视频帧的图片部分的所选择的可变长度编码表;
生成针对所述视频帧的自适应切换掩码,其中,所述自适应切换掩码包括指示针对所述图片部分的所述所选择的可变长度编码表的指示符;并且
对所述自适应切换掩码进行熵编码并将其写入到所述比特流中,其中,所述第二熵编码的码字指示所述一级图案为终止的图案,其中,所述图片部分包括64×64像素,所述方法进一步包括:
生成图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,每一个二进制指示符均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区;
确定是使用符号运行编码方法还是位图编码方法来对所述图片部分的二进制掩码进行编码;
生成图片部分编码方法指示符的二进制掩码;
基于所选择的编码方法对所述图片部分的二进制掩码进行熵编码;并且
将所述图片部分编码方法指示符的二进制掩码和熵编码的图片部分的二进制掩码写入到所述比特流中,
其中,所述输入数据包括定义了亮度分区和色度分区的亮度数据和色度数据,所述方法进一步包括:
生成针对所述视频帧的后续比特,其中,对于所述视频帧的图片部分,所述后续比特指示所述色度分区与所述亮度分区相匹配或所述色度分区与所述亮度分区不匹配中的至少一个;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述后续比特的后续比特选择的编码技术;
生成指示所述位图编码或所述符号运行可变长度编码中的至少一个的后续比特选择的编码技术头部;
基于所选择的编码技术对所述后续比特进行熵编码;并且
将所述后续比特选择的编码技术和熵编码的后续比特写入到所述比特流中,
其中,所述输入数据包括定义了亮度分区的亮度数据,以及定义了U平面色度分区和V平面色度分区的色度数据,所述方法进一步包括:
生成针对所述视频帧的U平面后续比特,其中,对于所述视频帧的图片部分,所述U平面后续比特指示所述U平面色度分区与所述亮度分区相匹配或所述U平面色度分区与所述亮度分区不匹配中的至少一个;
生成针对所述视频帧的V平面后续比特,其中,对于所述视频帧的图片部分,所述V平面后续比特指示所述V平面色度分区与所述亮度分区相匹配或所述V平面色度分区与所述亮度分区不匹配中的至少一个;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述U平面后续比特的U平面后续比特选择的编码技术,并且确定指示所述位图编码或所述符号运行可变长度编码中的至少一个的U平面后续比特选择的编码技术头部;
至少部分地基于所述U平面后续比特而生成V平面预测的后续比特;
确定所述V平面后续比特与所述V平面预测的后续比特的差异,以生成V平面差异后续比特;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述V平面差异后续比特的V平面差异后续比特选择的编码技术,并且确定指示所述位图编码或所述符号运行可变长度编码中的至少一个的V平面差异后续比特选择的编码技术头部;
基于所选择的编码技术对所述U平面后续比特和所述V平面差异后续比特进行熵编码;并且
将所述U平面后续比特选择的编码技术头部、所述V平面差异后续比特选择的编码技术头部、熵编码的U平面后续比特、以及熵编码的V平面差异后续比特写入到所述比特流中,
其中,所述输入数据包括亮度数据或色度数据中的至少一种,
其中,所述视频帧包括I图片,并且其中,所述第一图片部分包括所述视频帧的瓦片,
其中,所述视频帧包括I图片,其中,所述第一图片部分包括所述视频帧的瓦片,并且其中,所述分区包括k-d树分区,
其中,所述视频帧包括P图片或B/F图片中的至少一种,并且其中,所述图片部分包括所述视频帧的瓦片的分区,
其中,所述分区包括k-d树分区、二叉树分区、四叉树分区、或结构化的码本分区中的至少一种,
其中,所述图片部分包括瓦片、最大编码单元、或超块中的至少一种,
其中,所述终止比特与所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个相关联,并且
其中,所述多个可用图案包括可用图案的码本。
26.一种视频编码器,包括:
图像缓冲器;
包括熵编码器逻辑电路的图形处理单元,其中,所述图形处理单元通信地耦合到所述图像缓冲器,并且其中,所述熵编码器逻辑电路被配置为:
加载定义了视频帧的图片部分的分区的输入数据;
确定针对第一图片部分的多级图案,其中,所述多级图案包括从多个可用图案中选择的基本图案以及从所述多个可用图案中选择的、针对所述基本图案的至少一个非终止的部分的至少一个一级图案;
确定指示所述视频帧的所述图片部分的图案级的终止的终止比特,其中,所述终止比特包括与所述多级图案中的所述基本图案以及所述第一图片部分相关联的第一终止比特;
确定与所述基本图案相关联的第一熵编码的码字以及与所述一级图案相关联的第二熵编码的码字;
对所述终止比特进行熵编码;并且
将所述第一熵编码的码字、所述第二熵编码的码字、以及熵编码的终止比特写入到比特流中。
27.根据权利要求26所述的视频编码器,其中,所述熵编码器逻辑电路进一步被配置为:
从第一可变长度编码表选择模式和第二可变长度编码表选择模式中的至少一个中确定针对所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个的可变长度编码表选择模式,其中,在所述第一可变长度编码表选择模式中,使用单个可变长度编码表以用于确定针对所述视频帧的每个图片部分的熵编码的码字,并且在所述第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中针对所述视频帧的每个图片部分而选择基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表以用于确定针对相关联的图片部分的熵编码的码字。
28.根据权利要求26所述的视频编码器,其中,所述熵编码器逻辑电路进一步被配置为:
从自动切换模式或自适应切换模式中的至少一个中确定用于针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式,并且其中,如果量化器值小于预先确定的阈值,则所述自适应切换模式为所述所选择的切换模式。
29.根据权利要求26所述的视频编码器,其中,高复杂度可变长度编码表和低复杂度可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,所述熵编码器逻辑电路进一步被配置为基于对所述第一图片部分的复杂度的预测而针对所述第一图片部分从所述高复杂度可变长度编码表和所述低复杂度可变长度编码表中自动地确定第一所选择的可变长度编码表,并且其中,确定对所述第一图片部分的复杂度的预测包括所述熵编码器逻辑被配置为确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用所述高复杂度可变长度编码表,且当所述划分的数目等于或低于所述阈值时,使用所述低复杂度可变长度编码表。
30.根据权利要求26所述的视频编码器,其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,所述熵编码器逻辑电路进一步被配置为:
从所述第一可变长度编码表和所述第二可变长度编码表中确定针对所述视频帧的图片部分的所选择的可变长度编码表;
生成针对所述视频帧的自适应切换掩码,其中,所述自适应切换掩码包括指示针对所述图片部分的所述所选择的可变长度编码表的指示符;并且
对所述自适应切换掩码进行熵编码并将其写入到所述比特流中。
31.根据权利要求26所述的视频编码器,其中,所述第二熵编码的码字指示所述一级图案为终止的图案。
32.根据权利要求26所述的视频编码器,其中,所述图片部分包括64×64像素,并且其中,所述熵编码器逻辑电路进一步被配置为:
生成图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,每一个二进制指示符均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区;
确定是使用符号运行编码方法还是位图编码方法来对所述图片部分的二进制掩码进行编码;
生成图片部分编码方法指示符的二进制掩码;
基于所选择的编码方法对所述图片部分的二进制掩码进行熵编码;并且
将所述图片部分编码方法指示符的二进制掩码和熵编码的图片部分的二进制掩码写入到所述比特流中。
33.根据权利要求26所述的视频编码器,其中,所述熵编码器逻辑电路进一步被配置为:
将所述终止比特分组为:第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特,
其中,对所述终止比特进行熵编码包括所述熵编码器逻辑被配置为:
对第一组到第七组终止比特中的至少一组取反,并基于来自多个可变长度编码表中的给出针对取反的终止比特组的最小比特成本的所选择的可变长度编码表来对所述取反的终止比特组进行熵编码;
生成与所述所选择的可变长度编码表相关联的可变长度编码表头部;并且
将所述可变长度编码表头部和熵编码的取反的终止比特组写入到所述比特流中。
34.根据权利要求26所述的视频编码器,其中,所述输入数据包括定义了亮度分区和色度分区的亮度数据和色度数据,并且其中,所述熵编码器逻辑电路进一步被配置为:
生成针对所述视频帧的后续比特,其中,对于所述视频帧的图片部分,所述后续比特指示所述色度分区与所述亮度分区相匹配或所述色度分区与所述亮度分区不匹配中的至少一个;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述后续比特的后续比特选择的编码技术;
生成指示所述位图编码或所述符号运行可变长度编码中的至少一个的后续比特选择的编码技术头部;
基于所选择的编码技术对所述后续比特进行熵编码;并且
将所述后续比特选择的编码技术和熵编码的后续比特写入到所述比特流中。
35.根据权利要求26所述的视频编码器,其中,所述输入数据包括定义了亮度分区的亮度数据,以及定义了U平面色度分区和V平面色度分区的色度数据,并且其中,所述熵编码器逻辑电路进一步被配置为:
生成针对所述视频帧的U平面后续比特,其中,对于所述视频帧的图片部分,所述U平面后续比特指示所述U平面色度分区与所述亮度分区相匹配或所述U平面色度分区与所述亮度分区不匹配中的至少一个;
生成针对所述视频帧的V平面后续比特,其中,对于所述视频帧的图片部分,所述V平面后续比特指示所述V平面色度分区与所述亮度分区相匹配或所述V平面色度分区与所述亮度分区不匹配中的至少一个;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述U平面后续比特的U平面后续比特选择的编码技术,并且确定指示所述位图编码或所述符号运行可变长度编码中的至少一个的U平面后续比特选择的编码技术头部;
至少部分地基于所述U平面后续比特而生成V平面预测的后续比特;
确定所述V平面后续比特与所述V平面预测的后续比特的差异,以生成V平面差异后续比特;
从位图编码或符号运行可变长度编码中的至少一个中确定针对V平面差异后续比特的V平面差异后续比特选择的编码技术,并且确定指示所述位图编码或所述符号运行可变长度编码中的至少一个的V平面差异后续比特选择的编码技术头部;
基于所选择的编码技术对所述U平面后续比特和所述V平面差异后续比特进行熵编码;并且
将所述U平面后续比特选择的编码技术头部、所述V平面差异后续比特选择的编码技术头部、熵编码的U平面后续比特、以及熵编码的V平面差异后续比特写入到所述比特流中。
36.根据权利要求26所述的视频编码器,其中,所述视频帧包括I图片,其中,所述第一图片部分包括所述视频帧的瓦片,并且其中,所述分区包括k-d树分区。
37.根据权利要求26所述的视频编码器,其中,所述视频帧包括P图片或B/F图片中的至少一种,并且其中,所述图片部分包括所述视频帧的瓦片的分区。
38.根据权利要求26所述的视频编码器,其中,所述分区包括k-d树分区、二叉树分区、四叉树分区、或结构化的码本分区中的至少一种。
39.根据权利要求26所述的视频编码器,其中,所述图片部分包括瓦片、最大编码单元、或超块中的至少一种。
40.根据权利要求26所述的视频编码器,其中,所述终止比特与所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个相关联。
41.根据权利要求26所述的视频编码器,其中,所述多个可用图案包括可用图案的码本。
42.根据权利要求26所述的视频编码器,其中,所述熵编码器逻辑电路进一步被配置为:
从第一可变长度编码表选择模式和第二可变长度编码表选择模式中的至少一个中确定针对所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个的可变长度编码表选择模式,其中,在所述第一可变长度编码表选择模式中,使用单个可变长度编码表以用于确定针对所述视频帧的每个图片部分的熵编码的码字,并且在所述第二可变长度编码表选择模式中,从两个或更多个可用的可变长度编码表中针对所述视频帧的每个图片部分而选择基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表以用于确定针对相关联的图片部分的熵编码的码字;
从自动切换模式或自适应切换模式中的至少一个中确定用于针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式,并且其中,如果量化器值小于预先确定的阈值,则所述自适应切换模式为所述所选择的切换模式;并且
将所述终止比特分组为:第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特,
其中,对所述终止比特进行熵编码包括所述熵编码器逻辑被配置为:
对第一组到第七组终止比特中的至少一组取反,并基于来自多个可变长度编码表中的给出针对取反的终止比特组的最小比特成本的所选择的可变长度编码表来对所述取反的终止比特组进行熵编码;
生成与所述所选择的可变长度编码表相关联的可变长度编码表头部;并且
将所述可变长度编码表头部和熵编码的取反的终止比特组写入到所述比特流中,
其中,高复杂度可变长度编码表和低复杂度可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,所述熵编码器逻辑电路进一步被配置为基于对所述第一图片部分的复杂度的预测而针对所述第一图片部分从所述高复杂度可变长度编码表和所述低复杂度可变长度编码表中自动地确定第一所选择的可变长度编码表,并且其中,确定对所述第一图片部分的复杂度的预测包括所述熵编码器逻辑被配置为确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用所述高复杂度可变长度编码表,且当所述划分的数目等于或低于所述阈值时,使用所述低复杂度可变长度编码表,
其中,第一可变长度编码表和第二可变长度编码表选择性地用于确定针对所述视频帧的图片部分的熵编码的码字,并且其中,所述熵编码器逻辑电路进一步被配置为:
从所述第一可变长度编码表和所述第二可变长度编码表中确定针对所述视频帧的图片部分的所选择的可变长度编码表;
生成针对所述视频帧的自适应切换掩码,其中,所述自适应切换掩码包括指示针对所述图片部分的所述所选择的可变长度编码表的指示符;并且
对所述自适应切换掩码进行熵编码并将其写入到所述比特流中,
其中,所述图片部分包括64×64像素,并且其中,所述熵编码器逻辑电路进一步被配置为:
生成图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,每一个二进制指示符均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区;
确定是使用符号运行编码方法还是位图编码方法来对所述图片部分的二进制掩码进行编码;
生成图片部分编码方法指示符的二进制掩码;
基于所选择的编码方法对所述图片部分的二进制掩码进行熵编码;并且
将所述图片部分编码方法指示符的二进制掩码和熵编码的图片部分的二进制掩码写入到所述比特流中,
其中,所述输入数据包括定义了亮度分区和色度分区的亮度数据和色度数据,并且其中,所述熵编码器逻辑电路进一步被配置为:
生成针对所述视频帧的后续比特,其中,对于所述视频帧的图片部分,所述后续比特指示所述色度分区与所述亮度分区相匹配或所述色度分区与所述亮度分区不匹配中的至少一个;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述后续比特的后续比特选择的编码技术;
生成指示所述位图编码或所述符号运行可变长度编码中的至少一个的后续比特选择的编码技术头部;
基于所选择的编码技术对所述后续比特进行熵编码;并且
将所述后续比特选择的编码技术和熵编码的后续比特写入到所述比特流中,
其中,所述输入数据包括定义了亮度分区的亮度数据,以及定义了U平面色度分区和V平面色度分区的色度数据,并且其中,所述熵编码器逻辑电路进一步被配置为:
生成针对所述视频帧的U平面后续比特,其中,对于所述视频帧的图片部分,所述U平面后续比特指示所述U平面色度分区与所述亮度分区相匹配或所述U平面色度分区与所述亮度分区不匹配中的至少一个;
生成针对所述视频帧的V平面后续比特,其中,对于所述视频帧的图片部分,所述V平面后续比特指示所述V平面色度分区与所述亮度分区相匹配或所述V平面色度分区与所述亮度分区不匹配中的至少一个;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述U平面后续比特的U平面后续比特选择的编码技术,并且确定指示所述位图编码或所述符号运行可变长度编码中的至少一个的U平面后续比特选择的编码技术头部;
至少部分地基于所述U平面后续比特而生成V平面预测的后续比特;
确定所述V平面后续比特与所述V平面预测的后续比特的差异,以生成V平面差异后续比特;
从位图编码或符号运行可变长度编码中的至少一个中确定针对所述V平面差异后续比特的V平面差异后续比特选择的编码技术,并且确定指示所述位图编码或所述符号运行可变长度编码中的至少一个的V平面差异后续比特选择的编码技术头部;
基于所选择的编码技术对所述U平面后续比特和所述V平面差异后续比特进行熵编码;并且
将所述U平面后续比特选择的编码技术头部、所述V平面差异后续比特选择的编码技术头部、熵编码的U平面后续比特、以及熵编码的V平面差异后续比特写入到所述比特流中,
其中,所述视频帧包括I图片,其中,所述第一图片部分包括所述视频帧的瓦片,并且其中,所述分区包括k-d树分区,
其中,所述视频帧包括P图片或B/F图片中的至少一种,并且其中,所述图片部分包括所述视频帧的瓦片的分区,
其中,所述分区包括k-d树分区、二叉树分区、四叉树分区、或结构化的码本分区中的至少一种,
其中,所述图片部分包括瓦片、最大编码单元、或超块中的至少一种,
其中,所述终止比特与所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个相关联,并且
其中,所述多个可用图案包括可用图案的码本。
43.一种系统,包括:
被配置为用于对编码的比特流进行解码的视频解码器,其中,所述视频解码器被配置为:
对所述编码的比特流进行解码,以基于所述编码的比特流中的第一熵编码的码字而确定针对视频帧的第一图片部分的多级图案中的基本图案,并且基于所述编码的比特流中的第二熵编码的码字来确定所述多级图案中的一级图案,以及确定指示所述视频帧的图片部分的图案级的终止的终止比特;并且
基于解码的基本图案、一级图案、以及终止比特来重建所述第一图片部分的第一分区。
44.根据权利要求43所述的系统,进一步包括:
被配置为接收所述编码的比特流的天线,其中,所述天线通信地耦合到所述视频解码器;以及
被配置为呈现视频帧的显示设备。
45.根据权利要求43所述的系统,其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为确定针对所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个的指示可变长度编码表选择模式的可变长度编码表选择模式指示符,所述可变长度编码表选择模式来自第一可变长度编码表选择模式和第二可变长度编码表选择模式中的至少一个,其中,在所述第一可变长度编码表选择模式中,使用单个可变长度编码表以用于对针对所述视频帧的每个图片部分的熵编码的码字进行熵解码,并且在所述第二可变长度编码表选择模式中,从两个或更多个可变长度编码表中针对所述视频帧的每个图片部分而选择基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表以用于对针对相关联的图片部分的熵编码的码字进行熵解码。
46.根据权利要求43所述的系统,其中,第一可变长度编码表和第二可变长度编码表选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,并且其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为确定用于指示针对所述视频帧的所述图片部分的在所述第一可变长度编码表和所述第二可变长度编码表之间的切换模式的切换模式指示符,所述切换模式来自自动切换模式或自适应切换模式中的至少一个。
47.根据权利要求43所述的系统,其中,第一可变长度编码表和第二可变长度编码表选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,并且其中,所述视频解码器进一步被配置为:
基于对所述第一图片部分的复杂度的预测从所述第一可变长度编码表或所述第二可变长度编码表中的至少一个中自动地确定第一所选择的可变长度编码表。
48.根据权利要求43所述的系统,其中,高复杂度可变长度编码表和低复杂度可变长度编码表选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,并且其中,所述视频解码器进一步被配置为:
基于对所述第一图片部分的复杂度的预测从所述高复杂度可变长度编码表或所述低复杂度可变长度编码表中的至少一个中自动地确定第一所选择的可变长度编码表,其中,对所述第一图片部分的复杂度的预测包括所述视频解码器被配置为确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用所述高复杂度可变长度编码表,且当所述划分的数目等于或低于所述阈值时,使用所述低复杂度可变长度编码表。
49.根据权利要求43所述的系统,其中,第一可变长度编码表和第二可变长度编码表选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为确定针对所述视频帧的自适应切换掩码,其中,所述自适应切换掩码包括对针对所述第一图片部分的第一所选择的可变长度编码表的指示。
50.根据权利要求43所述的系统,其中,所述第二熵编码的码字指示指示所选择的一级图案为终止的图案。
51.根据权利要求43所述的系统,其中,所述第一图片部分包括64×64像素,其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为确定图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,每一个二进制指示符均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区。
52.根据权利要求43所述的系统,其中,所述视频解码器进一步被配置为:
基于对所述终止比特的分组而对所述终止比特进行熵解码,其中,将所述终止比特分组为:第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特。
53.根据权利要求43所述的系统,其中,所述视频解码器进一步被配置为:
基于对所述终止比特的分组而对所述终止比特进行熵解码,其中,对所述终止比特进行熵解码包括所述视频解码器被配置为确定与第一组终止比特相关联的可变长度编码表头部,并且基于所述可变长度编码表头部根据所选择的可变长度编码表来对所述第一组终止比特进行解码。
54.根据权利要求43所述的系统,其中,所述多级图案包括亮度图案,其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为确定针对所述视频帧的后续比特,并且其中,所述视频解码器进一步被配置为:
至少部分地基于所解码的后续比特而确定针对所述第一图片部分的色度图案与所述亮度图案相匹配。
55.根据权利要求43所述的系统,进一步包括:
被配置为接收所述编码的比特流的天线,其中,所述天线通信地耦合到所述视频解码器;以及
被配置为呈现视频帧的显示设备,
其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为从第一可变长度编码表选择模式和第二可变长度编码表选择模式中的至少一个中确定针对所述视频帧、所述视频帧的片、或视频帧的序列中的至少一个的可变长度编码表选择模式指示符,其中,在所述第一可变长度编码表选择模式中,使用单个可变长度编码表以用于对针对所述视频帧的每个图片部分的熵编码的码字进行熵解码,并且在所述第二可变长度编码表选择模式中,从两个或更多个可变长度编码表中针对所述视频帧的每个图片部分而选择基于图片部分的可变长度编码表,并使用所选择的基于图片部分的可变长度编码表以用于对针对相关联的图片部分的熵编码的码字进行熵解码,
其中,第一可变长度编码表和第二可变长度编码表选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,并且其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为从自动切换模式或自适应切换模式中的至少一个中确定针对所述视频帧的所述图片部分而在所述第一可变长度编码表和所述第二可变长度编码表之间进行切换的所选择的切换模式,
其中,第一可变长度编码表和第二可变长度编码表选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,并且其中,所述视频解码器进一步被配置为:
基于对所述第一图片部分的复杂度的预测从所述第一可变长度编码表或所述第二可变长度编码表中的至少一个中自动地确定第一所选择的可变长度编码表,
其中,高复杂度可变长度编码表和低复杂度可变长度编码表选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,并且其中,所述视频解码器进一步被配置为:
基于对所述第一图片部分的复杂度的预测从所述高复杂度可变长度编码表或所述低复杂度可变长度编码表中的至少一个中自动地确定第一所选择的可变长度编码表,其中,对所述第一图片部分的复杂度的预测包括所述视频解码器被配置为确定与所述第一图片部分相邻的图片部分的划分的数目,并且当所述划分的数目高于阈值时,使用所述高复杂度可变长度编码表,且当所述划分的数目等于或低于所述阈值时,使用低复杂度可变长度编码表,
其中,第一可变长度编码表和第二可变长度编码表选择性地用于对针对所述视频帧的图片部分的熵编码的码字进行熵解码,其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为确定针对所述视频帧的自适应切换掩码,其中,所述自适应切换掩码包括对针对所述第一图片部分的所述第一所选择的可变长度编码表的指示,
其中,所述第二熵编码的码字指示所选择的一级图案为终止的图案,
其中,所述第一图片部分包括64×64像素,其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为确定图片部分的二进制掩码,所述二进制掩码包括多个二进制指示符,每一个二进制指示符均指示相关联的图片部分是包含四个32×32非终止的分区还是包含具有至少一个终止的32×32分区的四个32×32分区,
其中,所述视频解码器进一步被配置为:
基于对所述终止比特的分组而对所述终止比特进行熵解码,其中,将所述终止比特分组为:第一组,其包括针对具有两个分区的基本级图案的终止比特;第二组,其包括针对具有两个分区的一级或更高级图案的终止比特;第三组,其包括针对具有三个分区的基本级图案的终止比特;第四组,其包括针对具有三个分区的一级或更高级图案的终止比特;第五组,其包括针对具有四个分区的基本级图案的终止比特;第六组,其包括针对具有四个分区的一级或更高级图案的终止比特;以及第七组,其包括针对具有多于四个分区的基本级或更高级图案的终止比特;并且
基于对所述终止比特的分组而对所述终止比特进行熵解码,其中,对所述终止比特进行熵解码包括所述视频解码器被配置为确定与第一组终止比特相关联的可变长度编码表头部,并且基于所述可变长度编码表头部根据所选择的可变长度编码表来对所述第一组终止比特进行解码,并且
其中,所述多级图案包括亮度图案,其中,对所述编码的比特流进行解码进一步包括所述视频解码器被配置为确定针对所述视频帧的后续比特,并且其中,所述视频解码器进一步被配置为:
至少部分地基于所解码的后续比特而确定针对所述第一图片部分的色度图案与所述亮度图案相匹配。
56.至少一种机器可读介质,包括:
多个指令,其响应于在计算设备上被执行,使得所述计算设备执行根据权利要求1-25中的任意一项所述的方法。
57.一种装置,包括:
用于执行根据权利要求1-25中的任意一项所述的方法的单元。
CN201480003744.7A 2013-01-30 2014-01-24 用于下一代视频的对分区数据的内容自适应熵编码 Active CN105453570B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361758314P 2013-01-30 2013-01-30
US61/758,314 2013-01-30
PCT/US2014/013027 WO2014120575A1 (en) 2013-01-30 2014-01-24 Content adaptive entropy coding of partitions data for next generation video

Publications (2)

Publication Number Publication Date
CN105453570A true CN105453570A (zh) 2016-03-30
CN105453570B CN105453570B (zh) 2020-03-17

Family

ID=51262831

Family Applications (10)

Application Number Title Priority Date Filing Date
CN201380068546.4A Expired - Fee Related CN104885467B (zh) 2013-01-30 2013-12-24 用于下一代视频编码的内容自适应参数变换
CN201380068582.0A Expired - Fee Related CN104885470B (zh) 2013-01-30 2013-12-24 用于下一代视频的预测和编码的内容自适应划分
CN201380053525.5A Expired - Fee Related CN104737542B (zh) 2013-01-30 2013-12-24 用于下一代视频的内容自适应熵编码
CN201380053523.6A Expired - Fee Related CN104718756B (zh) 2013-01-30 2013-12-27 利用经修改的参考的内容自适应预测性图片和功能预测性图片进行下一代视频译码
CN201380068583.5A Expired - Fee Related CN104885471B (zh) 2013-01-30 2013-12-27 用于下一代视频的编码/未编码的数据的内容自适应熵编码
CN201380053522.1A Expired - Fee Related CN105556964B (zh) 2013-01-30 2013-12-28 用于高效下一代视频编码的内容自适应双向或功能预测多遍图片
CN201480003744.7A Active CN105453570B (zh) 2013-01-30 2014-01-24 用于下一代视频的对分区数据的内容自适应熵编码
CN201480003751.7A Expired - Fee Related CN105052140B (zh) 2013-01-30 2014-01-28 用于下一代视频的模式和参考类型数据的内容自适应熵编码
CN201480003747.0A Expired - Fee Related CN104885455B (zh) 2013-01-30 2014-01-30 一种用于视频编码的计算机实现的方法及装置
CN201480003732.4A Expired - Fee Related CN105191309B (zh) 2013-01-30 2014-01-30 用于下一代视频编码的内容自适应预测距离分析器和分层运动估计系统

Family Applications Before (6)

Application Number Title Priority Date Filing Date
CN201380068546.4A Expired - Fee Related CN104885467B (zh) 2013-01-30 2013-12-24 用于下一代视频编码的内容自适应参数变换
CN201380068582.0A Expired - Fee Related CN104885470B (zh) 2013-01-30 2013-12-24 用于下一代视频的预测和编码的内容自适应划分
CN201380053525.5A Expired - Fee Related CN104737542B (zh) 2013-01-30 2013-12-24 用于下一代视频的内容自适应熵编码
CN201380053523.6A Expired - Fee Related CN104718756B (zh) 2013-01-30 2013-12-27 利用经修改的参考的内容自适应预测性图片和功能预测性图片进行下一代视频译码
CN201380068583.5A Expired - Fee Related CN104885471B (zh) 2013-01-30 2013-12-27 用于下一代视频的编码/未编码的数据的内容自适应熵编码
CN201380053522.1A Expired - Fee Related CN105556964B (zh) 2013-01-30 2013-12-28 用于高效下一代视频编码的内容自适应双向或功能预测多遍图片

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN201480003751.7A Expired - Fee Related CN105052140B (zh) 2013-01-30 2014-01-28 用于下一代视频的模式和参考类型数据的内容自适应熵编码
CN201480003747.0A Expired - Fee Related CN104885455B (zh) 2013-01-30 2014-01-30 一种用于视频编码的计算机实现的方法及装置
CN201480003732.4A Expired - Fee Related CN105191309B (zh) 2013-01-30 2014-01-30 用于下一代视频编码的内容自适应预测距离分析器和分层运动估计系统

Country Status (8)

Country Link
US (14) US9794569B2 (zh)
EP (12) EP2952002A4 (zh)
JP (3) JP6163674B2 (zh)
KR (6) KR102063385B1 (zh)
CN (10) CN104885467B (zh)
BR (1) BR112015015575A2 (zh)
RU (1) RU2612600C2 (zh)
WO (11) WO2014120367A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929642A (zh) * 2014-04-24 2014-07-16 北京航空航天大学 一种hevc变换系数的熵编码上下文模型偏移值快速计算方法
CN108781286A (zh) * 2016-12-26 2018-11-09 日本电气株式会社 视频编码方法、视频解码方法、视频编码设备、视频解码设备以及程序
CN108781287A (zh) * 2016-12-26 2018-11-09 日本电气株式会社 视频编码方法、视频解码方法、视频编码设备、视频解码设备以及程序
CN109496430A (zh) * 2016-05-13 2019-03-19 Vid拓展公司 用于视频编码的通用式多假设预测的系统及方法
CN109792539A (zh) * 2016-10-05 2019-05-21 交互数字Vc控股公司 用于二叉树分割模式编码的方法和装置
CN110339567A (zh) * 2019-07-17 2019-10-18 三星电子(中国)研发中心 系统资源配置、场景预测模型训练方法和装置
CN111814844A (zh) * 2020-03-17 2020-10-23 同济大学 一种基于位置编码融合的密集型视频描述方法
US11153602B2 (en) 2018-01-24 2021-10-19 Vid Scale, Inc. Generalized bi-prediction for video coding with reduced coding complexity

Families Citing this family (249)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867823B (zh) * 2002-08-08 2012-05-02 松下电器产业株式会社 解码方法及解码装置
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US9380327B2 (en) * 2011-12-15 2016-06-28 Comcast Cable Communications, Llc System and method for synchronizing timing across multiple streams
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
CN102883163B (zh) * 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
EP2920962A4 (en) 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
US9794569B2 (en) 2013-01-30 2017-10-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US11438609B2 (en) 2013-04-08 2022-09-06 Qualcomm Incorporated Inter-layer picture signaling and related processes
US10057599B2 (en) * 2014-02-19 2018-08-21 Mediatek Inc. Method for performing image processing control with aid of predetermined tile packing, associated apparatus and associated non-transitory computer readable medium
US9723377B2 (en) 2014-04-28 2017-08-01 Comcast Cable Communications, Llc Video management
US10397574B2 (en) * 2014-05-12 2019-08-27 Intel Corporation Video coding quantization parameter determination suitable for video conferencing
US11064204B2 (en) 2014-05-15 2021-07-13 Arris Enterprises Llc Automatic video comparison of the output of a video decoder
US20170249521A1 (en) * 2014-05-15 2017-08-31 Arris Enterprises, Inc. Automatic video comparison of the output of a video decoder
US10057593B2 (en) * 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US9699464B2 (en) * 2014-07-10 2017-07-04 Intel Corporation Adaptive bitrate streaming for wireless video
US9549188B2 (en) * 2014-07-30 2017-01-17 Intel Corporation Golden frame selection in video coding
CN104301724B (zh) * 2014-10-17 2017-12-01 华为技术有限公司 视频处理方法、编码设备和解码设备
TWI536799B (zh) * 2014-10-29 2016-06-01 虹光精密工業股份有限公司 智慧型複印設備
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10171807B2 (en) * 2015-01-29 2019-01-01 Arris Enterprises Llc Picture-level QP rate control for HEVC encoding
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
CN104780377B (zh) * 2015-03-18 2017-12-15 同济大学 一种基于分布式计算机系统的并行hevc编码系统及方法
CN108028942B (zh) 2015-06-04 2020-06-26 清华大学 像素预测方法、编码方法、解码方法及其装置、存储介质
GB2539198B (en) * 2015-06-08 2019-09-25 Imagination Tech Ltd Motion estimation using collocated blocks
US9942552B2 (en) * 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
US10354290B2 (en) * 2015-06-16 2019-07-16 Adobe, Inc. Generating a shoppable video
WO2016206748A1 (en) * 2015-06-25 2016-12-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Refinement of a low-pel resolution motion estimation vector
JP6715467B2 (ja) * 2015-07-01 2020-07-01 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置
US10419512B2 (en) * 2015-07-27 2019-09-17 Samsung Display Co., Ltd. System and method of transmitting display data
US11076153B2 (en) * 2015-07-31 2021-07-27 Stc.Unm System and methods for joint and adaptive control of rate, quality, and computational complexity for video coding and video delivery
US10743059B2 (en) * 2015-08-30 2020-08-11 EVA Automation, Inc. Displaying HDMI content at an arbitrary location
US10430031B2 (en) * 2015-08-30 2019-10-01 EVA Automation, Inc. Displaying HDMI content in a tiled window
FR3040849A1 (fr) * 2015-09-04 2017-03-10 Stmicroelectronics (Grenoble 2) Sas Procede de compression d'un flux de donnees video
US9971791B2 (en) * 2015-09-16 2018-05-15 Adobe Systems Incorporated Method and apparatus for clustering product media files
WO2017052250A1 (ko) * 2015-09-23 2017-03-30 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2017057953A1 (ko) * 2015-09-30 2017-04-06 엘지전자 주식회사 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
US10805627B2 (en) * 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
US9998745B2 (en) * 2015-10-29 2018-06-12 Microsoft Technology Licensing, Llc Transforming video bit streams for parallel processing
US20180316914A1 (en) * 2015-10-30 2018-11-01 Sony Corporation Image processing apparatus and method
EP3166313A1 (en) 2015-11-09 2017-05-10 Thomson Licensing Encoding and decoding method and corresponding devices
US10283094B1 (en) * 2015-11-09 2019-05-07 Marvell International Ltd. Run-length compression and decompression of media tiles
WO2017083553A1 (en) * 2015-11-10 2017-05-18 Vid Scale, Inc. Systems and methods for coding in super-block based video coding framework
US20170155905A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Efficient intra video/image coding using wavelets and variable size transform coding
KR20230091200A (ko) * 2015-12-14 2023-06-22 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치
WO2017114450A1 (en) * 2015-12-31 2017-07-06 Mediatek Inc. Method and apparatus of prediction binary tree structure for video and image coding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US10445862B1 (en) * 2016-01-25 2019-10-15 National Technology & Engineering Solutions Of Sandia, Llc Efficient track-before detect algorithm with minimal prior knowledge
WO2017135663A2 (ko) * 2016-02-01 2017-08-10 엘지전자 주식회사 행 -열 변환 (row- column transform)을 이용하여 변환을 수행하는 방법 및 장치
KR20170096088A (ko) * 2016-02-15 2017-08-23 삼성전자주식회사 영상처리장치, 영상처리방법 및 이를 기록한 기록매체
CN109155857B (zh) 2016-03-11 2023-05-30 数字洞察力有限公司 视频编码方法以及装置
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
US20170280139A1 (en) * 2016-03-22 2017-09-28 Qualcomm Incorporated Apparatus and methods for adaptive calculation of quantization parameters in display stream compression
EP3298786A1 (en) * 2016-04-15 2018-03-28 Magic Pony Technology Limited In-loop post filtering for video encoding and decoding
EP3298783B1 (en) 2016-04-15 2020-11-18 Magic Pony Technology Limited Motion compensation using temporal picture interpolation
US10574999B2 (en) * 2016-05-05 2020-02-25 Intel Corporation Method and system of video coding with a multi-pass prediction mode decision pipeline
KR102571062B1 (ko) * 2016-05-10 2023-08-25 삼성전자주식회사 영상을 부호화/복호화 하는 방법 및 그 장치
TWI689148B (zh) * 2016-05-17 2020-03-21 英屬開曼群島商鴻騰精密科技股份有限公司 電連接器組件
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
MX2018014493A (es) * 2016-05-25 2019-08-12 Arris Entpr Llc Particionamiento binario, ternario, cuaternario para jvet.
US10284845B2 (en) 2016-05-25 2019-05-07 Arris Enterprises Llc JVET quadtree plus binary tree (QTBT) structure with multiple asymmetrical partitioning
WO2017205704A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc General block partitioning method
ES2877362T3 (es) * 2016-05-25 2021-11-16 Arris Entpr Llc Particionamiento de árbol binario, ternario y cuaternario para la codificación JVET de datos de vídeo
US11146821B2 (en) 2016-05-25 2021-10-12 Arris Enterprises Llc JVET coding block structure with asymmetrical partitioning
US10743210B2 (en) * 2016-06-01 2020-08-11 Intel Corporation Using uplink buffer status to improve video stream adaptation control
KR102445668B1 (ko) * 2016-06-01 2022-09-21 삼성전자주식회사 부호화 순서 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US10880548B2 (en) 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
CN109643456A (zh) 2016-06-17 2019-04-16 因默希弗机器人私人有限公司 图像压缩方法与设备
US10169362B2 (en) 2016-07-07 2019-01-01 Cross Commerce Media, Inc. High-density compression method and computing system
CN109644267B (zh) * 2016-08-03 2023-07-04 株式会社Kt 视频信号处理方法和装置
WO2018023554A1 (en) * 2016-08-04 2018-02-08 SZ DJI Technology Co., Ltd. System and methods for bit rate control
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
WO2018023553A1 (en) * 2016-08-04 2018-02-08 SZ DJI Technology Co., Ltd. Parallel video encoding
US11089312B2 (en) 2016-08-08 2021-08-10 Lg Electronics Inc. Method for processing image and apparatus therefor
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
CN107872669B (zh) * 2016-09-27 2019-05-24 腾讯科技(深圳)有限公司 视频码率处理方法和装置
US10567775B2 (en) 2016-10-01 2020-02-18 Intel Corporation Method and system of hardware accelerated video coding with per-frame parameter control
CN114531590A (zh) * 2016-10-04 2022-05-24 有限公司B1影像技术研究所 图像数据编码/解码方法、介质和发送比特流的方法
WO2018066991A1 (ko) * 2016-10-04 2018-04-12 김기백 영상 데이터 부호화/복호화 방법 및 장치
EP3306927A1 (en) 2016-10-05 2018-04-11 Thomson Licensing Encoding and decoding methods and corresponding devices
US12022199B2 (en) 2016-10-06 2024-06-25 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US20180103271A1 (en) * 2016-10-10 2018-04-12 Qualcomm Incorporated Systems and methods for signaling missing or corrupted video data
KR20180039323A (ko) * 2016-10-10 2018-04-18 디지털인사이트 주식회사 다양한 블록 분할 구조를 결합하여 사용하는 비디오 코딩 방법 및 장치
US10187178B2 (en) * 2016-10-11 2019-01-22 Microsoft Technology Licensing, Llc Dynamically partitioning media streams
US10779004B2 (en) 2016-10-12 2020-09-15 Mediatek Inc. Methods and apparatuses of constrained multi-type-tree block partition for video coding
WO2018072675A1 (en) * 2016-10-18 2018-04-26 Zhejiang Dahua Technology Co., Ltd. Methods and systems for video processing
KR20180043151A (ko) 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
CN116567211A (zh) * 2016-10-19 2023-08-08 Sk电信有限公司 视频编码/解码设备和方法及非暂时性记录介质
CN106454355B (zh) * 2016-10-24 2019-03-01 西南科技大学 一种视频编码方法及装置
EP3528498A1 (en) * 2016-11-21 2019-08-21 Panasonic Intellectual Property Corporation of America Coding device, decoding device, coding method, and decoding method
WO2018092869A1 (ja) 2016-11-21 2018-05-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2018097590A1 (ko) * 2016-11-22 2018-05-31 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
GB2556923B (en) * 2016-11-25 2020-04-15 Canon Kk Generation of VCA Reference results for VCA Auto-setting
CN109997363B (zh) * 2016-11-28 2023-12-05 英迪股份有限公司 图像编码/解码方法和装置以及存储有比特流的记录介质
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US10631012B2 (en) * 2016-12-02 2020-04-21 Centurylink Intellectual Property Llc Method and system for implementing detection and visual enhancement of video encoding artifacts
US10397590B2 (en) * 2016-12-05 2019-08-27 Nice-Systems Ltd. System and method for enabling seek in a video recording
JP6565885B2 (ja) * 2016-12-06 2019-08-28 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
CN116866575A (zh) * 2016-12-16 2023-10-10 夏普株式会社 图像解码装置
KR20230131958A (ko) 2016-12-23 2023-09-14 후아웨이 테크놀러지 컴퍼니 리미티드 미리 결정된 방향성 인트라 예측 모드들의 세트를 확장하기 위한 인트라 예측 장치
US10542275B2 (en) * 2016-12-28 2020-01-21 Arris Enterprises Llc Video bitstream coding
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
TWI617181B (zh) * 2017-01-04 2018-03-01 晨星半導體股份有限公司 用於高效率視訊編碼裝置之排程方法
CN115190301A (zh) * 2017-01-05 2022-10-14 弗劳恩霍夫应用研究促进协会 图像的基于块的预测编码和解码
US10848788B2 (en) 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
EP3349454A1 (en) 2017-01-11 2018-07-18 Thomson Licensing Method and device for coding a block of video data, method and device for decoding a block of video data
KR20180088188A (ko) * 2017-01-26 2018-08-03 삼성전자주식회사 적응적 영상 변환 방법 및 장치
WO2018143687A1 (ko) * 2017-02-01 2018-08-09 엘지전자(주) 행-열 변환을 이용하여 변환을 수행하는 방법 및 장치
PL3477949T3 (pl) * 2017-02-06 2024-02-19 Huawei Technologies Co., Ltd. Sposób i urządzenie do dekodowania obrazu z zastosowaniem informacji o podziale jednostki drzewa kodowania
CN110494193A (zh) 2017-02-08 2019-11-22 因默希弗机器人私人有限公司 向多人游戏场地中的用户显示内容
US10362332B2 (en) * 2017-03-14 2019-07-23 Google Llc Multi-level compound prediction
US10820017B2 (en) * 2017-03-15 2020-10-27 Mediatek Inc. Method and apparatus of video coding
WO2018169571A1 (en) * 2017-03-15 2018-09-20 Google Llc Segmentation-based parameterized motion models
US11496747B2 (en) 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
US10904531B2 (en) * 2017-03-23 2021-01-26 Qualcomm Incorporated Adaptive parameters for coding of 360-degree video
CN108665410B (zh) * 2017-03-31 2021-11-26 杭州海康威视数字技术股份有限公司 一种图像超分辨率重构方法、装置及系统
US11010338B2 (en) * 2017-04-06 2021-05-18 Shanghai Cambricon Information Technology Co., Ltd Data screening device and method
DE112018002117T5 (de) 2017-04-21 2020-01-02 Zenimax Media Inc. Systeme und verfahren für verzögerte post-prozesse in der videocodierung
GB2583826B (en) 2017-04-21 2021-05-19 Zenimax Media Inc Systems and methods for rendering & pre-encoded load estimation based encoder hinting
GB2576846A (en) 2017-04-21 2020-03-04 Zenimax Media Inc Systems and methods for game-generated motion vectors
CN113628240A (zh) 2017-04-21 2021-11-09 泽尼马克斯媒体公司 通过预期运动矢量的玩家输入运动补偿
RU2730435C1 (ru) 2017-04-21 2020-08-21 Зенимакс Медиа Инк. Системы и способы рендеринга с адаптируемым качеством под управлением кодировщика
US10979728B2 (en) * 2017-04-24 2021-04-13 Intel Corporation Intelligent video frame grouping based on predicted performance
CN108810556B (zh) * 2017-04-28 2021-12-24 炬芯科技股份有限公司 压缩参考帧的方法、装置及芯片
US10638127B2 (en) * 2017-05-15 2020-04-28 Qualcomm Incorporated Adaptive anchor frame and quantization parameter decision in video coding
WO2018223179A1 (en) 2017-06-05 2018-12-13 Immersive Robotics Pty Ltd Digital content stream compression
KR102315524B1 (ko) * 2017-06-16 2021-10-21 한화테크윈 주식회사 영상의 비트레이트 조절 방법 및 영상 획득 장치
CN107222751B (zh) * 2017-06-23 2019-05-10 宁波大学科学技术学院 基于多视点视频特征的3d-hevc深度视频信息隐藏方法
RU2770185C2 (ru) * 2017-06-26 2022-04-14 ИНТЕРДИДЖИТАЛ ВиСи ХОЛДИНГЗ, ИНК. Множество кандидатов предсказателя для компенсации движения
CN109151468B (zh) 2017-06-28 2020-12-08 华为技术有限公司 一种图像数据的编码、解码方法及装置
US10764582B2 (en) * 2017-06-29 2020-09-01 Qualcomm Incorporated Reducing seam artifacts in 360-degree video
CN109218748B (zh) * 2017-06-30 2020-11-27 京东方科技集团股份有限公司 视频传输方法、装置及计算机可读存储介质
CN107360419B (zh) * 2017-07-18 2019-09-24 成都图必优科技有限公司 一种基于透视模型的运动前视视频帧间预测编码方法
KR102380233B1 (ko) 2017-07-19 2022-03-29 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
CN107483949A (zh) * 2017-07-26 2017-12-15 千目聚云数码科技(上海)有限公司 增加svac svc实用性的方法及系统
CN107295334B (zh) * 2017-08-15 2019-12-03 电子科技大学 自适应的参考图像抉择方法
CN107483960B (zh) * 2017-09-15 2020-06-02 信阳师范学院 一种基于空间预测的运动补偿帧率上转换方法
US10645408B2 (en) * 2017-09-17 2020-05-05 Google Llc Dual deblocking filter thresholds
EP3457695A1 (en) 2017-09-18 2019-03-20 Thomson Licensing Method and apparatus for motion vector predictor adaptation for omnidirectional video
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
KR102419436B1 (ko) * 2017-09-28 2022-07-11 엘지전자 주식회사 영상 코딩 시스템에서 블록 분할 구조에 따른 영상 디코딩 방법 및 장치
US10623744B2 (en) * 2017-10-04 2020-04-14 Apple Inc. Scene based rate control for video compression and video streaming
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
AU2018373495B2 (en) 2017-11-21 2023-01-05 Immersive Robotics Pty Ltd Frequency component selection for image compression
US11153604B2 (en) 2017-11-21 2021-10-19 Immersive Robotics Pty Ltd Image compression for digital reality
CN111164972A (zh) * 2017-11-30 2020-05-15 深圳市大疆创新科技有限公司 用于在帧级别控制视频编码的系统和方法
CN110832856A (zh) 2017-11-30 2020-02-21 深圳市大疆创新科技有限公司 用于减小视频编码波动的系统及方法
WO2019104611A1 (en) 2017-11-30 2019-06-06 SZ DJI Technology Co., Ltd. System and method for controlling video coding within image frame
CN109949217B (zh) * 2017-12-20 2023-04-11 四川大学 基于残差学习和隐式运动补偿的视频超分辨率重建方法
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
KR101975404B1 (ko) * 2017-12-27 2019-08-28 세종대학교산학협력단 절차적 콘텐츠 생성장치 및 방법
TWI680675B (zh) * 2017-12-29 2019-12-21 聯發科技股份有限公司 影像處理裝置與相關的影像處理方法
KR102465206B1 (ko) * 2018-01-26 2022-11-09 삼성전자주식회사 이미지 처리 장치
US11095876B2 (en) * 2018-01-26 2021-08-17 Samsung Electronics Co., Ltd. Image processing device
EP3747192A1 (en) 2018-01-29 2020-12-09 InterDigital VC Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
EP3759919A1 (en) * 2018-02-26 2021-01-06 InterDigital VC Holdings, Inc. Method and apparatus for generalized obmc
US11765468B2 (en) * 2018-03-01 2023-09-19 Sony Corporation Image processing device and method thereof, imaging element, and imaging device
US11004178B2 (en) * 2018-03-01 2021-05-11 Nvidia Corporation Enhancing high-resolution images with data from low-resolution images
US10432962B1 (en) * 2018-03-13 2019-10-01 Pixelworks, Inc. Accuracy and local smoothness of motion vector fields using motion-model fitting
CN110309328B (zh) * 2018-03-14 2022-03-25 深圳云天励飞技术有限公司 数据存储方法、装置、电子设备及存储介质
EP3700640B1 (en) * 2018-03-22 2021-05-26 Google LLC Methods and systems for rendering and encoding content for online interactive gaming sessions
CN108449599B (zh) * 2018-03-23 2021-05-18 安徽大学 一种基于面透射变换的视频编码与解码方法
US11381834B2 (en) * 2018-04-02 2022-07-05 Hfi Innovation Inc. Video processing methods and apparatuses for sub-block motion compensation in video coding systems
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
CN111886057A (zh) 2018-04-02 2020-11-03 谷歌有限责任公司 用于电子系统的输入装置
JP7073526B2 (ja) 2018-04-02 2022-05-23 グーグル エルエルシー インタラクティブなクラウドゲームのための方法、デバイス、およびシステム
EP4141781B1 (en) 2018-04-10 2024-03-20 Google LLC Memory management in gaming rendering
US10491897B2 (en) * 2018-04-13 2019-11-26 Google Llc Spatially adaptive quantization-aware deblocking filter
US10798382B2 (en) * 2018-04-26 2020-10-06 Tencent America LLC Sub-block transform
EP3562162A1 (en) 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on neural network implementation of cabac
JP2021525468A (ja) * 2018-05-29 2021-09-24 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 部分的に共有されている輝度および彩度のコード化木を用いたビデオ符号化および復号化の方法および装置
CN110620929B (zh) 2018-06-19 2023-04-18 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
CN108848380B (zh) * 2018-06-20 2021-11-30 腾讯科技(深圳)有限公司 视频编码和解码方法、装置、计算机设备及存储介质
US10602147B2 (en) * 2018-07-10 2020-03-24 Samsung Display Co., Ltd. Efficient entropy coding group grouping methodology for transform mode
US11039315B2 (en) 2018-08-01 2021-06-15 At&T Intellectual Property I, L.P. On-demand super slice instantiation and orchestration
JP7410033B2 (ja) * 2018-08-20 2024-01-09 日本放送協会 符号化装置、復号装置及びプログラム
CN110876059B (zh) * 2018-09-03 2022-06-10 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
US10863179B1 (en) * 2018-09-05 2020-12-08 Amazon Technologies, Inc. Overlapped rate control for high-quality segmented video encoding
US11665365B2 (en) * 2018-09-14 2023-05-30 Google Llc Motion prediction coding with coframe motion vectors
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
US11606569B2 (en) * 2018-09-25 2023-03-14 Apple Inc. Extending supported components for encoding image data
US10893281B2 (en) 2018-10-12 2021-01-12 International Business Machines Corporation Compression of a video stream having frames with relatively heightened quality parameters on blocks on an identified point of interest (PoI)
US10764589B2 (en) * 2018-10-18 2020-09-01 Trisys Co., Ltd. Method and module for processing image data
WO2020084476A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN109640082B (zh) * 2018-10-26 2021-02-12 浙江鼎越电子有限公司 音视频多媒体数据处理方法及其设备
US11412260B2 (en) * 2018-10-29 2022-08-09 Google Llc Geometric transforms for image compression
US10939102B2 (en) * 2018-11-01 2021-03-02 Mediatek Inc. Post processing apparatus with super-resolution filter and loop restoration filter in block-level pipeline and associated post processing method
CN111436230A (zh) 2018-11-12 2020-07-21 北京字节跳动网络技术有限公司 仿射预测的带宽控制方法
CN112204529A (zh) 2018-11-16 2021-01-08 谷歌有限责任公司 用于复杂系统分析的实时交互式仿真的影子追踪
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
CN113170171B (zh) 2018-11-20 2024-04-12 北京字节跳动网络技术有限公司 组合帧间帧内预测模式的预测细化
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
WO2020103933A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Configuration method for default motion candidate
US11184633B2 (en) 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction
JP7040422B2 (ja) * 2018-11-28 2022-03-23 日本電信電話株式会社 動きベクトル生成装置、投影像生成装置、動きベクトル生成方法、およびプログラム
US11025947B2 (en) * 2018-11-29 2021-06-01 Mediatek Inc. Method and apparatus for generating motion field motion vectors for blocks of current frame in on-the-fly manner
US10855988B2 (en) 2018-12-19 2020-12-01 Qualcomm Incorporated Adaptive prediction structures
WO2020140908A1 (en) * 2018-12-31 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Mapping between distance index and distance in merge with mvd
US10645386B1 (en) * 2019-01-03 2020-05-05 Sony Corporation Embedded codec circuitry for multiple reconstruction points based quantization
CN113412623A (zh) 2019-01-31 2021-09-17 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
US10778972B1 (en) * 2019-02-27 2020-09-15 Google Llc Adaptive filter intra prediction modes in image/video compression
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
JP7252016B2 (ja) * 2019-03-13 2023-04-04 日本放送協会 動画像符号化装置、動画像復号装置及びプログラム
WO2020182213A1 (en) * 2019-03-13 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Sub-block transform in transform skip mode
US10924625B2 (en) * 2019-03-20 2021-02-16 Xerox Corporation Dynamic compression acceleration using real-time image data entropy analysis
CN113767400A (zh) * 2019-03-21 2021-12-07 谷歌有限责任公司 使用率失真成本作为深度学习的损失函数
US11310496B2 (en) * 2019-03-27 2022-04-19 Ati Technologies Ulc Determining quality values for blocks of encoded video
EP3922014A4 (en) 2019-04-02 2022-04-06 Beijing Bytedance Network Technology Co., Ltd. DECODER SIDE MOTION VECTOR BYPASS
CN111901593B (zh) * 2019-05-04 2024-01-02 华为技术有限公司 一种图像划分方法、装置及设备
US11223838B2 (en) * 2019-05-26 2022-01-11 Alibaba Group Holding Limited AI-assisted programmable hardware video codec
US10949982B1 (en) * 2019-06-21 2021-03-16 Amazon Technologies, Inc. Moving object recognition, speed estimation, and tagging
JP2022539657A (ja) 2019-06-24 2022-09-13 アリババ グループ ホウルディング リミテッド 映像処理における適応解像度変更
JP2022544164A (ja) 2019-08-06 2022-10-17 オーピー ソリューションズ, エルエルシー フレームタイプに基づく適応分解能管理の暗示的信号伝達
BR112022002204A2 (pt) 2019-08-06 2022-10-18 Op Solutions Llc Redimensionamento de previsão de gerenciamento de resolução adaptativa
AU2020326881A1 (en) 2019-08-06 2022-03-24 Op Solutions, Llc Block-based adaptive resolution management
WO2021026363A1 (en) * 2019-08-06 2021-02-11 Op Solutions, Llc Implicit signaling of adaptive resolution management based on frame type
GB2611864B (en) * 2019-08-23 2023-12-06 Imagination Tech Ltd Random accessible image data compression
CN112449140B (zh) * 2019-08-29 2021-09-14 华为技术有限公司 视频超分辨率处理方法及装置
US20220360781A1 (en) * 2019-09-23 2022-11-10 Interdigital Vc Holdings France, Sas Video encoding and decoding using block area based quantization matrices
CN112702603A (zh) * 2019-10-22 2021-04-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
EP3820138A1 (en) * 2019-11-06 2021-05-12 Koninklijke Philips N.V. A system for performing image motion compensation
BR112022008918A2 (pt) 2019-11-08 2022-08-02 Op Solutions Llc Métodos e sistemas para corte adaptável
US11843772B2 (en) * 2019-12-06 2023-12-12 Ati Technologies Ulc Video encode pre-analysis bit budgeting based on context and features
US11308093B1 (en) * 2019-12-13 2022-04-19 Amazon Technologies, Inc. Encoding scheme for numeric-like data types
EP3902244B1 (en) * 2020-04-23 2022-03-23 Axis AB Controlling a pan-tilt-zoom camera
CN111757107B (zh) * 2020-06-29 2024-03-05 北京百度网讯科技有限公司 一种视频编码方法、装置、设备及介质
US11790533B2 (en) 2020-07-02 2023-10-17 Sony Group Corporation Machine learning based image segmentation training with contour accuracy evaluation
US11388413B1 (en) 2020-08-03 2022-07-12 Meta Platforms, Inc. Fast encoding parameter selection for convex hull video encoding
US11436699B1 (en) * 2020-08-03 2022-09-06 Meta Platforms, Inc. Predicting encoding parameters for convex hull video encoding
US20210144377A1 (en) * 2020-11-19 2021-05-13 Intel Corporation Method and system of video coding with content adaptive quantization
US11363262B1 (en) * 2020-12-14 2022-06-14 Google Llc Adaptive GOP structure using temporal dependencies likelihood
CN114630120B (zh) * 2020-12-14 2024-03-29 瑞昱半导体股份有限公司 基于自适应压缩率的视频压缩方法与电路系统
KR20220090887A (ko) * 2020-12-23 2022-06-30 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 장치의 동작 방법
WO2022174118A1 (en) * 2021-02-13 2022-08-18 Meta Platforms, Inc. Video coding efficiency improvement using dynamic frame boost scaling
US20220264111A1 (en) * 2021-02-13 2022-08-18 Meta Platforms, Inc. Video coding efficiency improvement using dynamic frame boost scaling
US11638025B2 (en) * 2021-03-19 2023-04-25 Qualcomm Incorporated Multi-scale optical flow for learned video compression
US11523117B2 (en) * 2021-03-22 2022-12-06 Realtek Semiconductor Corp. Encoder using coding tree unit level adaptive quantization mode to adjust frame level quantization parameter and associated signal processing method
US11871061B1 (en) * 2021-03-31 2024-01-09 Amazon Technologies, Inc. Automated adaptive bitrate encoding
GB2608107B (en) * 2021-06-18 2023-06-14 Imagination Tech Ltd Mapping multi-dimensional coordinates to a 1D space
KR102562380B1 (ko) * 2021-10-18 2023-08-02 (주)카이미디어 8k 스케일러블 비디오 부호화 방법
US11991424B2 (en) 2021-11-05 2024-05-21 Tencent America LLC Immersive media data complexity analyzer for transformation of asset formats
CN115002482B (zh) * 2022-04-27 2024-04-16 电子科技大学 使用结构性保持运动估计的端到端视频压缩方法及系统
WO2023219600A1 (en) * 2022-05-07 2023-11-16 Google Llc Motion vector coding using a motion vector precision
US20230412812A1 (en) * 2022-06-15 2023-12-21 Tencent America LLC Systems and methods for joint signaling of transform coefficient signs
US20240080483A1 (en) * 2022-08-26 2024-03-07 Tencent America LLC Systems and methods for warp sample selection and grouping
CN115272083B (zh) * 2022-09-27 2022-12-02 中国人民解放军国防科技大学 一种图像超分辨率方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101904101A (zh) * 2007-12-19 2010-12-01 松下电器产业株式会社 编码器、解码器、编码方法和解码方法
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
JP2012080213A (ja) * 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2012112384A1 (en) * 2011-02-16 2012-08-23 General Instrument Corporation Method and system for determining a context model for video data
US20120230421A1 (en) * 2011-03-10 2012-09-13 Qualcomm Incorporated Transforms in video coding

Family Cites Families (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0151011B1 (ko) 1994-11-30 1998-10-01 김광호 바이폴라 트랜지스터 및 그 제조방법
US6542547B1 (en) * 1995-05-30 2003-04-01 Texas Instruments Incorporated Efficient heuristic based motion estimation method for video compression
US5864711A (en) * 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US5729691A (en) * 1995-09-29 1998-03-17 Intel Corporation Two-stage transform for video signals
US6160846A (en) 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
EP0799550B1 (en) 1995-10-25 2000-08-09 Koninklijke Philips Electronics N.V. Segmented picture coding method and system, and corresponding decoding method and system
JP3743837B2 (ja) * 1996-06-14 2006-02-08 株式会社大宇エレクトロニクス ランレングス符号器
US5953506A (en) 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
BR9804764A (pt) * 1997-01-13 1999-08-17 Koninkl Philips Electronics Nv Processos e conjuntos para embutir e decodificar dados suplementares em um sinal de video e sinal de video codificado com dados suplementares embutidos
US6208693B1 (en) * 1997-02-14 2001-03-27 At&T Corp Chroma-key for efficient and low complexity shape representation of coded arbitrary video objects
JP3843581B2 (ja) * 1998-03-05 2006-11-08 富士ゼロックス株式会社 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
US6895051B2 (en) 1998-10-15 2005-05-17 Nokia Mobile Phones Limited Video data encoder and decoder
US6223162B1 (en) * 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US7065253B2 (en) * 1999-09-03 2006-06-20 Intel Corporation Wavelet zerotree coding of ordered bits
WO2002051157A2 (en) 2000-12-19 2002-06-27 Pulsent Corporation Adaptive transforms
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
PT1445960T (pt) 2001-11-06 2016-11-02 Panasonic Ip Corp America Método de codificação de figuração em movimento e método de descodificação de figuração em movimento
US7453936B2 (en) * 2001-11-09 2008-11-18 Sony Corporation Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system
GB2382940A (en) * 2001-11-27 2003-06-11 Nokia Corp Encoding objects and background blocks
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
AU2002351389A1 (en) * 2001-12-17 2003-06-30 Microsoft Corporation Skip macroblock coding
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
AU2003285850A1 (en) 2002-04-23 2004-04-30 Nokia Corporation Method and device for indicating quantizer parameters in a video coding system
JP2003324731A (ja) 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
JP4767992B2 (ja) 2002-06-06 2011-09-07 パナソニック株式会社 可変長符号化方法および可変長復号化方法
US7729563B2 (en) 2002-08-28 2010-06-01 Fujifilm Corporation Method and device for video image processing, calculating the similarity between video frames, and acquiring a synthesized frame by synthesizing a plurality of contiguous sampled frames
JP3997171B2 (ja) 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
JP2004007778A (ja) 2003-07-14 2004-01-08 Victor Co Of Japan Ltd 動き補償復号化方法
US20050094729A1 (en) 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
CN1332563C (zh) 2003-12-31 2007-08-15 中国科学院计算技术研究所 一种视频图像跳过宏块的编码方法
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
EP1571850A3 (en) * 2004-03-05 2006-12-13 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding image containing grayscale alpha channel image
KR100654431B1 (ko) * 2004-03-08 2006-12-06 삼성전자주식회사 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
US7461525B2 (en) * 2004-03-13 2008-12-09 Wilson Rodney W Tile sponge washing and conditioning apparatus
JP2005301457A (ja) 2004-04-07 2005-10-27 Fuji Xerox Co Ltd 画像処理装置、プログラムおよび記録媒体
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
CN102833539B (zh) * 2004-06-27 2015-03-25 苹果公司 多通路视频编码
KR100664932B1 (ko) 2004-10-21 2007-01-04 삼성전자주식회사 비디오 코딩 방법 및 장치
EP1675402A1 (en) 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
JP2006270301A (ja) * 2005-03-23 2006-10-05 Nippon Hoso Kyokai <Nhk> シーンチェンジ検出装置およびシーンチェンジ検出プログラム
KR100703773B1 (ko) * 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
WO2006109974A1 (en) * 2005-04-13 2006-10-19 Samsung Electronics Co., Ltd. Method for entropy coding and decoding having improved coding efficiency and apparatus for providing the same
US7397933B2 (en) 2005-05-27 2008-07-08 Microsoft Corporation Collusion resistant desynchronization for digital video fingerprinting
US8064516B2 (en) * 2005-06-02 2011-11-22 Broadcom Corporation Text recognition during video compression
KR20070006445A (ko) * 2005-07-08 2007-01-11 삼성전자주식회사 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
WO2007011851A2 (en) 2005-07-15 2007-01-25 Texas Instruments Incorporated Filtered and warped motion compensation
CN101263513A (zh) 2005-07-15 2008-09-10 德克萨斯仪器股份有限公司 过滤和扭曲的运动补偿
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
RU2369038C1 (ru) 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
US8243804B2 (en) * 2005-12-01 2012-08-14 Lsi Corporation Hierarchical motion estimation for images with varying horizontal and/or vertical dimensions
US8265145B1 (en) * 2006-01-13 2012-09-11 Vbrick Systems, Inc. Management and selection of reference frames for long term prediction in motion estimation
US8279928B2 (en) * 2006-05-09 2012-10-02 Canon Kabushiki Kaisha Image encoding apparatus and encoding method, image decoding apparatus and decoding method
US8275045B2 (en) * 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
WO2008023968A1 (en) 2006-08-25 2008-02-28 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
EP2055108B1 (en) 2006-08-25 2011-04-20 Thomson Licensing Methods and apparatus for reduced resolution partitioning
US20080075173A1 (en) * 2006-09-22 2008-03-27 Texas Instruments Incorporated Systems and Methods for Context Adaptive Video Data Preparation
US20100040146A1 (en) 2006-09-22 2010-02-18 Beibei Wang Method and apparatus for multiple pass video coding and decoding
EP2082583A2 (en) 2006-11-08 2009-07-29 THOMSON Licensing Methods and apparatus for in-loop de-artifact filtering
US7460725B2 (en) 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information
US8875199B2 (en) * 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
EP1926321A1 (en) 2006-11-27 2008-05-28 Matsushita Electric Industrial Co., Ltd. Hybrid texture representation
US8396118B2 (en) * 2007-03-19 2013-03-12 Sony Corporation System and method to control compressed video picture quality for a given average bit rate
TW200840366A (en) 2007-03-28 2008-10-01 Univ Nat Central Complexity control method of video encoder
KR101336445B1 (ko) * 2007-06-08 2013-12-04 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8437564B2 (en) 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
GB0716158D0 (en) 2007-08-17 2007-09-26 Imagination Tech Ltd Data compression
US8526489B2 (en) * 2007-09-14 2013-09-03 General Instrument Corporation Personal video recorder
JP5427785B2 (ja) * 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法
CN103124354B (zh) * 2007-09-28 2016-01-20 杜比实验室特许公司 处理视频信息
US20090135901A1 (en) * 2007-11-28 2009-05-28 The Hong Kong University Of Science And Technology Complexity adaptive video encoding using multiple reference frames
US8149915B1 (en) 2007-11-29 2012-04-03 Lsi Corporation Refinement of motion vectors in hierarchical motion estimation
US20090154567A1 (en) 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
JP4309453B2 (ja) 2007-12-26 2009-08-05 株式会社東芝 補間フレーム生成装置、補間フレーム生成方法及び放送受信装置
US20090167775A1 (en) 2007-12-30 2009-07-02 Ning Lu Motion estimation compatible with multiple standards
US8126054B2 (en) 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
CN101272494B (zh) * 2008-01-25 2011-06-08 浙江大学 利用合成参考帧的视频编解码方法及装置
US8798137B2 (en) 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
US8254469B2 (en) 2008-05-07 2012-08-28 Kiu Sha Management Liability Company Error concealment for frame loss in multiple description coding
EP2277314A1 (en) 2008-05-22 2011-01-26 Telefonaktiebolaget LM Ericsson (publ) Content adaptive video encoder and coding method
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
TWI359617B (en) 2008-07-03 2012-03-01 Univ Nat Taiwan Low-complexity and high-quality error concealment
US8625681B2 (en) * 2008-07-09 2014-01-07 Intel Corporation Rate-distortion cost reducing video encoding techniques
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101441903B1 (ko) 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP4427600B1 (ja) 2008-11-28 2010-03-10 株式会社東芝 映像解析装置およびプログラム
US8774559B2 (en) * 2009-01-19 2014-07-08 Sharp Laboratories Of America, Inc. Stereoscopic dynamic range image sequence
TWI498003B (zh) 2009-02-02 2015-08-21 Thomson Licensing 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
EP2271102A1 (en) 2009-06-29 2011-01-05 Thomson Licensing Adaptive residual image coding
KR20120046727A (ko) 2009-08-06 2012-05-10 파나소닉 주식회사 부호화 방법, 복호 방법, 부호화 장치 및 복호 장치
US8379718B2 (en) 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
US8711938B2 (en) * 2009-09-04 2014-04-29 Sharp Laboratories Of America, Inc. Methods and systems for motion estimation with nonlinear motion-field smoothing
JP2011066844A (ja) 2009-09-18 2011-03-31 Toshiba Corp 並列復号装置及びプログラム並びに符号化データの並列復号方法
WO2011039931A1 (ja) 2009-09-30 2011-04-07 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US8705623B2 (en) * 2009-10-02 2014-04-22 Texas Instruments Incorporated Line-based compression for digital image data
EP2312854A1 (de) * 2009-10-15 2011-04-20 Siemens Aktiengesellschaft Verfahren zur Codierung von Symbolen aus einer Folge digitalisierter Bilder
US9445119B2 (en) * 2009-10-29 2016-09-13 Vestel Elektronik Sanayi Ve Ticaret A.S. Method and device for processing a video sequence
US9473792B2 (en) 2009-11-06 2016-10-18 Texas Instruments Incorporated Method and system to improve the performance of a video encoder
US20110109721A1 (en) 2009-11-06 2011-05-12 Sony Corporation Dynamic reference frame reordering for frame sequential stereoscopic video encoding
KR20120086232A (ko) 2011-01-25 2012-08-02 (주)휴맥스 율-왜곡 최적화를 위한 영상 부호화/복호화 방법 및 이를 수행하는 장치
US9819358B2 (en) 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US8559511B2 (en) 2010-03-30 2013-10-15 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for video coding by ABT-based just noticeable difference model
KR101390620B1 (ko) * 2010-03-31 2014-04-30 인텔 코포레이션 비디오 인코딩을 위한 전력 효율적인 움직임 추정 기법
JP5377395B2 (ja) 2010-04-02 2013-12-25 日本放送協会 符号化装置、復号装置及びプログラム
KR20110112168A (ko) 2010-04-05 2011-10-12 삼성전자주식회사 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치
JP5393573B2 (ja) * 2010-04-08 2014-01-22 株式会社Nttドコモ 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法、動画像予測符号化プログラム、及び動画像予測復号プログラム
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
EP2559166B1 (en) * 2010-04-13 2017-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
ES2907203T3 (es) * 2010-04-13 2022-04-22 Ge Video Compression Llc Codificación de vídeo que usa subdivisiones multiárbol de imágenes
EP2559238B1 (en) 2010-04-13 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive image filtering method and apparatus
US20110255594A1 (en) * 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
KR101444691B1 (ko) 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
WO2011150109A1 (en) 2010-05-26 2011-12-01 Qualcomm Incorporated Camera parameter- assisted video frame rate up conversion
KR20110135787A (ko) 2010-06-11 2011-12-19 삼성전자주식회사 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법
WO2011158225A1 (en) * 2010-06-17 2011-12-22 Mirtemis Ltd. System and method for enhancing images
US8934540B2 (en) * 2010-07-20 2015-01-13 Cisco Technology, Inc. Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks
WO2012025790A1 (en) 2010-08-26 2012-03-01 Freescale Semiconductor, Inc. Video processing system and method for parallel processing of video data
KR101583200B1 (ko) 2010-09-27 2016-01-07 엘지전자 주식회사 블록 분할 방법 및 복호화 장치
US8902988B2 (en) 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US9628821B2 (en) * 2010-10-01 2017-04-18 Apple Inc. Motion compensation using decoder-defined vector quantized interpolation filters
US8885704B2 (en) * 2010-10-01 2014-11-11 Qualcomm Incorporated Coding prediction modes in video coding
WO2012047304A1 (en) * 2010-10-04 2012-04-12 Vidyo, Inc. Delay aware rate control in the context of hierarchical p picture coding
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
WO2012052968A1 (en) * 2010-10-20 2012-04-26 Nokia Corporation Method and device for video coding and decoding
US8873627B2 (en) * 2010-12-07 2014-10-28 Mediatek Inc Method and apparatus of video coding using picture structure with low-delay hierarchical B group
US8761245B2 (en) 2010-12-21 2014-06-24 Intel Corporation Content adaptive motion compensation filtering for high efficiency video coding
US9462280B2 (en) 2010-12-21 2016-10-04 Intel Corporation Content adaptive quality restoration filtering for high efficiency video coding
CN102572419B (zh) * 2010-12-28 2014-09-03 深圳市云宙多媒体技术有限公司 一种帧间预测方法、装置
US20130287106A1 (en) 2011-01-07 2013-10-31 Samsung Electronics Co., Ltd. Video prediction method capable of performing bilateral prediction and unilateral prediction and a device thereof, video encoding method and device thereof, and video decoding method and device thereof
JP5988252B2 (ja) * 2011-01-12 2016-09-07 サン パテント トラスト 複数の参照ピクチャを用いた、動画像符号化方法、動画像復号方法、動画像符号化装置、及び、動画像復号装置
US9602819B2 (en) * 2011-01-31 2017-03-21 Apple Inc. Display quality in a variable resolution video coder/decoder system
GB2488159B (en) 2011-02-18 2017-08-16 Advanced Risc Mach Ltd Parallel video decoding
JP2012186763A (ja) 2011-03-08 2012-09-27 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US9154799B2 (en) * 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US20120262545A1 (en) * 2011-04-18 2012-10-18 Paul Kerbiriou Method for coding and decoding a 3d video signal and corresponding devices
US9485517B2 (en) 2011-04-20 2016-11-01 Qualcomm Incorporated Motion vector prediction with motion vectors from multiple views in multi-view video coding
KR101215152B1 (ko) 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US8494290B2 (en) 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
US8989270B2 (en) * 2011-06-23 2015-03-24 Apple Inc. Optimized search for reference frames in predictive video coding system
US20130003857A1 (en) 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during inter coding
NO335667B1 (no) 2011-06-29 2015-01-19 Cisco Systems Int Sarl Metode for videokomprimering
MY164252A (en) 2011-07-01 2017-11-30 Samsung Electronics Co Ltd Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
KR101362696B1 (ko) 2011-10-19 2014-02-17 전북대학교산학협력단 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체
KR20130045425A (ko) 2011-10-25 2013-05-06 (주)케이테크 소셜 온톨로지 기반 지식 전문가 추천방법
EP2777287A2 (en) 2011-11-07 2014-09-17 VID SCALE, Inc. Video and data processing using even-odd integer transforms background
US20130223524A1 (en) * 2012-02-29 2013-08-29 Microsoft Corporation Dynamic insertion of synchronization predicted video frames
US9912944B2 (en) * 2012-04-16 2018-03-06 Qualcomm Incorporated Simplified non-square quadtree transforms for video coding
KR101327078B1 (ko) * 2012-04-27 2013-11-07 엘지이노텍 주식회사 카메라 및 이의 영상 처리 방법
JP6055555B2 (ja) 2012-11-13 2016-12-27 インテル コーポレイション 次世代ビデオのためのビデオコーデックアーキテクチャ
EP2920962A4 (en) 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
US9794569B2 (en) 2013-01-30 2017-10-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101904101A (zh) * 2007-12-19 2010-12-01 松下电器产业株式会社 编码器、解码器、编码方法和解码方法
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
JP2012080213A (ja) * 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2012112384A1 (en) * 2011-02-16 2012-08-23 General Instrument Corporation Method and system for determining a context model for video data
US20120230421A1 (en) * 2011-03-10 2012-09-13 Qualcomm Incorporated Transforms in video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARTA KARCZEWICZ 等: "Video coding technology proposal by Qualcomm Inc.", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11,1ST MEETING: DRESDEN, DE, 15-23 APRIL, 2010.JCTVC-A121》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929642B (zh) * 2014-04-24 2017-04-12 北京航空航天大学 一种hevc变换系数的熵编码上下文模型偏移值快速计算方法
CN103929642A (zh) * 2014-04-24 2014-07-16 北京航空航天大学 一种hevc变换系数的熵编码上下文模型偏移值快速计算方法
US11363253B2 (en) 2016-05-13 2022-06-14 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
CN109496430A (zh) * 2016-05-13 2019-03-19 Vid拓展公司 用于视频编码的通用式多假设预测的系统及方法
US11218738B2 (en) 2016-10-05 2022-01-04 Interdigital Madison Patent Holdings, Sas Method and apparatus for restricting binary-tree split mode coding and decoding
CN109792539A (zh) * 2016-10-05 2019-05-21 交互数字Vc控股公司 用于二叉树分割模式编码的方法和装置
CN109792539B (zh) * 2016-10-05 2022-02-08 交互数字麦迪逊专利控股公司 用于二叉树分割模式编码的方法和装置
CN108781287A (zh) * 2016-12-26 2018-11-09 日本电气株式会社 视频编码方法、视频解码方法、视频编码设备、视频解码设备以及程序
CN108781286A (zh) * 2016-12-26 2018-11-09 日本电气株式会社 视频编码方法、视频解码方法、视频编码设备、视频解码设备以及程序
US11153602B2 (en) 2018-01-24 2021-10-19 Vid Scale, Inc. Generalized bi-prediction for video coding with reduced coding complexity
CN110339567A (zh) * 2019-07-17 2019-10-18 三星电子(中国)研发中心 系统资源配置、场景预测模型训练方法和装置
CN111814844A (zh) * 2020-03-17 2020-10-23 同济大学 一种基于位置编码融合的密集型视频描述方法
CN111814844B (zh) * 2020-03-17 2023-07-11 同济大学 一种基于位置编码融合的密集型视频描述方法

Also Published As

Publication number Publication date
CN104885470A (zh) 2015-09-02
US10009610B2 (en) 2018-06-26
CN105556964B (zh) 2019-02-01
CN104718756B (zh) 2019-02-15
EP2952002A4 (en) 2016-09-21
US9794568B2 (en) 2017-10-17
US20150010062A1 (en) 2015-01-08
KR102063385B1 (ko) 2020-01-07
US9787990B2 (en) 2017-10-10
US9973758B2 (en) 2018-05-15
EP2951993A1 (en) 2015-12-09
JP6339099B2 (ja) 2018-06-06
EP3013053A2 (en) 2016-04-27
KR20150090194A (ko) 2015-08-05
WO2014120375A2 (en) 2014-08-07
US20140362922A1 (en) 2014-12-11
EP2952001A1 (en) 2015-12-09
EP2952004A4 (en) 2016-09-14
KR20150058324A (ko) 2015-05-28
EP3008900A4 (en) 2017-03-15
US10021392B2 (en) 2018-07-10
US10284852B2 (en) 2019-05-07
EP2952002A1 (en) 2015-12-09
BR112015015575A2 (pt) 2020-02-04
JP2016508327A (ja) 2016-03-17
EP3013053A3 (en) 2016-07-20
US20160277739A1 (en) 2016-09-22
WO2014120960A1 (en) 2014-08-07
CN105052140B (zh) 2019-01-15
US20180176577A1 (en) 2018-06-21
US9686551B2 (en) 2017-06-20
US20170318297A1 (en) 2017-11-02
RU2015126241A (ru) 2017-01-11
RU2612600C2 (ru) 2017-03-09
KR101770047B1 (ko) 2017-08-21
EP2951999A1 (en) 2015-12-09
CN104737542B (zh) 2018-09-25
EP2951999A4 (en) 2016-07-20
CN104885455A (zh) 2015-09-02
CN104885471A (zh) 2015-09-02
CN105052140A (zh) 2015-11-11
CN104718756A (zh) 2015-06-17
CN104885467B (zh) 2018-08-17
US9609330B2 (en) 2017-03-28
EP2951994A1 (en) 2015-12-09
WO2014120368A1 (en) 2014-08-07
WO2014120575A1 (en) 2014-08-07
WO2014120656A1 (en) 2014-08-07
JP6286718B2 (ja) 2018-03-07
EP2951995A1 (en) 2015-12-09
EP2951995A4 (en) 2016-09-21
WO2014120373A1 (en) 2014-08-07
CN105191309A (zh) 2015-12-23
US20150319441A1 (en) 2015-11-05
US9973757B2 (en) 2018-05-15
EP2952003B1 (en) 2019-07-17
EP2996338A3 (en) 2016-07-06
US20160127741A1 (en) 2016-05-05
WO2014120369A1 (en) 2014-08-07
US10284853B2 (en) 2019-05-07
CN104737542A (zh) 2015-06-24
JP2016506187A (ja) 2016-02-25
US20150229926A1 (en) 2015-08-13
US20150036737A1 (en) 2015-02-05
WO2014120374A1 (en) 2014-08-07
WO2015099814A1 (en) 2015-07-02
JP2016514378A (ja) 2016-05-19
JP6163674B2 (ja) 2017-07-19
EP3008900A2 (en) 2016-04-20
EP2951998A1 (en) 2015-12-09
CN104885471B (zh) 2019-06-28
WO2014120375A3 (en) 2016-03-17
US20170006284A1 (en) 2017-01-05
EP2952003A1 (en) 2015-12-09
US20150319442A1 (en) 2015-11-05
KR20150090206A (ko) 2015-08-05
US20150373328A1 (en) 2015-12-24
US9794569B2 (en) 2017-10-17
CN104885467A (zh) 2015-09-02
CN105191309B (zh) 2018-08-10
EP2952004A1 (en) 2015-12-09
EP2996338A2 (en) 2016-03-16
EP2952001A4 (en) 2016-09-14
EP2951993A4 (en) 2016-09-14
WO2014120987A1 (en) 2014-08-07
US20160277738A1 (en) 2016-09-22
CN105453570B (zh) 2020-03-17
WO2014120367A1 (en) 2014-08-07
EP2951994A4 (en) 2016-10-12
US20150016523A1 (en) 2015-01-15
KR20170066712A (ko) 2017-06-14
EP2951998A4 (en) 2016-09-28
CN104885455B (zh) 2019-02-22
CN104885470B (zh) 2018-08-07
EP2952003A4 (en) 2016-09-14
KR20150055005A (ko) 2015-05-20
US9762911B2 (en) 2017-09-12
CN105556964A (zh) 2016-05-04
KR20150090178A (ko) 2015-08-05

Similar Documents

Publication Publication Date Title
CN105453570A (zh) 用于下一代视频的对分区数据的内容自适应熵编码
CN104737540B (zh) 用于下一代视频的视频编解码器架构
CN104704827B (zh) 用于下一代视频的内容自适应变换译码
CN103262541B (zh) 使用四叉树来编码/解码块信息的方法、和使用该方法的装置
CN103621099A (zh) 熵解码方法和使用其的解码装置
CN104620576A (zh) 可缩放视频译码中的替代变换
CN103621091A (zh) 管理参考图片列表的方法及使用该方法的装置
CN103283237A (zh) 帧内预测方法和使用该方法的设备
CN104685874A (zh) 用于在高效率视频编解码中处理分区模式的设备和方法
CN116648906A (zh) 通过指示特征图数据进行编码
CN105027560A (zh) 确定用于变换系数的二进制码字的方法
CN116671106A (zh) 使用分割信息的信令解码
CN104798373A (zh) 包括在多个独立编码流之间的共享运动估计的视频编码
CN105453567A (zh) 用于非变换编码的扫描次序
US20240007659A1 (en) Video-stream format for machine analysis using npu
CN117395431A (zh) 用于解码/编码视频的神经处理单元及其装置
CN104349170A (zh) 对视频信号进行解码的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant