CN104885471A - 用于下一代视频的编码/未编码的数据的内容自适应熵编码 - Google Patents

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

Info

Publication number
CN104885471A
CN104885471A CN201380068583.5A CN201380068583A CN104885471A CN 104885471 A CN104885471 A CN 104885471A CN 201380068583 A CN201380068583 A CN 201380068583A CN 104885471 A CN104885471 A CN 104885471A
Authority
CN
China
Prior art keywords
bit
coding
video data
negate
variable length
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
CN201380068583.5A
Other languages
English (en)
Other versions
CN104885471B (zh
Inventor
A·普里
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 CN104885471A publication Critical patent/CN104885471A/zh
Application granted granted Critical
Publication of CN104885471B publication Critical patent/CN104885471B/zh
Expired - Fee Related 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/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/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/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日递交的、且名为“NEXTGENERATION VIDEO CODING”的美国临时申请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为示出了示例性过程的流程图;
图23为示出了示例性过程的流程图;
图24为示出了示例性过程的流程图;
图25为示出了示例性过程的流程图;以及
图26为全部根据本公开的至少一些实施方式而布置的示出了示例性过程的流程图。
具体实施方式
现在参照附图来描述一个或多个实施例或实施方式。虽然讨论了特定的配置和布置,但是应该理解的是这仅是为了说明的目的而进行的。相关领域的技术人员将认识到可以利用其它的配置和布置而不偏离描述的精神和范围。对相关领域的技术人员而言将显而易见的是,本申请中描述的技术和/或布置也可以在与本申请中所描述的不同的各种其他系统和应用中采用。
虽然以下描述阐述了可以在诸如例如片上系统(SoC)架构中表示的各种实施方式,但是本申请中描述的技术和/或布置的实施方式并不限于特定的架构和/或计算系统,且其可以为了类似的目的由任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构、和/或诸如机顶盒、智能电话等的各种计算设备和/或消费电子(CE)设备可以实现本申请中描述的技术和/或布置。此外,虽然以下描述可能阐述了诸如逻辑实现、系统组件的类型和相互关系、逻辑分块/集成选择等的许多特定细节,但是可以在没有这样的特定细节的情况下实践要求保护的主题。在其他实例中,为了不混淆本申请中所公开的资料,可能不详细示出诸如例如控制结构和完整的软件指令序列之类的一些材料。
本申请中公开的资料可以以硬件、固件、软件或其任何组合来实现。本申请中公开的资料也可以实现为在机器可读介质上存储的指令,该指令可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或发送信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等);以及其他的。
本说明书中提及的“一个实施方式”、“实施方式”、“一示例性实施方式”等指示所描述的实施方式可以包括特定的特征、结构、或特性,但是每一实施例未必包括该特定的特征、结构或特性。此外,这样的短语未必指代同一实施方式。此外,当结合实施例描述特定的特征、结构或特性时,所主张的是,无论在本申请中是否明确描述,结合其他实施方式来产生这样的特征、结构或特性是在本领域的普通技术人员的知识之内的。
下文描述了与用于视频系统的内容自适应熵编码有关的系统、装置、制品和方法。
下文描述了下一代视频(NGV)系统、装置、制品和方法。NGV视频编码可将基于重要内容的自适应性并入到视频编码过程中,以实现更高的压缩。如上文所讨论的,H.264/AVC标准可能具有多种局限性,并且正在进行的对改进标准(诸如例如HEVC标准)的尝试可以使用迭代方法来解决这些局限性。在本申请中将描述具有编码器和解码器的NGV系统。
例如,H.264标准可支持两种模式的熵编码。在第一模式中,自适应VLC(可变长度编码),可使用上下文自适应VLC(CAVLC)对变换系数进行编码,并使用指数哥伦布编码对所有其他的语法元素(例如,开销数据、模式、运动向量等)进行编码。经CAVLC编码的数据和经指数哥伦布编码的数据可被复用以产生经编码的比特流。在第二模式中,可使用上下文自适应二进制算术编码(CABAC)对所有数据进行编码。相对应的解码器也可以以两种模式操作,在第一模式中,分解并解码复用的比特流,并且在第二模式中,对经CABAC编码的比特流进行解码,这种技术可能有局限性。例如,CABAC编码可能是有效的但是也有可能复杂的,使得在更高分辨率上下文中的吞吐量可能是有限的。此外,通过将数据集合在一起进行编码,可能无法优化熵编码的效率和复杂度。
在一些视频编解码器的实施方式中,对各种数据(例如开销数据、模式、运动向量、和/或变换系数)的熵编码和解码可以是对系统的编码效率和复杂度的重要贡献者。在一些示例中,本申请所讨论的技术可以平衡编码效率和系统复杂度。
在一些示例中,可在熵编码器模块处接收第一视频数据和第二视频数据以进行熵编码。该第一视频数据和第二视频数据可以是不同的数据类型(例如,报头数据,变形参数,合成参数,或全局图数据(map data)或运动向量或帧内预测分区数据等,如本申请进一步讨论的)。可基于与该第一视频数据相关联的参数来确定用于第一视频数据的第一熵编码技术,该参数诸如例如,第一视频数据的多个压缩的比特、与第一视频数据相关联的预先确定的指示符或标志,预先确定的阈值、或以启发式地确定的阈值等。在一些示例中,第一熵编码技术可以从自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一个中选择出来。可使用第一熵编码技术对第一视频数据进行熵编码,并可使用第一熵编码技术对第二视频数据进行熵编码。在一些示例中,可基于关于该第一视频数据所讨论的参数来确定用于第二视频数据的第二熵编码技术。在一些示例中,第二熵编码技术可根据包括以下技术的选项来确定:自适应符号运行可变长度编码技术、自适应代理可变长度编码技术、自适应向量可变长度编码、自适应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树帧内预测/编码划分器模块来执行或通过经由编码分区生成器模块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)子系统。
可以向块分析器(blockiness analyzer)和解块滤波模块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   图片组结构信息
pptn cand. 预测分块候选者
cptn cand. 编码分块候选者
prp    预处理
xmtyp  变换类型信息
xmdir  变换方向信息
xmmod  变换模式
ethp   八分之一(1/8th)像素运动预测
pptn   预测分块
cptn   编码分块
mot和cod cost: 运动和编码成本
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的特定示例性功能模块关联,但是其他实施方式可以包括编码器300的功能模块之间的控制信号的不同分布。本发明在该方面中不受限制,且在各个示例中,本申请中的控制信号的实施方式可以包括仅采用所示出的特定示例性控制信号、额外控制信号、和/或在与所示出的不同的布置中的子集。
图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的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。
如所示出的,模式信息数据636可通过用于模式模块的符号运行VLC和/或代理VLC编码器632被接收。在一些示例中,如在本申请中所讨论的,可基于模式信息数据636的一个参数、多个参数或特性或其他系统参数(例如,压缩效率、数据特性等)确定针对模式信息数据636的熵编码技术。所确定的熵编码技术可应用到模式信息数据636,以生成压缩的模式信息数据642。如所示出的,在一些示例中,针对模式信息数据636的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。
如所示出的,预测参考信息数据638可通过用于参考类型模块的符号运行VLC和/或代理VLC编码器634被接收。在一些示例中,如在本申请中所讨论的,可基于预测参考信息数据638的一个参数、多个参数或特性或其他系统参数(例如,压缩效率、数据特性等)确定针对预测参考信息数据638熵编码技术。所确定的熵编码技术可应用到预测参考信息数据638,以生成压缩的预测参考信息数据644。如所示出的,在一些示例中,用于预测参考信息数据638的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。
如所示出的,编码器模块404可包括用于编码/未编码的数据的符号运行VLC和/或代理VLC 641,并可接收视频数据414。视频数据414可具有数据类型,使得视频数据414可以包括编码/未编码的数据。例如,如果分区(或子分区)具有任何非零变换系数,则其可以被编码,并且如果分区(或子分区)具有全部为零的变换系数,则其可以不被编码。在一些示例中,对于具有帧内或跳过模式的分区,可以不需要编码/未编码的数据。在一些示例中,对于具有自动、帧间、或多个模式的分区,可以需要编码/未编码的数据。在一些示例中,可基于视频数据414的一个参数、多个参数或特性或其他系统参数确定针对视频数据414的熵编码技术。在一些示例中,针对视频数据414的熵编码技术可以是自适应符号运行可变长度编码技术、自适应代理可变长度编码技术中的一种,如以上所描述的。所确定的熵编码技术可应用到视频数据414,以生成压缩的视频数据424。在一些示例中,如所讨论的,编码器模块404可以确定哪一种技术提供最大的压缩系数,从而使得与视频数据411相关联的参数可以是每种编码技术所需的比特的数量等。在一些示例中,与视频数据411相关联的参数可基于视频数据的特性,从而使得所确定的编码技术可自适应于接收到的视频数据。
如所示出的,在一些示例中,编码器模块405可包括用于变换系数模块的自适应向量VLC编码器651、和/或用于变换系数模块的自适应1D和2D VLC编码器652。
如所示出的,用于变换系数模块的自适应向量VLC编码器651可接收变换系数数据653,变换系数数据653可包括用于具有在一个维度中大小为2的块或分区或子分区(例如,2×K分区或K×2大小的分区)的块或分区或子分区的变换系数数据。自适应向量可变长度编码技术可应用到变换系数数据653,以生成压缩的变换系数数据655。在一些示例中,自适应向量可变长度编码技术可包括对块或分区的四叉树划分,其表示通过利用单个向量码字的四叉树分割所生成的每个四分之一(该单个向量码字表示具有单个索引值的所有系数),并使用可变长度编码技术等对该码字进行熵编码。
同样如所示出的,用于变换系数模块的自适应1D和2D VLC编码器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和2D VLC解码器752,并且可接收压缩的视频数据515。
如所示出的,用于变换系数模块的自适应向量VLC解码器751可接收压缩的变换系数数据753,如在本申请中所讨论的,压缩的变换系数数据753可以包括针对在一个维度中具有大小为2的块或分区或子分区(例如,2×K分区或K×2大小的分区)的压缩的变换系数数据。在一些示例中,用于变换系数模块的自适应向量VLC解码器751可应用自适应向量可变长度编码技术以对压缩的变换系数数据753进行熵解码,以生成变换系数数据755。如所讨论的,在一些示例中,自适应向量可变长度编码技术可包括使用可变长度码字以生成对块的四叉树分割的所有系数,所述块可通过合并四叉树分割生成。
如所示出的,用于变换系数模块的自适应1D和2D VLC解码器752可接收压缩的变换系数数据754,压缩的变换系数数据754可以包括针对具有4×4大小的块或分区或子分区以及用于所有其他块或分区或子分区大小(例如,4×8、8×4、8×8、16×16、32×32、64×64等)的压缩的变换系数数据。用于变换系数模块的自适应1D和2D VLC解码器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核心”,可以存储在有形的、机器可读介质上,并提供给各个客户或生产设施备以装载到实际制造该逻辑或处理器的生产机器中。
如所讨论的,本申请中描述了与对视频系统的内容自适应熵编码相关的系统、装置、制品和方法。在一些示例中,在本申请中关于用于对视频系统的、针对编码/未编码的视频数据(例如,指示块或分区等是否包括非零变换系数的数据)进行内容自适应熵编码的系统、装置、制品和方法。
在一些示例中,可以从多个熵编码技术中确定针对编码/未编码的视频数据的所选择的熵编码技术。例如,该多个熵编码技术可以包括代理可变长度编码技术和符号运行编码技术,该多个熵编码技术可以包括针对不同的序列实现不同的可变长度编码(例如,通过代理可变长度编码表)的两个或更多代理可变长度编码技术,或该多个熵编码技术可以包括实现不同代码(例如,通过符号运行编码表)的两个或更多符号运行编码技术等。
在一些示例中,所选择的熵编码技术可以基于对与编码/未编码的视频数据关联的各种处理的比特流的评估。例如,处理的比特流可以包括通过(pass-through)比特流(例如,为编码/未编码的视频数据的比特流)、反向的比特流(例如,编码/未编码的视频数据的反向)、取反的比特流(例如,编码/未编码的视频数据的比特取反)、或差异比特流(例如,编码/未编码的视频数据的比特差异)。可以基于各种熵编码技术(例如,如所讨论的代理可变长度编码技术和符号运行编码技术)来评估各种处理的比特流,以确定具有最小比特成本的处理的比特流和熵编码技术(例如,最少比特的被评估的处理的比特流和熵编码技术)。可以将处理的比特流熵编码以生成编码的编码/未编码的视频数据比特流且编码的编码/未编码的视频数据比特流可以被组装以生成输出比特流。在一些示例中,输出比特流还可以包括指示所选择的熵编码技术和处理的比特流的类型(例如,通过、反向、取反、差异等)的编码/未编码的视频数据。
如本申请中所讨论的,编码器模块404可以包括针对编码/未编码的数据的符号运行VLC和/或代理VLC编码器641(请参考图6)。编码器模块404可以通过用于编码/未编码的数据的符号运行VLC和/或代理VLC编码器641接收视频数据414,视频数据414可以包括编码/未编码的符号比特,如在本申请中进一步讨论的。用于编码/未编码的数据的符号运行VLC和/或代理VLC编码器641可以基于视频数据414的一个参数、多个参数或特性或其他系统参数确定针对视频数据414的熵编码技术。在一些示例中,针对视频数据414的熵编码技术可以是自适应符号运行可变长度编码技术或自适应代理可变长度编码技术中的一个、或多个自适应符号运行可变长度编码技术或多个自适应代理可变长度编码技术、或其组合,如本申请中所描述的。所确定的熵编码技术可以应用于视频数据414,以生成压缩的视频数据424。如在本申请中进一步讨论的,编码器模块404可以确定哪一个技术提供了最大的压缩效率,使得与视频数据414关联的参数可以是针对每一编码技术等所需的比特数目。在一些示例中,与视频数据314关联的参数可以基于视频数据的特性,使得所确定的编码技术可以自适应于所接收的视频数据。
如所讨论的,下一代视频编码可以使用3种图片类型,I图片、P图片、和F图片。例如,I图片和P图片,虽然它们在预测和编码细节具有差异,但是它们在功能上类似。例如,P图片或F图片的帧间分区(例如,如在本申请中被称为帧间块),在变换和量化(请参考图1)之后,可以导致任何非零的量化的变换系数(可能需要向解码器发送)或全零的量化的变换系数(例如,没有非零的量化的变换系数)。如果块(例如,分区)具有任何非零的变化系数,则该块可以被分类为编码的。如果块没有非零的变换系数,则该块可以被分类为未编码的。可以通过输出比特流111等向解码器传送该编码/未编码的(例如,CNC)数据。在一些实施方式中,由于使用可能导致很多小块的可变块大小划分,尤其是以较高的比特率,因此编码/未编码的数据可以是大量的。
图19是根据本公开的至少一些实施方式布置的编码/未编码的帧间块的示例性图片1900的直观图。如在图19中所示出的,图片1900可以包括瓦片1910,其可以包括一个或多个块、分区、子分区等,如本申请中所讨论的。在本申请中的讨论中,为了清楚起见,可以使用术语块;但是,应该理解的是,术语块可以代表预测分区或子分区等,其基本上可以为任何大小或形状。例如,图片1900可以是用于使用量化器值(例如,量化参数,Qp)8进行编码的具有32x32瓦片大小的P图片。例如,量化器值可以确定变换系数的量化中的步长值(例如,通过自适应量化模块109,请参见图1)。在图19中,以浅灰示出了编码的帧间块1920且以深灰示出了未编码的帧间块1930。以白色示出的块可以是其他类型的块(例如,帧内、跳过、或自动块),使得帧间预测不应用于这样的块。对这样的块的预测可能与本讨论不相关。
如在图19中所示,对于较小的量化器值(例如,Qp=8),用于编码的划分可导致显著数量的编码的帧间块1920和未编码的帧间块1930。例如,可能存在显著密度的编码/未编码的帧间块。在一些示例中,可以向(例如,编码/未编码的块1920、1930中的)每一块分配一比特。在这样的示例中,编码/未编码的(例如,CNC)数据可以导致大量的数据比特流。
图20是根据本公开的至少一些实施方式布置的编码/未编码的帧间块的示例性图片2000的直观图。如在图20中所示,图片2000可以包括瓦片2010,其可以包括一个或多个块、分区、预测分区、子分区等,如本申请中所讨论的。例如,图片2000可以是具有用于使用量化器值32编码的64x64瓦片大小的F图片。在图20中,以浅灰示出编码的帧间块2020且以深灰示出了未编码的帧间块2030。如关于图19所讨论的,以白色示出的块可以是其他类型的块(例如,帧内、跳过、或自动块),使得帧间预测不应用于这样的块且其可以不与本讨论相关。
如在图20中所示,对于较大的量化器值(例如,Qp=32),用于编码的划分可导致较小数目的编码的帧间块2020和未编码的帧间块2030。例如,与图19的示例相比较,可存在更小密度的编码/未编码的帧间块。此外,与P图片相比,通常,F图片可具有更小密度的编码/未编码的帧间块。进一步地,与更复杂或更面向运动的视频序列相比,更不复杂的场景或视频序列可以具有更小密度的编码/未编码的帧间块。此外,如关于图19所讨论的,在一些示例中,可以向(例如,编码/未编码的块2020、2030中的)每一块分配一比特。
在一些示例中,本申请中讨论的熵编码技术可以用于对编码/未编码的数据进行编码。在一些示例中,可以使用自适应符号运行可变编码技术。在一些示例中,可以使用自适应代理可变长度编码技术。这样的技术已经在本申请中进行了描述且为了简洁起见将不进行重复。在一些实施方式中,针对如在本申请中的其他地方所讨论的自适应符号运行可变编码和/或自适应代理可变长度编码讨论的各种技术可以针对编码器模块404、子模块、及本申请中讨论的各种方法和模式而使用。
如下文进一步讨论的,所描述的熵编码技术(例如,自适应符号运行可变编码和自适应代理可变长度编码)各自可以基于在熵编码实施方式中使用的编码、符号等被修改。下文将针对诸如下文的表3-12的符号运行可变长度编码表和代理可变长度编码表而在本申请中进一步描述这样的实施方式。
此外,所选择的熵编码技术可以对与编码/未编码的视频数据相关联的处理的比特流进行操作。例如,视频数据的帧可以具有块(或分区)结构。参考图19,图片1910可以具有如通过编码/未编码的块1920、1930示出的块结构。例如,块结构可以包括将图片1910划分成块(或分区)。在一些示例中,块结构可以非常复杂且可以自适应于图片1910、临近图片(或帧)、编码设置等的各种特性和/或参数。在一些示例中,可以读与视频帧关联的块结构(例如,由自适应熵编码器110或其中的模块)。块结构可以与编码/未编码的视频数据相关联,使得编码/未编码的视频数据的比特针对编码的块结构的块(例如,具有非零的变换系数)指示1并且针对未编码的块结构的块(例如,具有非零的变换系数)指示0。
随后,可以处理编码/未编码的视频数据。例如,对于P图片,可以基于编码/未编码的视频数据而生成1维光栅扫描并且可以基于编码/未编码的视频数据生成基于块的1维扫描。在一些示例中,1维光栅扫描和基于块的1维扫描可以被认为是与编码/未编码的视频数据相关联的处理的比特流。此外,1维光栅扫描或基于块的1维扫描或两者可以通过执行比特逆、反向、差异等被进一步处理。如本申请中所描述的,这样的进一步的比特流也可以被认为是处理的比特流。
可以使用所选择的熵编码技术(例如,包括如本申请中所描述的使用表的所选择的编码、符号等)来对与编码/未编码的视频数据相关联的处理的比特流进行熵编码。例如,可以基于评估关于多个处理的比特流的多个熵编码技术来选定所选择的熵编码技术,以确定所选择的熵编码技术和相关的(例如,所选择的)处理的比特流。
图21是根据本公开的至少一些实现方式布置的示例性编码/未编码的数据编码器模块404的直观图。如所示出的,编码/未编码的数据编码器模块404(为了简洁起见,在本申请中,编码/未编码的数据编码器模块404可以被描述为编码器模块404)可以包括符号用于编码/未编码的数据的运行VLC和/或代理VLC编码器641,如针对图6所讨论的。在一些示例中,编码/未编码的数据编码器模块404可以不包括用于编码/未编码的数据的符号运行VLC和/或代理VLC编码器641。自适应熵编码器110的其他模块(例如,编码器模块401-403和405-407)可以如在本申请中的其他地方所描述的来实现且将不关于图21而对其进行进一步描述。在一些示例中,编码/未编码的数据编码器模块404可以通过并入多个自适应技术来提供效率。此外,编码/未编码的数据编码器模块404可以在提供非常低复杂度的同时允许编码效率。
也如在图21中所示出的,编码/未编码的数据编码器模块404可以包括编码/未编码的数据处理器模块2101、符号运行生成和可变长度编码(VLC)查询表(LUT)模块2111、代理可变长度编码(VLC)查询表(LUT)模块2120、编码/未编码的可变长度编码(VLC)编码器模块2130、以及最小比特选择器2140。如所示出的,符号运行生成和VLC LUT模块2111可以包括多个符号运行生成和VLC LUT模块2112、2113、2114。符号运行生成和VLC LUT模块2111可以包括任何数目的诸如与本申请中讨论的符号运行VLC表等对应的模块的模块。此外,代理VLC LUT模块2121可以包括多个代理VLC LUT模块2122、2123、2124。代理VLC LUT模块2111可以包括任何数目的诸如与本申请中所讨论的代理VLC表等对应的模块的模块。
也如所示出的,编码/未编码的数据处理器模块2101可以包括比特通过模块2102、比特重扫描器/反向器模块2103、比特取反器模块2104、以及比特差异确定器模块2105。例如,编码/未编码的数据处理器模块2101和编码/未编码的VLC编码器模块2130可以接收视频数据414。视频数据414可以包括任何合适的编码/未编码的视频数据(例如,如所示出的包括编码/未编码的符号比特)。在一些示例中,视频数据414可以包括与视频帧或图片的块结构相关联的编码/未编码的视频数据。在一些示例中,视频数据414可以包括可以是编码/未编码(例如,1可以指示编码的且0可以指示未编码的)的各种大小块(或分区)的2维描述的代表。
可以由编码/未编码的数据处理模块2101接收和处理视频数据414。例如,编码/未编码的数据处理模块2101可以通过模块2102、2103、2104、2105中的一个或多个来处理414。在一些示例中,编码/未编码的数据处理模块2101可以通过模块2102、2103、2104、2105的全部并行地处理视频数据414。如所讨论的,编码/未编码的数据处理模块2101可以包括比特通过模块2102、比特重扫描/反向器模块2103、比特取反器模块2104、和/或比特差异确定器模块2105。在一些示例中,比特通过模块2102可以通过与视频数据414的编码/未编码的视频数据相关联的一个或多个比特流。例如,可以处理或扫描编码/未编码的数据以产生与编码/未编码的视频数据相关联的一个或多个扫描。例如,可以处理编码/未编码的视频数据以生成1维光栅扫描、基于块的1维扫描、基于瓦片的1维扫描等。
在一些示例中,生成1维光栅扫描可以包括基于帧或图片的扫描,该基于帧或图片的扫描从帧的左上方到帧的右下方进行处理并针对每一编码的块生成1比特并且针对每一未编码的块生成0比特(或反之亦然)。例如,扫描可以通过在顶行从左到右水平地移动并且然后向下移动一行并沿图片垂直地向下重复从左到右的扫描来遵照从左上到右下的模式。在这样的编码中,可以忽略块的大小和/或形状使得如所描述的可以将1或0给到块的每一个大小和形状。此外,随着扫描进展,当扫描块的左上角被扫描时,块可以被处理,且如果在随后的水平扫描中扫描块的边缘,则可以如先前扫描的跳过该块。所描述的编解码器的其他部分可以指示每一块的大小、形状和位置(例如,通过划分等),使得在编码/未编码的数据扫描中可不需要该信息。在一些示例中,生成基于瓦片1维的扫描可以包括在左上瓦片内执行扫描(例如,如所讨论的从左上到右下的扫描)并且接着移动到下一个瓦片并在每一瓦片内重复该扫描。在这样的示例中,瓦片的顺序还可以通过从左到右水平地移动并且接着向下移动一行并沿图片垂直地向下重复从左到右扫描进展,直到完成该图片,来遵照从左上到右下的模式。在一些示例中,生成基于块的1维扫描可以包括在块(不对应于正被编码的块)内执行扫描(再次如所讨论的从左上到右下),使得该块是瓦片的一些部分。例如,可以将瓦片垂直地对半分割并且接着可以水平地对每一半四等分,以定义各自可被扫描的8个8x16块。按照顺序,在块内可以从左上到右下执行扫描,然后在瓦片内,且然后在图片内。在一些示例中,在所描述的分割步骤之前,在垂直地对半分分割并水平地将每一半四等分之前,可以关于垂直中心线垂直地翻转瓦片。如将意识到的,可以使用其他的块尺寸和/或瓦片分割。
例如,比特通过模块2102可以通过所生成的或处理的比流,而不进行进一步处理。在一些示例中,可以由编码/未编码的数据处理模块2101或编码/未编码的数据编码器模块404的另一模块生成所生成的或处理的比流。
在一些示例中,比特重扫描器/反向器模块2103可以将扫描或比特流的顺序反向以生成反向的扫描,诸如例如1维反向的光栅扫描、基于块的1维反向的扫描、基于瓦片的1维反向的扫描等。此外,在一些示例中,比特取反器模块2104可以使扫描或比特流的比特取反(例如,比特取反)(例如,将0s改成1s且反之亦然),以生成取反的比特扫描,诸如例如1维取反的比特光栅扫描、基于块的1维取反的比特扫描、基于瓦片的1维取反的比特扫描等。此外,在一些示例中,比特差异确定模块2105可以确定扫描或比特流的比特(例如,比特差异)(例如,沿顺序比特求差)的差异,以生成差异比特扫描,诸如例如1维差异比特光栅扫描、基于块的1维差异比特扫描、基于瓦片的1维差异比特扫描等。此外,在一些示例中,可以在模块2102、2103、2104、2105之间传递比特流或扫描。例如,可以由比特差异确定器模块2105对由比特取反器模块2104生成的取反的扫描进行操作以生成取反的差异扫描,诸如例如1维取反的差异比特光栅扫描、基于块的1维取反的差异比特扫描、基于瓦片的1维取反的差异比特扫描等。
如在图21中所示出的,如所讨论的所生成的处理的比特流中的一个或更多或全部可以被发送至符号运行生成和VLC LUT模块2111和/或代理VLC LUT模块2121中的一个或两个。在一些示例中,相同的处理的比特流可以被发送至符号运行生成和VLC LUT模块2111和/或代理VLC LUT模块2121两者。在一些示例中,不同的处理的比特流可以被发送至符号运行生成和VLC LUT模块2111和/或代理VLC LUT模块2121。
例如,由符号运行生成和VLC LUT模块2111接收的处理的比特流可以被处理以确定与使用具有一个或多个符号/编码组合的符号运行编码对处理的比特流进行编码相关联的比特成本。例如,可以使用第一和第二或第一、第二和第三(等)符号运行编码LUT来确定针对处理的比特流的比特成本。例如,符号运行生成和VLC LUT模块2111可以允许对事件(例如,符号运行组合)的比特成本的计数。
类似地,由代理VLC LUT模块2121接收的处理的比特流可以被处理以确定与使用具有一个或多个符号/编码组合的符号运行编码对处理的比特流进行编码相关联的比特成本。例如,可以使用一个、第一和第二、或第一、第二、和第三(等)代理VLC LUT来确定针对处理的比特流的比特成本。例如,代理VLC LUT模块2121可以允许通过尝试可以利用更短的编码来替换比特/图案组的任何数目的不同的代理VLC编码来对比特进行计数。
由符号运行生成和VLC LUT模块2111和/或代理VLC LUT模块2121进行的处理可以经由通过查询等(例如,可不需要实际的编码和比特计数)的比特计数来执行。例如,这样的处理可以显著地减小编码器模块404的复杂度。
从而,可以基于处理的比特流、编码技术(例如,符号运行或代理VLC)、以及编码技术实施方式(例如,针对相关的编码技术的查询表)的组合来确定许多各种不同的比特成本。如将关于图23和24进一步讨论的,在本申请中分别针对P图片和F图片提供了示例性比特成本。然而,这样的示例性实施方式并不意在进行限制。
如在图21中所示,可以向最小比特选择器2140和/或编码/未编码的VLC编码器模块2130发送所确定的比特成本。最小比特选择器2140可以基于所接收的比特成本确定最小比特成本,以确定所选择的熵编码技术和所选择的比特流。最小比特选择器2140可以将所选择的熵编码技术和所选择的处理的比特流发送至编码/未编码的VLC编码器模块2130。例如,最小比特选择器2140可以确定用于表示针对当前帧的编码/未编码的数据的最佳解决方案(例如,最少数目的比特)。例如,最小比特选择器2140的输出可以是产生最高压缩的熵编码技术和表的索引。
编码/未编码的VLC编码器模块2130可以如所讨论的生成与编码/未编码的视频数据相关联的所选择的处理的比特流,并使用所选择的熵编码技术对处理的比特流进行熵编码,以生成编码的编码/未编码的视频数据比特流,其可以是压缩的视频数据324的一部分或被实现为压缩的视频数据324。例如,编码/未编码的VLC编码器模块2130可以使用通过最小比特选择器2140提供的索引来访问所选择的熵编码技术和表,以产生编码/未编码的视频数据的压缩的表示作为例如压缩的视频数据424。如本申请中所讨论的,可以向比特流组装器408发送压缩的视频数据424,比特流组装器408可以组装压缩的视频数据和其他压缩的视频数据(例如,压缩的视频数据401-403和405-407),以生成输出比特流111。
由于编码/未编码的数据对用于变换编码的量化器(如上文所讨论的)(例如,较大的量化器可以提供更多‘未编码的’块,而较小的量化器可以提供更多‘编码的’块)和对帧类型的依赖(例如,统计性的依赖),相对于F图片,P图片可以具有更多‘编码的块’,F图片可以具有更多‘未编码的’块。在这样的示例中,有利的是,利用许多表来评估符号运行VLC编码技术并且利用关于原始流(例如,诸如1维光栅扫描、基于块的1维扫描、或基于瓦片的1维扫描的原始扫描)以及关于进一步的处理的流的许多表来评估代理VLC技术以确定在压缩方面最有效(例如,最小比特成本)的解决方案。
由于,如所讨论的,可能不需要通过许多方法对处理的比特流进行实际编码,所以,使用大量的表不会显著地增加编码/未编码的数据编码器模块404的复杂度。相反,可仅需要通过查询的比特计数来估计针对处理的比特流和熵编码技术组合的比特成本。
图22是根据本公开的至少一些实施方式布置的示出了示例性过程2200的流程图。过程2200可以包括如由操作2202、2204、和/或2206中的一个或多个所示出的一个或多个操作、功能或动作。过程2200可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程2200可以形成如由图1中的编码器系统100和/或如本申请中所讨论的熵编码器模块110所采用的下一代视频编码过程的至少一部分。
在一些示例中,过程2200可以包括读取如关于图19和20所讨论的与视频数据的帧关联的块结构。块结构可以如所讨论的与编码/未编码的视频数据相关联,使得编码/未编码的视频数据具有与块结构的每一块关联的比特,该比特指示该块是编码的(例如,与比特1相关联)还是未编码的(例如,与比特0相关联)。
过程2200可以在操作2202开始(例如,从读取块结构并且将块结构与编码/未编码的数据相关联继续),“确定针对编码/未编码的视频数据的所选择的熵编码技术”,其中可以从如本申请中所讨论的多个熵编码技术中确定针对编码/未编码的视频数据的所选择的熵编码技术。例如,熵编码技术可以包括代理可变长度编码技术和符号运行编码技术、单个代理可变长度编码技术和多个符号运行编码技术例如,通过不同的表实现的)、多个代理可变长度编码技术(例如,通过不同的表实现的)、以及单个符号运行编码技术、多个代理可变长度编码技术、或多个符号运行编码技术等。可以基于针对多个熵编码技术并利用各种处理的比特流(例如,编码/未编码的视频数据的通过、编码/未编码的视频数据的反向、编码/未编码视频数据的比特取反、编码/未编码视频数据的比特差异、1维扫描、比特取反、比特差异、比特反向等)的估计比特成本来确定所选择的熵编码技术,如本申请中讨论的,并且选择具有最低比特成本的熵编码技术和处理的比特流。例如,可以通过编码/未编码的数据编码器模块304来确定所选择的熵编码技术。
过程2200可以在操作2204继续,“使用所选择的熵编码技术对与编码/未编码的视频数据相关联的处理的比特流进行熵编码”,其中可以使用所选择的熵编码技术来对与编码/未编码的视频数据相关联的处理的比特流进行熵编码,以生成编码的编码/未编码的视频数据比特流。例如,所处理的比特流可以是所选择的比特流,使得所选择的比特流和所选择的熵编码技术提供了最低的比特成本。例如,可以通过编码/未编码的VLC编码器模块2130对处理的比特流进行熵编码。
过程可以在操作2206继续,“将被编码的编码/未编码的视频组装到输出比特流中”,其中可以将被编码的编码/未编码的视频数据组装到输出比特流中。例如,比特流组装器308可以将被编码的编码/未编码的视频数据(例如,压缩的视频数据424)以及其他压缩的视频数据(例如,压缩的视频数据421-423和425-427)组装到输出比特流111中。如所讨论的,在一些示例中,与所选择的熵编码技术和/或所选择的处理的比特流相关联的编码/未编码的视频数据头部可以被组装到输出比特流中。例如,压缩的视频数据424可以包括编码/未编码的视频数据头部,其可以如所讨论的被组装到输出比特流111中。
如所讨论的,在一些示例中,输出比特流111可以通过如通过视频编码系统1100等所实现的编码器系统100而被发送至一个或多个视频解码器。
图23是根据本公开的至少一些实施方式布置的示出了示例性过程2300的流程图。过程2300可以包括如由操作2302、2304、2306和/或230中的一个或多个所示出的一个或多个操作、功能或动作。过程2300可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程2300可以形成如由图2中的解码器系统200和/或如本申请中所讨论的熵解码器模块202所采用的下一代视频编码过程的至少一部分。
过程2300可以在操作2302开始,“接收熵编码的比特流”,其中可以接收熵编码的比特流。例如,可以通过如通过视频编码系统1100等实现的视频解码器200接收输出比特流111、输入比特流201、或比特流800等。
过程2300可以在操作2304“解组装熵编码的比特流以确定编码/未编码的视频数据头部和被编码的编码/未编码的视频数据比特流”继续,其中熵编码的比特流可以被解组装以确定编码/未编码的视频数据头部和被编码的编码/未编码的视频数据。例如,可以通过比特流解组装器408来解组装熵编码的比特流。
过程2300可以在操作2306“基于编码/未编码的视频数据头部确定所选择的熵编码技术”继续,其中可以至少部分地基于编码/未编码的视频数据头部从多个熵编码技术中确定针对编码的编码/未编码的视频数据的所选择的熵编码技术。例如,编码/未编码的视频数据头部可以包括指示出针对编码/未编码的视频数据的所选择的熵编码技术(和/或针对熵编码技术所选择的表)的编码,以及被编码的编码/未编码的视频数据的比特流的格式或类型。例如,所选择的熵编码技术可以包括如本申请中所讨论的任何技术(例如,如通过各种表实现的符号运行编码技术和/或如通过各种表实现的代理可变长度编码技术)且比特流可以包括如本申请中所讨论的通过所选择的熵编码技术被编码或压缩的任何比特流类型或处理(例如,1维扫描、比特取反、比特差异、比特反向等)。
过程2300可以在操作2308“使用所选择的熵编码技术对被编码的编码/未编码的视频数据比特流进行熵解码,以确定编码/未编码的视频数据”继续,其中可以使用所选择的熵编码技术来对被编码的编码/未编码的视频数据进行熵解码,以确定编码/未编码的视频数据。例如,被编码的编码/未编码的视频数据可以被解压缩以使用所选择的熵编码技术来生成处理的比特流。例如,处理的比特流可以包括如本申请中所讨论的任何处理的比特流(例如,1维扫描、比特取反、比特差异、比特反向等)。可以通过用于生成处理的比特流的逆向操作来对处理的比特流进行解码(例如,通过如所讨论的通过、比特取反、比特反向、或比特差异)以生成编码/未编码的视频数据。
过程2300可以在操作2310“基于编码/未编码的视频数据生成视频帧”继续,其中编码/未编码的视频数据可以用于生成视频帧,如本申请中关于解码器系统200所讨论的。此外,可以向显示设备发送生成的视频帧以向观看者或用户呈现。
如所讨论的,可以评估熵编码技术和处理的比特流的多个组合以确定最小比特成本组合。在一些示例中,可以选择这样的组合的子集以进行评估。例如,可以选择很可能产生最小比特成本或高效编码的那些组合以进行评估。在一些示例中,选择的组合可以基于视频数据的帧类型(例如,F图片或P图片)。
图24是根据本公开的至少一些实施方式布置的示出了示例性过程2400的流程图。过程2400可以包括如由操作2400-2415中的一个或多个所示出的一个或多个操作、功能或动作。过程2400可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程2400可以形成如由图1中的编码器系统100和/或如本申请中所讨论的熵编码器模块110所采用的下一代视频编码过程的至少一部分。在一些示例中,过程2400可以应用于P图片。
过程2400可以在操作2401“输入帧级别CNC数据”开始,其中可以读取针对帧间模式块的帧级别瓦片/块结构和编码/未编码的视频数据(例如,二进制信息;CNC数据)。例如,可以读取与视频数据的帧相关联的块结构。过程2400可以在操作2402继续“帧间块的数目<Thr(25)?”,其中,如果帧中的帧间块的数目小于阈值(例如,在该示例中25),则可以利用如在操作2414“利用位图方法对CNC数据进行编码”所示的位图方法(例如,逐比特地)对CNC数据进行编码,且过程2400可以如在操作2415“结束处理当前帧”所示的终止。在一些示例中,操作2402可以检查简单的情况,使得确定压缩技术可能不是有利的且可以利用位图编码来处理该帧。如果帧中的帧间块的数目大于(或等于)该阈值,则过程2400可以在操作2403和2404继续。
在操作2403“创建CNC数据的1D光栅扫描”,可以生成编码/未编码数据的1维光栅扫描。在操作2404“创建CNC数据的基于8x16块的1D扫描”,可以生成编码/未编码数据的基于块的1维扫描。例如,1维光栅扫描可以包括块的正常光栅扫描(例如,按帧的)并且基于块的1维扫描可以包括基于8x16块的扫描(例如,在以光栅顺序处理8x16区域的同时在8x16区域内的以光栅顺序的块的扫描)或等同的2x4比例扫描。
过程2400可以在操作2405“取反比特”和2406“取反比特”继续,其中相应的扫描可以是比特取反的。例如,在操作2405,1维光栅扫描可以是比特取反的,以生成取反的比特1维光栅扫描。在操作2406,基于块的1维扫描可以是比特取反的,以生成基于块的取反的比特1维扫描。如在本申请中所讨论的,操作2403-2406可以生成处理的比特流。
过程2400可以在操作2407“估计符号运行编码的成本(表S0)”,2408“估计代理VLC编码的成本(表V2、V3、V6、V1)”、2409“估计代理VLC编码的成本(表V3和V6)”、以及2410“估计符号运行编码的成本(表S2)”继续,其中可以估计所示出的处理的比特流和熵编码技术组合的比特成本。如所讨论的,在一些示例中,可以基于表查询等(例如,而不基于处理的比特流的实际编码和比特计数)来确定比特成本估计。例如,在操作2407,可以估计与取反的比特1维光栅扫描的符号运行编码技术(例如,使用表S0)相关联的第一比特成本。例如,在操作2408,可以估计与取反的比特1维光栅扫描的多个代理可变长度编码技术(例如,各使用表V2、V3、V6和V1)相关联的第二、第三、第四、和第五比特成本。例如,在操作2409,可以估计与1维光栅扫描的代理可变长度编码技术(例如,各使用表V3和V6)相关联的第六和第七比特成本。例如,在操作2410,可以估计与1维光栅扫描的代理可变长度编码技术(例如,使用表S2)相关联的第八比特成本。
操作2407-2410可以提供有利的针对P图片的编码技术(包括编码表)和处理的比特流组合。在一些示例中可以排除所提供的组合中的一些。在一些示例中,可以添加其他可用的组合。例如,可以将差异比特操作添加到过程2400以针对比特成本估计提供额外的处理的比特流。
过程2400可以在操作2411“选择具有最小成本的方法(get_min_ind)”继续,其中可以确定基于第一到第八比特成本的最低(最小)比特成本(例如,如所示出的通过动作“get_min_ind”)。例如,可以比较针对所有方法的所估计的比特以确定具有最小成本的一个。过程2400可以在操作2412继续,“对所选择的方法索引进行编码(参见表1)”,其中可以对与所选择的熵编码技术(以及表,如果适用的话)相关联的头部编码进行编码。例如,如下所述的表1示出了示例性的头部编码:
表1:在P帧中的符号运行/代理VLC方法
过程2400可以在操作2413“利用所选择的方法对CNC数据进行编码”继续,其中可以使用所选择的熵编码技术来对与编码/未编码的视频数据相关联的处理的比特流进行熵编码,以生成编码的编码/未编码的视频数据。此外,如所讨论的,可以将被编码的编码/未编码的视频数据比特流组装到输出比特流中。例如,所选择的方法可以被应用于CNC数据且结果可以被写入比特流。过程2400可以在操作2415“结束处理当前帧”处终止。过程2400可以根据需要被重复以对任何数目的帧(诸如例如P图片或P图片)进行编码。
图25是根据本公开的至少一些实施方式布置的示出了示例性过程2500的流程图。过程2500可以包括如由操作2500-2514中的一个或多个所示出的一个或多个操作、功能或动作。过程2500可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程2500可以形成如由图1中的编码器系统100和/或如本申请中所讨论的熵编码器模块110所采用的下一代视频编码过程的至少一部分。在一些示例中,过程2500可以应用于F图片。
过程2500可以在操作2501“输入帧级别CNC数据”开始,其中可以读取针对帧间模式块的帧级别瓦片/块结构和编码/未编码的视频数据(例如,二进制信息;CNC数据)。例如,可以读取与视频数据的帧相关联的块结构。过程2500可以在操作2502继续“帧间块的数目<Thr(25)?”,其中,如果帧中的帧间块的数目小于阈值(例如,在该示例中25),则可以利用如在操作2513“利用位图方法对CNC数据进行编码”所示的位图方法来对CNC数据进行编码,且过程2500可以如在操作2514“结束处理当前帧”所示的终止。在一些示例中,操作2502可以检查简单的情况,使得确定压缩技术可能不是有利的且可以利用位图编码来处理该帧。如果帧中的帧间块的数目大于(或等于)该阈值,则过程2500可以在操作2503和2504继续。
在操作2503“创建CNC数据的基于瓦片的1D扫描”,可以生成编码/未编码数据的基于瓦片的1维扫描。在操作2504“创建CNC数据的1D光栅扫描”,可以生成编码/未编码数据的1维光栅扫描。例如,1维光栅扫描可以包括块的正常光栅扫描(例如,按帧的)并且基于瓦片的1维扫描可以包括在以光栅顺序处理瓦片的同时在瓦片区域内以光栅顺序的块的扫描。
过程2500可以在操作2505“取反比特”和2506“取反比特”继续,其中相应的扫描可以是比特取反的。例如,在操作2505,基于瓦片1维的扫描可以是比特取反的,以生成基于瓦片的取反的比特1维扫描。在操作2506,1维光栅扫描可以是比特取反的,以生成取反的比特1维光栅扫描。过程2500可以在操作2507“确定比特差异”和2508“确定比特差异”继续,其中可以确定相应扫描的比特差异。例如,在操作2507,可以确定基于瓦片的取反的比特1维扫描的比特差异,以生成基于瓦片的取反的差异比特1维扫描。例如,在操作2508,可以确定取反的比特1维光栅扫描的比特差异,以生成取反的差异比特1维光栅扫描。如在本申请中所讨论的,操作2503-2508可以生成处理的比特流。
过程2500可以在操作集2509继续,其可以包括以下操作:“估计代理VLC编码的成本(表V3、V8、V5、V10)”(第一实例)、“估计符号运行编码的成本(表S0和S2)”、“估计代理VLC编码的成本(表V3和V5)”、“估计符号运行编码的成本(表S2)”、“估计代理VLC编码的成本(表V8)”(第一实例)、“估计代理VLC编码的成本(表V3、V8、V5、V10)”(第二实例)、“估计代理VLC编码的成本(表V0和V3)”、“估计代理VLC编码的成本(表V8)”(第二实例),其中可以估计所示出的处理的比特流和熵编码技术组合的比特成本。如所讨论的,在一些示例中,可以基于表查询等(例如,而不基于处理的比特流的实际的编码和比特计数)来确定比特成本估计。
例如,在标记为“估计代理VLC编码的成本(表V3、V8、V5、V10)”(第一实例)的操作处,可以估计与基于瓦片的取反的比特1维扫描的多个代理可变长度编码(例如,各使用表V3、V8、V5和V10)相关联的第一、第二、第三和第四比特成本。例如,在标记为“估计符号运行编码的成本(表S0和S2)”的操作处,可以估计与基于瓦片的1维扫描的多个符号运行编码(例如,各使用表S0和VS2)相关联的第五和第六比特成本。例如,在标记为“估计代理VLC编码的成本(表V3和V5)”的操作处,可以估计与基于瓦片的1维扫描的多个代理可变长度编码(例如,各使用表V3和V5)相关联的第七和第八比特成本。例如,在标记为“估计符号运行编码的成本(表S2)”的操作处,可以估计与基于瓦片的取反的差异比特1维扫描的符号运行编码(例如,使用表S2)相关联的第九比特成本。例如,在标记为“估计代理VLC编码的成本(表V8)”(第一实例)的操作处,可以估计与基于瓦片的取反的差异比特1维扫描的代理可变长度编码(例如,使用表V8)相关联的第十比特。例如,在标记为“估计代理VLC编码的成本(表V3、V8、V5、V10)”(第二实例)的操作处,可以估计与取反的比特1维光栅扫描的多个代理可变长度编码(例如,各使用表V3、V8、V5和V10)相关联的第十一、第十二、第十三、和第十四比特成本。例如,在标记为“估计代理VLC编码的成本(表V0和V3)”的操作处,可以估计与1维光栅扫描的多个代理可变长度编码(例如,各使用表V0和V3)相关联的第十五和第十六比特成本。例如,在标记为“估计代理VLC编码的成本(表V8)”(第二实例)的操作处,可以估计基于瓦片的取反的差异比特1维扫描的代理可变长度编码(例如,使用表V8)相关联的第十七比特成本。
操作集2509可以提供有利的针对F图片的编码技术(包括编码表)和处理的比特流组合。在一些示例中,可以排除所提供的组合中的一些。在一些示例中,可以添加其他可用的组合。
过程2500可以在操作2510继续“选择具有最小成本的方法”,其中可以确定基于第一到第十七比特成本的最低(最小)比特成本。例如,可以比较针对所有方法的所估计的比特以确定具有最小成本的一个。过程2500可以在操作2511“对所选择的方法索引进行编码(参见表2)”继续,其中可以对与所选择的熵编码技术(以及表,如果适用的话)相关联的头部编码进行编码。例如,如下所述的表2示出了示例性的头部编码:
表2:在F帧中的符号运行/代理VLC方法
过程2500可以在操作2512“利用所选择的方法对CNC数据进行编码”继续,其中可以使用所选择的熵编码技术对与编码/未编码的视频数据相关联的处理的比特流进行熵编码,以生成被编码的编码/未编码的视频数据。此外,如所讨论的,可以将被编码的编码/未编码的视频数据比特流组装到输出比特流中。例如,所选择的方法可以被应用于CNC数据且结果可以被写入比特流。过程2500可以在操作2514“结束处理当前帧”处终止。过程2500可以根据需要被重复以编码任何数目的帧,诸如例如P图片或P图片。
如所讨论的,熵编码技术可以使用各种表。可以将如在本申请中引用的表按照如下所述的呈现并根据先前的讨论进行标记,且具体地,关于图24和25以及上文的表1和表2呈现上述讨论。
编码 地址 编码长度 编码 地址 编码长度
01 1 2 1011001 18 7
001 2 3 00000001 19 8
111 3 3 10100001 20 8
0001 4 4 10100010 21 8
1001 5 4 00000101 22 8
1100 6 4 10100011 23 8
1101 7 4 10110001 24 8
10101 8 5 101000000 25 9
10111 9 5 000000000 26 9
100000 10 6 000001001 27 9
100011 11 6 101100000 28 9
101101 12 6 000000001 29 9
101001 14 6 101000001 30 9
0000001 14 7 101100001 31 9
1000100 15 7 0000010000 32 10
0000011 16 7 0000010001 33 10
1000101 17 7 100001 ESC 6
- - 00001 EOB 5
表3:符号运行VLC表S0
表4:符号运行VLC表S2
比特序列 VLC 编码长度
00 0 1
01 110 3
10 111 3
11 10 2
表5:代理VLC表V0
比特序列 VLC 编码长度 比特 VLC 编码长度
0000 00 2 0110 11001 5
0001 010 3 1001 11010 5
1000 011 3 1010 11011 5
0010 100 3 1011 11100 5
0100 1010 4 1101 11101 5
0011 10110 5 1110 11110 5
1100 10111 5 0111 111110 6
0101 11000 5 1111 111111 6
表6:代理VLC表V1
比特序列 VLC 编码长度 比特 VLC 编码长度
000 00 2 100 101 3
001 010 3 101 110 3
010 011 3 110 1110 4
011 100 3 111 1111 4
表7:代理VLC表V2
比特序列 VLC 编码长度 比特 VLC 编码长度
000 0 1 100 110 3
001 100 3 101 11101 5
010 101 3 110 11110 5
011 11100 5 111 11111 5
图8:代理VLC表V3
比特序列 VLC 编码长度 比特 VLC 编码长度
0000 11 2 0110 00001 5
0001 0110 4 1001 1011 4
1000 0010 4 1010 10100 5
0010 0001 4 1011 10101 5
0100 0101 4 1101 01001 5
0011 1000 4 1110 1001 4
1100 01000 5 0111 0111 4
0101 00000 5 1111 0011 4
表9:代理VLC表V5
比特序列 VLC 编码长度 比特 VLC 编码长度
000 00 2 100 101 3
001 010 3 101 1111 4
010 011 3 110 100 3
011 1110 4 111 110 3
表10:代理VLC表V6
比特序列 VLC 编码长度 比特 VLC 编码长度
000 00 2 100 101 3
001 010 3 101 1110 4
010 011 3 110 110 3
011 100 3 111 1111 4
表11:代理VLC表V8
比特序列 VLC 编码长度
00 0 1
01 10 2
10 111 3
11 111 3
表12:代理VLC表V10
如关于图24和25所讨论的,本申请中讨论的技术可以包括在各个场景中估计代理可变长度编码和符号运行编码的比特成本。在一些示例中,估计与代理VLC相关联的比特成本可以包括查询操作。在一些示例中,估计与符号运行编码相关联的比特成本可以实现如在图26中所示出的过程。
图26是根据本公开的至少一些实施方式布置的示出了示例性过程2600的流程图。过程2600可以包括如由操作2302、2304、2306和/或230中的一个或多个所示出的一个或多个操作、功能或动作。过程2600可以形成下一代视频编码过程的至少一部分。通过非限制性示例的方式,过程2600可以形成如由图1中的编码器系统100和/或如本申请中所讨论的熵编码器模块110所采用的下一代视频编码过程的至少一部分。
过程2600可以在操作2601“输入二进制掩码A和符号运行表T”开始,其中可以输入二进制掩码(例如,如本申请中所讨论的任何处理的比特流)和符号运行表(例如,如本申请中所示出的符号运行表等)。过程2600可以在操作2602“设置成本=c=0”继续,其中运行成本(例如,比特成本)、标记为C,可以被设置成0。过程2600可以在操作2603“设置i=0”继续,其中可以将计数器变量i设置成0。过程2600可以在决策操作2604“c>=size(A)”继续,其中可以确定运行成本c是否大于或等于二进制掩码A的大小。
如果运行成本不大于或等于二进制掩码A的大小,则过程2600可以在决策操作2605“A[c]==1?”继续,其中可以确定二进制掩码A是否在运行成本c的位置。如果这样的计算为真,则过程2600可以在操作2606“c=c+size(T中的codeword[i])”,可以将运行成本c增加与表T中的i相关联的码字的大小。过程2600可以在操作2612“c=c+1”继续,其中可以将运行成本c增加1。过程2600可以在操作2613“c==size(A)”继续,其中可以确定运行成本是否与二进制掩码A的大小相同。如果是,则过程2600可以在操作2611“返回作为利用表T的A的符号运行编码的估计成本的成本”继续,其中利用表T关于二进制掩码A的符号运行编码所估计的成本可以被返回作为运行成本c。如果否,则过程2600可以在操作2603继续,如上文所讨论的。
如果确定操作2605不为真,则过程2600可以在决策操作2607“i>33?”继续,其中可以确定计数器i是否大于33。如果是,则过程2600可以在操作2608“c=c+size(T中的ESC)”继续,其中可以将运行成本c增加表T中的ESC(例如,“逸出(escape)”,超过上限的运行的指示符)的大小,过程2600可以在操作2614“c=c+1”继续,其中可以将运行成本增加1,且过程2600可以如所讨论的在操作2603继续。如果否,则过程2600可以在操作2609“c=c+1,i=i+1”继续,其中可以将运行成本和索引值增加一,且过程2600可以如上文所讨论的在决策操作2604继续。
在决策操作2604处,如果运行成本c大于或等于二进制掩码A的大小,则过程2600可以在操作2610“c=c+size(T中的EOB)”继续,其中可以将运行成本c增加表T中的EOB(例如,“块的结尾(end of clock)”)的大小。过程2600可以在操作2611继续,其中如利用表关于二进制掩码A的符号运行编码估计的成本可以被返回作为如所讨论的运行成本c。
如所讨论的,过程2600可以提供如本申请中所讨论的与符号运行编码技术相关联的比特成本估计。
在P图片和F图片两者中,为了对针对操作或比特流处理(例如,无、通过、扫描、比特取反、比特差异确定等)、编码技术(例如,符号运行或代理VLC)、以及每一技术内的选项(例如,如本申请中所讨论的多个表)的组合中的每一个的编码/未编码的数据进行编码,产生最大压缩的最佳组合(例如,最小比特成本)可以被选择作为针对给定视频数据(例如,帧、图片、或片等)的编码方法(例如,熵编码技术)。这样的各种技术、选项、和特定表已经在本申请中被提供且可以有利地提供针对编码/未编码的数据的自适应编码。
如参照图16所讨论的,示例性视频编码系统1600可以包括成像设备1601、视频编码器100和/或通过处理单元1620的逻辑电路1650实现的视频编码器、天线1602、视频解码器200和/或通过处理单元1620的逻辑电路1650实现的视频解码器、天线1602、一个或多个处理器1603、一个或多个存储器存储设备1604、和/或显示设备1605。
在一些示例中,通过逻辑电路1650实现的视频编码器100可以包括图像缓冲器(例如,通过处理单元1620或存储器存储设备1604)和图形处理单元(例如,通过处理单元1620)。图形处理单元可以可通信地耦合到图像缓冲器。图形处理单元可以包括通过逻辑电路1650实现的视频编码器100,以实施如关于图1以及图4、6以及A16所讨论的各个模块。例如,图形处理单元可以包括熵编码器逻辑电路等。该逻辑电路可以被配置为执行如本申请中所讨论的各种操作。例如,熵编码器逻辑电路可以被配置为确定从多个熵编码技术中确定针对编码/未编码的视频数据的所选择的熵编码技术,使得多个熵编码技术可以包括代理可变长度编码技术和符号运行编码技术、使用所选择的熵编码技术对与编码/未编码的视频数据相关联的处理的比特流进行熵编码,以生成被编码的编码/未编码的视频数据,并将被编码的编码/未编码的视频数据组装到输出比特流中。视频解码器200可以以类似的方式被实现。
在一些示例中,视频编码系统1600的天线1602可以被配置为接收视频数据的熵编码的比特流。如所讨论的,比特流可以包括各种类型的压缩的视频数据。视频编码系统1600还可以包括耦合到天线1602且被配置为对被编码的比特流进行解码的视频解码器200。例如,视频解码器200可以被配置为解组装熵编码的比特流,以确定编码/未编码的视频数据头部和被编码的编码/未编码的视频数据,至少部分地基于编码/未编码的视频数据头部从多个熵编码技术中确定针对被编码的编码/未编码的视频数据的所选择的熵编码技术,使得多个熵编码技术可以包括代理可变长度编码技术和符号运行技术、使用所选择的熵编码技术对被编码的编码/未编码的视频数据进行熵解码以确定编码/未编码的视频数据,并且至少部分地基于编码/未编码的视频数据而生成视频帧。例如,视频帧可以被配置为通过显示设备向用户呈现。
如所讨论的,可以将不同类型的视频数据熵编码以生成压缩的(例如,编码的)视频数据。压缩的视频数据可以被组装以生成输出比特流。参照图8,示例性比特流800可以包括指示符数据801、压缩的视频数据421、压缩的视频数据422、压缩的视频数据423、压缩的视频数据424、压缩的视频数据425、压缩的视频数据426、和/或压缩的视频数据427。例如,压缩的视频数据424可以包括被编码的编码/未编码的视频数据等。此外,指示符数据801和/或压缩的视频数据424可以包括与所选择的熵编码技术或处理的比特流关联的编码/未编码的视频数据头部(例如,编码/未编码的视频数据头部可以指示所选择的熵编码技术或处理的比特流类型——编码/未编码的视频数据的通过、编码/未编码的视频数据的反向、编码/未编码的视频数据的比特取反、编码/未编码的视频数据的比特差异确定、基于编码/未编码的视频数据的1维光栅扫描、基于编码/未编码的视频数据的基于瓦片的1维扫描等)。
虽然已经参考各个实施方式描述了在本申请中所阐述的某些特征,但是该描述并不意在以限制性的意义来解释。因此,对本申请中所描述实施方式的以及其它实施方式的各种修改是对本公开内容所属的领域的技术人员来说显而易见的,并且被认为落在本公开的精神和范围内。
下列的示例与进一步的实施例相关。
在一示例中,一种用于视频编码的计算机实现的方法可以包括从多个熵编码技术中确定针对编码/未编码的视频数据的、所选择的熵编码技术,使得所述多个熵编码技术可以包括代理可变长度编码技术和符号运行编码技术,使用所述所选择的熵编码技术对与所述编码/未编码的视频数据相关联的处理的比特流进行熵编码,以生成被编码的编码/未编码的视频数据,将所述被编码的编码/未编码的视频数据组装到输出比特流中。
在另一示例中,用于视频编码的计算机实现的方法可以进一步包括读取与视频数据的帧关联的块结构,将所述块结构与编码/未编码的视频数据相关联,对与所选择的熵编码技术或处理的比特流中的至少一个相关联的编码/未编码的视频数据头部进行编码,发送输出比特流,接收输出比特流,解组装所述输出比特流以确定所述编码/未编码的视频数据头部和被编码的编码/未编码的视频数据,至少部分地基于所述编码/未编码的视频数据头部而确定所述所选择的熵编码技术,使用所述所选择的熵编码技术对被编码的编码/未编码的视频数据比特流进行熵解码以确定所述编码/未编码的视频数据,并且至少部分地基于所述编码/未编码的视频数据而生成视频帧。所述编码/未编码的视频数据可以包括多个比特,使得每一比特可以指示与视频数据的帧相关联的块结构的相关联的块是编码的还是未编码的,使得比特1指示所述相关联的块是编码的且比特0指示所述相关联的块是未编码的,使得所述编码/未编码的视频数据可以包括符号比特,并且使得与所述视频数据的帧相关联的模式可以是帧间模式。与所述编码/未编码的视频数据相关联的所述处理的比特流可以包括所述编码/未编码的视频数据的通过、所述编码/未编码的视频数据的反向、所述编码/未编码的视频数据的比特取反、所述编码/未编码的视频数据的比特差异、基于所述编码/未编码的视频数据的1维光栅扫描、基于所述编码/未编码的视频数据的基于块的1维扫描、或基于所述编码/未编码的视频数据的基于瓦片的1维扫描中的至少一个。将被编码的编码/未编码的视频组装到输出比特流中可以包括将所述编码/未编码的视频数据头部组装到输出比特流中。所述视频数据的帧可以是P图片,并且确定所选择的熵编码技术可以包括确定视频数据的帧中的帧间块的数目大于阈值,使得所述阈值可以是25,基于所述编码/未编码的视频数据生成1维光栅扫描,基于所述编码/未编码的视频数据生成基于块的1维扫描,使得所述基于块的1维扫描可以包括2x4比例扫描,将所述1维光栅扫描比特取反以生成取反的比特1维光栅扫描,就所述基于块的1维扫描比特取反以生成基于块的取反的比特1维扫描,基于所述取反的比特1维光栅扫描而估计与所述符号运行编码技术相关联的第一比特成本,基于所述取反的比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本,基于所述取反的比特1维光栅扫描而估计与第二代理可变长度编码技术相关联的第三比特成本,基于所述1维光栅扫描而估计与第三代理可变长度编码技术相关联的第四比特成本,基于所述1维光栅扫描而估计与第四代理可变长度编码技术相关联的第五比特成本,基于所述基于块的取反的比特1维扫描而估计与第二符号运行编码技术相关联的第六比特成本,基于第一、第二、第三、第四、第五和第六比特成本而确定最小比特成本,并且将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,使得所述处理的比特流可以包括所述取反的比特1维光栅扫描、所述1维光栅扫描、或所述基于块的取反的比特1维扫描中的至少一个,使得所述符号运行编码技术可以与第一符号运行可变长度编码表相关联并且所述第二符号运行编码技术可以与第二符号运行可变长度编码表相关联,并且使得所述代理可变长度编码技术可以与第一代理可变长度编码表相关联并且所述第二代理可变长度编码技术可以与第二代理可变长度编码表相关联。视频数据的帧是F图片,且确定所选择的熵编码技术可以包括确定视频数据的帧中的帧间块的数目大于阈值,使得所述阈值可以是25,基于所述编码/未编码的视频数据而生成基于瓦片的1维扫描,基于所述编码/未编码的视频数据而生成1维光栅扫描,将所述基于瓦片的1维扫描比特取反以生成基于瓦片的取反的比特1维扫描,将所述1维光栅扫描比特取反以生成取反的比特1维光栅扫描,确定所述基于瓦片的取反的比特1维扫描的比特差异以生成基于瓦片的取反的差异比特1维扫描,确定所述取反的比特1维光栅扫描的比特差异以生成取反的差异比特1维光栅扫描,基于所述基于瓦片的取反的比特1维扫描而估计与所述代理可变长度编码技术相关联的第一比特成本,基于所述基于瓦片的1维扫描而估计与所述符号运行编码技术相关联的第二比特成本,基于所述基于瓦片的1维扫描而估计与第二代理可变长度编码技术相关联的第三比特成本,基于所述基于瓦片的取反的差异比特1维扫描而估计与第二符号运行编码技术相关联的第四比特成本,基于所述基于瓦片的取反的差异比特1维扫描而估计与第三代理可变长度编码技术相关联的第五比特成本,基于所述取反的比特1维光栅扫描而估计与第四代理可变长度编码技术相关联的第六比特成本,基于所述1维光栅扫描而估计与第五代理可变长度编码技术相关联的第七比特成本,基于所述取反的差异比特1维光栅扫描而估计与第六代理可变长度编码技术相关联的第八比特成本,基于第一、第二、第三、第四、第五、第六、第七和第八比特成本而确定最小比特成本,并且将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,使得所述处理的比特流包括所述基于瓦片的1维扫描、所述1维光栅扫描、所述基于瓦片的取反的比特1维扫描、所述取反的比特1维光栅扫描、所述基于瓦片的取反的差异比1维扫描、或所述取反的差异比特1维光栅扫描中的至少一个,使得所述第一符号运行编码技术可以与第一符号运行可变长度编码表相关联并且所述第二符号运行编码技术可以与第二符号运行可变长度编码表相关联,并且使得所述第一代理可变长度编码技术可以与第一代理可变长度编码表相关联且所述第二代理可变长度编码技术可以与第二代理可变长度编码表相关联。
在其他示例中,视频编码器可以包括图像缓冲器和具有熵编码器逻辑电路的图形处理单元。所述图形处理单元可以通信地耦合到所述图像缓冲器且所述熵编码器逻辑电路可以被配置为从多个熵编码技术中确定针对编码/未编码的视频数据的、所选择的熵编码技术,使得所述多个熵编码技术可以包括代理可变长度编码技术和符号运行编码技术,使用所述所选择的熵编码技术而对与编码/未编码的视频数据相关联的处理的比特流进行熵编码,以生成被编码的编码/未编码的视频数据,并且将所述被编码的编码/未编码的视频数据组装到输出比特流中。
在进一步的示例性视频编码器中,所述熵编码器逻辑电路可以进一步被配置为读取与视频数据的帧相关联的块结构,将所述块结构与编码/未编码的视频数据相关联,并且对与所选择的熵编码技术或处理的比特流中的至少一个相关联的编码/未编码的视频数据头部进行编码。所述编码/未编码的视频数据可以包括多个比特,使得每一比特指示与视频数据的帧相关联的块结构的相关联的块是编码的还是未编码的,使得比特1可以指示所述相关联的块是编码的且比特0指示所述相关联的块是未编码的,使得所述编码/未编码的视频帧可以包括符号比特,并且使得与视频数据的帧相关联的模式可以是帧间模式。与所述编码/未编码的视频数据相关联的处理的比特流可以包括所述编码/未编码的视频数据的通过、所述编码/未编码的视频数据的反向、所述编码/未编码的视频数据的比特取反、所述编码/未编码的视频数据的比特差异、基于所述编码/未编码的视频数据的1维光栅扫描、基于所述编码/未编码的视频数据的基于块的1维扫描、或基于编码/未编码的视频数据的基于瓦片的1维扫描中的至少一个。将所述被编码的编码/未编码的视频组装到输出比特流中可以包括所述熵编码器电路被配置为将编码/未编码的视频数据头部组装到成输出比特流中。视频数据的帧可以是P图片,并且确定所选择的熵编码技术可以包括所述熵编码器逻辑电路被配置为确定视频数据的帧中的帧间块的数目大于阈值,其中所述阈值可以是25,基于所述编码/未编码的视频数据而生成1维光栅扫描,基于所述编码/未编码的视频数据而生成基于块的1维扫描,使得所述基于块的1维扫描可以包括2x4比例扫描,将所述1维光栅扫描比特取反以生成取反的比特1维光栅扫描,将所述基于块的1维扫描比特取反以生成基于块的取反的比特1维扫描,基于所述取反的比特1维光栅扫描而估计与所述符号运行编码技术相关联的第一比特成本,基于所述取反的比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本,基于所述取反的比特1维光栅扫描而估计与第二代理可变长度编码技术相关联的第三比特成本,基于所述1维光栅扫描而估计与第三代理可变长度编码技术相关联的第四比特成本,基于所述1维光栅扫描而估计与第四代理可变长度编码技术相关联的第五比特成本,基于所述基于块的取反的比特1维扫描而估计与第二符号运行编码技术相关联的第六比特成本,基于第一、第二、第三、第四、第五和第六比特成本确定最小比特成本,并且将所选择的熵编码技术确定为与最小比特成本相关联的编码技术,使得处理的比特流包括所述取反的比特1维光栅扫描、所述1维光栅扫描、或所述基于块的取反的比特1维扫描中的至少一个,使得所述符号运行编码技术可以与第一符号运行可变长度编码表相关联且所述第二符号运行编码技术可以与第二符号运行可变长度编码表相关联,并且使得所述代理可变长度编码技术可以与第一代理可变长度编码表相关联且所述第二代理可变长度编码技术可以与第二代理可变长度编码表相关联。视频数据的帧可以是F图片,且确定所选择的熵编码技术可以包括所述熵编码器逻辑电路被配置为确定视频数据的帧中的帧间块的数目大于阈值,使得所述阈值可以是25,基于编码/未编码的视频数据而生成基于瓦片的1维扫描,基于编码/未编码的视频数据而生成1维光栅扫描,将基于瓦片的1维扫描比特取反以生成基于瓦片的取反的比特1维扫描,将1维光栅扫描比特取反以生成取反的比特1维光栅扫描,确定基于瓦片的取反的比特1维扫描的比特差异以生成基于瓦片的取反的差异比特1维扫描,确定取反的比特1维光栅扫描的比特差异以生成取反的差异比特1维光栅扫描,基于基于瓦片的取反的比特1维扫描而估计与代理可变长度编码技术相关联的第一比特成本,基于基于瓦片的1维扫描而估计与符号运行编码技术相关联的第二比特成本,基于基于瓦片的1维扫描而估计与第二代理可变长度编码技术相关联的第三比特成本,基于基于瓦片的取反的差异比特1维扫描而估计与第二符号运行编码技术相关联的第四比特成本,基于基于瓦片的取反的差异比特1维扫描而估计与第三代理可变长度编码技术相关联的第五比特成本,基于取反的比特1维光栅扫描而估计与第四代理可变长度编码技术相关联的第六比特成本,基于1维光栅扫描而估计与第五代理可变长度编码技术相关联的第七比特成本,基于取反的差异比特1维光栅扫描而估计与第六代理可变长度编码技术相关联的第八比特成本,基于第一、第二、第三、第四、第五、第六、第七和第八比特成本确定最小比特成本,并且将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,使得处理的比特流可以包括基于瓦片的1维扫描、1维光栅扫描、基于瓦片的取反的比特1维扫描、取反的比特1维光栅扫描、基于瓦片的取反的差异比1维扫描、或取反的差异比特1维光栅扫描中的至少一个,使得第一符号运行编码技术可以与第一符号运行可变长度编码表相关联且第二符号运行编码技术可以与第二符号运行可变长度编码表相关联,并且使得第一代理可变长度编码技术可以与第一代理可变长度编码表相关联且第二代理可变长度编码技术可以与第二代理可变长度编码表相关联。
在又一示例中,一种系统可以包括天线,其被配置为接收视频数据的熵编码的比特流和视频解码器,以及通信地耦合到所述天线并被配置为对编码的比特流进行解码的视频解码器。所述视频解码器可以被配置为解组装熵编码的比特流以确定编码/未编码的视频数据头部和被编码的编码/未编码的视频数据,至少部分地基于所述编码/未编码的视频数据头部,从多个熵编码技术中确定针对所述被编码的编码/未编码的视频数据的、所选择的熵编码技术,使得所述多个熵编码技术可以包括代理可变长度编码技术和符号运行编码技术,使用所选择的熵编码技术对被编码的编码/未编码的视频数据进行熵解码,以确定编码/未编码的视频数据,并且至少部分地基于所述编码/未编码的视频数据而生成视频帧。
在进一步的示例性系统中,所述系统还可以包括显示设备,其被配置为呈现视频帧。编码/未编码的视频数据可以包括多个比特,使得每一比特可以指示与视频数据的帧相关联的块结构的相关联的块是编码的还是未编码的,并且使得比特1可以指示所述相关联的块是编码的且比特0可以指示所述相关联的块是未编码的。使用所选择的熵编码技术对被编码的编码/未编码的视频数据进行熵解码以确定编码/未编码的视频数据可以包括所述视频解码器被配置为解压缩被编码的编码/未编码的视频数据以生成处理的比特流并且对所述处理的比特流进行解码以生成编码/未编码的视频数据,使得与所述编码/未编码的视频数据相关联的所述处理的比特流可以包括编码/未编码的视频数据的通过、编码/未编码的视频数据的反向、编码/未编码的视频数据的比特取反、编码/未编码的视频数据的比特差异确定、基于编码/未编码的视频数据的1维光栅扫描、基于编码/未编码的视频数据的基于块的1维扫描、或基于编码/未编码的视频数据的基于瓦片的1维扫描中的至少一个。
在进一步的示例中,至少一个机器可读介质可以包括多个指令,其响应于在计算设备上执行,使得所示计算设备执行根据上述示例中的任何一个的方法。
在又一示例中,一种装置可以包括用于执行根据上述示例中的任何一个的方法的单元。
上述的示例可以包括特征的特定组合。然而,这样的上述示例在该方面不受限制,且在各个实施方式中,上述的示例可以包括仅采用这样的特征的子集、采用不同顺序的这样的特征、采用这样的特征的不同组合、和/或采用与明确列出的那些特征不同的另外的特征。例如,可以关于示例性的装置、示例性系统、和/或示例性制品来实现关于示例性方法描述的所有特征,且反之亦然。

