JP2016506187A - 次世代ビデオのパーティションデータのコンテンツ適応的エントロピーコーディング - Google Patents

次世代ビデオのパーティションデータのコンテンツ適応的エントロピーコーディング Download PDF

Info

Publication number
JP2016506187A
JP2016506187A JP2015551073A JP2015551073A JP2016506187A JP 2016506187 A JP2016506187 A JP 2016506187A JP 2015551073 A JP2015551073 A JP 2015551073A JP 2015551073 A JP2015551073 A JP 2015551073A JP 2016506187 A JP2016506187 A JP 2016506187A
Authority
JP
Japan
Prior art keywords
variable length
length coding
partition
video frame
picture
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
JP2015551073A
Other languages
English (en)
Other versions
JP6339099B2 (ja
Inventor
プリ,アトゥール
エヌ. ゴーカレー,ニーレッシュ
エヌ. ゴーカレー,ニーレッシュ
ソチェク,ダニエル
Original Assignee
インテル コーポレイション
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2016506187A publication Critical patent/JP2016506187A/ja
Application granted granted Critical
Publication of JP6339099B2 publication Critical patent/JP6339099B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/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/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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)
  • Television Systems (AREA)

Abstract

パーティションデータのコンテンツ適応的エントロピーコーディングに関する技術が説明される。

Description

本出願は、その内容の全体が参照することによりここに援用される、2013年1月30日に出願された“NEXT GENERATION VIDEO CODING”というタイトルの米国仮出願第61/758,314号の利益を請求する。
ビデオエンコーダは、より多くの情報が所与の帯域幅により送信できるように、ビデオ情報を圧縮する。このとき、圧縮された信号は、表示前に当該信号を復号化又は伸張するデコーダを有する受信機に送信されうる。
High Efficient Video Coding(HEVC)は、ISO/IEC Moving Picture Experts Group(MPEG)及びITU−T Video Coding Experts Group(VCEG)により構成されるJoint Collaborative Team on Video Coding(JCT−VC)により開発されている最新のビデオ圧縮規格である。HEVCは、より高い解像度のビデオアプリケーションを進展させるのに十分な圧縮を提供しない従来のH.264/AVC(Advanced Video Coding)規格に応答して開発されている。従来のビデオコーディング規格と同様に、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は、一例となるビデオコーディングシステムと動作に関するビデオコーディング処理との説明図である。 図12は、一例となる符号化処理を示すフロー図である。 図13は、一例となるビットストリームを示す。 図14は、一例となる復号化処理を示すフロー図である。 図15(A)は、一例となるビデオコーディングシステムと処理に関するビデオコーディング処理との説明図を提供する。 図15(B)は、一例となるビデオコーディングシステムと処理に関するビデオコーディング処理との説明図を提供する。 図15(C)は、一例となるビデオコーディングシステムと処理に関するビデオコーディング処理との説明図を提供する。 図16は、一例となるビデオコーディングシステムの説明図である。 図17は、一例となるシステムの説明図である。 図18は、一例となるデバイスを示す。 図19は、ピクチャ部分の一例となるパーティションのための一例となるマルチレベルパターンの説明図である。 図20は、一例となる処理を示すフロー図である。 図21は、一例となる処理を示すフロー図である。 図22(A)は、一例となる処理のフロー図を示す。 図22(B)は、一例となる処理のフロー図を示す。 図22(C)は、一例となる処理のフロー図を示す。 図22(D)は、一例となる処理のフロー図を示す。 図22(E)は、一例となる処理のフロー図を示す。 図22(F)は、一例となる処理のフロー図を示す。 図23(A)は、一例となる処理のフロー図を示す。 図23(B)は、一例となる処理のフロー図を示す。 図23(C)は、一例となる処理のフロー図を示す。 図24は、パーティションデータをエントロピー符号化する一例となるシステムを示す。 図25は、全てが本開示の少なくとも一部の実現形態により構成される一例となる現在ピクチャ部分と一例となる近傍ピクチャ部分とを示す。
1以上の実施例又は実現形態が、同封される図面を参照してここで説明される。特定の設定及び構成が説明されるが、これは単なる例示のためのみに行われることが理解されるべきである。当業者は、他の設定及び構成が説明の趣旨及び範囲から逸脱することなく利用されうることを認識するであろう。ここに説明される技術及び/又は構成はまた、ここに説明されるもの以外の他の各種システム及びアプリケーションにおいて利用されてもよいことは明らかであろう。
以下の説明は、システム・オン・チップ(SoC)アーキテクチャなどのアーキテクチャにおいて明示されうる各種実現形態を与えるが、ここに説明される技術及び/又は構成の実現形態は、特定のアーキテクチャ及び/又は計算システムに限定されず、同様の目的のための何れかのアーキテクチャ及び/又は計算システムにより実現されてもよい。例えば、複数の集積回路(IC)チップ及び/又はパッケージなどを利用した各種アーキテクチャ、及び/又はセットトップボックス、スマートフォンなどの各種計算デバイス及び/又は家電(CE)デバイスは、ロジック実現形態、システムコンポーネントのタイプ及び相互関係、ロジック分割/統合の選択などの多数の特定の詳細を与えうるが、請求される主題はこのような特定の詳細なしに実施されてもよい。他の例では、制御構造やフルソフトウェア命令シーケンスなどのいくつかの題材は、ここに開示される題材を不明瞭にしないため、詳細には示されないかもしれない。
ここに開示される題材は、ハードウェア、ファームウェア、ソフトウェア又はこれらの何れかの組み合わせにより実現されてもよい。ここに開示される題材はまた、1以上のプロセッサにより読み込まれて実行されうるマシーン可読媒体に格納される命令として実現されてもよい。マシーン可読媒体は、マシーン(計算デバイスなど)により可読な形態により情報を格納又は送信するための何れかの媒体及び/又は機構を含むものであってもよい。例えば、マシーン可読媒体は、ROM(Read Only Memory)、RAM(Random Access Memory)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気、光、音響若しくは他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号など)などを含むものであってもよい。
明細書における“一実現形態”、“実現形態”、“一例となる実現形態”などの参照は、説明される実現形態が特定の特徴、構成又は特性を含みうるが、全ての実施例が特定の特徴、構成又は特性を必ずしも含むとは限らないことを示す。さらに、このようなフレーズは必ずしも同一の実現形態を参照するとは限らない。さらに、特定の特徴、構成又は特性が実施例に関して説明されるとき、明示的にここで説明されるかにかかわらず、このような特徴、構成又は特性を他の実現形態に関して実行することは当業者の知識の範囲内であることが主張される。
システム、装置、物及び方法が、ビデオシステムのためのコンテンツ適応的エントロピーコーディングに関して後述される。
次世代ビデオ(NGV)システム、装置、物及び方法が後述される。NGVビデオコーディングは、より高い圧縮を達成するため、ビデオコーディング処理に有意なコンテンツベース適応化を含める。上述されたように、H.264/AVC規格は各種制限を有するかもしれず、HEVC規格などの規格を改善するための進行中の試みは、繰り返しアプローチを用いてこのような制限に対処しうる。ここで、エンコーダ及びデコーダを含むNGVシステムが説明される。
例えば、H.264規格は、2つのモードのエントロピーコーディングをサポートしうる。第1のモードの適応的VLC(Variable Length Coding)では、変換係数はコンテクスト適応的VLC(CAVLC)を用いてコード化され、他の全てのシンタクス要素(例えば、オーバヘッドデータ、モード、動きベクトルなど)は指数Golombコーディングを用いてコード化されてもよい。CAVLCコード化データ及び指数Golombコード化データが、符号化されたビットストリームを生成するため多重化されうる。第2モードでは、全てのデータはコンテクスト適応的バイナリ算術コーディング(CABAC)を用いて符号化されてもよい。対応するデコーダもまた2つのモードで動作し、第1モードでは、多重化されたビットストリームをデアセンブル及び復号化し、第2モードでは、CABAC符号化されたビットストリームを復号化する。このような技術は制限を有するかもしれない。例えば、CABACコーディングは十分であるが、より高い解像度のコンテクストにおけるスループットが限定されるように複雑であるかもしれない。さらに、コーディングのためデータタイプを一緒にグループ化することによって、エントロピーコーディングの効率性及び複雑性は最適化されないかもしれない。
いくつかのビデオコーデック実現形態では、オーバヘッドデータ、モード、動きベクトル及び/又は変換係数などの各種データのエントロピー符号化及び復号化は、システムのコーディング効率性及び複雑性に有意に寄与しうる。いくつかの具体例では、ここに説明される技術はコーディング効率性とシステム複雑性とをバランスさせうる。
いくつかの具体例では、第1ビデオデータ及び第2ビデオデータは、エントロピーエンコーダモジュールにおいてエントロピー符号化のため受信されてもよい。第1ビデオデータ及び第2ビデオデータは、異なるデータタイプ(例えば、ここでさらに説明されるように、ヘッダデータ、モーフィングパラメータ、シンセサイジングパラメータ、グローバルマップデータ、動きベクトル、イントラ予測パーティションデータなど)であってもよい。第1エントロピー符号化技術は、例えば、第1ビデオデータの圧縮されたビットのビット数、第1ビデオデータに関する所定のインジケータ又はフラグ、所定の閾値、ヒューリスティックに決定された閾値など、第1ビデオデータに関するパラメータに基づき、第1ビデオデータについて決定されてもよい。いくつかの具体例では、第1エントロピー符号化技術は、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つから選択されてもよい。第1ビデオデータは、第1エントロピー符号化技術を用いてエントロピー符号化されてもよく、第2ビデオデータは、第1エントロピー符号化技術を用いてエントロピー符号化されてもよい。いくつかの具体例では、第2エントロピー符号化技術は、第1ビデオデータに関して説明されるようなパラメータに基づき、第2ビデオデータについて決定されてもよい。いくつかの具体例では、第2エントロピー符号化技術は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術、適応的ベクトル可変長コーディング、適応的1次元可変長コーディング技術、適応的2次元可変長コーディング技術又はここに説明されるような他の技術を含むオプションから決定されてもよい。いくつかの具体例では、第2エントロピー符号化技術は、第2ビデオデータのデータタイプについて所定のものであってもよい。第1ビデオデータ及び第2ビデオデータをエントロピー符号化することは、第1の圧縮されたビデオデータ及び第2の圧縮されたビデオデータを生成してもよい。第1及び第2の圧縮されたビデオデータは、出力ビットストリームを生成するため、まとめられてもよい。
出力ビットストリームは、エンコーダからデコーダに送信され、第1及び第2の圧縮されたビデオデータを決定するため、ビットストリームをデアセンブリングしてもよい。圧縮されたビデオデータは、エントロピー復号化され、エントロピー復号化されたビデオデータを生成し、更に復号化され、ビデオフレームを生成してもよい。ビデオフレームは、ユーザに提示するためディスプレイデバイスに送信されてもよい。
いくつかの具体例では、更なるビデオデータタイプが、エントロピーエンコーダモジュールにおいてエントロピー符号化のため受信されてもよい。例えば、第3、第4、第5、第6、第7又は更なるビデオデータがエントロピー符号化され、関連する圧縮されたビデオデータを生成し、それは出力ビットストリームにまとめられ、送信され、デコーダを介し以降においてエントロピー復号化されてもよい。各種データタイプ及び符号化/復号化技術のオプション及び実現形態が、さらにここで説明される。
ここで用いられる“コーダ”という用語は、エンコーダ及び/又はデコーダを参照するものであってもよい。同様に、ここで用いられる“コーディング”という用語は、エンコーダを介しビデオ符号化を実行すること、及び/又はデコーダを介しビデオ復号化を実行することを参照するものであってもよい。例えば、ビデオエンコーダ及びビデオデコーダは共に、ビデオデータをコーティング可能なコーダの具体例であってもよい。さらに、ここで用いられる“コーデック”という用語は、エンコーダ及び/又はデコーダを実現するソフトウェア、ファームウェア及び/又はハードウェアの何れかの組み合わせなどの何れかの処理、プログラム又は処理セットを参照するものであってもよい。さらに、ここで用いられる“ビデオデータ”というフレーズは、例えば、ビデオフレーム、画像データ、符号化されたビットストリームデータなどのビデオコーディングに関連する何れかのタイプのデータを参照するものであってもよい。
図1は、本開示の少なくともいくつかの実現形態に従って構成される一例となる次世代ビデオエンコーダ100の説明図である。図示されるように、エンコーダ100は入力ビデオ101を受信する。入力ビデオ101は、ビデオシーケンスの入力フレームなどの符号化のための何れか適した入力ビデオを含むものであってもよい。図示されるように、入力ビデオ101は、コンテンツ事前解析モジュール102を介し受信されてもよい。コンテンツ事前解析モジュール102は、入力ビデオ101のビデオフレームのコンテンツの解析を実行し、ビデオコーディング効率及びスピード性能を向上させるため、各種タイプのパラメータを決定するよう構成されてもよい。例えば、コンテンツ事前解析モジュール102は、水平方向及び垂直方向勾配情報(例えば、Rs、Cs)、分散、ピクチャ毎の空間複雑性、ピクチャ毎の時間複雑性、シーン変更検出、動き範囲推定、ゲイン検出、予測距離推定、オブジェクト数推定、領域境界検出、空間複雑性マップ計算、フォーカス推定、フィルムグレイン推定などを決定してもよい。コンテンツ事前解析モジュール102により生成されるパラメータは、エンコーダ100により利用されてもよく(例えば、符号化コントローラ103を介し)、及び/又は量子化されてデコーダに通信されてもよい。図示されるように、ビデオフレーム及び/又は他のデータは、コンテンツ事前解析モジュール102から適応的ピクチャ編成モジュール104に送信され、各ビデオフレームのピクチャタイプ(I、P又はF/Bピクチャなど)を決定し、必要に応じてビデオフレームをリオーダしてもよい。いくつかの具体例では、適応的ピクチャ編成モジュール104は、フレーム部分を生成するよう構成されるフレーム部分生成手段を有してもよい。いくつかの具体例では、コンテンツ事前解析モジュール102及び適応的ピクチャ編成モジュール104は一緒になって、エンコーダ100の事前解析サブシステムとみなされてもよい。
図示されるように、ビデオフレーム及び/又は他のデータは、適応的ピクチャ編成モジュール104から予測パーティション生成モジュール105に送信される。いくつかの具体例では、予測パーティション生成モジュール105は、フレーム又はピクチャをタイル又はスーパーフラグメントなどに分割してもよい。いくつかの具体例では、フレーム又はピクチャをタイル又はスーパーフラグメントに分割するための追加的なモジュール(例えば、モジュール104と105との間などに)が備えられてもよい。予測パーティション生成モジュール105は、各タイル又はスーパーフラグメントを可能性のある予測パーティショニング又はパーティションに分割してもよい。いくつかの具体例では、可能な予測パーティショニングは、個々のビデオフレーム、パーティションされるフレーム部分の特性などのピクチャタイプ(I、P又はF/Bピクチャなど)に基づき決定されてもよい、例えば、k−dツリーパーティション化技術、バイツリーパーティション化技術などのパーティション化技術を用いて決定されてもよい。いくつかの具体例では、決定された可能性のある予測パーティション化は、予測のためのパーティションであってもよく(例えば、インター又はイントラ予測など)、予測パーティションや予測ブロックなどとして説明されてもよい。
いくつかの具体例では、選択された予測パーティショニング(例えば、予測パーティションなど)は、可能性のある予測パーティショニングから決定されてもよい。例えば、選択された予測パーティショニングは、可能性のある各予測パーティショニングについて、選択された予測パーティショニングは、可能性のある各予測パーティショニングについて、特性及び動きに基づくマルチリファレンス予測又はイントラ予測を利用して予測を決定し、予測パラメータを決定することに基づくものであってもよい。可能性のある各予測パーティショニングについて、可能性のある予測エラーは、予測ピクセルとオリジナルpp行くセルとの差分によって決定されてもよく、選択された予測パーティショニングは、最小の予測エラーを有する可能性のある予測パーティショニングであってもよい。他の具体例では、選択された予測パーティショニングは、パーティショニングをコード化するためのビット数と予測パーティショニングに関する予測エラーとに基づく重み付けされたスコアリングを含むレート歪み最適化に基づき決定されてもよい。
図示されるように、選択された予測パーティショニング(例えば、現在のフレームの予測パーティションなど)のオリジナルピクセルが、差分化手段106において予測されたパーティションと差分化されてもよい(例えば、リファレンスフレームに基づく現在のフレームの予測パーティションの予測及びインター又はイントラ予測データなどの他の予測データなど)。予測されたパーティションの決定は、以下において更に説明され、図1に示されるような復号化ループを含むものであってもよい。差分化からの何れかの残差又は残差データ(例えば、パーティション予測エラーデータなど)は、コーディングパーティション生成モジュール107に送信されてもよい。いくつかの具体例では、何れかのピクチャタイプ(I、F/B又はPピクチャ)における予測パーティションのイントラ予測などについて、コーディングパーティション生成モジュール107は、スイッチ107a及び107bを介しバイパスされてもよい。このような具体例では、単一レベルのみのパーティショニングが実行されてもよい。このようなパーティショニングは、(説明されるような)予測パーティショニング、コーディングパーティショニング又は双方として説明されてもよい。各種具体例では、このようなパーティショニングは、(説明されるような)予測パーティション生成モジュール105を介し実行されてもよく、又は、ここで更に説明されるように、このようなパーティショニングは、コーディングパーティション生成モジュール107を介し実現されるk−dツリーイントラ予測/コーディングパーティションモジュール又はバイツリーイントラ予測/コーディングパーティションモジュールを介し実行されてもよい。
いくつかの具体例では、パーティション予測エラーデータは、存在する場合、符号化を保証するのに十分有意ではないかもしれない。他の具体例では、パーティション予測エラーデータを符号化することが望ましく、パーティション予測エラーデータがインター予測などに関連付けされる場合、コーディングパーティション生成モジュール107は、予測パーティションのコーディングパーティションを決定してもよい。いくつかの具体例では、コーディングパーティション生成モジュール107は、パーティションがコーディングパーティショニングなしに符号化されうるとき、必要でないかもしれない(例えば、スイッチ107a,107bを介し利用可能なバイパスを介して示されるように)。コーディングパーティショニングがある場合又はない場合、パーティション予測エラーデータ(以降において、何れかのイベントにおけるコーディングパーティションとして説明されうる)は、残差又は残差データが符号化を要求する場合、適応的変換モジュール108に送信されてもよい。いくつかの具体例では、予測パーティション生成モジュール105及びコーディングパーティション生成モジュール107は一緒になって、エンコーダ100のパーティションサブシステムとみなされてもよい。各種具体例では、コーディングパーティション生成モジュール107は、パーティション予測エラーデータ、オリジナルピクセルデータ、残差データ又はウェーブレットデータに対して実行されてもよい。
コーディングパーティション生成モジュール107は、例えば、バイツリー及び/又はk−dツリーパーティショニング技術などを利用したパーティション予測エラーデータなどの可能性のあるコーディングパーティショニング(例えば、コーディングパーティションなど)を生成してもよい。いくつかの具体例では、可能性のあるコーディングパーティションは、適応的変換モジュール108を介し各種ブロックサイズにより適応的又は固定的変換を利用して変換されてもよく、選択されたコーディングパーティショニング及び選択された変換(例えば、適応的又は固定的など)が、レート歪み最適化又は他の基準に基づき決定されてもよい。いくつかの具体例では、選択されたコーディングパーティショニング及び/又は選択された変換は、コーディングパーティショニングサイズなどに基づく所定の選択方法に基づき決定されてもよい。
例えば、適応的変換モジュール108は、小から中サイズのブロックの局所的に最適な変換コーディングを可能にするためのパラメトリック変換を実行するための第1部分又はコンポーネントと、ここで更に説明されるようなパラメトリック変換又は他の何れかのコンフィギュレーションを含む各種変換からの離散コサイン変換(DCT)又はピクチャベース変換などの固定的変換を利用した大域的に安定的な低オーバヘッド変換コーディングを実行するための第2部分又はコンポーネントを含むものであってもよい。いくつかの具体例では、局所最適な変換コーディングについて、ここで更に説明されるように、パラメトリックHaar変換(PHT)が実行されてもよい。いくつかの具体例では、変換されたデータがルマ又はクロマであるか、インター又はイントラであるか、又は利用される決定された変換がPHT、DCTなどであるかなどの複数のファクタに依存した実際のサイズによって、約4×4のピクセルと64×64のピクセルとの間の矩形サイズの2Dブロックに対して変換が実行されてもよい。
図示されるように、結果として得られる変換係数は、適応的量子化モジュール109に送信される。適応的量子化モジュール109は、結果として得られた変換係数を量子化してもよい。さらに、必要に応じて、パラメトリック変換に関する何れかのデータが、適応的量子化モジュール109(量子化が所望される場合)又は適応的エントロピーエンコーダモジュール110の何れかに送信されてもよい。また、図1に示されるように、量子化された係数はスキャンされ、適応的エントロピーエンコーダモジュール110に送信されてもよい。適応的エントロピーエンコーダモジュール110は、量子化された係数をエントロピー符号化し、それらを出力ビットストリーム111に含めてもよい。いくつかの具体例では、適応的変換モジュール108及び適応的量子化モジュール109は一緒になって、エンコーダ100の変換エンコーダサブシステムとみなされてもよい。
また、図1に示されるように、エンコーダ100はローカル復号化ループを有する。ローカル復号化ループは、適応的逆量子化モジュール112において開始される。適応的逆量子化モジュール112は、逆スキャンが実行され、量子化係数が変換係数を決定するためデスケーリングされるように、適応的量子化モジュール109の逆処理を実行するよう構成されてもよい。このような適応的量子化処理は、例えば、非可逆であってもよい。図示されるように、変換係数は、適応的逆変換モジュール113に送信されてもよい。適応的逆変換モジュール113は、例えば、コーディングパーティションに関連する残差、残差値又はパーティション予測エラーデータ(又は説明されるようなオリジナルデータ又はウェーブレットデータ)を生成するため、適応的変換モジュール108により実行されるものと逆の変換を実行してもよい。いくつかの具体例では、適応的逆量子化モジュール112と適応的逆変換モジュール113とは一緒になって、エンコーダ100の変換デコーダサブシステムとみなされてもよい。
図示されるように、パーティション予測エラーデータ(など)が、任意的なコーディングパーティションアセンブラ114に送信される。コーディングパーティションアセンブラ114は、予測エラーデータの予測パーティション又は復号化された残差予測パーティションなどを生成するため、(図示されるように、いくつかの具体例では、コーディングパーティションアセンブラ114は、復号化された予測パーティションが適応的逆変換モジュール113において生成されるように、スイッチ114a、114bを介しスキップされてもよい)必要に応じてコーディングパーティションを復号化された予測パーティションにアセンブリングしてもよい。
図示されるように、復号化された残差予測パーティションは、加算手段115において予測されたパーティション(例えば、予測ピクセルデータなど)に加えられ、再構成された予測パーティションを生成してもよい。再構成された予測パーティションは、予測パーティションアセンブラ116に送信される。予測パーティションアセンブラ116は、再構成された予測パーティションをアセンブリングし、再構成されたタイル又はスーパーフラグメントを生成してもよい。いくつかの具体例では、コーディングパーティションアセンブルモジュール114と予測パーティションアセンブルモジュール116とは一緒になって、エンコーダ100のアンパーティションサブシステムとみなされてもよい。
再構成されたタイル又はスーパーフラグメントは、ブロックノイズ解析デブロックフィルタリングモジュール117に送信される。ブロックノイズ解析デブロックフィルタリングモジュール117は、再構成されたタイル又はスーパーフラグメント(又はタイル又はスーパーフラグメントの予測パーティション)をデブロック及びディザ処理してもよい。生成されたデブロック及びディザフィルタパラメータは、例えば、デコーダなどによる利用のため、現在のフィルタ処理に利用され、及び/又は出力ビットストリームにコーディングされてもよい。ブロックノイズ解析デブロックフィルタリングモジュール117の出力は、品質解析品質復元フィルタリングモジュール118に送信される。品質解析品質復元フィルタリングモジュール118は、(QR分解などのため)QRフィルタリングパラメータを決定し、決定されたパラメータをフィルタリングのために利用してもよい。QRフィルタリングパラメータはまた、デコーダによる利用のため出力ビットストリーム111にコーディングされてもよい。図示されるように、品質解析品質復元フィルタリングモジュール118の出力は、復号化ピクチャバッファ119に送信される。いくつかの具体例では、品質解析品質復元フィルタリングモジュール118は、他のフレームをコーディングするための予測に利用されてもよい最終的な再構成されたフレームであってもよい(例えば、最終的な再構成されたフレームはリファレンスフレームなどであってもよい。)。いくつかの具体例では、ブロックノイズ解析デブロックフィルタリングモジュール117と品質解析品質復元フィルタリングモジュール118とは一緒になって、エンコーダ100のフィルタリングサブシステムとみなされてもよい。
エンコーダ100において、予測処理はインター及び/又はイントラ予測を含むものであってもよい。図1(a)に示されるように、インター予測は、モーフィング解析モーフィングピクチャ生成モジュール120、シンセサイジング解析生成モジュール121及び特性動きフィルタリング予測モジュール123を含む1以上のモジュールによって実行されてもよい。モーフィング解析モーフィングピクチャ生成モジュール120は、コーディング対象のフレーム又はリファレンスフレームに関するゲインの変更、支配的な動きの変更、レジストレーションの変更及びブラーの変更のためのパラメータを決定するため、現在のピクチャを解析してもよい。決定されたモーフィングパラメータは、量子化/逆量子化及び利用されて(例えば、モーフィング解析モーフィングピクチャ生成モジュール120などによって)、現在のフレームの効率的な動き(及び特性)保証された予測のための動きベクトルを計算するため、動き推定モジュール122により利用されうるモーフィングされたリファレンスフレームを生成してもよい。シンセサイジング解析生成モジュール121は、これらのフレームにおける効率的な動き補償された予測のために動きベクトルを決定するため、動きのためスーパー解像度(SR)ピクチャ、プロジェクト補間(PI)ピクチャなどを生成してもよい。
動き推定モジュール122は、モーフィングされたリファレンスフレームに基づき動きベクトルデータ、及び/又はスーパー解像度(SR)及びプロジェクト補間(PI)ピクチャを現在フレームと共に生成してもよい。いくつかの具体例では、動き推定モジュール122は、インター予測モジュールとみなされてもよい。例えば、動きベクトルデータは、インター予測に利用されてもよい。インター予測が適用される場合、特性動き補償フィルタリング予測モジュール123は、説明されるように、ローカル復号化ループの一部として動き補償を適用してもよい。
イントラ予測は、イントラ方向予測解析予測生成モジュール124により実行されてもよい。イントラ方向予測解析予測生成モジュール124は、空間方向予測を実行するよう構成されてもよく、復号化された近傍パーティションを利用してもよい。いくつかの具体例では、方向の決定と予測の生成との双方が、イントラ方向予測解析予測生成モジュール124により実行されてもよい。いくつかの具体例では、イントラ方向予測解析予測生成モジュール124は、イントラ予測モジュールとみなされてもよい。
図1に示されるように、予測モードリファレンスタイプ解析モジュール125は、その全てがP及び/又はF/Bピクチャに適用されうるタイル(又はスーパーフラグメント)の各予測パーティションについて、“スキップ”、“オート”、“インター”、“スプリット”、“マルチ”及び“イントラ”から予測モードを選択することを可能にする。予測モードに加えて、それはまた、P及びF/Bピクチャと共に、“インター”又は“マルチ”モードに依存して異なる可能性のあるリファレンスタイプの選択を可能にする。予測モードリファレンスタイプ解析モジュール125の出力における予測信号は、予測解析予測融合フィルタリングモジュール126によりフィルタリングされてもよい。予測解析予測融合フィルタリングモジュール126は、フィルタリングに使用するパラメータ(例えば、フィルタリング係数、周波数、オーバヘッド)を決定し、フィルタリングを実行してもよい。いくつかの具体例では、予測信号のフィルタリングは、異なるモード(例えば、イントラ、インター、マルチ、スプリット、スキップ及びオートなど)を表す異なるタイプの信号を融合してもよい。いくつかの具体例では、イントラ予測信号は、適切なフィルタリングがコーディング効率を大きく向上させるように、他の全てのタイプのインター予測信号と異なるものであってもよい。いくつかの具体例では、フィルタリングパラメータは、デコーダによる利用のため出力ビットストリーム111に符号化されてもよい。フィルタリングされた予測信号は、上述されたコーディングのための予測差分信号(例えば、パーティション予測エラーなど)を決定しうる、上述された差分化手段106に第2入力(例えば、予測パーティションなど)を提供してもよい。さらに、同じフィルタリングされた予測信号は、上述されたように、第2入力を加算手段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/8ピクセル動き予測
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によりエントロピー符号化されてもよい。これらの制御信号は、図1のエンコーダ100の具体例となる機能モジュールに関連するものとして示されるが、他の実現形態は、エンコーダ300の機能モジュール間の制御信号の異なる分配を有してもよい。本開示はこれに限定されず、各種具体例では、ここでの制御信号の実現形態は、図示された特定の一例となる制御信号の一部のみ、追加的な制御信号及び/又は図示した以外の異なる構成の利用を含むものであってもよい。
図2は、本開示の少なくともいくつかの実現形態により構成される一例となる次世代ビデオデコーダ200の説明図である。図示されるように、デコーダ200は入力ビットストリーム201を受信する。いくつかの具体例では、入力ビットストリーム201は、ここで説明されるエンコーダ100及び/又は符号化技術を介し符号化されてもよい。図示されるように、入力ビットストリーム201は、適応的エントロピーデコーダモジュール202により受信される。適応的エントロピーデコーダモジュール202は、各種タイプの符号化されたデータ(例えば、オーバヘッド、動きベクトル、変換係数など)を復号化してもよい。いくつかの具体例では、適応的エントロピーデコーダ202は、可変長復号化技術を利用してもよい。いくつかの具体例では、適応的エントロピーデコーダ202は、上述された適応的エントロピーエンコーダモジュール110の逆処理を実行してもよい。
復号化されたデータは、適応的逆量子化モジュール203に送信される。適応的逆量子化モジュール203は、変換係数を決定するため、量子化された係数を逆スキャン及びデスケーリングするよう構成されてもよい。このような適応的量子化処理は、例えば、非可逆であってもよい。いくつかの具体例では、適応的逆量子化モジュール203は、適応的量子化モジュール109の逆処理を実行するよう構成されてもよい(例えば、適応的逆量子化モジュール112と実質的に同じ処理など)。図示されるように、変換係数(また、いくつかの具体例では、パラメトリック変換に利用される変換データなど)が適応的逆変換モジュール204に送信されてもよい。適応的逆変換モジュール204は、コーディングパーティションに関連する残差、残差値又はパーティション予測エラーデータ(又はオリジナルデータやウェーブレットデータ)を生成するため、変換係数に対して逆変換を実行してもよい。いくつかの具体例では、適応的逆変換モジュール204は、適応的変換モジュール108の逆変換を実行するよう構成されてもよい(例えば、適応的逆変換モジュール113と実質的に同じ処理など)。いくつかの具体例では、適応的逆変換モジュール204は、例えば、復号化された近傍パーティションなどの他の以前に復号化されたデータに基づき逆変換を実行してもよい。いくつかの具体例では、適応的逆量子化モジュール203と適応的逆変換モジュール204とは一緒になって、デコーダ200の変換デコーダサブシステムとみなされてもよい。
図示されるように、残差、残差値又はパーティション予測エラーデータは、コーディングパーティションアセンブラ205に送信される。コーディングパーティションアセンブラ205は、必要に応じて、コーディングパーティションを復号化された予測パーティションにアセンブリングしてもよい(図示されるように、いくつかの具体例では、コーディングパーティションアセンブラ205は、復号化された予測パーティションが適応的逆変換モジュール204において生成されるように、スイッチ205a、205bを介しスキップされてもよい)。予測エラーデータ(例えば、予測パーティション残差など)の復号化された予測パーティションが、加算手段206において予測されたパーティション(例えば、予測ピクセルデータなど)に加えられ、再構成された予測パーティションを生成してもよい。再構成された予測パーティションは、予測パーティションアセンブラ207に送信されてもよい。予測パーティションアセンブラ207は、再構成された予測パーティションを組み立て、再構成されたタイル又はスーパーフラグメントを生成してもよい。いくつかの具体例では、コーディングパーティションアセンブルモジュール205と予測パーティションアセンブルモジュール207とは一緒になって、デコーダ200のアンパーティションサブシステムとしてみなされてもよい。
再構成されたタイル又はスーパーフラグメントは、デブロックフィルタリングモジュール208に送信される。デブロックフィルタリングモジュール208は、再構成されたタイル又はスーパーフラグメント(又はタイル又はスーパーフラグメントの予測パーティション)をデブロック及びディザ処理してもよい。生成されるデブロック及びディザフィルタパラメータは、例えば、入力ビットストリーム201から決定されてもよい。デブロックフィルタリングモジュール208の出力は、品質復元フィルタリングモジュール209に送信される。品質復元フィルタリングモジュール209は、例えば、入力ビットストリーム201などから決定されてもよいQRパラメータに基づき品質フィルタリングを適用してもよい。図2に示されるように、品質復元フィルタリングモジュール209の出力は、復号化ピクチャバッファ210に送信される。いくつかの具体例では、品質復元フィルタリングモジュール209の出力は、他のフレームをコーディングするため予測に利用可能な最終的な再構成されたフレームであってもよい(例えば、最終的な再構成されたフレームは、リファレンスフレームなどであってもよい)。いくつかの具体例では、デブロックフィルタリングモジュール208と品質復元フィルタリングモジュール209とは一緒になって、デコーダ200のフィルタリングサブシステムとみなされてもよい。
上述されたように、予測処理のための補償は、インター及び/又はイントラ予測補償を含むものであってもよい。図示されるように、インター予測補償は、モーフィング生成モジュール211、シンセサイジング生成モジュール212及び特性動き補償フィルタリング予測モジュール213を含む1以上のモジュールにより実行されてもよい。モーフィング生成モジュール211は、逆量子化されたモーフィングパラメータ(例えば、入力ビットストリーム201から決定される)を利用して、モーフィングされたリファレンスフレームを生成してもよい。シンセサイジング生成モジュール212は、入力ビットストリーム201から決定されたパラメータに基づき、スーパー解像度(SR)ピクチャ及びプロジェクト補間(PI)ピクチャなどを生成してもよい。インター予測が適用される場合、特性動き補償フィルタリング予測モジュール213は、入力ビットストリーム201における受信されたフレーム及び動きベクトルデータに基づき動き補償を適用してもよい。
イントラ予測補償は、イントラ方向予測生成モジュール214により実行されてもよい。イントラ方向予測生成モジュール214は、空間方向予測を実行するよう構成され、入力ビットストリーム201におけるイントラ予測データに従って復号化された近傍パーティションを利用してもよい。
図2に示されるように、予測モード選択モジュール215は、入力ビットストリーム201におけるモード選択データに基づき、その全てがP及びF/Bピクチャに適用されるタイルの各予測パーティションについて、“スキップ”、“オート”、“インター”、“マルチ”及び“イントラ”からの予測モード選択を決定してもよい。ピクチャモードに加えて、それはまた、P及びF/Bピクチャと共に、“インター”又は“マルチ”モードに依存して異なる可能性のあるリファレンスタイプを選択することを可能にする。予測モード選択モジュール215の出力における予測信号は、予測融合フィルタリングモジュール216によりフィルタリングされてもよい。予測融合フィルタリングモジュール216は、入力ビットストリーム201を介し決定されたパラメータ(例えば、フィルタリング係数、周波数、オーバヘッドなど)に基づきフィルタリングを実行してもよい。いくつかの具体例では、予測信号のフィルタリングは、異なるモード(例えば、イントラ、インター、マルチ、スキップ及びオートなど)を表す異なるタイプの信号を融合してもよい。いくつかの具体例では、イントラ予測信号は、適切なフィルタリングがコーディング効率を大きく向上させるように、他の全てのタイプのインター予測信号と異なるものであってもよい。フィルタリングされた予測信号は、上述されるように、差分化手段206に第2入力(例えば、予測パーティションなど)を提供してもよい。
上述されるように、品質復元フィルタリングモジュール209の出力は、最終的な再構成されたフレームであってもよい。最終的な再構成されたフレームは、入力ビットストリーム201におけるオーダリングパラメータに基づき、必要に応じてフレームをリオーダリング又は再編成する適応的ピクチャ再編成手段217に送信される。リオーダリングされたフレームは、コンテンツ事後復元モジュール218に送信される。コンテンツ事後復元モジュール218は、復号化されたビデオの知覚品質の更なる向上を実行するよう構成される任意的なモジュールであってもよい。入力ビットストリーム201における品質向上パラメータに応答して、向上処理が実行されてもよいし、又は、それは、スタンドアローン処理として実行されてもよい。いくつかの具体例では、コンテンツ事後復元モジュール218は、例えば、フィルムグレインノイズの推定や残差ブロックノイズ低減などの品質を向上させるためパラメータを適用してもよい(例えば、デブロックフィルタリングモジュール208に関して説明されたデブロック処理後でさえ)。図示されるように、デコーダ200は、ディスプレイデバイス(図示せず)を介し表示するよう構成されるディスプレイビデオ219を提供してもよい。
図2は、ビデオデコーダ200の処理に関連する一例となる制御信号を示し、ここでは、示された略語は図1に関して上述されたような同様の情報を表すものであってもよい。これらの制御信号は、図4のデコーダ200の具体例となる機能モジュールに関連するとして示されているが、他の実現形態は、エンコーダ100の機能モジュール間の制御信号の異なる分配を含むものであってもよい。本開示はこれに限定されず、各種具体例では、ここでの制御信号の実現形態は、図示された具体例となる制御信号の一部のみ、追加的な制御信号及び/又は図示されたものと異なる構成の利用を含むものであってもよい。
図1〜2は特定の符号化及び復号化モジュールを示すが、図示されない他の各種コーディングモジュール又はコンポーネントがまた、本開示により利用されてもよい。さらに、本開示は図1及び2に示される特定のコンポーネント及び/又は各種コンポーネントが構成される方法に限定されるものでない。ここに説明されるシステムの各種コンポーネントは、ソフトウェア、ファームウェア、ハードウェア及び/又はこれらの何れかの組み合わせにより実現されてもよい。例えば、エンコーダ100及び/又はデコーダ200の各種コンポーネントは、携帯電話などの計算システムに見つけられるような計算システム・オン・チップ(SoC)のハードウェアにより少なくとも部分的に提供されてもよい。
さらに、エンコーダ100がビデオコンテンツサーバシステムなどを含むコンテンツプロバイダシステムに関連付けされ、及び/又は提供されてもよく、出力ビットストリーム111が、図1及び2に示されない送受信機、アンテナ、ネットワークシステムなどの各種通信コンポーネント及び/又はシステムによって、デコーダ200などのデコーダに送信又は伝送されてもよいことが認識されてもよい。また、デコーダ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との2つのパーティショニングサブシステムを有してもよい。他のパーティショニング方法は、本パーティション化の一部として任意的にみなされてもよい、ピクチャを領域又はスライスにセグメント化する適応的ピクチャ編成手段104を有してもよい。
エンコーダ300aの予測エンコーダサブシステム330aは、動き推定手段122、“インター”信号の解析及び予測を実行する特性動き補償フィルタリング予測手段123及び“イントラ”信号の解析及び予測を実行するイントラ方向予測解析予測生成モジュール124を有してもよい。動き推定手段122及び特性動き補償フィルタリング予測手段123は、まず差分の他のソース(ゲイン、グローバルな動き、レジストレーションなど)を補償し、その後に実際の動き補償によって予測可能性の増加を可能にしてもよい。それらはまた、より良好な予測を可能にするシンセサイズされたフレーム(スーパー解像度及びプロジェクション)を生成するためのデータモデリングの利用と、その後の当該フレームにおける実際の動き補償の利用とを可能にするものであってもよい。
エンコーダ300aの変換エンコーダサブシステム340aは、変換のタイプ及びサイズを選択するための解析を実行し、2つの主要なタイプのコンポーネントを有してもよい。第1タイプのコンポーネントは、小から中サイズのブロックの局所最適な変換を可能にするため、パラメトリック変換の利用を可能にするが、このようなコーディングは、あるオーバヘッドを要求しうる。第2タイプのコンポーネントは、パラメトリック変換を含む少数の変換の選択からDCTやピクチャベース変換などの汎用的/固定的変換を利用して、大域的に安定的な低オーバヘッドのコーディングを可能にするものであってもよい。局所的に適応的な変換コーディングについて、PHT(パラメトリックHaar変換)が利用されてもよい。変換されるデータがルマ又はクロマであるか、また、使用される変換がPHT又はDCTであるかなどの複数のファクタに依存しうる実際のサイズによって、4×4と64×64との間の矩形サイズの2Dブロックに対して変換が実行されてもよい。結果として得られる変換係数は、量子化、スキャン及びエントロピーコード化されてもよい。
エンコーダ300aのエントロピーエンコーダサブシステム360aは、各々が特定のタイプのデータ(各種のオーバヘッド、動きベクトル又は変換係数)を効率的にコーディングする目的を備えた複数の効率的であるが低い複雑さのコンポーネントを有してもよい。このサブシステムのコンポーネントは、低い複雑さの可変長コーディング技術の汎用クラスに属してもよいが、効率的なコーディングについては、各コンポーネントは、最も高い効率性のため最適化されたカスタムであってもよい。例えば、カスタム手段は、“コード化/非コード化”データのコーディング、また“モード及びリファレンスタイプ”データのコーディング、更にまた“動きベクトル”データのコーディング、及び更にまた“予測及びコーディングパーティション”データのコーディングのために設計されてもよい。最後に、エントロピーコーディング対象のデータの大変大きな部分が“変換係数”データであるため、複数のテーブル間で適応化するアルゴリズムと共に、特定のブロックサイズの効率的な処理のための複数のアプローチが利用されてもよい。
エンコーダ300aのフィルタリングエンコーダサブシステム350aは、パラメータの解析と共に、これらのパラメータに基づく再構成されたピクチャの複数のフィルタリングを実行してもよく、また、複数のサブシステムを有してもよい。例えば、第1サブシステムのブロックノイズ解析デブロックフィルタリングモジュール117は、何れかの可能性のあるブロックコーディングアーチファクトを低減又はマスク処理するためデブロック及びディザ処理を行ってもよい。第2の一例となるサブシステムの品質解析品質復元フィルタリングモジュール118は、何れかのビデオコーディングにおける量子化処理によるアーチファクトを低減するため、全体的な品質復元を実行する。動き推定手段122及び特性動き補償フィルタリング予測モジュール123を含みうる第3の一例となるサブシステムは、コンテンツの動き特性(動きの速さ/不明瞭さの程度)に適応するフィルタを利用することによって、動き補償からの結果を向上させてもよい。第4の一例となるサブシステムの予測融合解析フィルタ生成モジュール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サブシステム、フィルタリングデコーダサブシステム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の逆処理を実行してもよく、すなわち、それは、可変長復号化として参照される非可逆技術クラスを利用して、エントロピーエンコーダサブシステム360aにより符号化される各種データ(オーバヘッド、動きベクトル、変換係数のタイプ)を復号化してもよい。具体的には、各種タイプのデータは、“コーディング/非コーディング”データ、“モード及びリファレンスタイプ”データ、“動きベクトル”データ、“予測及びコーディングパーティション”データ及び“変換係数”データを含むものであってもよい。
デコーダ300bの変換デコーダサブシステム370bは、エンコーダ300aの変換エンコーダサブシステム340aのものと逆の処理を実行する。変換デコーダサブシステム370bは、2つのタイプのコンポーネントを有してもよい。第1タイプの一例となるコンポーネントは、小から中のブロックサイズのパラメトリック逆PHT変換の利用をサポートし、他のタイプの一例となるコンポーネントは、全てのブロックサイズの逆DCT変換をサポートしてもよい。ブロックについて利用されるPHT変換は、近傍ブロックの復号化されたデータの解析に依存してもよい。出力ビットストリーム111及び/又は入力ビットストリーム201は、PHT変換のパーティション/ブロックサイズに関する情報と共に、PHTが利用される逆変換される2Dブロックの方向を含む(他の方向はDCTを利用する)。DCTにより純粋にコード化されるブロックについて、パーティション/ブロックサイズ情報がまた、出力ビットストリーム111及び/又は入力ビットストリーム201から抽出され、適切なサイズの逆DCTを適用するのに利用されてもよい。
デコーダ300bのアンパーティションサブシステム380bは、エンコーダ300aのパーティションサブシステム320aのものと逆処理を実行し、コード化されたデータのアンパーティショニングを実行するコーディングパーティションアセンブルモジュール205と、予測のためのアンパーティションを実行する予測パーティションアセンブルモジュール207との2つのアンパーティショニングサブシステムを有してもよい。さらに、任意的な適応的ピクチャ編成モジュール104が、領域セグメント化又はスライスのためにエンコーダ300aにおいて利用される場合、適応的ピクチャ再編成モジュール217が、デコーダにおいて必要とされてもよい。
デコーダ300bの予測デコーダサブシステム330bは、“インター”信号の予測を実行する特性動き補償フィルタリング予測モジュール213と、“イントラ”信号の予測を実行するイントラ方向予測生成モジュール214とを有してもよい。特性動き補償フィルタリング予測モジュール213は、まず差分の他のソース(ゲイン、グローバルな動き、レジストレーションなど)の補償又はシンセサイズされたフレームの生成(スーパー解像度及びプロジェクション)を実行し、その後の実際の動き補償によって予測可能性の増加を可能にしてもよい。
デコーダ300bのフィルタリングデコーダサブシステム350bは、エンコーダ300aにより送信されるパラメータに基づき再構成されたピクチャの複数のフィルタリングを実行してもよく、複数のサブシステムを有してもよい。第1の一例となるサブシステムのデブロックフィルタリングモジュール208は、何れかの可能性のあるブロックコーディングアーチファクトを低減又はマスク化するため、デブロック及びディザ処理を実行してもよい。第2の一例となるサブシステムの品質復元フィルタリングモジュール209は、何れかのビデオコーディングにおける量子化処理によるアーチファクトを低減するため、全体的な品質復元を実行してもよい。第3の一例となるサブシステムの特性動き補償フィルタリング予測モジュール213は、コンテンツの動き特性(動きの速度/不明瞭さの程度)に適応化するフィルタを利用することによって、動き補償からの結果を向上させる。第4の一例となるサブシステムの予測融合フィルタリングモジュール216は、予測信号の適応的フィルタリングを可能にし(しばしば、イントラ予測から予測における誤ったアーチファクトを低減する)、これにより、コーディングが必要な予測エラーを低減する。
デコーダ300bの事後復元サブシステム390bは、復号化されたビデオの知覚品質の更なる向上を実行する任意的なブロックである。当該処理は、エンコーダ100により送信される品質向上パラメータに応答して実行可能であり、又は、それは事後復元サブシステム390bでなされたスタンドアローンな決定することができる。事後復元サブシステム390bにおいて品質を向上させるのに利用可能なエンコーダ100において計算される具体的なパラメータに関して、エンコーダ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は、圧縮されたビデオデータ421〜427を組み立て、出力ビットストリーム111を生成するビットストリームアセンブラ408に提供されてもよい。
いくつかの具体例では、エンコーダモジュール401〜407はそれぞれ、受信したビデオデータ411〜417に関連するデータタイプを効率的に符号化するための1以上の特化したコンポーネントを有してもよい。いくつかの具体例では、1以上のエンコーダモジュール401〜407は、受信したビデオデータ411〜417又は他のシステム情報のパラメータ又は特性に基づき、受信したビデオデータ411〜417を前処理し、及び/又はエントロピーコーディング技術を選択してもよい。
例えば、エンコーダモジュール401は、ビットストリームヘッダデータ(例えば、シーケンス及び/又はピクチャレベルビットストリームヘッダなど)、モーフィングパラメータ、シンセサイジングパラメータ又はグローバルマップデータ(例えば、パーティションベースで使用される量子化を示すピクチャの量子化マップなど)を含むオーバヘッドデータ411を受信してもよい。図6に関して後述されるように、いくつかの具体例では、エンコーダモジュール401は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術、又はビデオデータ411の可変長コーディングテーブル圧縮を実現してもよい。いくつかの具体例では、エンコーダモジュール411は、ビデオデータ411に関連するパラメータが各コーディング技術などに必要とされるビット数となるように、何れの技術が最大圧縮効率を提供するか判断してもよい(例えば、圧縮されたビデオデータ421のための最小のビットなど)。エンコーダモジュール411は、図示されるようなビットストリームアセンブラ408に送信される圧縮されたビデオデータ421(例えば、圧縮されたオーバヘッドデータなど)を生成するため、ビデオデータ411をエントロピー符号化してもよい。
上述されたように、いくつかの具体例では、ビデオデータ(例えば、ビデオデータ411〜417の何れかなど)に関連するパラメータは、最小数の到達可能ビット、最大効率符号化技術などであってもよい。他の具体例では、ビデオデータに関連するパラメータは、符号化技術が所定のものとなるように、所定のパラメータであってもよい。いくつかの具体例では、ビデオデータに関連するパラメータは、決定された符号化技術がここで更に説明されるように受信したビデオデータに適応的となるように、ビデオデータの特性に基づくものであってもよい。
図示されるように、いくつかの具体例では、エンコーダモジュール402は、ピクチャスライス又は領域データ、イントラ予測パーティションデータ及び/又はインター予測パーティション及びコーディングパーティションデータを含むものであってもよいパーティションデータ412を受信してもよい。図6に関して更に後述されるように、いくつかの具体例では、エンコーダモジュール412は、イントラ予測パーティションデータ及び/又はインター予測パーティションデータに関連するパラメータ(例えば、ビデオデータ412の最小数の到達可能ビット、最大効率符号化技術、所定のパラメータ、特性など)に基づき、ビデオデータ412のイントラ予測パーティションデータ及び/又はインター予測パーティションデータ部分の圧縮のための適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現してもよく、エンコーダモジュール412は、図示されるように、ビットストリームアセンブラ408に送信される圧縮されたビデオデータ422(圧縮されたパーティションデータなど)を生成するため、ビデオデータ412のスライス又は領域データ部分について適応的コードブック可変長コーディングを実現してもよい。いくつかの具体例では、イントラ予測パーティションデータ及び/又はインター予測パーティションデータは、タイルをパーティションに、パーティションをサブパーティションになどのパーティショニングを示すデータを含むものであってもよい。いくつかの具体例では、パーティション及び/又はサブパーティションは、予測パーティション及び/又はサブパーティションを含むものであってもよい。いくつかの具体例では、パーティション及び/又はサブパーティションは、コーディングパーティション及び/又はサブパーティションを含むものであってもよい。
さらに、図示されるように、いくつかの具体例では、エンコーダモジュール403は、各予測パーティションのモード(例えば、イントラ、スプリット、スキップ、オート、インター又はマルチなど)データ及び/又はリファレンスデータを含むモード及びリファレンスタイプデータ413を受信してもよい。例えば、モードスプリット情報は、パーティションが更に分割されるかを示すものであってもよい。パーティションが更に分割される場合、モードデータは更に、スプリットが水平方向スプリット(例えば、hor)又は垂直方向スプリット(例えば、vert)であるか示す方向情報を含むものであってもよい。図6に関して更に後述されるように、いくつかの具体例では、エンコーダモジュール403は、データに関連するパラメータ(例えば、最小数の到達可能ビット、最大効率符号化技術、所定のパラメータ、ビデオデータ413の関連部分の特性など)に基づき、スプリット/非スプリットパーティション情報データのセパレートコーディング、スプリット/非スプリット情報データのセパレートコーディング又は予測リファレンス情報データのための適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現してもよく、エンコーダモジュール403は、図示されるように、ビットストリームアセンブラ408に送信される圧縮されたビデオデータ423(例えば、圧縮されたモード及びリファレンスタイプデータなど)を生成するため、モード及びスプリット情報のジョイントコーディングのための適応的可変長コーディングを実現してもよい。
さらに、いくつかの具体例では、エンコーダモジュール404は、ここに説明されるようなコーディング/非コーディングデータを含むコーディング/非コーディングデータ414を受信してもよい。例えば、パーティション(又はサブパーティション)は、非ゼロの変換係数を有する場合にはコード化され、全てがゼロの変換係数を有する場合にはコード化されなくてもよい。いくつかの具体例では、コーディング/非コーディングデータは、イントラ又はスキップモードを有するパーティションに必要とされなくてもよい。いくつかの具体例では、コーディング/非コーディングデータは、オート、インター又はマルチモードを有するパーティションに必要とされてもよい。図6に関して更に後述されるように、いくつかの具体例では、エンコーダモジュール404は、図示されるように、ビットストリームアセンブラ408に送信される圧縮されたビデオデータ424を生成するため、コーディング/非コーディングデータに関連するパラメータ(例えば、最小数の到達可能ビット、最大効率符号化技術、所定のパラメータ、ビデオデータ414の特性など)に基づき、コーディング/非コーディングデータについて適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現してもよい。
いくつかの具体例では、エンコーダモジュール405は、変換係数データを含みうる変換データ415を受信する。例えば、コード化されるブロック、パーティション又はサブパーティションについて(例えば、1以上の非ゼロの変換係数を有する)、変換係数データは、エントロピー符号化のため受信される。図6に関して更に説明されるように、エンコーダモジュール405は、1つの次元に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又はそれ以上のパーティションサイズなど)、異なるデータタイプ(例えば、イントラ又はインターパーティションの離散コサイン変換係数、ハイブリッドHaar変換係数など)及び/又は異なる量子化セット特性(例えば、量子化パラメータ及び/又はマトリクスの各種組み合わせなど)について適応性が高いものであってもよい。さらに、ブロック、パーティション又はサブパーティションは、Iピクチャ(例えば、イントラ補償のみ)、Pピクチャ(予測など)又はFピクチャ(機能的など)の異なるピクチャタイプに属し、及び/又は異なる量子化設定により量子化される異なるタイプの信号又はデータ(例えば、ルマ、クロマなど)を表すものであってもよい。
さらに、いくつかの具体例では、エンコーダモジュール406は、動きベクトルデータを含む動きデータ416を受信する。図6に関して更に説明されるように、動きベクトル予測は、1以上の予測された動きベクトルを生成するため、ビデオデータ416に基づき実行されてもよい。予測された動きベクトルは、差分動きベクトルを生成するため、ビデオデータ416のオリジナル動きデータと差分化されてもよい。いくつかの具体例では、エンコーダモジュール416は、図示されるように、ビットストリームアセンブラ408に送信される圧縮されたビデオデータ426(例えば、圧縮された動きデータなど)を生成するため、差分動きベクトルについて適応的分類可変長コーディングを実現してもよい。
さらに、いくつかの具体例では、エンコーダモジュール407は、イントラ予測タイプ又はイントラ予測方向データを含むイントラ予測データ417を受信する。例えば、説明されるように、イントラコーディングは、空間予測を生成するため、同じフレーム内の近傍の以前に復号化されたパーティションを利用する予測を利用してもよい。このような具体例では、以前に復号化されたパーティションを示すための予測子があってもよい。例えば、予測子は、dc、傾き、方向、BTPC、特徴マッチングなどを含むものであってもよい。さらに、いくつかの具体例では、方向予測子は、異なるパーティションサイズについて適応的であってもよい。例えば、方向予測子を指定することは、原因となる近傍の復号化されたパーティションをコーディングするための角予測ピクセルパーティションを決定するための技術を提供し、及び/又は空間予測方向をエントロピーコーディングするための技術を指定することを含むものであってもよい。いくつかの具体例では、このような技術は、エンコーダモジュール407を介し実行されてもよい。図6に関して更に後述されるように、いくつかの具体例では、エンコーダモジュール407は、図示されるように、ビットストリームアセンブラ408に送信される圧縮されたビデオデータ427を生成するため、イントラ予測タイプ又はイントラ予測方向データに関連するパラメータ(例えば、最小数の到達可能ビット、最大効率符号化技術、所定のパラメータ、ビデオデータ417の特性など)に基づき、適応的可変長コーディング技術又は算術コーディング技術を実現してもよい。
図4に示されるように、適応的エントロピーエンコーダ110は、ビットストリームアセンブラ408を有してもよい。いくつかの具体例では、エンコーダモジュール401〜407の一部又は全てが、異なる時点においてエントロピーコード化された圧縮されたビデオデータ421〜427を提供してもよい。さらに、いくつかの具体例では、圧縮されたビデオデータ421〜427の1以上は、ピクチャベース、領域又はスライスベース、タイルベース、予測パーティションベース、コーディングパーティションベース又はこれらの何れかの組み合わせであってもよい。いくつかの具体例では、ビットストリームアセンブラは、出力ビットストリーム111などの有効なビットストリームを生成するため、(異なる可能性のある)圧縮されたビデオデータ421〜427を多重してもよい。例えば、有効なビットストリームは、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は、図示されるように、圧縮されたビデオデータ511〜517を決定するため、入力ビットストリーム201を解体する。例えば、ビットストリームデアセンブラモジュール508は、所定のシンタクス又は仕様を利用して、デコーダモジュール501〜507を介した分解のため、データタイプによって入力ビットストリーム201を圧縮されたビデオデータのコンポーネント511〜517に分割してもよい。いくつかの具体例では、ビットストリームデアセンブラモジュール508は、ビットストリームアセンブラモジュール508に関する逆の処理を実行してもよい。
図5に示されるように、デコーダモジュール501〜507はそれぞれ圧縮されたビデオデータ511〜517を受信し、ビデオデータ521〜527を生成する。ビデオデータ521〜527は、ここに説明されるような更なる復号化のため、デコーダ200の各種コンポーネントに送信される。これにより、デコーダ200は、ディスプレイデバイス(図示せず)を介しユーザに提供するため、ビデオフレームを生成してもよい。いくつかの具体例では、デコーダモジュール501〜507のそれぞれは、エンコーダモジュール401〜407に関して逆の処理を実行する。いくつかの具体例では、デコーダモジュール501〜507はそれぞれ、圧縮されたビデオデータ511〜517に関連するデータのタイプを効率的にエントロピー復号化するための1以上の特化したコンポーネントを有する。
例えば、デコーダモジュール501は、圧縮されたビットストリームヘッドデータ(例えば、シーケンス及び/又はピクチャレベルビットストリームヘッダなど)、モーフィングパラメータ、シンセサイジングパラメータ又はグローバルマップデータ(例えば、パーティションベースで利用される量子化を示すピクチャの量子化マップなど)を含む圧縮されたオーバヘッドデータ511を受信する。いくつかの具体例では、デコーダモジュール511は、オーバヘッドデータ521を生成するため、圧縮されたオーバヘッドデータ511の分解のための適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブルを実現してもよい。いくつかの具体例では、デコーダモジュール501は、ビットストリーム201を介し提供されるパラメータ又はインジケータに基づき何れのコーディング技術を実現するか決定してもよい。
図示されるように、いくつかの具体例では、デコーダモジュール502は、圧縮されたピクチャスライス又は領域データ、イントラ予測パーティションデータ及び/又はインター予測パーティションデータを含む圧縮されたパーティションデータ512を受信する。いくつかの具体例では、デコーダモジュール512は、圧縮されたパーティションデータ512の分解のため、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現し、デコーダモジュール512は、パーティションデータ522を生成するため、圧縮されたパーティションデータ512のスライス又は領域データ部分の分解のため適応的コードブック可変長コーディングを実現する。いくつかの具体例では、イントラ予測パーティションデータ及び/又はインター予測パーティションデータは、タイルのパーティションへのパーティショニング、パーティションのサブパーティションへのパーティショニングなどを示すデータを含むものであってもよい。いくつかの具体例では、パーティション及び/又はサブパーティションは、予測パーティション及び/又はサブパーティションを含むものであってもよい。いくつかの具体例では、パーティション及び/又はサブパーティションは、コーディングパーティション及び/又はサブパーティションを含むものであってもよい。いくつかの具体例では、デコーダモジュール502は、ビットストリーム201を介し提供されたパラメータ又はインジケータに基づき、圧縮されたビデオデータ512のイントラ予測パーティションデータ及び/又はインター予測パーティションデータ部分の分解のため何れのコーディング技術を実現するか判断してもよい。
さらに、いくつかの具体例では、デコーダモジュール503は、各予測パーティションについて圧縮されたモード(例えば、イントラ、スプリット、スキップ、オート、インター又はマルチなど)データ及び/又はリファレンスデータを含む圧縮されたモード及びリファレンスタイプデータ513を受信する。例えば、モードスプリット情報は、パーティションが更に分割されるか示すものであってもよい。パーティションが更に分割される場合、モードデータは更に、当該スプリットが水平方向スプリット(例えば、hor)又は垂直方向スプリット(例えば、vert)であるか示す方向情報を含むものであってもよい。いくつかの具体例では、デコーダモジュール503は、スプリット/非スプリットパーティション情報のセパレートコーディング、スプリット/非スプリットスプリット情報データのセパレートコーディング又は予測リファレンス情報データの分解のため、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現し、デコーダモジュール503は、モード及びリファレンスタイプデータ523を生成するため、モード及びスプリット情報のジョイントコーディングの分解のため適応的可変長コーディングを実現する。いくつかの具体例では、デコーダモジュール503は、ビットストリーム201を介し提供されるパラメータ又はインジケータに基づき、スプリット/非スプリットパーティション情報データのセパレートコーディング、スプリット/非スプリットスプリット情報データのセパレートコーディング又は予測リファレンス情報データの分解のため、何れのコーディング技術を実現するか判断してもよい。
さらに、いくつかの具体例では、デコーダモジュール504は、ここに説明されるようなコーディング/非コーディングデータを含む圧縮されたコーディング/非コーディングデータを受信する。例えば、パーティション(又はサブパーティション)は、非ゼロの変換係数を有する場合にはコーディングされ、全てがゼロの変換係数を有する場合にはコーディングされない。いくつかの具体例では、コーディング/非コーディングデータは、イントラ又はスキップモードを有するパーティションについて必要とされない。いくつかの具体例では、コーディング/非コーディングデータは、オート、インター又はマルチモードを有するパーティションについて必要とされてもよい。いくつかの具体例では、デコーダモジュール504は、コーディング/非コーディングデータ524を生成するため、コーディング/非コーディングデータの分解のため、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現してもよい。いくつかの具体例では、デコーダモジュール504は、ビットストリーム201を介し提供されるパラメータ又はインジケータに基づき、分解のため何れのコーディング技術を実現するか判断してもよい。
図示されるように、いくつかの具体例では、デコーダモジュール505は、変換係数データを含む圧縮された変換データ515を受信する。例えば、コード化されるブロック、パーティション又はサブパーティションについて(例えば、1以上の非ゼロの変換係数を有するなど)、圧縮された変換データ515は、変換係数データを有してもよい。いくつかの具体例では、デコーダモジュール505は、1つの次元においてブロック、パーティション又はサブパーティションサイズ2を有するブロック、パーティション又はサブパーティションの分解のための適応的ベクトル可変長コーディングを実現する(例えば、2×Kパーティション又はK×2のサイズのパーティションなど)。さらに、デコーダモジュール505は、サイズ4×4のブロック、パーティション又はサブパーティションの分解のための適応的1次元可変長コーディングと、他の全てのブロック、パーティション又はサブパーティションサイズ(例えば、4×8、8×4、8×8、16×16、32×32、64×64など)の分解のための適応的2次元可変長コーディングとを実現してもよい。生成される変換データ525は、図示されるように、デコーダ200の他のモジュールに送信されてもよい。
さらに、いくつかの具体例では、デコーダモジュール506は、動きベクトルデータを含む圧縮された動きデータ516を受信する。図6に関して更に後述されるように、いくつかの具体例では、圧縮された動きデータ516は、予測された差分動きベクトルを生成するため、適応的分類可変長コーディングを用いて分解される。予測された差分動きベクトルは、再構成された動きベクトルを生成するため、動きベクトル予測に加えられてもよい。動きベクトル予測は、エンコーダモジュール506などを介し実現される技術の逆を利用した近傍ブロック又はパーティションの以前の復号化された動きベクトル及び/又は動きベクトルに基づき生成されてもよい。再構成された動きベクトルは、図示されるように、動きデータ526を介しデコーダ200の他のモジュールに送信されてもよい。
さらに、いくつかの具体例では、デコーダモジュール507は、イントラ予測タイプ又はイントラ予測方向データを含む圧縮されたイントラ予測データ517を受信する。例えば、説明されるように、イントラコーディングは、空間予測を生成するため、同一のフレーム内の近傍の以前に復号化されたパーティションを利用する予測を利用してもよい。このような具体例では、以前に復号化されたパーティションを示す予測子があってもよい。例えば、予測子は、dc、スロープ、方向、BTPC、特徴マッチングなどを含むものであってもよい。さらに、いくつかの具体例では、方向予測子は、異なるパーティションサイズについて適応的であってもよい。例えば、方向予測子を指定することは、原因となる近傍の復号化されたパーティションを用いてコーディングのための角予測ピクセルパーティションを決定する技術を提供し、及び/又は空間予測方向をエントロピーコーディングのための技術を指定することを含むものであってもよい。いくつかの具体例では、デコーダモジュール517は、イントラ予測データ527を生成するため、イントラ予測タイプ又はイントラ予測方向データの分解のための適応的可変長コーディング技術又は算術コーディング技術を実現してもよい。いくつかの具体例では、デコーダモジュール507は、ビットストリーム201を介し提供されるパラメータ又はインジケータに基づき、分解のため何れのコーディング技術を実現するか判断してもよい。
上述されるように、各種エントロピーコーディング技術は、エントロピーエンコーダにおいて圧縮されたビデオデータを生成するためにビデオデータの可逆圧縮のため、また、エントロピーデコーダにおいて複製ビデオデータを生成するために圧縮されたビデオデータの分解のための各種データタイプに対して実現されてもよい。
いくつかの具体例では、適応的シンボルラン可変長コーディング技術が実現されてもよい。例えば、エンコーダ及びデコーダモジュール401、501、402、502、403、503及び/又は404、504は、受信したビデオデータ又は圧縮されたビデオデータの一部又は全てに対して適応的シンボルラン可変長コーディング技術を実現してもよい。
いくつかの具体例では、適応的シンボルラン可変長コーディング技術は、連続してスキップされるブロックの個数を決定することを可能にするビデオコーディングにおけるフレーム内の非スキップブロックの間のアドレスの相対的な差分のコーディングを含むものであってもよい。例えば、エンコーダ及びデコーダモジュール504、504を介し符号化及び復号化されるコーディング/非コーディングデータに関して、コーディング/非コーディング(例えば、スキップされた)ブロックを通知するため、各ブロックについて1ビット(例えば、ビットマップ)を送信する代わりに、エンコーダモジュール504は、例えば、スキップされたブロックのランを符号化してもよい。このような実現形態では、スキップされるブロックのランが長くなるに従って、データはより効率的に圧縮される。
さらに、複数のタイプの適応性、すなわち、複数のテーブルの利用を可能にする適応性、オリジナルビットマップデータ、反転されたビットマップ、差分ビットマップ、勾配予測ビットマップなどに対して、このタイプのコーディングを実行することを利用することを可能にする適応性などが、ここに説明されるような適応的シンボルラン可変長コーディング技術に加えられてもよい。例えば、適応的シンボルラン可変長コーディング技術は、適応的シンボルラン可変長コーディングを適用する前に、ビットマップデータから、反転されたビットマップ、差分ビットマップ又は勾配予測ビットマップの少なくとも1つに第1ビデオデータを変換することを含むものであってもよい。例えば、適応的シンボルラン可変長コーディング技術は、実質的に任意のタイプのイベント(例えば、シンボル/ランの組み合わせなど)をエントロピー符号化するのに利用されてもよい。さらに、シンボル/ランイベントは、マルチレベル(例えば、0,1,2,3など)又はバイナリ(例えば、0,1など)イベントをコード化するのに利用されてもよい。マルチレベルイベントが符号化される具体例では、適応的シンボルラン可変長コーディング技術が、連続して複数回適用され、マルチレベルマップを複数のバイナリサブマップに分割し、以前の各サブマップによって、次のレベルのサブマップから排除される。
いくつかの具体例では、適応的プロキシ可変長コーディング技術が実現されてもよい。例えば、エンコーダ及びデコーダモジュール401,501,402,502,403,503及び/又は404,504は、受信したビデオデータ又は圧縮されたビデオデータの一部又は全てに対して適応的プロキシ可変長コーディング技術を実現してもよい。
いくつかの具体例では、適応的プロキシ可変長コーディング技術は、置換後に生成されたビットストリームがより小さなサイズとなるように、オリジナルの固定長の1Dのビットブロック(グループなど)を可変長コード(例えば、ビットシーケンスのパターンなど)と置換することを含むものであってもよい。いくつかの具体例では、デコーダでは、当該処理が繰り返され(又は反転され)、オリジナルの意図されたビットストリームを生成する。いくつかの具体例では、置換されたオリジナルのビットブロックは、固定的な小さなサイズを有してもよい(例えば、2ビットのグループ、3ビットのグループ又は4ビットのグループなど)。いくつかの具体例では、当該置換コードは、本来的にサイズの小さい、可変長のものであってもよい。いくつかの具体例では、ここで説明される適応的プロキシ可変長コーディングは、ショートVLC(例えば、可変長コードなど)として特徴付けされてもよい。さらに、ここに説明される適応的プロキシ可変長コーディング技術は、複数の置換オプションを提供することによってコンテンツに対して適応的であってもよい。いくつかの具体例では、コードによる3ビットの1次元ブロック/グループ(又はブロック/グループの集まり)は、1〜5ビット長のコードと置換されてもよい。いくつかの具体例では、適応的プロキシ可変長コーディング技術は、ビットストリーム内の統計的冗長性を利用してもよい。いくつかの具体例では、適応的プロキシ可変長コーディング技術は、約1〜1.3の圧縮ゲインを提供するものであってもよい。いくつかの具体例では、適応的プロキシ可変長コーディング技術は、短いビットシーケンスに適用するよう補正可能であるという効果を提供する。
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術が実現されてもよい。例えば、エンコーダ及びデコーダモジュール405、505は、受信したビデオデータ又は圧縮されたビデオデータの一部又は全てに対する適応的ブロック・オブ・シンボル可変長コーディング技術を実現してもよい。
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術は、図7に関して更に説明されるように、2つのサブコーディング技術を含むものであってもよい。例えば、適応的ブロック・オブ・シンボル可変長コーディング技術は、適応的ベクトル可変長コーディング技術及び適応的1D/2D(1次元/2次元)可変長コーディング技術を含むものであってもよい。いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術は、ここに説明されるような変換係数のブロックなどの密接に関連するシンボルのブロックを符号化するのに利用されてもよい。
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術の適応的ベクトル可変長コーディング技術は、シンボルのブロックのコーディングがVLC(可変長コーディング)コードブックを生成するように、1つのジョイントコードブックを利用することによって、相対的に小さな2Dシンボルブロック又はパーティションを符号化する。いくつかの具体例では、ブロック又はパーティションのサイズが大きくなると、コードブックのサイズは大きくなる。いくつかの具体例では、適応的ベクトル可変長コーディング技術は、1つの次元においてサイズ2を有するブロック又はパーティションサイズに適用されてもよい(例えば、2×K又はK×2のブロック又はパーティションなど)。適応的ベクトル可変長コーディング技術をこのようなサイズのブロック又はパーティションに適用することによって、VLCコードブックのサイズは、効果的に限定される。
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術の適応的1D可変長コーディング技術は、実質的にCAVLCコーダと同じ4×4の変換係数ブロック又はパーティションサイズをコーディングするのに利用されてもよい。このコーダは、4×4のコーディングに主として利用される。いくつかの具体例では、適応的1D可変長コーディング技術は、係数がコード化されるコンテクストに基づき、利用される複数の異なるVLCテーブルによるコンテンツ適応的可変長コーディング技術を介し実現されてもよい。例えば、係数がコード化されるコンテクストに基づき、エンコーダ及び/又はデコーダモジュール505、505はVLCテーブルをスイッチしてもよい。
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術の適応的2D可変長コーディング技術は、シンボルのブロックの2次元の性質を利用して、複数の異なるVCLテーブルの間でコンテクストに基づきスイッチしてもよい。いくつかの具体例では、適応的2D可変長コーディング技術は、CA2DVLC(コンテンツ適応的2D可変長)コーダとして特徴付けされてもよい。いくつかの具体例では、適応的2D可変長コーディング技術は、2×K、K×2のブロック及び4×4のブロック以外の残りの全ての変換係数ブロック又はパーティションサイズ(例えば、4×8、8×4、8×8、16×16、32×32、64×64など)を符号化するのに利用されてもよい。
図6は、本開示の少なくともいくつかの実現形態により構成される一例となるエントロピーエンコーダモジュール110の説明図である。図4に関して図示及び説明されるように、エントロピーエンコーダモジュール110は、ビットストリームヘッダ・パラメータ・マップデータエンコーダモジュール401、ピクチャパーティション・予測パーティション・コーディングパーティションエンコーダモジュール402、コーディングモード・リファレンスタイプエンコーダモジュール403、コーディング/非コーディングデータエンコーダモジュール404、変換係数エンコーダモジュール405、動きベクトル・差分動きベクトルエンコーダモジュール406、イントラ予測・方向データエンコーダモジュール407及び/又はビットストリームアセンブラモジュール408を含むものであってもよい。
図示されるように、エンコーダモジュール401は、ビットストリームヘッダ・パラメータ・マップデータモジュール611について適応的VLC、シンボルランVLC及び/又はプロキシVLCエンコーダを有し、ビデオデータ411を受信する。ビデオデータ411は、ビデオデータ411がビットストリームヘッダデータ(例えば、シーケンス及び/又はピクチャレベルビットストリームヘッダなど)、モーフィングパラメータ、シンセサイジングパラメータ及び/又はグローバルマップデータ(例えば、パーティションベースにより利用される量子化を示すピクチャの量子化マップなど)を含むものであってもよい。いくつかの具体例では、エントロピー符号化技術は、ビデオデータ411のパラメータ又は特性又は他のシステムパラメータに基づき、ビデオデータ411について決定されてもよい。いくつかの具体例では、ビデオデータ411のエントロピー符号化技術は、上述されたように、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の1つであってもよい。決定されたエントロピー符号化技術は、圧縮されたビデオデータ421を生成するため、ビデオデータ411に適用されてもよい。可変長コーディングテーブル圧縮技術は、例えば、ビデオデータ411に基づきコーディングに利用可能な1以上のテーブルによりコンテンツ適応的可変長コーディング技術を含むものであってもよい。いくつかの具体例では、エンコーダモジュール404は、ビデオデータ411に関連するパラメータが各コーディング技術に必要とされるビット数などとなるように、何れの技術が最大圧縮効率(例えば、圧縮されたビデオデータ421の最小ビットなど)を提供するか判断してもよい。いくつかの具体例では、ビデオデータ411に関連するパラメータは、決定された符号化技術が受信したビデオデータに適応的になるように、ビデオデータの特性に基づくものであってもよい。
図6に示されるように、エンコーダモジュール402は、ピクチャパーティション用適応的コードブックVLCエンコーダモジュール621、イントラ予測パーティション用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール622、及び/又はインター予測パーティション・コーディングパーティション用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール623を有してもよい。また、図示されるように、エンコーダモジュール402は、ビデオデータ412を受信してもよい。いくつかの具体例では、ビデオデータ412は、ピクチャスライス又は領域データ624、イントラ予測パーティションデータ625、及び/又はインター予測及びコーディングパーティションデータ626を有してもよい。
図示されるように、ピクチャスライス又は領域データ624は、圧縮されたピクチャスライス又は領域データ627を生成するため、適応的コードブック可変長コーディングをピクチャスライス又は領域データ624に適用するピクチャパーティション用適応的コードブックVLCエンコーダモジュール621を介し受信される。いくつかの具体例では、ピクチャスライス又は領域データ624は、ピクチャ、スライス、領域などの領域境界を含むものであってもよい。いくつかの具体例では、適応的コードブック可変長コーディングは、ピクチャスライス又は領域データ624のコンテンツに適応的なコードブック又は他のシステムパラメータなどを利用したコンテンツ適応的可変長コーディングを含むものであってもよい。
図示されるように、イントラ予測パーティションデータ625は、イントラ予測パーティション用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール622を介し受信される。いくつかの具体例では、エントロピー符号化技術は、ここに説明されるように、イントラ予測パーティションデータ625のパラメータ又は特性又は他のシステムパラメータ(例えば、圧縮効率、データの特性など)に基づき、イントラ予測パーティションデータ625について決定される。決定されたエントロピー符号化技術は、圧縮されたイントラ予測パーティションデータ628を生成するため、イントラ予測パーティションデータ625に適用されてもよい。図示されるように、いくつかの具体例では、イントラ予測パーティションデータ625のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つであってよい。いくつかの具体例では、イントラ予測パーティションデータ625は、バイツリーパーティショニング又はk−dツリーパーティショニングなどに基づくパーティションを含むものであってもよい。
図示されるように、インター予測及びコーディングパーティションデータ626は、インター予測・コーディングパーティション用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール623を介し受信される。いくつかの具体例では、エントロピー符号化技術は、ここに説明されるように、インター予測及びコーディングパーティションデータ626のパラメータ又は特性又は他のシステムパラメータ(例えば、圧縮効率、データの特性など)に基づき、インター予測及びコーディングパーティションデータ626について決定されてもよい。決定されたエントロピー符号化技術は、圧縮されたインター予測及びコーディングパーティションデータ629を生成するため、インター予測及びコーディングパーティションデータ626に適用されてもよい。図示されるように、いくつかの具体例では、インター予測及びコーディングパーティションデータ626のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つであってもよい。いくつかの具体例では、インター予測及びコーディングパーティションデータ426は、インター予測及びコーディングツリーパーティションなどを含むものであってもよい。
図6に示されるように、エンコーダモジュール403は、ジョイントモード・スプリット用適応的VLCエンコーダモジュール631、モード用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール632、スプリット用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール633、及び/又はリファレンスタイプ用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール634を有してもよい。また、図示されるように、エンコーダモジュール403は、ビデオデータ412を受信する。いくつかの具体例では、ビデオデータ412は、モード及びスプリットデータ635、モード情報データ636、スプリット/非スプリット情報データ637、及び/又は予測リファレンス情報データ638をジョイントコーディングしてもよい。
図示されるように、モード及びスプリットデータ635のジョイントコーディングは、ジョイントモード・スプリット用適応的VLCエンコーダモジュール631を介し受信され、モード及びスプリットデータ639の圧縮されたジョイントコーディングを生成するため、適応的可変長コーディングをモード及びスプリットデータ635のジョイントコーディングに適用してもよい。いくつかの具体例では、適応的可変長コーディングは、モード及びスプリットデータ635のジョイントコーディングのコンテンツ又は他のシステムパラメータなどに適応的なコンテンツ適応的可変長コーディングを含むものであってもよい。
説明されるように、いくつかの具体例では、モード及びスプリットデータは、ジョイントモード・スプリット用適応的VLCエンコーダモジュール631を介しジョイントコーディングされてもよい。いくつかの具体例では、モード及びスプリットデータは、後述されるように、モード用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール632、及びスプリット用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール633を介し別々にコーディングされてもよい。いくつかの具体例では、コーディング技術の比較結果に基づきジョイント又はセパレートコーディングするエンコーダ100(例えば、適応的エントロピーエンコーダ110及び/又は符号化コントローラ103などを介し)は、何れの技術がデータを最も効率的に圧縮するか判断する。
図示されるように、モード情報データ636は、モード用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール632を介し受信される。いくつかの具体例では、エントロピー符号化技術が、ここに説明されるように、モード情報データ636のパラメータ又は特性又は他のシステムパラメータ(例えば、圧縮効率、データの特性など)に基づき、モード情報データ636について決定されてもよい。決定されたエントロピー符号化技術は、圧縮されたモード情報データ642を生成するため、モード情報データ636に適用されてもよい。図示されるように、いくつかの具体例では、モード情報データ636のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つであってもよい。
図示されるように、スプリット/非スプリット情報データ637は、スプリット用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール633を介し受信される。いくつかの具体例では、エントロピー符号化技術が、スプリット/非スプリット情報データ637のパラメータ又は特性又は他のシステムパラメータ(例えば、圧縮効率、データの特性など)に基づき、スプリット/非スプリット情報データ637について決定されてもよい。決定されたエントロピー符号化技術は、圧縮されたスプリット/非スプリット情報データ643を生成するため、スプリット/非スプリット情報データ637に適用されてもよい。図示されるように、いくつかの具体例では、スプリット/非スプリット情報データ637のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つであってもよい。
図示されるように、予測リファレンス情報データ638は、リファレンスタイプ用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール634を介し受信される。いくつかの具体例では、エントロピー符号化技術が、上述されるように、予測リファレンス情報データ638のパラメータ又は特性又は他のシステムパラメータ(例えば、圧縮効率、データの特性など)に基づき、予測リファレンス情報データ638について決定されてもよい。決定されたエントロピー符号化技術は、圧縮された予測リファレンス情報データ644を生成するため、予測リファレンス情報データ638に適用されてもよい。図示されるように、いくつかの具体例では、予測リファレンス情報データ638のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つであってもよい。
図示されるように、エンコーダモジュール404は、コーディング/非コーディングデータ641のためのシンボルランVLC及び/又はプロキシVLCエンコーダを有し、ビデオデータ414を受信する。ビデオデータ414は、ビデオデータ411がコーディング/非コーディングデータとなるようなデータタイプを有してもよい。例えば、パーティション(又はサブパーティション)は、非ゼロの変換係数を有する場合にはコーディングされ、全てがゼロの変換係数を有する場合にはコーディングされなくてもよい。いくつかの具体例では、コーディング/非コーディングデータは、イントラ又はスキップモードを有するパーティションについて必要とされなくてもよい。いくつかの具体例では、コーディング/非コーディングデータは、オート、インター又はマルチモードを有するパーティションについて必要とされてもよい。いくつかの具体例では、エントロピー符号化技術は、ビデオデータ414のパラメータ又は特性又は他のシステムパラメータに基づき、ビデオデータ414について決定されてもよい。いくつかの具体例では、ビデオデータ414のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つであってよい。決定されたエントロピー符号化技術は、圧縮されたビデオデータ424を生成するため、ビデオデータ414に適用されてもよい。いくつかの具体例では、エンコーダモジュール404は、ビデオデータ411に関連するパラメータが各コーディング技術に必要とされるビット数となるように、何れの技術が上述されたような最大の圧縮効率を提供するか判断してもよい。いくつかの具体例では、ビデオデータ411に関連するパラメータは、決定された符号化技術が受信したビデオデータに適応的となるように、ビデオデータの特性に基づくものであってもよい。
図示されるように、いくつかの具体例では、エンコーダモジュール405は、変換係数用適応的ベクトルVLCエンコーダモジュール651及び/又は変換係数用適応的1D・2D・VLCエンコーダモジュール652を有してもよい。
図示されるように、変換係数用適応的ベクトルVLCエンコーダモジュール651は、1つの次元において2のブロック、パーティション又はサブパーティションサイズを有するブロック、パーティション又はサブパーティション(例えば、2×Kパーティション又はK×2のサイズのパーティションなど)のための変換係数データを含む変換係数データ653を受信する。適応的ベクトル可変長コーディング技術は、圧縮された変換係数データ655を生成するため、変換係数データ653に適用されてもよい。いくつかの具体例では、適応的ベクトル可変長コーディング技術は、1つのインデックス値により全ての係数を表す1つのベクトルコードワードによってクワドツリー分割を介し生成される各クワドラントを表し、可変長コーディング技術などを利用してコードワードをエントロピーコーディングするブロック又はパーティションのクワドツリー分割を含むものであってもよい。
また、図示されるように、変換係数用適応的1D・2D・VLCエンコーダモジュール652は、変換係数データ654を受信し、圧縮された変換係数データ656を生成するため、サイズ4×4のブロック、パーティション又はサブパーティションのための適応的1次元可変長コーディングと、他の全てのブロック、パーティション又はサブパーティションサイズ(例えば、4×8、8×4、8×8、16×16、32×32、64×64など)のための適応的2次元可変長コーディングとを実現する。上述されるように、変換係数データ653、654は、適応的変換モジュール108を介し実現されるピクセルデータの矩形(又は正方形など)パーティション又はピクセル差分値の矩形(又は正方形など)の順方向変換と、その後の適応的量子化モジュール109を介した生成された係数の量子化とから生成されてもよい。いくつかの具体例では、変換係数データは、エンコーダモジュール405を介しそれを1次元周波数順序づけされたパーティションに変換するようスキャンされてもよい。このような変換は、パーティションサイズ(例えば、24、32又はそれより大きなパーティションサイズなど)、異なるデータタイプ(イントラ又はインターパーティションの離散コサイン変換係数又はハイブリッドパラメトリックHaar変換係数など)、及び/又は異なる量子化セット特性(例えば、量子化パラメータ及び/又は行列の各種組み合わせなど)について高い適応性を有してもよい。さらに、ブロック、パーティション又はサブパーティションは、異なるピクチャタイプ、すなわち、Iピクチャ(例えば、イントラ補償のみ)、Pピクチャ(例えば、予測など)又はFピクチャ(例えば、機能的など)に属してもよく、及び/又は異なる量子化設定により量子化される異なるタイプの信号又はデータ(例えば、ルマ、クロマなど)を表すものであってもよい。
図示されるように、エンコーダモジュール406は、動きベクトル予測モジュール661、動きベクトル差分用適応的VLCエンコーダモジュール662、及び/又は差分化手段663を有してもよい。図示されるように、エンコーダモジュール406は、動きベクトル予測モジュール661を介し動きベクトルデータを含むビデオデータ416を受信する。動きベクトル予測モジュール661は、関連する予測された動きベクトルを生成するため、オリジナル動きベクトルを利用してビデオデータ416(例えば、ビデオデータ516の動きベクトルなど)に基づき動きベクトル予測を実行してもよい。いくつかの具体例では、動きベクトル予測は、予測される動きベクトルの左、右、上又は下のすぐ近傍に基づくものであってもよい。いくつかの具体例では、同一又は同様の特性を共有する他の空間的近傍が利用されてもよい。例えば、複数の異なるタイプの予測が適応的に選択され、選択情報がビットストリーム111を介しデコーダ200に提供されてもよい。差分化手段663は、エントロピーコーディングのための差分動きベクトルを生成するため、予測された動きベクトルとオリジナルの動きベクトルとを差分処理してもよい。図示されるように、動きベクトル差分用適応的VLCエンコーダモジュール662は、圧縮されたビデオデータ526を生成するため、差分動きベクトルに適応的可変長コーディング技術を適用する。いくつかの具体例では、差動(例えば、差分)動きベクトルは、オリジナルの動きベクトルの2倍の範囲を有してもよい。さらに、1/8ピクセル精度動き補償は、8のファクタにより差分動きベクトルの範囲を拡張してもよい。いくつかの具体例では、このような拡張に対処するため、大きなスペースをより小さなサブインターバルに分類し、サブインターバル内のベクトルをインデックス処理することが利用されてもよい。
図示されるように、エンコーダモジュール407は、イントラ予測・方向データ用適応的VLC及び/又は算術エンコーダモジュール671を有し、ビデオデータ417を受信する。ビデオデータ517は、ビデオデータ417がイントラ予測タイプ又はイントラ予測方向データを含むようなデータタイプを有してもよい。いくつかの具体例では、エントロピー符号化技術は、ここで説明されるように、ビデオデータ417のパラメータ又は特性又は他のシステムパラメータ(例えば、圧縮効率など)に基づきビデオデータ417について決定されてもよい。いくつかの具体例では、ビデオデータ417のためのエントロピー符号化技術は、上述されるように、適応的可変長コーディング技術又は算術コーディング技術の1つであってもよい。決定されたエントロピー符号化技術は、圧縮されたビデオデータ427を生成するためビデオデータ417に適用されてもよい。いくつかの具体例では、適応的可変長コーディング技術は、ビデオデータ417のコンテンツに基づきコンテンツ適応的可変長コーディングを含むものであってもよい。いくつかの具体例では、算術コーディング技術は、ビデオデータ417のコンテンツに基づくコンテンツ適応的バイナリ算術コーディングを含むものであってもよい。いくつかの具体例では、ビデオデータ417は、9以上の予測方向と、プラナーバイナリツリー予測コーディング(BTPC)を含む各種予測タイプとをサポートしてもよい。
図6に図示され、図4に関して上述されるように、出力エンコーダモジュール401〜407(関連するサブモジュールを介し)は、上述されるように、ビットストリームシンタクス毎にフォーマット化される多重ビットストリームを出力するビットストリームアセンブラ408に入力されてもよい。
図7は、本開示の少なくともいくつかの実現形態により構成される一例となるエントロピーデコーダモジュール202の説明図である。図5に関して図示及び上述されたように、エントロピーデコーダモジュール202は、ヘッダ・パラメータ・マップデータデコーダモジュール501、ピクチャパーティション・予測パーティション・コーディングパーティションデコーダモジュール502、コーディングモード・リファレンスタイプデコーダモジュール503、コーディング/非コーディングデータデコーダモジュール504、変換係数デコーダモジュール505、動きベクトル・差動動きベクトルデコーダモジュール506、イントラ予測・方向データデコーダモジュール507及び/又はビットストリームデアセンブラモジュール508を有する。いくつかの具体例では、エントロピーデコーダモジュール202(及び関連するサブモジュール)は、エンコーダモジュール(及びサブモジュール)とデコーダモジュール(及びサブモジュール)との間に一対一の対応関係があるように、エントロピーエンコーダモジュール110(及び関連するサブモジュール)に関して逆の技術を実行してもよい。
図示されるように、ビットストリームデアセンブラモジュール508は、入力ビットストリーム201を受信する。いくつかの具体例では、入力ビットストリーム201は、ここに説明されるように、NGVビットストリームシンタクス仕様又は何れかの有効なビットストリームに従う有効な次世代ビデオ(NGV)コーディングビットストリームなどの有効なビットストリームであってもよい。図5に関して説明されるように、ビットストリームデアセンブラモジュール508は、更に後述されるように、それぞれが1以上のコンポーネントパーツを有する圧縮されたビデオデータ511〜517を決定するため、入力ビットストリーム201をデアセンブルする。例えば、ビットストリームデアセンブラモジュール508は、所定のシンタクス又は仕様を利用して、デコーダモジュール501〜507を介し分解のためのデータタイプによって、入力ビットストリーム201を圧縮されたビデオデータコンポーネント511〜517に分割してもよい。いくつかの具体例では、ビットストリームデアセンブラモジュール508は、ビットストリームアセンブラモジュール308に関して逆の処理を実行してもよい。いくつかの具体例では、入力ビットストリーム201のデアセンブリングは、逆多重化として特徴付けされてもよい。
図示されるように、デコーダモジュール501は、ヘッダ・パラメータ・マップデータ用適応的VLC、シンボルランVLC及び/又はプロキシVLCデコーダモジュール711を有し、圧縮されたビデオデータ511を受信する。いくつかの具体例では、圧縮されたビデオデータ511は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の1つを利用してエントロピー符号化されたヘッダデータ(例えば、シーケンス及び/又はピクチャレベルビットストリームヘッダなど)、モーフィングパラメータ、シンセサイジングパラメータ及び/又はグローバルマップデータを有する。いくつかの具体例では、ヘッダ・パラメータ・マップデータ用適応的VLC、シンボルランVLC及び/又はプロキシVLCデコーダモジュール711は、ビデオデータ521を生成するため、圧縮されたビデオデータ511に適用可能なエントロピー復号化技術を決定し、適用可能な技術を利用して圧縮されたビデオデータ511を復号化する。いくつかの具体例では、適用可能な技術は、入力ビットストリーム201を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
図示されるように、デコーダモジュール502は、ピクチャパーティション用適応的コードブックモジュール721、イントラ予測パーティションデータ用シンボルランVLC及び/又はプロキシVLCデコーダモジュール722、及び/又はインター予測パーティション・コーディングパーティションデータ用シンボルランVLC及び/又はプロキシVLCデコーダモジュール723を有し、圧縮されたビデオデータ512を受信する。
図示されるように、圧縮されたピクチャスライス又は領域データ724は、ピクチャパーティション用適応的コードブックVLCデコーダモジュール721を介し受信される。いくつかの具体例では、ピクチャパーティション用適応的コードブックVLCデコーダモジュール721は、ピクチャスライス又は領域データ727を生成するため、圧縮されたピクチャスライス又は領域データ724に適応的コードブック可変長コーディングを適用してもよい。説明されるように、適応的コードブック可変長コーディングは、圧縮されたピクチャスライス又は領域データ724のコンテンツ又は他のシステムパラメータなどに適応的なコードブックを利用したコンテンツ適応的可変長コーディングを有する。いくつかの具体例では、コードブックは、ピクチャパーティション用適応的コードブックVLCデコーダモジュール721を介し実現されてもよい。
図示されるように、イントラ予測パーティションデータ722のためのシンボルランVLC及び/又はプロキシVLCデコーダは、圧縮されたイントラ予測パーティションデータ725を受信する。いくつかの具体例では、圧縮されたイントラ予測パーティションデータ725は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つを利用してエントロピー符号化された圧縮されたイントラ予測パーティションデータを有してもよい。いくつかの具体例では、イントラ予測パーティションデータ722のためのシンボルランVLC及び/又はプロキシVLCデコーダは、圧縮されたイントラ予測パーティションデータ725に適用可能なエントロピー復号化技術を決定し、当該適用可能な技術を利用して、イントラ予測パーティションデータ728を生成してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム201を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
図示されるように、イントラ予測パーティション・コーディングパーティションデータ723のためのシンボルランVLC及び/又はプロキシVLCデコーダは、圧縮されたインター予測及びコーディングパーティションデータ726を受信する。いくつかの具体例では、圧縮されたインター予測及びコーディングパーティションデータ726は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つを利用してエントロピー符号化されたインター予測及びコーディングパーティションデータを有する。いくつかの具体例では、インター予測パーティション及びコーディングパーティションデータ723のためのシンボルランVLC及び/又はプロキシVLCデコーダは、圧縮されたインター予測及びコーディングパーティションデータ726に適用可能なエントロピー復号化技術を決定し、適用可能な技術を利用してインター予測及びコーディングパーティションデータ729を生成するため、圧縮されたインター予測及びコーディングパーティションデータ726をエントロピー復号化してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム201を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
図示されるように、デコーダモジュール503は、ジョイントモード・スプリット用適応的VLCデコーダモジュール731、モード用シンボルランVLC及び/又はプロキシVLCデコーダモジュール732、スプリット用シンボルランVLC及び/又はプロキシVLCデコーダモジュール733、及び/又はリファレンスタイプ用シンボルランVLC及び/又はプロキシVLCデコーダモジュール734を有し、圧縮されたビデオデータ513を受信する。
エンコーダモジュール403に関して上述されたように、いくつかの具体例では、モード及びスプリットデータはジョイントコーディングされ、いくつかの具体例では、モード及びスプリットデータはセパレートコーディングされてもよい。いくつかの具体例では、ジョイントモード及びスプリット用適応的VLCデコーダモジュール731は、コーディングデータをジョイント復号化し、モード用シンボルランVLC及び/又はプロキシVLCデコーダと、スプリット用シンボルランVLC及び/又はプロキシVLCデコーダモジュール733とは、コーディングデータをセパレート復号化してもよい。いくつかの具体例では、データがジョイント又はセパレートコーディングされているかは、入力ビットストリーム201を介し通知されてもよい。
図示されるように、モード及びスプリットデータ735の圧縮されたジョイントコーディングは、ジョイントモード及びスプリット用適応的VLCデコーダモジュール731を介し受信されてもよい。いくつかの具体例では、ジョイントモード及びスプリット用適応的VLCデコーダモジュール731は、モード及びスプリットデータ739のジョイントコーディングを生成するため、モード及びスプリットデータ735の圧縮されたジョイントコーディングに適応的可変長コーディングを適用してもよい。説明されるように、適応的可変長コーディングは、モード及びスプリットデータ735の圧縮されたジョイントコーディングのコンテンツ又は他のシステムパラメータなどに対して適応的なコンテンツ適応的可変長コーディングであってもよい。
図示されるように、モード用シンボルランVLC及び/又はプロキシVLCデコーダモジュール732は、圧縮されたモード情報データ736を受信する。いくつかの具体例では、圧縮されたモード情報データ736は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つを利用してエントロピー符号化された圧縮されたモード情報データを有してもよい。いくつかの具体例では、モード用シンボルランVLC及び/又はプロキシVLCデコーダモジュール732は、圧縮されたモード情報データ736に適用可能なエントロピー復号化技術を決定し、モード情報データ742を生成するため、適用可能な技術を利用して圧縮されたモード情報データ736をエントロピー復号化してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム201を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
図示されるように、スプリット用シンボルランVLC及び/又はプロキシVLCデコーダモジュール733は、圧縮されたスプリット情報データ737を受信する。いくつかの具体例では、圧縮されたスプリット情報データ737は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つを利用してエントロピー符号化される圧縮されたスプリット情報データを有してもよい。いくつかの具体例では、スプリット用シンボルランVLC及び/又はプロキシVLCデコーダモジュール733は、圧縮されたスプリット情報データ737に適用可能なエントロピー復号化技術を決定し、スプリット情報データ743を生成するため、適用可能な技術を利用して圧縮されたスプリット情報データ737をエントロピー復号化してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム201を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
図示されるように、リファレンスタイプ用シンボルランVLC及び/又はプロキシVLCデコーダモジュール734は、圧縮されたリファレンスタイプ情報データ738を受信する。いくつかの具体例では、圧縮されたリファレンスタイプ情報データ738は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つを利用してエントロピー符号化されたリファレンスタイプ情報データを有する。いくつかの具体例では、リファレンスタイプ用シンボルランVLC及び/又はプロキシVLCデコーダモジュール734は、圧縮されたリファレンスタイプ情報データ738に適用可能なエントロピー復号化技術を決定し、リファレンスタイプ情報データ744を生成するため、適用可能な技術を利用して圧縮されたリファレンスタイプ情報データ738をエントロピー復号化してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム201を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
図示されるように、デコーダモジュール504は、コーディング/非コーディングデータ用シンボルランVLC及び/又はプロキシVLCデコーダモジュール741を有し、圧縮されたビデオデータ514を受信する。いくつかの具体例では、圧縮されたビデオデータ514は、ここに説明されるように、コード化/非コード化されてもよく、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つを利用してエントロピー符号化されてもよい。いくつかの具体例では、コーディング/非コーディングデータ用シンボルランVLC及び/又はプロキシVLCデコーダモジュール741は、圧縮されたビデオデータ514に適用可能なエントロピー復号化技術を決定し、ビデオデータ524を生成するため、適用可能な技術を利用して圧縮されたビデオデータ514を復号化してもよい。いくつかの具体例では、適用可能な技術は、入力ビットストリーム201を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。いくつかの具体例では、適用可能な技術は、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の1つであってもよい。
図示されるように、デコーダモジュール505は、変換係数用適応的ベクトルVLCデコーダモジュール751及び又は変換係数用適応的1D・2D・VLCデコーダモジュール752を有し、圧縮されたビデオデータ515を受信する。
図示されるように、変換係数用適応的ベクトルVLCデコーダモジュール751は、ここに説明されるように、1つの次元においてサイズ2を有するブロック、パーティション又はサブパーティションのための圧縮された変換係数データを有する(例えば、2×Kパーティション又はK×2のサイズのパーティションなど)。いくつかの具体例では、変換係数用適応的ベクトルVLCデコーダモジュール751は、変換係数データ755を生成するため、圧縮された変換係数データ753をエントロピー復号化するため、適応的ベクトル可変長コーディング技術を適用してもよい。説明されるように、いくつかの具体例では、適応的ベクトル可変長コーディング技術は、可変長コードワードを利用して、クワドツリー分割をマージすることを介し生成されるブロックのクワドツリー分割の全ての係数を生成することを含むものであってもよい。
図示されるように、変換係数用適応的1D・2D・VLCデコーダモジュール752は、サイズ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次元可変長コーディングとを適用し、変換係数データ756を生成するため、圧縮された変換係数データ754をエントロピー復号化してもよい。
図示されるように、デコーダモジュール506は、動きベクトル差分用適応的VLCデコーダモジュール762、動きベクトル予測手段761及び加算手段763を有し、圧縮されたビデオデータ516を受信する。いくつかの具体例では、動きベクトル差分用適応的VLCデコーダモジュール762は、動きベクトル差分を生成するため、圧縮されたビデオデータ516を復号化する。さらに、動きベクトル予測手段761は、動きベクトル予測モジュール661に関して説明される技術と同様に、以前に復号化された近傍動きベクトルを利用して予測動きベクトルを生成する。図示されるように、復号化された差分動きベクトルは、ビデオデータ526の一部として出力され、動きベクトル予測モジュール761を介し他の動きベクトルについて動きベクトル予測を実行するのに利用される再構成された動きベクトルを生成するため、予測動きベクトルに加算手段763を介し加算されてもよい。
図示されるように、デコーダモジュール507は、イントラ予測タイプ・方向用適応的VLC及び/又は算術デコーダモジュール771を有し、圧縮されたビデオデータ517を受信する。いくつかの具体例では、圧縮されたビデオデータ517は、適応的VLC技術又は算術コーディング技術の1つを利用して符号化されるイントラ予測タイプ及び方向データを有する。いくつかの具体例では、イントラ予測タイプ・方向用適応的VLC及び/又は算術デコーダモジュール771は、圧縮されたビデオデータ517に適用可能なエントロピー復号化技術を決定し、ビデオデータ527を生成するため、適用可能な技術を利用して圧縮されたビデオデータ517を復号化する。いくつかの具体例では、適用可能な技術は、入力ビットストリーム201を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
説明されるように、ビデオデータ521〜527(説明されるような各種サブコンポーネントを含む)は、デコーダ200の各種コンポーネントに送信される。さらに、説明されるように、デコーダ200は、エントロピー復号化されたビデオデータ521〜527を利用して、ユーザに対するディスプレイデバイスを介した提示又は表示のため、ディスプレイビデオ219を介し出力されてもよいビデオフレームを生成する。
図8は、本開示の少なくともいくつかの実現形態により構成される一例となる処理800を示すフロー図である。処理800は、処理802、804、806及び/又は808の1以上により示されるような1以上の処理、ファンクション又はアクションを含む。処理800は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例によって、処理800は、図1のエンコーダシステム100及び/又は図5又は7のエントロピーエンコーダモジュール110により実行されるような次世代ビデオ符号化処理の少なくとも一部を構成してもよい。
処理800は、処理802において、“エントロピー符号化のための異なるタイプの第1及び第2ビデオデータを取得”から開始され、ここでは、異なるタイプの第1及び第2(又は更なる)ビデオデータがエントロピーコーディングのため取得又は受信される。例えば、ビデオデータ411〜417(及び/又はビデオデータ511〜517の何れかのサブコンポーネント)の2以上が受信される。いくつかの具体例では、ビデオデータ411〜417は、適応的エントロピーエンコーダ110を介し受信される。説明されるように、第1及び第2(又は更なる)ビデオデータは、ビデオデータ411〜417に関して又はここでの他のどこかに説明されるようなタイプ又はサブコンポーネントタイプの何れかなどの異なるタイプを有してもよい。
処理800は、処理804において、“第1ビデオデータのためのエントロピー符号化技術を決定”に続き、ここでは、第1エントロピー符号化技術が、第1ビデオデータについて決定される。説明されるように、いくつかの具体例では、エンコーダモジュール401〜407の1以上は、各種コーディング技術のオプションからビデオデータ411〜417のためのコーディング技術を決定する。例えば、エンコーダモジュール401は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の1つから、ビデオデータ411のためのコーディング技術を決定してもよい。さらに、エンコーダモジュール402は、適応的シンボルラン可変長コーディングテーブル圧縮技術及び適応的プロキシ可変長コーディング技術などの1つから、ビデオデータ402のイントラ予測パーティションデータ625のコーディング技術を決定してもよい。広範な具体例が図4及び6に関してここで与えられたが、簡単化のためここでは繰り返されない。説明されるように、いくつかの具体例では、2以上のタイプのビデオデータが受信される。いくつかの具体例では、エントロピー符号化技術は、ここに説明されるような2、3以上のタイプのビデオデータについて決定されてもよい。
説明されるように、エントロピー符号化技術がビデオデータについて決定されてもよい。いくつかの具体例では、第1符号化技術に関する選択されたコーディングテーブルは、2以上の利用可能なテーブルから決定されてもよい。例えば、テーブル選択は、利用可能なテーブル間のビットカウント比較、コーディング効率などに基づき行われてもよい。例えば、ここに説明されるエントロピー符号化技術の何れかは複数の利用可能なテーブルを有してもよい。いくつかの具体例では、テーブルインジケータが生成され、ビデオデータの選択されたテーブルを示すビットストリーム900に提供されてもよい。例えば、ビットストリーム900は、選択された符号化技術及び選択されたコーディングテーブルを示すインジケータを有してもよい。さらに、ビデオデータの長さに関するインジケータは、ビットストリーム900に含まれてもよい。例えば、ビデオデータの長さ又はタプル数(例えば、ビデオのストリングの長さなど)が提供され、何れか残りの部分(例えば、長さがタプルに均等に分割されていない場合)は、ビットマップ技術を用いてコーディングされ、出力ビットストリームに提供されてもよい。
処理800は、処理806において、“第1エントロピー符号化技術を利用して第1ビデオデータをエントロピー符号化し、第2ビデオデータをエントロピー符号化し、圧縮された第1及び第2ビデオデータを生成”に続き、ここでは、第1ビデオデータが第1エントロピー符号化技術を用いて圧縮された第1ビデオデータを生成するためエントロピー符号化され、第2ビデオデータが第2エントロピー符号化技術を用いて圧縮された第1及び第2ビデオデータを生成するため圧縮される。
処理800は、処理808において、“出力ビットストリームを生成するため圧縮された第1及び第2ビデオデータをアセンブリング”に続き、ここでは、圧縮された第1ビデオデータ及び圧縮された第2ビデオデータが、出力ビットストリームを生成するためアセンブリングされる。例えば、ビットストリームアセンブラ508は、ここに説明されるように、出力ビットストリーム111を生成するため、圧縮された第1ビデオデータ及び圧縮された第2ビデオデータをアセンブリングするか、又は多重する。
説明されるように、いくつかの具体例では、出力ビットストリーム111は、多重されたオーディオビジュアルストリームを生成するため、オーディオストリーム(コーディング又は非コーディング)と多重されてもよい。さらに、説明されるように、いくつかの具体例では、ビデオデータの1以上がエントロピーコーディング前に前処理されるか、又は操作されてもよい。例えば、動きベクトルデータについて、動きベクトル予測が予測された動きベクトルを生成するため実行され、予測された動きベクトルが、差分動きベクトルを生成するためオリジナル動きベクトルと差分化され、差分動きベクトルが、ここで説明されるようにエントロピーコーディングされる。さらに、いくつかの具体例では、7つのエンコーダモジュール401〜407のそれぞれは、7つのタイプのビデオデータ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は、圧縮されたビデオデータ421〜427は、ここに説明されるように、何れかの技術を介し符号化された何れかの圧縮されたビデオデータを含む。いくつかの具体例では、インジケータデータ901は、ヘッダデータ、モードインジケータデータ及び/又は圧縮されたビデオデータ421〜427に関連するエントロピー符号化技術を示すデータを含む。例えば、インジケータデータ901は、図4及び6に関してここに説明されるように、ビデオデータ421を圧縮するのに利用されるエントロピーコーディング技術、ビデオデータ422の一部を圧縮するのに利用されるエントロピーコーディング技術、ビデオデータ423の一部を圧縮するのに利用されるエントロピーコーディング技術、ビデオデータ424を圧縮するのに利用されるエントロピーコーディング技術及び/又はビデオデータ427を圧縮するのに利用されるエントロピーコーディング技術を示す。
説明されるように、ビットストリーム900は、エンコーダ100などのエンコーダにより生成され、及び/又はビデオフレームがディスプレイデバイスを介し提示されるように復号化するためのデコーダ200により受信されてもよい。
図10は、本開示の少なくともいくつかの具体例により構成される一例となる処理1000を示すフロー図である。処理1000は、処理1002、1004、1006及び/又は1008の1以上により示される1以上の処理、ファンクション又はアクションを含む。処理1000は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例により、処理1000は、図2のデコーダシステム200により実行されるような次世代ビデオ復号化処理の少なくとも一部を構成する。
処理1000は、処理1002において、“エントロピー符号化されたビットストリームを受信”に続き、ここでは、エントロピー符号化されたビットストリームが受信される。例えば、ここに説明されるように符号化されるビットストリームは、ビデオデコーダにおいて受信されてもよい。いくつかの具体例では、ビットストリーム100又は900などがデコーダ200を介して受信される。
処理1000は、処理1004において、“エントロピー符号化されたビットストリームを圧縮された第1ビデオデータ及び圧縮された第2ビデオデータにデアセンブリング”に続き、ここでは、受信したビットストリームが異なるタイプの圧縮されたビデオデータを決定するためデアセンブリングされる。例えば、ビットストリーム201は、図7に示されるように、圧縮されたビデオデータ511〜517(及び何れかのサブコンポーネントビデオデータ)を生成するため、ビットストリームデアセンブラ508を介しデアセンブリングされてもよい。例えば、デアセンブリングされた圧縮されたビデオデータは、圧縮された第1ビデオデータ及び圧縮された第2ビデオデータを有してもよい。
処理1000は、処理1006において、“第1ビデオデータ及び第2ビデオデータを生成するため圧縮された第1及び第2ビデオデータをエントロピー復号化”に続き、ここでは、圧縮された第1及び第2ビデオデータが、第1及び第2ビデオデータを生成(伸張)するためエントロピー復号化される。説明されるように、いくつかの具体例では、デコーダモジュール501〜507の1以上は、各種コーディング技術のオプションから圧縮されたビデオデータ511〜517のコーディング技術を決定する。例えば、デコーダモジュール501は、入力ビットストリームを介し提供されたインジケータに基づき、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の1つから、圧縮されたビデオデータ511のコーディング技術を決定する。さらに、デコーダモジュール502は、適応的シンボルラン可変長コーディング技術及び適応的プロキシ可変長コーディング技術などの1つから、ビデオデータ512の圧縮されたイントラ予測パーティションデータ725のコーディング技術を決定してもよい。広範な具体例が図5及び7に関してここに提供され、簡単化のためここでは繰り返されない。説明されるように、いくつかの具体例では、2以上のタイプのビデオデータが受信される。いくつかの具体例では、エントロピー復号化技術が、ここに説明されるような2,3以上のタイプのビデオデータについて決定されてもよい。
処理1000は、処理1008において、“ビデオフレームを生成するため第1及び第2ビデオデータを復号化”に続き、ここでは、第1及び第2ビデオデータ(及び他の何れかエントロピー復号化されたビデオデータ)が、ビデオフレームを生成するため復号化される。ビデオフレームは、例えば、ディスプレイデバイスを介しユーザに提示するのに適したものであってもよい。
説明されるように、いくつかの具体例では、エントロピー復号化されたビデオデータの1以上は、更なる復号化前に後処理されるか、又は操作される。例えば、エントロピー復号化された差分動きベクトルが、再構成された動きベクトルを生成するため、予測動きベクトルに加えられてもよく、デコーダ200を介し動きベクトル予測(例えば、インター予測など)に利用するため出力されてもよい。
ここに説明されるシステムの各種コンポーネントは、ソフトウェア、ファームウェア、ハードウェア及び/又はこれらの何れかの組み合わせにより実現されてもよい。例えば、エンコーダ100又はエンコーダ200の各種コンポーネントは、スマートフォンなどの計算システムに見つけられるようなコンピューティングシステム・オン・チップ(Soc)のハードウェアによって少なくとも部分的に提供されてもよい。当業者は、ここに説明されたシステムが対応する図面において示されていない更なるコンポーネントを有してもよいことを認識してもよい。例えば、ここに説明されるシステムは、簡単化のため、図示されないビットストリームマルチプレクサやデマルチプレクサモジュールなどの更なるコンポーネントなどを有してもよい。
ここに説明される処理800、1000及び他の処理に関する更なる及び/又は他の詳細は、ここに説明され、特に以下の図11に関して説明される1以上の実現形態の具体例に示されてもよい。
図11は、本開示の少なくともいくつかの実現形態により構成される一例となるビデオコーディングシステム1610及び処理におけるビデオコーディング処理1100の説明図である。図示された実現形態では、処理1100は、1以上のアクション1100〜1112により示されるような1以上の処理、ファンクション又はアクションを含む。非限定的な具体例によって、処理1100は、図16に関して更に後述されるように、図1のエンコーダ100及び図2のデコーダ200を有する一例となるビデオコーディングシステム1610を参照して説明される。各種具体例では、処理1100は、エンコーダとデコーダとの双方を含むシステムによって、又は、エンコーダ(及び任意的にはデコーダ)を利用するあるシステムと、デコーダ(及び任意的にはエンコーダ)を利用する他のシステムとによるセパレートシステムによって実行されてもよい。上述されるように、エンコーダはエンコーダシステムの一部としてローカルなデコーダを利用するローカル復号化ループを含むことに留意されたい。
図示された実現形態では、ビデオコーディングシステム1610は、ロジック回路1150など及び/又はこれらの組み合わせを含む。例えば、ロジック回路1150は、エンコーダ100を有し、図1及び3に関して説明されたモジュールを有し、デコーダ200は、図2及び/又は図4,6に関して説明されたモジュールを有してもよい。図16に示されるビデオコーディングシステム1610は特定のモジュールに関連する特定のブロック又はアクションセットを含むが、これらのブロック又はアクションは、ここに示された特定のモジュールと異なるモジュールに関連するものであってもよい。図示された処理1100は符号化及び復号化に関するものであるが、説明されたコンセプト及び/又は処理は、符号化及び/又は復号化にセパレートに適用されてもよく、より一般にはビデオコーディングに適用されてもよい。
処理1100は、処理1101において、“異なるタイプのビデオデータを取得”から開始され、ここでは、異なるタイプのビデオデータはエントロピー符号化のため受信される。例えば、2以上のタイプのビデオデータが、エントロピー符号化のため受信される。例えば、2以上のビデオデータ411〜417(及び/又はビデオデータ411〜417の何れかのサブコンポーネント)は、適応的エントロピーエンコーダ110を介し受信される。説明されるように、第1及び第1(又は更なる)ビデオデータは、ビデオデータ411〜417に関して又はここでの他の何れかに説明されるようなタイプ又はサブコンポーネントタイプの何れかなどの異なるタイプを有してもよい。
処理1100は、処理1101から処理1102の“1以上のタイプのビデオデータのエントロピー符号化技術を決定”に続き、ここでは、エントロピー符号化技術が、ビデオデータタイプの1以上について決定される。説明されるように、いくつかの具体例では、エンコーダモジュール401〜407の1以上は、各種コーディング技術オプションからビデオデータ411〜417のコーディング技術を決定する。例えば、エンコーダモジュール401は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の1つから、ビデオデータ411のコーディング技術を決定する。さらに、エンコーダモジュール402は、ここに説明されるような適応的シンボルラン可変長コーディング技術及び適応的プロキシ可変長コーディング技術の1つから、ビデオデータ402のイントラ予測パーティションデータ625のためのコーディング技術を決定する。
処理1100は、処理1103において、“決定された技術を利用してビデオデータをエントロピー符号化”に続き、ビデオデータは、決定された技術を利用してエントロピー符号化される。例えば、第1ビデオデータは、圧縮された第1ビデオデータを生成するため、第1エントロピー符号化技術を利用してエントロピー符号化される。いくつかの具体例では、第2、第3又は更なるビデオデータが、圧縮された第1、第2、第3などの各ビデオデータを生成するため、ここに説明されるような第2、第3又は更なるエントロピー符号化技術を利用してエントロピー符号化されてもよい。
処理1100は、処理1103から処理1104の“圧縮されたビデオデータをアセンブリング”に続き、ここでは、異なるタイプの圧縮されたビデオデータが、出力ビットストリームを生成するためアセンブリングされる。例えば、ビットストリームアセンブラ408は、ここに説明されるように、出力ビットストリーム111を生成するため、圧縮されたビデオデータをアセンブリング又は多重する。
処理1100は、処理1104から処理1105の“任意的にオーディオストリームとビデオストリームとを多重”に続き、ここでは、ビデオストリームが、オーディオビジュアルビットストリームを生成するため、コーディング又は非コーディングオーディオストリームと任意的に多重される。
処理1100は、処理1105又は処理1104から処理1106の“ビットストリームを送信”に続き、ここでは、ビットストリームが送信される。例えば、ビデオコーディングシステム1610は、アンテナ1102(図16を参照されたい)を介し出力ビットストリーム111又はビットストリーム800などを送信する。
処理1101〜1106は、ここに説明されるようなエンコーダシステムにより利用されるビデオ符号化及びビットストリーム送信技術を提供する。以下の処理である処理1107〜1112は、ここに説明されるようなデコーダシステムにより利用されるビデオ復号化及びビデオ表示技術を提供する。
処理1100は、処理1107の“ビットストリームを受信”に続き、ここでは、符号化されたビットストリームが受信される。例えば、入力ビットストリーム100,201又はビットストリーム800などがデコーダ200を介し受信される。いくつかの具体例では、ビットストリームは、ここに説明されるような異なるタイプのエントロピー符号化されたデータを有する。
処理1100は、処理1007から処理1108の“異なるタイプの圧縮されたビデオデータを生成するためビットストリームをデアセンブリング”に続き、ここでは、受信されたビットストリームは、異なるタイプの圧縮されたビデオデータを決定するようデアセンブリングされる。例えば、ビットストリーム201は、図7に示されるように、圧縮されたビデオデータ511〜517(及び何れかのサブコンポーネントビデオデータ)を生成するため、ビットストリームデアセンブラ508を介しデアセンブリングされてもよい。例えば、デアセンブリングされた圧縮されたビデオデータは、第1、第2、第3又は更なる圧縮されたビデオデータを有してもよい。
処理1100は、処理1108から処理1109の“1以上のタイプの圧縮されたビデオデータのエントロピー復号化技術を決定”に続き、エントロピー復号化技術が、圧縮されたビデオデータタイプの1以上について決定されてもよい。いくつかの具体例では、エントロピー復号化技術が、受信したビットストリームを介し搬送されるフラグ又はインジケータなどに基づき決定される。説明されるように、いくつかの具体例では、デコーダモジュール501〜507の1以上が、各種コーディング技術のオプションから圧縮されたビデオデータ511〜517のためのコーディング技術を決定する。例えば、デコーダモジュール401は、入力ビットストリームを介し提供されたインジケータに基づき、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の1つから、圧縮されたビデオデータ511のコーディング技術を決定する。
さらに、デコーダモジュール502は、適応的シンボルラン可変長コーディング技術及び適応的プロキシ可変長コーディング技術などの1つから、ビデオデータ512の圧縮されたイントラ予測パーティションデータ725のコーディング技術を決定してもよい。広範な具体例はここで提供されたが、簡単化のため繰り返されない。説明されるように、いくつかの具体例では、2以上のタイプのビデオデータが受信される。いくつかの具体例では、エントロピー復号化技術が、ここに説明されるような2、3以上のタイプのビデオデータについて決定されてもよい。
処理1100は、処理1109から処理1610の“圧縮されたビデオデータをエントロピー復号化”に続き、ここでは、圧縮されたビデオデータが、決定されたエントロピー復号化技術に基づきエントロピー復号化される。例えば、圧縮されたビデオデータ511〜517は、復号化モジュール501〜507を介しエントロピー復号化される。
処理1100は、処理1610から処理1111の“ビデオフレームを生成するためエントロピー復号化されたビデオデータを復号化”に続き、ここでは、第1及び第2ビデオデータ(及び他の何れかエントロピー復号化されたビデオデータ)が、ビデオフレームを生成するため復号化される。ビデオフレームは、例えば、ディスプレイデバイスを介しユーザに提示するのに適している。例えば、ビデオフレームは、デコーダ200に関して説明される復号化技術の実現形態に基づき決定される。
処理1100は、処理1111から処理1112の“ディスプレイデバイスを介し提示するためビデオフレームを送信”に続き、ここでは、生成されたビデオフレームは、ディスプレイデバイスを介し提示するため送信される。例えば、ビデオフレームは、提示のためディスプレイデバイス1105(図16に示されるような)に送信されてもよい。いくつかの具体例では、ディスプレイデバイス1105は、例えば、ユーザにビデオフレームを表示してもよい。
ここでの一例となる処理の実現形態は図示された順序により図示された全ての処理を実行することを含むが、本開示はこれに限定されず、各種具体例では、ここでの一例となる処理の実現形態は、図示された処理の一部のみ及び/又は図示されたものと異なる順序による実行を含んでもよい。
さらに、ここに説明される処理の何れか1以上は、1以上のコンピュータプログラムプロダクトにより提供される命令に応答して実行されてもよい。このようなプログラムプロダクトは、プロセッサなどにより実行されると、ここに説明される機能を提供する命令を提供する信号担持媒体を含む。コンピュータプログラムプロダクトは、1以上のマシーン可読媒体の何れかの形態により提供されてもよい。従って、例えば、1以上のプロセッサコアを含むプロセッサは、1以上のマシーン可読媒体によりプロセッサに搬送されるプログラムコード及び/又は命令若しくは命令セットに応答して、一例となる処理の1以上を実行する。一般に、マシーン可読媒体は、ここに説明されるデバイス及び/又はシステムの何れかにここに説明されるビデオシステムの少なくとも一部を実現させるプログラムコード及び/又は命令若しくは命令セットの形態によるソフトウェアを搬送する。
ここに説明される何れかの実現形態に用いられる“モジュール”という用語は、ここに説明される機能を提供するよう構成されるソフトウェアロジック、ファームウェアロジック及び/又はハードウェアロジックの何れかの組み合わせを表す。ソフトウェアは、ソフトウェアパッケージ、コード及び/又は命令セット若しくは命令として実現されてもよく、ここで説明される何れかの実現形態により用いられる“ハードウェア”は、例えば、プログラマブル回路により実行される命令を格納する配線回路、プログラマブル回路、状態マシーン回路及び/又はファームウェアを単独で又は何れかの組み合わせにより有してもよい。モジュールは、集積回路(IC)、システム・オン・チップ(SoC)などのより大きなシステムの一部を構成する回路としてまとめて又は個別に実現されてもよい。
図12は、本開示の少なくともいくつかの実現形態により構成される一例となる処理1200を示すフロー図である。処理1200は、1以上の処理により示されるような1以上の処理、ファンクション又はアクションを含む。処理1200は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例より、処理1200は、図1のエンコーダシステム及び/又はここに説明される他の何れかのエンコーダシステム若しくはサブシステムにより実行されるような次世代ビデオ符号化処理の少なくとも一部を構成する。
処理1200は、処理1202の“ビデオシーケンスの入力ビデオフレームを受信”から開始され、ここでは、ビデオシーケンスの入力ビデオフレームが、例えば、エンコーダ100を介し受信される。
処理1200は、処理1204の“ピクチャタイプと各ビデオフレームとを関連付け”に続き、ここでは、ピクチャタイプが、例えば、コンテンツ事前解析モジュール102を介しピクチャグループの各ビデオフレームに関連付けされる。例えば、ピクチャタイプは、F/Bピクチャ、Pピクチャ又はIピクチャなどであってもよい。いくつかの具体例では、ビデオシーケンスはピクチャグループを有し、ここに説明される処理(例えば、処理1203〜1211)は、ピクチャグループのフレーム又はピクチャに対して実行され、当該処理は、グループの全てのフレーム又はピクチャについて繰り返され、その後、ビデオシーケンスの全てのピクチャグループに対して繰り返される。
処理1200は、処理1206の“ピクチャをタイル及び/又はスーパーフラグメント及び可能性のある予測パーティショニングに分割”に続き、ここで、ピクチャは、例えば、予測パーティション生成手段105を介しタイル又はスーパーフラグメント及び可能性のある予測パーティションに分割される。
処理1200は、処理1210の“可能性のある予測パーティショニングについて可能性のある予測エラーを決定”に続き、ここでは、可能性のある各予測パーティショニングについて、可能性のある予測エラーが決定される。例えば、各予測パーティショニング(及び関連する予測パーティション、予測及び予測パラメータ)について、予測エラーが決定される。例えば、可能性のある予測エラーを決定することは、予測ピクセルとオリジナルピクセル(例えば、予測パーティションのオリジナルピクセルデータなど)との差分化を含む。いくつかの具体例では、関連する予測パラメータが格納される。説明されるように、いくつかの具体例では、予測エラーデータパーティションは、モーフィング技術又はシンセサイジング技術の少なくとも1つを利用して生成された以前に復号化されたフレームに少なくとも部分的に基づき生成される予測エラーデータを含む。
処理1200は、処理1212の“予測パーティショニング及び予測タイプを選択し、パラメータを保存”に続き、ここで、予測パーティショニング及び予測タイプが選択され、関連するパラメータが保存される。いくつかの具体例では、最小の予測エラーを有する可能性のある予測パーティショニングが選択される。いくつかの具体例では、可能性のある予測パーティショニングが、レート歪み最適化(RDO)に基づき選択される。
処理1200は、処理1214の“可能性のあるコーディングパーティショニングに対して変換を実行”に続き、ここで、各種ブロックサイズによる固定的又はコンテンツ適応的変換が、パーティション予測エラーデータの各種の可能性のあるコーディングパーティショニングに対して実行される。例えば、パーティション予測エラーデータは、複数のコーディングパーティションを生成するようパーティション化される。例えば、パーティション予測エラーデータは、ここに説明されるように、コーディングパーティション生成モジュール107のバイツリーコーディングパーティションモジュール又はk−dツリーコーディングパーティションモジュールによりパーティション化されてもよい。いくつかの具体例では、F/B又はPピクチャに関連するパーティション予測エラーデータは、バイツリーコーディングパーティションモジュールによりパーティション化されてもよい。いくつかの具体例では、Iピクチャに関するビデオデータ(例えば、いくつかの具体例では、タイル又はスーパーフラグメント)は、k−dツリーコーディングパーティションモジュールによりパーティション化されてもよい。いくつかの具体例では、コーディングパーティションモジュールは、スイッチを介し選択されてもよい。例えば、パーティションは、コーディングパーティション生成モジュール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つまでの以前及び/又は以降に復号化されるピクチャ及び複数のモーフィング/シンセサイジング予測が、多数のリファレンスタイプ(例えば、リファレンスピクチャなど)を生成するのに利用されてもよい。例えば、“インター”モードでは、9つまでのリファレンスタイプがPピクチャにおいてサポートされ、10までのリファレンスタイプがF/Bピクチャについてサポートされてもよい。さらに、“マルチ”モードは、1つのリファレンスピクチャの代わりに、2つのリファレンスピクチャが利用され、P及びF/Bピクチャはそれぞれ3つと、8つまでのリファレンスタイプを可能にするタイプのインター予測モードを提供する。例えば、予測は、モーフィング技術又はシンセサイジング技術の少なくとも1つを利用して生成される以前に復号化されたフレームに基づくものであってもよい。このような具体例では、ビットストリーム(処理1212に関して後述される)は、予測パーティションに関連するフレームリファレンス、モーフィングパラメータ又はシンセサイジングパラメータを含む。
処理1200は、処理1229の“任意的にEPフィルタを適用及び/又は任意的にFI/FPフィルタを適用”に続き、ここでは、エンハンスされた予測されたパーティション(例えば、EPフィルタリングなど)又はFI/FOフィルタリング(例えば、融合フィルタリング又は融合改善フィルタリングなど)が任意的に適用されてもよい。いくつかの具体例では、ある形態又はFI/FPフィルタ(融合改善フィルタリング/融合フィルタリング)を利用するか、又はFI/FPフィルタリングを利用しないかに関する判定がなされてもよい。ある形態又はFI/FPフィルタ(例えば、融合フィルタリング又は融合改善フィルタリングなど)が選択された予測されたパーティションに適用されるとき、選択された予測されたパーティション及び第2の選択された予測されたパーティションが、アセンブリングされたピクチャの少なくとも一部を生成するためアセンブリングされてもよい。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は、1以上の処理により示されるような1以上の処理、ファンクション又はアクションを含む。処理1400は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例により、処理1400は、ここに説明されるようなデコーダシステム200及び/又は他の何れかのデコーダシステム若しくはサブシステムにより実行されるような次世代ビデオ復号化処理の少なくとも一部を構成する。
処理1400は、処理1402の“符号化されたビットストリームを受信”から開始され、ここでは、ビットストリームが受信される。例えば、ここに説明されるように符号化されたビットストリームは、ビデオデコーダにおいて受信される。いくつかの具体例では、ビットストリーム900又は1300がデコーダ200を介し受信される。
処理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フィルタ(例えば、融合フィルタリング又は融合改善フィルタリングなど)が選択された予測されたパーティションに適用されるとき、選択された予測されたパーティション及び選択された第2の予測されたパーティションはアセンブリングされ、アセンブリングされたピクチャの少なくとも一部を生成する。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以上により示されるような1以上の処理、ファンクション又はアクションを含む。非限定的な具体例により、処理1500が、図16に関して更に後述されるように、図1のエンコーダ100と図2のデコーダ200とを含む一例となるビデオコーディングシステム1600を参照して説明される。各種具体例では、処理1500は、エンコーダとデコーダとの双方を含むシステムによって、又はエンコーダ(及び任意的にはデコーダ)を利用する1つのシステムと、デコーダ(及び任意的にはエンコーダ)を利用する他のシステムとのセパレートシステムによって実行されてもよい。また、上述されるように、エンコーダはエンコーダシステムの一部としてローカルデコーダを利用するローカル復号化ループを含むことに留意されたい。
図示された実現形態では、ビデオコーディングシステム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つまでの以前及び/又は以降に復号化されるピクチャ及び複数のモーフィング/シンセサイジング予測が、多数のリファレンスタイプ(例えば、リファレンスピクチャなど)を生成するため利用されてもよい。例えば、“インター”モードでは、9つまでのリファレンスタイプがPピクチャにおいてサポートされ、10までのリファレンスタイプがF/Bピクチャについてサポートされる。さらに、“マルチ”モードは、1つのリファレンスピクチャの代わりに、2つのリファレンスピクチャが利用され、P及びF/Bピクチャがそれぞれ3つと、8つまでのリファレンスタイプを可能にするタイプのインター予測モードを提供する。例えば、予測は、モーフィング技術又はシンセサイジング技術の少なくとも1つを利用して生成される以前に復号化されたフレームに基づくものであってもよい。このような具体例では、ビットストリーム(処理1512に関して後述される)は、予測パーティションに関連するフレームリファレンス、モーフィングパラメータ又はシンセサイジングパラメータを含む。
処理1500は、処理1505の“各可能性のある予測パーティショニングについて、可能性のある予測エラーを決定”に続き、ここでは、各可能性のある予測パーティショニングについて、可能性のある予測エラーが決定される。例えば、各予測パーティショニング(及び関連する予測パーティション、予測及び予測パラメータ)について、予測エラーが決定される。例えば、可能性のある予測エラーの決定は、オリジナルピクセル(例えば、予測パーティションのオリジナルピクセルデータなど)と予測ピクセルとの差分化を含む。いくつかの具体例では、関連する予測パラメータが格納される。説明されるように、いくつかの具体例では、予測エラーデータパーティションは、モーフィング技術又はシンセサイジング技術の少なくとも1つを利用して生成される以前に復号化されたフレームに少なくとも部分的に基づき生成される予測エラーデータを含む。
処理1500は、処理1506の“予測パーティショニング及び予測タイプを選択し、パラメータを保存”に続き、ここでは、予測パーティショニング及び予測タイプが選択され、関連するパラメータが保存される。いくつかの具体例では、最小の予測エラーを有する可能性のある予測パーティショニングが選択される。いくつかの具体例では、可能性のある予測パーティショニングは、レート歪み最適化(RDO)に基づき選択される。
処理1500は、処理1507の“パーティション予測エラーデータの各種可能性のあるコーディングパーティショニングに対して各種ブロックサイズによる固定的又はコンテンツ適応的変換を実行”に続き、ここでは、各種ブロックサイズによる固定的又はコンテンツ適応的変換が、パーティション予測エラーデータの各種可能性のあるコーディングパーティショニングに対して実行される。例えば、パーティション予測エラーデータは、複数のコーディングパーティションを生成するためパーティション化される。例えば、パーティション予測エラーデータは、ここに説明されるように、コーディングパーティション生成モジュール107のバイツリーコーディングパーティションモジュール又はk−dツリーコーディングパーティションモジュールによりパーティション化される。いくつかの具体例では、F/B又はPピクチャに関連するパーティション予測エラーデータが、バイツリーコーディングパーティションモジュールによりパーティション化される。いくつかの具体例では、Iピクチャに関連するビデオデータ(例えば、いくつかの具体例では、タイル又はスーパーフラグメントなど)は、k−dツリーコーディングパーティションモジュールによりパーティション化される。いくつかの具体例では、コーディングパーティションモジュールは、スイッチを介し選択されてもよい。例えば、パーティションは、コーディングパーティション生成モジュール107により生成される。
処理1500は、処理1508の“最良のコーディングパーティショニング、変換ブロックサイズ及び実際の変換を決定”に続き、ここでは、最良のコーディングパーティショニング、変換ブロックサイズ及び実際の変換が決定される。例えば、各種コーディングパーティショニング(例えば、各種コーディングパーティションを有する)は、選択されたコーディングパーティショニングを決定するため、RDO又は他の基準に基づき評価される(説明されるように、変換ブロックサイズに一致しないようにパーティションをコーディングする際にコーディングパーティションを変換ブロックに更に分割することを含む)。例えば、実際の変換(又は選択された変換)は、ここに説明されるように、コーディングパーティション又はブロックサイズに対して実行される何れかのコンテンツ適応的変換又は固定的変換を含む。
処理1500は、処理1509の“変換係数を量子化及びスキャン”に続き、ここでは、コーディングパーティション(及び/又は変換ブロック)に関連する変換係数が、エントロピーコーディングのための準備において量子化及びスキャンされる。
処理1500は、処理1511の“各タイル又はスーパーフラグメントに関連するデータをエントロピー符号化”に続き、ここでは、各タイル又はスーパーフラグメントに関連するデータがエントロピー符号化される。例えば、各ビデオシーケンスの各ピクチャグループの各ピクチャの各タイル又はスーパーフラグメントに関連するデータがエントロピー符号化される。エントロピー符号化されたデータは、予測パーティショニング、予測パラメータ、選択されたコーディングパーティショニング、選択された特性データ、動きベクトルデータ、量子化された変換係数、フィルタパラメータ、選択データ(モード選択データなど)及びインジケータを含むものであってもよい。
処理1500は、処理1512の“ビットストリームを生成”に続き、ここでは、ビットストリームがエントロピー符号化されたデータに基づき生成される。説明されるように、いくつかの具体例では、ビットストリームは、予測パーティションに関連するフレーム又はピクチャリファレンス、モーフィングパラメータ又はシンセサイジングパラメータを含むものであってもよい。
処理1500は、処理1513の“ビットストリームを送信”に続き、ここでは、ビットストリームが送信される。例えば、ビデオコーディングシステム2400は、アンテナ2402を介し出力ビットストリーム111、ビットストリーム2100などを送信する(図34を参照されたい)。
処理1500は、処理1520の“ピクセルデータを再構成し、ピクチャにアセンブリングし、リファレンスピクチャバッファに保存”に続き、ここでは、ピクセルデータが再構成され、ピクチャにアセンブリングされ、リファレンスピクチャバッファに保存される。例えば、ローカル復号化ループ後(例えば、逆スキャン、逆変換及びコーディングパーティションのアセンブリングを含む)、予測エラーデータパーティションが生成される。予測エラーデータパーティションは、タイル又はスーパーフラグメントにアセンブリングされる再構成された予測パーティションを生成するため、予測パーティションと加算される。アセンブリングされたタイル又はスーパーフラグメントは、任意的にはデブロックフィルタリング及び/又は品質復元フィルタリングを介し処理され、ピクチャを生成するためアセンブリングされる。ピクチャは、他の(例えば、以降の)ピクチャの予測のためのリファレンスピクチャとして復号化ピクチャバッファ119に保存される。
処理1500は、処理1523の“DD/DBフィルタを適用し、ピクセルデータを再構成し、ピクチャにアセンブリング”に続き、ここでは、デブロックフィルタリング(例えば、DD又はDBフィルタなど)が適用され、ピクセルデータが再構成され、ピクチャにアセンブリングされる。例えば、ローカル復号化ループ後(例えば、逆スキャン、逆変換及びコーディングパーティションのアセンブリングを含む)、予測エラーデータパーティションが生成される。予測エラーデータパーティションは、タイル又はスーパーフラグメントにアセンブリングされる再構成された予測パーティションを生成するため、予測パーティションと加算される。アセンブリングされたタイル又はスーパーフラグメントは、任意的にはデブロックフィルタリング及び/又は品質復元フィルタリングを介し処理され、ピクチャを生成するようアセンブリングされる。
処理1500は、処理1524の“QR/LFフィルタを適用し、リファレンスピクチャバッファに保存”に続き、ここでは、品質復元フィルタリング(例えば、QR又はLFフィルタリングなど)が適用され、アセンブリングされたピクチャがリファレンスピクチャバッファに保存される。例えば、DD/DBフィルタリングに加えて又は代わりに、アセンブリングされたタイル又はスーパーフラグメントが、任意的には品質復元フィルタリングを介し処理され、ピクチャを生成するようアセンブリングされる。ピクチャは、他の(例えば、以降の)ピクチャの予測のためリファレンスピクチャとして復号化ピクチャバッファ119に保存される。
処理1500は、処理1525の“修正特性パラメータを生成”に続き、ここでは、修正された特性パラメータが生成される。例えば、第2修正予測リファレンスピクチャと、当該修正予測リファレンスピクチャに関連する第2修正特性パラメータとが、第2修正リファレンスピクチャが第1修正リファレンスピクチャと異なるタイプを有する第2復号化予測ピクチャに少なくとも部分的に基づき生成される。
処理1500は、処理1526の“修正予測リファレンスピクチャを生成”に続き、ここでは、修正予測リファレンスピクチャが生成され、例えば、第1修正予測リファレンスピクチャと、当該第1修正予測リファレンスピクチャに関連する第1修正特性パラメータとが、第1復号化予測リファレンスピクチャに少なくとも部分的に基づき生成される。
処理1500は、処理1527の“動きデータを生成”に続き、ここでは、動き推定データが生成される。例えば、現在ピクチャの予測パーティションに関連する動きデータが、第1修正予測リファレンスピクチャ又は第2修正予測リファレンスピクチャの1つに少なくとも部分的に基づき生成される。
処理1500は、処理1528の“AP/AMフィルタを適用し、動き補償を実行”に続き、ここでは、動き補償が実行される。例えば、動き補償は、予測パーティションのパーティションデータを生成するため、第1修正予測リファレンスピクチャ又は第2修正予測リファレンスピクチャの少なくとも1つと動きデータとに少なくとも部分的に基づき実行され、適応的動きフィルタリング又は適応的精度フィルタリング(例えば、AP/AMフィルタ)が適用される。処理1500は、当該情報を処理1504にフィードバックし、ここで、各復号化予測エラーパーティション(例えば、ゼロ予測エラーパーティションを含む)が、再構成された予測パーティションを生成するため、対応する予測パーティションに加えられる。さらに、適応的動きフィルタリング又は適応的精度フィルタリングが、処理における当該ポイントにおいて適用される。
処理1500は、処理1529の“任意的にEPを適用”に続き、ここでは、エンハンスされた予測されたパティション(例えば、EPフィルタリング)が任意的に適用される。いくつかの具体例では、EPフィルタリング又はFI/FPフィルタリングの双方が利用可能である場合、予測パーティションのため選択された予測されたパーティションとしてエンハンスされた予測されたパーティション(例えば、EPフィルタリング)又は予測されたパーティションデータを利用するかデコーダシステムに通知するインジケータが生成される。
処理1500は、処理1530の“任意的にFI/FPフィルタに適用”に続き、ここでは、FI/FPフィルタリング(例えば、融合フィルタリング又は融合改善フィルタリング)が、任意的に適用されてもよい。いくつかの具体例では、ある形態又はFI/FPフィルタ(融合改善フィルタリング/融合フィルタリング)を利用するか、又はFI/FPフィルタリングを利用しないかに関する決定がなされる。ある形態又はFI/FPフィルタ(例えば、融合フィルタリング又は融合改善フィルタリング)が選択された予測されたパーティションに適用されるとき、選択された予測されたパーティションと第2の選択された予測されたパーティションとが、アセンブリングされたピクチャの少なくとも一部を生成するためアセンブリングされる。FI/FPフィルタリングに関連するFI/FPフィルタリングパラメータ(例えば、フィルタリングパラメータ又は融合改善フィルタリングパラメータなど)が生成され、エントロピーコーダサブシステムに送信される。
処理1501〜1530は、ここに説明されるようなエンコーダシステムにより利用されるビデオ符号化及びビットストリーム送信技術を提供する。以下の処理である処理1554〜1568は、ここに説明されるようなデコーダシステムにより利用されるビデオ復号化及びビデオディスプレイ技術を提供する。
処理1500は、処理1554の“ビットストリームを受信”に続き、ここでは、ビットストリームが受信される。例えば、入力ビットストリーム201、ビットストリーム2100などがデコーダ200を介し受信される。いくつかの具体例では、ビットストリームは、上述されたようなコーディングパーティションに関するデータ、1以上のインジケータ及び/又はコーディングパーティションを規定するデータを含むものであってもよい。いくつかの具体例では、ビットストリームは、予測パーティショニング、予測パラメータ、選択されたコーディングパーティショニング、選択された特性データ、動きベクトルデータ、量子化された変換係数、フィルタパラメータ、選択データ(モード選択データなど)及びインジケータを含むものであってもよい。
処理1500は、処理1555の“ビットストリームを復号化”に続き、ここでは、受信したビットストリームが、例えば、適応的エントロピーデコーダモジュール202を介し復号化される。例えば、受信したビットストリームは、予測パーティショニング、予測パラメータ、選択されたコーディングパーティショニング、選択された特性データ、動きベクトルデータ、量子化された変換係数、フィルタパラメータ、選択データ(モード選択データなど)及びインジケータを決定するためエントロピー復号化される。
処理1500は、処理1556の“各コーディングパーティションの各ブロックに対して逆スキャン及び逆量子化を実行”に続き、ここでは、逆スキャン及び逆量子化が、処理される予測パーティションの各コーディングパーティションの各ブロックに対して実行される。例えば、逆スキャン及び逆量子化が、適応的逆量子化モジュール203を介し実行される。
処理1500は、処理1557の“復号化予測エラーデータパーティションを決定するため、変換係数を復号化するための固定的又はコンテンツ適応的逆変換を実行”に続き、ここでは、固定的又はコンテンツ適応的逆変換が、復号化予測エラーデータパーティションを決定するため、変換係数を復号化するため実行される。例えば、逆変換は、ハイブリッドパラメトリックHaar逆変換がパラメトリック変換方向の方向においてパラメトリックHaar逆変換と、パラメトリック変換方向に直交する方向において離散コサイン逆変換とを有するように、ハイブリッドパラメトリックHaar逆変換などの逆コンテンツ適応的変換を含む。いくつかの具体例では、固定的逆変換は、離散コサイン逆変換又は離散コサイン逆変換近似手段を含む。例えば、固定的又はコンテンツ適応的変換は、適応的逆変換モジュール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の“修正予測リファレンスピクチャを生成”に続き、ここでは、修正予測リファレンスピクチャが生成され、例えば、第3修正予測リファレンスピクチャの少なくとも一部が、第3修正特性パラメータに少なくとも部分的に基づき生成される。同様に、第4修正予測リファレンスピクチャの少なくとも一部が、関連する第2修正特性パラメータに少なくとも部分的に基づき生成される。
処理1500は、処理1577の“動きデータを生成”に続き、ここでは、動き推定データが生成される。例えば、現在のピクチャの予測パーティションに関連する動きデータが、第3修正予測リファレンスピクチャ又は第3修正予測リファレンスピクチャの1つに少なくとも部分的に基づき生成される。
処理1500は、処理1578の“AP/AMフィルタを適用し、動き補償を実行”に続き、ここでは、動き補償が実行され、適応的動きフィルタリング又は適応的精度フィルタリング(例えば、AP/AMフィルタ)が適用される。例えば、動き補償が、予測パーティションの予測パーティションデータを生成するため、動きベクトルと、第3修正予測リファレンスピクチャ又は第4修正予測リファレンスピクチャの少なくとも1つとに少なくとも部分的に基づき実行される。処理1300は、当該情報を処理1559にフィードバックし、ここでは、各復号化予測エラーパーティション(例えば、ゼロ予測エラーパーティションを含む)が、再構成された予測パーティションを生成するため、対応する予測パーティションに加算されてもよい。さらに、適応的動きフィルタリング又は適応的精度フィルタリングが、処理における当該ポイントにおいて適用されてもよい。
処理1500は、処理1579の“任意的にEPフィルタを適用”に続き、ここでは、エンハンスされた予測されたパーティション(例えば、EPフィルタリング)が任意的に適用される。いくつかの具体例では、EPフィルタリング又はFI/FPフィルタリングの双方が利用可能である場合、予測パーティションのため選択された予測されたパーティションとしてエンハンスされた予測されたパーティション(例えば、EPフィルタリング)又は予測されたパーティションデータを利用するかデコーダシステムに通知するインジケータが、エンコーダシステムから受信される。
処理1500は、処理1580の“任意的にFI/FPフィルタを適用”に続き、ここでは、FI/FPフィルタリング(例えば、融合フィルタリング又は融合改善フィルタリング)が任意的に適用される。いくつかの具体例では、ある形態又はFI/FPフィルタ(融合改善フィルタリング/融合フィルタリング)を利用するか、又はFI/FPフィルタリングを利用しないかに関する決定がなされてもよい。ある形態又はFI/FPフィルタ(例えば、融合フィルタリング又は融合改善フィルタリング)が選択された予測されたパーティションに適用されるとき、選択された予測されたパーティションと第2の選択された予測されたパーティションとが、アセンブリングピクチャの少なくとも一部を生成するためアセンブリングされてもよい。FI/FPフィルタリングは、アセンブリングされたピクチャの一部をフィルタリングするため適用されてもよい。FI/FPフィルタリングに関連するFI/FPフィルタリングパラメータ(例えば、フィルタリングパラメータ又は融合改善フィルタリングパラメータ)が生成され、エントロピーコーダシステムに送信される。
処理1500は、ここに説明されるようなコーダシステムの何れかを介し実現されてもよい。さらに、処理1500は、予測エラーデータパーティション、オリジナルデータパーティション又はウェーブレットデータなどのビデオデータの何れかの個数のインスタンス化に対してシリアルに又はパラレルに繰り返されてもよい。
ここの一例となる処理の実現形態が図示された順序により示される全ての処理の実行を含むが、本開示はこれに限定されず、各種具体例では、ここでの一例となる処理の実現形態は、図示された処理の一部のみ及び/又は図示されたものと異なる順序による実行を含むものであってもよい。
図16は、本開示の少なくともいくつかの実現形態により構成される一例となるビデオコーディングシステム1600の説明図である。図示された実現形態では、ビデオコーディングシステム1600は、イメージングデバイス1601、ビデオエンコーダ100及び/又は処理ユニット1620のロジック回路1650を介し実現されるビデオエンコーダ、ビデオデコーダ200及び/又は処理ユニット1620のロジック回路1650を介し実現されるビデオデコーダ、アンテナ1602、1以上のプロセッサ1603、1以上のメモリストア2004及び/又はディスプレイデバイス1605を有してもよい。
図示されるように、イメージングデバイス1601、アンテナ1602、処理ユニット1620、ロジック回路1650、ビデオエンコーダ100、ビデオデコーダ200、プロセッサ1603、メモリストア1604及び/又はディスプレイデバイス1605は、互いに通信可能である。説明されるように、ビデオエンコーダ100及びビデオデコーダ200の双方により示されているが、ビデオコーディングシステム1600は、各種具体例においてビデオエンコーダ100のみ又はビデオデコーダ200のみを有してもよい。
図示されるように、いくつかの具体例では、ビデオコーディングシステム1600はアンテナ1602を有する。アンテナ1602は、例えば、ビデオデータの符号化されたビットストリームを送信又は受信するよう構成されてもよい。さらに、いくつかの具体例では、ビデオコーディングシステム1600はディスプレイデバイス1605を有してもよい。ディスプレイデバイス1605は、ビデオデータを提示するよう構成されてもよい。図示されるように、いくつかの具体例では、ロジック回路1650は、処理ユニット1620を介し実現されてもよい。処理ユニット1620は、ASIC(Application−Specific Integrated Circuit)ロジック、グラフィクスプロセッサ、汎用プロセッサなどを含む。ビデオコーディングシステム1600はまた、同様にASICロジック、グラフィクスプロセッサ、汎用プロセッサなどを有してもよい任意的なプロセッサ1603を有してもよい。いくつかの具体例では、ロジック回路1650は、ハードウェア又はビデオコーディング専用ハードウェアなどを介し実現され、プロセッサ1603は、汎用ソフトウェア又はオペレーティングシステムなどを実現してもよい。さらに、メモリストア1604は、揮発性メモリ(例えば、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)など)又は不揮発性メモリ(例えば、フラッシュメモリなど)などの何れかのタイプのメモリであってもよい。非限定的な具体例では、メモリストア1604は、キャッシュメモリにより実現されてもよい。いくつかの具体例では、ロジック回路1650は、メモリストア1604(例えば、画像バッファの実現のため)にアクセスしてもよい。他の具体例では、ロジック回路1650及び/又は処理ユニット1620は、画像バッファなどの実現のためメモリストア(例えば、キャッシュなど)を有してもよい。
いくつかの具体例では、ロジック回路を介し実現されるビデオエンコーダ100は、画像バッファ(例えば、処理ユニット1620又はメモリストア1640などを介し)及びグラフィクス処理ユニット(例えば、処理ユニット1620などを介し)を有してもよい。グラフィクス処理ユニットは画像バッファに通信結合されてもよい。グラフィクス処理ユニットは、図1、3及び5に関して説明されるような各種モジュールを実現するため、ロジック回路1650を介し実現されるようなビデオエンコーダ100を有する。例えば、グラフィクス処理ユニットは、エントロピーエンコーダロジック回路などを有してもよい。ロジック回路は、ここに説明されるような各種処理を実行するよう構成される。例えば、エントロピーエンコーダロジック回路は、エントロピー符号化のための異なるタイプの第1ビデオデータ及び第2ビデオデータを受信し、第1エントロピー符号化技術が適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の少なくとも1つから構成されるように、第1ビデオデータに関連するパラメータに少なくとも部分的に基づき第1ビデオデータの第1エントロピー符号化技術を決定し、第1符号化技術を用いて第1圧縮ビデオデータを生成するため第1ビデオデータと、第2符号化技術を用いて第2圧縮ビデオデータを生成するため第2ビデオデータとをエントロピー符号化し、出力ビットストリームを生成するため第1圧縮ビデオデータ及び第2圧縮ビデオデータをアセンブリングするよう構成されてもよい。ビデオデコーダ200は同様に実現されてもよい。
いくつかの具体例では、ビデオコーディングシステム1600のアンテナ1602は、ビデオデータのエントロピー符号化されたビットストリームを受信するよう構成される。説明されるように、当該ビットストリームは、2以上の圧縮ビデオデータタイプを有してもよい。ビデオコーディングシステム1600はまた、アンテナ1602に結合され、符号化されたビットストリームを復号化するよう構成されるビデオデコーダ200を有してもよい。例えば、ビデオデコーダ200は、第1圧縮ビデオデータ及び第2圧縮ビデオデータを決定するため、エントロピー符号化されたビットストリームをデアセンブリングし、第1エントロピー復号化技術が適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の少なくとも1つを構成するように、第1圧縮ビデオデータの第1エントロピー復号化技術を決定し、第1ビデオデータを生成するため第1エントロピー復号化技術に基づき第1圧縮ビデオデータと、第2ビデオデータを生成するため第2エントロピー復号化技術に基づき第2圧縮ビデオデータとをエントロピー復号化し、ビデオフレームを生成するため第1ビデオデータ及び第2ビデオデータを復号化するよう構成されてもよい。
実施例では、ここに説明される特徴は、1以上のコンピュータプログラムプロダクトにより提供される命令に応答して実行されてもよい。このようなプログラムプロダクトは、例えば、プロセッサなどにより実行されると、ここに説明される機能を提供する命令を提供する信号担持媒体を含むものであってもよい。コンピュータプログラムプロダクトは、1以上のマシーン可読媒体の何れかの形態により提供されてもよい。従って、例えば、1以上のプロセッサコアを含むプロセッサは、1以上のマシーン可読媒体によりプロセッサに搬送されるプログラムコード及び/又は命令若しくは命令セットに応答して、ここに説明される1以上の特徴を実行してもよい。一般に、マシーン可読媒体は、ここに説明されるデバイス及び/又はシステムの何れかにここに説明される特徴の少なくとも一部を実現されるプログラムコード及び/又は命令若しくは命令セットの形態によるソフトウェアを搬送してもよい。
図17は、本開示の少なくともいくつかの実現形態により構成される一例となるシステム1700の説明図である。各種実現形態では、システム1700は、このコンテクストに限定されるものでないが、メディアシステムであってもよい。例えば、システム1700は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、携帯コンピュータ、パームトップコンピュータ、PDA(Personal Digital Assistant)、携帯電話、コンビネーション携帯電話/PDA、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレット又はスマートテレビなど)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス、カメラ(例えば、ポイント・アンド・カメラ、スーパーズームカメラ、デジタルシングルレンズリフレクス(DSLR)カメラなど)などに搭載されてもよい。
各種実現形態では、システム1700は、ディスプレイ1720に結合されるプラットフォーム1702を有する。プラットフォーム1702は、コンテンツサービスデバイス1730、コンテンツ配信デバイス又は他の同様のコンテンツソースなどのコンテンツデバイスからコンテンツを受信する。1以上のナビゲーション機能を有するナビゲーションコントローラ1750は、例えば、プラットフォーム1702及び/又はディスプレイ1720などとインタラクトするのに利用されてもよい。これらのコンポーネントのそれぞれは、より詳細に後述される。
各種実現形態では、プラットフォーム1702は、チップセット1705、プロセッサ1710、メモリ1712、アンテナ1713、ストレージ1714、グラフィクスサブシステム1715、アプリケーション1716及び/又はラジオ1718の何れかの組み合わせを含むものであってもよい。チップセット1705は、プロセッサ1710、メモリ1712、ストレージ1714、グラフィクスサブシステム1715、アプリケーション1716及び/又はラジオ1718間の相互通信を提供する。例えば、チップセット1705は、ストレージ1714との相互通信を提供可能なストレージアダプタ(図示せず)を有してもよい。
プロセッサ1710は、CISC(Complex Instruction Set Computer)又はRISC(Reduced Instruction Set Computer)プロセッサ、x86命令セット互換的プロセッサ、マルチコア又は他の何れかのマイクロプロセッサ若しくは中央処理ユニット(CPU)として実現されてもよい。各種実現形態では、プロセッサ1710は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサなどであってもよい。
メモリ1712は、限定することなく、RAM、DRAM又はSRAMなどの揮発性メモリデバイスとして実現されてもよい。
ストレージ1714は、限定することなく、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、付属ストレージデバイス、フラッシュメモリ、バッテリバックアップSDRAM(Synchronous DRAM)及び/又はネットワークアクセス可能ストレージデバイスなどの不揮発性ストレージデバイスとして実現されてもよい。各種実現形態では、ストレージ1714は、例えば、複数のハードドライブが含まれるとき、貴重なデジタルメディアのためのストレージパフォーマンスエンハンストプロテクションを増大させるための技術を含むものであってもよい。
グラフィクスサブシステム1715は、ディスプレイのためのスチル又はビデオなどの画像の処理を実行してもよい。グラフィクスサブシステム1715は、例えば、グラフィクス処理ユニット(GPU)又はビジュアル処理ユニット(VPU)などであってもよい。アナログ又はデジタルインタフェースは、グラフィクスサブシステム1715及びディスプレイ1720を通信結合するのに利用されてもよい。例えば、インタフェースは、High−Definition Multimediaインタフェース、DisplayPort、無線HDMI(登録商標)及び/又は無線HD準拠技術の何れかであってもよい。グラフィクスサブシステム1715は、プロセッサ1710又はチップセット1705に統合されてもよい。いくつかの実現形態では、グラフィクスサブシステム1715は、チップセット1705に通信結合されるスタンドアローンデバイスであってもよい。
ここに説明されるグラフィクス及び/又はビデオ処理技術は、各種ハードウェアアーキテクチャにより実現されてもよい。例えば、グラフィクス及び/又はビデオ機能は、チップセット内に統合されてもよい。あるいは、離散的なグラフィクス及び/又はビデオプロセッサが利用されてもよい。更なる他の実現形態として、グラフィクス及び/又はビデオファンクションは、マルチコアプロセッサを含む汎用プロセッサにより提供されてもよい。更なる実施例では、当該ファンクションは家電デバイスにより実現されてもよい。
ラジオ1718は、各種の適切な無線通信技術を利用して信号を送受信することが可能な1以上のラジオを有してもよい。このような技術は、1以上の無線ネットワークを介した通信を伴うものであってもよい。一例となる無線ネットワークは、(限定することなく)、無線ローカルエリアネットワーク(WLAN)、無線パーソナルエリアネットワーク(WPAN)、無線メトロポリタンエリアネットワーク(WMAN)、セルラネットワーク及び衛星ネットワークを含む。このようなネットワークを介した通信では、ラジオ1718は、何れかのバージョンの1以上の適用可能な規格に従って動作してもよい。
各種実現形態では、ディスプレイ1720は、何れかのテレビタイプモニタ又はディスプレイを含むものであってもよい。ディスプレイ1720は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ類似デバイス及び/又はテレビなどを含むものであってもよい。ディスプレイ1720は、デジタル及び/又はアナログであってもよい。各種実現形態では、ディスプレイ1720は、ホログラフィックディスプレイであってもよい。また、ディスプレイ1720は、ビジュアルプロジェクションを受信するトランスペアレント平面であってもよい。このようなプロジェクションは、情報、画像及び/又はオブジェクトの各種形態を搬送してもよい。例えば、このようなプロジェクションは、モバイル拡張リアリティ(MAR)アプリケーションのためのビジュアルオーバレイであってもよい。1状のソフトウェアアプリケーション1716の制御下において、プラットフォーム1702はディスプレイ1720上にユーザインタフェース1722を表示する。
各種実現形態では、コンテンツサービスデバイス1730は、何れかの国内、国際及び/又は独立したサービスにより運営されてもよく、例えば、インターネットを介しプラットフォーム1702にアクセス可能であってもよい。コンテンツサービスデバイス1730は、プラットフォーム1702及び/又はディスプレイ1720に結合されてもよい。プラットフォーム1702及び/又はコンテンツサービスデバイス1730は、ネットワーク1760との間でメディア情報を通信(例えば、送信及び/又は受信)するため、ネットワーク1760に結合されてもよい。コンテンツ配信デバイス1740はまた、プラットフォーム1702及び/又はディスプレイ1720に結合されてもよい。
各種実現形態では、コンテンツサービスデバイス1730は、デジタル情報及び/又はコンテンツを配信可能なケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット対応デバイス又は機器と、ネットワーク1760を介し又は直接的にコンテンツプロバイダとプラットフォーム1702及び/又はディスプレイ1720との間でコンテンツを一方向又は双方向に通信可能な他の何れか同様のデバイスとを含むものであってもよい。コンテンツはシステム1700のコンポーネントの何れか1つ及びコンテンツプロバイダとの間でネットワーク1760を介し一方向及び/又は双方向に通信されることが理解されるであろう。コンテンツの具体例は、例えば、ビデオ、音楽、医療及びゲーム情報などを含む何れかのメディア情報を含むものであってもよい。
コンテンツサービスデバイス1730は、メディア情報、デジタル情報及び/又は他のコンテンツを含むケーブルテレビプログラミングなどのコンテンツを受信する。コンテンツプロバイダの具体例は、何れかのケーブル又は衛星テレビ、ラジオ又はインターネットコンテンツプロバイダを含むものであってもよい。提供される具体例は、何れかの方法により本開示により実現形態を限定することを意図していない。
各種実現形態では、プラットフォーム1702は、1以上のナビゲーション機能を有するナビゲーションコントローラ1750から制御信号を受信する。コントローラ1750のナビゲーション機能は、例えば、ユーザインタフェース1722とインタラクトするのに利用されてもよい。各種実施例では、ナビゲーションコントローラ1750は、ユーザが空間(例えば、連続的で多次元など)データをコンピュータに入力することを可能にするコンピュータハードウェアコンポーネント(特に、ヒューマンインタフェースデバイス)であってもよいポインティングデバイスであってもよい。グラフィカルユーザインタフェース(GUI)、テレビ及びモニタなどの多数のシステムは、ユーザが物理的なジェスチャを利用してコンピュータ又はテレビへのデータを制御及び提供することを可能にする。
コントローラ1750のナビゲーション機能の動きは、ディスプレイ上に表示されるポインタ、カーソル、フォーカスリング又は他のビジュアルインジケータの動きによりディスプレイ(例えば、ディスプレイ1720)上に複製されてもよい。例えば、ソフトウェアアプリケーション1716の制御の下、ナビゲーションコントローラ1750に配置されるナビゲーション機能が、例えば、ユーザインタフェース1722に表示されるバーチャルナビゲーション機能にマッピングされてもよい。各種実施例では、コントローラ1750は、セパレートコンポーネントでなく、プラットフォーム1702及び/又はディスプレイ1720に統合されてもよい。しかしながら、本開示は、ここに図示又は説明される要素又はコンテクストに限定されない。
各種実現形態では、ドライバ(図示せず)は、例えば、有効になると、ユーザが初期的なブートアップ後にボタンをタッチすることによってテレビなどのプラットフォーム1702を即座にオン及びオフすることを可能にするための技術を含むものであってもよい。プログラムロジックは、プラットフォーム1702が、“オフ”に切り替えられるときでさえ、メディアアダプタ、他のコンテンツサービスデバイス1730又はコンテンツ配信デバイス1740にコンテンツをストリーミングすることを可能にする。さらに、チップセット1705は、例えば、5.1サラウンドサウンドオーディオ及び/又は高品位7.1サラウンドサウンドオーディオのためのハードウェア及び/又はソフトウェアサポートを含むものであってもよい。ドライバは、一体化されたグラフィクスプラットフォームのためのグラフィクスドライバを有してもよい。各種実施例では、グラフィクスドライバは、PCI(Peripheral Component Interconnect) Expressグラフィクスカードを有してもよい。
各種実施例では、システム1700に示されるコンポーネントの何れか1以上が統合されてもよい。例えば、プラットフォーム1702及びコンテンツサービスデバイス1730が統合されるか、又は、プラットフォーム1702及びコンテンツ配信デバイス1740が一体化されるか、又は、プラットフォーム1702、コンテンツサービスデバイス1730及びコンテンツ配信デバイス1740が一体化されてもよい。各種実施例では、プラットフォーム1702及びディスプレイ1720は、一体化されたユニットであってもよい。ディスプレイ1720及びコンテンツサービスデバイス1730が一体化されてもよいし、又は、ディスプレイ1720及びコンテンツ配信デバイス1740が一体化されてもよい。これらの具体例は、本開示を限定することを意図しない。
各種実施例では、システム1700は、無線システム、有線システム又は双方の組み合わせとして実現されてもよい。無線システムとして実現されるとき、システム1700は、1以上のアンテナ、送信機、受信機、送受信機、アンプ、フィルタ、制御ロジックなどの無線共有媒体を介し通信するのに適したコンポーネント及びインタフェースを有してもよい。無線共有媒体の具体例は、RFスペクトルなどの無線スペクトルの一部を有してもよい。有線システムとして実現されるとき、システム1700は、入出力(I/O)アダプタ、I/Oアダプタと対応する有線通信媒体とを接続するための物理コネクタ、ネットワークインタフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、オーディオコントローラなどの有線通信媒体を介し通信するのに適したコンポーネント及びインタフェースを有してもよい。有線通信媒体の具体例は、ワイヤ、ケーブル、金属リード、プリント回路ボード(PCB)、バックプレーン、回線網、半導体物質、ツイストペアワイヤ、同軸ケーブル、光ファイバなどを含む。
プラットフォーム1702は、情報を通信するための1以上の論理又は物理チャネルを確立する。当該情報は、メディア情報及び制御情報を含む。メディア情報は、ユーザについて意図されたコンテンツを表す何れかのデータを参照してもよい。コンテンツの具体例は、例えば、音声会話からのデータ、テレビ会議、ストリーミングビデオ、電子メール(“email”)メッセージ、音声メールメッセージ、英数字シンボル、グラフィクス、画像、ビデオ、テキストなどを含むものであってもよい。音声会話からのデータは、例えば、スピーチ情報、サイレンス期間、バックグラウンドノイズ、コンフォートノイズ、トーンなどであってもよい。制御情報は、自動システムについて意図されたコマンド、命令又は制御ワードを表す何れかのデータを参照してもよい。例えば、制御情報は、システムを介しメディア情報をルーティングし、又は所定の方法によりメディア情報を処理するようノードを指示するのに利用されてもよい。しかしながら、実施例は、図17に図示又は説明される要素又はコンテクストに限定されるものでない。
上述されるように、システム1700は、変動する物理スタイル又はフォームファクタにより実現されてもよい。図18は、システム1800が実現されるスモールフォームファクタデバイス1800の実現形態を示す。各種実施例では、例えば、デバイス1800は、無線機能を有するモバイル計算デバイスとして実現されてもよい。モバイル計算デバイスは、例えば、1以上のバッテリなどのモバイル電源と処理システムとを有する何れかのデバイスを参照する。
上述されるように、モバイル計算デバイスの具体例は、パーソナルコンピュータ(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)、命令セット、計算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル又はこれらの何れかの組み合わせを含むものであってもよい。実施例がハードウェア要素及び/又はソフトウェア要素を用いて実現されるかの判定は、所望の計算レート、パワーレベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバススピード及び他の設計又はパフォーマンス制約などの何れかの個数のファクタにより可変であってもよい。
少なくとも1つの実施例の1以上の態様は、マシーンにより読み込まれると、マシーンにここに記載される技術を実行するためのロジックを生成させるプロセッサ内の各種ロジックを表すマシーン可読媒体に格納される代表的な命令により実現されてもよい。このような表現は、“IPコア”として知られ、有形なマシーン可読媒体に格納され、ロジック又はプロセッサを実際に生成する製造マシーンにロードするための各種カスタマ又は製造施設に供給されてもよい。
説明されるように、ビデオシステムのためのコンテンツ適応的エントロピーコーディングに関連するシステム、装置、物及び方法がここに説明される。いくつかの具体例では、ビデオシステムのためのビデオフレームのピクチャ部分のパーティションを規定するデータのためのコンテンツ適応的エントロピーコーディングに関連するシステム、装置、物及び方法がここに説明される。例えば、パーティションは、ビデオフレームのタイル、最大コーディングユニット、スーパーフラグメントなどのk−dツリーパーティション、バイツリーパーティション、クワドツリーパーティション、構造化されたコードブックパーティションなどであってもよい。パーティションは、イントラ又はインターコーディングピクチャパーティションのための予測パーティション又はコーディングパーティションであってもよい。
いくつかの具体例では、マルチレベルパターン(例えば、1以上のパターンを有するパターンなど)が、ピクチャ部分について決定される。マルチレベルパターンは、ベースパターンが全てターミネーティング部分(例えば、ベースパターンの一部は入力パーティションに一致する)を有する場合、ベースパターンしか有さず、又は、各パターンが各レベルで全てのターミネーティング部分を有するまで、マルチレベルパターンは、ベースパターン、ベースパターンの非ターミネーティング部分のためのレベル1パターン、レベル1パターンの非ターミネーティング部分のためのレベル2パターンなどを有してもよい。必要とされるレベル数(ベースのみ、レベル1、レベル2など)は、複雑さ、パーティションの個数などに基づきピクチャ部分だけ変化しうる。マルチレベルパターンは、複数の利用可能なパターンから決定されるパターン(例えば、ベース、レベル1など)を含む。いくつかの具体例では、利用可能なパターンは、利用可能なパターンのコードブックなどからのものであってもよい。さらに、ターミネーションビット(例えば、パターンの一部がターミネートするか示すビットなど)が、マルチレベルパターンの各レベルについて決定されてもよい。当該ターミネーションビットは、ビデオフレーム、ビデオフレームの一部(例えば、スライスなど)又はビデオフレームのシーケンスについて決定及び収集されてもよい。エントロピーコーディングされたコードワードは、各マルチレベルパターンの各パターンについて決定され、ターミネーションビットはエントロピーコーディングされてもよい。エントロピーコーディングされたコードワード及びターミネーションビットは、ビットストリームに書き込まれ、ビデオデコーダなどの受信デバイスに送信されてもよい。
いくつかの具体例では、ビデオデコーダはビットストリームを受信及び復号化してもよい。ビデオデコーダは、エントロピーコーディングされたコードワードに基づき、ベースパターン及び任意的なより高いレベルのパターンを決定する。ビデオデコーダはまた、エントロピー符号化されたターミネーションビットをエントロピー復号化することに基づき(任意的には、指定された可変長コーディングテーブルなどに基づき)ターミネーションビットを決定してもよい。ビデオデコーダは、マルチレベルパターン及びターミネーションビットに基づきビデオ部分のパーティションを再構成してもよい。さらに、ここで説明されるように、ビデオデコーダは、パーティションに関連するエラーデータについて変換係数を決定するためビットストリームを復号化し、ここに説明された技術を用いてパーティションを予測子、最終的な予測されたパーティションを生成するためエラーデータ及び予測されたパーティションを加算し、ディスプレイデバイスを介した提示のため復号化されたビデオフレームを生成する。
ここに説明されるように、エンコーダモジュール402(図6を参照されたい)は、ビデオフレームのピクチャ部分のパーティションを規定する入力データを含むビデオデータ402を受信する。
説明されるように、次世代ビデオコーディングは、3つのピクチャタイプである、I、P及びB/Fピクチャを利用する。例えば、I及びPピクチャは、予測及びコーディングの詳細において相違を有するかもしれないが、機能的には同様であってもよい。予測及びコーディングのため、次世代ビデオコーディングのピクチャは、タイルなどのピクチャパーティションに分割されてもよい。CIF(Common Intermediate Format)又はより低い解像度について、Pピクチャは32×32ピクセルタイルを利用し、I及びB/Fピクチャは64×64ピクセルタイルを利用する。CIFより高い解像度について、全てのピクチャタイプは64×64ピクセルタイルを利用してもよい。
ここに説明されるように、各ピクチャ部分は更に、予測(例えば、予測パーティションなど)及びコーディング(例えば、コーディングパーティション)のためのパーティションに更に分割されてもよい。パーティショニング処理は、コンテンツ(例えば、フラット、詳細又はミックスピクチャ)及び/又はコーディングビットレート(例えば、低、中、高など)に適応的であってもよい。パーティショニングはまた、コンテンツ及びビットレート適応的性質を含むレート歪み最適化(RDO)に基づくものであってもよい。各種具体例では、パーティショニングは矩形又は任意であってもよい(例えば、より詳細な形状を有する)。例えば、ピクチャ部分の矩形のパーティショニングは、バイツリーパーティショニング、クワドツリーパーティショニング、k−dツリーパーティショニング、パターンコードブックパーティショニングなどに基づくものであってもよい。コーディングパーティションに関してここに説明される技術は、ここに説明されるパーティショニング技術の何れかに基づき実行されてもよい。また、説明されるように、パーティショニングは予測(例えば、予測パーティション)又はコーディング(例えば、コーディングパーティション)について実行されてもよい。説明される技術は、予測又はコーディングパーティショニングに関して実行されてもよい。
図は、本開示の少なくともいくつかの実現形態により構成されるピクチャ部分の一例となるパーティションの一例となるマルチレベルパターンの説明図である。図示されるように、ピクチャ部分01はパーティション02を有してもよい(簡単化のため、それぞれはラベル付けされない)。説明されるように、ピクチャ部分01はビデオフレームのピクチャ部分であってもよい。例えば、ピクチャ部分01は、ビデオフレームのタイル、最大コーディング単位又はスーパーブロックであってもよい。いくつかの具体例では、ピクチャ部分01は、ビデオフレームのピクチャ部分のパーティションであってもよい。いくつかの具体例では、ビデオフレームはIピクチャであり、ピクチャ部分01はビデオフレームのタイルであってもよい。いくつかのIピクチャの具体例では、パーティション02はk−dツリーパーティションであってもよい。いくつかの具体例では、ビデオフレームはPピクチャ又はB/Fピクチャであり、ピクチャ部分01はビデオフレームのタイルのパーティションであってもよい。例えば、タイルのパーティションは予測パーティションであってもよい。いくつかのP又はB/Fピクチャの具体例では、パーティション02はバイツリーパーティションであってもよい。
説明されるように、ピクチャ部分01は何れかのサイズであってもよい。いくつかの具体例では、ピクチャ部分01は、32×32ピクセル、64×64ピクセルなどであってもよい。さらに、説明されるように、パーティション02は何れかのタイプのパーティションであってもよい。いくつかの具体例では、パーティション02は、k−dツリーパーティション、バイツリーパーティション、クワドツリーパーティション、構造化されたコードブックパーティションなどであってもよい。ピクチャ部分01及びパーティション02は、ルマ又はクロマデータのためのものであってもよい。さらに、ピクチャ部分01及びパーティション02は、他のピクチャ部分及びそれらそれぞれのパーティションと共に、パーティションデータ412などの入力データを介し規定されてもよい。
図示されるように、マルチレベルパターン10は、ピクチャ部分01について決定される。説明されるように、マルチレベルパターンは何れかの個数のレベル(例えば、ベースレベルのみ、ベースレベル及び1以上のレベル1パターン、ベースレベル、1以上のレベル1パターン及び1以上のレベル2パターンなど)を有してもよい。図の具体例では、マルチレベルパターン10は、ベースレベルパターン11、4つのレベル1パターン12,13,14及び15、及び7つのレベル2パターン21〜27を有する。
例えば、ベースパターン(例えば、レベル0パターン)11、レベル1パターン12〜15、及び/又はレベル2パターン21〜27が、階層的パターン表現などのパターンベースアプローチを利用して、ピクチャ部分1901及びパーティション02について決定されてもよい。例えば、ベースパターン11は、パーティション02の可能な限り多くのパーティションをカバー又は表現する最も適切なパターン(利用可能なパターンの)として複数の利用可能なパターンから決定されてもよい。いくつかの具体例では、ベースパターン11は、最大数のパーティション02をカバー又は表現する利用可能なパターンのパターンであってもよい。図示されるように、ベースパターン11の1以上の部分は、ベースパターン11の当該部分がピクチャ部分01の対応する部分のパーティション02に一致しないように(例えば、完全に表現)、非ターミネートであってもよい。例えば、ピクチャ部分01の代表的部分30は、ベースパターン11の代表的部分30がピクチャ部分01の対応する部分を完全には表現せず、更なるレベルのパターンがピクチャ部分01の対応する部分を完全に表現するのに必要とされるように、7つのパーティションを有するピクチャ部分01の対応する部分を有する。
いくつかの具体例では、ベースパターンは、対応するピクチャ部分を完全に表現するように完全にターミネートする。このような具体例では、更なるパターンレベルは必要とされず、ベースパターンは、ここに更に説明されるように、ベースパターンが完全にターミネートしていることを示すエントロピーコーディングされたコードワードを利用してエントロピー符号化されてもよい。
図示されるように、ベースパターン11の各非ターミネーティング部分は更に、レベル1パターン12〜15により表現されてもよい。ベースパターン11に関して説明されるように、各レベル1パターン12〜15は、パーティション02の可能な限り多くのパーティションをカバー又は表現する最も適したパターン(利用可能なパターンの)として複数の利用可能なパターンから決定されてもよい。この処理は、何れかの個数の追加的なレベルについて繰り返されてもよく(例えば、図示された具体例ではレベル2パターン)、全てのパーティションがターミネートするまで、だんだん小さなレベルになる。
例えば、レベル1パターン12は、ベースパターン11の部分30について決定されてもよい。図示されるように、レベル1パターンは、3つのターミネーティング部分と1つの非ターミネーティング部分とを有してもよい。レベル2パターン21は、レベル1パターン12の非ターミネーティング部分について決定されてもよい。図示されるように、レベル2パターン21は、完全にターミネートしてもよい。パターンがターミネーティングであるか判断するため、説明されるように、パターンはピクチャ部分01の関連する部分と比較されてもよい。パターンのパーティションがピクチャ部分01の関連するパーティションに完全に一致する場合、パターンのパーティションはターミネートしている。それが完全には一致しない場合、パターンのパーティションは非ターミネートである。
同様に、レベル1パターン13は、ベースパターン1911の関連する部分について決定されてもよい。レベル1パターン13は、4つの非ターミネーティング部分を有してもよい(また、ターミネーティング部分はない)。レベル2パターン22〜25は、非ターミネーティング部分について決定されてもよい。図示されるように、図示された具体例におけるレベル2パターンは全てターミネートしていてもよい(また、更なるレベルパターンは必要とされない)。さらに、レベル1パターン14は、ベースパターン1911の関連する部分について決定され、完全にターミネートしてもよい。さらに、レベル1パターン14は、ベースパターン1911の関連する部分について決定され、2つのターミネーティング部分と2つの非ターミネーティング部分とを有してもよい。レベル2パターン26,27は、図示されるように、レベル1パターン15の非ターミネーティング部分について決定されてもよい。
説明される技術を利用して、マルチレベルパターン10は、ピクチャ部分01について決定されてもよい。マルチレベルパターン10は、各レベルがターミネートしているとき、完全であってもよい(例えば、パターンツリーの全てのレベルがターミネートしている)。同様の技術を利用して、マルチレベルパターンが、ビデオフレームのピクチャ部分、ビデオフレームの一部又はスライスのピクチャ部分、ビデオフレームシーケンスのビデオフレームのピクチャ部分などについて決定されてもよい。
この処理では、各レベルにおいて、各非ターミネーティングパターンについて、ターミネーションビット(例えば、非完全ターミネーティングパターンのパーティション毎に1ビット)が決定されてもよい。例えば、ベースパターン11について、ターミネーションビットは、各ビットがベースパターン11の非ターミネーティング部分(又はパーティション)を示す4ビットを含むものであってもよい。同様に、レベル1パターン12は、1ビットが非ターミネーティング部分(又はパーティション)を示し、3ビットがターミネーティング部分(又はパーティション)を示す4つのターミネーションビットと関連付けされてもよい。例えば、1が非ターミネーションを示し、0がターミネーションを示す場合、レベル1パターン12のビットは0001であってもよい。いくつかの具体例では、パターンの一部はパターンの左上から右下に順序づけされ、ターミネーションがこのように順序づけされるように、スキャンは左から右及び下にパターンを走る。このようなターミネーションビットは、これにより、マルチレベルパターン10のパターンと関連付けされてもよい。
マルチレベルパターン10の各パターンについて(例えば、図示された具体例では、ベースパターン11、レベル1パターン12〜15及びレベル2パターン21〜27)、エントロピーコーディングされたコードワードは、プロキシVLCテーブルなどのテーブルに基づき決定されてもよい。ここで更に説明されるように、エントロピーコーディングのための適用可能な(又は選択された)プロキシVLCテーブルは、所定の、自動的な又は適応的な方法などの各種方法により選択されてもよい。さらに、プロキシVLCテーブルを選択するための方法は、フレーム、フレームの一部又はフレームシーケンスベースにより更に選択される可変長コードテーブル選択モードに依存する。
何れかのイベントにおいて、パターンについてエントロピーコーディングされたコードワードが決定され、ビットストリームに書き込まれる。さらに、ターミネーションビットがエントロピーコーディングされ、ビットストリームに書き込まれる。いくつかの具体例では、ターミネーションビットは、パターンレベル及び/又はパターン特性(例えば、パターンにおける部分又はパーティションの個数など)によりグループ化されてもよく、各グループは、プロキシVLC及び/又はシンボルランコーディングの組み合わせによりコーディングされてもよい。このようなグルーピングは、ここに説明される技術のコーディング効率を向上させる。
図20は、本開示の少なくともいくつかの実現形態により構成される一例となる処理2000を示すフロー図である。処理2000は、処理2002,2004,2006,2008,2010,2012,2014及び/又は2016bに1以上により示されるような1以上の処理、ファンクション又はアクションを含むものであってもよい。処理2000は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例により、処理2000は、図1のエンコーダシステム100により実行されるような次世代ビデオ符号化処理の少なくとも一部を構成する。
処理2000は、処理2002の“パーティションを規定する入力データをロード”から開始され、ここでは、パーティションを規定する入力データがロードされる。例えば、ビデオフレームのピクチャ部分01などのパーティション02などを規定する入力データが、ビデオエンコーダ100などのビデオエンコーダを介しロードされる。ここに説明されるように、各種具体例では、入力データは、ルマパーティションを規定するルマデータ及び/又はクロマパーティションを規定するクロマデータを含む(例えば、任意的には、U及びVプレーンにおいて)。
処理2000は、処理2004の“可変長コードテーブル選択モード及び/又はスイッチングモードを設定”に続き、ここでは、可変長コードテーブル選択モード及び/又はスイッチングモードが設定される。例えば、説明されるように、マルチレベルパターンのパターンを表現するエントロピーコーディングされたコードワードが、可変長コーディング(VLC)テーブルに基づき決定されてもよい。いくつかの具体例では、可変長コードテーブル選択モードは、エントロピーコーディングされたコードワードが単一のVLCテーブル(例えば、第1モード又はモード0)に基づき決定されるか、又は、エントロピーコーディングされたコードワードが複数の利用可能なVLCテーブルからVLCテーブルを選択したことに基づき決定される(例えば、第2モード又はモード1)か決定してもよい。各種具体例では、可変長コードテーブル選択モードは、ビデオフレームベース、ビデオフレームの一部又はスライスベース又はビデオフレームシーケンスベースにより決定又は設定されてもよい。
例えば、可変長コードテーブル選択モードは、単一の可変長コーディングテーブルがビデオフレームの全てのピクチャ部分についてエントロピーコーディングされたコードワードを決定するのに利用される第1可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが2以上の利用可能な可変長コーディングテーブルからのビデオフレームの各ピクチャ部分について選択され、選択されたピクチャ部分ベース可変長コーディングテーブルが関連するピクチャ部分についてエントロピーコーディングされたコードワードを決定するのに利用される第2可変長コードテーブル選択モードとから、ビデオフレーム、ビデオフレームのスライス又はビデオフレームシーケンスについて決定される。可変長コードテーブル選択モードは、ビットストリームに符号化される可変長コードテーブル選択モードインジケータ(例えば、ビットなど)を介し通知されてもよい。
単一のVLCテーブルが全てのコードワードについて利用されるように可変長コードテーブル選択モードが設定される具体例では、スイッチングモードは不要であるか、又は設定されない。このような具体例では、単一のVLCテーブルは平均VLCテーブルなどであってもよい。
VLCテーブルが利用可能なVLCテーブルから選択されるように可変長コードテーブル選択モードが設定される具体例では、スイッチングモードが設定される。このような具体例では、エンコーダ及びデコーダは、利用可能なVLCテーブルの何れがピクチャ部分ベースなどにより実現されるべきか決定することを必要とする。このような具体例では、スイッチングモードは自動的スイッチングモード又は適応的スイッチングモードなどであってもよい。
自動的スイッチングモードでは、選択されたVLCテーブルが、エンコーダとデコーダとの双方において実行される技術に基づき決定される(例えば、インジケータがビットストリームにおいて送信される必要がないように)。例えば、自動的スイッチングモードでは、VLCテーブルは、第1部分の複雑さの予測に基づきピクチャ部分について自動的に決定されてもよい。例えば、複雑さの予測は、第1ピクチャ部分の近傍のピクチャ部分について複数のスプリットを決定し、スプリットの個数に基づき選択されたVLCコーディングテーブルを利用することを含むものであってもよい。いくつかの具体例では、スプリットの個数が閾値を超えるとき、高複雑性VLCコーディングテーブルが選択され、スプリット数が閾値以下であるとき、低複雑性VLCコーディングテーブルが選択されてもよい。
適応的スイッチングモードでは、選択されたVLCテーブルは、エンコーダにおいて決定され、適応的スイッチングマスクを介し送信される。例えば、適応的スイッチングマスクは、第1VLCテーブルと第2VLCテーブルの何れが各ピクチャ部分について選択されるかを示すインジケータ(例えば、ビット)を含めることによって生成される。VLCテーブルは、説明されるような複雑性の予測、レート歪み最適化などに基づき決定されてもよい。ここに説明されるように、適応的スイッチングマスクは、エントロピー符号化され、ビットストリームに書き込まれる。
説明されるように、VLCテーブルが利用可能なVLCテーブルから選択されるように可変長コードテーブル選択モードが設定されるとき、スイッチングモードは、自動的スイッチングモード又は適応的スイッチングモードの1つから設定される。いくつかの具体例では、スイッチングモードは、ビデオシステムにより現在実現される量子化値に基づき決定されてもよい。例えば、適応的スイッチングモードは、量子化値が所定の閾値未満である場合、選択されたスイッチングモードであってもよい。例えば、所定の閾値は32などであってもよい。
処理2000は、処理2006の“任意的にターミネーティング32×32パーティションによりピクチャ部分のバイナリマスクを生成”に続き、ここでは、ターミネーティング32×32パーティションによりピクチャ部分のバイナリマスクが任意的に生成される。説明されるように、マルチレベルパターンが、ピクチャ部分について決定される。いくつかの具体例では、ピクチャ部分は64×64ピクセルであってもよい。このようなピクチャ部分は、ターミネーティング32×32パーティションによりピクチャ部分のバイナリマスクを特定及び提供することがコーディング効率に効果的となるように、32×32ターミネーティング部分を含む。例えば、各インジケータが関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に、4つの32×32非ターミネーティングパーティション又は4つの32×32パーティションを有するか示す複数のバイナリインジケータ(例えば、ビット)を含むピクチャ部分のバイナリマスクが生成される。ピクチャ部分のバイナリマスクは、エントロピーコーディングされ、ビットストリームに書き込まれる。
処理2000は、処理2008の“任意的にターミネーティング32×32ピクチャによりピクチャパーティションのバイナリマスクを符号化”に続き、ここでは、ピクチャ部分のバイナリマスクが、任意的にエントロピーコーディングされる。バイナリマスクは、例えば、ビットマップコーディング又はシンボルランコーディングを利用して符号化され、選択されたコーディング技術は、ピクチャ部分コーディング技術インジケータのバイナリマスクとしてビットストリームを介し送信される。
処理2000は、処理2010の“任意的に適応的スイッチングマスクを生成及び符号化”に続き、ここでは、適応的スイッチングマスクが任意的に生成及び符号化される。上述されるように、VLCテーブルが利用可能なVLCテーブルから選択され、スイッチングモードが適応的スイッチングモードに設定されるように、可変長コードテーブル選択モードが設定されるとき、適応的スイッチングマスクが実現される。このような具体例では、説明された適応的スイッチングマスクが生成され、エントロピー符号化される。例えば、7つのコーディング技術が最小ビットコストについて評価され、適応的スイッチングマスクが選択された技術を利用してコーディングされる。さらに、選択された技術は、適応的スイッチングマスクコーディング技術インジケータとしてビットストリームを介し提供される。
処理2000は、処理2012の“ピクチャ部分の最適なマルチレベルパターンを決定し、バッファに符号化”に続き、ここで、ピクチャ部分の最適なマルチレベルパターンが決定され、バッファに符号化される。例えば、マルチレベルパターンが図に関して又は他の何れかにおいて説明されるように決定される。マルチレベルパターンは、マルチレベルパターンの各パターンについて、エントロピーコーディングされたコードワードを決定するのに利用されてもよい。説明されるように、可変長コードテーブル選択モード及びスイッチングモードに依存して、エントロピーコーディングされたコードワードを決定するのに利用されるテーブルは可変となる(一例となるテーブルを介し後述されるように)。また、説明されるように、いくつかの具体例では、パターンについて選択されたコードワードは、更なるターミネーションビットがターミネーティングパターンについて必要とされないように、パターンがターミネートすることを示してもよい(また、コーディング効率がエンハンスされてもよい)。
処理2000は、処理2014の“ターミネーションビットをコーディングする最適な方法を生成及び決定し、バッファに符号化”に続き、ここで、ターミネーションビットが生成され、ターミネーションビットをコーディングするための最適方法が決定され、ターミネーションビットがバッファに符号化される。例えば、ターミネーションビットは、図に関して又は他の何れかにおいて説明されるように生成される。ターミネーションビットは、更に後述されるようにグループ化され、各ターミネーションビットグループは、エントロピー符号化されてもよい。エントロピー符号化されたビットはバッファに格納されてもよい。
処理2000は、処理2016の“ターミネーションビットをバッファからビットストリームの書き込む”に続き、ここでは、エントロピー符号化されたターミネーションビットが、バッファからビットストリームに書き込まれる。
処理2000は、処理2018の“パターンバッファをビットストリームに書き込む”に続き、ここでは、エントロピーコーディングされたコードワード(マルチレベルパターンのパターンについて)がバッファからビットストリームに書き込まれる。
説明されるように、各種モード及びオプションが、ここに説明されるような技術において利用可能であってもよい。以下のテーブルAは、ここに用いられる用語の一部の一例となる説明を提供する。
Figure 2016506187
図21は、本開示の少なくともいくつかの実現形態により構成される一例となる処理2100を示すフロー図である。処理2100は、処理2102,2104,2106,2108,2110及び/又は2112の1以上により示されるような1以上の処理、ファンクション又はアクションを含む。処理2100は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例により、処理2100は、図2のデコーダシステム200により実行されるような次世代ビデオ復号化処理の少なくとも一部を構成する。
処理2100は、処理2102の“符号化されたビットストリームを受信し、及び処理のためのデータを入力”から開始され、ここでは、符号化されたビットストリームが受信され、及び/又はデータが処理のため入力される。例えば、ここに説明されるような符号化されたビットストリームは、ビデオデコーダなどにおいて受信される。ビットストリームは、マルチレベルパターンのパターン、エントロピーコーディングされたターミネーションビット、ヘッダデータ、インジケータなどを表すエントロピーコーディングされるコードワードなど、ここに説明される何れかの符号化されたデータを含む。ビットストリームは、処理のため入力されるデータ又は入力データとみなされてもよい。例えば、ビットストリームは、処理のため適応的エントロピーデコーダ202などに入力されてもよい。
処理2100は、処理2104の“可変長コードテーブル選択モード及び/又はスイッチングモードを復号化及び設定”に続き、ここでは、ビットストリームが、可変長コードテーブル選択モード及び/又はスイッチングモードを決定するため復号化される。例えば、ビットストリームは、ビデオフレーム、ビデオフレームの一部又はスライス又はビデオフレームシーケンスのための可変長コードテーブル選択モードインジケータを有してもよい。可変長コードテーブル選択モードインジケータは、単一の可変長コーディングテーブルがビデオフレームの全てのピクチャ部分についてエントロピーコーディングされたコードワードを決定するのに利用される第1可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが2以上の利用可能な可変長コーディングテーブルからビデオフレームの各ピクチャ部分について選択され、選択されたピクチャ部分ベース可変長コーディングテーブルが、関連するピクチャ部分についてエントロピーコーディングされたコードワードを決定するのに利用される第2可変長コードテーブル選択モード、又はここに説明されるように何れかの可変長コードテーブル選択モードを示すものであってもよい(例えば、ビデオフレーム、ビデオフレームの一部又はスライス、又はビデオフレームシーケンスなどについて)。
上述されるように、単一のVLCテーブルが全てのコードワードについて利用されるように可変長コードテーブル選択モードが設定される具体例では、スイッチングモードは不要であるか、又は設定されない。このような具体例では、単一のVLCテーブルが平均的なVLCテーブルなどであってもよい。
VLCテーブルが利用可能なVLCテーブルから選択されるように可変長コードテーブル選択モードが設定される具体例では、スイッチングモードが決定されてもよい。例えば、ビットストリームは、利用可能な可変長コーディングテーブル間のスイッチングモードを示す選択されたスイッチングモードインジケータを含むものであってもよい。例えば、スイッチングモードは、自動的スイッチングモード又は適応的スイッチングモードであってもよい。
ここに説明されるように、自動的スイッチングモードでは、選択されたVLCテーブルが、エンコーダとデコーダとの双方において実行されてもよい技術に基づき決定されてもよい(例えば、インジケータがビットストリームにおいて送信される必要がないように)。例えば、自動的スイッチングモードでは、VLCテーブルが第1部分の複雑性の予測に基づきピクチャ部分について自動的に決定されてもよい。例えば、複雑性の予測は、第1ピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、スプリット数に基づき選択されたVLCテーブルを利用することを含む。例えば、スプリット数が閾値を超えるとき、高複雑性VLCコーディングテーブルが選択され、スプリット数が閾値以下であるとき、低複雑性可変長コーディングテーブルが選択される。
適応的スイッチングモードでは、選択されるVLCテーブルがエンコーダにおいて決定され、ここで更に説明されるように、特に以下の処理2108に関して説明されるように、適応的スイッチングマスクを介し送信される。
処理2100は、処理2106の“適用可能である場合、ターミネーティング32×32パーティションによりピクチャ部分のバイナリマスクを復号化”に続き、ここでは、適用可能である場合、ターミネーティング32×32ピクチャによりピクチャ部分のバイナリマスクが復号化される。説明されるように、いくつかの具体例では、ピクチャ部分のバイナリマスクは、各インジケータが関連するピクチャ部分が少なくとも1つのターミネート32×32パーティションを有する4つの非ターミネーティング32×32パーティション又は4つの32×32パーティションを有するか示す複数のバイナリインジケータ(例えば、ビット)を含むビットストリームに含まれる。このようなマスクは、処理2106において復号化され、このようなターミネーティング32×32パーティションをスキップするため、復号化において実現される。
処理2100は、処理2108の“適用可能である場合、適応的スイッチングマスクを復号化”に続き、ここでは、適用可能である場合、適応的スイッチングマスクが復号化される。例えば、任意的な適応的スイッチングマスクが、上述されるように受信される。適応的スイッチングマスクは、各ピクチャ部分について第1VLCテーブルと第2VLCテーブルとの何れが選択されるか示すインジケータ(例えば、ビット)を有してもよい。適応的スイッチングマスクは、ピクチャ部分のエントロピーコーディングされたコードワードについて、利用可能なVLCテーブルの何れのVLCテーブルがコードワードをエントロピー復号化するのに利用されることを示す。
処理2100は、処理2110の“ターミネーションビットを復号化”に続き、ここでは、ターミネーションビットが復号化される。説明されるように、ターミネーションビットは、パターンレベル及び/又はパターン特性(例えば、パターンにおける部分又はパーティションの個数など)によりグループ化され、各グループは、プロキシVLC及び/又はシンボルランコーディングの組み合わせによりコーディングされる。このような具体例では、受信したエントロピーコーディングされたターミネーションビットは、プロキシVLC及び/又はシンボルランコーディングを利用して復号化され、グループ解除される。一例となるグルーピングの詳細が更に後述される。
処理2100は、処理2112の“エントロピーコーディングされたコードワードからパターンを復号化し、パーティションを再構成”に続き、ここでは、パターンはエントロピーコーディングされたコードワードから復号化され、パーティションが再構成される。例えば、エントロピーコーディングされたコードワードは、利用可能なパターンからのパターンを示す。例えば、パターンはコードブックなどに含まれてもよい。復号化されたパターン及びターミネーションビットは、ピクチャ部分01などのパーティション02などのピクチャ部分のパーティションを再構成するのに利用される。
説明されるように、マルチレベルパターンが、ピクチャ部分(タイルなど)のパーティションについて決定される。マルチレベルパターンは、ベースパターン及び/又は1以上のより高いレベルのパターンを含む。パターンは、可変長コードテーブル選択モードに依存して、各種利用可能なテーブルから選択されたテーブル又は単一のテーブルから決定されたコードワードによって、エントロピーコーディングされたコードワードを介しコーディングされる。テーブルが選択可能であるとき、VLCテーブルを選択する方法は、スイッチングモードに基づく(例えば、自動的スイッチングモード又は適応的スイッチングモードなど)。可変長コードテーブル選択モード及びスイッチングモードは(必要とされる場合)、エントロピーコーディングされ、インジケータを介しビットストリームに書き込まれる。スイッチングモードが適応的スイッチングモードである場合、適応的スイッチングマスクがまたエントロピーコーディングされ、ビットストリームに書き込まれる。さらに、非ターミネーティングサブパーティション(例えば、32×32パーティション)によりピクチャ部分を示すピクチャ部分のバイナリマスクが任意的に符号化され、説明されるように、ビットストリームに書き込まれる。エントロピーコーディングされたコードワードは、ビットストリームに書き込まれる。ターミネーションビットが収集され、任意的にグループ化され(ここで更に説明される)、エントロピー符号化され、ビットストリームに書き込まれる。
また、説明されるように、符号化されたビットストリームが受信され、説明された処理及び技術が、ピクチャ部分のパーティションを再構成するため実質的にリバースされる。図22及び23は、説明された技術の特定の態様を実現するためそれぞれ一例となる符号化処理2200及び一例となる復号化処理2300を示す。
図22(A)〜22(F)は、本開示の少なくともいくつかの実現形態により構成される一例となる処理2200のフロー図を示す。処理2200は、図20に関してここで説明される処理と同じ又は同様の技術を提供する処理又は処理グループ2002,2004,2006,2008,2010,2012,2014,2016及び/又は2018を含む。いくつかの具体例では、図22(A)〜22(F)に示される処理は、ルマデータの64×64ピクチャ部分のパーティションを符号化するための処理を提供する。
処理2200は、処理“入力データ:イントラパーティション(ルマ64×64タイル)、モード、Qp”を含む処理又は処理グループ2002から開始され、ここでは、入力データがロードされる。例えば、入力データは、64×64ピクセルのピクチャ部分(タイルなど)サイズによるルマのためのイントラパーティションを含む。いくつかの具体例では、図示されるように、入力データはまた、可変長コードテーブル選択モード及び量子化値Qpを含む。
処理2200は、判定処理“Mode=1&Qp<32?”、処理“asw_mode=0”及び処理“asw_mode=1”を含む処理又は処理グループ2004に続き、ここでは、可変長コードテーブル選択モードが決定される。可変長コードテーブル選択モードが1である場合(例えば、VLCテーブルが2以上の利用可能なテーブルから選択されるように)、スイッチングモードが決定される。説明されるように、このようなモードは量子化値に基づくものであってもよい。図示される具体例では、量子化値が32の閾値を超える場合、スイッチングモードは適応的に設定され、32の閾値以下である場合、スイッチングモードは自動的に設定される。例えば、処理が適応的スイッチングモードを設定し、VLCテーブル選択モード0が利用され、Qp<32である場合、適応的スイッチングモードを有効にし、そうでない場合、それを無効にする(例えば、自動的スイッチングを利用)。
処理2200は、処理“i=0”、処理“ピクチャの第1タイルにtを設定”、判定処理“tはターミネーティング32×32パーティションを有するか?”、処理“mask[i]=0”、処理“mask[i]=1”、処理“i=i+1”及び判定処理“全てのタイルは実行?”を含む処理又は処理グループ2006に続く。処理2006はターミネーティング32×32パーティションによるピクチャ部分のバイナリマスクを生成する。例えば、処理はターミネーティング32×32パーティションによるピクチャ部分(例えば、タイル)のマスクを取得し、全てのタイルについて、マスクビットを収集し、ピクチャ部分にターミネーティング32×32パーティションがある場合、マスクビットは1に設定され、そうでない場合、0に設定される。マスクの長さはビデオフレームにおけるピクチャ部分の個数である(例えば、ピクチャ)。
処理2200は、判定処理“mask=all 0s?”、処理“1を符号化”、処理“0を符号化”、処理“cost[0]=ビットマップによるコーディングのコスト、cost[1]=シンボルラン(Tbl0)によるコーディングのコスト”、処理“cost[j]=min(cost[0],cost[1])”、処理“メソッドjのヘッダを符号化(1ビット)”、及び処理“メソッドjによりマスクを符号化”を含む処理又は処理グループ2008に続く。処理2008は、任意的にはターミネーティング32×32パーティションによりピクチャ部分のバイナリマスクを符号化する。例えば、当該処理は、ターミネーティング32×32パーティションによりピクチャ部分(タイルなど)のマスクを符号化し、全てのビットが0である場合、それを示すため1ビット(0)を利用し、そうでない場合、1ビットヘッダ(1)を利用し、以下のようにマスクをコーディングする。すなわち、シンボルランメソッドによりマスクをコーディングするコストを計算し、ビットマップコーディングのコストをマスク長に設定し、コーディングメソッドとして2つのコストの最小値を選択し、選択されたメソッドを示す1ビットのヘッダを符号化し、選択されたメソッドによりマスクを符号化する。
処理2200は、判定処理“asw_mode=1?”、処理“i=0”、処理“ピクチャの第1タイルにtを設定”、判定処理“tのパーティション数<tの4×4ブロックの個数の1/16?”、処理“asw_mask[i]=0”、処理“asw_mask[i]=1”、処理“i=i+1”、判定処理“全てのタイルが実行?”、判定処理“asw_mask=all 0s?”、処理“1を符号化”、処理“0を符号化”、処理“cost[0]=ビットマップによるasw_maskのコーディングのコスト、cost[1]=シンボルラン(Tbl0)によるasw_maskのコーディングのコスト、cost[2]=シンボルラン(Tbl0)によるinv.asw_maskのコーディングのコスト、cost[3]=シンボルラン(Tbl0)によるdiff.asw_maskのコーディングのコスト、cost[4]=シンボルラン(Tbl5)によるasw_maskのコーディングのコスト、cost[5]=シンボルラン(Tbl0)によるinv.asw_maskのコーディングのコスト、cost[6]=シンボルラン(Tbl0)によるdiff.asw_maskのコーディングのコスト”、処理“cost[j]=min(cost[k]),k=0,1,...,6”、処理“メソッドjのヘッダを符号化(2〜3ビット)”及び処理“メソッドjによりasw_maskを符号化”を含む処理又は処理グループ2010に続く。処理2010は、任意的には適応的スイッチングマスクを生成及び符号化する。例えば、当該処理は、適応的スイッチングマスクを計算及び符号化し、適応的スイッチングモードが有効である場合、適応的スイッチングマスクを以下のように導出及び符号化する。すなわち、各タイルについて適応的スイッチングマスクビットを計算し、タイルのパーティションの個数が小さい場合、ビットを0に設定し、そうでない場合、1に設定し、適応的スイッチングマスクを符号化し、全てのビットが0である場合、それを示すため1ビット(0)を利用し、そうでない場合、1ビットヘッダ(1)を使用し、以下のようにマスクをコード化する。すなわち、2つのシンボルランメソッドによりマスクをコーディングするコストを計算し、マスクビット、反転されたマスクビット及び差分化されたマスクビットに適用され、マスク長にビットマップコーディングのコストを設定し(計算された7つのコストのトータル)、コーディングメソッドとして7つのコストの最小値を選択し、選択されたメソッドを示す2〜3ビットのヘッダを符号化し、選択されたメソッドによりマスクを符号化する。
処理2200は、処理“i=0”、処理“ピクチャの第1タイルにtを設定”、判定処理“Mode=1&asw_mode=1?”、判定処理“asw_mask[i]=0?”、判定処理“Mode=1&asw_mode=0?”、処理“N=tの近傍(上、左、左上)からtのパーティションの予測数”、判定処理“N<T_low?”、処理“パターンVLCテーブルを高複雑性テーブルに設定”、処理“パターンVLCテーブルを平均テーブルに設定”、処理“P=タイルtのパーティションに対応するパターン”、処理“Patt_ind=正確な一致を検出するためのサーチパターンコードブック(Pの次元)”、判定処理“Patt_ind>−1?”、処理“ピクチャバッファにパターンコードワード(Patt_indに対応する)を追加”、処理“ind=0”、処理“minCT=∞”、処理“(t次元の)コードブックのindパターンにTを設定”、判定処理“TはPの有効なコンテナか?”、処理“T及びそれのサブパターン(レベル1,2,...)のコーディングコストCTを近似”を含む処理又は処理グループ2012に続く。当該処理では、tmp_pattern_bits_buffer及びtmp_termination_bits_buffersを累積”、判定処理“minCT>CT?”、処理“minCT=CT,tile_patt_bits_buffer=temp_pattern_bits_buffer,tile_term_bits_buff=tmp_termination_bits_buffers”、処理“ind=ind+1”、判定処理“全てのTパターンが処理?”、処理“tile_patt_bits_buffをpic_buffに追加し、tile_term_bits_buffをpic_tb_buffsに追加”、処理“i=i+1”及び判定処理“全てのタイルが実行?”。処理2012は、ピクチャ部分について最適なマルチレベルパターンを決定し、それらをバッファに符号化する。例えば、当該処理は、パターンVLCテーブルを選択し、VLCテーブル選択モード1が使用され、適応的スイッチングモードが有効である場合、適応的スイッチングマスクが0である場合、低複雑性パターンVLCテーブルを選択し、1である場合、高複雑性のものを選択し、VLCテーブル選択モード1が使用され、適応的スイッチングモードが無効である場合(例えば、自動的スイッチングに設定)、近傍タイルのスプリット数に基づき複雑性の予測を実行し、予測された複雑性ビットが0である場合、低複雑性パターンVLCテーブルを選択し、1である場合、高複雑性のものを選択し、VLCテーブル選択モード0が使用される場合、パターンVLCテーブルを平均のものに設定する。さらに、当該処理は、タイルの次元及びパーティションに対応するパターンを取得してもよい。例えば、処理が正確な一致のためのパターンコードブック(例えば、テーブル38(a−e))をサーチし、一致がある場合、マッチングインデックスをコードブックテーブルのマッチングパターンインデックスに設定し、そうでない場合、それを−1に設定し、インデックスが−1より大きい場合、パターンコードワードビットをバッファに書き込み、次のピクチャ部分(タイルなど)に移動し、そうでない場合、タイル次元パターンコードブック(テーブル38(a))を通過し続け、有効なレベル0パターン(例えば、無効なカットのないもの)を検出し、このような全てのパターンについて、以下を実行し、すなわち、iを0に設定し、現在の非ターミネーティングレベルiパターンのターミネーションビットを蓄積し、対応するパターンコードブックにおける正確な一致又は最良の有効な一致をサーチし、正確な一致が検出された場合、パターンのコードワードビットをテンポラリバッファに書き込み、レベルiにおける現在のパターンの次の非ターミネーティングパーティションに移動し、正確な一致が検出されない場合、最良の有効なコンテナパーティション(非ターミネーティング)のビットを書き込み、レベルiを1だけ増分し、全てのパーティションがターミネートするまで繰り返す。当該処理は、テンポラリバッファに蓄積されるビットのコストを評価し、それがこれまでの最小である場合、蓄積したターミネーションビット及びパターンビットをタイルバッファにコピーする。当該処理はまた、非ターミネーティングタイルの処理のエンドにおいて、タイルパターンバッファをピクチャバッファにコピーし、タイルターミネーションビットバッファをピクチャターミネーションバッファにコピーする。
処理2200は、処理“pic_tb_buffsを(ビット単位)反転”、判定処理“pic_tb_buff[0]=全てall 0s?”、処理“1を符号化”、処理“0を符号化”、処理“プロキシVLCコーディング(テーブル2)を利用してpic_tb_buff[1]を符号化”、処理“cost[0]=プロキシVLC(テーブル4)によるpic_tb_buff[1]のコーディングのコスト、cost[1]=プロキシVLC(テーブル5)によるpic_tb_buff[1]のコーディングのコスト、cost[2]=プロキシVLC(テーブル6)によるpic_tb_buff[1]のコーディングのコスト”、処理“cost[j]=min(cost[0],cost[1],cost[2])”、処理“メソッドj(1〜2ビット)のヘッダを符号化”、処理“メソッドjによるpic_tb_buff[1]を符号化”、処理“プロキシVLCコーディング(テーブル7)を利用してpic_tb_buff[2]を符号化”、処理“cost[0]=プロキシVLC(テーブル9)によるpic_tb_buff[3]のコーディングのコスト、cost[2]=プロキシVLC(テーブル11)によるpic_tb_buff[3]のコーディングのコスト、cost[3]=プロキシVLC(テーブル12)によるpic_tb_buff[3]のコーディングのコスト、cost[4]=プロキシVLC(テーブル13)によるpic_tb_buff[3]のコーディングのコスト、cost[5]=プロキシVLC(テーブル14)によるpic_tb_buff[3]のコーディングのコスト、cost[6]=プロキシVLC(テーブル15)によるpic_tb_buff[3]のコーディングのコスト”、処理“cost[j]=min(cost[k]),k=0,1,...,6”、処理“メソッドj(2〜3ビット)のヘッダを符号化”、処理“メソッドjによりpic_tb_buff[3]を符号化”、判定処理“pic_tb_buff[4]=全て0か?”、処理“1を符号化”、処理“0を符号化”、処理“cost[0]=シンボルラン(テーブル17)によるpic_tb_buff[4]のコーディングのコスト、cost[1]=シンボルラン(テーブル18)によるpic_tb_buff[4]のコーディングのコスト、cost[2]=シンボルラン(テーブル19)によるpic_tb_buff[4]のコーディングのコスト、cost[3]=プロキシVLC(テーブル20)によるpic_tb_buff[4]のコーディングのコスト”、処理“cost[j]=min(cost[k]),k=0,1,2,3”、処理“メソッドj(2ビット)のヘッダを符号化”、処理“メソッドjによりpic_tb_buff[4]を符号化”、処理“cost[0]=プロキシVLC(テーブル22)によるpic_tb_buff[5]のコーディングのコスト、cost[1]=プロキシVLC(テーブル23)によるpic_tb_buff[5]のコーディングのコスト、cost[2]=プロキシVLC(テーブル24)によるpic_tb_buff[5]のコーディングのコスト、cost[3]=プロキシVLC(テーブル25)によるpic_tb_buff[5]のコーディングのコスト”、処理“cost[j]=min(cost[k]),k=0,1,2,3”、処理“メソッドj(2ビット)のヘッダを符号化”、及び処理“メソッドjによりpic_tb_buff[5]を符号化”を含む処理又は処理グループ2014に続く。処理2014は、ターミネーションビットをコーディングするための最適なメソッドを生成及び決定し、それらをバッファに符号化する。例えば、当該処理は、2つのパーティションによるレベル0における非ターミネーティングパターンのターミネーションビットが以下のように反転及びコーディングされることによってターミネーションビットを符号化する。すなわち、全てのビットが0である場合、それを示すため1ビット(0)を使用する。そうでない場合、1ビットのヘッダ(1)を使用し、テーブル2に示されるイベントマップを利用してプロキシVLCコーディングによりマスクをコーディングし、2つのパーティションによるレベル1(又はより上位)における非ターミネーティングパターンのターミネーションビットが以下のように反転及びコーディングされる。すなわち、テーブル4、テーブル5及びテーブル6(3つのコスト)に示されるイベントマップを利用して、プロキシVLCコーディングによりビットのコーディングのコストを評価し、最小コストを検出し、対応するメソッドを選択し、選択されたメソッドを示すための1〜2ビットのヘッダをバッファに符号化し、選択されたメソッドによりターミネーションビットをバッファに符号化し、3つのパーティションによるレベル0における非ターミネーティングパターンのターミネーションビットがテーブル7に示されるイベントマップを利用してプロキシVLCコーディングにより反転及びコーディングされ、3つのパーティションによるレベル1(又はより上位)における非ターミネーティングパターンのターミネーションビットが以下のように反転及びコーディングされ、テーブル9〜15(7つのコスト)に示されるイベントマップを利用してプロキシVLCコーディングによりビットをコーディングするコストを評価し、最小コストを検出し、対応するメソッドを選択し、選択されたメソッドを示すための2〜3ビットヘッダを符号化し、選択されたメソッドによりターミネーションビットをバッファに符号化し、4つのパーティションによるレベル0における非ターミネーティングパターンのターミネーションビットが反転され、全てのビットが0である場合、それを示すための1ビット(0)を使用し、そうでない場合、1ビットヘッダ(1)を使用し、当該ビットを以下のようにコーディングし、すなわち、テーブル17〜19に示されるVLCによりシンボルラン及びテーブル20に示されるイベントマップを利用したプロキシVLCコーディング(4つのコスト)によるビットのコーディングのコストを評価し、最小コストを検出し、対応するメソッドを選択し、選択されたメソッドを示すための2ビットのヘッダを符号化し、選択されたメソッドによりターミネーションビットをバッファに符号化し、4つのパーティションによるレベル1(又はより上位)における非ターミネーティングパターンのターミネーションビットが以下のように反転及びコーディングされ、テーブル22〜25(4つのコスト)に示されるイベントマップを利用してプロキシVLCコーディングによりビットをコーディングするコストを評価し、最小コストを検出し、対応するメソッドを選択し、選択されたメソッドを示すための2ビットのヘッダを符号化し、選択されたメソッドによりターミネーションビットをバッファに符号化する。
処理2200は、処理pic_buffをビットストリームに書き込む“、及び処理”現在ピクチャの処理を終了“を含む処理又は処理グループ2016及び2018に続く。処理2016及び2018は、ターミネーションビットバッファをビットストリームに書き込み、パターンバッファをビットストリームに書き込み、現在のビデオフレーム(ピクチャなど)の処理を終了する。例えば、処理は、ターミネーションビットバッファをビットストリームに書き込み、パターンビットバッファをビットストリームに書き込む。
図23(A)〜23(C)は、本開示の少なくともいくつかの実現形態により構成される一例となる処理2300のフロー図を示す。処理2300は、ここでの図21に関して説明される処理と同じ又は同様の技術を提供する処理又は処理グループ2102,2104,2106,2108,2110及び/又は2112を含む。いくつかの具体例では、図23(A)〜23(C)に示される処理は、ルマデータの64×64ピクチャ部分のパーティションを復号化する処理を提供する。
処理2300は、処理“入力データ:ビットストリーム、モード、Qp”を含む処理又は処理グループ2102から開始され、ここでは、ビットストリームが受信され、及び/又は入力データがロードされる。例えば、ビットストリームは、ここで説明されるようにエントロピー符号化されたデータを含む。いくつかの具体例では、図示されるように、ビットストリーム及び/又は入力データは、可変長コードテーブル選択モード及び量子化値Qpを含む。
処理2300は、判定処理“Mode=1&Qp<32?”、処理“asw_mode=0”及び処理“asw_mode=1”を含む処理又は処理グループ2104に続く。処理2104は、ここで説明されるように、VLCコードテーブル選択モード及び/又はスイッチングモードを復号化及び設定する。例えば、図22(A)〜22(F)及び他の何れかに関して説明されるオプション及びモードは、受信したビットストリームの復号化を介し利用可能である。
処理2300は、処理“非ターミネーティング32×32パーティションによりタイルのマスクのためのヘッダを復号化”、及び処理“非ターミネーティング32×32パーティションによりタイルのマスクを復号化”を含む処理又は処理グループ2106に続く。処理2106は、適応可能である場合、ターミネーティング32×32パーティションによりピクチャ部分(タイルなど)のバイナリマスクを復号化する。例えば、処理は、コーディング技術(例えば、ビットマップ又はシンボルラン)を示すヘッダを復号化し、適用可能である場合、非ターミネーティング32×3パーティションによりタイルのマスクを復号化することを提供する。このような技術は、図22(A)〜22(F)及び他の何れかに関して説明される符号化処理のための復号化処理を提供する。
処理2300は、判定処理“asw_mode=1?”、処理“asw_maskのためのヘッダを復号化”、及び処理“asw_maskを復号化”を含む処理又は処理グループ2108に続く、処理2108は、適用可能である場合、適応的スイッチングマスクを復号化する。例えば、当該処理は、コーディング技術(例えば、シンボルラン、反転されたビットに対するシンボルラン、差動ビットに対するシンボルランなど)を示すヘッダを復号化し、適用可能である場合、適応的スイッチングマスクのためのものであってもよい。このような技術は、図22(A)〜22(F)及び他の何れかに関して説明される符号化処理のための復号化処理を提供する。
処理2300は、処理“i=0”、処理“pic_tb_buff[i]のためのヘッダを復号化”、処理“pic_tb_buff[i]及びターミネーションビットグループiを復号化”、処理“i=i+1”及び判定処理“i>6?”を含む処理又は処理グループ2110に続く。処理2110は、ターミネーションビットを復号化する。例えば、当該処理は、ターミネーションビットを復号化及びグループ解除することを提供する。このような技術は、図22(A)〜22(F)及び他の何れかに関して説明されるような符号化処理のための復号化処理を提供する。例えば、ターミネーションビットをグループ化する更なる詳細な説明が以下に提供される。
処理2300は、処理“i=0”、処理“ピクチャの第1タイルにtを設定”、判定処理“Mode=1&asw_mode=1?”、判定処理“asw_mask[i]0?”、判定処理“Mode=1&asw_mode=0?”、処理“N=tの近傍(上、左、左上)からのtにおけるパーティションの予測数”、判定処理“N<T_low?”、処理“パターンVLCテーブルを低複雑性テーブルに設定”、処理“パターンVLCテーブルを高複雑性テーブルに設定”、処理“パターンVLCテーブルを平均テーブルに設定”、処理“レベル0(テーブル38a〜e)におけるパターンPを復号化”、判定処理“Pはターミネーティング?”、処理“Pのターミネーティングビットを復号化(ポインタを移動)(Pのパーティション数に応じたtbグループから)”、処理“N=Pの非ターミネーティングパーティションの個数”、処理“n=0”、処理“パーティションnに対応するPのサブパターンを復号化”、処理“n=n+1”、判定処理“n>N?”、処理“i=I+1”、判定処理“全てのタイルは復号化?”及び処理“現在ピクチャのイントラパーティションの復号化を終了”を含む処理又は処理グループ2112に続く。処理2112は、エントロピーコーディングされたコードワードからパターンを復号化し、ピクチャ部分のパーティションを再構成する。処理2112はまた、現在のビデオフレーム(例えば、ピクチャ)のパーティション(例えば、イントラパーティション)の復号化を終了する。
図24は、本開示の少なくともいくつかの実現形態により構成されるパーティションデータをエントロピー符号化する一例となるシステム2400を示す。図示されるように、システム2400は、ベースパターンマッチングモジュール2401、ベースパターンコードブックモジュール2402、パーティションターミネーション解析モジュール2403、レベル0ターミネーションインジケータストリーム収集モジュール2404、パーティションパターンマッチングモジュール2405、パーティションパターンコードワードモジュール2406、サブパーティションターミネーション解析モジュール2407、レベルnターミネーションインジケータストリーム収集モジュール2408、VLCパターンインデックスエンコーダモジュール2409、再帰レベル解析モジュール2410及び/又はVLC(シンボルラン/プロキシ)ターミネーションストリームエンコーダモジュール2411を有する。
いくつかの具体例では、パーティションされたピクチャ部分(例えば、パーティションされたピクチャ部分)が、ベースパターンマッチングモジュール2401に入力される。例えば、パーティションは、予測又はコーディングのためのサイズ64×64又は32×32などのk−dツリーパーティション又はバイツリーパーティションであってもよい。ベースパターンマッチングモジュール2401は、ベースパターンコードブックモジュール2402をサーチし、それは、パーティションされた入力ピクチャ部分に最も近い可能性のあるベース(例えば、“粗い”)一致が選択される候補パターンを含む。例えば、選択されたパターンは、ここに説明されるようなベースパターンとして参照される。図示されるように、ベースパターンは、パーティションターミネーション解析モジュール2403に入力され、それは、次の非ターミネーティングパーティション(例えば、レベル0非ターミネーション)に対応するパーティショニングの詳細を出力し、ビットストリームセグメントレベル0ターミネーションインジケータストリームに1ビットのインジケータ(例えば、“0”又は“1”の値による)を送信する。ビットストリームセグメントレベル0ターミネーションインジケータストリームは、図示されるように、レベル0ターミネーションインジケータストリーム収集モジュール2404を介し収集される。図示されるように、非ターミネーティングパーティション(例えば、レベル0非ターミネーション)の詳細は、スイッチ2421への最初の入力として利用可能である。図示されるように、スイッチ2421への第2の入力は、現在レベル又は以前のレベルの非ターミネーティングサブパーティションとして提供される。
処理されるベースパターンの第1の非ターミネーティングパーティションについて、レベル0非ターミネーション(例えば、次の非ターミネーティングパーティション)が、パーティションパターンマッチングモジュール2405に入力される。パーティションパターンマッチングモジュール2405は、パーティション(例えば、次の非ターミネーティングパーティション)に最も近い次のレベル(例えば、“粗い”)一致が選択されるパターンを含むパーティションパターンコードブックモジュール2406をサーチする。パターンは、パーティションパターンとして参照され、サブパーティションターミネーション解析モジュール2407に入力される。サブパーティションターミネーション解析モジュール2407は、スイッチ2422への1つの入力において現在レベル(例えば、curr lvl non−term)の詳細な非ターミネーティングパーティションを出力する。スイッチ2422への第2入力は、以前のレベルの次の詳細な非ターミネーティングパーティションであってもよい。現在レベル非ターミネーティングサブパーティション(例えば、curr levl non−term)と共に、オリジナルピクチャ部分パーティショニング(例えば、パーティションされたピクチャ部分)が、再帰レベル解析モジュール2410に入力される。再帰レベル解析モジュール2410は、現在のピクチャパーティションの処理の完了を通知する次の詳細な以前のレベルの非ターミネーティングパーティション(必要である場合)を出力するか、又は何も出力しない。図示されるように、“curr lvl non term”パーティション及び“any prev lvl non term”パーティションとの間で選択するスイッチ2422の出力は、ループを終了するパーティションパターンマッチングモジュール2405の入力においてスイッチ2422にフィードバックされる。各非ターミネーティングパーティションを表すのに選択される各種パターン/サブパターンのインデックス及び/又はコードワードは、VLCパターンインデックスエンコーダモジュール2411により符号化される。さらに、レベル0のターミネーションインジケータストリーム(例えば、lvl n term ind stream)及びより高いレベル(例えば、lvl term ind stream)の他の各種ターミネーションインジケータストリームが、VLC(シンボルラン/プロキシ)ターミネーションストリームエンコーダモジュール2411により符号化される。VLCパターンインデックスエンコーダモジュール2411及び/又はVLC(シンボルラン/プロキシ)ターミネーションストリームエンコーダモジュール2411の出力は、ここで説明されるように、ビットストリーム及び出力へのアセンブリングのためビットストリームアセンブラ408に送信される。
各種具体例では、システム2400は、エンコーダ100の適応的エントロピーエンコーダ110などのエンコーダ100を介し実現される(図1を参照されたい)。いくつかの具体例では、システム2400は、ピクチャパーティション・予測パーティション・コーディングパーティションエンコーダモジュール402を介し実現されてもよい(図4を参照されたい)。例えば、システム2400は、ピクチャパーティション用適応的コードブックVLCエンコーダモジュール621、イントラ予測パーティション用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール622、及び/又はインター予測パーティション・コーディングパーティション用シンボルランVLC及び/又はプロキシVLCエンコーダモジュール623の1以上を介し実現されてもよい。例えば、システム2400の1以上が、ここで説明されるように、ピクチャパーティション、イントラ予測パーティション、インター予測パーティション及び/又はコーディングパーティションを符号化するため実現されてもよい。
コーディングの各種具体例の説明に移る。例えば、ルマパーティションコーディングは、(1)パターンのコーディング(例えば、マルチレベルのパターン)及び(2)ターミネーションビットのコーディングの2つのパーツを含む。いくつかの具体例では、クロマパーティションコーディングは、(1)パターンのコーディング、(2)フォロービットのコーディング及び(3)ターミネーションビットのコーディングの3つのパーツを含む。
説明されるように、各ピクチャ部分(タイルなど)におけるパーティションは、階層的に順序づけされたパターン(例えば、マルチレベルパターン)のセットにより表現されてもよい。0(ベース)レベルにおいて、最良の適したスタートパターンが、説明されるように選択される。パターン自体は、2つの表現モードを有する。例えば、パターンは、ピクチャ部分の所与のパーティションをターミネートする(例えば、忠実に又は完全に表現する)、又はターミネートしない(例えば、それの部分又はパーティションの1つ、一部又は全てが更に、より小さなパターンによってより上位のレベルにおいてコーディング及び表現される必要がある)。
図を再び参照して、図示された具体例は、入力ピクチャ部分のパーティションが階層的方法により表現されることを示す。図示された具体例では、ピクチャ部分を指定するのに12個のパターンが利用される(ベースレベルでは1、レベル1では4、レベル2では7)。
説明されるように、このような具体例では、ターミネーティングパターンは、実際のVLCコード以外の何れか更なるビットを搬送する必要はない(例えば、ターミネーションビットは必要とされない)。しかしながら、非ターミネーティングパターンの何れのパーティションが更にコーディングされるかに関する情報(例えば、ターミネーションビット)、何れの情報がデコーダに搬送される必要があるか、デコーダはピクチャ部分のパーティションを再構成する。例えば、非ターミネーティングパターンは、少なくとも1つの非ターミネーティングであるパーティションを有する必要があり、これにより、パターンのターミネーションビットは、1ビット単位のイベントを有する。すなわち、0がターミネーションを表し、1が非ターミネーションを表す場合、3つのパーティションによる非ターミネーティングパターンにおいて、イベント000は発生しない(そうでない場合、パターンはターミネートするであろう)。いくつかの具体例では、この事実は、ターミネーションビットの小さなVLCベースコーディングを導出するのに利用される。さらに、いくつかの具体例では、ターミネーションビットは、シンボルランメソッドによりコーディングされてもよい。
また、説明されるように、(1)可変長コードテーブル選択モード0(例えば、シングルパターンVLCテーブル)、及び(2)可変長コードテーブル選択モード1(例えば、コンプレクスパターンVLCテーブルとシンプルパターンVLCテーブルなどのVLCテーブル間でスイッチなど)のパターンのコーディングにおいて2つのモードの処理があってもよい。
説明されるように、ルマの具体例では、可変長コードテーブル選択モード0は、パターンのためにシングルVLCテーブルを利用することに基づくものであってもよい。クロマの具体例では、可変長コードテーブル選択モード0は、コーディングメソッドのフレームベーススイッチングを利用してもよい。このようなスイッチングは、量子化パラメータ(Qp)に基づくものであってもよい。スイッチングモードは、レベル0パターン(ソリッドなど)がVLCテーブルから無効とされ、シンボルランコーダによりコーディングされるメソッドAと、VプレーンのシンボルランがUプレーン及びVプレーンソリッド/非ソリッドマスクの差動に対して実行されるメソッドBとを含む。クロマの具体例では、可変長コードテーブル選択モード1は、モード0と同じメソッドを利用する。
ルマの具体例に戻って、説明されるように、スイッチングは、近傍のピクチャ部分を利用するピクチャ部分ベースによる予測に基づく。例えば、現在のピクチャ部分の結果の所定の統計量が、すぐ近傍のピクチャ部分(例えば、以前に復号化されたピクチャ部分など)のテーブルスイッチングビットのため提供される。例えば、統計量は、各フレームが4,8,12,16,24,3,48及び64の量子化を利用する3つのフレームを有する16個のシーケンスを利用して計算される。さらに、各ピクチャ部分は二重にコーディングされ、これら2つの最良のものがピクチャ部分レベル毎に選択される。所定の統計データを利用して、確率のテーブルが構成され、ここで、テーブルはフレームレベル及び量子化(Qp)に関する空間複雑性(SC)に従って分離されている。所与のピクチャ部分においてスイッチするテーブルの決定は、テーブルからの対応する確率を利用して決定されてもよい。例えば、ルックアップは、近傍のピクチャ部分のQp、SC及びスイッチビットに基づき実行されてもよい。スイッチングマスクは、ビットテーブルを利用して各ピクチャ部分についてパターンビットのカウンティングを利用して生成又は近似されてもよい。あるテーブルの確率が約65%より大きい場合、結果としてのスイッチングマスクが利用されてもよい。あるテーブルの確率が約65%より小さい場合、スイッチングマスクは、図25に関して説明される近傍のピクチャ部分におけるパーティションの個数を利用する以下の技術に基づくものであってもよい。
図25は、本開示の少なくともいくつかの実現形態により構成される一例となる現在ピクチャ部分2501及び一例となる近傍ピクチャ部分2511,2512及び2513を示す。図25に示されるように、現在のピクチャ部分2501(X,Yのポジションにおける)は、以前に復号化された近傍ピクチャ部分2511(現在のピクチャ部分2501に関して左上のポジションX−1,Y−1にある)、以前に復号化された近傍ピクチャ部分2512(現在のピクチャ部分2501に関して上にあるポジションX,Y−1にある)、及び以前に復号化された近傍ピクチャ部分2513(現在のピクチャ部分2501に関して左のポジションX−1,Yにある)を有する。例えば、近傍ピクチャ部分における複数のパーティションを利用する技術は、現在のピクチャ部分のスイッチビットを予測するための複数のパーティションを決定する。例えば、現在のピクチャ部分2501の複数のパーティションは、すぐ近傍のピクチャ部分2511,2512及び2513の既知の個数のパーティションを利用して推定される。現在のピクチャ部分2501などの内部のピクチャ部分について、推定されるパーティションの個数は、ピクチャ部分2513のパーティションの個数の60%、ピクチャ部分2512のパーティションの個数の30%、及びピクチャ部分2511のパーティションの個数の10%であってもよい。ピクチャ部分の推定される個数は、当該推定される個数が所定の閾値より大きい場合、VLCテーブルが高いパーティション又は高複雑性VLCテーブル(スイッチビット1に対応する)に設定され、推定される個数が所定の閾値より小さい場合、VLCテーブルが低いパーティション又は低複雑性VLCテーブル(スイッチビット0に対応する)に設定されるように、所定の閾値と比較される。いくつかの具体例では、所定の閾値は16であってもよい。
説明されるように、全ての非ターミネーティングパターンについて、ターミネーションビットは、デコーダが非ターミネーティングパターンの何れのパーティションがターミネートせず、更にコーディングされるか決定するように指定されてもよい。また、説明されるように、ターミネーションビットはグループ化され、グループ化されるようにエントロピーコーディングされ、ビットストリームに書き込まれる。例えば、64×64のピクセルピクチャ部分のルマプレーンでは、ターミネーションビットが蓄積され、以下のように7つの異なるグループにグループ化される。
Figure 2016506187
例えば、ルマピクチャ部分は64×64ピクセルであってもよい。このような具体例では(例えば、64×64のサイズのピクチャ部分のルマなど)、以下のメソッドがターミネーションビットをコーディングするのに利用されてもよい。例えば、第1グループのターミネーションビット(2つのパーティションによるレベル0における非ターミネーティングパターンのターミネーションビット)が、最小のビットコストを生じさせるテーブル1からの2つのメソッドの1つにより反転及びコーディングされてもよい。
Figure 2016506187
Figure 2016506187
例えば、第2グループのターミネーションビット(2つのパーティションによるレベル1又は上位の非ターミネーティングパターンのターミネーションビット)が、最小のビットコストを生じさせるテーブル3からの3つのメソッドの1つにより反転及びコーディングされてもよい。
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
例えば、第3グループのターミネーションビット(3つのパーティションによるレベル0の非ターミネーティングパターンのターミネーションビット)が、テーブル7に示されるイベントマップを利用してプロキシVLCコーディングにより反転及びコーディングされてもよい。
Figure 2016506187
例えば、第4グループのターミネーションビット(3つのパーティションによるレベル1(又は上位)の非ターミネーティングパターンのターミネーションビット)が、最小ビットコストを生じさせるテーブル8からの7つのメソッドの1つにより反転及びコーディングされてもよい。
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
例えば、第5グループのターミネーションビット(4つのパーティションによるレベル0の非ターミネーティングパターンのターミネーションビット)が、最小ビットコストを生じさせるテーブル16からの5つのメソッドの1つにより反転及びコーディングされてもよい。
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
例えば、第6グループのターミネーションビット(4つのパーティションによるレベル1又は上位の非ターミネーティングパターンのターミネーションビット)が、最小ビットコストを生じさせるテーブル21からの4つのメソッドの1つにより反転及びコーディングされてもよい。
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
例えば、第7グループのターミネーションビット(4より多くのパーティションによる何れかのレベルの非ターミネーティングパターンのターミネーションビット)が、ビットマップコーディングにより圧縮されずに(例えば、そのまま)コーディングされる。例えば、4つのより多くのパーティションによる何れかのレベルの非ターミネーティングパターンのターミネーションビットは、実質的にまれなイベントであるかもしれない。
例えば、32×32のピクセルピクチャ部分のルマプレーンでは、第2、3、4、6及び7グループのターミネーションビットは、64×64ピクセルのピクチャ部分によるルマプレーンのものと同じ技術を利用してコーディングされてもよい。しかしながら、第1及び第5グループのターミネーションビットは、異なる技術を利用してコーディングされる。例えば、32×32ピクセルのピクチャ部分のルマプレーンでは、第1グループのターミネーションビット(2つのパーティションによるレベル2の非ターミネーティングパターンのターミネーションビット)が、最小ビットコスト値を生じさせるテーブル26からの3つのメソッドの1つにより反転及びコーディングされる。
Figure 2016506187
Figure 2016506187
Figure 2016506187
例えば、32×32ピクセルのピクチャ部分のルマプレーンでは、第5グループのターミネーションビット(4つのパーティションによるレベル0の非ターミネーティングパターンのターミネーションビット)が、最小ビットコストを生じさせるテーブル29からの3つのメソッドの1つにより反転及びコーディングされる。
Figure 2016506187
Figure 2016506187
Figure 2016506187
例えば、クロマプレーンでは、ターミネーションビットは、以下のように5つの異なるグループに蓄積及びグループ化される。
Figure 2016506187
例えば、クロマプレーンでは、第1グループのターミネーションビット(2つのパーティションによるレベル0の非ターミネーティングパターンのターミネーションビット)が、テーブル32に示されるイベントマップを利用してプロキシVLCコーディングによりコーディングされる。
Figure 2016506187
例えば、クロマプレーンでは、第2グループのターミネーションビット(2つのパーティションによるレベル1又は上位の非ターミネーティングパターンのターミネーションビット)が、最小ビットコストを生じさせるテーブル33からの2つのメソッドの1つによりコーディングされる。
Figure 2016506187
Figure 2016506187
Figure 2016506187
例えば、クロマプレーンでは、第3グループのターミネーションビット(3つのパーティションによる非ターミネーティングパターンのターミネーションビット)が、テーブル36に示されるイベントマップを利用してプロキシVLCコーディングによりコーディングされる。
Figure 2016506187
例えば、クロマプレーンでは、第4グループのターミネーションビット(4つのパーティションによる非ターミネーティングパターンのターミネーションビット)が、テーブル37に示されるイベントマップを利用してプロキシVLCコーディングによりコーディングされる。
Figure 2016506187
例えば、クロマプレーンでは、第5グループのターミネーションビット(4つより多くのパーティションによる何れかのレベルの非ターミネーティングパターンのターミネーションビット)が、圧縮されずに(すなわち、そのままのビットマップ)コーディングされる。例えば、4つより多くのパーティションによる何れかのレベルの非ターミネーティングパターンのターミネーションビットはレアなイベントであるかもしれない。
説明されるように、ターミネーションビットは、2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又は上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又は上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又は上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又は上位のパターンのためのターミネーションビットを有する第7グループにグループ化されてもよい。ターミネーションビットは、第1〜7グループのターミネーションビットの少なくとも1つを反転し、反転されたグループのターミネーションビットについて最小ビットコストを提供する複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき反転されたグループのターミネーションビットをエントロピー符号化することによってエントロピー符号化され、選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成し、可変長コーディングテーブルヘッダとエントロピー符号化された反転されたグループのターミネーションビットをビットストリームに書き込む。
いくつかの具体例では、クロマピクチャ部分のパーティションは、ルマピクチャ部分のパーティションに基づきコーディングされる。例えば、フォロービットは、クロマピクチャ部分のパーティションが対応するルマピクチャ部分のパーティションからコピーされるか、又は、クロマピクチャ部分のパーティションが明示的に指定されるか(例えば、クロマピクチャ部分のパーティションは異なり、コピーされなくてもよい)記述してもよい。例えば、“1”のフォロービットは、ルマからの特定のピクチャ部分のパーティショニングがクロマによる利用のためコピー可能であるか示し、“0”の値のフォロービットは、クロマピクチャ部分のパーティショニングのためのパーティショニング情報がビットストリームを介し明示的に送信されることを示すものであってもよい。
いくつかの具体例では、Uクロマプレーンフォロービットは、ビットマップ又はシンボルランVLCにより直接的にコーディングされ、Vクロマプレーンフォロービットは、予測差分(例えば、Vクロマプレーンフォロービットの予測を訂正するビット)によりUプレーンから予測され、ビットマップ又はシンボルランVLCによりコーディングされる。
例えば、コーディングのための入力データは、ビデオフレームのルマパーティション及びクロマパーティションを規定するルマデータ及びクロマデータを含む。説明されるように、フォロービットは、ビデオフレームについて生成される。フォロービットは、ビデオフレームのピクチャ部分について、クロマパーティションがルマパーティションに一致するか(例えば、“1”のビット)、又はクロマパーティションがルマパーティションに一致しないか(例えば、“0”のビット)を示すものであってもよい。フォロービットのために選択されるコーディング技術は、ビットマップコーディング又はシンボルラン可変長コーディングから決定され、コーディング技術を示すフォロービットの選択されたコーディング技術ヘッダが生成される。フォロービットは、選択されたコーディング技術に基づきエントロピー符号化され、ビットストリームに書き込まれる。
いくつかの具体例では、入力データは、ビデオフレームについて、ルマパーティションを規定するルマデータと、Uプレーンクロマパーティション及びVプレーンクロマパーティションを規定するクロマデータとを有する。Uプレーンフォロービットが、ビデオフレームのピクチャ部分について、Uプレーンクロマパーティションがルマパーティションに一致するか(例えば、“1”のビット)、又はUプレーンクロマパーティションがルマパーティションに一致しないか(例えば、“0”のビット)示すように、Uプレーンフォロービットがビデオフレームについて生成される。さらに、Uプレーンフォロービットは、Vプレーンフォロービットが、ビデオフレームのピクチャ部分について、Vプレーンクロマパーティションがルマパーティションに一致するか(例えば、“1”のビット)、又は、Vプレーンクロマパーティションがルマパーティションに一致しないか(例えば、“0”のビット)を示すように、ビデオフレームについて生成されてもよい。Uプレーンフォロービットについて選択されたコーディング技術は、ビットマップコーディング又はシンボルラン可変長コーディングから決定され、コーディング技術を示すUプレーンフォロービットの選択されたコーディング技術のヘッダが生成される。さらに、Vプレーンの予測されたフォロービットは、Uプレーンフォロービットに基づき決定される。例えば、Vプレーンの予測されたフォロービットは、Uプレーンのフォロービットに一致してもよい。VプレーンのフォロービットとVプレーンの予測フォロービットとは、Vプレーンの差分フォロービットを生成するため差分化される。Vプレーン差分フォロービットのVプレーン差分フォロービットの選択されたコーディング技術は、ビットマップコーディング又はシンボルラン可変長コーディングから決定され、選択されたコーディング技術を示すVプレーン差分フォロービットの選択されたコーディング技術のヘッダが生成される。UプレーンフォロービットとVプレーン差分フォロービットとは、選択されたコーディング技術に基づきエントロピー符号化され、Uプレーンフォロービットの選択されたコーディング技術ヘッダ、Vプレーン差分フォロービットの選択されたコーディング技術ヘッダ、エントロピー符号化されたUプレーンフォロービット及びエントロピー符号化されたVプレーン差分フォロービットが、ビットストリームに書き込まれてもよい。
ここに説明されるように、マルチレベルパターンのパターン(例えば、ベースレベルパターン及び上位レベルパターン)は、シングル(平均)VLCテーブルに基づき、又は2つの(例えば、低複雑性及び高複雑性)VLCテーブル(又はそれ以上)に選択的に基づきエントロピーコーディングされてもよい。2以上のテーブルが利用可能であるとき、それらは自動的又は適応的に選択されてもよい。適用可能なVLCテーブルに基づき、エントロピーコーディングされたコードワードが各パターン(マルチレベルパターンの)について決定され、エントロピーコーディングされたコードワードがビットストリームに書き込まれる。テーブルDは、VLCタイプの一例となるリストのためのキーを提供する。テーブルDでは、カラム“VLCのタイプ”は、ここに説明される一例となるVLCタイプ、モードなどを提供し、カラム“T”は、テーブル38(a)〜(e)において、“T”の下のリストがテーブルDにおいて“VLCのタイプ”により提供される説明を表すように、テーブル38(a)〜(e)のキーを提供する。ここに説明されるコードワードは、一緒に又は別々に実現されてもよい。さらに、説明されるようなマルチレベルパターンの実現は、シングルコードブックと比較して、コードブック内のエントリの個数を限定するものであってもよい。提供される一例となるコードブックテーブルは、ルマについて提供される。いくつかの具体例では、同じ又は同様の個数のエントリを有するクロマチェーぶるがまた実現されてもよい。
Figure 2016506187
以下のテーブル38(a)〜(e)では、一例となるコードブック又はコードブックパーティションが提供される。具体例では、第1カラムにおいて、コードブックのビジュアルパターン(パーティションなど)が提供される。ビジュアルパターンの左下にビジュアルパターンのインデックス値が与えられ、右下に複数のパーティションが提供される。他のカラムでは、テーブルDに提供される“VLCのタイプ”に対応するエントロピーコーディングされたコードワードが提供される(例えば、“a”は“ターミネーティングパターンの平均VLCテーブル”のVLCのタイプに対応し、“b”は“非ターミネーティングパターンの平均VLCテーブル”のVLCのタイプに対応するなどである。)。テーブルでは、ヘッダ“T”は“VLCのタイプ”を表す。さらに、“L”のヘッダの下の値が与えられ、それは、コードワードの長さである。提供されるコードワードは一例であり、いくつかのケースでは、簡単化のため部分的である。
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
Figure 2016506187
図16に関して説明されるように、一例となるビデオコーディングシステム1600は、イメージングデバイス1601、ビデオエンコーダ100及び/又は処理ユニット1620のロジック回路1650を介し実現されるビデオエンコーダ、ビデオデコーダ200及び/又は処理ユニット1620のロジック回路1650を介し実現されるビデオデコーダ、アンテナ1602、1以上のプロセッサ1603、1以上のメモリストア2004及び/又はディスプレイデバイス2005を有してもよい。
いくつかの具体例では、ロジック回路1650を介し実現されるビデオエンコーダ100は、イメージバッファ(例えば、処理ユニット1620又はメモリストア1604を介し)及びグラフィクス処理ユニット(例えば、処理ユニット1620を介し)を有する。グラフィクス処理ユニットは、イメージバッファに通信結合される。グラフィクス処理ユニットは、図1,4,6などに関して説明されるような各種モジュールを実現するため、ロジック回路1650を介し実現されるようなビデオエンコーダ100を有する。例えば、グラフィクス処理ユニットは、エントロピーエンコーダロジック回路などを有してもよい。ロジック回路は、ここに説明されるような各種処理を実行するよう構成されてもよい。例えば、エントロピーエンコーダロジック回路は、ビデオフレームのピクチャ部分のパーティションを規定する入力データをロードし、マルチレベルパターンが複数の利用可能なパターンから選択されたベースパターンと、ベースパターンの少なくとも1つの非ターミネーティング部分について複数の利用可能なパターンから選択される少なくとも1つのレベル1パターンとを含むように、第1ピクチャ部分についてマルチレベルパターンを決定し、ターミネーションビットがマルチレベルパターン及び第1ピクチャ部分のベースパターンに関連する第1ターミネーションビットを含むように、ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定し、ベースパターンに関連する第1のエントロピーコーディングされたコードワードとレベル1パターンに関連する第2のエントロピーコーディングされたコードワードとを決定し、ターミネーションビットをエントロピー符号化し、第1のエントロピーコーディングされたコードワード、第2のエントロピーコーディングされたコードワード及びエントロピーコーディングされたターミネーションビットをビットストリームに書き込むよう構成されてもよい。
いくつかの具体例では、ビデオコーディングシステム1600のアンテナ1602は、ビデオデータのエントロピー符号化されたビットストリームを受信するよう構成される。説明されるように、ビットストリームは、各種タイプの圧縮されたビデオデータを含む。ビデオコーディングシステム1600はまた、アンテナ1602に結合され、符号化されたビットストリームを復号化するよう構成されるビデオデコーダ200を有する。例えば、ビデオデコーダ200は、符号化されたビットストリームにおける第1のエントロピーコーディングされたコードワードに基づきビデオフレームの第1ピクチャ部分のマルチレベルパターンのベースパターンと、符号化されたビットストリームにおける第2のエントロピーコーディングされたコードワードに基づきマルチレベルパターンのレベル1パターンと、ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットとを決定するため符号化されたビットストリームを復号化し、復号化されたベースパターン、レベル1パターン及びターミネーションビットに基づき第1ピクチャ部分の第1パーティションを再構成するよう構成される。
ここに提供される特定の特徴は各種実現形態を参照して説明されたが、本説明は限定的な意味で解釈されることは意図されていない。従って、本開示が属する当業者に明らかである、ここに説明される実現形態の各種変更は、他の実現形態と共に本開示の趣旨及び範囲内にあるとみなされるべきである。
以下の具体例は、更なる実施例に関する。
一例では、ビデオコーディングのためのコンピュータにより実現される方法は、ビデオフレームのピクチャ部分のパーティションを示す入力データをロードするステップと、第1のピクチャ部分のマルチレベルパターンを決定するステップであって、前記マルチレベルパターンは、複数の利用可能なパターンから選択されたベースパターンと、前記ベースパターンの少なくとも1つの非ターミネーティング部分について前記複数の利用可能なパターンから選択された少なくとも1つのレベル1パターンとを有する、決定するステップと、前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定するステップであって、前記ターミネーションビットは、前記マルチレベルパターンのベースパターンに関連する第1のターミネーションビットと前記第1のピクチャ部分とを有する、決定するステップと、前記ベースパターンに関連する第1のエントロピーコーディングされたコードワードと、前記レベル1パターンに関連する第2のエントロピーコーディングされたコードワードとを決定するステップと、前記ターミネーションビットをエントロピー符号化するステップと、前記第1のエントロピーコーディングされたコードワード、前記第2のエントロピーコーディングされたコードワード及び前記エントロピーコーディングされたターミネーションビットをビットストリームに書き込むステップとを有してもよい。
他の例では、ビデオコーディングのためのコンピュータにより実現される方法は更に、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つから決定するステップと、2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループに、前記ターミネーションビットをグループ化するステップとを更に有してもよい。前記ターミネーションビットをエントロピー符号化するステップは、前記第1〜7グループのターミネーションビットの少なくとも1つを反転し、前記反転されたグループのターミネーションビットの最小ビットコストを提供する、複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき、前記反転されたグループのターミネーションビットをエントロピー符号化するステップと、前記選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成するステップと、前記可変長コーディングテーブルヘッダと前記エントロピー符号化された反転されたグループのターミネーションビットとを前記ビットストリームに書き込むステップとを有する。第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため、選択的に利用可能であり、当該方法は更に、自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定するステップを有してもよく、量子化値が所定の閾値未満である場合、前記適応的スイッチングモードが前記選択されたスイッチングモードである。第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第1の可変長コーディングテーブル又は前記第2の可変長コーディングテーブルの少なくとも1つからの第1の選択された可変長コーディングテーブルは、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について自動的に決定されてもよい。高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第1の選択された可変長コーディングテーブルは、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について自動的に決定されてもよい。前記第1のピクチャ部分の複雑さの予測は、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用することを含むものであってもよい。第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとからの第1の選択された可変長コーディングテーブルが、前記第1のピクチャ部分について決定され、当該方法は更に、前記ビデオフレームのピクチャ部分について前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとから選択された可変長コーディングテーブルを決定するステップと、前記ビデオフレームの適応的スイッチングマスクを生成するステップであって、前記適応的スイッチングマスクは前記ピクチャ部分の前記選択された可変長コーディングテーブルを示すインジケータを含む、生成するステップと、前記適応的スイッチングマスクをエントロピー符号化し、前記ビットストリームに書き込むステップとを有してもよい。前記第2のエントロピーコーディングされたコードワードは、前記レベル1パターンがターミネーティングパターンであることを示してもよい。前記ピクチャ部分は64×64ピクセルを含み、当該方法は更に、関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成するステップと、シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクを符号化するか判断するステップと、ピクチャ部分のバイナリマスクのコーディングメソッドインジケータを生成するステップと、前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピー符号化するステップと、前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピー符号化されたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込むステップとを有してもよい。前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、当該方法は更に、前記ビデオフレームのためのフォロービットを生成するステップであって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定するステップと、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すフォロービットの選択されたコーディング技術ヘッダを生成するステップと、前記選択されたコーディング技術に基づき前記フォロービットをエントロピー符号化するステップと、前記フォロービットの選択されたコーディング技術と前記エントロピー符号化されたフォロービットとを前記ビットストリームに書き込むステップと、
を有してもよい。前記入力データは、ルマパーティションを規定するルマデータと、UプレーンクロマパーティションとVプレーンクロマパーティションとを規定するクロマデータとを有し、当該方法は更に、前記ビデオフレームのUプレーンフォロービットを生成するステップであって、前記Uプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Uプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Uプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、前記ビデオフレームのVプレーンフォロービットを生成するステップであって、前記Vプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Vプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Vプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記UプレーンフォロービットのUプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すUプレーンフォロービットの選択されたコーディング技術ヘッダとを決定するステップと、前記Uプレーンフォロービットに少なくとも部分的に基づき、Vプレーン予測フォロービットを生成するステップと、前記Vプレーンフォロービットと前記Vプレーン予測フォロービットとを差分処理し、Vプレーン差分フォロービットを生成するステップと、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記Vプレーン差分フォロービットのVプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すVプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定するステップと、前記選択されたコーディング技術に基づき、前記UプレーンフォロービットとVプレーン差分フォロービットとをエントロピー符号化するステップと、前記Uプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Vプレーン差分フロービットの選択されたコーディング技術ヘッダ、前記エントロピー符号化されたUプレーンフォロービット及び前記エントロピー符号化されたVプレーン差分フォロービットを前記ビットストリームに書き込むステップとを有してもよい。前記入力データは、ルマデータ又はクロマデータの少なくとも1つを有してもよい。前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有してもよい。前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはk−dツリーパーティションを有してもよい。前記ビデオフレームは、Pピクチャ又はB/Fピクチャの少なくとも1つを有し、前記ピクチャ部分は前記ビデオフレームのタイルのパーティションを有してもよい。前記パーティションは、k−dツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも1つを有してもよい。前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも1つを有してもよい。前記ターミネーションビットは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つに関連するものであってもよい。前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有してもよい。
他の例では、ビデオエンコーダは、イメージバッファと、エントロピーエンコーダロジック回路を有するグラフィクス処理ユニットとを有してもよい。前記グラフィクス処理ユニットは、前記イメージバッファに通信結合され、前記エントロピーエンコーダロジック回路は、ビデオフレームのピクチャ部分のパーティションを示す入力データをロードする処理と、第1のピクチャ部分のマルチレベルパターンを決定する処理であって、前記マルチレベルパターンは、複数の利用可能なパターンから選択されたベースパターンと、前記ベースパターンの少なくとも1つの非ターミネーティング部分について前記複数の利用可能なパターンから選択された少なくとも1つのレベル1パターンとを有する、決定する処理と、前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定する処理であって、前記ターミネーションビットは、前記マルチレベルパターンのベースパターンに関連する第1のターミネーションビットと前記第1のピクチャ部分とを有する、決定する処理と、前記ベースパターンに関連する第1のエントロピーコーディングされたコードワードと、前記レベル1パターンに関連する第2のエントロピーコーディングされたコードワードとを決定する処理と、前記ターミネーションビットをエントロピー符号化する処理と、前記第1のエントロピーコーディングされたコードワード、前記第2のエントロピーコーディングされたコードワード及び前記エントロピーコーディングされたターミネーションビットをビットストリームに書き込む処理とを実行するよう構成されてもよい。
更なる一例となるビデオエンコーダでは、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つから決定する処理と、自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定する処理であって、量子化値が所定の閾値未満である場合、前記適応的スイッチングモードが前記選択されたスイッチングモードである、決定する処理と、2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループに、前記ターミネーションビットをグループ化する処理とを実行するよう構成されてもよい。前記ターミネーションビットをエントロピー符号化するため、前記エントロピーエンコーダロジック回路は、前記第1〜7グループのターミネーションビットの少なくとも1つを反転し、前記反転されたグループのターミネーションビットの最小ビットコストを提供する、複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき、前記反転されたグループのターミネーションビットをエントロピー符号化する処理と、前記選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成する処理と、前記可変長コーディングテーブルヘッダと前記エントロピー符号化された反転されたグループのターミネーションビットとを前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第1の選択された可変長コーディングテーブルを自動的に決定する処理を実行するよう構成され、前記第1のピクチャ部分の複雑さの予測を決定するため、前記エントロピーエンコーダロジック回路は、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成されてもよい。第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレームのピクチャ部分について前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとから選択された可変長コーディングテーブルを決定する処理と、前記ビデオフレームの適応的スイッチングマスクを生成する処理であって、前記適応的スイッチングマスクは前記ピクチャ部分の前記選択された可変長コーディングテーブルを示すインジケータを含む、生成する処理と、前記適応的スイッチングマスクをエントロピー符号化し、前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。前記第2のエントロピーコーディングされたコードワードは、前記レベル1パターンがターミネーティングパターンであることを示すものであってもよい。前記ピクチャ部分は64×64ピクセルを含み、前記エントロピーエンコーダロジック回路は更に、前記関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成する処理と、シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクを符号化するか判断する処理と、ピクチャ部分のバイナリマスクのコーディングメソッドインジケータを生成する処理と、前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピー符号化する処理と、前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピー符号化されたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレームのためのフォロービットを生成する処理であって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定する処理と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すフォロービットの選択されたコーディング技術ヘッダを生成する処理と、前記選択されたコーディング技術に基づき前記フォロービットをエントロピー符号化する処理と、前記フォロービットの選択されたコーディング技術と前記エントロピー符号化されたフォロービットとを前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。前記入力データは、ルマパーティションを規定するルマデータと、UプレーンクロマパーティションとVプレーンクロマパーティションとを規定するクロマデータとを有し、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレームのUプレーンフォロービットを生成する処理であって、前記Uプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Uプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Uプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、前記ビデオフレームのVプレーンフォロービットを生成する処理であって、前記Vプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Vプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Vプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記UプレーンフォロービットのUプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すUプレーンフォロービットの選択されたコーディング技術ヘッダとを決定する処理と、前記Uプレーンフォロービットに少なくとも部分的に基づき、Vプレーン予測フォロービットを生成する処理と、前記Vプレーンフォロービットと前記Vプレーン予測フォロービットとを差分処理し、Vプレーン差分フォロービットを生成する処理と、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記Vプレーン差分フォロービットのVプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すVプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定する処理と、前記選択されたコーディング技術に基づき、前記UプレーンフォロービットとVプレーン差分フォロービットとをエントロピー符号化する処理と、前記Uプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Vプレーン差分フロービットの選択されたコーディング技術ヘッダ、前記エントロピー符号化されたUプレーンフォロービット及び前記エントロピー符号化されたVプレーン差分フォロービットを前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはk−dツリーパーティションを有してもよい。前記ビデオフレームは、Pピクチャ又はB/Fピクチャの少なくとも1つを有し、前記ピクチャ部分は前記ビデオフレームのタイルのパーティションを有してもよい。前記パーティションは、k−dツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも1つを有してもよい。前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも1つを有してもよい。前記ターミネーションビットは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つに関連してもよい。前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有してもよい。
更なる他の例では、システムは、符号化されたビットストリームを復号化するよう構成されるビデオデコーダを有してもよい。前記ビデオデコーダは、前記符号化されたビットストリームを復号化し、前記符号化されたビットストリームにおける第1のエントロピーコーディングされたコードワードに基づきビデオフレームの第1のピクチャ部分のマルチレベルパターンのベースパターン、前記符号化されたビットストリームにおける第2のエントロピーコーディングされたコードワードに基づき前記マルチレベルパターンのレベル1パターン、及び前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定する処理と、前記復号化されたベースパターン、レベル1パターン及びターミネーションビットに基づき、前記第1のピクチャ部分の第1のパーティションを再構成する処理とを実行するよう構成される。
更なる一例となるシステムでは、システムは、前記エントロピー符号化されたビットストリームを受信するよう構成されるアンテナと、ビデオフレームを提示するよう構成されるディスプレイデバイスとを有してもよい。前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードをエントロピー復号化するのに利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードをエントロピー復号化するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つからの可変長コードテーブル選択モードを示す可変長コードテーブル選択モードインジケータを決定するよう構成されてもよい。第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記復号化されたビットストリームを復号化するため、前記ビデオデコーダは、自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするためのスイッチングモードを示す選択されたスイッチングモードインジケータを決定するよう構成されてもよい。第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記ビデオデコーダは更に、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1の可変長コーディングテーブル又は前記第2の可変長コーディングテーブルの少なくとも1つからの第1の選択された可変長コーディングテーブルを自動的に決定するよう構成され、前記第1のピクチャ部分の複雑さの予測を決定するため、前記ビデオデコーダは、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成されてもよい。第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレームの適応的スイッチングマスクを決定するよう構成され、前記適応的スイッチングマスクは、前記第1のピクチャ部分の第1の選択された可変長コーディングテーブルの指示を有してもよい。前記第2のエントロピーコーディングされたコードワードは、前記選択されたレベル1パターンがターミネーティングパターンであることを示してもよい。前記第1のピクチャ部分は64×64ピクセルを有し、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを決定するよう構成されてもよい。前記ビデオデコーダは更に、2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループへの前記ターミネーションビットのグループ化に基づき、前記ターミネーションビットをエントロピー復号化し、前記ターミネーションビットのグループ化に基づき前記ターミネーションビットをエントロピー復号化するよう構成され、前記ターミネーションビットをエントロピー復号化するため、前記ビデオデコーダは、第1グループのターミネーションビットに関連する可変長コーディングテーブルヘッダを決定し、前記可変長コーディングテーブルヘッダに基づく選択された可変長コーディングテーブルに基づき前記第1グループのターミネーションビットを復号化するよう構成されてもよい。前記マルチレベルパターンはルマパターンを有し、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレームのフォロービットを決定するよう構成され、前記ビデオデコーダは更に、前記復号化されたフォロービットに少なくとも部分的に基づき、前記第1のピクチャ部分のクロマパターンが前記ルマパターンに一致するか判断するよう構成されてもよい。
更なる例では、少なくとも1つのマシーン可読媒体は、計算装置上で実行されることに応答して、上述した具体例の何れか1つによる方法を前記計算装置に実行させる複数の命令を有してもよい。
また更なる例では、装置は、上述した具体例の何れか1つによる方法を実行する手段を有してもよい。
上記具体例は、特定の特徴の組み合わせを含むものであってもよい。しかしながら、このような上記具体例はこれに限定されず、各種実現形態では、上記具体例は、このような特徴の一部のみの実行、このような特徴の異なる順序の実行、このような特徴の異なる組み合わせの実行及び/又は明示的に列記された特徴よりも更なる特徴の実行を含むものであってもよい。例えば、方法の具体例に関して説明された全ての特徴は、装置の具体例、システムの具体例及び/又は物の具体例などに関して実現されてもよい。

Claims (57)

  1. ビデオコーディングのためのコンピュータにより実現される方法であって、
    ビデオフレームのピクチャ部分のパーティションを示す入力データをロードするステップと、
    第1のピクチャ部分のマルチレベルパターンを決定するステップであって、前記マルチレベルパターンは、複数の利用可能なパターンから選択されたベースパターンと、前記ベースパターンの少なくとも1つの非ターミネーティング部分について前記複数の利用可能なパターンから選択された少なくとも1つのレベル1パターンとを有する、決定するステップと、
    前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定するステップであって、前記ターミネーションビットは、前記マルチレベルパターンのベースパターンに関連する第1のターミネーションビットと前記第1のピクチャ部分とを有する、決定するステップと、
    前記ベースパターンに関連する第1のエントロピーコーディングされたコードワードと、前記レベル1パターンに関連する第2のエントロピーコーディングされたコードワードとを決定するステップと、
    前記ターミネーションビットをエントロピー符号化するステップと、
    前記第1のエントロピーコーディングされたコードワード、前記第2のエントロピーコーディングされたコードワード及び前記エントロピーコーディングされたターミネーションビットをビットストリームに書き込むステップと、
    を有する方法。
  2. 前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つから決定するステップを更に有する、請求項1記載の方法。
  3. 第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため、選択的に利用可能であり、
    当該方法は更に、
    自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定するステップを有する、請求項1記載の方法。
  4. 第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、
    当該方法は更に、
    自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから、前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定するステップを有し、
    量子化値が所定の閾値未満である場合、前記適応的スイッチングモードが前記選択されたスイッチングモードである、請求項1記載の方法。
  5. 第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第1の可変長コーディングテーブル又は前記第2の可変長コーディングテーブルの少なくとも1つからの第1の選択された可変長コーディングテーブルは、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について自動的に決定される、請求項1記載の方法。
  6. 高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第1の選択された可変長コーディングテーブルは、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について自動的に決定され、前記第1のピクチャ部分の複雑さの予測は、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用することを含む、請求項1記載の方法。
  7. 第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとからの第1の選択された可変長コーディングテーブルが、前記第1のピクチャ部分について決定され、
    当該方法は更に、
    前記ビデオフレームについて適応的スイッチングマスクを生成するステップを有し、前記適応的スイッチングマスクは、前記第1のピクチャ部分の前記第1の選択された可変長コーディングテーブルの指示を含む、請求項1記載の方法。
  8. 第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、
    当該方法は更に、
    前記ビデオフレームのピクチャ部分について前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとから選択された可変長コーディングテーブルを決定するステップと、
    前記ビデオフレームの適応的スイッチングマスクを生成するステップであって、前記適応的スイッチングマスクは前記ピクチャ部分の前記選択された可変長コーディングテーブルを示すインジケータを含む、生成するステップと、
    前記適応的スイッチングマスクをエントロピー符号化し、前記ビットストリームに書き込むステップと、
    を有する、請求項1記載の方法。
  9. 前記第2のエントロピーコーディングされたコードワードは、前記レベル1パターンがターミネーティングパターンであることを示す、請求項1記載の方法。
  10. 前記ピクチャ部分は64×64ピクセルを含み、
    当該方法は更に、
    前記関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成するステップと、
    前記ピクチャ部分のバイナリマスクをエントロピー符号化し、前記ビットストリームに書き込むステップと、
    を有する、請求項1記載の方法。
  11. 前記ピクチャ部分は64×64ピクセルを有し、
    当該方法は更に、
    前記関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成するステップと、
    シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクを符号化するか判断するステップと、
    ピクチャ部分のバイナリマスクのコーディングメソッドインジケータを生成するステップと、
    前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピー符号化するステップと、
    前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピー符号化されたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込むステップと、
    を有する、請求項1記載の方法。
  12. 2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループに、前記ターミネーションビットをグループ化するステップを更に有する、請求項1記載の方法。
  13. 2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループに、前記ターミネーションビットをグループ化するステップを更に有し、
    前記ターミネーションビットをエントロピー符号化するステップは、
    前記第1〜7グループのターミネーションビットの少なくとも1つを反転し、前記反転されたグループのターミネーションビットの最小ビットコストを提供する、複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき、前記反転されたグループのターミネーションビットをエントロピー符号化するステップと、
    前記選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成するステップと、
    前記可変長コーディングテーブルヘッダと前記エントロピー符号化された反転されたグループのターミネーションビットとを前記ビットストリームに書き込むステップと、
    を有する、請求項1記載の方法。
  14. 前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、
    当該方法は更に、
    前記ビデオフレームのためのフォロービットを生成するステップであって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップを有する、請求項1記載の方法。
  15. 前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、
    当該方法は更に、
    前記ビデオフレームのためのフォロービットを生成するステップであって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定するステップと、
    前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すフォロービットの選択されたコーディング技術ヘッダを生成するステップと、
    前記選択されたコーディング技術に基づき前記フォロービットをエントロピー符号化するステップと、
    前記フォロービットの選択されたコーディング技術と前記エントロピー符号化されたフォロービットとを前記ビットストリームに書き込むステップと、
    を有する、請求項1記載の方法。
  16. 前記入力データは、ルマパーティションを規定するルマデータと、UプレーンクロマパーティションとVプレーンクロマパーティションとを規定するクロマデータとを有し、
    当該方法は更に、
    前記ビデオフレームのUプレーンフォロービットを生成するステップであって、前記Uプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Uプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Uプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
    前記ビデオフレームのVプレーンフォロービットを生成するステップであって、前記Vプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Vプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Vプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記UプレーンフォロービットのUプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すUプレーンフォロービットの選択されたコーディング技術ヘッダとを決定するステップと、
    前記Uプレーンフォロービットに少なくとも部分的に基づき、Vプレーン予測フォロービットを生成するステップと、
    前記Vプレーンフォロービットと前記Vプレーン予測フォロービットとを差分処理し、Vプレーン差分フォロービットを生成するステップと、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記Vプレーン差分フォロービットのVプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すVプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定するステップと、
    前記選択されたコーディング技術に基づき、前記UプレーンフォロービットとVプレーン差分フォロービットとをエントロピー符号化するステップと、
    前記Uプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Vプレーン差分フロービットの選択されたコーディング技術ヘッダ、前記エントロピー符号化されたUプレーンフォロービット及び前記エントロピー符号化されたVプレーン差分フォロービットを前記ビットストリームに書き込むステップと、
    を有する、請求項1記載の方法。
  17. 前記入力データは、ルマデータ又はクロマデータの少なくとも1つを有する、請求項1記載の方法。
  18. 前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有する、請求項1記載の方法。
  19. 前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはk−dツリーパーティションを有する、請求項1記載の方法。
  20. 前記ビデオフレームは、Pピクチャ又はB/Fピクチャの少なくとも1つを有し、前記ピクチャ部分は前記ビデオフレームのタイルのパーティションを有する、請求項1記載の方法。
  21. 前記パーティションは、k−dツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも1つを有する、請求項1記載の方法。
  22. 前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも1つを有する、請求項1記載の方法。
  23. 前記ターミネーションビットは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つに関連する、請求項1記載の方法。
  24. 前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有する、請求項1記載の方法。
  25. 前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つから決定するステップと、
    2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループに、前記ターミネーションビットをグループ化するステップと、
    を有し、
    前記ターミネーションビットをエントロピー符号化するステップは、
    前記第1〜7グループのターミネーションビットの少なくとも1つを反転し、前記反転されたグループのターミネーションビットの最小ビットコストを提供する、複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき、前記反転されたグループのターミネーションビットをエントロピー符号化するステップと、
    前記選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成するステップと、
    前記可変長コーディングテーブルヘッダと前記エントロピー符号化された反転されたグループのターミネーションビットとを前記ビットストリームに書き込むステップと、
    を有し、
    第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため、選択的に利用可能であり、
    当該方法は更に、
    自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定するステップを有し、量子化値が所定の閾値未満である場合、前記適応的スイッチングモードが前記選択されたスイッチングモードであり、
    第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第1の可変長コーディングテーブル又は前記第2の可変長コーディングテーブルの少なくとも1つからの第1の選択された可変長コーディングテーブルは、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について自動的に決定され、
    高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第1の選択された可変長コーディングテーブルは、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について自動的に決定され、前記第1のピクチャ部分の複雑さの予測は、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用することを含み、
    第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとからの第1の選択された可変長コーディングテーブルが、前記第1のピクチャ部分について決定され、
    当該方法は更に、
    前記ビデオフレームのピクチャ部分について前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとから選択された可変長コーディングテーブルを決定するステップと、
    前記ビデオフレームの適応的スイッチングマスクを生成するステップであって、前記適応的スイッチングマスクは前記ピクチャ部分の前記選択された可変長コーディングテーブルを示すインジケータを含む、生成するステップと、
    前記適応的スイッチングマスクをエントロピー符号化し、前記ビットストリームに書き込むステップと、
    を有し、
    前記第2のエントロピーコーディングされたコードワードは、前記レベル1パターンがターミネーティングパターンであることを示し、
    前記ピクチャ部分は64×64ピクセルを含み、
    当該方法は更に、
    少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成するステップと、
    シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクを符号化するか判断するステップと、
    ピクチャ部分のバイナリマスクのコーディングメソッドインジケータを生成するステップと、
    前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピー符号化するステップと、
    前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピー符号化されたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込むステップと、
    を有し、
    前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、
    当該方法は更に、
    前記ビデオフレームのためのフォロービットを生成するステップであって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定するステップと、
    前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すフォロービットの選択されたコーディング技術ヘッダを生成するステップと、
    前記選択されたコーディング技術に基づき前記フォロービットをエントロピー符号化するステップと、
    前記フォロービットの選択されたコーディング技術と前記エントロピー符号化されたフォロービットとを前記ビットストリームに書き込むステップと、
    を有し、
    前記入力データは、ルマパーティションを規定するルマデータと、UプレーンクロマパーティションとVプレーンクロマパーティションとを規定するクロマデータとを有し、
    当該方法は更に、
    前記ビデオフレームのUプレーンフォロービットを生成するステップであって、前記Uプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Uプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Uプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
    前記ビデオフレームのVプレーンフォロービットを生成するステップであって、前記Vプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Vプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Vプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記UプレーンフォロービットのUプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すUプレーンフォロービットの選択されたコーディング技術ヘッダとを決定するステップと、
    前記Uプレーンフォロービットに少なくとも部分的に基づき、Vプレーン予測フォロービットを生成するステップと、
    前記Vプレーンフォロービットと前記Vプレーン予測フォロービットとを差分処理し、Vプレーン差分フォロービットを生成するステップと、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記Vプレーン差分フォロービットのVプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すVプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定するステップと、
    前記選択されたコーディング技術に基づき、前記UプレーンフォロービットとVプレーン差分フォロービットとをエントロピー符号化するステップと、
    前記Uプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Vプレーン差分フロービットの選択されたコーディング技術ヘッダ、前記エントロピー符号化されたUプレーンフォロービット及び前記エントロピー符号化されたVプレーン差分フォロービットを前記ビットストリームに書き込むステップと、
    を有し、
    前記入力データは、ルマデータ又はクロマデータの少なくとも1つを有し、
    前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有し、
    前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはk−dツリーパーティションを有し、
    前記ビデオフレームは、Pピクチャ又はB/Fピクチャの少なくとも1つを有し、前記ピクチャ部分は前記ビデオフレームのタイルのパーティションを有し、
    前記パーティションは、k−dツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも1つを有し、
    前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも1つを有し、
    前記ターミネーションビットは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つに関連し、
    前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有する、請求項1記載の方法。
  26. イメージバッファと、
    エントロピーエンコーダロジック回路を有するグラフィクス処理ユニットと、
    を有するビデオエンコーダであって、
    前記グラフィクス処理ユニットは、前記イメージバッファに通信結合され、
    前記エントロピーエンコーダロジック回路は、
    ビデオフレームのピクチャ部分のパーティションを示す入力データをロードする処理と、
    第1のピクチャ部分のマルチレベルパターンを決定する処理であって、前記マルチレベルパターンは、複数の利用可能なパターンから選択されたベースパターンと、前記ベースパターンの少なくとも1つの非ターミネーティング部分について前記複数の利用可能なパターンから選択された少なくとも1つのレベル1パターンとを有する、決定する処理と、
    前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定する処理であって、前記ターミネーションビットは、前記マルチレベルパターンのベースパターンに関連する第1のターミネーションビットと前記第1のピクチャ部分とを有する、決定する処理と、
    前記ベースパターンに関連する第1のエントロピーコーディングされたコードワードと、前記レベル1パターンに関連する第2のエントロピーコーディングされたコードワードとを決定する処理と、
    前記ターミネーションビットをエントロピー符号化する処理と、
    前記第1のエントロピーコーディングされたコードワード、前記第2のエントロピーコーディングされたコードワード及び前記エントロピーコーディングされたターミネーションビットをビットストリームに書き込む処理と、
    を実行するよう構成されるビデオエンコーダ。
  27. 前記エントロピーエンコーダロジック回路は更に、
    前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つから決定する処理を実行するよう構成される、請求項26記載のビデオエンコーダ。
  28. 前記エントロピーエンコーダロジック回路は更に、
    自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定する処理を実行するよう構成され、量子化値が所定の閾値未満である場合、前記適応的スイッチングモードが前記選択されたスイッチングモードである、請求項26記載のビデオエンコーダ。
  29. 高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第1の選択された可変長コーディングテーブルを自動的に決定する処理を実行するよう構成され、前記第1のピクチャ部分の複雑さの予測を決定するため、前記エントロピーエンコーダロジック回路は、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成される、請求項26記載のビデオエンコーダ。
  30. 第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレームのピクチャ部分について前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとから選択された可変長コーディングテーブルを決定する処理と、
    前記ビデオフレームの適応的スイッチングマスクを生成する処理であって、前記適応的スイッチングマスクは前記ピクチャ部分の前記選択された可変長コーディングテーブルを示すインジケータを含む、生成する処理と、
    前記適応的スイッチングマスクをエントロピー符号化し、前記ビットストリームに書き込む処理と、
    を実行するよう構成される、請求項26記載のビデオエンコーダ。
  31. 前記第2のエントロピーコーディングされたコードワードは、前記レベル1パターンがターミネーティングパターンであることを示す、請求項26記載のビデオエンコーダ。
  32. 前記ピクチャ部分は64×64ピクセルを含み、
    前記エントロピーエンコーダロジック回路は更に、
    前記関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成する処理と、
    シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクを符号化するか判断する処理と、
    ピクチャ部分のバイナリマスクのコーディングメソッドインジケータを生成する処理と、
    前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピー符号化する処理と、
    前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピー符号化されたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込む処理と、
    を実行するよう構成される、請求項26記載のビデオエンコーダ。
  33. 前記エントロピーエンコーダロジック回路は更に、
    2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループに、前記ターミネーションビットをグループ化する処理を実行するよう構成され、
    前記ターミネーションビットをエントロピー符号化するため、前記エントロピーエンコーダロジック回路は、
    前記第1〜7グループのターミネーションビットの少なくとも1つを反転し、前記反転されたグループのターミネーションビットの最小ビットコストを提供する、複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき、前記反転されたグループのターミネーションビットをエントロピー符号化する処理と、
    前記選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成する処理と、
    前記可変長コーディングテーブルヘッダと前記エントロピー符号化された反転されたグループのターミネーションビットとを前記ビットストリームに書き込む処理と、
    を有する、請求項26記載のビデオエンコーダ。
  34. 前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、
    前記エントロピーエンコーダロジック回路は更に、
    前記ビデオフレームのためのフォロービットを生成する処理であって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定する処理と、
    前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すフォロービットの選択されたコーディング技術ヘッダを生成する処理と、
    前記選択されたコーディング技術に基づき前記フォロービットをエントロピー符号化する処理と、
    前記フォロービットの選択されたコーディング技術と前記エントロピー符号化されたフォロービットとを前記ビットストリームに書き込む処理と、
    を実行するよう構成される、請求項26記載のビデオエンコーダ。
  35. 前記入力データは、ルマパーティションを規定するルマデータと、UプレーンクロマパーティションとVプレーンクロマパーティションとを規定するクロマデータとを有し、
    前記エントロピーエンコーダロジック回路は更に、
    前記ビデオフレームのUプレーンフォロービットを生成する処理であって、前記Uプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Uプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Uプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
    前記ビデオフレームのVプレーンフォロービットを生成する処理であって、前記Vプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Vプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Vプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記UプレーンフォロービットのUプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すUプレーンフォロービットの選択されたコーディング技術ヘッダとを決定する処理と、
    前記Uプレーンフォロービットに少なくとも部分的に基づき、Vプレーン予測フォロービットを生成する処理と、
    前記Vプレーンフォロービットと前記Vプレーン予測フォロービットとを差分処理し、Vプレーン差分フォロービットを生成する処理と、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記Vプレーン差分フォロービットのVプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すVプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定する処理と、
    前記選択されたコーディング技術に基づき、前記UプレーンフォロービットとVプレーン差分フォロービットとをエントロピー符号化する処理と、
    前記Uプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Vプレーン差分フロービットの選択されたコーディング技術ヘッダ、前記エントロピー符号化されたUプレーンフォロービット及び前記エントロピー符号化されたVプレーン差分フォロービットを前記ビットストリームに書き込む処理と、
    を実行するよう構成される、請求項26記載のビデオエンコーダ。
  36. 前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはk−dツリーパーティションを有する、請求項26記載のビデオエンコーダ。
  37. 前記ビデオフレームは、Pピクチャ又はB/Fピクチャの少なくとも1つを有し、前記ピクチャ部分は前記ビデオフレームのタイルのパーティションを有する、請求項26記載のビデオエンコーダ。
  38. 前記パーティションは、k−dツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも1つを有する、請求項26記載のビデオエンコーダ。
  39. 前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも1つを有する、請求項26記載のビデオエンコーダ。
  40. 前記ターミネーションビットは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つに関連する、請求項26記載のビデオエンコーダ。
  41. 前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有する、請求項26記載のビデオエンコーダ。
  42. 前記エントロピーエンコーダロジック回路は更に、
    前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つから決定する処理と、
    自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定する処理であって、量子化値が所定の閾値未満である場合、前記適応的スイッチングモードが前記選択されたスイッチングモードである、決定する処理と、
    2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループに、前記ターミネーションビットをグループ化する処理と、
    を実行するよう構成され、
    前記ターミネーションビットをエントロピー符号化するため、前記エントロピーエンコーダロジック回路は、
    前記第1〜7グループのターミネーションビットの少なくとも1つを反転し、前記反転されたグループのターミネーションビットの最小ビットコストを提供する、複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき、前記反転されたグループのターミネーションビットをエントロピー符号化する処理と、
    前記選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成する処理と、
    前記可変長コーディングテーブルヘッダと前記エントロピー符号化された反転されたグループのターミネーションビットとを前記ビットストリームに書き込む処理と、
    を実行するよう構成され、
    高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は、前記第1のピクチャ部分の複雑さの予測に基づき、前記第1のピクチャ部分について前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとから第1の選択された可変長コーディングテーブルを自動的に決定するよう構成され、前記第1のピクチャ部分の複雑さの予測を決定するため、前記エントロピーエンコーダロジック回路は、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成され、
    第1の可変長コーディングテーブルと第2の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は更に、
    前記ビデオフレームのピクチャ部分について前記第1の可変長コーディングテーブルと前記第2の可変長コーディングテーブルとから選択された可変長コーディングテーブルを決定する処理と、
    前記ビデオフレームの適応的スイッチングマスクを生成する処理であって、前記適応的スイッチングマスクは前記ピクチャ部分の前記選択された可変長コーディングテーブルを示すインジケータを含む、生成する処理と、
    前記適応的スイッチングマスクをエントロピー符号化し、前記ビットストリームに書き込む処理と、
    を実行するよう構成され、
    前記第2のエントロピーコーディングされたコードワードは、前記レベル1パターンがターミネーティングパターンであることを示し、
    前記ピクチャ部分は64×64ピクセルを含み、
    前記エントロピーエンコーダロジック回路は更に、
    少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成する処理と、
    シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクを符号化するか判断する処理と、
    ピクチャ部分のバイナリマスクのコーディングメソッドインジケータを生成する処理と、
    前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピー符号化する処理と、
    前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピー符号化されたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込む処理と、
    を実行するよう構成され、
    前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、
    前記エントロピーエンコーダロジック回路は更に、
    前記ビデオフレームのためのフォロービットを生成する処理であって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定する処理と、
    前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すフォロービットの選択されたコーディング技術ヘッダを生成する処理と、
    前記選択されたコーディング技術に基づき前記フォロービットをエントロピー符号化する処理と、
    前記フォロービットの選択されたコーディング技術と前記エントロピー符号化されたフォロービットとを前記ビットストリームに書き込む処理と、
    を実行するよう構成され、
    前記入力データは、ルマパーティションを規定するルマデータと、UプレーンクロマパーティションとVプレーンクロマパーティションとを規定するクロマデータとを有し、
    前記エントロピーエンコーダロジック回路は更に、
    前記ビデオフレームのUプレーンフォロービットを生成する処理であって、前記Uプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Uプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Uプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
    前記ビデオフレームのVプレーンフォロービットを生成する処理であって、前記Vプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Vプレーンクロマパーティションの少なくとも1つが前記ルマパーティションに一致するか、又は、前記Vプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記UプレーンフォロービットのUプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すUプレーンフォロービットの選択されたコーディング技術ヘッダとを決定する処理と、
    前記Uプレーンフォロービットに少なくとも部分的に基づき、Vプレーン予測フォロービットを生成する処理と、
    前記Vプレーンフォロービットと前記Vプレーン予測フォロービットとを差分処理し、Vプレーン差分フォロービットを生成する処理と、
    ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも1つから前記Vプレーン差分フォロービットのVプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも1つを示すVプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定する処理と、
    前記選択されたコーディング技術に基づき、前記UプレーンフォロービットとVプレーン差分フォロービットとをエントロピー符号化する処理と、
    前記Uプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Vプレーン差分フロービットの選択されたコーディング技術ヘッダ、前記エントロピー符号化されたUプレーンフォロービット及び前記エントロピー符号化されたVプレーン差分フォロービットを前記ビットストリームに書き込む処理と、
    を実行するよう構成され、
    前記ビデオフレームはIピクチャを有し、前記第1のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはk−dツリーパーティションを有し、
    前記ビデオフレームは、Pピクチャ又はB/Fピクチャの少なくとも1つを有し、前記ピクチャ部分は前記ビデオフレームのタイルのパーティションを有し、
    前記パーティションは、k−dツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも1つを有し、
    前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも1つを有し、
    前記ターミネーションビットは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つに関連し、
    前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有する、請求項26記載のビデオエンコーダ。
  43. 符号化されたビットストリームを復号化するよう構成されるビデオデコーダを有するシステムであって、
    前記ビデオデコーダは、
    前記符号化されたビットストリームを復号化し、前記符号化されたビットストリームにおける第1のエントロピーコーディングされたコードワードに基づきビデオフレームの第1のピクチャ部分のマルチレベルパターンのベースパターン、前記符号化されたビットストリームにおける第2のエントロピーコーディングされたコードワードに基づき前記マルチレベルパターンのレベル1パターン、及び前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定する処理と、
    前記復号化されたベースパターン、レベル1パターン及びターミネーションビットに基づき、前記第1のピクチャ部分の第1のパーティションを再構成する処理と、
    を実行するよう構成されるシステム。
  44. 前記符号化されたビットストリームを受信するよう構成されるアンテナを更に有し、前記アンテナは前記ビデオデコーダに通信結合される、請求項43記載のシステム。
  45. 前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードをエントロピー復号化するのに利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードをエントロピー復号化するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つからの可変長コードテーブル選択モードを示す可変長コードテーブル選択モードインジケータを決定するよう構成される、請求項43記載のシステム。
  46. 第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記復号化されたビットストリームを復号化するため、前記ビデオデコーダは、自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするためのスイッチングモードを示す選択されたスイッチングモードインジケータを決定するよう構成される、請求項43記載のシステム。
  47. 第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記ビデオデコーダは更に、
    前記第1のピクチャ部分の複雑さの予測に基づき、前記第1の可変長コーディングテーブル又は前記第2の可変長コーディングテーブルの少なくとも1つからの第1の選択された可変長コーディングテーブルを自動的に決定するよう構成される、請求項43記載のシステム。
  48. 高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記ビデオデコーダは更に、
    前記第1のピクチャ部分の複雑さの予測に基づき、前記高複雑性可変長コーディングテーブル又は前記低複雑性可変長コーディングテーブルの少なくとも1つからの第1の選択された可変長コーディングテーブルを自動的に決定するよう構成され、前記第1のピクチャ部分の複雑さの予測を決定するため、前記ビデオデコーダは、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成される、請求項43記載のシステム。
  49. 第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレームの適応的スイッチングマスクを決定するよう構成され、前記適応的スイッチングマスクは、前記第1のピクチャ部分の第1の選択された可変長コーディングテーブルの指示を有する、請求項43記載のシステム。
  50. 前記第2のエントロピーコーディングされたコードワードは、前記選択されたレベル1パターンがターミネーティングパターンであることを示す、請求項43記載のシステム。
  51. 前記第1のピクチャ部分は64×64ピクセルを有し、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを決定するよう構成される、請求項43記載のシステム。
  52. 前記ビデオデコーダは更に、
    2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループへの前記ターミネーションビットのグループ化に基づき、前記ターミネーションビットをエントロピー復号化するよう構成される、請求項43記載のシステム。
  53. 前記ビデオデコーダは更に、
    前記ターミネーションビットのグループ化に基づき前記ターミネーションビットをエントロピー復号化するよう構成され、前記ターミネーションビットをエントロピー復号化するため、前記ビデオデコーダは、第1グループのターミネーションビットに関連する可変長コーディングテーブルヘッダを決定し、前記可変長コーディングテーブルヘッダに基づく選択された可変長コーディングテーブルに基づき前記第1グループのターミネーションビットを復号化するよう構成される、請求項43記載のシステム。
  54. 前記マルチレベルパターンはルマパターンを有し、
    前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレームのフォロービットを決定するよう構成され、前記ビデオデコーダは更に、
    前記復号化されたフォロービットに少なくとも部分的に基づき、前記第1のピクチャ部分のクロマパターンが前記ルマパターンに一致するか判断するよう構成される、請求項43記載のシステム。
  55. 前記符号化されたビットストリームを受信するよう構成されるアンテナであって、前記アンテナは前記ビデオデコーダに通信結合される、アンテナと、
    ビデオフレームを提示するよう構成されるディスプレイデバイスと、
    を更に有し、
    前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも1つについて、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードをエントロピー復号化するのに利用される第1の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について2以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードをエントロピー復号化するのに利用される第2の可変長コードテーブル選択モードとの少なくとも1つから可変長コードテーブル選択モードインジケータを決定するよう構成され、
    第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記復号化されたビットストリームを復号化するため、前記ビデオデコーダは、自動的スイッチングモード又は適応的スイッチングモードの少なくとも1つから前記ビデオフレームのピクチャ部分について前記第1及び第2の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定するよう構成され、
    第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記ビデオデコーダは更に、
    前記第1のピクチャ部分の複雑さの予測に基づき、前記第1の可変長コーディングテーブル又は前記第2の可変長コーディングテーブルの少なくとも1つからの第1の選択された可変長コーディングテーブルを自動的に決定するよう構成され、
    高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記ビデオデコーダは更に、
    前記第1のピクチャ部分の複雑さの予測に基づき、前記高複雑性可変長コーディングテーブル又は前記低複雑性可変長コーディングテーブルの少なくとも1つからの第1の選択された可変長コーディングテーブルを自動的に決定するよう構成され、前記第1のピクチャ部分の複雑さの予測を決定するため、前記ビデオデコーダは、前記第1のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成され、
    第1可変長コーディングテーブルと第2可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレームの適応的スイッチングマスクを決定するよう構成され、前記適応的スイッチングマスクは、前記第1のピクチャ部分の第1の選択された可変長コーディングテーブルの指示を有し、
    前記第2のエントロピーコーディングされたコードワードは、前記選択されたレベル1パターンがターミネーティングパターンであることを示し、
    前記第1のピクチャ部分は64×64ピクセルを有し、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記関連するピクチャ部分が少なくとも1つのターミネーティング32×32パーティションと共に4つの32×32パーティション又は4つの32×32非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを決定するよう構成され、
    前記ビデオデコーダは更に、
    2つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第1グループ、2つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第2グループ、3つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第3グループ、3つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第4グループ、4つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第5グループ、4つのパーティションを有するレベル1又はより上位のパターンのためのターミネーションビットを有する第6グループ、及び4つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第7グループへの前記ターミネーションビットのグループ化に基づき、前記ターミネーションビットをエントロピー復号化する処理と、
    前記ターミネーションビットのグループ化に基づき前記ターミネーションビットをエントロピー復号化する処理とを実行するよう構成され、前記ターミネーションビットをエントロピー復号化するため、前記ビデオデコーダは、第1グループのターミネーションビットに関連する可変長コーディングテーブルヘッダを決定し、前記可変長コーディングテーブルヘッダに基づく選択された可変長コーディングテーブルに基づき前記第1グループのターミネーションビットを復号化するよう構成され、
    前記マルチレベルパターンはルマパターンを有し、
    前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレームのフォロービットを決定するよう構成され、前記ビデオデコーダは更に、
    前記復号化されたフォロービットに少なくとも部分的に基づき、前記第1のピクチャ部分のクロマパターンが前記ルマパターンに一致するか判断するよう構成される、請求項43記載のシステム。
  56. 計算装置上で実行されることに応答して、請求項1乃至25何れか一項記載の方法を前記計算装置に実行させる複数の命令を有する少なくとも1つのマシーン可読媒体。
  57. 請求項1乃至25何れか一項記載の方法を実行する手段を有する装置。
JP2015551073A 2013-01-30 2014-01-24 次世代ビデオのパーティションデータのコンテンツ適応的エントロピーコーディング Active JP6339099B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JP2016506187A true JP2016506187A (ja) 2016-02-25
JP6339099B2 JP6339099B2 (ja) 2018-06-06

Family

ID=51262831

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2015545956A Expired - Fee Related JP6163674B2 (ja) 2013-01-30 2013-12-28 高効率次世代ビデオコーディングのためのコンテンツ適応双方向性又は機能性予測マルチパスピクチャ
JP2015551073A Active JP6339099B2 (ja) 2013-01-30 2014-01-24 次世代ビデオのパーティションデータのコンテンツ適応的エントロピーコーディング
JP2015551074A Expired - Fee Related JP6286718B2 (ja) 2013-01-30 2014-01-30 高効率な次世代ビデオコーディングのためのフレーム階層応答型量子化を使用する、コンテンツ適応ビットレートおよび品質管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015545956A Expired - Fee Related JP6163674B2 (ja) 2013-01-30 2013-12-28 高効率次世代ビデオコーディングのためのコンテンツ適応双方向性又は機能性予測マルチパスピクチャ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015551074A Expired - Fee Related JP6286718B2 (ja) 2013-01-30 2014-01-30 高効率な次世代ビデオコーディングのためのフレーム階層応答型量子化を使用する、コンテンツ適応ビットレートおよび品質管理

Country Status (8)

Country Link
US (14) US9787990B2 (ja)
EP (12) EP2952002A4 (ja)
JP (3) JP6163674B2 (ja)
KR (6) KR20150058324A (ja)
CN (10) CN104737542B (ja)
BR (1) BR112015015575A2 (ja)
RU (1) RU2612600C2 (ja)
WO (11) WO2014120367A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019514308A (ja) * 2016-05-10 2019-05-30 サムスン エレクトロニクス カンパニー リミテッド 映像を符号化/復号する方法及びその装置
US12126801B2 (en) 2023-05-08 2024-10-22 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor

Families Citing this family (261)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101083770B (zh) * 2002-08-08 2010-06-16 松下电器产业株式会社 图像解码方法和图像解码装置
KR101215152B1 (ko) 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US9380327B2 (en) * 2011-12-15 2016-06-28 Comcast Cable Communications, Llc System and method for synchronizing timing across multiple streams
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
CN102883163B (zh) * 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
WO2014078068A1 (en) * 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
WO2014120367A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive parametric transforms for 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
US11064204B2 (en) 2014-05-15 2021-07-13 Arris Enterprises Llc Automatic video comparison of the output of a video decoder
US20170249521A1 (en) * 2014-05-15 2017-08-31 Arris Enterprises, Inc. Automatic video comparison of the output of a video decoder
US10057593B2 (en) * 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US9699464B2 (en) * 2014-07-10 2017-07-04 Intel Corporation Adaptive bitrate streaming for wireless video
US9549188B2 (en) * 2014-07-30 2017-01-17 Intel Corporation Golden frame selection in video coding
CN104301724B (zh) * 2014-10-17 2017-12-01 华为技术有限公司 视频处理方法、编码设备和解码设备
TWI536799B (zh) * 2014-10-29 2016-06-01 虹光精密工業股份有限公司 智慧型複印設備
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10165272B2 (en) * 2015-01-29 2018-12-25 Arris Enterprises Llc Picture-level QP rate control performance improvements for HEVC encoding
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
CN104780377B (zh) * 2015-03-18 2017-12-15 同济大学 一种基于分布式计算机系统的并行hevc编码系统及方法
CN108028942B (zh) * 2015-06-04 2020-06-26 清华大学 像素预测方法、编码方法、解码方法及其装置、存储介质
GB2539198B (en) * 2015-06-08 2019-09-25 Imagination Tech Ltd Motion estimation using collocated blocks
US9942552B2 (en) * 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
US10354290B2 (en) * 2015-06-16 2019-07-16 Adobe, Inc. Generating a shoppable video
WO2016206748A1 (en) * 2015-06-25 2016-12-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Refinement of a low-pel resolution motion estimation vector
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
US10743059B2 (en) * 2015-08-30 2020-08-11 EVA Automation, Inc. Displaying HDMI content at an arbitrary location
US10430031B2 (en) * 2015-08-30 2019-10-01 EVA Automation, Inc. Displaying HDMI content in a tiled window
FR3040849A1 (fr) * 2015-09-04 2017-03-10 Stmicroelectronics (Grenoble 2) Sas Procede de compression d'un flux de donnees video
US9971791B2 (en) * 2015-09-16 2018-05-15 Adobe Systems Incorporated Method and apparatus for clustering product media files
WO2017052250A1 (ko) * 2015-09-23 2017-03-30 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2017057953A1 (ko) * 2015-09-30 2017-04-06 엘지전자 주식회사 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
US9998745B2 (en) * 2015-10-29 2018-06-12 Microsoft Technology Licensing, Llc Transforming video bit streams for parallel processing
WO2017073360A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
EP3166313A1 (en) 2015-11-09 2017-05-10 Thomson Licensing Encoding and decoding method and corresponding devices
US10283094B1 (en) * 2015-11-09 2019-05-07 Marvell International Ltd. Run-length compression and decompression of media tiles
US10972731B2 (en) * 2015-11-10 2021-04-06 Interdigital Madison Patent Holdings, Sas 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
EP3392840A4 (en) * 2015-12-14 2019-02-06 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING METHOD, THREE-DIMENSIONAL DATA DECODING METHOD, THREE-DIMENSIONAL DATA ENCODING DEVICE, AND THREE-DIMENSIONAL DATA DECODING DEVICE
WO2017114450A1 (en) * 2015-12-31 2017-07-06 Mediatek Inc. Method and apparatus of prediction binary tree structure for video and image coding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US10445862B1 (en) * 2016-01-25 2019-10-15 National Technology & Engineering Solutions Of Sandia, Llc Efficient track-before detect algorithm with minimal prior knowledge
WO2017135663A2 (ko) * 2016-02-01 2017-08-10 엘지전자 주식회사 행 -열 변환 (row- column transform)을 이용하여 변환을 수행하는 방법 및 장치
KR20170096088A (ko) * 2016-02-15 2017-08-23 삼성전자주식회사 영상처리장치, 영상처리방법 및 이를 기록한 기록매체
CN116506600A (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
WO2017178782A1 (en) 2016-04-15 2017-10-19 Magic Pony Technology Limited Motion compensation using temporal picture interpolation
WO2017178827A1 (en) * 2016-04-15 2017-10-19 Magic Pony Technology Limited In-loop post filtering for video encoding and decoding
US10574999B2 (en) * 2016-05-05 2020-02-25 Intel Corporation Method and system of video coding with a multi-pass prediction mode decision pipeline
JP2019519148A (ja) 2016-05-13 2019-07-04 ヴィド スケール インコーポレイテッド ビデオ符号化のための一般化された多重仮説予測(Generalized Multi−Hypothesis Prediction)のためのシステムおよび方法
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
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
CA3025477C (en) 2016-05-25 2023-10-03 Arris Enterprises Llc Jvet coding block structure with asymmetrical partitioning
PT3446483T (pt) * 2016-05-25 2021-06-23 Arris Entpr Llc Partição binária, ternária e quaternária para codificação jvet de dados de vídeo
MX2018014491A (es) 2016-05-25 2019-08-14 Arris Entpr Llc Metodo de particionamiento de bloque general.
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
US10880548B2 (en) 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
EP3472806A4 (en) 2016-06-17 2020-02-26 Immersive Robotics Pty Ltd IMAGE COMPRESSION METHOD AND DEVICE
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
ES2883258T3 (es) * 2016-08-04 2021-12-07 Sz Dji Technology Co Ltd Codificación de vídeo en paralelo
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
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
KR20200062365A (ko) * 2016-10-04 2020-06-03 김기백 영상 데이터 부호화/복호화 방법 및 장치
CN117176948A (zh) * 2016-10-04 2023-12-05 有限公司B1影像技术研究所 图像编码/解码方法、记录介质和传输比特流的方法
CN115022626A (zh) 2016-10-04 2022-09-06 有限公司B1影像技术研究所 图像数据编码/解码方法和计算机可读记录介质
EP3306927A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Encoding and decoding methods and corresponding devices
EP3306938A1 (en) 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for binary-tree split mode coding
US12035049B2 (en) 2016-10-06 2024-07-09 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
CN116248873A (zh) 2016-10-10 2023-06-09 三星电子株式会社 通过块映射来对图像进行编码或解码的方法和装置
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
WO2018072675A1 (en) * 2016-10-18 2018-04-26 Zhejiang Dahua Technology Co., Ltd. Methods and systems for video processing
KR20180043151A (ko) 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
WO2018074825A1 (ko) * 2016-10-19 2018-04-26 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
CN106454355B (zh) * 2016-10-24 2019-03-01 西南科技大学 一种视频编码方法及装置
CN109983771A (zh) 2016-11-21 2019-07-05 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法
CN116347077A (zh) 2016-11-21 2023-06-27 松下电器(美国)知识产权公司 计算机可读介质
KR20180057564A (ko) * 2016-11-22 2018-05-30 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
GB2556923B (en) * 2016-11-25 2020-04-15 Canon Kk Generation of VCA Reference results for VCA Auto-setting
CN117528108A (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ケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
CN116567236A (zh) * 2016-12-16 2023-08-08 夏普株式会社 图像解码方法
CN110115034B (zh) * 2016-12-23 2023-01-13 华为技术有限公司 一种用于扩展预定定向帧内预测模式集合的帧内预测装置
RU2018131580A (ru) * 2016-12-26 2021-01-26 Нек Корпорейшн Способ кодирования видео, способ декодирования видео, устройство кодирования видео, устройство декодирования видео и программа
RU2018131583A (ru) * 2016-12-26 2021-01-26 Нек Корпорейшн Способ кодирования видео, способ декодирования видео, устройство кодирования видео, устройство декодирования видео и программа
WO2018125944A1 (en) * 2016-12-28 2018-07-05 Arris Enterprises Llc Improved 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 晨星半導體股份有限公司 用於高效率視訊編碼裝置之排程方法
KR102708338B1 (ko) * 2017-01-05 2024-09-23 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 화상의 블록 기반 예측 코딩 및 디코딩
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 엘지전자(주) 행-열 변환을 이용하여 변환을 수행하는 방법 및 장치
CN109845260B (zh) 2017-02-06 2021-06-22 华为技术有限公司 编解码方法及装置
CN110495107A (zh) 2017-02-08 2019-11-22 因默希弗机器人私人有限公司 用于移动设备通信的天线控制
US10362332B2 (en) * 2017-03-14 2019-07-23 Google Llc Multi-level compound prediction
US10820017B2 (en) * 2017-03-15 2020-10-27 Mediatek Inc. Method and apparatus of video coding
WO2018169571A1 (en) * 2017-03-15 2018-09-20 Google Llc Segmentation-based parameterized motion models
US11496747B2 (en) 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
US10904531B2 (en) * 2017-03-23 2021-01-26 Qualcomm Incorporated Adaptive parameters for coding of 360-degree video
CN108665410B (zh) * 2017-03-31 2021-11-26 杭州海康威视数字技术股份有限公司 一种图像超分辨率重构方法、装置及系统
US11551067B2 (en) * 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
KR102302643B1 (ko) 2017-04-21 2021-09-14 제니맥스 미디어 인크. 모션 벡터들 예측에 의한 플레이어 입력 모션 보상을 위한 시스템들 및 방법들
CA3059740A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Systems and methods for game-generated motion vectors
KR102326456B1 (ko) 2017-04-21 2021-11-12 제니맥스 미디어 인크. 인코더-가이드 적응형-품질 렌더링을 위한 시스템들 및 방법들
AU2018254570B2 (en) 2017-04-21 2021-08-05 Zenimax Media Inc. Systems and methods for deferred post-processes in video encoding
GB2595029B (en) 2017-04-21 2022-02-09 Zenimax Media Inc Systems and methods for rendering & pre-encoded load estimation based encoder hinting
US10979728B2 (en) * 2017-04-24 2021-04-13 Intel Corporation Intelligent video frame grouping based on predicted performance
CN108810556B (zh) * 2017-04-28 2021-12-24 炬芯科技股份有限公司 压缩参考帧的方法、装置及芯片
US10638127B2 (en) * 2017-05-15 2020-04-28 Qualcomm Incorporated Adaptive anchor frame and quantization parameter decision in video coding
EP3635952B1 (en) * 2017-06-05 2024-07-03 Immersive Robotics Pty Ltd Digital content stream compression
KR102315524B1 (ko) * 2017-06-16 2021-10-21 한화테크윈 주식회사 영상의 비트레이트 조절 방법 및 영상 획득 장치
CN107222751B (zh) * 2017-06-23 2019-05-10 宁波大学科学技术学院 基于多视点视频特征的3d-hevc深度视频信息隐藏方法
CN118233624A (zh) 2017-06-26 2024-06-21 交互数字Vc控股公司 用于视频编码和解码的方法及设备
CN112601084A (zh) 2017-06-28 2021-04-02 华为技术有限公司 一种图像数据的编码、解码方法及装置
US10848761B2 (en) 2017-06-29 2020-11-24 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 成都图必优科技有限公司 一种基于透视模型的运动前视视频帧间预测编码方法
CN114554221B (zh) 2017-07-19 2023-08-01 三星电子株式会社 编码方法及用于其的设备、解码方法及用于其的设备
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
CN116489354A (zh) * 2017-09-28 2023-07-25 Lg 电子株式会社 图像编译系统中根据块分离结构的图像解码方法和设备
US10623744B2 (en) * 2017-10-04 2020-04-14 Apple Inc. Scene based rate control for video compression and video streaming
EP4336800A3 (en) 2017-10-10 2024-05-29 Google LLC Distributed sample-based game profiling with game metadata and metrics and gaming api platform supporting third-party content
EP3714598A4 (en) 2017-11-21 2021-03-31 Immersive Robotics Pty Ltd SELECTING A FREQUENCY COMPONENT FOR IMAGE COMPRESSION
AU2018372561B2 (en) 2017-11-21 2023-01-05 Immersive Robotics Pty Ltd Image compression for digital reality
CN111164980A (zh) 2017-11-30 2020-05-15 深圳市大疆创新科技有限公司 用于控制图像帧内的视频编码的系统和方法
CN110832856A (zh) 2017-11-30 2020-02-21 深圳市大疆创新科技有限公司 用于减小视频编码波动的系统及方法
WO2019104635A1 (en) * 2017-11-30 2019-06-06 SZ DJI Technology Co., Ltd. System and method for controlling video coding at frame level
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 聯發科技股份有限公司 影像處理裝置與相關的影像處理方法
WO2019147628A1 (en) 2018-01-24 2019-08-01 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
KR102543449B1 (ko) * 2018-01-26 2023-06-14 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 장치의 동작 방법
EP4221201A1 (en) 2018-01-29 2023-08-02 InterDigital VC Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
US11563970B2 (en) * 2018-02-26 2023-01-24 Interdigital Vc Holdings, Inc. Method and apparatus for generalized OBMC
WO2019167673A1 (ja) * 2018-03-01 2019-09-06 ソニー株式会社 画像処理装置および方法、撮像素子、並びに、撮像装置
US11004178B2 (en) 2018-03-01 2021-05-11 Nvidia Corporation Enhancing high-resolution images with data from low-resolution images
US10432962B1 (en) * 2018-03-13 2019-10-01 Pixelworks, Inc. Accuracy and local smoothness of motion vector fields using motion-model fitting
CN110309328B (zh) * 2018-03-14 2022-03-25 深圳云天励飞技术有限公司 数据存储方法、装置、电子设备及存储介质
EP3700640B1 (en) * 2018-03-22 2021-05-26 Google LLC Methods and systems for rendering and encoding content for online interactive gaming sessions
CN108449599B (zh) * 2018-03-23 2021-05-18 安徽大学 一种基于面透射变换的视频编码与解码方法
KR102694451B1 (ko) 2018-04-02 2024-08-13 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
CN111886057B (zh) 2018-04-02 2024-09-20 谷歌有限责任公司 用于电子系统的输入装置
TWI700922B (zh) * 2018-04-02 2020-08-01 聯發科技股份有限公司 用於視訊編解碼系統中的子塊運動補償的視訊處理方法和裝置
EP3701489B1 (en) 2018-04-10 2022-10-26 Google LLC Memory management in gaming rendering
US10491897B2 (en) * 2018-04-13 2019-11-26 Google Llc Spatially adaptive quantization-aware deblocking filter
US10798382B2 (en) * 2018-04-26 2020-10-06 Tencent America LLC Sub-block transform
EP3562162A1 (en) 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on neural network implementation of cabac
EP3804314B1 (en) * 2018-05-29 2024-01-17 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
CN118694935A (zh) * 2018-08-20 2024-09-24 日本放送协会 编码装置、解码装置以及程序
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
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
US11606569B2 (en) * 2018-09-25 2023-03-14 Apple Inc. Extending supported components for encoding image data
US10893281B2 (en) 2018-10-12 2021-01-12 International Business Machines Corporation Compression of a video stream having frames with relatively heightened quality parameters on blocks on an identified point of interest (PoI)
US10764589B2 (en) * 2018-10-18 2020-09-01 Trisys Co., Ltd. Method and module for processing image data
CN111083491B (zh) 2018-10-22 2024-09-20 北京字节跳动网络技术有限公司 细化运动矢量的利用
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
WO2020098644A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Bandwidth control methods for inter prediction
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
CN113170171B (zh) 2018-11-20 2024-04-12 北京字节跳动网络技术有限公司 组合帧间帧内预测模式的预测细化
CN117319644A (zh) 2018-11-20 2023-12-29 北京字节跳动网络技术有限公司 基于部分位置的差计算
WO2020103935A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Blending 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
CN113273189B (zh) * 2018-12-31 2024-08-16 北京字节跳动网络技术有限公司 具有MVD的Merge和AMVR之间的交互
US10645386B1 (en) * 2019-01-03 2020-05-05 Sony Corporation Embedded codec circuitry for multiple reconstruction points based quantization
WO2020156517A1 (en) 2019-01-31 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Fast algorithms for symmetric motion vector difference coding mode
KR20210121021A (ko) 2019-01-31 2021-10-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 어파인 모드 적응적 움직임 벡터 해상도 코딩 문맥
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 日本放送協会 動画像符号化装置、動画像復号装置及びプログラム
WO2020182207A1 (en) * 2019-03-13 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Partitions on sub-block transform mode
US10924625B2 (en) * 2019-03-20 2021-02-16 Xerox Corporation Dynamic compression acceleration using real-time image data entropy analysis
EP3942475B1 (en) * 2019-03-21 2024-07-10 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
KR102610709B1 (ko) 2019-04-02 2023-12-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 디코더 측 움직임 벡터 유도
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
EP3981155A4 (en) 2019-06-24 2022-08-17 Alibaba Group Holding Limited ADAPTIVE RESOLUTION CHANGE IN VIDEO PROCESSING
CN110339567B (zh) * 2019-07-17 2023-05-26 三星电子(中国)研发中心 系统资源配置、场景预测模型训练方法和装置
CN114503581A (zh) 2019-08-06 2022-05-13 Op方案有限责任公司 基于块的自适应分辨率管理
CN114467305A (zh) 2019-08-06 2022-05-10 Op方案有限责任公司 自适应分辨率管理预测重缩放
EP4011068A4 (en) 2019-08-06 2023-08-09 OP Solutions, LLC IMPLICIT SIGNALING OF ADAPTIVE RESOLUTION MANAGEMENT BASED ON FRAME TYPE
WO2021026363A1 (en) * 2019-08-06 2021-02-11 Op Solutions, Llc Implicit signaling of adaptive resolution management based on frame type
GB2586517B (en) * 2019-08-23 2022-06-15 Imagination Tech Ltd Methods and decompression units for decompressing a compressed block of image data
CN112449140B (zh) * 2019-08-29 2021-09-14 华为技术有限公司 视频超分辨率处理方法及装置
EP4035367A1 (en) * 2019-09-23 2022-08-03 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
US11589052B2 (en) * 2020-06-10 2023-02-21 Tencent America LLC Techniques for bitstream extraction for subpicture in coded video stream
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
US11436699B1 (en) * 2020-08-03 2022-09-06 Meta Platforms, Inc. Predicting encoding parameters for convex hull video encoding
US11388413B1 (en) 2020-08-03 2022-07-12 Meta Platforms, Inc. Fast encoding parameter selection 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
GB2608107B (en) * 2021-06-18 2023-06-14 Imagination Tech Ltd Mapping multi-dimensional coordinates to a 1D space
KR102562380B1 (ko) * 2021-10-18 2023-08-02 (주)카이미디어 8k 스케일러블 비디오 부호화 방법
US11991424B2 (en) * 2021-11-05 2024-05-21 Tencent America LLC Immersive media data complexity analyzer for transformation of asset formats
CN115002482B (zh) * 2022-04-27 2024-04-16 电子科技大学 使用结构性保持运动估计的端到端视频压缩方法及系统
WO2023219600A1 (en) * 2022-05-07 2023-11-16 Google Llc Motion vector coding using a motion vector precision
US20230412812A1 (en) * 2022-06-15 2023-12-21 Tencent America LLC Systems and methods for joint signaling of transform coefficient signs
US20240080483A1 (en) * 2022-08-26 2024-03-07 Tencent America LLC Systems and methods for warp sample selection and grouping
CN115272083B (zh) * 2022-09-27 2022-12-02 中国人民解放军国防科技大学 一种图像超分辨率方法、装置、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP2004007778A (ja) * 2003-07-14 2004-01-08 Victor Co Of Japan Ltd 動き補償復号化方法
JP2005301457A (ja) * 2004-04-07 2005-10-27 Fuji Xerox Co Ltd 画像処理装置、プログラムおよび記録媒体
JP2008259224A (ja) * 2002-06-06 2008-10-23 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2012080213A (ja) * 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2012122355A1 (en) * 2011-03-10 2012-09-13 Qualcomm Incorporated Transforms in video coding
JP2012186763A (ja) * 2011-03-08 2012-09-27 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CA2840887A1 (en) * 2011-07-01 2013-01-10 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding

Family Cites Families (158)

* 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
JP3929492B2 (ja) 1995-10-25 2007-06-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ セグメント化画像符号化方法及びシステム並びにその復号化方法及びシステム
JP3743837B2 (ja) * 1996-06-14 2006-02-08 株式会社大宇エレクトロニクス ランレングス符号器
US5953506A (en) 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
CN1134172C (zh) * 1997-01-13 2004-01-07 皇家菲利浦电子有限公司 数字视频信号中的嵌入补充数据
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 富士ゼロックス株式会社 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法
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
AU2002236659A1 (en) 2000-12-19 2002-07-01 Pulsent Corporation Adaptive transforms
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
ES2665693T3 (es) 2001-11-06 2018-04-26 Panasonic Intellectual Property Corporation Of America Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
US7453936B2 (en) * 2001-11-09 2008-11-18 Sony Corporation Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system
GB2382940A (en) 2001-11-27 2003-06-11 Nokia Corp Encoding objects and background blocks
WO2003053066A1 (en) * 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
AU2003285850A1 (en) 2002-04-23 2004-04-30 Nokia Corporation Method and device for indicating quantizer parameters in a video coding system
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
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
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
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> シーンチェンジ検出装置およびシーンチェンジ検出プログラム
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
KR100703773B1 (ko) 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
US7397933B2 (en) 2005-05-27 2008-07-08 Microsoft Corporation Collusion resistant desynchronization for digital video fingerprinting
US8064516B2 (en) * 2005-06-02 2011-11-22 Broadcom Corporation Text recognition during video compression
KR20070006445A (ko) * 2005-07-08 2007-01-11 삼성전자주식회사 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
WO2007011851A2 (en) * 2005-07-15 2007-01-25 Texas Instruments Incorporated Filtered and warped motion compensation
CN101263513A (zh) 2005-07-15 2008-09-10 德克萨斯仪器股份有限公司 过滤和扭曲的运动补偿
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
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
KR101382101B1 (ko) * 2006-08-25 2014-04-07 톰슨 라이센싱 감소된 해상도의 파티셔닝을 위한 방법 및 장치
US8532178B2 (en) 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
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
EP4224853A1 (en) 2006-11-08 2023-08-09 InterDigital VC Holdings, Inc. Methods and apparatus for in-loop de-artifact filtering
US7460725B2 (en) 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information
US8875199B2 (en) * 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
EP1926321A1 (en) 2006-11-27 2008-05-28 Matsushita Electric Industrial Co., Ltd. Hybrid texture representation
US8396118B2 (en) * 2007-03-19 2013-03-12 Sony Corporation System and method to control compressed video picture quality for a given average bit rate
TW200840366A (en) 2007-03-28 2008-10-01 Univ Nat Central Complexity control method of video encoder
KR101336445B1 (ko) * 2007-06-08 2013-12-04 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8437564B2 (en) 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
GB0716158D0 (en) 2007-08-17 2007-09-26 Imagination Tech Ltd Data compression
US8526489B2 (en) * 2007-09-14 2013-09-03 General Instrument Corporation Personal video recorder
WO2009045682A2 (en) * 2007-09-28 2009-04-09 Athanasios Leontaris Treating video information
US9445110B2 (en) * 2007-09-28 2016-09-13 Dolby Laboratories Licensing Corporation Video compression and transmission 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
EP2277314A1 (en) * 2008-05-22 2011-01-26 Telefonaktiebolaget LM Ericsson (publ) Content adaptive video encoder and coding method
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
TWI359617B (en) 2008-07-03 2012-03-01 Univ Nat Taiwan Low-complexity and high-quality error concealment
US8625681B2 (en) * 2008-07-09 2014-01-07 Intel Corporation Rate-distortion cost reducing video encoding techniques
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101441903B1 (ko) 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP4427600B1 (ja) 2008-11-28 2010-03-10 株式会社東芝 映像解析装置およびプログラム
US8774559B2 (en) * 2009-01-19 2014-07-08 Sharp Laboratories Of America, Inc. Stereoscopic dynamic range image sequence
TWI498003B (zh) 2009-02-02 2015-08-21 Thomson Licensing 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
EP2271102A1 (en) 2009-06-29 2011-01-05 Thomson Licensing Adaptive residual image coding
US20120127003A1 (en) 2009-08-06 2012-05-24 Youji Shibahara Coding method, decoding method, coding apparatus, and decoding apparatus
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 並列復号装置及びプログラム並びに符号化データの並列復号方法
JPWO2011039931A1 (ja) 2009-09-30 2013-02-21 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US8705623B2 (en) * 2009-10-02 2014-04-22 Texas Instruments Incorporated Line-based compression for digital image data
EP2312854A1 (de) * 2009-10-15 2011-04-20 Siemens Aktiengesellschaft Verfahren zur Codierung von Symbolen aus einer Folge digitalisierter Bilder
CN102939749B (zh) * 2009-10-29 2016-12-28 韦斯特尔电子行业和贸易有限公司 用于处理视频序列的方法和设备
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
US20120281759A1 (en) * 2010-03-31 2012-11-08 Lidong Xu 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
CN106231337B (zh) 2010-04-13 2020-06-19 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
CN103119849B (zh) * 2010-04-13 2017-06-16 弗劳恩霍夫应用研究促进协会 概率区间分割编码器和译码器
WO2011127961A1 (en) 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Adaptive image filtering method and apparatus
US20110255594A1 (en) * 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
KR101444691B1 (ko) * 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
WO2011150109A1 (en) 2010-05-26 2011-12-01 Qualcomm Incorporated Camera parameter- assisted video frame rate up conversion
KR20110135787A (ko) 2010-06-11 2011-12-19 삼성전자주식회사 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법
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
US20130148717A1 (en) 2010-08-26 2013-06-13 Freescale Semiconductor, Inc. Video processing system and method for parallel processing of video data
ES2868133T3 (es) * 2010-09-27 2021-10-21 Lg Electronics Inc Método para partición de bloque y dispositivo de decodificación
US9628821B2 (en) * 2010-10-01 2017-04-18 Apple Inc. Motion compensation using decoder-defined vector quantized interpolation filters
US8885704B2 (en) * 2010-10-01 2014-11-11 Qualcomm Incorporated Coding prediction modes in video coding
US8913666B2 (en) 2010-10-01 2014-12-16 Qualcomm Incorporated Entropy coding coefficients using a joint context model
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
EP2630799A4 (en) * 2010-10-20 2014-07-02 Nokia Corp 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 深圳市云宙多媒体技术有限公司 一种帧间预测方法、装置
CN103416062A (zh) 2011-01-07 2013-11-27 三星电子株式会社 能够执行双向预测和单向预测的视频预测方法及其装置、视频编码方法及其装置以及视频解码方法及其装置
WO2012096176A1 (en) * 2011-01-12 2012-07-19 Panasonic Corporation Methods and apparatuses for encoding and decoding video using multiple reference pictures
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
US9154799B2 (en) * 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US20120262545A1 (en) * 2011-04-18 2012-10-18 Paul Kerbiriou Method for coding and decoding a 3d video signal and corresponding devices
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
KR101215152B1 (ko) 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US8494290B2 (en) 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
US8989270B2 (en) * 2011-06-23 2015-03-24 Apple Inc. Optimized search for reference frames in predictive video coding system
NO335667B1 (no) 2011-06-29 2015-01-19 Cisco Systems Int Sarl Metode for videokomprimering
EP2727355A1 (en) 2011-06-29 2014-05-07 Motorola Mobility LLC Methods and system for using a scan coding pattern during intra coding
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 엘지이노텍 주식회사 카메라 및 이의 영상 처리 방법
KR101677406B1 (ko) 2012-11-13 2016-11-29 인텔 코포레이션 차세대 비디오용 비디오 코덱 아키텍처
WO2014078068A1 (en) 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
WO2014120367A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive parametric transforms for coding for next generation video

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP2008259224A (ja) * 2002-06-06 2008-10-23 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2004007778A (ja) * 2003-07-14 2004-01-08 Victor Co Of Japan Ltd 動き補償復号化方法
JP2005301457A (ja) * 2004-04-07 2005-10-27 Fuji Xerox Co Ltd 画像処理装置、プログラムおよび記録媒体
JP2012080213A (ja) * 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2012186763A (ja) * 2011-03-08 2012-09-27 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2012122355A1 (en) * 2011-03-10 2012-09-13 Qualcomm Incorporated Transforms in video coding
CA2840887A1 (en) * 2011-07-01 2013-01-10 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JAEHYUN LIM(外1名): "CE6.c: VLC improvement for intra partitioning on SDIP", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC, JPN6016028634, 30 November 2011 (2011-11-30), US, pages 1 - 4, ISSN: 0003581232 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019514308A (ja) * 2016-05-10 2019-05-30 サムスン エレクトロニクス カンパニー リミテッド 映像を符号化/復号する方法及びその装置
US11019335B2 (en) 2016-05-10 2021-05-25 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor
CN115174937A (zh) * 2016-05-10 2022-10-11 三星电子株式会社 用于对图像进行编码/解码的方法及其装置
US11770526B2 (en) 2016-05-10 2023-09-26 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor
JP7445042B2 (ja) 2016-05-10 2024-03-06 サムスン エレクトロニクス カンパニー リミテッド 映像を符号化/復号する方法及びその装置
US12126801B2 (en) 2023-05-08 2024-10-22 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6339099B2 (ja) 次世代ビデオのパーティションデータのコンテンツ適応的エントロピーコーディング
KR102596735B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
JP7303322B2 (ja) イントラ予測のためのエンコーダ、デコーダおよび対応する方法
JP6055555B2 (ja) 次世代ビデオのためのビデオコーデックアーキテクチャ
KR20150056811A (ko) 차세대 비디오를 위한 콘텐츠 적응적 변환 코딩
TW202002636A (zh) 網格寫碼之量化係數寫碼
JP2023100834A (ja) モードおよびサイズに依存したブロックレベル制限の方法および装置
KR20240093885A (ko) Ibc 병합 리스트를 사용하는 인코더, 디코더 및 대응하는 방법들
CN113785565B (zh) 视频编解码的方法和系统
RU2787217C1 (ru) Способ и устройство интерполяционной фильтрации для кодирования с предсказанием
RU2800681C2 (ru) Кодер, декодер и соответствующие способы для внутреннего предсказания

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180509

R150 Certificate of patent or registration of utility model

Ref document number: 6339099

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250