Claims (25)

1.一种用于视频编码的计算机实现的方法,所述方法包括:
从多个熵编码技术中确定针对编码/未编码的视频数据的、所选择的熵编码技术,其中所述多个熵编码技术包括代理可变长度编码技术和符号运行编码技术;
使用所选择的熵编码技术对与所述编码/未编码的视频数据相关联的处理的比特流进行熵编码,以生成被编码的编码/未编码的视频数据;并且
将所述被编码的编码/未编码的视频数据组装到输出比特流中。
2.根据权利要求1所述的方法,其中,与所述编码/未编码的视频数据相关联的所述处理的比特流包括所述编码/未编码的视频数据的通过、所述编码/未编码的视频数据的反向、所述编码/未编码的视频数据的比特取反、或所述编码/未编码的视频数据的比特差异确定中的至少一个。
3.根据权利要求1所述的方法,其中,与所述编码/未编码的视频数据相关联的所述处理的比特流包括基于所述编码/未编码的视频数据的1维光栅扫描、基于所述编码/未编码的视频数据的基于块的1维扫描、或基于所述编码/未编码的视频数据的基于瓦片的1维扫描中的至少一个。
4.根据权利要求1所述的方法,其中,所述代理可变长度编码技术是基于第一代理可变长度编码表的,并且其中,所述多个熵编码技术包括基于第二代理可变长度编码表的第二代理可变长度编码技术。
5.根据权利要求1所述的方法,其中,编码/未编码的数据与视频数据的P图片相关联,并且其中,确定所选择的熵编码技术包括:
基于所述编码/未编码的视频数据而生成1维光栅扫描;
基于所述编码/未编码的视频数据而生成基于块的1维扫描;
对所述基于块的1维扫描进行比特取反以生成基于块的取反的比特1维扫描;
基于所述1维光栅扫描而估计与所述代理可变长度编码技术相关联的第一比特成本;
基于所述基于块的取反的比特1维扫描而估计与所述符号运行编码技术相关联的第二比特成本;
基于所述第一比特成本和所述第二比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述1维光栅扫描或所述基于块的取反的比特1维扫描中的至少一个。
6.根据权利要求1所述的方法,其中,所述编码/未编码的视频数据与视频数据的P图片相关联,并且其中,确定所选择的熵编码技术包括:
基于所述编码/未编码的视频数据而生成1维光栅扫描;
基于所述编码/未编码的视频数据而生成基于块的1维扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
对所述基于块的1维扫描进行比特取反以生成基于块的取反的比特1维光栅扫描;
基于所述取反的比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第一比特成本;
基于所述基于块的取反的比特1维扫描而估计与所述符号运行编码技术相关联的第二比特成本;
基于所述第一比特成本和所述第二比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述所处理的比特流包括所述取反的比特1维光栅扫描或所述基于块的取反的比特1维扫描中的至少一个。
7.根据权利要求1所述的方法,其中,所述编码/未编码的视频数据与视频数据的P图片相关联,并且其中,确定所选择的熵编码技术包括:
基于所述编码/未编码的视频数据而生成1维光栅扫描;
基于所述编码/未编码的视频数据而生成基于块的1维扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
对所述基于块的1维扫描进行比特取反以生成基于块的取反的比特1维扫描;
基于所述取反的比特1维光栅扫描而估计与所述符号运行编码技术相关联的第一比特成本;
基于所述取反的比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本;
基于所述基于块的取反的比特1维扫描而估计与第二符号运行编码技术相关联的第三比特成本;
基于所述第一比特成本、所述第二比特成本、和所述第三比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述取反的比特1维光栅扫描或所述基于块的取反的比特1维扫描中的至少一个。
8.根据权利要求1所述的方法,其中,所述编码/未编码的视频数据与视频数据的P图片相关联,并且其中,确定所选择的熵编码技术包括:
基于所述编码/未编码的视频数据而生成1维光栅扫描;
基于所述编码/未编码的视频数据而生成基于块的1维扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
对所述基于块的1维扫描进行比特取反以生成基于块的取反的比特1维扫描;
基于所述取反的比特1维光栅扫描而估计与所述符号运行编码技术相关联的第一比特成本;
基于所述1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本;
基于所述基于块的取反的比特1维扫描而估计与第二符号运行编码技术相关联的第三比特成本;
基于所述第一比特成本、所述第二比特成本、和所述第三比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述1维光栅扫描、所述取反的比特1维光栅扫描、或所述基于块的取反的比特1维扫描中的至少一个。
9.根据权利要求1所述的方法,其中,所述编码/未编码的视频数据与视频数据的F图片相关联,并且其中,确定所选择的熵编码技术包括:
基于所述编码/未编码的视频数据而生成基于瓦片的1维扫描;
基于所述编码/未编码的视频数据而生成1维光栅扫描;
基于所述基于瓦片的1维扫描而估计与所述符号运行编码技术相关联的第一比特成本;
基于所述1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本;
基于所述第一比特成本和所述第二比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述基于瓦片的1维扫描或所述1维光栅扫描中的至少一个。
10.根据权利要求1所述的方法,其中,所述编码/未编码的视频数据与视频数据的F图片相关联,并且其中,确定所选择的熵编码技术包括:
基于所述编码/未编码的视频数据而生成基于瓦片的1维扫描;
基于所述编码/未编码的视频数据而生成1维光栅扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
基于所述基于瓦片的1维扫描而估计与所述符号运行编码技术相关联的第一比特成本;
基于所述取反的比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本;
基于所述第一比特成本和所述第二比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述基于瓦片的1维扫描或所述取反的比特1维光栅扫描中的至少一个。
11.根据权利要求1所述的方法,其中,所述编码/未编码的视频数据与视频数据的F图片相关联,并且其中,确定所选择的熵编码技术包括:
基于所述编码/未编码的视频数据而生成基于瓦片的1维扫描;
基于所述编码/未编码的视频数据而生成1维光栅扫描;
对所述基于瓦片的1维扫描进行比特取反以生成基于瓦片的取反的比特1维扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
确定所述基于瓦片的取反的比特1维扫描的比特差异以生成基于瓦片的取反的差异比特1维扫描;
确定所述取反的比特1维光栅扫描的比特差异以生成取反的差异比特1维光栅扫描;
基于所述基于瓦片的取反的差异比特1维扫描而估计与所述符号运行编码技术相关联的第一比特成本;
基于所述取反的差异比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本;
基于所述基于瓦片的取反的比特1维扫描而估计与第二代理可变长度编码技术相关联的第三比特成本;
基于所述第一比特成本、所述第二比特成本、和所述第三比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述基于瓦片的取反的差异比特1维扫描、所述取反的差异比特1维光栅扫描、或所述基于瓦片的取反的比特1维扫描中的至少一个。
12.根据权利要求1所述的方法,其中,所述编码/未编码的视频数据与视频数据的F图片相关联,并且其中,确定所选择的熵编码技术包括:
基于所述编码/未编码的视频数据而生成基于瓦片的1维扫描;
基于所述编码/未编码的视频数据而生成1维光栅扫描;
对所述基于瓦片的1维扫描进行比特取反以生成基于瓦片的取反的比特1维扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
确定所述基于瓦片的取反的比特1维扫描的比特差异以生成基于瓦片的取反的差异比特1维扫描;
确定所述取反的比特1维光栅扫描的比特差异以生成取反的差异比特1维光栅扫描;
基于所述基于瓦片的取反的差异比特1维扫描而估计与所述符号运行编码技术相关联的第一比特成本;
基于所述取反的差异比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本;
基于所述基于瓦片的取反的差异比特1维扫描而估计与第二代理可变长度编码技术相关联的第三比特成本;
基于所述第一比特成本、所述第二比特成本、和所述第三比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述基于瓦片的取反的差异比特1维扫描或所述取反的差异比特1维光栅扫描中的至少一个。
13.根据权利要求1所述的方法,其中,所述编码/未编码的视频数据包括多个比特,其中,每一个比特指示与视频数据的帧相关联的块结构的相关联的块是编码的还是未编码的。
14.根据权利要求1所述的方法,还包括:
对与所述所选择的熵编码技术或所述处理的比特流中的至少一个相关联的编码/未编码的视频数据头部进行编码。
15.根据权利要求1所述的方法,还包括:
读取与视频数据的帧相关联的块结构;
将所述块结构与所述编码/未编码的视频数据相关联;
对与所述所选择的熵编码技术或所述处理的比特流中的至少一个相关联的编码/未编码的视频数据头部进行编码;
发送所述输出比特流;
接收所述输出比特流;
解组装所述输出比特流以确定所述编码/未编码的视频数据头部和被编码的编码/未编码的视频数据;
至少部分地基于所述编码/未编码的视频数据头部而确定所选择的熵编码技术;
使用所选择的熵编码技术对被编码的编码/未编码的视频数据比特流进行熵解码以确定所述编码/未编码的视频数据;并且
至少部分地基于所述编码/未编码的视频数据而生成视频帧,
其中,所述编码/未编码的视频数据包括多个比特,其中,每一个比特指示与视频数据的所述帧相关联的所述块结构的相关联的块是编码的还是未编码的,其中,比特1指示所述相关联的块是编码的且比特0指示所述相关联的块是未编码的,其中,所述编码/未编码的视频数据包括符号比特,并且其中,与视频数据的所述帧相关联的模式是帧间模式,
其中,与所述编码/未编码的视频数据相关联的所述处理的比特流包括所述编码/未编码的视频数据的通过、所述编码/未编码的视频数据的反向、所述编码/未编码的视频数据的比特取反、所述编码/未编码的视频数据的比特差异确定、基于所述编码/未编码的视频数据的1维光栅扫描、基于所述编码/未编码的视频数据的基于块的1维扫描、或基于所述编码/未编码的视频数据的基于瓦片的1维扫描中的至少一个,
其中,将所述被编码的编码/未编码的视频数据组装到所述输出比特流中包括将所述编码/未编码的视频数据头部组装到所述输出比特流中,
其中,视频数据的所述帧是P图片,并且其中,确定所选择的熵编码技术包括:
确定视频数据的所述帧中的帧间块的数目大于阈值,其中,所述阈值包括25;
基于所述编码/未编码的视频数据而生成1维光栅扫描;
基于所述编码/未编码的视频数据而生成基于块的1维扫描,其中,所述基于块的1维扫描包括2x4比例扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
对所述基于块的1维扫描进行比特取反以生成基于块的取反的比特1维扫描;
基于所述取反的比特1维光栅扫描而估计与所述符号运行编码技相关联术的第一比特成本;
基于所述取反的比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本;
基于所述取反的比特1维光栅扫描而估计与第二代理可变长度编码技术相关联的第三比特成本;
基于所述1维光栅扫描而估计与第三代理可变长度编码技术相关联的第四比特成本;
基于所述1维光栅扫描而估计与第四代理可变长度编码技术相关联的第五比特成本;
基于所述基于块的取反的比特1维扫描而估计与第二符号运行编码技术相关联的第六比特成本;
基于所述第一比特成本、所述第二比特成本、所述第三比特成本、所述第四比特成本、所述第五比特成本和所述第六比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述取反的比特1维光栅扫描、所述1维光栅扫描、或所述基于块的取反的比特1维扫描中的至少一个,其中,所述符号运行编码技术与第一符号运行可变长度编码表相关联且所述第二符号运行编码技术与第二符号运行可变长度编码表相关联,并且其中,所述代理可变长度编码技术与第一代理可变长度编码表相关联且所述第二代理可变长度编码技术与第二代理可变长度编码表相关联,
其中,视频数据的所述帧是F-图片,并且其中,确定所选择的熵编码技术包括:
确定视频数据的所述帧中的帧间块的数目大于阈值,其中所述阈值包括25;
基于所述编码/未编码的视频数据而生成基于瓦片的1维扫描;
基于所述编码/未编码的视频数据而生成1维光栅扫描;
对所述基于瓦片的1维扫描进行比特取反以生成基于瓦片的取反的比特1维扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
确定所述基于瓦片的取反的比特1维扫描的比特差异以生成基于瓦片的取反的差异比特1维扫描;
确定所述取反的比特1维光栅扫描的比特差异以生成取反的差异比特1维光栅扫描;
基于所述基于瓦片的取反的比特1维扫描而估计与所述代理可变长度编码技术相关联的第一比特成本;
基于所述基于瓦片的1维扫描而估计与所述符号运行编码技术相关联的第二比特成本;
基于所述基于瓦片的1维扫描而估计与第二代理可变长度编码技术相关联的第三比特成本;
基于所述基于瓦片的取反的差异比特1维扫描而估计与第二符号运行编码技术相关联的第四比特成本;
基于所述基于瓦片的取反的差异比特1维扫描而估计与第三代理可变长度编码技术相关联的第五比特成本;
基于取反的比特1维光栅扫描而估计与第四代理可变长度编码技术相关联的第六比特成本;
基于所述1维光栅扫描而估计与第五代理可变长度编码技术相关联的第七比特成本;
基于所述取反的差异比特1维光栅扫描而估计与第六代理可变长度编码技术相关联的第八比特成本;
基于所述第一比特成本、所述第二比特成本、所述第三比特成本、所述第四比特成本、所述第五比特成本、所述第六比特成本、所述第七比特成本和所述第八比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述基于瓦片的1维扫描、所述1维光栅扫描、所述基于瓦片的取反的比特1维扫描、所述取反的比特1维光栅扫描、所述基于瓦片的取反的差异比1维扫描、或所述取反的差异比特1维光栅扫描中的至少一个,其中,所述第一符号运行编码技术与第一符号运行可变长度编码表相关联且所述第二符号运行编码技术与第二符号运行可变长度编码表相关联,并且其中,所述第一代理可变长度编码技术与第一代理可变长度编码表相关联且所述第二代理可变长度编码技术与第二代理可变长度编码表相关联。
16.一种视频编码器,包括:
图像缓冲器;
图形处理单元,其包括熵编码器逻辑电路,其中,所述图形处理单元通信地耦合到所述图像缓冲器,并且其中,所述熵编码器逻辑电路被配置为:
从多个熵编码技术中确定针对编码/未编码的视频数据的所选择的熵编码技术,其中,所述多个熵编码技术包括代理可变长度编码技术和符号运行编码技术;
使用所选择的熵编码技术对与所述编码/未编码的视频数据相关联的处理的比特流进行熵编码,以生成被编码的编码/未编码的视频数据;并且
将所述被编码的编码/未编码的视频数据组装到输出比特流中。
17.根据权利要求16所述的视频编码器,其中,所述多个熵编码技术包括第二代理可变长度编码技术,其中,所述代理可变长度编码技术与第一代理可变长度编码表相关联并且所述第二代理可变长度编码技术与第二代理可变长度编码表相关联。
18.根据权利要求16所述的视频编码器,其中,所述多个熵编码技术包括第二符号运行编码技术,其中,所述符号运行编码技术与第一符号运行可变长度编码表相关联并且所述第二符号运行编码技术与第二符号运行可变长度编码表相关联。
19.根据权利要求16所述的视频编码器,其中,与所述编码/未编码的视频数据相关联的所述处理的比特流包括所述编码/未编码的视频数据的通过、所述编码/未编码的视频数据的反向、所述编码/未编码的视频数据的比特取反、所述编码/未编码的视频数据的比特差异确定、基于所述编码/未编码的视频数据的1维光栅扫描、基于所述编码/未编码的视频数据的基于块的1维扫描、或基于所述编码/未编码的视频数据的基于瓦片的1维扫描中的至少一个。
20.根据权利要求16所述的视频编码器,其中,所述熵编码器逻辑电路进一步被配置为:
读取与视频数据的帧相关联的块结构;
将所述块结构与所述编码/未编码的视频数据相关联;并且
对与所述所选择的熵编码技术或所述处理的比特流中的至少一个相关联的编码/未编码的视频数据头部进行编码;
其中,所述编码/未编码的视频数据包括多个比特,其中,每一个比特指示与视频数据的所述帧相关联的所述块结构的相关联的块是编码的还是未编码的,其中,比特1指示所述相关联的块是编码的且比特0指示所述相关联的块是未编码的,其中,所述编码/未编码的视频数据包括符号比特,并且其中,与视频数据的所述帧相关联的模式是帧间模式,
其中,与所述编码/未编码的视频数据相关联的所述处理的比特流包括所述编码/未编码的视频数据的通过、所述编码/未编码的视频数据的反向、所述编码/未编码的视频数据的比特取反、所述编码/未编码的视频数据的比特差异确定、基于所述编码/未编码的视频数据的1维光栅扫描、基于所述编码/未编码的视频数据的基于块的1维扫描、或基于所述编码/未编码的视频数据的基于瓦片的1维扫描中的至少一个,
其中,将所述被编码的编码/未编码的视频组装到所述输出比特流中包括所述熵编码器逻辑电路被配置为将所述编码/未编码的视频数据头部组装到所述输出比特流中,
其中,视频数据的所述帧是P-图片,并且其中,确定所选择的熵编码技术包括所述熵编码器逻辑电路被配置为:
确定视频数据的所述帧中的帧间块的数目大于阈值,其中,所述阈值包括25;
基于所述编码/未编码的视频数据而生成1维光栅扫描;
基于编所述码/未编码的视频数据而生成基于块的1维扫描,其中,所述基于块的1维扫描包括2x4比例扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
对所述基于块的1维扫描进行比特取反以生成基于块的取反的比特1维扫描;
基于所述取反的比特1维光栅扫描而估计与所述符号运行编码技术相关联的第一比特成本;
基于所述取反的比特1维光栅扫描而估计与所述代理可变长度编码技术相关联的第二比特成本;
基于所述取反的比特1维光栅扫描而估计与第二代理可变长度编码技术相关联的第三比特成本;
基于所述1维光栅扫描而估计与第三代理可变长度编码技术相关联的第四比特成本;
基于所述1维光栅扫描而估计与第四代理可变长度编码技术相关联的第五比特成本;
基于所述基于块的取反的比特1维扫描而估计与第二符号运行编码技术相关联的第六比特成本;
基于所述第一比特成本、所述第二比特成本、所述第三比特成本、所述第四比特成本、所述第五比特成本和所述第六比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述取反的比特1维光栅扫描、所述1维光栅扫描、或所述基于块的取反的比特1维扫描中的至少一个,其中,所述符号运行编码技术与第一符号运行可变长度编码表相关联且所述第二符号运行编码技术与第二符号运行可变长度编码表相关联,并且其中,所述代理可变长度编码技术与第一代理可变长度编码表相关联且所述第二代理可变长度编码技术与第二代理可变长度编码表相关联,
其中,视频数据的所述帧是F-图片,并且其中,确定所选择的熵编码技术包括所述熵编码器逻辑电路被配置为:
确定视频数据的所述帧中的帧间块的数目大于阈值,其中,所述阈值包括25;
基于所述编码/未编码的视频数据而生成基于瓦片的1维扫描;
基于所述编码/未编码的视频数据而生成1维光栅扫描;
对所述基于瓦片的1维扫描进行比特取反以生成基于瓦片的取反的比特1维扫描;
对所述1维光栅扫描进行比特取反以生成取反的比特1维光栅扫描;
确定所述基于瓦片的取反的比特1维扫描的比特差异以生成基于瓦片的取反的差异比特1维扫描;
确定所述取反的比特1维光栅扫描的比特差异以生成取反的差异比特1维光栅扫描;
基于所述基于瓦片的取反的比特1维扫描而估计与所述代理可变长度编码技术相关联的第一比特成本;
基于所述基于瓦片的1维扫描而估计与所述符号运行编码技术相关联的第二比特成本;
基于所述基于瓦片的1维扫描而估计与第二代理可变长度编码技术相关联的第三比特成本;
基于所述基于瓦片的取反的差异比特1维扫描而估计与第二符号运行编码技术相关联的第四比特成本;
基于所述基于瓦片的取反的差异比特1维扫描而估计与第三代理可变长度编码技术相关联的第五比特成本;
基于所述取反的比特1维光栅扫描而估计与第四代理可变长度编码技术相关联的第六比特成本;
基于所述1维光栅扫描而估计与第五代理可变长度编码技术相关联的第七比特成本;
基于所述取反的差异比特1维光栅扫描而估计与第六代理可变长度编码技术相关联的第八比特成本;
基于所述第一比特成本、所述第二比特成本、所述第三比特成本、所述第四比特成本、所述第五比特成本、所述第六比特成本、所述第七比特成本和所述第八比特成本而确定最小比特成本;并且
将所选择的熵编码技术确定为与所述最小比特成本相关联的编码技术,其中,所述处理的比特流包括所述基于瓦片的1维扫描、所述1维光栅扫描、所述基于瓦片的取反的比特1维扫描、所述取反比特1维光栅扫描、所述基于瓦片的取反的差异比特1维扫描、或所述取反的差异比特1维光栅扫描中的至少一个,其中,所述符号运行编码技术与第一符号运行可变长度编码表相关联且所述第二符号运行编码技术与第二符号运行可变长度编码表相关联,并且其中,所述代理可变长度编码技术与第一代理可变长度编码表相关联且所述第二代理可变长度编码技术与第二代理可变长度编码表相关联。
21.一种系统,包括:
天线,其被配置为接收视频数据的熵编码的比特流;以及
视频解码器,其通信地耦合到所述天线并且被配置为对被编码的比特流进行解码,其中,所述视频解码器被配置为:
解组装所述熵编码的比特流以确定编码/未编码的视频数据头部和被编码的编码/未编码的视频数据;
至少部分地基于所述编码/未编码的视频数据头部,从多个熵编码技术中确定针对所述被编码的编码/未编码的视频数据的所选择的熵编码技术,其中,所述多个熵编码技术包括代理可变长度编码技术和符号运行编码技术;
使用所选择的熵编码技术对所述被编码的编码/未编码的视频数据进行熵解码,以确定编码/未编码的视频数据;并且
至少部分地基于所述编码/未编码的视频数据而生成视频帧。
22.根据权利要求21所述的系统,还包括:
显示设备,其被配置为呈现所述视频帧。
23.根据权利要求21所述的系统,还包括:
显示设备,其被配置为呈现所述视频帧,
其中,所述编码/未编码的视频数据包括多个比特,其中,每一个比特指示与视频数据的帧相关联的块结构的相关联的块是编码的还是未编码的,并且其中,比特1指示所述相关联的块是编码的且比特0指示所述相关联的块是未编码的,
其中,使用所选择的熵编码技术对所述被编码的编码/未编码的视频数据进行熵解码以确定编码/未编码的视频数据包括所述视频解码器被配置为:
对所述被编码的编码/未编码的视频数据进行解压缩以生成处理的比特流;并且
对所述处理的比特流进行解码以生成所述编码/未编码的视频数据,其中,与所述编码/未编码的视频数据相关联的所述处理的比特流包括所述编码/未编码的视频数据的通过、所述编码/未编码的视频数据的反向、所述编码/未编码的视频数据的比特取反、所述编码/未编码的视频数据的比特差异确定、基于所述编码/未编码的视频数据的1维光栅扫描、基于所述编码/未编码的视频数据的基于块的1维扫描、或基于所述编码/未编码的视频数据的基于瓦片的1维扫描中的至少一个。
24.至少一个机器可读介质,包括:
多个指令,其响应于在计算设备上被执行而使得所述计算设备执行根据权利要求1-15中的任何一项所述的方法。
25.一种装置,包括:
用于执行根据权利要求1-15中的任何一项所述的方法的单元。
CN201380068583.5A 2013-01-30 2013-12-27 用于下一代视频的编码/未编码的数据的内容自适应熵编码 Expired - Fee Related CN104885471B (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/US2013/077967 WO2014120373A1 (en) 2013-01-30 2013-12-27 Content adaptive entropy coding of coded/not-coded data for next generation video

Publications (2)

Publication Number Publication Date
CN104885471A true CN104885471A (zh) 2015-09-02
CN104885471B CN104885471B (zh) 2019-06-28

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 用于下一代视频的内容自适应熵编码
CN201380068583.5A Expired - Fee Related CN104885471B (zh) 2013-01-30 2013-12-27 用于下一代视频的编码/未编码的数据的内容自适应熵编码
CN201380053523.6A Expired - Fee Related CN104718756B (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 (3)

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 用于下一代视频的内容自适应熵编码

Family Applications After (6)

Application Number Title Priority Date Filing Date
CN201380053523.6A Expired - Fee Related CN104718756B (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 用于下一代视频编码的内容自适应预测距离分析器和分层运动估计系统

Country Status (8)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810556A (zh) * 2017-04-28 2018-11-13 炬芯(珠海)科技有限公司 压缩参考帧的方法、装置及芯片

Families Citing this family (253)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2524117T3 (es) 2002-08-08 2014-12-04 Panasonic Intellectual Property Corporation Of America Procedimiento de codificación y procedimiento de descodificación de imágenes en movimiento
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
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
EP2952003B1 (en) 2013-01-30 2019-07-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
CN103929642B (zh) * 2014-04-24 2017-04-12 北京航空航天大学 一种hevc变换系数的熵编码上下文模型偏移值快速计算方法
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
US20170249521A1 (en) * 2014-05-15 2017-08-31 Arris Enterprises, Inc. Automatic video comparison of the output of a video decoder
US11064204B2 (en) 2014-05-15 2021-07-13 Arris Enterprises Llc 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编码系统及方法
WO2016192073A1 (zh) 2015-06-04 2016-12-08 清华大学 编码方法、解码方法及其装置
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
EP3314894B1 (en) * 2015-06-25 2024-03-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Refinement of a low-pel resolution motion estimation vector
US10764574B2 (en) * 2015-07-01 2020-09-01 Panasonic Intellectual Property Management Co., Ltd. Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
US10419512B2 (en) * 2015-07-27 2019-09-17 Samsung Display Co., Ltd. System and method of transmitting display data
WO2017023829A1 (en) * 2015-07-31 2017-02-09 Stc.Unm System and methods for joint and adaptive control of rate, quality, and computational complexity for video coding and video delivery
US10430031B2 (en) * 2015-08-30 2019-10-01 EVA Automation, Inc. Displaying HDMI content in a tiled window
US10743059B2 (en) * 2015-08-30 2020-08-11 EVA Automation, Inc. Displaying HDMI content at an arbitrary location
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
CN108141595A (zh) 2015-09-23 2018-06-08 Lg 电子株式会社 图像编码/解码方法及其设备
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
WO2017073360A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
US10283094B1 (en) * 2015-11-09 2019-05-07 Marvell International Ltd. Run-length compression and decompression of media tiles
EP3166313A1 (en) 2015-11-09 2017-05-10 Thomson Licensing Encoding and decoding method and corresponding devices
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
MX2018006642A (es) * 2015-12-14 2018-08-01 Panasonic Ip Corp America Metodo de codificacion de datos tridimencionales, metodos de decodificacion de datos tridimensionales, dispositivo de codificacion de datos tridimensionales y dispositivo de decodificacion de datos tridimensionales.
US20180359494A1 (en) * 2015-12-31 2018-12-13 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 삼성전자주식회사 영상처리장치, 영상처리방법 및 이를 기록한 기록매체
CN116506601A (zh) * 2016-03-11 2023-07-28 数字洞察力有限公司 视频编码方法以及装置
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
ES2853700T3 (es) 2016-04-15 2021-09-17 Magic Pony Tech Limited Compensación de movimiento utilizando interpolación de imagen temporal
US10574999B2 (en) * 2016-05-05 2020-02-25 Intel Corporation Method and system of video coding with a multi-pass prediction mode decision pipeline
JP2019514308A (ja) 2016-05-10 2019-05-30 サムスン エレクトロニクス カンパニー リミテッド 映像を符号化/復号する方法及びその装置
CN115118971A (zh) 2016-05-13 2022-09-27 Vid拓展公司 用于视频编码的通用式多假设预测的系统及方法
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
EP4224859A3 (en) * 2016-05-25 2023-09-20 ARRIS Enterprises LLC Binary ternary quad tree partitioning for jvet
WO2017205621A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc Jvet coding block structure with asymmetrical partitioning
CA3025334C (en) * 2016-05-25 2021-07-13 Arris Enterprises Llc Binary ternary quad tree partitioning for jvet coding of video data
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
US10880548B2 (en) 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
KR102445668B1 (ko) * 2016-06-01 2022-09-21 삼성전자주식회사 부호화 순서 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US10743210B2 (en) * 2016-06-01 2020-08-11 Intel Corporation Using uplink buffer status to improve video stream adaptation control
US10657674B2 (en) 2016-06-17 2020-05-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
US10169362B2 (en) 2016-07-07 2019-01-01 Cross Commerce Media, Inc. High-density compression method and computing system
US11503305B2 (en) 2016-08-03 2022-11-15 Kt Corporation Method and apparatus for processing video signal
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
DK3381190T3 (da) * 2016-08-04 2021-08-16 Sz Dji Technology Co Ltd Parallel videokodning
WO2018030746A1 (ko) * 2016-08-08 2018-02-15 엘지전자(주) 영상의 처리 방법 및 이를 위한 장치
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
KR20190053256A (ko) 2016-10-04 2019-05-17 김기백 영상 데이터 부호화/복호화 방법 및 장치
KR20200062365A (ko) * 2016-10-04 2020-06-03 김기백 영상 데이터 부호화/복호화 방법 및 장치
EP3306938A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for binary-tree split mode coding
EP3306927A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Encoding and decoding methods and corresponding devices
KR20180039323A (ko) 2016-10-10 2018-04-18 디지털인사이트 주식회사 다양한 블록 분할 구조를 결합하여 사용하는 비디오 코딩 방법 및 장치
US20180103271A1 (en) * 2016-10-10 2018-04-12 Qualcomm Incorporated Systems and methods for signaling missing or corrupted video data
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
EP3513563A1 (en) * 2016-10-18 2019-07-24 Zhejiang Dahua Technology Co., Ltd Methods and systems for video processing
KR20180043151A (ko) 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
CN116567210A (zh) * 2016-10-19 2023-08-08 Sk电信有限公司 视频编码/解码设备和方法及非暂时性记录介质
CN106454355B (zh) * 2016-10-24 2019-03-01 西南科技大学 一种视频编码方法及装置
JPWO2018092868A1 (ja) 2016-11-21 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
JPWO2018092869A1 (ja) 2016-11-21 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US20190335197A1 (en) * 2016-11-22 2019-10-31 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored thereon
GB2556923B (en) * 2016-11-25 2020-04-15 Canon Kk Generation of VCA Reference results for VCA Auto-setting
CN117528105A (zh) * 2016-11-28 2024-02-06 英迪股份有限公司 图像编码方法、图像解码方法及用于传送比特流的方法
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ケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
US11070801B2 (en) * 2016-12-16 2021-07-20 Sharp Kabushiki Kaisha Image coder/decoder restricting binary tree splitting of target node obtained by ternary tree split
WO2018117892A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd. An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes
RU2018131583A (ru) * 2016-12-26 2021-01-26 Нек Корпорейшн Способ кодирования видео, способ декодирования видео, устройство кодирования видео, устройство декодирования видео и программа
US10542293B2 (en) * 2016-12-26 2020-01-21 Nec Corporation Video encoding method, video decoding method, video encoding device, video decoding device, and program
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 晨星半導體股份有限公司 用於高效率視訊編碼裝置之排程方法
WO2018127418A1 (en) 2017-01-05 2018-07-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Block-based predictive coding and decoding of a picture
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 엘지전자(주) 행-열 변환을 이용하여 변환을 수행하는 방법 및 장치
KR102230877B1 (ko) * 2017-02-06 2021-03-22 후아웨이 테크놀러지 컴퍼니 리미티드 인코딩 방법 및 장치와, 디코딩 방법 및 장치
AU2018218182B2 (en) 2017-02-08 2022-12-15 Immersive Robotics Pty Ltd Antenna control for mobile device communication
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 杭州海康威视数字技术股份有限公司 一种图像超分辨率重构方法、装置及系统
US11551067B2 (en) * 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
CN112153029A (zh) 2017-04-21 2020-12-29 泽尼马克斯媒体公司 基于编码器提示的渲染和预编码负载估计的系统和方法
TWI681669B (zh) 2017-04-21 2020-01-01 美商時美媒體公司 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法
EP3612978A4 (en) 2017-04-21 2020-06-03 Zenimax Media Inc. SYSTEMS AND METHODS FOR ENABLING ENCODER-GUIDED QUALITY RENDERING
EP3613015A4 (en) 2017-04-21 2021-02-24 Zenimax Media Inc. SYSTEMS AND PROCEDURES FOR TOY GENERATED MOTION VECTORS
JP7077396B2 (ja) 2017-04-21 2022-05-30 ゼニマックス メディア インク. ビデオエンコードの延期されたポストプロセスのためのシステムおよび方法
US10979728B2 (en) * 2017-04-24 2021-04-13 Intel Corporation Intelligent video frame grouping based on predicted performance
US10638127B2 (en) * 2017-05-15 2020-04-28 Qualcomm Incorporated Adaptive anchor frame and quantization parameter decision in video coding
CN110999287A (zh) 2017-06-05 2020-04-10 因默希弗机器人私人有限公司 数字内容流压缩
KR102315524B1 (ko) * 2017-06-16 2021-10-21 한화테크윈 주식회사 영상의 비트레이트 조절 방법 및 영상 획득 장치
CN107222751B (zh) * 2017-06-23 2019-05-10 宁波大学科学技术学院 基于多视点视频特征的3d-hevc深度视频信息隐藏方法
WO2019002215A1 (en) * 2017-06-26 2019-01-03 Interdigital Vc Holdings, Inc. MULTIPLE PREDICTION CANDIDATES FOR MOTION COMPENSATION
CN109151468B (zh) * 2017-06-28 2020-12-08 华为技术有限公司 一种图像数据的编码、解码方法及装置
US11032545B2 (en) 2017-06-29 2021-06-08 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 成都图必优科技有限公司 一种基于透视模型的运动前视视频帧间预测编码方法
KR102484387B1 (ko) 2017-07-19 2023-01-03 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
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
CA3061701A1 (en) * 2017-09-28 2019-10-28 Lg Electronics Inc. Image decoding method and device in accordance with block split structure in image coding system
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平台
WO2019100108A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Image compression for digital reality
WO2019100109A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Frequency component selection for image compression
WO2019104862A1 (en) 2017-11-30 2019-06-06 SZ DJI Technology Co., Ltd. System and method for reducing video coding fluctuation
EP3695600A4 (en) 2017-11-30 2020-08-19 SZ DJI Technology Co., Ltd. SYSTEM AND METHOD FOR CONTROLLING VIDEO ENCODING IN A FRAME OF IMAGE
CN111164972A (zh) 2017-11-30 2020-05-15 深圳市大疆创新科技有限公司 用于在帧级别控制视频编码的系统和方法
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 聯發科技股份有限公司 影像處理裝置與相關的影像處理方法
EP3744102A1 (en) 2018-01-24 2020-12-02 Vid Scale, Inc. Generalized bi-prediction for video coding with reduced coding complexity
KR102465206B1 (ko) * 2018-01-26 2022-11-09 삼성전자주식회사 이미지 처리 장치
US11095876B2 (en) * 2018-01-26 2021-08-17 Samsung Electronics Co., Ltd. Image processing device
EP4221201A1 (en) 2018-01-29 2023-08-02 InterDigital VC Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
CN111989926B (zh) * 2018-02-26 2024-05-07 交互数字Vc控股公司 用于通用obmc的方法和装置
US11004178B2 (en) 2018-03-01 2021-05-11 Nvidia Corporation Enhancing high-resolution images with data from low-resolution images
WO2019167673A1 (ja) * 2018-03-01 2019-09-06 ソニー株式会社 画像処理装置および方法、撮像素子、並びに、撮像装置
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 深圳云天励飞技术有限公司 数据存储方法、装置、电子设备及存储介质
JP7005763B2 (ja) 2018-03-22 2022-01-24 グーグル エルエルシー オンラインインタラクティブゲーミングセッションのコンテンツをレンダリングおよび符号化するための方法およびシステム
CN108449599B (zh) * 2018-03-23 2021-05-18 安徽大学 一种基于面透射变换的视频编码与解码方法
EP3766247A4 (en) * 2018-04-02 2022-01-19 MediaTek Inc. VIDEO PROCESSING METHODS AND APPARATUS FOR SUBBLOCK MOTION COMPENSATION IN VIDEO CODING SYSTEMS
EP3740292A2 (en) 2018-04-02 2020-11-25 Google LLC Input device for an electronic system
KR20230017925A (ko) 2018-04-02 2023-02-06 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
KR102614649B1 (ko) 2018-04-10 2023-12-14 구글 엘엘씨 게이밍 렌더링에서의 메모리 관리
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
SG11202010696UA (en) * 2018-05-29 2020-11-27 Interdigital Vc Holdings Inc Method and apparatus for video encoding and decoding with partially shared luma and chroma coding trees
TWI746994B (zh) * 2018-06-19 2021-11-21 大陸商北京字節跳動網絡技術有限公司 用於不同參考列表的不同精確度
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
CN112585975A (zh) * 2018-08-20 2021-03-30 日本放送协会 编码装置、解码装置以及程序
CN115250350B (zh) * 2018-09-03 2024-04-09 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
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
TWI815967B (zh) 2018-09-19 2023-09-21 大陸商北京字節跳動網絡技術有限公司 仿射模式編解碼的模式相關自適應調整運動矢量分辨率
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
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
WO2020084476A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
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
CN117459722A (zh) 2018-11-12 2024-01-26 北京字节跳动网络技术有限公司 组合帧间-帧内预测的简化
EP3807766B1 (en) 2018-11-16 2021-10-27 Google LLC Shadow tracking of real-time interactive simulations for complex system analysis
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
WO2020103870A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
WO2020103936A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Pruning method for inter prediction with geometry partition
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
US10645386B1 (en) * 2019-01-03 2020-05-05 Sony Corporation Embedded codec circuitry for multiple reconstruction points based quantization
JP7235877B2 (ja) 2019-01-31 2023-03-08 北京字節跳動網絡技術有限公司 アフィンモード適応型動きベクトル解像度を符号化するためのコンテキスト
US10778972B1 (en) * 2019-02-27 2020-09-15 Google Llc Adaptive filter intra prediction modes in image/video compression
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
JP7252016B2 (ja) * 2019-03-13 2023-04-04 日本放送協会 動画像符号化装置、動画像復号装置及びプログラム
CN113574880B (zh) * 2019-03-13 2023-04-07 北京字节跳动网络技术有限公司 关于子块变换模式的分割
US10924625B2 (en) * 2019-03-20 2021-02-16 Xerox Corporation Dynamic compression acceleration using real-time image data entropy analysis
WO2020190297A1 (en) * 2019-03-21 2020-09-24 Google Llc Using rate distortion cost as a loss function for deep learning
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
KR20220024659A (ko) 2019-06-24 2022-03-03 알리바바 그룹 홀딩 리미티드 비디오 처리에서의 적응적 해상도 변경
CN110339567B (zh) * 2019-07-17 2023-05-26 三星电子(中国)研发中心 系统资源配置、场景预测模型训练方法和装置
WO2021026363A1 (en) * 2019-08-06 2021-02-11 Op Solutions, Llc Implicit signaling of adaptive resolution management based on frame type
CN114616826A (zh) 2019-08-06 2022-06-10 Op方案有限责任公司 基于帧类型的自适应分辨率管理的隐式标识
CN114503581A (zh) 2019-08-06 2022-05-13 Op方案有限责任公司 基于块的自适应分辨率管理
MX2022001592A (es) 2019-08-06 2022-03-11 Op Solutions Llc Método de gestión de resolución adaptativa para reajuste de predicción.
GB2586516B (en) * 2019-08-23 2022-07-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
CA3223625A1 (en) 2019-11-08 2021-05-14 Op Solutions, Llc Methods and systems for adaptive cropping
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
CN111814844B (zh) * 2020-03-17 2023-07-11 同济大学 一种基于位置编码融合的密集型视频描述方法
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
CN114630120B (zh) * 2020-12-14 2024-03-29 瑞昱半导体股份有限公司 基于自适应压缩率的视频压缩方法与电路系统
US11363262B1 (en) * 2020-12-14 2022-06-14 Google Llc Adaptive GOP structure using temporal dependencies likelihood
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
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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1172382A (zh) * 1996-06-14 1998-02-04 大宇电子株式会社 行程长度编码器
US20030113026A1 (en) * 2001-12-17 2003-06-19 Microsoft Corporation Skip macroblock coding
US20030133515A1 (en) * 2001-11-09 2003-07-17 Tetsujiro Kondo Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system
US20060274833A1 (en) * 2005-06-02 2006-12-07 Broadcom Corporation Text recognition during video compression
US20070036222A1 (en) * 2005-08-12 2007-02-15 Microsoft Corporation Non-zero coefficient block pattern coding
US20080112489A1 (en) * 2006-11-09 2008-05-15 Calista Technologies System and method for effectively encoding and decoding electronic information
US20110080947A1 (en) * 2009-10-02 2011-04-07 Ying Chen Line-Based Compression for Digital Image Data
US20120262545A1 (en) * 2011-04-18 2012-10-18 Paul Kerbiriou Method for coding and decoding a 3d video signal and corresponding devices

Family Cites Families (159)

* 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
US5953506A (en) 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US6850567B1 (en) * 1997-01-13 2005-02-01 Koninklijke Philips Electronics N.V. Embedding supplemental data in a digital video signal
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
TW589870B (en) 2000-12-19 2004-06-01 Pts Corp Adaptive transforms
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
EP2271111B1 (en) 2001-11-06 2016-08-10 Panasonic Intellectual Property Corporation of America Moving picture coding method and moving picture decoding method
GB2382940A (en) * 2001-11-27 2003-06-11 Nokia Corp Encoding objects and background blocks
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
CN101232618B (zh) 2002-04-23 2013-03-27 诺基亚有限公司 用于在视频编码系统中指示量化器参数的方法与设备
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
KR100909541B1 (ko) * 2004-06-27 2009-07-27 애플 인크. 멀티-패스 비디오 인코딩 방법
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
KR20070006445A (ko) * 2005-07-08 2007-01-11 삼성전자주식회사 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
CN101263513A (zh) 2005-07-15 2008-09-10 德克萨斯仪器股份有限公司 过滤和扭曲的运动补偿
WO2007011851A2 (en) * 2005-07-15 2007-01-25 Texas Instruments Incorporated Filtered and warped motion compensation
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
KR100977101B1 (ko) 2005-11-30 2010-08-23 가부시끼가이샤 도시바 화상 부호화/화상 복호화 방법 및 화상 부호화/화상 복호화장치
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
CN101507280B (zh) 2006-08-25 2012-12-26 汤姆逊许可公司 用于降低分辨率划分的方法和装置
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
CN105430399A (zh) 2006-11-08 2016-03-23 汤姆逊许可证公司 用于环内去伪影滤波的方法和设备
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
WO2009045682A2 (en) * 2007-09-28 2009-04-09 Athanasios Leontaris Treating video information
WO2009045683A1 (en) * 2007-09-28 2009-04-09 Athanasios Leontaris Video compression and tranmission techniques
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
JP5203717B2 (ja) 2007-12-19 2013-06-05 パナソニック株式会社 符号器、復号器、符号化方法、及び、復号方法
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
CN102037730B (zh) * 2008-05-22 2013-06-12 爱立信电话股份有限公司 内容自适应视频编码器和编码方法
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
CN102474269A (zh) 2009-08-06 2012-05-23 松下电器产业株式会社 编码方法、解码方法、编码装置及解码装置
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 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
EP2312854A1 (de) * 2009-10-15 2011-04-20 Siemens Aktiengesellschaft Verfahren zur Codierung von Symbolen aus einer Folge digitalisierter Bilder
JP5791618B2 (ja) * 2009-10-29 2015-10-07 ベステル エレクトロニク サナイー ベ ティカレト エー.エス. ビデオ・シーケンスを処理する方法及び装置
US20110109721A1 (en) 2009-11-06 2011-05-12 Sony Corporation Dynamic reference frame reordering for frame sequential stereoscopic video encoding
US9473792B2 (en) 2009-11-06 2016-10-18 Texas Instruments Incorporated Method and system to improve the performance of a video encoder
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
WO2011120221A1 (en) * 2010-03-31 2011-10-06 Intel Corporation Power efficient motion estimation techniques for video encoding
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ドコモ 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法、動画像予測符号化プログラム、及び動画像予測復号プログラム
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
RS64605B1 (sr) * 2010-04-13 2023-10-31 Ge Video Compression Llc Kodiranje videa primenom podele sa više stabala na slikama
EP2559238B1 (en) 2010-04-13 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive image filtering method and apparatus
HUE037656T2 (hu) * 2010-04-13 2018-09-28 Fraunhofer Ges Forschung Valószínûség intervallum partícionáló kódoló és dekódoló
US20110255594A1 (en) * 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
KR101444691B1 (ko) 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
CN102907092B (zh) 2010-05-26 2017-02-15 高通股份有限公司 相机参数辅助式视频帧速率上转换
KR20110135787A (ko) 2010-06-11 2011-12-19 삼성전자주식회사 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
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
JP5500665B2 (ja) * 2010-08-26 2014-05-21 フリースケール セミコンダクター インコーポレイテッド ビデオ処理システムおよびビデオデータの並列処理のための方法
EP3849194B1 (en) 2010-09-27 2022-08-03 LG Electronics, Inc. Method for partitioning block and decoding device
JP2012080213A (ja) 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US8885704B2 (en) 2010-10-01 2014-11-11 Qualcomm Incorporated Coding prediction modes in video coding
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
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
US20120269275A1 (en) * 2010-10-20 2012-10-25 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
US9462280B2 (en) 2010-12-21 2016-10-04 Intel Corporation Content adaptive quality restoration filtering for high efficiency video coding
US8761245B2 (en) * 2010-12-21 2014-06-24 Intel Corporation Content adaptive motion compensation filtering for high efficiency video coding
CN102572419B (zh) * 2010-12-28 2014-09-03 深圳市云宙多媒体技术有限公司 一种帧间预测方法、装置
BR112013017490A2 (pt) 2011-01-07 2017-10-24 Samsung Electronics Co Ltd método de previsão de vídeo, aparelho de previsão de vídeo, e mídia de gravação legível por computador
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
US8953690B2 (en) * 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
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 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US9848197B2 (en) * 2011-03-10 2017-12-19 Qualcomm Incorporated Transforms in video coding
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
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
NO335667B1 (no) 2011-06-29 2015-01-19 Cisco Systems Int Sarl Metode for videokomprimering
WO2013003791A1 (en) 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during inter coding
CN104980746B (zh) * 2011-07-01 2018-07-31 三星电子株式会社 用于使用分层数据单元进行编码和解码的方法和设备
KR101362696B1 (ko) 2011-10-19 2014-02-17 전북대학교산학협력단 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체
KR20130045425A (ko) 2011-10-25 2013-05-06 (주)케이테크 소셜 온톨로지 기반 지식 전문가 추천방법
US10452743B2 (en) 2011-11-07 2019-10-22 Vid Scale, Inc. Video and data processing using even-odd integer transforms
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
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1172382A (zh) * 1996-06-14 1998-02-04 大宇电子株式会社 行程长度编码器
US20030133515A1 (en) * 2001-11-09 2003-07-17 Tetsujiro Kondo Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system
US20030113026A1 (en) * 2001-12-17 2003-06-19 Microsoft Corporation Skip macroblock coding
US20060274833A1 (en) * 2005-06-02 2006-12-07 Broadcom Corporation Text recognition during video compression
US20070036222A1 (en) * 2005-08-12 2007-02-15 Microsoft Corporation Non-zero coefficient block pattern coding
US20080112489A1 (en) * 2006-11-09 2008-05-15 Calista Technologies System and method for effectively encoding and decoding electronic information
US20110080947A1 (en) * 2009-10-02 2011-04-07 Ying Chen Line-Based Compression for Digital Image Data
US20120262545A1 (en) * 2011-04-18 2012-10-18 Paul Kerbiriou Method for coding and decoding a 3d video signal and corresponding devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810556A (zh) * 2017-04-28 2018-11-13 炬芯(珠海)科技有限公司 压缩参考帧的方法、装置及芯片
CN108810556B (zh) * 2017-04-28 2021-12-24 炬芯科技股份有限公司 压缩参考帧的方法、装置及芯片

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104885471A (zh) 用于下一代视频的编码/未编码的数据的内容自适应熵编码
EP3560198B1 (en) Low-complexity sign prediction for video coding
CN104737540A (zh) 用于下一代视频的视频编解码器架构
CN104704827B (zh) 用于下一代视频的内容自适应变换译码
CN104620576A (zh) 可缩放视频译码中的替代变换
CN104685874A (zh) 用于在高效率视频编解码中处理分区模式的设备和方法
CN104081777A (zh) 用于视频译码的残余四叉树(rqt)译码
CN105052142A (zh) 仅高级语法shvc中的一般化残余预测及其信令和管理
CN116648906A (zh) 通过指示特征图数据进行编码
CN116671106A (zh) 使用分割信息的信令解码
US10951894B2 (en) Transform block-level scan order selection for video coding
CN105453567A (zh) 用于非变换编码的扫描次序

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190628

Termination date: 20191227

CF01 Termination of patent right due to non-payment of annual fee