KR20150090206A - 차세대 비디오를 위한 코딩을 위한 콘텐츠 적응적 파라메트릭 변환 - Google Patents

차세대 비디오를 위한 코딩을 위한 콘텐츠 적응적 파라메트릭 변환 Download PDF

Info

Publication number
KR20150090206A
KR20150090206A KR1020157017114A KR20157017114A KR20150090206A KR 20150090206 A KR20150090206 A KR 20150090206A KR 1020157017114 A KR1020157017114 A KR 1020157017114A KR 20157017114 A KR20157017114 A KR 20157017114A KR 20150090206 A KR20150090206 A KR 20150090206A
Authority
KR
South Korea
Prior art keywords
transform
parametric
closed
partition
coding
Prior art date
Application number
KR1020157017114A
Other languages
English (en)
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 KR20150090206A publication Critical patent/KR20150090206A/ko

Links

Images

Classifications

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

Landscapes

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

Abstract

본 발명에 따른 비디오 코딩을 위한 방법은 변환 코딩을 위해 예측 오차 데이터 또는 코딩 파티션 또는 원 픽셀 데이터의 파티션을 수신하는 단계와, 예측 오차 데이터 또는 코딩 파티션 또는 원 픽셀 데이터의 파티션에 폐쇄형 파라메트릭 변환(a closed-form parametric transform)을 수행하여 변환 계수를 생성하는 단계와, 변환 계수를 양자화하여 양자화된 변환 계수를 생성하는 단계와, 양자화된 변환 계수와 연관된 데이터를 비트스트림으로 엔트로피 인코딩하는 단계를 포함한다.

Description

차세대 비디오를 위한 코딩을 위한 콘텐츠 적응적 파라메트릭 변환{CONTENT ADAPTIVE PARAMETRIC TRANSFORMS FOR CODING FOR NEXT GENERATION VIDEO}
<관련 출원>
본 출원은, 그 내용이 본 명세서에 전체로 통합되는 2013년 1월 30일에 출원된 "NEXT GENERATION VIDEO CODING"이라는 명칭의 미국 가출원 제61/758,314호의 우선권을 주장한다.
비디오 인코더는 비디오 정보를 압축하여 더 많은 정보가 주어진 대역폭을 통해 송신될 수 있도록 한다. 압축 신호는 디코더를 갖는 수신기로 전송되어, 디스플레이에 앞서 신호를 디코딩하거나 압축을 해제할 수 있다.
고효율 비디오 코딩(HEVC)은 최근의 비디오 압축 표준이며, ISO/IEC 동영상 전문가 그룹(Moving Picture Expert Group, MPEG)과 ITU-T 비디오 코딩 전문가 그룹(Video Coding Experts Group, VCEG)에 의해 형성된 JCT-VC(Joint Collaborative Team on Video Coding)에 의해서 개발되고 있다. HEVC는 진화하는 더 높은 해상도 비디오 애플리케이션을 위한 충분한 압축을 제공하지 못하는 이전의 H.264/AVC(Advanced Video Coding)에 대응하여 개발되고 있다. 이전의 비디오 코딩 표준과 유사하게, HEVC는 인트라/인터 예측(intra/inter prediction), 변환, 양자화, 인-루프 필터링 및 엔트로피 코딩과 같은 기본적인 기능적 모듈을 포함한다.
진행중인 HEVC 표준은 허용된 예측 파티션과 코딩 파티션의 제한된 선택권, 제한적으로 허용되는 복수의 참조와 예측 생성, 제한된 변환 블록 크기 및 실제 변환, 코딩 아트팩트(artfact)를 줄이기 위한 제한된 메커니즘, 그리고 비효율적인 엔트로피 인코딩 기법과 같은 H.264/AVC 표준의 한계를 개선하려고 할 수 있다. 그러나, 진행중인 HEVC 표준은 이러한 문제를 해결하기 위한 반복적인 접근방법을 사용할 수 있다.
본 개시에서 기술되는 자료는 예시의 방식으로 도해되고 첨부하는 도면에 한정되는 방식으로 도해되지 않는다. 도해의 단순함과 명확함을 위하여, 도면에 도해되는 구성요소는 필수적으로 크기 조정되어 도시되지는 않는다. 예를 들면, 어떤 구성요소의 크기는 명확함을 위하여 다른 구성요소와 관련하여 확대될 수 있다. 또한, 적절하다고 여겨지는 곳에서, 대응하거나 유사한 구성요소를 나타내도록 참조 라벨이 도면 간에 반복된다.
도 1은 일 예의 차세대 비디오 인코더의 예시적인 다이어그램이다.
도 2는 일 예의 차세대 비디오 디코더의 예시적인 다이어그램이다.
도 3은 일 예의 인코더 서브시스템의 예시적인 다이어그램이다.
도 4는 일 예의 인코더 서브시스템의 예시적인 다이어그램이다.
도 5는 일 예의 인코더 서브시스템의 예시적인 다이어그램이다.
도 6은 일 예의 인코더 서브시스템의 예시적인 다이어그램이다.
도 7은 일 예의 프로세스를 도시하는 흐름도이다.
도 8은 이진-트리 분할 기법을 사용하는 비디오 데이터의 분할의 예를 도시한다.
도 9는 k-d 트리 분할 기법을 사용하는 비디오 데이터의 분할의 예를 도시한다.
도 10a, 10b 및 10c는 코딩 파티션에 동작하는 예시적인 파라메트릭 변환 및 하이브리드 파라메트릭 변환을 도시한다.
도 11a 및 11b는 코딩 파티션과 관련한 예시적인 이웃 재구성된 비디오 데이터를 도시한다.
도 12는 코딩 파티션을 위한 예시적인 이웃 재구성된 비디오 데이터를 도시한다.
도 13은 슬로프를 갖는 코딩 파티션을 코딩하기 위해 파라메트릭 변환을 이용하기 위한 픽셀의 방향성 재배열을 도시한다.
도 14는 일 예의 비트스트림을 도시한다.
도 15는 일 예의 프로세시를 예시하는 흐름도이다.
도 16은 예시적인 양호한 변환 쌍을 예시한다.
도 17은 웨이블릿(wavelet) 기반 비디오 인코더의 예시적인 다이어그램이다.
도 18은 웨이블릿 기반 비디오 디코더의 예시적인 다이어그램이다.
도 19a 및 도 19b는 일 예의 비디오 코딩 시스템 및 동작 시 비디오 코딩 프로세스를 예시하는 도면이다.
도 20은 일 예의 비디오 코딩 시스템의 예시적인 다이어그램이다.
도 21은 일 예의 시스템의 예시적인 다이어그램이다.
도 22는 본 개시의 적어도 일부 구현에 따라 전체적으로 구성된 장치를 예시한다.
하나 이상의 실시예 또는 구현예가 첨부되는 도면을 참조하여 지금 설명된다. 특정 구성과 배열이 논의되지만, 이는 오직 설명의 목적이라는 것이 이해되어야 한다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 다른 구성과 배열이 본 상세한 설명의 정신과 영역으로부터 벗어나지 않고 채택될 수 있다는 것을 이해할 것이다. 본 개시에서 기술되는 기법 및/또는 구성은 또한 본 개시에서 설명되는 것 이외의 다양한 다른 시스템과 응용에 채택될 수 있다는 것이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다.
다음의 상세한 설명은, 예를 들면, 시스템온칩(SoC) 아키텍처와 같은 아키텍처에 나타날 수 있는 다양한 구현을 제시하지만, 그러나 본 개시에서 설명되는 기법 및/또는 배열의 구현은 특정 아키텍처 및/또는 컴퓨팅 시스템에 한정되지 않으며, 또한 유사한 목적으로 어떠한 아키텍처 및/또는 컴퓨팅 시스템에 의해서도 구현될 수 있다. 즉, 예를 들면, 복수의 집적회로(IC) 칩 및/또는 패키지, 및/또는 다양한 컴퓨팅 장치 및/또는 세톱 박스, 스마트폰 등과 같은 소비자 전자(CE) 장치를 사용하는 다양한 아키텍처는 본 개시에서 기술되는 기법 및/또는 배열을 구현할 수 있다. 또한, 다음의 설명은 로직 구현, 시스템 컴포넌트의 타입과 상호관계, 로직 분할/통합 선택권 등과 같은 많은 특정 세부사항을 제시하는 한편, 청구되는 주요 재료는 이러한 특정 세부사항 없이 실현될 수 있다. 다른 예로서, 예를 들면, 제어 구조 및 완전 소프트웨어 명령어 시퀀스와 같은 어떤 재료는 여기 개시되는 재료를 모호하게 하지 않기 위하여 상세하게 보여지지 않을 수 있다.
본 개시에서 설명되는 재료는 하드웨어, 펌웨어, 소프트웨어, 또는 그들의 임의의 조합에 의하여 구현될 수 있다. 여기 개시되는 재료는 또한, 하나 이상의 프로세서에 의해서 읽혀지고 실행되는, 머신-판독 가능한 매체에 저장되는 명령어로서 구현될 수 있다. 머신-판독 가능한 매체는 머신(예를 들면, 컴퓨팅 장치)에 의해 판독가능한 형식으로 정보를 저장하거나 전송하는 어떤 매체 및/또는 메카니즘을 포함할 수 있다. 예를 들면, 머신-판독가능한 매체는 읽기 전용 메모리(ROM), 랜덤 접근 메모리(RAM), 마그네틱 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치, 전자, 광, 음향 또는 그 밖의 형식의 전파되는 신호(반송파, 적외선 신호, 디지털 신호 등) 등을 포함할 수 있다.
"하나의 구현예", "일 구현예", "일 예의 구현예" 등에 대한 명세서 내의 참조는 기술되는 구현이 특정 특징, 구조, 또는 특성을 포함하지만, 그러나 모든 실시예가 반드시 상기 특정 특징, 구조, 또는 특성을 포함할 필요는 없다는 것을 나타낸다. 더욱이, 그러한 구문은 반드시 동일한 구현예를 참조하지는 않는다. 또한, 특정 특징, 구조, 또는 특성이 일 실시예와 연관되어 설명될 때, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진자의 지식 내에서, 본 개시에서 명시적으로 기술되던 아니던 간에 다른 구현예와 연관된 그러한 특징, 구조 또는 특성을 발휘하도록 제시된다.
시스템, 장치, 물건, 방법이 비디오 코딩을 위한 콘텐츠 적응적 변환에 관련되어 이하 설명된다.
차세대 비디오(NGV) 시스템, 장치 물건 및 방법이 이하 설명된다. NGV 비디오 코딩은 중요한 콘텐츠 기반의 적응성을 비디오 코딩 프로세스에 채택하여 더 높은 수준의 압축을 성취할 수 있다. 상술한 것처럼, H.264/AVC 표준은 다양한 한계가 있으며 표준을 개선하기 위한 시도가 진행중인데, 예를 들면, HEVC 표준은 이러한 한계를 해결하기 위한 반복적인 접근방법을 사용할 수 있다. 여기서, 인코더와 디코더를 포함하는 NGV 시스템이 설명될 것이다.
또한 논의된 것처럼, H.264/AVC 표준은 코딩 파티션(coding partitions)과 고정 변환(fixed transforms)의 한정된 선택을 포함한다. 특히, 여기서 논의되는것 처럼, 비디오 데이터가 변환 코딩을 위하여 수신될 수 있다. 비디오 데이터는, 예를 들면, 잔차(residual) 비디오 데이터, 예측 파티션, 예측 오차 데이터 파티션, 타일 또는 수퍼-프래그먼트(super-fragment), 또는 웨이블릿 데이터와 같은 변환 코딩을 위한 적절한 데이터를 포함할 수 있다. 예를 들면, 비디오 데이터는 예측 파티션에 대한 오차 데이터를 갖는 예측 오차 데이터 파티션을 포함할 수 있다. 예를 들면, 예측 파티션은 타일의 파티션 또는 비디오 프레임의 수퍼-프래그먼트를 포함할 수 있다.
수신된 비디오 데이터는 분할될 수 있다. 다양한 예에서, 비디오 데이터는, 이진-트리(bi-tree) 분할 또는 k-d 트리 분할을 사용하여, 비디오 데이터와 연관된 데이터 타입(예를 들면, F/B-픽처(예를 들면, 기능성 또는 양-방향성), P-픽처(예를 들면, 예측적), 또는 I-픽처(예를 들면, 인트라 보상만의)) 또는 예측 기법(예를 들면, 인터- 또는 인트라- 또는 그 유사물)에 기초하여 분할될 수 있다. 일부 실시예에서, 비디오 데이터는 (예를 들면, P- 및 F/B-픽처를 위한 인터 예측과 연관된) 예측 오차 데이터 파티션을 포함할 수 있고, 예측 오차 데이터 파티션은 코딩 파티션으로 분할될 수 있다. 예를 들면, 예측 오차 데이터 파티션은 이진-트리 분할 또는 k-d 트리 분할을 사용하여 코딩 파티션으로 분할될 수 있다. 여기서 사용될 때, 용어 F/B-픽처는 F-픽처(예를 들면, 기능성) 또는 B-픽처(예를 들면, 양방향성)를 포함하여 상기 픽처가 이전에 디코딩된 픽처 또는 프레임을 예측을 위하여 사전에 또는 미래에 사용할 수 있도록 한다.
일부 실시예에서, 비디오 데이터는 (I-픽처에 대한 또는 P- 및 F/B-픽처 내의 인트라 예측을 위한) 인트라-예측을 위한 타일 또는 비디오 프레임의 수퍼-프래그먼트를 포함하며, 이는 예측용 파티션을 생성하도록 분할될 수 있다. 일부 실시예에서, 이러한 분할은 I-픽처에 대하여 k-d 트리 분할을 사용하고 P- 및 F/B-픽처에 대하여 이진-트리 분할을 사용하여 수행될 수 있다. 예측용 파티션과 연관된 예측 파티션이 (예를 들면, 인트라-예측 기법을 통해) 생성되고, 또한 원 픽셀 데이터와 구별되어 예측 오차 데이터 파티션을 생성할 수 있다. 이와 같은 예에서, 오직 단일 레벨 분할만이 수행될 수 있고 예측 오차 데이터 파티션은 코딩 파티션으로 여겨질 수 있다. 일부 실시예에서, 비디오 데이터는 원 픽셀 데이터(또는 그것의 파티션)을 가질 수 있어 원 픽셀 데이터가 프로세싱될 수 있다(예를 들어, 코딩된 변환 등이 본 개시에서 논의됨). 예를 들어, 이와 같은 원 픽셀 데이터는 I-픽처 및 인트라 코딩을 위해 프로세싱되고 비트스트림을 통해 전송될 수 있다.
일부 실시예에서, 복수의 코딩 파티션이 변환됨으로써 상기 코딩 파티션의 서브셋(예를 들면, 소형 크기 내지 중간 크기의 코딩 파티션)이 콘텐츠 적응적 변환(예를 들면, 블록형 적응적 변환 기반을 갖는 변환)을 사용하여 변환되고, 또한 상기 코딩 파티션의 다른 서브셋(예를 들면, 중간 크기 내지 대형 크기의 파티션)이 고정 변환(예를 들면, 고정된 기반을 갖는 변환)을 사용하여 변환될 수 있다. 다른 예에서, 코딩 파티션의 서브셋(예를 들면, 소형 크기 내지 중간 크기의 파티션)이 콘텐츠 적응적 변환을 사용하여 변환되고, 또한 실질적으로 상기 모든 코딩 파티션이 고정 변환을 사용하여 변환되도록 할 수 있다. 변환의 성공 및 관련 비트 비용과 오차율에 기초하여, 코딩 파티션에 대하여 콘텐츠 적응적 변환(들) 및 고정 변환(들) 간에 선택하도록 비트율 왜곡(rate distortion) 최적화 등이 취해질 수 있다.
논의된 것처럼 이진-트리 및 k-d 트리 분할이 픽처 또는 예측 타입에 기초하여 사용되는 예에서, 유사한 기법이 적용될 수 있다. 일부 예에서, 이진-트리 코딩 파티션들은, 상기 코딩 파티션의 한 서브셋(예를 들면, 소형 크기 내지 중간 크기의 파티션)이 콘텐츠 적응적 변환(content adaptive transform)을 사용하여 변환되고, 코딩 파티션의 다른 서브셋(예를 들면, 중간 크기 내지 대형 크기의 파티션)은 고정 변환(fixed transform)을 사용하여 변환되도록, 변환될 수 있다. 유사하게, 일부 예에서, k-d 트리 코딩 파티션들은, 상기 파티션의 한 서브셋(예를 들면, 소형 크기 내지 중간 크기의 파티션)이 콘텐츠 적응적 변환을 사용하여 변환되고, 파티션의 다른 서브셋(예를 들면, 중간 크기 내지 대형 크기의 파티션)은 고정 변환을 사용하여 변환되도록, 변환될 수 있다. 다른 예에서, 이진-트리 파티션들은, 상기 코딩 파티션의 한 서브셋(예를 들면, 소형 크기 내지 중간 크기의 파티션)이 콘텐츠 적응적 변환을 사용하여 변환되고, 실질적으로 모든 코딩 파티션이 고정 변환을 사용하여 변환되도록, 변환될 수 있다. 변환의 성공 및 관련 비트 비용과 오차율에 기초하여, 콘텐츠 적응적 변환(들) 및 고정 변환(들) 간에 선택하도록 속도 결정(rate determination) 최적화 등이 취해질 수 있다. 유사하게, 일부 예에서, k-d 트리 파티션들은, 상기 파티션의 한 서브셋(예를 들면, 소형 크기 내지 중간 크기의 파티션)이 콘텐츠 적응적 변환을 사용하여 변환되고, 실질적으로 모든 코딩 파티션이 고정 변환을 사용하여 변환되도록, 변환될 수 있으며, 또한, 변환의 성공 및 관련 비트 비용과 오차율에 기초하여, 콘텐츠 적응적 변환 결과 및 고정 변환 결과 간에 선택하도록 속도 결정 최적화 등이 취해질 수 있다.
다양한 예에서, 적절한 변환으로부터의 결과 데이터(예를 들면, 변환 계수)와 관련 코딩 파티션(들)을 정의하는 데이터가 양자화되고, 스캐닝되고 그리고 전송을 위하여 비트스트림으로 엔트로피 인코딩될 수 있다. 비트스트림이 디코딩될 수 있고, 디코딩된 데이터는 역변환되어, 예를 들면, 디코딩 프로세스 내에 사용되고 그리고 디스플레이 장치를 통해 궁극적으로 디스플레이에 사용될 수 있는 예측 오차 데이터 파티션이 생성될 수 있다. 콘텐츠 적응적 변환을 사용하여 변환된 코딩 파티션에 대하여, 인코딩 프로세스는 (예를 들면, 변환 계수에 추가하여) 디코딩 프로세스로 전송될 수 있는 변환 데이터를 결정할 수 있다. 또한, 콘텐츠 적응적 변환을 사용하여 변환된 파티션들에 대하여, 인코딩 및 디코딩 프로세스는 모두 이전에 디코딩된 비디오 데이터의 다른 블록에 기초하는 파티션과 연관되는 기저 함수(basis function) 파라미터를 결정하는 단계를 포함할 수 있다. 또한, 일부 예에서, 콘텐츠 적응적 변환은 수직 또는 수평 방향의 적응적 파라미터 변환 및 적응적 파라미터 변환에 직교 방향의 고정 변환을 포함할 수 있다. 일부 예에서, 콘텐츠 적응적 변환은 폐쇄형 하이브리드 파라메트릭 변환을 포함할 수 있다.
일부 실시예에서, 예측 오차 데이터 파티션(예측 또는 코딩 파티션) 또는 원 픽셀 데이터의 파티션은 변환 코딩을 위해 수신될 수 있다. 일부 실시예에서, 예측 오차 데이터 파티션은 예측 오차 데이터 파티션의 복수의 코딩 파티션을 생성하기 위해 분할될 수 있다. 파라메트릭 하르 변환을 위한 폐쇄형 솔루션을 포함하는 콘텐츠 적응적 변환이 복수의 코딩 파티션 중 개별 코딩 파티션 또는 예측 오차 데이터 파티션 또는 원 픽셀 데이터의 파티션에 대해 수행되어 개별 코딩 파티션과 연관된 변환 계수를 생성할 수 있다. 변환 계수는 양자화된 변환 계수를 생성하기 위해 양자화될 수 있다. 양자화된 변환 계수와 연관된 데이터는 비트스트림으로 엔트로핑 코딩될 수 있다.
본 개시에서 사용될 때, 용어 "코더"는 인코더 및/또는 디코더를 지칭할 수 있다. 유사하게 본 개시에서 사용될 때, 용어 "코딩"은 인코더를 통해 비디오 인코딩을 수행하고 및/또는 디코더를 통해 비디오 디코딩을 수행하는 것을 지칭할 수 있다. 예를 들면, 비디오 인코더와 비디오 디코더는 둘 다 비디오 데이터를 코딩할 수 있는 코더의 예일 수 있다. 또한, 본 개시에서 사용될 때, 용어 "코덱"은 프로세스, 프로그램 또는 연산 집합을 참조할 수 있으며, 예를 들면, 인코더 및 디코더를 구현할 수 있는 소프트웨어, 펌웨어, 및/또는 하드웨어의 임의의 조합일 수 있다. 또한, 여기서 사용될 때, 어구 "비디오 데이터"는, 예를 들면, 비디오 프레임, 이미지 데이터, 인코딩된 비트스트림 데이터 등과 같은 비디오 코딩과 연관된 여느 타입의 데이터를 지칭할 수 있다.
도 1은 본 개시의 적어도 일부 구현예에 따라 구성되는 일 예의 차세대 비디오 인코더(100)를 도시하는 도면이다. 도시된 것처럼, 인코더(100)는 입력 비디오(101)를 수신할 수 있다. 입력 비디오(101)는, 예를 들면, 비디오 시퀀스의 입력 프레임과 같은 인코딩을 위한 어느 적합한 입력 비디오를 포함할 수 있다. 도시된 것처럼, 입력 비디오(101)는 콘텐츠 선-분석기 모듈(102)을 통해 수신될 수 있다. 콘텐츠 선-분석기 모듈(102)은 입력 비디오(101)의 비디오 프레임의 콘텐츠의 분석을 수행하여 비디오 코딩 효율과 속도 성능을 개선하기 위한 다양한 파라미터 타입을 결정하도록 구성될 수 있다. 예를 들면, 콘텐츠 선-분석기 모듈(102)은 수평 및 수직 그레디언트 정보(예를 들면, Rs, Cs), 분산(variance), 픽처당 공간 복잡도, 픽처당 시간적 복잡도(temporal complexity), 장면 변화 탐지, 움직임 범위 추정, 이득 탐지, 예측 거리 추정, 객체 추정의 수, 영역 경계 탐지, 공간 복잡도 맵 계산, 포커스 추정, 필름 그레인(grain) 추정 등을 결정할 수 있다. 콘텐츠 선-분석기 모듈(102)에 의해 생성된 파라미터는 인코더(100)(예를 들면, 인코딩 제어기(103)를 통해)에 의해 사용되고 및/또는 양자화되어 디코더로 전달된다. 도시된 것처럼, 비디오 프레임 및/또는 다른 데이터는 콘텐츠 선-분석기 모듈(102)로부터 적응적 픽처 구성기 모듈(104)로 전송되어, 각 비디오 프레임의 픽처 타입(예를 들면, I-, P-, 또는 F/B-픽처)을 결정하고, 그리고 필요에 따라서 비디오 프레임을 재정렬할 수 있다. 일부 예에서, 적응적 픽처 구성기 모듈(104)은 프레임 부분을 생성하도록 구성되는 프레임 부분 생성기를 포함할 수 있다. 일부 예에서, 콘텐츠 선-분석기 모듈(102) 및 적응적 픽처 구성기 모듈(104)은 함께 인코더(100)의 선-분석기 서브시스템으로 여겨질 수 있다.
도시된 것처럼, 비디오 프레임 및/또는 다른 데이터는 적응적 픽처 구성기 모듈(104)에서 예측 파티션 생성기 모듈(105)로 전송될 수 있다. 일부 예에서, 예측 파티션 생성기 모듈(105)은 프레임 또는 픽처를 타일이나 수퍼-프래그먼트 등으로 분할할 수 있다. 일부 예에서, (예를 들면, 모듈들(104, 105) 간의) 추가적인 모듈이 프레임이나 픽처를 타일이나 수퍼-프래그먼트로 분할하도록 제공될 수 있다. 예측 파티션 생성기 모듈(105)은 각각 타일이나 수퍼-프래그먼트를 잠재적인 예측 분할(partitionings)이나 파티션들로 나눌 수 있다. 일부 예에서, 잠재적인 예측 분할은, 예를 들면, k-d 트리 분할 기법, 이진-트리 분할 기법 등과 같은 분할 기법을 사용하여 결정되고, 이는 각 비디오 프레임의 픽처 타입(예를 들면, I-, P-, 또는 F/B-픽처), 분할되는 프레임 부분의 특성 등에 기초하여 결정될 수 있다. 일부 예에서, 결정된 잠재적 예측 분할은 예측용(예를 들면, 인터- 또는 인트라-예측) 파티션일 수 있고, 또한 예측 파티션이나 예측 블록 등으로서 기술될 수 있다.
일부 예에서, 선택된 예측 분할(예를 들면, 예측 파티션들)은 잠재적 예측 분할들로부터 결정될 수 있다. 예를 들면, 선택된 예측 분할은, 각 잠재적 예측 분할에 대하여, 다중-참조 예측이나 인트라-예측에 기초하여 특성 및 움직임을 사용하는 예측을 결정하고, 그리고 예측 파라미터를 결정하는 것에 기반할 수 있다. 각 잠재적 예측 분할에 대하여, 잠재적 예측 오차는 원 픽셀을 예측 픽셀과 구별함으로써 결정될 수 있고, 그리고 선택된 예측 분할은 최소 예측 오차를 갖는 잠재적 예측 분할일 수 있다. 다른 예에서, 선택된 예측 분할은 예측 분할과 연관된 분할 및 예측 오차를 코딩하는 비트의 수에 기초하는 가중 스코어(a weighted scoring)를 포함하는 비트율 왜곡 최적화에 기반하여 결정될 수 있다.
도시된 것처럼, 선택된 예측 분할(예를 들면, 현재 프레임의 예측 분할)의 원 픽셀은 차분기(differencer)(106)에서 예측 파티션(예를 들면, 참조 프레임 또는 프레임들에 기초하는 현재 프레임의 예측 파티션의 예측 및 인터- 또는 인트라-예측 데이터와 같은 다른 예측 데이터)과 구별될 수 있다. 예측 파티션의 결정은 이하 좀 더 상세하게 설명되며 또한 도 1에 도시된 것처럼 디코딩 루프를 포함할 수 있다. 구별 단계로부터의 잔차 또는 잔차 데이터(예를 들면, 파티션 예측 오차 데이터)는 코딩 파티션 생성기 모듈(107)로 전송될 수 있다. 일부 예에서, 어떤 픽처타입(I-, F/B- 또는 P-픽처)의 예측 파티션의 인트라-예측에 대해서와 같이, 코딩 파티션 생성기 모듈(107)은 스위치(107a, 107b)를 통해 바이패스(bypass)될 수 있다. 이러한 예에서, 단지 싱글 레벨의 분할만이 수행될 수 있다. 이러한 분할은 (논의된 것처럼) 예측 분할 또는 코딩 분할 또는 모두로서 설명될 수 있다. 다양한 예에서, 이러한 분할은 (논의된 것처럼) 코딩 파티션 생성기 모듈(105)을 통해서 수행될 수 있고, 또는 여기에 좀더 논의되는 것처럼, 이러한 분할은 코딩 파티션 생성기 모듈(107)을 통해서 구현된 k-d 트리 인트라-예측/코딩 분할기 모듈이나 이진-트리 인트라-예측/코딩 분할기 모듈을 통해 수행될 수 있다.
일부 예에서, 분할 예측 오차 데이터는 인코딩의 근거가 될 만큼 충분히 중요하지 않을 수 있다. 다른 예에서, 파티션 예측 오차 데이터를 인코딩하는 것이 바람직하며 및 파티션 예측 오차 데이터가 인터-예측 등과 연관될 때, 코딩 파티션 생성기 모듈(107)은 예측 파티션의 코딩 파티션을 결정할 수 있다. 일부 예에서, 코딩 파티션 생성기 모듈(107)은, 파티션이 (예를 들면, 도시된 것처럼, 스위치(107a, 107b)를 통해 이용 가능한 바이패스 경로를 통해) 코딩 분할 없이 인코딩될 때, 필요치 않을 수 있다. 코딩 분할에 의해 또는 코딩 분할 없이, (양 이벤트에서 코딩 파티션으로 연속적으로 설명될 수 있는) 파티션 예측 오차 데이터는, 잔차 또는 잔차 데이터가 인코딩을 요구하는, 이벤트 내의 적응적 변환 모듈(108)로 전송될 수 있다. 일부 예에서, 예측 파티션 생성기 모듈(105) 및 코딩 파티션 생성기 모듈(107)은 함께 인코더(100)의 분할기 서브시스템으로 여겨질 수 있다. 다양한 예에서, 코딩 파티션 생성기 모듈(107)은 파티션 예측 오차 데이터, 원 픽셀 데이터, 잔차 데이터 또는 웨이블릿 데이터에 대해 동작할 수 있다.
코딩 파티션 생성기 모듈(107)은, 예를 들면, 이진-트리 및/또는 k-d 트리 분할 기법 등을 사용하는 파티션 예측 오차 데이터의 잠재적 코딩 분할(예를 들면, 코딩 파티션)을 생성할 수 있다. 일부 예에서, 잠재적 코딩 파티션은 적응적 변환 모듈(108)을 통해 다양한 블록 사이즈로 적응적 또는 고정 변환을 사용하여 변환될 수 있으며 또한 선택된 코딩 분할 및 선택된 변환(예를 들면, 적응적 또는 고정)은 비트율 왜곡 최적화 또는 다른 기준에 기초하여 결정될 수 있다. 일부 예에서, 선택된 코딩 분할 및/또는 선택된 변환(들)은 코딩 파티션 크기나 그 유사한 것을 기반으로 하는 미리 결정된 선택 방법에 기초하여 결정될 수 있다.
예를 들면, 적응적 변환 모듈(108)은 소형 크기 내지 중간 크기의 블록의 국지적인 최적 변환 코딩을 허용하는 파라메트릭 변환을 수행하기 위한 제 1 부분 또는 컴포넌트를 포함하고, 또한 고정 변환을 사용하여 전역적으로 안정되고, 낮은 오버헤드 변환 코딩을 수행하기 위한 제 2 부분이나 컴포넌트를 포함하는데, 예를 들면, 이산 코사인 변환(DCT)이나, 파라메트릭 변환을 포함하는, 다양한 변환으로부터 픽처 기반의 변환이 사용되며, 또는 그 밖의 다른 구성이 이하 좀더 논의된다. 일부 예에서, 국지적 최적 변환 코딩에 대하여, 파라메트릭 하르 변환(parametric Haar Transform, PHT) 또는 파라메트릭 하르 변환을 위한 폐쇄형 솔루션 등이 수행될 수 있으며, 이하 좀더 상세하게 논의된다. 일부 예에서는, 변환은 약 4x4 픽셀과 64x64 픽셀 간의 2D 블록의 장방형 크기에 대하여 수행될 수 있으며, 실제 크기는 변환된 데이터가 루마(luma)나 크로마(chroma)인지 또는 인터나 인트라인지 여부, 또는 만일 결정되어 사용된 변환이 PHT나 DCT 등인지 여부와 같은 많은 요인에 따라 다르다.
도시된 것처럼, 결과 변환 계수는 적응적 양자화 모듈(109)로 전송될 수 있다. 적응적 양자화 모듈(109)은 결과 변환 계수를 양자화할 수 있다. 또한, 필요에 따라서, 파라메트릭 변환과 연관된 어떤 데이터는 (만일 양자화가 바람직하다면) 적응적 양자화 모듈(109)이나 적응적 엔트로피 인코더 모듈(110)로 전송된다. 도 1에 도시된 것처럼, 양자화 계수는 스캐닝되어 엔트로피 인코더 모듈(110)로 전송된다. 엔트로피 인코더 모듈(110)은 양자화 계수를 엔트로피 인코딩하고 이들을 출력 비트스트림(111)에 포함할 수 있다. 일부 예에서, 적응적 변환 모듈(108)과 적응적 양자화 모듈(109)은 함께 인코더(100)의 변환 인코더 서브시스템으로 간주 될 수 있다.
도 1에 도시된 것처럼, 인코더(100)는 로컬 디코딩 루프를 포함한다. 로컬 디코딩 루프는 적응적 역양자화 모듈(112)에서 시작할 수 있다. 적응적 역양자화 모듈(112)은 적응적 양자화 모듈(109)의 반대 연산(들)을 수행하도록 구성됨으로써 인버스(inverse) 스캔이 수행되고 양자화 계수가 디-스케일(de-scale)되어 변환 계수를 결정하도록 할 수 있다. 그러한 적응적 양자화 연산은, 예를 들면, 손실이 생길 수 있다. 도시된 것처럼, 변환 계수는 적응적 역변환 모듈(113)로 전송될 수 있다. 적응적 역변환 모듈(113)은, 예를 들면, 적응적 변환 모듈(108)에 의해 수행되는 것 같은 역변환을 수행하여, 잔차나 잔차 데이터 또는 코딩 파티션과 연관되는 파티션 예측 오차 데이터(또는, 논의된 것 같은, 원 데이터 또는 웨이블릿 데이터)를 생성할 수 있다. 일부 예에서, 적응적 역양자화 모듈(112)과 적응적 역변환 모듈(113)은 함께 인코더(100)의 변환 디코더 서브시스템으로 간주 될 수 있다.
도시된 것처럼, 파티션 예측 오차 데이터(또는 그 유사한 것)는 선택적 코딩 파티션 조립기(114)로 전송될 수 있다. 코딩 파티션 조립기(114)는 코딩 파티션을 필요에 따라서 디코딩 예측 파티션으로 조립하여(도시된 것처럼, 일부 예에서, 코딩 파티션 조립기(114)는 스위치(114a, 114b)를 통해 걸러짐(skipped)으로써 디코딩 예측 파티션이 적응적 역변환 모듈(113)에서 생성될 수 있다), 예측 오차 데이터의 예측 파티션 또는 디코딩 잔차 예측 파티션 등을 생성할 수 있다.
도시된 것처럼, 디코딩 잔차 예측 파티션은 가산기(115)에서 예측 파티션(예를 들면, 예측 픽셀 데이터)에 추가되어 재구성된 예측 파티션을 생성할 수 있다. 재구성된 예측 파티션은 예측 파티션 조립기(116)로 전송될 수 있다. 예측 파티션 조립기(116)는 재구성된 예측 파티션을 조립하여 재구성된 타일 또는 수퍼-프래그먼트를 생성할 수 있다. 일부 예에서, 코딩 파티션 조립기(114)와 예측 파티션 조립기(116)는 함께 인코더(100)의 분할기 서브시스팀으로 간주 될 수 있다.
재구성된 타일 또는 수퍼-프래그먼트는 블록잡음(blockiness) 분석기 및 블록분리(deblock) 필터링 모듈(117)로 전송될 수 있다. 블록잡음 분석기 및 블록분리 필터링 모듈(117)은 재구성된 타일 또는 수퍼-프래그먼트(또는 타일이나 수퍼-프래그먼트의 예측 파티션)을 블록분리하고 디더링(dither)할 수 있다. 생성된 블록분리 및 디더링 필터 파라미터는 현재의 필터 동작을 위하여 사용될 수 있고 및/또는, 예를 들면, 디코더에 의해 사용하기 위해 비트스트림(111)으로 코딩될 수 있다. 블록잡음 분석기 및 블록분리 필터링 모듈(117)은 품질 분석기 및 품질 복원 필터링 모듈(118)로 전송될 수 있다. 품질 분석기 및 품질 복원 필터링 모듈(118)은 (예를 들면, QR 분해를 위한) QR 필터링 파라미터를 결정하고 결정된 파라미터를 필터링에 사용할 수 있다. QR 필터링 파라미터는 또한 디코더에 의해 사용하기 위해 비트스트림(111)으로 코딩될 수 있다. 도시된 것처럼, 품질 분석기 및 품질 복원 필터링 모듈(118)은 디코딩된 픽처 버퍼(119)로 전송된다. 일부 예에서, 품질 분석기 및 품질 복원 필터링 모듈(118)의 출력은 다른 프레임의 코딩을 위한 예측에 사용될 수 있는 최종의 재구성된 프레임일 수 있다(예를 들면, 최종의 재구성된 프레임은 참조 프레임 또는 그 유사한 것일 수 있다). 일부 예에서, 블록잡음 분석기 및 블록분리 필터링 모듈(117)과 품질 분석기 및 품질 복원 필터링 모듈(118)은 함께 인코더(100)의 필터링 서브시스템으로 간주 될 수 있다.
인코더(100)에서, 예측 연산은 인터- 및/또는 인트라-예측을 포함할 수 있다. 도 1에 도시된 것처럼, 인터-예측은 모핑 분석기 및 생성 모듈(120), 합성 분석기 및 생성 모듈(121), 그리고 특성 및 움직임 필터링 모듈(123)을 포함하는 하나 이상의 모듈에 의해서 수행될 수 있다. 모핑 분석기 및 생성 모듈(120)은 현재 픽처를 분석하여 코딩될 참조 프레임이나 프레임들과 관련된 이득(gain) 변화, 우세한 움직임(dominant motion)의 변화, 등록(regeistration) 변화, 블러(blur)의 변화에 대한 파라미터를 결정할 수 있다. 결정된 모핑 파라미터는 (예를 들면, 모핑 분석기 및 생성 모듈(120)에 의해서) 양자화되고/역-양자화되고, 그리고 모핑된 참조 프레임을 생성하도록 사용될 수 있는데, 이는 현재 프레임의 효율적인 움직임 (그리고 특성) 보상 예측을 위한 움직임 벡터를 계산하도록 움직임 예측 모듈(122)에 의해서 사용될 수 있다. 합성 분석기 및 생성 모듈(121)은 이들 프레임 내의 효율적 움직임 보상 예측을 위한 움직임 벡터를 결정하기 위해 움직임용 수퍼 해상도(SR) 픽처와 투사 보간(projected interpolation (PI)) 픽처 등을 생성할 수 있다.
움직임 예측 모듈(122)은 모핑 참조 프레임(들) 및/또는 현재 프레임과 함께 수퍼 해상도(SR) 픽처와 투사 보간(PI) 픽처에 기초하여 움직임 벡터를 생성한다. 일부 예에서, 움직임 예측 모듈(122)은 인터-예측 모듈로 간주 될 수 있다. 예를 들면, 움직임 벡터 데이터는 인터-예측을 위하여 사용될 수 있다. 만일 인터-예측이 적용되면, 특성 및 움직임 필터링 예측 모듈(123)이 논의된 것처럼 로컬 디코딩 루프의 일부로서 움직임 보상(motion compensation)을 적용할 수 있다.
인트라-예측은 인트라-방향성 예측 분석기 및 예측 생성 모듈(124)에 의해 수행될 수 있다. 인트라-방향성 예측 분석기 및 예측 생성 모듈(124)은 공간 방향성 예측을 수행하도록 구성되고 디코딩된 이웃 파티션을 사용할 수 있다. 일부 예에서, 방향의 결정과 예측의 생성은 모두 인트라-방향성 예측 분석기 및 예측 생성 모듈(124)에 의해 수행될 수 있다. 일부 예에서, 인트라-방향성 예측 분석기 및 예측 생성 모듈(124)은 인트라-예측 모듈로 간주될 수 있다.
도 1에 도시된 것처럼, 예측 모드 및 참조 타입 분석기 모듈(125)은, 타일(또는 수퍼-프래그먼트)의 각 예측 파티션에 대하여, "스킵", "자동", "인터", "분할", "멀티", 그리고 "인트라" 중에서 예측 모드의 선택을 허용하며, 이들 모두는 P- 및 F/B-픽처에 적용될 수 있다. 예측 모드에 추가하여, P- 및 F/B-픽처에 대해서, "인터" 또는 "멀티" 모드에 따라 상이할 수 있는 참조 타입의 선택이 허용될 수 있다. 예측 모드 및 참조 타입 분석기 모듈(125)의 출력에서 예측 신호는 예측 분석기 및 예측 융합 필터링 모듈(126)에 의해 필터링될 수 있다. 예측 분석기 및 예측 융합 필터링 모듈(126)은 필터링에 사용할 파라미터(예를 들면, 필터링 계수, 주파수, 오버헤드)를 결정하고 필터링을 수행할 수 있다. 일부 예에서, 예측 신호를 필터링 하는 것은 상이한 모드(예를 들면, 인트라, 인터, 멀티, 분할(split), 스킵(skip), 그리고 자동)를 표현하는 상이한 타입의 신호를 융합한다. 일부 예에서, 인트라-예측 신호는 적절한 필터링이 코딩 효율을 크게 강화할 수 있도록 모든 다른 타입의 인터-예측 신호(들)와 차이가 있을 수 있다. 일부 예에서, 필터링 파라미터는 디코더에 의한 사용을 위하여 비트스트림(111) 내에 인코딩될 수 있다. 필터링된 예측 신호는 제 2 입력(예를 들면, 예측 파티션(들))을, 앞서 언급된, 차분기(106)에 제공하여, 상술한 것처럼, 코딩을 위한 예측 차이 신호(예를 들면, 파티션 예측 오차)를 결정할 수 있다. 또한, 동일하게 필터링된 예측 신호는 제 2 입력을, 앞서 논의된, 가산기(115)에 제공할 수 있다. 논의된 것처럼, 출력 비트스트림(111)은 비디오 표현을 위해 디코더가 사용할 효율적으로 인코딩된 비트스트림을 제공할 수 있다.
도 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)는 스위치(205a, 205b)를 통해 걸러짐으로써, 디코딩 예측 파티션이 적응적 역변환 모듈(204)에서 생성될 수 있도록 한다). 예측 오차 데이터의 디코딩 예측 파티션(예를 들면, 예측 파티션 잔차)은 가산기(206)에서 예측 파티션(예를 들면, 예측 픽셀 데이터)에 추가되어 재구성된 예측 파티션을 생성할 수 있다. 재구성된 예측 파티션은 예측 파티션 조립기(207)로 전송될 수 있다. 예측 파티션 조립기(207)는 재구성된 예측 파티션을 조립하여 재구성된 타일 또는 수퍼-프래그먼트를 생성할 수 있다. 일부 예에서, 코딩 파티션 조립기 모듈(205)과 예측 파티션 조립기 모듈(207)은 함께 디코더(200)의 비-분할기 서브시스팀으로 간주 될 수 있다.
재구성된 타일 또는 수퍼-프래그먼트는 블록분리 필터링 모듈(208)로 전송될 수 있다. 블록분리 필터링 모듈(208)은 재구성된 타일 또는 수퍼-프래그먼트(또는 타일이나 수퍼-프래그먼트의 예측 파티션)을 블록분리하고 디더링(dither)할 수 있다. 생성된 블록분리 및 디더링 필터 파라미터는, 예를 들면, 입력 비트스트림(201)으로부터 결정될 수 있다. 블록분리 필터링 모듈(208)의 출력은 품질 복원 필터링 모듈(209)로 전송될 수 있다. 품질 복원 필터링 모듈(209)은, 입력 비트스트림(201)으로부터 결정될 수 있는, QR 파라미터에 기초하여 품질 필터링을 적용할 수 있다. 예를 들면, 도 2에 도시된 것처럼, 품질 복원 필터링 모듈(209)의 출력은 디코딩된 픽처 버퍼(210)로 전송될 수 있다. 일부 예에서, 품질 복원 필터링 모듈(209)의 출력은 다른 프레임의 코딩을 위한 예측에 사용될 수 있는 최종의 재구성된 프레임일 수 있다(예를 들면, 최종의 재구성된 프레임은 참조 프레임 등일 수 있다). 일부 예에서, 블록분리 필터링 모듈(208)과 품질 복원 필터링 모듈(209)은 함께 디코더(200)의 필터링 서브시스템으로 간주될 수 있다.
논의된 것처럼, 예측 연산으로 인한 보상은 인터- 및/또는 인트라-예측 보상을 포함할 수 있다. 도시된 것처럼, 인터-예측 보상은 모핑 생성 모듈(211), 합성 생성 모듈(212) 그리고 특성 및 움직임 보상 필터링 예측기 모듈(213)을 포함할 수 있다. 모핑 생성 모듈(211)은 (예를 들면, 입력 스트림(201)으로부터 결정된) 역-양자화 모핑 파라미터를 사용하여 모핑(morphed) 참조 프레임을 생성할 수 있다. 합성 생성 모듈(212)은 입력 비트스트림(201)으로부터 결정된 파라미터에 기초하여 수퍼 해상도(SR) 픽처와 투사 보간(PI) 픽처 등을 생성할 수 있다. 만일 인터-예측이 적용되면, 특성 및 움직임 보상 필터링 예측기 모듈(213)이 입력 비트스트림(201) 내의 수신된 프레임과 움직임 벡터 데이터 등에 기초하여 움직임 보상을 적용할 수 있다.
인트라-예측 보상은 인트라-방향성 예측 생성 모듈(214)에 의해서 수행될 수 있다. 인트라-방향성 예측 생성 모듈(214)은 공간 방향성 예측을 수행하도록 구성되고, 또한 비트스트림(201) 내의 인트라-예측 데이터에 따른 디코딩된 이웃 파티션을 이용할 수 있다.
도 2에 도시된 것처럼, 예측 모드 선택기 모듈(215)은, 타일의 각 예측 파티션에 대하여, "스킵", "자동", "인터", "멀티", 및 "인트라" 중에서, 예측 모드의 선택을 결정할 수 있고, 이들 모두는 입력 비트스트림(201) 내의 모드 선택 데이터에 기초하여 P- 및 F/B-픽처에 적용될 수 있다. 예측 모드에 추가하여, P- 및 F/B-픽처에 대해서, "인터" 또는 "멀티" 모드에 따라 상이할 수 있는 참조 타입의 선택이 허용된다. 예측 모드 선택기 모듈(215)의 출력에서 예측 신호는 예측 융합 필터링 모듈(216)에 의해 필터링될 수 있다. 예측 융합 필터링 모듈(216)은 입력 비트스트림(201)을 통해 결정된 파라미터(예를 들면, 필터링 계수, 주파수, 오버헤드)에 기초하여 필터링을 수행할 수 있다. 일부 예에서, 예측 신호를 필터링하는 것은 상이한 모드(예를 들면, 인트라, 인터, 분할, 스킵, 그리고 자동)를 표현하는 상이한 타입의 신호를 융합한다. 일부 예에서, 인트라-예측 신호는 모든 다른 타입의 인터-예측 신호(들)와 상이하여 적절한 필터링은 코딩 효율을 크게 향상시킬 수 있도록 한다. 필터링된 예측 신호는 제 2 입력(예를 들면, 예측 파티션(들))을, 앞서 언급된, 차분기(206)에 제공할 수 있다.
논의한 것처럼, 품질 복원 필터링 모듈(209)은 최종적인 재구성된 프레임일 수 있다. 최종적인 재구성된 프레임은 적응적 픽처 재구성기(217)로 전송될 수 있으며, 이는 입력 비트스트림(201) 내의 정렬 파라미터에 기초하여 필요에 따라 프레임을 재-정렬하거나 재-구성할 수 있다. 재-정렬 프레임은 콘텐츠 후복원기 모듈(218)로 전송될 수 있다. 콘텐츠 후복원기 모듈(218)은 디코딩된 비디오의 직관적 품질의 추가적인 향상을 수행하도록 구성되는 선택적인 모듈일 수 있다. 개선 프로세싱은 입력 비트스트림(201) 내의 품질 개선 파라미터에 대응하여 수행되거나, 또는 스탠드 얼론(standalone) 연산으로 수행될 수 있다. 일부 예에서, 콘텐츠 후복원기 모듈(218)은, 예를 들면, (예를 들면, 블록분리 필터링 모듈(208)과 관련되어 논의된 블록화 제거 동작 이후에도) 필름 그레인 잡음(film grain noise)나 잔여 블록잡음 감소의 추정과 같은, 품질을 개선하는 파라미터를 적용할 수 있다. 도시된 것처럼, 디코더(200)는 디스플레이 비디오(219)를 제공할 수 있는데, 이는 디스플레이 장치(도시되지 않음)를 통해 디스플레이되도록 구성될 수 있다.
논의된 것처럼, 일부 예에서, 인코더(100) 및/또는 디코더(200)는 차세대 비디오 코딩을 위한 예측 및 코딩을 위한 콘텐츠 적응적 분할에 관련된 기술을 구현할 수 있다. 일부 예에서, 예측을 위한 콘텐츠 적응적 분할은 인코더(100)의 예측 파티션 생성기 모듈(105)에 의해서 수행될 수 있다. 일부 예에서, 코딩을 위한 콘텐츠 적응적 분할은 인코더(100)의 코딩 파티션 생성기 모듈(107)에 의해서 수행될 수 있다. 일부 예에서, 인터-예측이나 그 유사한 것에 대한 예측을 위한 콘텐츠 적응적 분할은 예측 파티션 생성기 모듈(105)에 의해 수행될 수 있고, 인터-예측이나 그 유사한 것에 대한 코딩을 위한 콘텐츠 적응적 분할은 인코더(100)의 코딩 파티션 생성기 모듈(107)에 의해 수행될 수 있다. 일부 예에서, 인트라-예측에 대한 예측/코딩을 위한 콘텐츠 적응적 분할(예를 들면, 오직 일 계층 분할)은 인코더(100)의 예측 파티션 생성기 모듈(105) 및 코딩 파티션 생성기 모듈(107)에 의해 수행될 수 있다. 또한, 일부 예에서, 인코딩 예측 분할 및/또는 코딩 분할에 기초하여, 인코더(100)의 코딩 파티션 조립기 모듈(114) 및/또는 디코더(200)의 코딩 파티션 조립기 모듈(205)은 코딩 파티션을 조립하여 예측 파티션을 형성할 수 있다. 또한, 일부 예에서, 인코더(100)의 예측 파티션 조립기 모듈(116) 및/또는 디코더(200)의 예측 파티션 조립기 모듈(207)은 재구성된 예측 파티션을 조립하여 타일, 수퍼-프래그먼트를 형성할 수 있고, 이들은 프레임 또는 픽처를 생성하도록 조립될 수 있다. 논의된 것처럼, 다양한 예측 파티션, 코딩 파티션, 또는 타일이나 수퍼-프래그먼트는, 본 개시에서 논의된 것처럼, 인터-예측, 인트라-예측, 그 밖의 코딩 효율 개선, 또는 이미지나 비디오 개선을 위해 사용될 수 있다.
도 1과 도 2는 특정 인코딩 및 디코딩 모듈을 보여주지만, 그러나 도시되지 않은 다양한 다른 코딩 모듈이나 컴포넌트들 또한 본 개시에 따라서 활용될 수 있다. 또한, 본 개시는 도 1 및 도 2에 도시된 특정 컴포넌트 또는 다양한 컴포넌트가 구성된 방식에 한정되지 않는다. 본 개시에서 기술되는 시스템의 다양한 컴포넌트는 소프트웨어, 펌웨어, 및/또는 하드웨어 및/또는 이들의 임의의 조합에 의해서 구현될 수 있다. 예를 들면, 인코더(100) 및/또는 디코더(200)의 다양한 컴포넌트는, 모바일폰과 같은 컴퓨팅 시스템에서 발견될 수 있는, 컴퓨팅 시스템 온칩(SoC)의 하드웨어에 의해서, 적어도 일부 제공될 수 있다.
또한, 인코더(100)는, 예를 들면, 비디오 콘텐츠 서버 시스템을 포함하는 콘텐츠 제공 시스템과 연관되고 및/또는 콘텐츠 제공 시스템에 의해서 제공될 수 있고, 또한 출력 비트스트림(111)은, 도 1 및 도 2에 도시되지 않은 트랜스시버, 안테나, 네트워크 시스템 및 그 유사한 것과 같은 다양한 통신 컴포넌트 및/또는 시스템에 의해, 디코더, 예를 들면, 디코더(200)로 전송되거나 전달될 수 있다는 것이 인정될 것이다. 디코더(200)는 컴퓨팅 장치(예를 들면, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 컨버터블 랩톱, 모바일폰 등)와 같은 클라이언트 시스템과 연관되고, 클라이언트 시스템은 인코더(100)와 멀리 있으면서, 또한 도 1 및 도 2에 도시되지 않은 트랜스시버, 안테나, 네트워크 시스템 및 그 유사한 것과 같은 다양한 통신 컴포넌트 및/또는 시스템을 통해 비트스트림(201)을 수신한다는 것이 인정될 것이다. 그러므로, 다양한 구현예에서, 인코더(100)와 디코더 서브시스템(200)은 함께 또는 각각 독립적으로 구현될 수 있다.
도 3은 본 개시의 적어도 일부 구현예에 따라서 구성되는, 일 예의 인코더 서브시스템(300)의 예시적인 다이어그램이다. 도시된 것처럼, 인코더 서브시스템(300)은 코딩 파티션 생성기 모듈(107), 인코딩 제어기 모듈(103), 적응적 변환 모듈(108), 적응적 양자화기 모듈(109), 및/또는 적응적 엔트로피 인코더 모듈(110)을 포함할 수 있다. 비록 도 3에 도시되지 않았지만, 명확하게 표현하기 위하여, 비디오 데이터는 차분기(106), 파티션 생성기 모듈(105)이나 그 유사한 것으로부터 코딩 파티션 생성기 모듈(107)로 입력될 수 있다. 코딩 파티션 생성기 모듈(107)에 의해 수신된 비디오 데이터는, 예를 들면, 예측 오차 데이터 파티션(예를 들면, 인터-예측에 대한 예측 파티션의 오차 데이터)과 같은 적합한 비디오 데이터일 수 있다.
예를 들면, 비디오 프레임의 타일은 프레임을 (동일하거나 상이한 크기의) 정방형 또는 직사각형 그리드로 분할함으로써 생성되거나, 또는 수퍼-프래그먼트는, 예를 들면, 비디오 프레임으로부터 타일을 생성하고 그리고 비디오 프레임으로부터 프레임 계층(예를 들면, 깊이나 다른 특성이 실질적으로 동일한 계층)을 생성함으로써 형성될 수 있다. 수퍼-프래그먼트는 각 수퍼-프래그먼트가 각 타일 내의 각 프레임 계층이 되도록 형성될 수 있다. 예를 들면, 하나의 프레임 계층을 갖는 타일은 싱글 수퍼-프래그먼트일 수 있는 반면 두 개의 프레임 계층을 갖는 타일은 두 개의 수퍼-프래그먼트으로 분할될 수 있다. 타일은 전형적으로 정방형이거나 장방형일 수 있는 반면 수퍼-프래그먼트는 (입도(granularity)에 의해서만 제약받는) 어떤 형상도 될 수 있고, 또한 인접 또는 비-인접일 수 있다는 것이 주목되어야 한다. 타일이나 수퍼-프래그먼트는 잠재적인 예측 파티션으로 분할될 수 있으며, 이는 선택된 예측 분할(예를 들면, 예측 파티션의 패턴)을 결정하도록 평가될 수 있다. 선택된 예측 분할과 연관되는 예측 파티션은 예측 오차 데이터 파티션을 결정하도록 본래의 픽셀 데이터와 구별될 수 있다.
일부 예에서, 비디오 데이터는 원 예측 파티션 데이터 또는 웨이블릿 데이터일 수 있다. 일부 예에서, 비디오 데이터는 인트라 최초 신호, 인트라 공간 예측 오차 신호, 웨이블릿 데이터, 웨이블릿 인트라 LL 대역 신호(예를 들면, 원 웨이블릿), 웨이블릿 예측 오차 신호, 인트라 웨이블릿 더 높은 대역(예를 들면, HL, LH, 또는 HH 대역), 움직임 보상 예측 오차(예를 들면, MCFD) 신호, 웨이블릿 인터 LL 대역 움직임 보상 예측 오차 신호, 인터 웨이블릿 더 높은 대역(예를 들면, HL, LH, 또는 HH 대역), 잔류 데이터 또는 그 유사한 것일 수 있다. 비디오 데이터는 예를 들면 루마 데이터나 크로마 데이터를 제공하거나 표현할 수 있다. 도시된 것처럼, 예시된 인코더 서브시스템(300)에서, 비디오 데이터는 코딩 파티션 생성기 모듈(107)의 이진-트리 코딩 분할기 모듈(301)에 의해서 수신될 수 있다.
이진-트리 코딩 분할기 모듈(301)은 (예를 들면) 예측 파티션을 이진-트리 분할 기법을 사용하여 복수의 파티션으로 분할할 수 있는데, 이하 도 8을 참조하여 좀 더 논의된다. 이진-트리 코딩 분할기 모듈(301)은 수평 및 수직 방향의 파티션으로 교대하여 분할하도록 허용하는 유연한 분할을 제공할 수 있다. 그러한 기법은 수평 또는 수직 방향으로, 또는 두 방향으로 교차(cut)를 허용하며, 이에 따라서, 복수의, 유연한 파티션을 허용할 수 있다. 도시된 것처럼, 코딩 파티션(또는 잠재적 코딩 파티션)은 코딩 파티션 생성기 모듈(107)의 이진-트리 코딩 분할기 모듈(301)로부터 적응적 변환 모듈(108)로 전송될 수 있다. 다양한 예에서, 코딩 파티션은 정방형이거나 장방형일 수 있다. 비록 이진-트리 코딩 분할기 모듈(301)로 도시되었지만, 일부 예에서, 코딩 파티션 생성기 모듈(107)이 k-d 트리 분할 기법을 사용하여 예측 파티션을 분할하는 k-d 트리 코딩 분할기 모듈을 구현할 수 있다.
도시된 것처럼, 일부 예에서, 적응적 변환 모듈(108)은 콘텐츠 적응적 변환 모듈(302) 및 고정 변환 모듈(303)을 포함할 수 있으며, 이들은 스위치(304, 305)의 동작에 기초하여 선택적으로 사용될 수 있다. 예를 들면, 콘텐츠 적응적 변환은 디코딩 이웃 비디오 데이터(예를 들면, 이웃 블록, 파티션이나 그 유사한 것)로부터 결정될 수 있는 콘텐츠 종속 기저 함수에 의한 변환을 포함할 수 있다. 콘텐츠 적응적 변환은 고정 변환과 대조될 수 있는데, 이는 고정된 기저 함수를 가지며, 변환 계수만이 디코딩을 위해 전송될 수 있다. 본 개시에서 사용될 때, 콘텐츠 적응적 변환과 고정 변환은 적응적 블록 크기를 사용할 수 있고, 이산 변환일 수 있고, 그리고 이차원으로 분리가능한 변환(예를 들면, 처음에 수평이나 수직 방향으로 적용되고, 다음으로 보완적인 방향으로 적용되는 변환)일 수 있다.
일부 예에서, 콘텐츠 적응적 변환 모듈(302)은, 예를 들면, 파라메트릭 변환, 파라메트릭 하르 변환, 하이브리드 파라메트릭 하르 변환(예를 들면, 일 방향의 파라메트릭 하르 변환 및 직교 방향의 고정 변환), 파라메트릭 경사(slant) 변환, 하이브리드 파라메트릭 경사 변환 등과 같은, 콘텐츠 적응적 변환을 적용할 수 있다. 일부 예에서, 콘텐츠 적응적 변환 모듈(302)은 폐쇄형 파라메트릭 변환, 폐쇄형 하이브리드 파라메트릭 변환, 폐쇄형 하이브리드 파라메트릭 하르 변환, 파라메트릭 변환에 대한 폐쇄형 솔루션, 또는 파라메트릭 변환에 대한 폐쇄형 표현 등을 적용할 수 있다. 논의된 것처럼, 하이브리드 변환은 고정 변환은 일 방향으로 수행되고 파라메트릭 변환은 직교 방향으로 수행되도록 분리할 수 있는 2D 변환일 수 있다. 도시된 것처럼, 일부 예에서, 콘텐츠 적응적 변환 모듈(302)은 소형 크기 내지 중간 크기의 코딩 파티션 또는 소형 크기 내지 중간 크기의 코딩 파티션 블록에 적용될 수 있다. 여기서, 이러한 코딩 파티션이나 변환 블록은, 각 코딩 파티션에 대하여, 동일한 블록 크기를 갖는 변환이 가용하도록 동일한 크기를 가질 수 있다. 일부 예에서, 만일 더 작은 수의 변환이라는 간소화가 요구된다면, 허용되는 예측 파티션 크기가 이와 같이 감소 되거나 또는 코딩 파티션을 변환을 위해 가용한 크기로 서브 분할하는 것에 대한 추가적인 정보가 인코더(100)를 통해서 송신될 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션이나 블록은 16 픽셀 이하의 높이와 16 픽셀 이하의 폭을 갖는 파티션 또는 블록을 포함할 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션이나 블록은 4x4 픽셀, 4x8 픽셀, 8x4 픽셀, 8x8 픽셀, 4x16 픽셀, 16x4 픽셀, 8x16 픽셀, 16x8 픽셀, 16x16 픽셀, 또는 그 유사한 것을 갖는 파티션이나 블록을 포함할 수 있다.
일부 예에서, 고정 변환 모듈(303)이, 예를 들면, 이산 코사인 변환, 이산 코사인 변환 근사기 등과 같은 고정 변환에 적용될 수 있다. 도시된 것처럼, 일부 예에서, 고정 변환 모듈(303)은 중간 크기 내지 대형 크기의 코딩 파티션 또는 중간 크기 내지 대형 크기의 코딩 파티션 블록에 적용될 수 있다. 예를 들면, 중간 크기 내지 대형 크기의 코딩 파티션이나 16 픽셀이상의 높이와 16 픽셀 이상의 폭을 갖는 코딩 파티션 또는 블록을 포함할 수 있다. 예를 들면, 중간 크기 내지 대형 크기의 코딩 파티션이나 블록은, 16x16 픽셀, 16x32 픽셀, 32x16 픽셀, 32x32 픽셀, 32x64 픽셀, 64x32 픽셀, 64x64 픽셀 등을 포함하는, (정방형 및 장방형 파티션을 포함하는) 각 사이드가 적어도 16 픽셀인 넓은 배열의 파티션을 포함할 수 있다. 일부 예에서, 고정 변환 모듈(303)은 고정밀 정수 근사 또는 고도 상관 정수 변환을 사용하여 이산 코사인 변환을 적용할 수 있다. 논의된 것처럼, 일부 예에서, 콘텐츠 적응적 변환 모듈(302)에 제공된 코딩 파티션과 고정 변환 모듈(303)에 제공된 것 간에 오버래핑될 수 있다. 그러한 예에서, 콘텐츠 적응적 변환 모듈(302)과 고정 변환 모듈(303) 모두에 제공된 코딩 파티션은 어떤 변환이 사용될지를 결정하기 위하여 평가될 수 있다. 다른 예에서, 오버래핑이 없을 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 코딩 파티션은 16 픽셀 이하의 폭과 16 픽셀 이하의 높이 등을 갖는 코딩 파티션을 포함할 수 있고, 중간 크기 내지 대형 크기의 코딩 파티션은 16 픽셀보다 넓은 폭과 16 픽셀보다 큰 높이 등을 갖는 코딩 파티션을 포함할 수 있다. 다른 예에서, 휴리스틱(heuristic) 기법이 어떤 모듈 중간 크기의 블록이 변환 프로세싱을 위하여 전송되는 지를 결정하도록 구현될 수 있다.
논의되는 것처럼, 스위치(304, 305)는 코딩 파티션 생성기(107)로부터 코딩 파티션에 대한 변환 모듈을 선택하도록 동작할 수 있다. 일부 예에서, 스위치(304, 305) 및/또는 코딩 파티션 생성기(107)는 인코딩 제어기(103) 또는 인코딩 제어기(103)를 통해 구현되는 휴리스틱 파라미터의 비트율 왜곡 최적화 선택기 모듈(306)의 제어하에 동작할 수 있다. 비트율 왜곡 최적화 선택기 모듈(306)은 코딩 파티션 및 연관된 변환 크기에 대한 최적의 선택을 결정하여, 소형 크기 내지 중간 크기의 코딩 파티션을 콘텐츠 적응적 변환 모듈(302)에 제공하고, 중간 크기 내지 대형 크기의 코딩 파티션을 고정 변환 모듈(303) 등에 제공하는 것을 기반으로 하는 최적의 인코딩을 야기한다. 예를 들면, 어떤 오버헤드(예를 들면, 추가적인 인코딩 비트)는 변환 데이터와 같은 콘텐츠 적응적 변환과 연관될 수 있는데, 이는 적응적 기저 함수(adaptive basis function) 등을 구축하기 위하여 디코더가 필요로 할 수 있다. 그러나, 그러한 오버헤드는 필수 정보를 전송함으로써 감소될 수 있는데, 예로써, 변환 타입(예를 들면, xmtyp; 예를 들면, 파티션에 대한 변환이 적응적인지 이산인지 여부), 변환 방향(예를 들면, xmdir; 파라메트릭 변환이 하이브리드 변환에서 수평인지 수직인지 여부를 기술), 및/또는 변환 모드(예를 들면, xmmode; 예측 차이 신호 또는 본래의 신호를 사용하여 모드 선택 간의 인트라 코딩 신호용으로만 사용됨)를 포함하는 일련의 표시자가 있다. 도 3에 도시된 것처럼, 이러한 표시자 또는 플래그 또는 데이터 등은 출력 비트스트림(111) 같은 비트스트림 내에 인코딩하도록 적응적 엔트로피 인코더 모듈(110)에 제공될 수 있다. 도시된 것처럼, 인코딩 제어기 모듈(103)은 또한 양자화기/속도 제어기(307)를 포함하여, 양자화기(Qp) 값과 같은, 적응적 양자화기 모듈(109)의 양자화기 속도를 제어할 수 있다.
도 4는 본 개시의 적어도 일부 구현예에 따라서 구성되는, 인코더 서브시스템(400)을 도시하는 도면이다. 도시된 것처럼, 인코더 서브시스템(400)은 코딩 파티션 생성기 모듈(107), 인코딩 제어기 모듈(103), 적응적 변환 모듈(108), 적응적 양자화기 모듈(109), 및/또는 적응적 엔트로피 인코더 모듈(110)을 포함할 수 있다. 비록 도 4에 도시되지 않았지만, 명확하게 표현하기 위하여, 비디오 데이터는 차분기(106), 예측 파티션 생성기 모듈(105) 등으로부터 코딩 파티션 생성기 모듈(107)로 입력될 수 있다. 코딩 파티션 생성기 모듈(107)에 의해 수신된 비디오 데이터는, 예를 들면, 예측 오차 데이터 파티션(예를 들면, 인터-예측에 대한 예측 파티션의 오차 데이터)과 같은 적합한 비디오 데이터일 수 있으며, 비디오 데이터는 코딩 파티션 생성기 모듈(107)의 이진-트리 코딩 분할기 모듈(301)에 의해 수신될 수 있다. 논의된 것처럼, 이진-트리 코딩 분할기 모듈(301)은 비디오 데이터를 이진-트리 분할 기법을 사용하여 복수의 파티션으로 분할할 수 있다. 또한 논의된 것처럼, 비록 이진-트리 코딩 분할기 모듈(301)로 도시되었지만, 일부 예에서, 코딩 파티션 생성기 모듈(107)은 예측 파티션을 k-d 트리 분할 기법을 사용하여 분할하는 k-d 트리 코딩 분할기 모듈을 구현할 수 있다.
도시된 것처럼, 일부 예에서, 적응적 변환 모듈(108)은 콘텐츠 적응적 변환 모듈(402) 및 고정 변환 모듈(403)을 포함할 수 있다. 콘텐츠 적응적 변환모듈(402)은 본 개시에서 논의된 것처럼 디코딩 이웃 비디오 데이터(예를 들면, 이웃 블록, 파티션 등)로부터 결정될 수 있는 콘텐츠 종속 기저 함수에 의한 변환을 포함할 수 있다. 일부 예에서, 콘텐츠 적응적 변환 모듈(402)은, 예를 들면, 파라메트릭 변환, 파라메트릭 하르 변환, 하이브리드 파라메트릭 하르 변환(예를 들면, 일 방향의 파라메트릭 하르 변환 및 직교 방향의 고정 변환), 파라메트릭 경사(slant) 변환, 하이브리드 파라메트릭 경사 변환 등과 같은, 적응적 변환을 적용할 수 있다. 일부 예에서, 콘텐츠 적응적 변환 모듈(402)은 폐쇄형 파라메트릭 변환, 폐쇄형 하이브리드 파라메트릭 변환, 폐쇄형 하이브리드 파라메트릭 하르 변환, 파라메트릭 변환에 대한 폐쇄형 솔루션, 또는 파라메트릭 변환에 대한 폐쇄형 표현 등을 적용할 수 있다. 도시된 것처럼, 일부 예에서, 콘텐츠 적응적 변환 모듈(402)은 소형 크기 내지 중간 크기의 코딩 파티션 또는 블록에 적용될 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션이나 블록은 16 픽셀 이하의 높이와 16 픽셀 이하의 폭을 갖는 코딩 파티션 또는 블록을 포함할 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션은 4x4 픽셀, 4x8 픽셀, 8x4 픽셀, 8x8 픽셀, 4x16 픽셀, 16x4 픽셀, 8x16 픽셀, 16x8 픽셀, 16x16 픽셀 등을 갖는 파티션을 포함할 수 있다.
일부 예에서, 고정 변환 모듈(403)이, 예를 들면, 이산 코사인 변환, 이산 코사인 변환 근사기 등과 같은 고정 변환에 적용될 수 있다. 도시된 것처럼, 일부 예에서, 고정 변환 모듈(403)은 소형 크기 내지 대형 크기의 코딩 파티션이나 블록에 적용될 수 있다. 일부 예에서, 고정 변환 모듈(403)은 모든 파티션 및/또는 그의 블록에 적용될 수 있다. 예를 들면, 중간 크기 내지 대형 크기의 코딩 파티션이나 블록은 16 픽셀이상의 높이와 16 픽셀 이상의 폭을 갖는 코딩 파티션 또는 블록을 포함할 수 있다. 예를 들면, 중간 크기 내지 대형 크기의 코딩 파티션이나 블록은, 16x16 픽셀, 16x32 픽셀, 32x16 픽셀, 32x32 픽셀, 32x64 픽셀, 64x32 픽셀, 64x64 픽셀 등을 포함하는, 정방형 및 장방형 파티션을 포함하는 각 사이드가 적어도 16 픽셀인 넓은 배열의 코딩 파티션을 포함할 수 있다. 일부 예에서, 고정 변환 모듈(403)은 고정밀 정수 근사를 사용하여 이산 코사인 변환을 적용할 수 있다. 논의된 것처럼, 일부 예에서, 콘텐츠 적응적 변환 모듈(402)에 제공된 파티션과 고정 변환 모듈(403)에 제공된 파티션 간에 오버래핑될 수 있다.
콘텐츠 적응적 변환 모듈(402)과 고정 변환 모듈(403) 모두에 제공된 파티션(예를 들면, 소형 크기 내지 중간 크기의 코딩 파티션이나 블록)에 대하여, 어떤 변환 모듈 결과가 사용될지에 대한 결정이 비트율 왜곡 최적화 선택기 모듈(306)을 통한 트레이드-오프 분석에 기초하여 이루어질 수 있다. 예를 들면, 코딩 파티션과 코딩 변환이 결정되고, 변환 계수 및 오버헤드 데이터(예를 들면, 변환 타입, 적응적 변환 방향 및/또는 변환 모드에 대한 본 개시에서 논의된 표시자)를 통해 궁극적으로 인코딩될 수 있다. 중간 크기 내지 대형 크기의 코딩 파티션에 대해서는, 인코더 서브시스템(300)과 관련하여 실질적인 성능의 변화는 없을 수 있으며, 이는 고정 변환이 여전히 이러한 코딩 파티션이나 블록에 적용되기 때문이다. 인코더 서브시스템(400)은 추가적인 계산이나 결정 오버헤드의 비용으로 소형 크기 내지 중간 크기의 코딩 파티션이나 블록과 관련된 코딩 효율성/비트 세이브 전망으로부터 최적의 결정을 내릴 능력을 제공할 수 있다.
논의된 것처럼, 어떤 오버헤드 데이터가 본 개시에서 논의된 기법을 사용하여 인코더에서 디코더로 제공될 수 있다. 예를 들면, 변환 타입(예를 들면, xmtyp; 예를 들면, 파티션에 대한 변환이 적응적인지 이산인지 여부), 변환 방향(예를 들면, xmdir; 파라메트릭 변환이 하이브리드 변환에서 수평인지 수직인지 여부를 기술), 및/또는 변환 모드(예를 들면, xmmode; 예측 차이 신호 또는 본래의 신호를 사용하여 모드 선택 간의 인트라 코딩 신호용으로만 사용됨)를 포함하는 일련의 표시자가 제공될 수 있다. 도 4에 도시된 것처럼, 이러한 표시자 또는 플래그 또는 데이터 등은 출력 비트스트림(111) 같은 비트스트림 내에 인코딩하도록 적응적 엔트로피 인코더 모듈(110)에 제공될 수 있다. 도 3의 인코더 서브시스템(300)과 비교하면, 이러한 오버헤드 데이터는 콘텐츠는 유사하거나 동일하지만, 인코더 서브시스템(400)의 구현예에서 좀더 빈번하게 제공될 수 있다.
도 5는 본 개시의 적어도 일부 구현예에 따라서 구성되는, 인코더 서브시스템(500)을 도시하는 도면이다. 도시된 것처럼, 인코더 서브시스템(500)은 코딩 파티션 생성기 모듈(107), 인코딩 제어기 모듈(103), 적응적 변환 모듈(108), 적응적 양자화기 모듈(109), 및/또는 적응적 엔트로피 인코더 모듈(110)을 포함할 수 있다. 비록 도 5에 도시되지 않았지만, 명확하게 표현하기 위하여, 비디오 데이터는 차분기(106), 예측 파티션 생성기 모듈(105) 등으로부터 코딩 파티션 생성기 모듈(107)로 입력될 수 있다. 코딩 파티션 생성기 모듈(107)에 의해 수신된 비디오 데이터는, 예를 들면, 예측 오차 데이터 파티션, 예측 파티션, 타일이나 수퍼-프래그먼트, 원 픽셀 데이터, 웨이블릿 데이터, 잔차 데이터, 또는 본 개시에서 논의되는 그밖의 비디오 데이터와 같은 어느 적합한 비디오 데이터일 수 있다. 비디오 데이터는 예를 들면 루마 데이터 또는 크로마 데이터를 제공하거나 표현할 수 있다. 도시된 것처럼, 인코더 서브시스템(500)에서, 비디오 데이터는 코딩 파티션 생성기 모듈(107)에 의해서 수신될 수 있다.
도시된 것처럼, 코딩 파티션 생성기 모듈(107)은 k-d 트리 인트라-예측/코딩 분할기 모듈(501) 및 이진-트리 코딩 분할기 모듈(502)을 포함할 수 있다. 스위치(503)의 제어하에, 수신된 비디오 데이터는 k-d 트리 인트라-예측/코딩 분할기 모듈(501) 또는 이진-트리 코딩 분할기 모듈(502)로 전송될 수 있다. 예를 들면, 스위치(503)는 비디오 데이터의 픽처 타입 및/또는 비디오 데이터와 연관된 예측 타입에 기초하여 비디오 데이터를 라우팅할 수 있다. 예를 들면, 픽처 타입이 F/B 픽처 또는 P-픽처이고 예측 타입이 인터-예측 등일 때, 비디오 데이터는 예측 오류 데이터 파티션(예를 들면, 예측 파티션에 대한 오차 데이터나 잔차)을 포함할 수 있고 그리고 스위치(503)는 비디오 데이터를 이진-트리 코딩 분할기 모듈(502)로 라우팅하여 코딩 파티션으로 분할되도록 할 수 있다. 예를 들면, 픽처 타입이 F/B 픽처 또는 P-픽처이고 예측 타입이 인트라-예측일 때, 비디오 데이터는 타일이나 수퍼-프래그먼트 비디오를 포함할 수 있고, 그리고 스위치(503)는 비디오 데이터를 이진-트리 코딩 분할기 모듈(502)로 라우팅하여 (오직 한 레벨 분할만이 수행될 수 있기 때문에) 예측 파티션 또는 코딩 파티션으로 표식될 수 있는 파티션으로 분할되도록 할 수 있다. 논의된 것처럼, 그러한 예에서, 분할은 이진-트리 코딩 분할기 모듈(502)이나 예측 파티션 생성기 모듈(105)에 의해서 수행될 수 있다. 픽처 타입이 (예를 들면, 이는 전적으로 인트라-예측을 사용하여 코딩될 수 있는) I 픽처일 때고, 비디오 데이터는 타일이나 수퍼-프래그먼트 비디오를 포함할 수 있고, 그리고 스위치(503)는 비디오 데이터를 k-d 트리 인트라-예측/코딩 분할기 모듈(501)로 라우팅하여 (오직 한 레벨 분할만이 수행될 수 있기 때문에) 예측 파티션 또는 코딩 파티션으로 명시될 수 있는 파티션으로 분할되도록 할 수 있다. 논의된 것처럼, 이러한 예에서, 분할은 k-d 트리 인트라-예측/코딩 분할기 모듈(501)이나 예측 파티션 생성기 모듈(105)에 의해서 수행될 수 있다.
비록 이진-트리 코딩 분할기 모듈(502)로 도시되었지만, 일부 예에서는, 코딩 파티션 생성기 모듈(107)은 k-d 트리 분할 기법을 사용하여 예측 파티션을 분할하는 모듈(501) 대신에 k-d 트리 코딩 분할기 모듈을 구현할 수 있다. 유사하게, 비록, k-d 트리 인트라-예측/코딩 분할기 모듈(501)로 도시되었지만, 일부 예에서는, 코딩 파티션 생성기 모듈(107)은 이진-트리 분할 기법을 사용하여 예측 파티션을 분할하는 모듈(502) 대신에 이진-트리 코딩 분할기 모듈을 구현할 수 있다.
논의된 것처럼, 일부 예에서, I-픽처 인트라-코딩과 같이, 예측 분할 또는 코딩 분할로 표식될 수 있는 일 계층 분할이 적용될 수 있다. 일부 예에서, 코딩 파티션 생성기 모듈(107)은 k-d 트리 인트라-예측/코딩 분할기 모듈(501)을 통해 k-d 트리 분할 기법을 사용하여 분할하기 위한 I-픽처 타일이나 수퍼-프래그먼트 또는 프레임을 수신할 수 있다. 다른 예에서, I-픽처는 예측 파티션 생성기 모듈(105)을 통해 사전에 분할되어서, 더 이상의 분할이 요구되지 않을 수 있다. 이러한 예에서, k-d 트리 인트라-예측/코딩 분할기 모듈(501)은 바이패스될 수 있다. 양자의 경우에, (예측 파티션이나 코딩 파티션으로 표식되는) I-픽처 파티션은 적응적 변환 모듈(108)로 전송될 수 있다.
논의된 것처럼, 일부 예에서, P- 또는 F/B-픽처 인트라-코딩에서, 오직 1계층 분할만이 적용될 수 있으며, 이는 예측 분할이나 코딩 분할로서 표식될 수 있다. 일부 예에서, 코딩 파티션 생성기 모듈(107)은 그러므로 이진-트리 코딩 분할기 모듈(502)을 통해 이진-트리 분할 기법을 사용하여 분할하도록 P- 또는 F/B-픽처 타일이나 수퍼-프래그먼트 또는 프레임을 수신한다(이러한 예에서, 이진-트리 코딩 분할기 모듈(501)은 이진-트리 예측/코딩 분할 모듈로 간주될 수 있다). 다른 예에서, P- 또는 F/B-픽처는 예측 파티션 생성기 모듈(105)을 통해 이미 분할되었을 수 있으며, 더 이상의 분할이 필요하지 않을 수 있다. 이러한 예에서, 이진-트리 코딩 분할기 모듈(502)이 바이패스될 수 있다. 양자의 경우에, (예측 파티션이나 코딩 파티션으로 표식되는) P- 또는 F/B-픽처 파티션은 적응적 변환 모듈(108)로 전송될 수 있다.
일부 예에서, 각 인트라 예측 파티션에 대하여, 한 예측 방향(예를 들면, 9개 또는 31 개 예측 방향 중의 1개)이 인트라 예측 파티션과 연관됨으로써, 과거 디코딩 캐주얼 영역, 이전의 이웃 타일의 픽셀 및/또는 현재 프레임의 동일한 타일 내의 이웃 파티션을 사용하여, 인트라 예측이 각 예측 파티션에 대하여 수행될 수 있다.
이진-트리 코딩 분할기 모듈(502)은 이진-트리 분할 기법을 사용하여 비디오 데이터를 복수의 파티션으로 분할할 수 있는데, 이하, 도 8을 참조하여 좀 더 논의된다. 이진-트리 코딩 분할기 모듈(502)은 수평 및 수직 방향으로 교대하여 파티션을 분할하도록 허용하는 유연한 분할을 제공할 수 있다. 그러한 기법은 수평 또는 수직 방향으로, 또는 두 방향으로 절단을 허용하며, 이에 따라서, 복수의, 유연한 파티션을 허용할 수 있다. k-d 트리 인트라-예측/코딩 분할기 모듈(501)은 k-d 트리 분할 기법을 사용하여 비디오 데이터를 복수의 파티션으로 분할할 수 있으며, 이하 도 9를 참조하여 좀 더 논의된다. 예를 들면, k-d 트리 인트라-예측/코딩 분할기 모듈(501)은 훨씬 더 유연한 분할을 제공하는데, 이는 파티션의 중간포인트와 파티션을 따라서 1/4 및 3/4 포인트에서 수평 및 수직 방향으로 교대하여 파티션을 분할하도록 허용할 수 있다. 이러한 증가는 증가된 오버헤드와 계산을 야기할 수 있으며, 이는 예를 들면, I-픽처에 대해서 적합할 수 있다. 도시된 것처럼, 파티션 또는 서브-파티션(예를 들면, 예측을 위해 이전에 정의된 파티션들의 코딩 파티션)은 코딩 파티션 생성기 모듈(107)로부터 적응적 변환 모듈(108)로 전송될 수 있다.
먼저, (예를 들면, I-픽처에 대하여) k-d 트리 파티션의 예를 들면, 파티션(예를 들면, 예측이나 코딩)은 k-d 트리 인트라-예측/코딩 분할기 모듈(501)이나 예측 파티션 생성기 모듈(105)로부터 적응적 변환 모듈(108)로 전송될 수 있다. 예를 들면, 타일이나 수퍼-프래그먼트는 k-d 트리 분할 기법을 사용하여 분할되어 분할(예를 들면, 예측을 위한 파티션)을 생성할 수 있다. 인트라-예측은 예측을 위하여 파티션에 대하여 수행되어 예측 파티션을 생성할 수 있으며, 이는 예측 오차 데이터 파티션을 생성하도록 원 픽셀 데이터와 구별될 수 있다. 논의된 것처럼, 선택된 분할은 비트율 왜곡 최적화나 그 유사한 것에 기초하여 결정될 수 있다. 선택된 분할과 연관된 예측 오차 데이터 파티션(및/또는 예측 파티션)은 적응적 변환 모듈(108)로 전송될 수 있다. 논의된 것처럼, 이러한 예측 파티션은 다르게는 코딩 파티션이라고 표식될 수 있는데, 이는 싱글 레벨의 분할만이 수행되기 때문이다.
도시된 것처럼, 적응적 변환 모듈(108)은 콘텐츠 적응적 변환 모듈(504)과 고정 변환 모듈(505)을 포함할 수 있으며, 이들은 스위치(506, 507)의 동작에 기초하여 선택적으로 동작할 수 있다. 예를 들면, 콘텐츠 적응적 변환은 디코딩 이웃 비디오 데이터(예를 들면, 이웃 블록, 파티션, 또는 그 유사한 것)로부터 결정될 수 있는 콘텐츠 종속 기저 함수를 갖는 변환 및 디코딩을 위해 (예를 들면, 비트스트림을 통해) 인코더로부터 디코더로 전송되어야 하는 연관된 변환 데이터를 갖는 변환을 포함할 수 있고, 고정 변환은 고정 기저 함수를 갖는 고정 변환을 포함하고, 상술한 것처럼, 변환 계수만이 디코딩을 위해 전송되어야 한다.
일부 예에서, 콘텐츠 적응적 변환 모듈(504)은, 예를 들면, 파라메트릭 변환, 파라메트릭 하르 변환, 하이브리드 파라메트릭 하르 변환(예를 들면, 일 방향의 파라메트릭 하르 변환 및 직교 방향의 고정 변환), 파라메트릭 경사(slant) 변환, 하이브리드 파라메트릭 경사 변환 등과 같은, 적응적 변환을 적용할 수 있다. 일부 예에서, 콘텐츠 적응적 변환 모듈(504)은 폐쇄형 파라메트릭 변환, 폐쇄형 하이브리드 파라메트릭 변환, 폐쇄형 하이브리드 파라메트릭 하르 변환, 파라메트릭 변환에 대한 폐쇄형 솔루션, 또는 파라메트릭 변환에 대한 폐쇄형 표현 등을 적용할 수 있다. 도시된 것처럼, 일부 예에서, 콘텐츠 적응적 변환 모듈(504)은 소형 크기 내지 중간 크기의 파티션에 적용될 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션은 16 픽셀 이하의 높이와 16 픽셀 이하의 폭을 갖는 파티션 또는 블록을 포함할 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션이나 블록은 4x4 픽셀, 4x8 픽셀, 8x4 픽셀, 8x8 픽셀, 4x16 픽셀, 16x4 픽셀, 8x16 픽셀, 16x8 픽셀, 16x16 픽셀, 또는 그 유사한 것을 갖는 파티션을 포함할 수 있다.
일부 예에서, 고정 변환 모듈(505)이, 예를 들면, 이산 코사인 변환, 이산 코사인 변환 근사기, 또는 그 유사한 것과 같은 고정 변환을 적용할 수 있다. 도시된 것처럼, 일부 예에서, 고정 변환 모듈(505)은 중간 크기 내지 대형 크기의 파티션이나 블록에 적용될 수 있다. 예를 들면, 중간 크기 내지 대형 크기의 파티션이나 블록은 16 픽셀픽셀보다 크거나 같은 높이와 16 픽셀보다 크거나 같은 폭을 갖는 파티션을 포함할 수 있다. 예를 들면, 중간 크기 내지 대형 크기의 파티션이나 블록은, 16x16 픽셀, 16x32 픽셀, 32x16 픽셀, 32x32 픽셀, 32x64 픽셀, 64x32 픽셀, 64x64 픽셀 등을 포함하는, (정방형 및 장방형 파티션을 포함하는) 각 사이드가 적어도 16 픽셀인 넓은 배열의 파티션을 포함할 수 있다. 일부 예에서, 고정 변환 모듈(505)은 고정밀 정수 근사를 사용하여 이산 코사인 변환을 적용할 수 있다. 논의된 것처럼, 일부 예에서, 콘텐츠 적응적 변환 모듈(504)에 제공된 코딩 파티션과 고정 변환 모듈(505)에 제공된 것 간에 오버래핑될 수 있다. 그러한 예에서, 콘텐츠 적응적 변환 모듈(504)과 고정 변환 모듈(505) 모두에 제공된 코딩 파티션은 어떤 변환이 사용될 지를 결정하기 위하여 평가될 수 있다. 다른 예에서, 오버랩이 없을 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션이나 블록은 16 픽셀보다 작은 폭과 16 픽셀보다 작은 높이 또는 그 유사한 것을 갖는 파티션이나 블록을 포함할 수 있고, 중간 크기 내지 대형 크기의 픽셀은 16 픽셀보다 큰 폭과 16 픽셀보다 큰 높이 또는 그 유사한 것을 갖는 파티션이나 블록을 포함할 수 있다. 다른 예에서, 휴리스틱(heuristic) 기법은 언제 모듈 중간 크기의 블록이 변환 프로세싱을 위하여 전송될지를 결정하도록 구현될 수 있다.
논의되는 것처럼, 스위치(506, 507)는 k-d 트리 파티션(예를 들면, I-픽처의 파티션)에 대한 변환 모듈을 선택하도록 동작할 수 있다. 일부 예에서, 스위치(506, 507) 및/또는 코딩 파티션 생성기(107)는 논의된 것처럼 인코딩 제어기(103)의 비트율 왜곡 최적화 선택기 모듈(306)의 제어하에 동작할 수 있으며, 이는 변환 타입(예를 들면, xmtyp; 예를 들면, 파티션에 대한 변환이 적응적인지 이산인지 여부), 변환 방향(예를 들면, xmdir; 파라메트릭 변환이 하이브리드 변환에서 수평인지 수직인지 여부를 기술), 및/또는 변환 모드(예를 들면, xmmode; 예측 차이 신호 또는 본래의 신호를 사용하여 모드 선택 간의 인트라 코딩 신호용으로만 사용됨)를 적응적 변환 모듈(108)에 제공하는 표시자를 포함할 수 있다.
이제 이진-트리 파티션의 예로 돌아가면, 코딩 파티션(예를 들면, F/B 및 P-픽처에 대한 코딩 파티션)은 콘텐츠 적응적 변환 모듈(108)로 전송되는데, 이는, 도시된 것처럼, 콘텐츠 적응적 변환 모듈(508), 고정 변환 모듈(509)을 포함할 수 있으며, 이들은 스위치(51O, 511)의 동작에 기초하여 선택적으로 동작할 수 있다. 콘텐츠 적응적 변환 모듈(508), 고정 변환 모듈(509) 및 스위치(51O, 511)는 콘텐츠 적응적 변환 모듈(504), 고정 변환 모듈(505) 및 스위치(506, 507)와 유사하게 동작할 수 있으며, 이 동작은 간결함의 목적으로 반복되지 않을 것이다. 도시된 것처럼, 콘텐츠 적응적 변환 모듈(108)은 또한 스위치(512)를 포함할 수 있고, 이는 상술한 것처럼 다양한 비디오 데이터(예를 들면, I-픽처 또는 F/B 및 P-픽처와 관련된 비디오 데이터 파티션)를 위한 적절한 루트를 선택하도록 스위치(503)와 함께 동작할 수 있다.
도 5의 인코더 서브시스템(500)에서, 일부 예에서, 하이브리드 파라메트릭 하르 변환과 같은 콘텐츠 적응적 변환은 2의 거듭제곱을 갖는 파티션에 대해서만 수행될 수 있다. 이러한 예에서, 2의 거듭제곱인 파티션만이 가용한 변환을 수용하도록 제약사항이 k-d 트리 인트라-예측/코딩 분할기 모듈(501)에 부과될 수 있다. 일부 예에서, 소형 파티션 내지 중간 파티션이 2의 거듭제곱을 유지하지 않는다면, 고정 변환(예를 들면, 이산 코사인 변환이나 그 유사한 것)이 그러한 파티션에 대하여 추가적인 시그널링 오버헤드에 대한 필요없이 사용될 수 있다.
도 6은 본 개시의 적어도 일부 구현예에 따라서 구성되는, 인코더 서브시스템(600)을 도시하는 도면이다. 도시된 것처럼, 인코더 서브시스템(600)은 코딩 파티션 생성기 모듈(107), 인코딩 제어기 모듈(103), 적응적 변환 모듈(108), 적응적 양자화기 모듈(109), 및/또는 적응적 엔트로피 인코더 모듈(110)을 포함할 수 있다. 비록, 표현의 명확함을 위하여, 도 6에 도시되지 않았지만, 비디오 데이터는 차분기(106), 예측 파티션 생성기 모듈(105) 또는 그 유사한 것으로부터 코딩 파티션 생성기 모듈(107)로 입력될 수 있다. 코딩 파티션 생성기 모듈(107)에 의해 수신된 비디오 데이터는, 예를 들면, 예측 오차 데이터 파티션, 예측 파티션, 타일이나 수퍼-프래그먼트, 원 픽셀 데이터, 웨이블릿 데이터, 잔차 데이터, 또는 본 개시에서 논의되는 그 밖의 비디오 데이터와 같은 어느 적합한 비디오 데이터일 수 있다. 비디오 데이터는 예를 들면 루마 데이터 또는 크로마 데이터를 제공하거나 표현할 수 있다. 도시된 것처럼, 인코더 서브시스템(500)에서, 비디오 데이터는 코딩 파티션 생성기 모듈(107)에 의해서 수신될 수 있다.
도시된 것처럼, 코딩 파티션 생성기 모듈(107)은, 스위치(601)의 제어하에 동작하는, 도 5와 관련하여 논의된, k-d 트리 인트라-예측/코딩 분할기 모듈(501) 및 이진-트리 코딩 분할기 모듈(502)을 포함할 수 있다. 스위치(601)의 제어하에, 수신된 비디오 데이터는 k-d 트리 인트라-예측/코딩 분할기 모듈(501) 또는 이진-트리 코딩 분할기 모듈(502)로 전송될 수 있다. 예를 들면, 스위치(601)는 비디오 데이터의 픽처 타입 및/또는 비디오 데이터와 연관된 예측 타입에 기초하여 비디오 데이터를 라우팅할 수 있다. 예를 들면, 픽처 타입이 F/B 픽처 또는 P-픽처이고 예측 타입이 인터-예측 또는 그 유사한 것일 때, 비디오 데이터는 예측 오류 데이터 파티션(예를 들면, 예측 파티션에 대한 오차 데이터나 잔차)을 포함할 수 있고 그리고 스위치(601)는 비디오 데이터를 이진-트리 코딩 분할기 모듈(502)로 라우팅하여 코딩 파티션으로 분할되도록 할 수 있다. 예를 들면, 픽처 타입이 F/B 픽처 또는 P-픽처이고 예측 타입이 인트라-예측일 때, 비디오 데이터는 타일이나 수퍼-프래그먼트 비디오를 포함할 수 있고, 그리고 스위치(601)는 비디오 데이터를 이진-트리 코딩 분할기 모듈(502)로 라우팅하여 (오직 한 레벨의 분할만이 수행될 수 있기 때문에) 예측 파티션 또는 코딩 파티션으로 표식될 수 있는 파티션으로 분할되도록 할 수 있다. 논의된 것처럼, 그러한 예에서, 분할은 이진-트리 코딩 분할기 모듈(502)이나 예측 파티션 생성기 모듈(105)에 의해서 수행될 수 있다. 픽처 타입이 (예를 들면, 이는 전적으로 인트라-예측을 사용하여 코딩될 수 있는) I 픽처일 때, 비디오 데이터는 타일이나 수퍼-프래그먼트 비디오를 포함할 수 있고, 그리고 스위치(503)는 비디오 데이터를 k-d 트리 인트라-예측/코딩 분할기 모듈(501)로 라우팅하여 (오직 한 레벨의 분할만이 수행될 수 있기 때문에) 예측 파티션 또는 코딩 파티션으로 표식될 수 있는 파티션으로 분할되도록 할 수 있다. 논의된 것처럼, 이러한 예에서, 분할은 k-d 트리 인트라-예측/코딩 분할기 모듈(501)이나 예측 파티션 생성기 모듈(105)에 의해서 수행될 수 있다.
논의된 것처럼, 비록 이진-트리 코딩 분할기 모듈(502)로 도시되었지만, 일부 예에서는, 코딩 파티션 생성기 모듈(107)은 k-d 트리 분할 기법을 사용하여 예측 파티션을 분할하는 모듈(501) 대신에 k-d 트리 코딩 분할기 모듈을 구현할 수 있다. 유사하게, 비록, k-d 트리 인트라-예측/코딩 분할기 모듈(501)로 도시되었지만, 일부 예에서는, 코딩 파티션 생성기 모듈(107)은 이진-트리 분할 기법을 사용하여 예측 파티션을 분할하는 모듈(502) 대신에 이진-트리 코딩 분할기 모듈을 구현할 수 있다.
논의된 것처럼, 일부 예에서, I-픽처 인트라-코딩과 같이, 예측 분할 또는 코딩 분할로 명시될 수 있는 한 계층의 분할만이 적용될 수 있다. 일부 예에서, 코딩 파티션 생성기 모듈(107)은 k-d 트리 인트라-예측/코딩 분할기 모듈(501)을 통해 k-d 트리 분할 기법을 사용하여 분할하기 위한 I-픽처 타일이나 수퍼-프래그먼트 또는 프레임을 수신할 수 있다. 다른 예에서, I-픽처는 예측 파티션 생성기 모듈(105)을 통해 사전에 분할되어서, 더 이상의 분할이 요구되지 않을 수 있다. 이러한 예에서, k-d 트리 인트라-예측/코딩 분할기 모듈(501)은 바이패스될 수 있다. 양자의 경우에, (예측 파티션이나 코딩 파티션으로 표식되는) I-픽처 파티션은 적응적 변환 모듈(108)로 전송될 수 있다.
또한 논의된 것처럼, 일부 예에서, P- 또는 F/B-픽처 인트라-코딩에서, 오직 한 계층 분할만이 적용될 수 있으며, 이는 예측 분할이나 코딩 분할로서 표식될 수 있다. 일부 예에서, 코딩 파티션 생성기 모듈(107)은 그러므로 이진-트리 코딩 분할기 모듈(502)을 통해 이진-트리 분할 기법을 사용하여 분할하도록 P- 또는 F/B-픽처 타일이나 수퍼-프래그먼트 또는 프레임을 수신한다(이러한 예에서, 이진-트리 코딩 분할기 모듈(501)은 이진-트리 예측/코딩 분할 모듈로 간주될 수 있다). 다른 예에서, P- 또는 F/B-픽처는 예측 파티션 생성기 모듈(105)을 통해 이미 분할되었을 수 있으며, 더 이상의 분할이 필요하지 않을 수 있다. 이러한 예에서, 이진-트리 코딩 분할기 모듈(502)이 바이패스될 수 있다. 양자의 경우에, (예측 파티션이나 코딩 파티션으로 표식되는) P- 또는 F/B-픽처 파티션은 적응적 변환 모듈(108)로 전송될 수 있다.
이진-트리 코딩 분할기 모듈(502)은 이진-트리 분할 기법을 사용하여 비디오 데이터를 복수의 파티션으로 분할할 수 있는데, 이하 도 8을 참조하여 좀 더 논의된다. k-d 트리 인트라-예측/코딩 분할기 모듈(501)은 k-d 트리 분할 기법을 사용하여 비디오 데이터를 복수의 파티션으로 분할할 수 있으며, 이하 도 9를 참조하여 좀 더 논의된다. 본 개시에서 논의된 것처럼, 이진-트리 코딩 분할기 모듈(502)은 이진-트리 분할 기법을 사용하여 (예를 들면) 예측 오차 데이터 파티션을 복수의 코딩 파티션으로 분할할 수 있으며, k-d 트리 인트라-예측/코딩 분할기 모듈(501)은 k-d 트리 분할 기법을 사용하여 비디오 데이터(예를 들면, I-픽처 타일이나 수퍼-프래그먼트)를 복수의 파티션으로 분할할 수 있다. 도 6에 도시된 것처럼, 코딩 파티션 또는, I-픽처의 경우에, (표식된) 코딩 파티션 또는 예측 파티션은 코딩 파티션 생성기 모듈(107)로부터 적응적 변환 모듈(108)로 전송될 수 있다.
먼저, k-d 트리 파티션의 예를 들면, (예를 들면, I-픽처에 대하여) 파티션은 적응적 변환 모듈(108)의 콘텐츠 적응적 변환 모듈(602) 및 고정 변환 모듈(603)로 전송될 수 있다. 예를 들면, 타일이나 수퍼-프래그먼트는 k-d 트리 분할 기법을 사용하여 분할되어 분할(예를 들면, 예측을 위한 파티션)을 생성할 수 있다. 인트라-예측은 예측을 위하여 파티션에 대하여 수행되어 예측 파티션을 생성할 수 있으며, 이는 예측 오차 데이터 파티션을 생성하도록 원 픽셀 데이터와의 차가 계산될 수 있다. 논의된 것처럼, 선택된 분할은 비트율 왜곡 최적화나 그 유사한 것에 기초하여 결정될 수 있다. 선택된 분할과 연관된 예측 오차 데이터 파티션(및/또는 예측 파티션)은 적응적 변환 모듈(108)로 전송될 수 있다. 논의된 것처럼, 이러한 예측 파티션은 다르게는 코딩 파티션이라고 표식될 수 있는데, 이는 오직 단일 레벨의 분할이 수행되기 때문이다.
도시된 것처럼, 적응적 변환 모듈(108)은 콘텐츠 적응적 변환 모듈(602)과 고정 변환 모듈(603)을 포함할 수 있다. 예를 들면, 콘텐츠 적응적 변환은 디코딩 이웃 비디오 데이터(예를 들면, 이웃 블록, 파티션, 또는 그 유사한 것)로부터 결정될 수 있는 콘텐츠 종속 기저 함수를 갖는 변환 및 디코딩을 위해 (예를 들면, 비트스트림을 통해) 인코더로부터 디코더로 전송되어야 하는 연관된 변환 데이터를 갖는 변환을 포함할 수 있고, 고정 변환은 고정 기저 함수를 갖는 고정 변환을 포함하고, 본 개시에서, 상술한 것처럼, 변환 계수는 디코딩을 위해 전송되어야 한다.
일부 예에서, 콘텐츠 적응적 변환 모듈(602)은, 예를 들면, 파라메트릭 변환, 파라메트릭 하르 변환, 하이브리드 파라메트릭 하르 변환(예를 들면, 일 방향의 파라메트릭 하르 변환 및 직교 방향의 고정 변환), 파라메트릭 경사(slant) 변환, 하이브리드 파라메트릭 경사 변환 등과 같은, 콘텐츠 적응적 변환을 적용할 수 있다. 일부 예에서, 콘텐츠 적응적 변환 모듈(602)은 폐쇄형 파라메트릭 변환, 폐쇄형 하이브리드 파라메트릭 변환, 폐쇄형 하이브리드 파라메트릭 하르 변환, 파라메트릭 변환에 대한 폐쇄형 솔루션, 또는 파라메트릭 변환에 대한 폐쇄형 표현 등을 적용할 수 있다. 도시된 것처럼,일부 예에서, 콘텐츠 적응적 변환 모듈(602)은 소형 크기 내지 중간 크기의 파티션이나 블록에 적용될 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션이나 블록은 16 픽셀보다 적거나 같은 높이와 16 픽셀보다 적거나 같은 폭을 갖는 파티션 또는 블록을 포함할 수 있다. 예를 들면, 소형 크기 내지 중간 크기의 파티션이나 블록은 4x4 픽셀, 4x8 픽셀, 8x4 픽셀, 8x8 픽셀, 4x16 픽셀, 16x4 픽셀, 8x16 픽셀, 16x8 픽셀, 또는 16x16 픽셀 등을 갖는 파티션을 포함할 수 있다.
일부 예에서, 고정 변환 모듈(603)이, 예를 들면, 이산 코사인 변환, 이산 코사인 변환 근사기, 또는 그 유사한 것과 같은 고정 변환에 적용될 수 있다. 도시된 것처럼, 일부 예에서, 고정 변환 모듈(603)은 중간 크기 내지 대형 크기의 파티션이나 블록에 적용될 수 있다. 예를 들면, 중간 크기 내지 대형 크기의 파티션이나 블록은 16 픽셀보다 크거나 같은 높이와 16 픽셀보다 크거나 같은 폭을 갖는 파티션이나 블록을 포함할 수 있다. 예를 들면, 중간 크기 내지 대형 크기의 파티션이나 블록은, 16x16 픽셀, 16x32 픽셀, 32x16 픽셀, 32x32 픽셀, 32x64 픽셀, 64x32 픽셀, 64x64 픽셀 등을 포함하는, (정방형 및 장방형 파티션을 포함하는) 각 사이드가 적어도 16 픽셀인 넓은 배열의 파티션을 포함할 수 있다. 일부 예에서, 고정 변환 모듈(603)은 고정밀 정수 근사를 사용하여 이산 코사인 변환을 적용할 수 있다.
이제 이진-트리 파티션의 예로 돌아가면, 코딩 파티션(예를 들면, F/B 및 P-픽처에 대한 코딩 파티션)은 적응적 변환 모듈(108)의 적응적 변환 모듈(604)과 고정 변환 모듈(605)로 전송될 수 있다. 적응적 변환 모듈(604)과 고정 변환 모듈(605)은 적응적 변환 모듈(602)과 고정 변환 모듈(604)과 유사하게 동작할 수 있으며, 해당 동작은 간결함을 목적으로 반복되지 않을 것이다. 도시된 것처럼, 적응적 변환 모듈(108)은 또한 스위치(606)를 포함할 수 있고, 이는 다양한 비디오 데이터를 위한 적절한 루트를 선택하도록 스위치(601)와 함께 동작할 수 있다.
콘텐츠 적응적 변환 모듈(602)과 고정 변환 모듈(603), 또는 콘텐츠 적응적 변환 모듈(604)과 고정 변환 모듈(605)에 제공되는 파티션에 대하여(예를 들면, 소형 크기 내지 중간 크기의 파티션), 어떤 변환 모듈 결과가 사용될지에 대한 결정이 비트율 왜곡 최적화 선택기 모듈(306)을 통한 트레이드-오프 분석에 기초하여 이루어질 수 있다. 중간 크기 내지 대형 크기의 코딩 파티션에 대해서는, 인코더 서브시스템(500)과 관련하여 실질적인 성능의 변화는 없을 수 있으며, 이는 고정 변환이 여전히 이러한 코딩 파티션에 적용되기 때문이다. 인코더 서브시스템(600)은 추가적인 계산이나 결정 오버헤드의 비용으로 소형 크기 내지 중간 크기의 코딩 파티션과 관련된 코딩 효율성/비트 세이브 전망(bit saving perspective)으로부터 최적의 결정을 내릴 능력을 제공할 수 있다. 그러한 오버헤드는 변환 타입(예를 들면, xmtyp; 예를 들면, 파티션에 대한 변환이 적응적인지 이산인지 여부), 변환 방향(예를 들면, xmdir; 파라메트릭 변환이 하이브리드 변환에서 수평인지 수직인지 여부를 기술), 및/또는 변환 모드(예를 들면, xmmode; 예측 차이 신호 또는 본래의 신호를 사용하여 모드 선택 간의 인트라 코딩 신호용으로만 사용됨)를 포함하는 일련의 표시자로서 인코딩될 수 있다. 도 6에 도시된 것처럼, 이러한 표시자 또는 플래그 또는 데이터 등은 출력 비트스트림(111) 같은 비트스트림 내에 인코딩하도록 적응적 엔트로피 인코더 모듈(110)에 제공될 수 있다.
도 3 내지 도 6과 관련하여 논의된 것처럼, 다양한 파티션(예를 들면, 인터-예측을 위한 F/B- 또는 P-픽처의 코딩 파티션 또는 인트라-예측을 위한 I-, F/B- 또는 P-픽처의 예측/코딩 파티션)이 변환 코딩될 수 있다. 이러한 예에서, 파티션과 연관된 데이터(예를 들면, 파티션의 크기나 위치 또는 그 유사한 것을 기술하는 데이터)는 출력 비트스트림(111)이나 그 유사한 것과 같은 비트스트림을 통해 제공될 수 있다.
또한, 논의된 것처럼, 소형, 중간, 그리고 대형 파티션의 개념은 다양한 맥락(예를 들면, 픽처 타입 및/또는 루마 또는 크로마)으로 논의되었다. 다음의 표는 어떤 구현 내의 블록 크기 및 연관된 변환 타입의 예시를 도시한다.
예를 들면, 표 1은 (예를 들면, k-d 트리 파티션에 대한) 루마의 (예를 들면, I-픽처에 대한) 인트라-코딩에 대한 하이브리드 파라메트릭 하르 변환(예를 들면, 소형 크기 내지 중간 크기의 예측/코딩 파티션)과 같은 콘텐츠 적응적 변환에 대한 파티션이나 블록 크기의 예를 도시한다.
Figure pct00001
예를 들면, 표 2는 (예를 들면, k-d 트리 파티션에 대한) 크로마의 (예를 들면, I-픽처에 대한) 인트라-코딩에 대한 하이브리드 파라메트릭 하르 변환(예를 들면, 소형 크기 내지 중간 크기의 예측/코딩 파티션)과 같은 콘텐츠 적응적 변환에 대한 파티션의 예를 도시한다.
Figure pct00002
예를 들면, 표 3은 (예를 들면, 이진-트리 파티션에 대한) 루마의 (예를 들면, F/B- 및 P-픽처에 대한) 인터-코딩에 대한 하이브리드 파라메트릭 하르 변환(예를 들면, 소형 크기 내지 중간 크기의 코딩 파티션)과 같은 콘텐츠 적응적 변환에 대한 파티션의 예를 도시한다.
Figure pct00003
예를 들면, 표 4는 (예를 들면, 이진-트리 파티션에 대한) 크로마의 (예를 들면, F/B- 및 P-픽처에 대한) 인터-코딩에 대한 하이브리드 파라메트릭 하르 변환(예를 들면, 소형 크기 내지 중간 크기의 코딩 파티션)과 같은 콘텐츠 적응적 변환에 대한 파티션의 예를 도시한다.
Figure pct00004
예를 들면, (예를 들면, k-d 트리 분할을 사용하는 I-픽처에 대한) 인트라-코딩 및 (예를 들면, 이진-트리 분할을 사용하는 F/B- 및 P-픽처에 대한) 인터-코딩을 위한 이산 코사인 변환(예를 들면, 모든 코딩 파티션)과 같은 고정 변환에 대하여, 4x4부터 64x64까지 4의 인수를 갖는 모든 크기의 조합은 적용가능한 변환을 가질 수 있다. 유사하게, 고정 변환이나 루마에 대하여, 2x2부터 32x32까지 2의 인자를 갖는 모든 크기의 조합은 적용가능한 변환을 가질 수 있다.
도 7은 본 개시의 적어도 일부 구현예에 따라서 구성되는 일 예의 프로세스(700)를 도시하는 흐름도이다. 프로세스(700)는 하나 이상의 동작(702, 704, 706 및/또는 708)에 의해 도시되는 것처럼 하나 이상의 동작, 기능 또는 행위를 포함할 수 있다. 프로세스(700)는 차세대 비디오 코딩 프로세스의 적어도 일부를 형성할 수 있다. 비-한정된 예의 방식으로, 프로세스(700)는 도 1의 인코더 시스템(100) 및/또는 도 3-6의 인코더 서브시스템(300, 400, 500 및/또는 600)에 의해 착수되는 차세대 비디오 디코딩 프로세스의 적어도 일부를 형성할 수 있다.
프로세스(700)는 "변환 코딩을 위한 예측 오차 데이터 파티션을 수신"하는 동작(702)에서 시작할 수 있으며, 이 동작에서 예측 오차 데이터 파티션이 변환 코딩을 위하여 수신될 수 있다. 예를 들면, 예측 오차 데이터 파티션이나 파티션들은 코딩 파티션 생성기 모듈(107)이나 그 유사한 것에 의해서 수신될 수 있다. 논의된 것처럼, 일부 예에서, 예측 오차 데이터 파티션은 수신될 수 있다. 다른 예에서, 코딩 파티션 또는 원 픽셀 데이터의 파티션은 변환 코딩을 위해 수신될 수 있다.
프로세스(700)는 "복수의 코딩 파티션을 생성하도록 예측 오차 데이터 파티션을 분할"하는 동작(704)에서 시작하는데, 이 동작에서 예측 오차 데이터 파티션이 분할되어 복수의 코딩 파티션을 생성될 수 있다. 예를 들면, 예측 오차 데이터와 같은 비디오 데이터는, 본 개시에서 논의된 것처럼, 코딩 파티션 생성기 모듈(107)의 이진-트리 코딩 분할기 모듈이나 k-d 트리 코딩 분할기 모듈에 의해서 분할될 수 있다. 일부 예에서, F/B- 또는 P-픽처와 연관된 비디오 데이터는 이진-트리 코딩 분할기 모듈에 의해서 분할될 수 있다. 일부 예에서, I-픽처와 연관된 비디오 데이터는 k-d 트리 코딩 분할기 모듈에 의해서 분할될 수 있다. 일부 예에서, k-d 트리 코딩 분할기 모듈에 의해서 분할된 비디오 데이터는 I-픽처의 타일이나 수퍼-프래그먼트 또는 그 유사한 것을 포함할 수 있다. 일부 예에서, 코딩 분할기 모듈은 스위치나 스위치들을 통해 선택되거나 선정될 수 있다.
프로세스(700)는 "복수의 코딩 파티션의 제 1 서브셋에 대해 콘텐츠 적응적 변환을 수행"하는 동작(706)에서 시작하며, 이 동작에서 콘텐츠 적응적 변환은 복수의 코딩 파티션의 제 1 서브셋에 대해 수행될 수 있다. 예를 들면, 콘텐츠 적응적 변환은, 본 개시에서 논의된 것처럼, 소형 크기 내지 중간 크기의 코딩 파티션을 포함하는 복수의 코딩 파티션의 서브셋에 대해 수행될 수 있다. 일부 예에서, 콘텐츠 적응적 변환은 스위치의 제어하에 소형 크기 내지 중간 크기의 코딩 파티션을 포함하는 복수의 코딩 파티션의 서브셋에 대해 수행될 수 있다. 일부 예에서, 콘텐츠 적응적 변환은 폐쇄형 하이브리드 파라메트릭 변환 또는 폐쇄형 하이브리드 파라메트릭 하르 변환과 같은 폐쇄형 파라메트릭 변환일 수 있다. 일부 예에서, 콘텐츠 적응적 변환은 파라메트릭 변환에 대한 폐쇄형 솔루션을 포함할 수 있다. 복수의 코딩 파티션의 개별 코딩 파티션에 대해 콘텐츠 적응적 변환이 수행되어 개별 코딩 파티션과 연관된 변환 계수를 생성할 수 있다.
프로세스(700)는 "복수의 코딩 파티션의 제 2 서브셋상에 고정 변환을 수행"하는 동작(708)에서 시작하며, 이 동작에서 고정 변환은 복수의 코딩 파티션의 제 2 서브셋에 대해 수행될 수 있다. 일부 예에서, 고정 변환은, 본 개시에서 논의된 것처럼, 중간 크기 내지 대형 크기의 코딩 파티션을 포함하는 복수의 코딩 파티션의 서브셋에 대해 수행될 수 있다. 일부 예에서, 고정 변환은 스위치의 제어하에 중간 크기 내지 대형 크기의 코딩 파티션을 포함하는 복수의 코딩 파티션의 서브셋에 대해 수행될 수 있다. 일부 예에서, 고정 변환은 소형 크기 내지 대형 크기의 코딩 파티션 또는 실질적으로 모든 코딩 파티션을 포함하는 복수의 코딩 파티션의 서브셋 에 대해 수행될 수 있다. 이러한 예에서, 콘텐츠 적응적 변환 및 고정 변환을 사용하여 변환된 코딩 파티션들에 대하여, 비트 비용 분석, 성능 최적화, 비트율 왜곡 최적화 또는 그 유사한 것에 기초하여 선택될 수 있다.
프로세스(700)는 본 개시에서 논의된 인코더 서브시스템(300, 400, 500, 또는 600)을 통해 구현될 수 있다. 또한 프로세스(700)는 예측 오차 데이터 파티션, 원 데이터 파티션, 또는 웨이블릿 데이터나 그 유사한 것과 같은 비디오 데이터의 많은 인스턴스와 직렬로 또는 병렬로 반복될 수 있다(예를 들면, 동작(702)에서, 프로세스(700)는 상기 설명된 예측 오차 데이터 파티션과 유사하게 프로세싱하도록 원 데이터 또는 웨이블릿 데이터를 수신할 수 있다). 일부 예에서, 동작(704)은 (예를 들면, 인코더 서브시스템(300, 400)과 관련되어 도시된 것처럼) 이진-트리 분할만을 포함할 수 있다. 다른 예에서, 동작(704)은 (예를 들면, 인코더 서브시스템(500, 600)과 관련되어 도시된 것처럼) 객체 비디오 데이터의 픽처 타입에 기초하여 이진-트리 분할이나 k-d 트리 분할을 포함할 수 있다. 유사하게, 일부 예에서, 동작(706, 708)은 동일한 코딩 파티션에 대해 수행될 수 있고, 최적의 변환이 비디오 데이터를 코딩하도록 사용될 수 있다. 일부 예에서, 동작(706, 708)은 본 개시에서 논의된 파티션 크기나 그 유사한 것에 기초하여 상이한 파티션에 대해 수행될 수 있다. 또한, 여기의 다른 곳에서 논의된 것처럼, 동작(706, 708)에 기초하여 결정된 변환 계수는, 오버헤드 비트(예를 들면, 표시자 또는 그 유사한 것)와 함께, 스캐닝되고, 양자화되고, 그리고 비트스트림 내에 인코딩되어, 예를 들면, 하나 이상의 디코더로 전송될 수 있다.
논의된 것처럼, 비디오 데이터는 다양한 구현으로 분할될 수 있다. 또한 논의된 것처럼, 비디오 데이터는 비디오 프레임의 타일이나 수퍼-프래그먼트의 예측 파티션일 수 있다. 일부 예에서, 타일을 사용하는 것은 단순함의 이점을 제공하는 반면, 수퍼-프래그먼트는 좀 더 복잡하지만 강화된 인터- 또는 인트라-예측 또는 이미지 향상의 이점을 제공한다. 양자의 경우에, 비디오 데이터는, 예를 들면, 이진-트리 또는 k-d 트리 분할 기법을 사용하여 본 개시에서 논의된 것처럼 분할될 수 있다.
또한 논의된 것처럼, 폐쇄형 파라메트릭 변환은 개별 코딩 파티션에 수행되어 개별 코딩 파티션과 연관된 변환 계수를 생성할 수 있다. 일부 예에서, 생성된 변환 계수는 양자화되어 적응적 양자화 모듈(109) 등을 통해 양자화된 변환 계수를 생성할 수 있다. 양자화된 변환 계수(예를 들어, 인코딩되고 양자화된 변환 계수 등)와 연관된 데이터는 예를 들어 디코더 시스템으로 전송하기 위해 적응적 엔트로피 인코더 모듈(110) 등을 통해 비트스트림으로 엔트로피 인코딩될 수 있다.
도 8은 본 개시의 적어도 일부 구현예에 따라서 구성되는, 이진-트리 분할 기법을 사용하여 비디오 데이터(800)의 분할의 예를 도시한다. 도시된 것처럼, 일부 예에서, 비디오 데이터(800)는 정방형을 포함할 수 있다. 논의된 것처럼, 다양한 예에서, 비디오 데이터(800)는 임의의 적합한 형태 포함할 수 있다. 또한 비디오 데이터(800)는 예측 파티션, 타일, 또는 수퍼-프래그먼트 또는 본 개시에서 논의된 유사한 것을 포함할 수 있다. 논의된 것처럼, 일부 예에서, 이진-트리 분할이 예측 오차 데이터 파티션에 FB- 또는 P-픽처의 맥락으로 적용되어 코딩 파티션을 생성할 수 있다.
도 8에 도시된 것처럼, 이진-트리 분할은 분할의 진행을 포함할 수 있다. 비디오 데이터(800)로 시작하면서, 파티션 1은 비디오 데이터(800) 자신으로 정의될 수 있다. 파티션 1은 파티션 2, 3으로 수직으로 분할될 수 있다. 각 파티션 2, 3은, 이번에는 파티션 4, 5(예를 들면, 파티션 3의 파티션들) 및 파티션 6, 7(예를 들면, 파티션 2의 파티션들)로 더 수직 분할된다. 도 8의 (위로부터) 제 2 행은 파티션 3에서 파티션 8, 9 그리고 파티션 2에서 파티션 10, 11로의 수직 분할을 도시한다. 도 8의 (위로부터) 제 3 행은 (예를 들면, (위로부터) 제 1 행의 수직 분할 대신에) 파티션 1로부터 파티션 12, 13을 생성하는 수평 분할을 도시한다. 도 8의 (위로부터) 제 3 행은 파티션 12, 13을 수직 분할하여 파티션 14, 15(예를 들면 파티션 13의 파티션들) 및 파티션 16, 17(예를 들면 파티션 12의 파티션들)을 생성하는 것을 도시한다. 제 4 또는 아래 행은 파티션 12를 수평 분할하여 파티션 18, 19를 생성하고 파티션 13을 수평분할하여 파티션 20, 21을 생성한 것을 도시한다. 도시된 것처럼, 이진-트리 분할은 가장 작은 파티션 크기에 도달할 때까지 각 파티션을 두 개의 동일한 파티션으로 서브 분할하거나 분할하도록 한번에 한 차원씩(예를 들면, 수평 및 수직으로) 재귀적으로 사용될 수 있다. 이진-트리 분할은 프레임 부분을 많은 수의 조합으로 분할할 수 있고 또한 파티션의 순조로운 진행을 위하여 제공될 수 있다.
도 9는 본 개시의 적어도 일부 구현예에 따라서 구성되는, k-d 트리 분할 기법을 사용하여 비디오 데이터(900)의 분할의 예를 도시한다. 도시된 것처럼, 일부 예에서, 비디오 데이터(900)는 정방형을 포함할 수 있다. 논의된 것처럼, 다양한 예에서, 비디오 데이터(900)는 임의의 적합한 형태 포함할 수 있다. 또한 비디오 데이터(900)는 예측 파티션, 타일, 또는 수퍼-프래그먼트 또는 본 개시에서 논의된 유사한 것을 포함할 수 있다. 논의된 것처럼, 일부 예에서, k-d 트리 분할이 타일이나 수퍼-프래그먼트에 I-픽처의 맥락으로 적용되어 싱글 레벨의 분할을 생성할 수 있으며, 이는 예측 파티션이나 코딩 파티션으로 표식될 수 있고 또한 예측 파티션 생성기 모듈(105)이나 코딩 파티션 생성기 모듈(107)을 통해 구현될 수 있다.
도 9에 도시된 것처럼, k-d 트리 분할은 분할의 진행을 포함할 수 있다. 또한, 도시된 것처럼, k-d 트리 분할은 (도 9의 위로부터 시작하여) 도 9의 행 1-4가 도 8의 행 1-4와 매칭되는 이진-트리 분할의 확대집합(superset)일 수 있다. 일부 예에서, 도 9에 도시된 k-d 트리 분할의 프로세스는 비디오 데이터(900)를 특정 차원(예를 들면, 수직이나 수평)의 4 개의 장방형 파티션으로 반복하여 분할할 수 있다. 프레임 부분(900)에서 시작하면서, 파티션 1은 프레임 부분(900) 자신으로 정의될 수 있다. 파티션 1은 파티션 2, 3으로 수직으로 분할될 수 있다. 각 파티션 2, 3은, 이번에는 파티션 4, 5(예를 들면, 파티션 3의 각 파티션) 및 파티션 6, 7(예를 들면, 파티션 2의 파티션들)로 더 수직 분할될 수 있다. 도 9의 (위로부터) 제 2 행은 파티션 3에서 파티션 8, 9로, 그리고 파티션 2에서 파티션 10, 11로의 수직 분할을 도시한다. 도 9의 (위로부터) 제 3 행은 (예를 들면, (위로부터) 제 1 행의 수직 분할 대신에) 파티션 1로부터 파티션 12, 13을 생성하는 수평 분할을 도시한다. 도 9의 (위로부터) 제 3 행은 파티션 12, 13을 수직 분할하여 파티션 14, 15(예를 들면 파티션 13의 파티션들) 및 파티션 16, 17(예를 들면 파티션 12의 파티션들)을 생성하는 것을 도시한다. (위로부터) 제 4 행은 파티션 12를 수평 분할하여 파티션 18, 19를 생성하고 파티션 13을 수평분할하여 파티션 20, 21을 생성한 것을 도시한다.
논의된 것처럼, 제 4행을 통해서, k-d 트리 분할은 이진-트리 분할과 실질적으로 일치할 것이다. 도 9의 (위로부터) 제 5행에 도시된 것처럼, 비디오 데이터(900)는 1/4 및 3/4 크기의 파티션으로 수직으로 분할되어 파티션 22, 23을 생성할 수 있다. 또한, 파티션 23은 절반이 수직 분할되어 파티션 24, 25를 생성하고, 파티션 22는 절반이 수직으로 분할되어 파티션 26, 27을 생성할 수 있다. 도 9의 제 6행 또는 맨 아래의 행에 도시된 것처럼, 비디오 데이터(900)는 1/4 및 3/4 크기의 파티션으로 수평 분할되어 파티션 28, 29를 생성할 수 있다. 또한, 파티션 28은 수평으로 절반이 분할되어 파티션 30, 31을 생성하고, 파티션 29는 절반이 수평으로 분할되어 파티션 32, 33을 생성할 수 있다. 이러한 분할 프로세스는 가장 작은 파티션 크기에 도달할 때까지 각 파티션을 두 개의 동일한 부분(절반) 및 2 개의 동일하지 않은 부분(예를 들면, 1:3의 비율로)으로 서브 분할하거나 분할하도록 한번에 차원을 바꾸어 가면서(예를 들면, 수평 및 수직으로), 재귀적으로 반복될 수 있다. K-d 트리 분할은 프레임 부분을 파티션 및 서브 파티션(등등)의 중간 포인트에서만이 아니라, 또한 각 접근 상에 추가적인 정확도(accuracy)를 갖고 많은 수의 조합으로 분할할 수 있다. 도시된 예에서, 사분의 일 정도가 사용된다. 다른 예에서, 삼분의 일, 오분의 일, 또는 그 유사한 것과 같은 어떠한 정도라도 사용될 수 있다.
도 8과 도 9와 관련하여 논의된 것처럼, 비디오 데이터는 광범위한 파티션으로 분할될 수 있다. 파티션은 각각 인덱스 값으로 인덱싱될 수 있고, 인코딩 제어기(103)(도 1 참조)로 전송될 수 있다. 인덱싱되고 전송된 파티션들은, 예를 들면, 다양한 분할을 통해 적용된 수백 개의 파티션을 포함할 수 있다(예를 들면, 분할 또는 분할 스킴(scheme)은 파티션의 패턴을 포함할 수 있다). (예를 들면, 선택된 분할의) 하나 이상의 파티션이, 도 1과 관련하여 논의된 것처럼, 변환 코딩에 사용될 수 있다. 변환 코딩과 연관된 데이터(예를 들면, 필요 시, 변환 계수 및 변환 데이터) 및 활용된 파티션을 정의하는 데이터는 예를 들면 비트스트림 내에 인코딩될 수 있으며, 이하 좀 더 논의된다.
일부 예에서, 광범위한 분할 옵션은 한정되거나 제약된다. 그러한 제약사항은 이진-트리나 k-d 트리 분할의 예에 적용될 수 있다. 예를 들면, 비디오 데이터의 분할은 비디오 데이터를 제 1 차원으로(예를 들면, 수평이나 수직으로) 절반 분할하도록 제 1 파티션을 미리-정의하는 단계와, 그 결과를 제 2 차원으로(예를 들면, 제 1 절반 분할의 반대로) 절반 분할하도록 제 2 파티션을 미리-정의하는 단계를 포함할 수 있다. 추가적인 파티션은 이러한 초기에 제약에 의한 분할 이후에만 만들어질 수 있어서, 예를 들면, 초기 비디오 데이터에 기초한 다른 옵션의 파티션들이 더 이상 가용하지 않게 될 수 있다. 이러한 제약조건은 64x64 픽셀 비디오 데이터로 시작하여 그 비디오 데이터를 32x32 크기의 서브-부분으로 분할하고, 각 서브-부분을 k-d 트리 분할이나 이진-트리 분할에 의해 분할할 때 적용되어, 파티션의 수를 제한할 수 있다.
논의된 것처럼, 파티션은 변환이나 코딩을 위해 사용될 수 있다. 파티션은 인코더 및/또는 디코더에 의한 사용을 위하여 정의될 수 있다(예를 들면, 그들의 형태 및/또는 위치가 정의될 수 있다). 일부 예에서, 각 파티션은 픽셀 블록에 기초하여 심볼-런(symbol-run) 코딩을 사용하여 정의될 수 있다. 다른 예에서, 각 파티션은 코드북(code book)을 사용하여 정의될 수 있다. 표 5는 타일이나 수퍼-프래그먼트의 파티션을 정의하도록 사용되는 32x32 픽셀의 프래그먼트 크기를 갖는 엔트리의 이진트리 분할 코드북의 예를 도시한다. 표 5에서, 큰 X는 무한 파티션을 표현한다.
Figure pct00005
Figure pct00006
표 6은 파티션 정의에 사용되는 32x32 픽셀의 단편 크기를 갖는 엔트리의 k-d 트리 분할 코드북의 예를 도시한다.
Figure pct00007
Figure pct00008
도 5와 도 6은 코드북 엔트리의 예를 보여줄 뿐이다. 전체 코드북(codebook) 엔트리는 모든 가능한 엔트리의 전체 또는 실질적으로 전체 리스트 및 그의 코딩을 제공한다. 일부 예에서, 코드북은 상술한 제약사항을 고려할 수 있다. 일부 예에서, (예측 또는 코딩) 파티션에 대한 코드북 엔트리와 연관된 데이터는 본 개시에서 논의된 것처럼 디코더에서 사용하기 위해 비트스트림으로 인코딩될 수 있다.
논의된 것처럼, 다양한 구현예에서, 콘텐츠 적응적 변환이 변환 코딩을 위해 코딩 파티션에 적용될 수 있다. 또한, 변환 계수 및, 필요 시, 변환 데이터(예를 들면, 일부 예에서, 변환 타입, 방향, 및/또는 모드로 축소될 수 있는, 변환을 재구성하기 위하여 필요한 데이터)는 엔트로피 인코딩되어 디코딩을 위해 디코더로 전송될 수 있다. 이제 논의는 다양한 구현에서의 사용을 위한 콘텐츠 적응적 변환 예로 전환된다.
도 10a, 10b 및 10c는 본 개시의 적어도 어떤 구현에 따라 구성되는, 코딩 파티션(1000)에 대해 동작하는 예시적인 파라메트릭 변환 및 하이브리드 파라메트릭 변환을 도시한다. 도 10a, 10b 및 10c에 도시된 것처럼, 코딩 파티션(1000)은 본 개시에서 논의되는 것과 같은 예측 오차 데이터 파티션, 원 비디오 데이터, 잔여 비디오 데이터, 차이 신호, 웨이블릿 데이터 등의 코딩 파티션을 포함하는 임의의 코딩 파티션을 포함할 수 있다. 도시된 것처럼, 코딩 파티션(1000)은 본 개시에서 논의되는 것 같이 임의의 크기를 갖는 MxN 파티션일 수 있다. 일부 예에서, 코딩 파티션(1000)은 소형 크기 내지 중간 크기의 코딩 파티션일 수 있다. 또한 도시된 것처럼, 다양한 예에서, 상이한 변환들이 코딩 파티션(1000)에 대해 수평 방향 및 수직 방향으로 적용될 수 있다.
일부 예에서, 도 10a를 참조하면, 1차원(1D) 콘텐츠 적응적 변환은 수평 방향(예를 들어, 1D 콘텐츠 적응적 변환(1002)) 및 수직 방향(예를 들어, 1D 콘텐츠 적응적 변환(1001)) 모두에서 적용될 수 있다. 다양한 예에서, 1D 콘텐츠 적응적 변환(1001) 및 1D 콘텐츠 적응적 변환(1002)은 본 개시에서 논의된 콘텐츠 적응적 변환 중 임의의 변환을 포함할 수 있다. 일부 예에서, 1D 콘텐츠 적응적 변환(1001) 및 1D 콘텐츠 적응적 변환(1002)은 동일한 변환일 수 있고, 다른 예에서 상이할 수 있다.
일부 예에서, 도 10b 및 10c를 참조하면, 1D 콘텐츠 적응적 변환은 일 방향(수평 또는 수직)으로 적용되고 1D 고정 변환은 직교 방향으로 적용되어 2D 하이브리드 변환(예를 들어, 2D 적응적 변환)을 생성할 수 있다. 예를 들어, 도 10b는 수평방향으로 적용된 1D 콘텐츠 적응적 변환(1012)과 수직 방향으로 적용된 1D 고정 변환(1011)을 도시하고, 도 10c는 수평방향으로 적용된 1D 고정 변환(1022)과 수직 방향으로 적용된 1D 콘텐츠 적응적 변환(1021)을 도시한다. 다양한 예에서, 1D 콘텐츠 적응적 변환(1012, 1021)은 이 개시에서 논의된 콘텐츠 적응적 변환의 임의의 변환을 포함할 수 있고, 1D 고정 변환(1011, 1022)은 이 개시에서 논의된 고정 변환의 임의의 변환을 포함할 수 있다. 일부 예에서, 콘텐츠 적응적 변환의 방향(예를 들어, 수평 방향 또는 수직 방향)은 콘텐츠 적응적 변환 방향 또는 파라메트릭 변환 방향 등으로 고려될 수 있다. 일부 예에서, 고정 변환은 콘텐츠 적응적 변환 방향 또는 파라메트릭 변환 방향에 직교하는 방향으로 수행될 수 있다.
논의된 것처럼, 다양한 변환들은 예측 오차 데이터 파티션 또는 코딩 파티션 또는 원 픽셀 데이터의 파티션에 적용될 수 있다. 예를 들어, 폐쇄형 파라메트릭 변환이 적용될 수 있다. 폐쇄형 파라메트릭 변환은, 일 방향으로 적용된 1D 파라메트릭 하르 변환과 직교 방향으로 수행된 1D 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 하르 변환과 같은 폐쇄형 하이브리드 파라메트릭 변환일 수 있다.
설명을 위해 콘텐츠 적응적 변환으로서 파라메트릭 하르 변환(parametric Harr transform; PHT)을 예를 들고 고정 변환으로서 이산 코사인 변환(discrete cosine transform; DCT)을 예로 들어, 다음의 예들을 제공한다. 예를 들어, 4x4 PHT를 위한 기저 행렬은 [TPHT]4x4로 표현될 수 있고, 4x4 DCT의 기저 행렬은 [TDCT]4x4로 표현될 수 있다. 본 개시에서 논의된 것처럼, 하이브리드 PHT(HPHT)는 PHT를 일 방향으로 적용하고 고정 변환을 직교 방향으로 적용함으로써 생성될 수 있다. PHT를 위한 유리한 방향(예를 들어, 수평 또는 수직)이 결정될 수 있다. 특정 방향이 유용한지 여부의 결정은 도 11a 및 11b에 도시된 것처럼 이전에 인접한 재구성된 블록들 사이의 비교, 이전에 이웃 예측 오차 블록들 사이의 비교 등에 근거할 수 있다. 또한, 도 11a 및 11b에 도시된 것처럼, 폐쇄형 파라메트릭 변환 등과 연관된 기저 함수 파라미터는 이전에 디코딩된 (이웃하는) 비디오 데이터에 근거하여 결정될 수 있다.
도 11a 및 11b는 본 개시의 적어도 어떤 구현에 따라 구성되는, 코딩 파티션(1000)과 관련한 예시적인 이웃 재구성된 비디오 데이터(1101, 1102)를 도시한다. 일부 예에서, 도 11a에 도시된 것처럼, 이웃 비디오 데이터(1101)(예를 들어, 이웃하는 이전에 디코딩된 및/또는 재구성된 블록, 캐주얼 데이터 등)은 코딩 파티션(1000)에 대해 수직 방향에 있을 수 있다. 이와 같은 예에서, 1D 콘텐츠 적응적 변환(1012)은 도시된 바와 같이 수평 방향에서 동작할 수 있다. 일부 예에서, 도 11b에 도시된 것처럼, 이웃 비디오 데이터(1102)(예를 들어, 이웃하는 이전에 재구성된 블록, 캐주얼 데이터 등)은 코딩 파티션(1000)에 대해 수평 방향에 있을 수 있다. 이와 같은 예에서, 1D 콘텐츠 적응적 변환(1021)은 도시된 바와 같이 수직 방향에서 동작할 수 있다. 일부 예에서, 이웃 비디오 데이터는 코딩 파티션(1000)에 대해 수직 방향 및 수평 방향 모두에서 존재할 수 있다. 이와 같은 예에서, 적응적 변환에 대한 디폴트 방향이 사용될 수 있거나 이웃 비디오 데이터는 최상의 선택 방향을 결정하기 위해 평가될 수 있다. 다양한 예에서, 이전에 디코딩된 비디오 데이터는 코딩 파티션(1000)에 대해 위, 아래, 좌측, 우측 또는 사선으로 있는 이웃 데이터를 포함할 수 있다.
다시 도 10b 및 10c를 참조하고, 4x4 HPHT 예의 설명을 계속하며, 예를 위해 [S]4x2로 표현된 4x2 크기의 코딩 파티션이 전송될 것이고 콘텐츠 적응적 변환(예를 들어, 이 예에서는 PHT)에 대한 유리한 방향이 수직 방향이라고 가정하면, 포워드 코딩 변환은 다음과 같이 결정될 수 있다:
Figure pct00009
여기서, [C]4x2는 변환 계수가 될 수 있다.
설명을 위해 콘텐츠 적응적 변환으로서 파라메트릭 하르 변환(parametric Harr transform; PHT)을 다른 예를 들고 고정 변환으로서 이산 코사인 변환(discrete cosine transform; DCT)을 예로 들면, 8x8 PHT를 위한 기저 행렬은 [TPHT]8x8로 표현될 수 있고, 4x4 DCT의 기저 행렬은 [TDCT]4x4로 표현될 수 있다. 본 개시에서 논의된 것처럼, 하이브리드 PHT(HPHT)는 PHT(또는 임의의 콘텐츠 적응적 변환)를 일 방향으로 적용하고 고정 변환을 직교 방향으로 적용함으로써 생성될 수 있다. 논의된 것처럼, 콘텐츠 적응적 변환(예를 들어, PHT) 및 고정 변환은 분리될 수 있고, 따라서 분리성을 보여줄 수 있다. 예를 위해, [S]4x8로 표현된 4x8 크기의 코딩 파티션이 전송될 것이고 콘텐츠 적응적 변환(예를 들어, 이 예에서는 PHT)에 대한 유리한 방향이 수평 방향이라고 가정하면, 포워드 코딩 변환은 다음과 같이 결정될 수 있다:
Figure pct00010
여기서, [C]4x8는 변환 계수가 될 수 있다.
설명된 예들과 일치되게, 변환 계수는 본 개시에 논의된 것과 같이 임의의 크기의 파티션에 대해 결정될 수 있다.
도 11a 및 11b와 관련되어 논의된 바와 같이, 일부 예에서, 이웃 비디오 데이터(예를 들어, 이전에 디코딩된 이웃 비디오 데이터 또는 캐주얼 데이터 등)는 변환 코딩되는 코딩 파티션에 대해 수직적 또는 수평적일 수 있다. 다른 예에서, 이웃 비디오 데이터는 파티션에 대해 각이 있거나 경사가 질 수 있다.
도 12는 본 개시의 적어도 어떤 구현에 따라 구성되는, 코딩 파티션(1202)을 위한 예시적인 이웃 재구성된 비디오 데이터(1201)를 도시한다. 도 12에 도시된 것처럼, 코딩 파티션(1202)에 대해 사선인 또는 비스듬한 이웃 재구성된 비디오 데이터(1201)는 콘텐츠 적응적 변환들 0 내지 3에 이용될 수 있다. 이와 같은 예에서, 1D 콘텐츠 적응적 변환(1211)은 수평 방향으로 수행되고 1D 고정 수직 변환(1212)은 수직 방향으로 수행될 수 있거나(도시된 것처럼), 1D 콘텐츠 적응적 변환은 수직 방향에서 수행되고 고정 수직 변환은 수평 방향으로 수행될 수 있다.
논의된 것처럼, 캐주얼 데이터와 같은 이웃 재구성된 비디오 데이터는 기저 함수 파라미터 등과 같은 파라메트릭 변환의 적어도 일부를 결정하는데 사용될 수 있다. 일부 예에서, 캐주얼 데이터는 캐주얼 잔차 또는 오차 데이터(예를 들어, 예에서, 인터-코딩이 수행됨) 또는 캐주얼 픽셀을 포함할 수 있다. 일부 예에서, 예를 들어 비트 코스트에 근거하여 비트율 왜곡 최적화 선택기 모듈(306)에 의해 캐주얼 잔차 및 캐주얼 픽셀 사이의 선택이 수행될 수 있다(도 3 내지 6 참조). 일부 예에서, 이와 같은 최적화 선택은 인트라-코딩 환경에서 수행될 수 있다. 잔여 값 또는 오차 데이터가 이용가능하지 않은 일부 예에서(예를 들어, 인트라-코딩), 잔여 값을 결정하기 위해 재계산된 잔차는 주어진 방향에서 캐주얼 픽셀의 정규화된 가중합을 결정하고 정규화된 가중합과 최근접 캐주얼 픽셀의 차를 계산함으로써 결정될 수 있다.
논의된 것처럼, 일부 예에서, 콘텐츠 적응적 변환은 고정 변환 및 파라메트릭 변환의 하이브리드를 포함할 수 있다. 일부 예에서, 하이브리드 변환은 수직 하이브리드 변환이 될 수 있어 파라메트릭 변환이 행들에 적용될 수 있고 고정 변환이 열들에 적용될 수 있다. 일부 예에서, 변환 합성을 위한 입력 데이터(예를 들어, 이웃 재구성된 비디오 데이터 등) 벡터는 블록 위의 즉각적으로 재구성된 행일 수 있다. 일부 예에서, 합성을 위한 입력 데이터 벡터는 또한 위의 행들의 정규화된 가중합 또는 서브픽셀 보간된 픽셀 또는 캐주얼 잔차 또는 계산된 잔차 등이 될 수 있다.
다른 예에서, 하이브리드 변환은 수평 하이브리드 변환일 될 수 있어 파라메트릭 변환이 열들에 적용되고 고정 변환이 행들에 적용될 수 있다. 일부 예에서, 변환 합성을 위한 입력 데이터(예를 들어, 이웃 재구성된 비디오 데이터) 벡터는 블록 좌측의 즉각적으로 재구성된 열일 수 있다. 일부 예에서, 합성을 위한 입력 데이터 벡터는 또한 열들의 정규화된 가중합 또는 서브픽셀 보간된 픽셀 또는 캐주얼 잔차 또는 계산된 잔차가 될 수 있다.
또한 논의된 것처럼, 일부 예에서, 폐쇄형 파라메트릭 변환이 수행될 수 있다. 일부 예에서, 폐쇄형 파라메트릭 변환은 파라메트릭 변환 방향의 1D 파라메트릭 변환과 파라메트릭 변환 방향에 직교하는 방향의 1D 고정 변환을 갖는 폐쇄형 하이브리드 파라메트릭 변환을 포함할 수 있다. 일부 예에서, 1D 파라메트릭 변환은 파라메트릭 하르 변환(예를 들어, 1D 파라메트릭 하르 변환) 또는 파라메트릭 경사 변환 등을 포함할 수 있다. 일부 예에서, 1D 고정 변환은 이산 코사인 변환(예를 들어, 1D 이산 코사인 변환) 또는 이산 코사인 변환 근사기(예를 들어 1D 이산 코사인 변환 근사기) 등을 포함할 수 있다.
일부 예에서, 콘텐츠 적응적 변환(또는 제 1 기저 함수에서의 빠른 전환)은 입력 데이터 벡터에 적용될 수 있고, 결과 계수는 본 개시에서 논의된 것처럼 계수 예측에 사용될 수 있다.
일부 예에서, 콘텐츠 적응적 변환과 같은 방향성 변환은 재배열된 픽셀에 적용될 수 있다. 예를 들어, 방향성 콘텐츠 적응적 변환은 각각의 행 또는 열을 이용하여 설계될 수 있다(논의된 바와 같이 콘텐츠 적응적 변환의 방향에 따라). 이와 같은 예에서, 콘텐츠 적응적 변환은 재배열된 픽셀(또는 픽셀 값, 비디오 데이터 등)에 적용될 수 있고, 각 픽셀은 논의된 것처럼 이웃 재구성된 비디오 데이터를 이용하여 예측될 수 있다.
도 13은 본 개시의 적어도 어떤 구현에 따라 구성되는, 슬로프를 갖는 코딩 파티션을 코딩하기 위해 파라메트릭 변환을 이용하기 위한 픽셀의 방향성 재배열을 도시한다. 도시된 것처럼, 픽셀 0-17은 라인(1301)로 표시된 각 경사도 또는 슬로프에 따라 재배열될 수 있다. 필셀 재정렬의 예는 다음과 같이 테이블 7a 및 7b에 도시된다:
Figure pct00011
논의된 것처럼, 예측 오차 데이터 파티션은 코딩 파티션을 생성하기 위해 분할될 수 있다. 또한, 코딩 파티션은 심볼-런 코딩 또는 코드북 등을 이용하여 특징화되거나 정의될 수 있다. 코딩 파티션은 다양한 예에서 변환 계수를 생성하기 위해 콘텐츠 적응적 변환 또는 고정 변환을 이용하여 변환 인코딩될 수 있다. 또한 논의된 것처럼, 설명된 파티션과 연관된 데이터(예를 들어, 변환 계수 또는 양자화된 변환 계수), 오버헤드 데이터(예를 들어, 변환 타입, 적응적 변환 방향, 및/또는 변환 모드에 대해 본 개시에서 논의된것과 같은 표시자들), 및/또는 파티션을 특징화시키는 데이트 등이 비트스트림으로 인코딩될 수 있다(예를 들어, 엔트로피 인코더를 통해). 비트스트림은 디코더로 통신될 수 있고, 디코더는 인코딩된 비트스트림을 사용하여 디스플레이를 위한 비디오 프레임을 디코딩할 수 있다.
도 14는 본 개시의 적어도 어떤 구현에 따라 구성되는, 비트스트림(1400)의 예를 도시한다. 일부 예에서, 비트스트림(1400)은 도 1에 도시된 출력 비트스트림(111) 및/또는 도 2에 도시된 입력 스트림(201)에 대응할 수 있다. 비록 표현의 명확함을 위해, 도 14에 도시되지 않았지만, 일부 예에서, 비트스트림(1400)은 헤더 부분과 데이터 부분을 포함할 수 있다. 다양한 예에서, 비트스트림(1400)은 데이터, 표시자, 인덱스 값, 모드 선택 데이터 또는 본 개시에서 논의된 비디오 프레임의 인코딩과 연관되는 유사한 것을 포함할 수 있다. 도시된 것처럼, 일부 예에서, 비트스트림(1400)은 제 1 코딩 파티션 정의 데이터(1410), 제 1 코딩 파티션 변환 계수 데이터(1420), 제 1 코딩 파티션 표시자(1430), 제 2 코딩 파티션 정의 데이터(1440), 제 2 코딩 파티션 변환 계수 데이터(1450) 및/또는 제 2 코딩 파티션 표시자(1460)를 포함할 수 있다. 도시된 데이터는 비트스트림(1400) 내에 임의의 순서로 존재하고 또한 비디오를 코딩하기 위한 임의의 다른 다양한 추가적인 데이터에 인접하거나 분리될 수 있다.
예를 들면, 데이터를 정의하는 제 1 코딩 파티션 정의 데이터(1410)와 제 2 코딩 파티션 정의 데이터(1440)는 코딩 파티션 생성기(107)를 통해 정의된 코딩 파티션과 연관된 데이터를 포함할 수 있다. 예를 들면, 제 1 코딩 파티션 정의 데이터(1410) 및/또는 제 2 코딩 파티션 정의 데이터(1440)는 심볼-런 코딩이나 코드북 기법 또는 그 유사한 것을 사용하여 이진-트리 파티션이나 k-d 트리 파티션을 정의하는 것과 연관된 데이터를 포함할 수 있다. 예를 들면, 제 1 코딩 파티션 정의 데이터(1410)와 제 2 코딩 파티션 정의 데이터(1440)는 각각 제 1 파티션과 제 2 파티션과 연관될 수 있다. 비트스트림(1400)은 많은 수의 파티션에 대한 코딩 파티션 정의 데이터를 포함할 수 있다.
또한, 제 1 코딩 파티션 변환 계수 데이터(1420) 및/또는 제 2 코딩 파티션 변환 코딩 계수 데이터(1450)는 본 개시에서 논의되는 것처럼 콘텐츠 적응적 또는 고정 포워드 변환을 통해 결정된 변환 계수를 포함할 수 있다. 일부 예에서, 변환 계수는 양자화된 변환 계수일 수 있다. 일부 예에서, 변환 계수는 양자화되고 스캐닝될 수 있다. 예를 들면, 제 1 코딩 파티션 변환 계수 데이터(1410)와 제 2 코딩 파티션 변환 계수 데이터(1440)는 제 1 코딩 파티션 및 제 2 코딩 파티션과 연관될 수 있다. 비트스트림(1400)은 많은 파티션에 대하여 각각 코딩 파티션 변환 계수 데이터를 포함할 수 있다. 일부 예에서, 변환 계수는 코딩 파티션과 연관된 데이터로서 기술될 수 있다. 제 1 코딩 파티션 표시자(1430) 및/또는 제 2 코딩 파티션 표시자(1440)는 비트, 플래그 또는 오버헤드 비트를 포함하는 그 밖의 데이터를 포함할 수 있는데, 예를 들면, 본 개시에서 논의된 것처럼 예측 오차 데이터 및/또는 변환 모드와 연관된 변환 타입, 적응적 변환 방향, 파티션의 변환 블록 크기를 표시하는 블록 크기 데이터, 프레임 참조(들), 모핑(morphing) 파라미터, 또는 합성 파라미터에 대한 하나 이상의 표시자 같은 것이 있다.
논의된 것처럼, 비트스트림(1400)은, 예를 들면, 인코더(100)와 같은 인코더에 의해 생성되고 및/또는 디코딩을 위해 디코더(200)에 의해 수신되어, 디코딩된 비디오 프레임이 디스플레이 장치를 통해 표현될 수 있다.
도 15는 본 개시의 적어도 어떤 구현에 따라 구성되는, 프로세스(1500)의 예를 도시한다. 프로세스(1500)는 하나 이상의 동작(1502, 1504, 1506, 1508, 1510, 1512 및/또는 1514)에 의해 도시되는 것과 같이 하나 이상의 동작, 기능 또는 행위를 포함할 수 있다. 프로세스(1500)는 차세대 비디오 코딩 프로세스의 적어도 일부를 형성할 수 있다. 비-한정된 예의 방식으로, 프로세스(1500)는 도 2의 디코더 시스템(200)에 의해 착수되는 차세대 비디오 디코딩 프로세스의 적어도 일부를 형성할 수 있다.
프로세스(1500)는 "인코딩된 비트스트림을 수신"하는 동작(1502)에서 시작할 수 있고, 이 동작에서 비트스트림이 수신될 수 있다. 예를 들면, 본 개시에서 논의된 것처럼 인코딩된 비트스트림은 비디오 디코더에서 수신될 수 있다. 일부 예에서, 비트스트림(1500)은 디코더(200)를 통해 수신될 수 있다.
프로세스(1500)는 "엔트로피 인코딩된 비트스트림을 디코딩하여 코딩 파티션 표시자(들), 블록 크기 데이터, 변환 타입 데이터, 양자화기(Qp) 및 양자화 변환 계수를 결정"하는 동작(1504)에서 계속될 수 있고, 이 동작에서 비트스트림이 코딩 파티션 표시자, 블록 크기 데이터, 변환 타입 데이터, 양자화기(Qp) 및 양자화 변환 계수를 결정하도록 디코딩될 수 있다. 예를 들면, 디코딩된 데이터는 코딩 파티션(예를 들면, 변환 계수)과 연관된 데이터 및 코딩 파티션과 연관된 하나 이상의 표시자를 포함할 수 있다. 예를 들면, 변환 계수는 본 개시에서 논의되는 것처럼 고정 변환이나 콘텐츠 적응적 변환을 위한 것일 수 있다. 변환 타입 데이터는 코딩 파티션에 대한 변환 타입, (예를 들면, 본 개시에서 논의된 것처럼 하이브리드 파라메트릭 변환에 대하여) 파라메트릭 변환 방향, 및/또는 변환 모드(예를 들면, xmmode; 예측 차이 신호나 원 신호를 사용하는 모드 선택들 간에 인트라 코딩 신호에만 사용됨)를 표시할 수 있다. 일부 예에서, 디코딩은 적응적 엔트로피 디코더 모듈(202)에 의해 수행될 수 있다. 일부 예에서, 변환 계수의 결정은 역양자화 연산을 포함할 수 있다. 일부 예에서, 디코딩은 개별 코딩 파티션에 대해 양자화된 변환 계수와 연관된 데이터, 파라메트릭 변환 방향 및 블록 크기 데이터를 결정할 수 있다.
프로세스(1500)는 "양자화 계수에 양자화기(Qp)를 적용하여 역양자화 변환 계수를 생성"하는 동작(1506)에서 시작할 수 있고, 이 동작에서 양자화기(Qp)는 양자화 변환 계수에 적용되어 역양자화 변환 계수를 생성할 수 있다. 예를 들면, 동작(1506)은 적응적 역양자화 모듈(203)을 통해 적용될 수 있다. 일부 예에서, 디코딩된 변환 계수를 생성하기 위해 역스캔 및 역양자화는 양자화된 변환 계수와 연관된 데이터에 적어도 부분적으로 기초로하여 수행될 수 있다.
프로세스(1500)는 "코딩(또는 인트라 예측된) 파티션 내의 계수들의 각 디코딩 블록에 대해, 변환 타입 및 블록 크기 데이터에 기초하는 역변환을 수행하여 디코딩된 예측 오차 파티션을 생성"하는 동작(1508)에서 시작할 수 있고, 이 동작에서, 코딩(또는 인트라 예측된) 파티션 내의 계수들의 각 디코딩 블록에 대해, 변환 타입 및 블록 크기 데이터에 기초하는 역변환이 수행되어 디코딩된 예측 오차 파티션을 생성할 수 있다. 일부 예에서, 역변환은 인버스 고정 변환을 포함할 수 있다. 일부 예에서, 역변환은 인버스 콘텐츠 적응적 변환을 포함할 수 있다. 그러한 예에서, 인버스 콘텐츠 적응적 변환의 수행은, 논의된 것처럼, 디코딩된 비디오 데이터의 이웃 블록에 기초하여 인버스 콘텐츠 적응적 변환과 연관된 기저 함수를 결정하는 것을 포함한다. 본 개시에서 논의된 것처럼 인코딩에 사용되는 포워드 변환(forward transform)은 연관된 역변환을 사용하여 디코딩에 사용될 수 있다. 일부 예에서, 역변환은 적응적 역변환 모듈(204)에 의해 수행될 수 있다. 일부 예에서, 디코딩된 예측 오차 파티션을 생성하는 것은 코딩 파티션 조립기(205)를 통해 코딩 파티션을 조립하는 것을 포함할 수 있다.
일부 예에서, 역변환은 역 폐쇄형 파라메트릭 변환과 같은 역 콘텐츠 적응적 변환을 포함할 수 있다. 이와 같은 예에서, 역변환을 수행하기 전에 개별 코딩 파티션과 연관된 디코더 기저 함수 파라미터는 본 개시에 논의된 것과 같은 이전에 디코딩된 비디오 데이터에 기초하여 결정될 수 있다. 예를 들어, 이전에 디코딩된 비디오 데이터는 디코딩되는 개별 파티션에 대해 위, 아래, 좌측, 우측 또는 사선으로 있는 이웃 데이터를 포함할 수 있다. 예를 들어, 이전에 디코딩된 비디오 데이터는, 개별 파티션에 대해 수행된 포워드 폐쇄형 파라메트릭 변환에 대해 기저 함수 파라미터를 생성하기 위해 인코더에서 사용된 이전에 디코딩된 비디오 데이터와 동일하거나 유사할 수 있다.
일부 예에서, 역 콘텐츠 적응적 변환(예를 들어, 역 폐쇄형 파라메트릭 변환)은 디코더 기저 함수 파라미터, 파라메트릭 변환 방향, 및 블록 크기 데이터에 기초하여 수행되어 디코딩된 코딩 파티션(예를 들어, 현재 디코딩되고 있는 코딩 파티션)을 생성할 수 있다. 일부 예에서, 디코딩된 코딩 파티션은 본 개시에서 설명된 것과 같은 디코딩된 예측 오차 데이터 파티션을 생성하기 위해 조합될 수 있다. 다른 예에서, 역 콘텐츠 적응적 변환을 수행하는 것은 논의된 바와 같이 디코딩된 예측 오차 데이터 파티션(예를 들어, 예에서 분할의 단일 레벨만이 수행됨)을 생성할 수 있다.
프로세스(1500)는 "예측 파티션을 디코딩된 예측 오차 데이터 파티션에 추가하여 재구성된 파티션을 생성"하는 동작(1510)에서 계속되며, 이 동작에서 예측 파티션이 디코딩된 예측 오차 데이터 파티션에 추가되어 재구성된 파티션을 생성할 수 있다. 예를 들면, 디코딩 오차 데이터 파티션은 가산기(206)를 통해 연관된 예측 파티션에 추가될 수 있다.
프로세스(1500)는 "재구성된 파티션을 조립하여 타일 또는 수퍼-프래그먼트를 생성"하는 동작(1512)에서 계속되며, 이 동작에서 재구성된 예측 파티션이 타일 또는 수퍼-프래그먼트를 생성하도록 조립될 수 있다. 예를 들면, 재구성된 예측 파티션은 예측 파티션 조립기 모듈(207)을 통해 타일이나 수퍼-타일을 생성하도록 조립될 수 있다.
프로세스(1500)는 "픽처의 타일 또는 수퍼-프래그먼트를 조립하여 완전 디코딩 픽처를 생성"하는 동작(1514)에서 계속되며, 이 동작에서 픽처의 타일 또는 수퍼-프래그먼트가 완전(full) 디코딩 픽처를 생성하도록 조립될 수 있다. 예를 들면, 선택적인 블록분리 필터링 및/또는 품질 복원 필터링 이후에, 타일이나 수퍼-프래그먼트가 완전 디코딩 픽처를 생성하도록 조립되어, 디코딩된 픽처 버퍼(210)를 통해 저장되고 및/또는 적응적 픽처 재구성기 모듈(217)과 콘텐츠 후복원기 모듈(218)을 통해 프로세싱된 이후에 디스플레이 장치를 통한 표현을 위하여 전송될 수 있다.
일부 예에서, 본 개시에서 논의되는 기술을 사용하여 구현된 콘텐츠 적응적 변환은 파라메트릭 하르 변환, 파라메트릭 경사(slant) 변환, 및 그 유사한 것과 같은 변환 패밀리(a family of transforms)를 포함하는 파라메트릭 변환일 수 있다. 이러한 변환은 콘텐츠 적응적일 수 있고 로컬 및/또는 전역의 이전에 디코딩된 비디오 데이터로부터 인코더(100) 및 디코더(200)에서 구성될 수 있다. 이러한 파라메트릭 콘텐츠 적응적 변환은 본 개시에서 논의되는 변환 코딩 서브시스템 내의 효율성 이득(gain)을 통해서 전반적인 비디오 압축 효율성을 개선할 수 있다. 예를 들면, 콘텐츠 적응적 변환은 폐쇄형 파라메트릭 변환, 폐쇄형 파라메트릭 하르 변환, 파라메트릭 변환에 대한 폐쇄형 솔루션, 파라메트릭 하르 변환에 대한 폐쇄형 솔루션, 폐쇄형 솔루션의 고속 구현, 또는 (예를 들면, 적응적 변환을 사용하는 코딩에 대한) 하이브리드 파라메트릭 변환이나 (예를 들면, 고정 변환을 사용하는 코딩에 대한) 이산 코사인 변환을 사용할 수 있는 코딩 솔루션을 포함할 수 있다.
본 개시에서 논의된 콘텐츠 적응적 변환은 여러 크기의 콘텐츠 적응적 직교 함수(orthogormal) 변환을 사용할 수 있으며, 이는 비디오 데이터 내의 콘텐츠의 특성에 적응하도록 허용한다. 본 개시에서 논의될 때, 그러한 콘텐츠 적응적 변환에서, 기저 행렬(예를 들면, 기저 함수의 행렬 또는 기저 함수 파라미터)이 비디오 데이터 또는 변환 코딩된 파티션과 관련된 캐주얼 디코딩된 이웃 데이터(예를 들면, 이전에 디코딩된 이웃 비디오 데이터)에 기초하여 인코더(100)와 디코더(200)에서 결정될 수 있다. 일부 예에서, 콘텐츠 적응적 변환은 디코더 복잡성을 감소시키기 위하여 오직 일방향의(예를 들면, 수평이나 수직의) 파라메트릭 변환 및 직교 방향의 고정 변환을 포함할 수 있다.
논의된 것처럼, 콘텐츠 적응적 변환은 파라메트릭 하르 변환과 같은 파라메트릭 변환의 기저 행렬에 대한 폐쇄형 솔루션 또는 폐쇄형 파라메트릭 변환을 포함할 수 있다. 예를 들어, 2x2 파라메트릭 하르 변환에 대해 폐쇄형 솔루션은, T가 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는:
Figure pct00012
으로 주어지고,
여기서,
Figure pct00013
이다.
또한, 4x4 파라메트릭 하르 변환에 대해 폐쇄형 솔루션은, T가 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는:
Figure pct00014
으로 주어지고,
여기서
Figure pct00015
이다.
유사하게, 8x8 파라메트릭 하르 변환에 대해 폐쇄형 솔루션은, T가 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는:
Figure pct00016
으로 주어지고,
여기서
Figure pct00017
이다.
유사하게, 16x16 파라메트릭 하르 변환에 대해 폐쇄형 솔루션은, T가 기저 행렬을 포함하고, a-p가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는:
Figure pct00018
Figure pct00019
으로 주어지고,
여기서 s20, s11, s10, s01, s00, s03, s02, t20, t11, t10, t01, t00, t03, t02 및 r은 위에 논의된 기술에 대한 유추로 결정될 수 있다.
일부 예에서, 디코더(200) 및 인코더(100)에서의 계산 복잡도를 감소시키기 위해, 제수 s 및 t에 의한 나눗셈은 최소화되거나 회피될 수 있다. 이와 같은 예에서, 모든 잠재적 파라메트릭 변환을 사용하는 것 대신에 파라메트릭 변환의 제한된 서브셋이 이용될 수 있다. 이와 같은 기술은 나눗셈이 곱셈(곱셈은 덜 계산 집중적임)에 의해 대체되는 것을 허용한다. 예를 들어, 다음이 사용될 수 있다:
[c]=[T][s]
예를 들어, 4x4 변환에 대해,
Figure pct00020
이와 같은 예에서, 변환은 θ 도메인과 연관될 수 있고, 이것은 이웃 픽셀 근사 데이터에 의존할 수 있다. 이와 같은 예에서, CORDIC(COordinate Rotation DIgital Computer) 컴퓨팅 기술은 cos(θ) 및 sin(θ)에 대한 변환 쌍을 결정하는 데 이용될 수 있다.
또한, 8x8 변환의 예에서,
Figure pct00021
이와 같은 예에서, 변환은 θ 및 φ 도메인과 연관될 수 있고, 이것은 이웃 픽셀 근사 데이터에 의존할 수 있다. 이와 같은 예에서, CORDIC(COordinate Rotation DIgital Computer) 컴퓨팅 기술은 cos(θ) 및 sin(θ)에 대한 변환 쌍을 결정하는 데 이용될 수 있다. 이와 같은 예는 다음과 같은 컴퓨팅 아키텍처에서 구현될 수 있다:
log2(N)*max(x)*max_integer_cosine*max_integer_sine <= 231
여기서, N=4인 예는 다음을 제공한다:
B4 <= 10을 만족하는
log2(max_integer_cosine) = log2(max_integer_sine) = (31-2-8)/2 = B4
그리고,
정수 코사인의 Ck ,4 = B4 비트 표현
정수 사인의 Sk ,4 = B4 비트 표현
Ck ,4 * Ck ,4 + Sk ,4 * Sk ,4 + Error = 1<<(B4*2)을 만족하는 설계 규칙이 제공될 수 있다
Figure pct00022

여기서, (Ck, Sk) 쌍은 (1<<B)에 가까운 노름(norm)을 갖는 삼각법 수의 모든 양호한 쌍을 나타낼 수 있고,
K = 이와 같은 특별한 변환 쌍의 수인 경우 k=0 내지 K이다.
이와 같은 예에서, 변환 크기를 증가시키기 위해, C=S인 경우 (C, S) 쌍에 대한 ξ보다 작은 노름 오차를 산출하는 최소값 B를 결정하는 이점이 있을 수 있다. 이와 같은 예에서, C=S를 만족하는 (C, S) 쌍을 갖는 8보다 작은 B가 없고 노름 오차가 또한 작으므로 레콘 오차(recon error)는 압축에 대해 최소화될 수 있다. 이와 같은 결과는 다음과 같은 정밀 테스트를 통해 보여질 수 있다:
Figure pct00023
N 변환 크기에 대한 T.s 곱의 범위가 필요한 최대 비트와 같은 것을 만족하는:
log(N)*max(x)*max_integer_trig*max_integer_trig*max_integer_trig = 231
N=8인 예는 다음을 제공한다:
B4 <= 6을 만족하는
log2(max_integer_cosine) = log2(max_integer_sine) = (31-3-9)/3 = B8
그리고,
정수 코사인의 Ck ,8 = B8 비트 표현
정수 사인의 Sk ,8 = B8 비트 표현
Ck ,8 * Ck ,8 + Sk ,8 * Sk ,8 + Error = 1<<(B8*2)을 만족하는 설계 규칙이 제공될 수 있다.
위의 기술은 정수 구현의 정확성에 의해서가 아닌, 예를 들어 각 삼각법 쌍에 대한 적어도 노른 오차와 함께 변환을 이용함으로써 오차를 최소화하는데 시도를 할 수 있다. 일부 예에서, 모든 삼각법 쌍이 곱해질 때, T가 획득될 수 있다. 일부 예에서, 결과 T 행렬은 요구되는 것보다 더 높은 정확성을 가질 수 있다. 일부 예에서, T 행렬의 프리-스케일링은 코사인 및 싸인 양호한 쌍의 단일 라이브러리의 사용을 허용할 수 있다. 이와 같은 예에서, 변환은 이어서 결과 행렬을 요구되는 정수 정확도(예를 들어 32비트 등)에 맞추고자 스케일링될 수 있다. 예를 들어, 결과 변환은 아래에 주어지는 정확도 정의를 따를 수 있다.
8비트 사인 코사인 쌍이 양호한 페어의 가장 작은 비트 깊이 세트이므로, 모든 변환은 그들의 쌍을 이용하여 설계될 수 있다. 예를 들어:
모든 변환이 B=8을 이용하는 경우,
B2<=12인 경우: C 행렬을 스케일링할 필요 없음,
B4<=10인 경우: C 행렬을 스케일링할 필요 없음,
B8<=6인 경우: C 행렬을 스케일링함,
B16<=4인 경우: C 행렬을 스케일링함,
예를 들어, 스케일링 인자(N=8)가 다음과 같이 이용될 수 있다:
Figure pct00024
위에 도시된 바와 같이, T 행렬로부터 변환 합성은 θ의 결정을 통해 간단해질 수 있다. 게다가 θ는 연속 변수가 아닐 수 있고 대신 각 특별한 양호한 코사인-사인 쌍을 참조하는 이산량(discrete quantity)일 수 있다. 예를 들어, CORDIC 알고리즘은 고정 수의 스텝들에서 임의의 벡터(a, b)를 그것들의 정규화된 각도 요소 cos(θ) 및 sin(θ)로 귀착시킬 수 있다. 스텝들의 수는 예를 들어 요소들을 바꾸기 위해 필요한 arctan(a/b)의 정확도에 의해 결정될 수 있다.
도 16은 본 개시의 적어도 일부의 구현에 따라 구성되는, 예시적인 양호한 변환 쌍을 예시한다. 일부 예에서, 디코딩 동작을 단순화시키기 위해, 그리고 복잡도(예를 들어, 디코더에서의 나누기 동작)를 감소시키기 위해, 모든 파라메트릭 변환(예를 들어, PHT), 그러나 제한된 수의 선택된 또는 양호한 파라메트릭 변환이 허용되어, 인코더 및 디코더에서 알려진 선택된 파라메트릭 변환 또는 선택된 폐쇄형 파라메트릭 변환의 제한된 세트가 이용될 수 있다. 예를 들어, 이 개시에서 논의된 것과 같은 폐쇄형 파라메트릭 변환은 제한된 세트의 선택된 폐쇄형 파라메트릭 변환의 파라메트릭 변환으로부터 하나의 폐쇄형 파라메트릭 변환을 포함할 수 있다. 하나의 폐쇄형 파라메트릭 변환은 도 16에서 도시된 바와 같이 선택을 위한 회전 기반 절차에 근거하여 결정될 수 있다. 도 16에서 도시된 예에서, 양호한 변환의 세트는 서로 떨어질 수 있어 10비트 정확도의 아크탄젠트가 요소들을 바꾸는 데 필요할 수 있다. 이와 같은 예에서, 양호한 변환은 10 스텝의 CORDIC 기술을 이용하여 결정될 수 있다. 벡터(a, b)의 좌표가 주어진다고 가정하면, 벡터는 자신의 최종 각도가 제로가 될 때까지 스텝들에서 회전될 수 있고, 따라서, 각도 θ는 역이될 수 있다. 예를 들어, 벡터는 미리결정된 스텝들에서 회전될 수 있다. 예를 들어, 빠른 동작을 위해 각도 스텝 i는 arctan(1/pow(2, i))가 될 수 있다:
Figure pct00025
각도들은 스텝들이 최대수에 도달할 때까지 또는 희소 변환 세트로 인해 중간 탈락(early exit)이 있을 때까지 사분면이 변한다면 인버팅될 수 있다. 일부 예에서, 회전의 인덱스가 추적되어 임의의 벡터(a, b)는 정규화된 양호한 변환 쌍이될 수 있다:
Figure pct00026
논의된 기술을 이용하여, 1/r을 계산하는 것 전혀 없이 변환이 결정되고 이용될 수 있고, 이것은 논의된 바와 같이 계산적 리소스들을 아낄 수 있다.
논의된 바와 같이, 일부 예에서, 여기에 설명된 기술은 웨이블릿 데이터에 적용될 수 있다.
도 17은 본 개시의 적어도 일부의 구현에 따라 구성되는, 웨이블릿 기반의 비디오 인코더(1700)의 예를 도시한다. 도시된 것처럼, 웨이블릿 기반의 비디오 인코더(1700)는 입력 비디오(101)를 수신할 수 있고, 또한 예측 분할기 모듈(1701), (스위치(1703, 1704)를 통해 구현될 수 있는) 웨이블릿(wavelet) 분석 필터 모듈(1702), 차분기(1705), 코딩 분할기 모듈(1706), 인코딩 제어기 모듈(1707), 적응적 포워드(forward) 변환 및 양자화기 모듈(1708), 적응적 역양자화기 및 변환 모듈(1709), 적응적 엔트로피 인코더 모듈(1710), 블록잡음 분석기 및 블록분리 필터링 모듈(1712), (스위치(1714, 1715)를 통해 선택에 따라 구현될 수 있는) 웨이블릿 합성 필터 모듈(1713), 인트라-예측 모듈(1716), 움직임 예측기, 보상 예측기, 그리고 픽처 버퍼 모듈(1717), 그리고 예측 모드 분석기 및 모드 선택기 모듈(1718)을 포함할 수 있으며, 이들은 출력 비트스트림(1711)을 생성하도록 동작할 수 있다.
논의된 것처럼, 인코더(1700)는 웨이블릿 코딩을 수행할 수 있다. 예를 들면, 웨이블릿(wavelet) 분석 필터 모듈(1702)은 입력 비디오(101)를 웨이블릿 대역으로 분해할 수 있다. 예를 들면, 웨이블릿(wavelet) 분석 필터 모듈(1702)은 1 레벨 웨이블릿 분해를 사용하여 입력 비디오(101)를 분해함으로써 입력 비디오(101)를 4 개의 서브-대역으로 분할할 수 있다. 인코더(1700)는 또한 웨이블릿 합성 필터 모듈(1713)을 포함하는 로컬 디코딩 루프를 포함할 수 있으며, 이는 분석 동작을 역전하여 4개의 서브-대역을 결합함으로써 재구성된 비디오 프레임을 생성하도록 구성된다. 인코더(1700)의 나머지 모듈은 실질적으로 인코더(100)와 관련하여 본 개시에서 논의된 것들과 유사하게 동작하는데, 간결함을 위하여 이들 컴포넌트에 대한 논의는 제공되지 않는다. 일부 예에서, 코딩 분할기 모듈(1706)과 적응적 포워드(forward) 변환 및 양자화기 모듈(1708)은 본 개시에서 논의된 것처럼 분할(예를 들면, 이진-트리 및 k-d 트리 분할) 및 변환(예를 들면, 이산 및 적응적 변환)을 구현할 수 있으며, 도 3-6과 관련하여 본 개시에서 논의된 컴포넌트들을 포함할 수 있다.
도 17에 도시된 것처럼, 만일 웨이블릿 LL 대역 인코딩이 변환 코딩을 사용한다면, 본 개시에서 기술된 것처럼 적응적 변환 개념이 적응적 변환 크기의 사용, 그리고 예측 파티션의 코딩 파티션 블록의 인코딩에 대한 콘텐츠 적응적 변환 및 다른(예를 들면, 고정) 변환의 사용을 포함하여 사용될 수 있다. 간단하게 하기 위하여, 도 17은 예측 파티션 조립기 모듈이나 코딩 파티션 조립기 모듈을 도시하지 않는데, 이들은 예측 분할기 모듈(1701) 및 코딩 분할기 모듈(1706)의 상보함수(complimentary function)를 수행할 수 있으며, 본 개시에서 논의되었다. 도 17은 또한 다른 웨이블릿 대역(예를 들면, LH, HL 또는 HH 대역)의 인코딩을 보여주지만, 그러나 도 17은 웨이블릿 합성 필터 모듈(1713)이 모든 대역을 결합하여 디코딩 프레임을 생성하도록 사용될 수 있다는 것을 도시한다.
도 18은 웨이블릿 기반의 비디오 디코더(1800)를 예시하는 도면이다. 도시된 것처럼, 웨이블릿 기반의 비디오 디코더(1800)는 입력 비트스트림(101)을 수신할 수 있으며 또한 적응적 엔트로피 디코더 모듈(1801), 적응적 역양자화기 및 변환 모듈(1802), 가산기(1803), 블록분리 필터링 모듈(1804), (스위치(1806a, 186b)를 통해 선택에 따라 구현될 수 있는) 웨이블릿 합성 필터 모듈(1806), 인트라-예측 모듈(1808), 움직임 보상 예측기 및 픽처 버퍼 모듈(1809), 및 예측 모드 분석기 및 모드 선택기(1807)를 포함할 수 있으며, 이들은 디스플레이 비디오(1810)를 생성하도록 동작할 수 있다.
도시된 것처럼, 디코더(1800)는 웨이블릿 디코딩을 수행할 수 있다. 예를 들면, 웨이블릿 합성 필터 모듈(1806)은 웨이블릿 분석 동작을 역전하여 4 개의 서브-대역(또는 그 유사한 것)을 결합함으로써 (예를 들면, 상술한, 웨이블릿 합성 필터 모듈(1713)로의 동작과 유사하게) 재구성된 비디오 프레임을 생성하도록 구성될 수 있다. 디코더(1800)의 나머지 모듈은 실질적으로 디코더(200)와 관련하여 본 개시에서 논의된 것들과 유사하게 동작하며, 이들 컴포넌트에 대한 논의는 간결함을 위하여 제공되지 않는다. 일부 예에서, 코딩 분할기 모듈(1706)과 적응적 역양자화기 및 변환 모듈(1708)은 본 개시에서 논의된 것처럼 역변환(예를 들면, 이산 및 적응적 역변환)을 구현할 수 있다.
도 18에 도시된 것처럼, 만일 웨이블릿 LL 대역 디코딩이 변환 코딩을 사용한다면, 본 개시에서 기술된 것처럼 적응적 변환 개념이 적응적 변환 크기의 사용, 그리고 예측 파티션의 코딩 파티션 블록의 디코딩에 대한 콘텐츠 적응적 변환 및 다른(예를 들면, 고정) 변환의 사용을 포함하여 사용될 수 있다. 간단하게 하기 위하여, 도 18은 예측 파티션 조립기 모듈이나 코딩 파티션 조립기 모듈을 도시하지 않는데, 이들은 예측 분할기 모듈(1701) 및 코딩 분할기 모듈(1701)의 상보함수(complimentary function)를 수행할 수 있다. 도 18은 또한 다른 웨이블릿 대역(예를 들면, LH, HL 또는 HH 대역)의 디코딩을 보여주지 않지만, 그러나 도 18은 웨이블릿 합성 필터 모듈(1806)이 모든 대역을 결합하여 디코딩 프레임을 생성하도록 사용될 수 있다는 것을 도시한다.
본 개시에서 기술된 서브시스템의 다양한 컴포넌트는 소프트웨어, 펌웨어, 및/또는 하드웨어, 및/또는 그들의 임의의 조합에 의하여 구현될 수 있다. 예를 들면, 시스템(300)의 다양한 컴포넌트는, 예를 들면, 스마트폰과 같은 컴퓨팅 시스템에서 발견될 수 있는 컴퓨팅 시스템 온칩(SoC)의 하드웨어로 적어도 일부 제공될 수 있다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진자는 본 개시에서 기술되는 시스템은 대응하는 특징 내에 묘사되지 않은 추가적인 컴포넌트를 포함할 수 있다는 것을 인식할 것이다. 예를 들면, 본 개시에서 기술되는 시스템은 비트 스트림 멀티플렉서 또는 디-멀티플렉서 모듈 및 그 유사한 것과 같은 추가적인 컴포넌트를 포함할 수 있는데, 이들은 명료함을 위하여 도시되지 않았다.
프로세스(700, 1400) 및 본 개시에서 논의된 다른 프로세스와 관련된 어떤 추가적인 및/또는 대안의 세부사항이 본 개시에서 논의된 하나 이상의 구현 예에 예시될 수 있으며, 특히 도 19와 관련하여 이하 설명된다.
도 19a 및 도 19b는 본 개시의 적어도 일부 구현예에 따라서 구성되는, 일 예의 비디오 코딩 시스템(2000) 및 동작 시의 비디오 코딩 프로세스(1900)를 예시하는 도면이다. 도시된 구현예에서, 프로세스(1900)는 하나 이상의 행위(1901-1923)에 의해 예시되는 것처럼 하나 이상의 동작, 기능 또는 행위를 포함할 수 있다. 비-한정된 예의 방식으로, 프로세스(1900)는 도 1의 인코더(100) 및 도 2의 디코더(200)를 포함하는 비디오 코딩 시스템(2000)과 관련하여 본 개시에서 설명될 것이며, 이하 도 20와 관련하여 좀 더 논의된다. 일부 예에서, 비디오 코딩 시스템(2000)은 도 17의 인코더(1700)와 도 18의 디코더(1800)를 포함할 수 있다. 다양한 예에서, 프로세스(1900)는 인코더와 디코더를 모두 포함하는 시스템에 의해 또는 인코더(그리고 선택적으로 디코더)를 사용하는 한 시스템과 디코더(그리고 선택적으로 인코더)를 사용하는 다른 시스템을 갖는 별도의 시스템에 의해서 착수될 수 있다. 앞에서 논의된 것처럼, 인코더는 로컬 디코더를 인코더 시스템의 일부로서 사용하는 로컬 디코딩 루프를 포함할 수 있다는 것이 또한 주목된다.
도시된 구현예에서, 비디오 코딩 시스템(200)은 로직 회로(1950), 그 유사한 것, 및/또는 그들의 조합을 포함할 수 있다. 예를 들면, 로직 회로(1950)는 인코더(100)(또는 인코더 1700)를 포함할 수 있고 그리고 도 1(또는 도 17) 및/또는 도 3-6과 관련하여 논의된 모듈 및 디코더(200)(또는 디코더 1800)를 포함할 수 있으며, 또한 도 2 및/또는 도 18과 관련하여 논의된 모듈을 포함할 수 있다. 비록 비디오 코딩 시스템(2000)이, 도 19a 및 도 19b에 도시된 것처럼, 특정 모듈과 연관된 특정 블록의 세트나 행위를 포함할 수 있지만, 이들 블록이나 행위는 본 개시에서 도시된 특정 모듈과 상이한 모듈과 연관될 수 있다. 비록, 도시된 것처럼, 프로세스(1900)는 인코딩 및 디코딩에 관한 것이지만, 개념 및/또는 기술되는 동작은 인코딩 및/또는 디코딩에 별도로 적용될 수 있으며, 좀더 일반적으로는 비디오 코딩에 적용될 수 있다.
프로세스(1900)는 "비디오 시퀀스의 입력 비디오 프레임을 수신"하는 동작(1901)에서 시작하며, 이 동작에서 비디오 시퀀스의 입력 비디오 프레임이 예를 들면 인코더(100)를 통해 수신될 수 있다.
프로세스(1900)는 "픽처 타입을 픽처 그룹 내의 각 비디오 프레임과 연관"하는 동작(1902)에서 계속되며, 이 동작에서 픽처 타입은 예를 들면 콘텐츠 선-분석기 모듈(102)을 통해 픽처 그룹 내의 각 비디오 프레임과 연관될 수 있다. 예를 들면, 픽처타입은 F/B-픽처, P-픽처, 또는 I-픽처, 또는 그 유사한 것일 수 있다. 일부 예에서, 비디오 시퀀스는 픽처의 그룹을 포함할 수 있고 그리고 본 개시에서 기술된 프로세싱(예를 들면, 동작(1903-1911))은 프레임이나 픽처 그룹의 픽처에 대해 수행될 수 있고, 프로세싱은 모든 프레임이나 그룹의 픽처들에 대하여 반복되고, 그리고 비디오 시퀀스 내의 모든 픽처 그룹에 대해서 반복될 수 있다.
프로세스(1900)는 "픽처를 타일(tiles) 및/또는 수퍼-프래그먼트(super-fragments)과 잠재적 예측 분할로 나누는"하는 동작(1903)에서 계속되며, 이 동작에서 픽처는 예를 들면 예측 파티션 생성기(105)를 통해 타일 및/또는 수퍼-프래그먼트와 잠재적 예측 파티션으로 나누어질 수 있다.
프로세스(1900)는 "각 잠재적인 예측 분할에 대하여, 예측(들)을 수행하고 예측 파라미터를 결정"하는 동작(1904)에서 계속되며, 이 동작에서, 각 잠재적인 예측 분할에 대하여, 예측(들)이 수행되고 예측 파라미터가 결정될 수 있다. 예를 들면, (각각이 다양한 예측 파티션을 갖는) 잠재적 예측 분할의 범위가 생성될 수 있고 연관된 예측(들)과 예측 파라미터가 결정될 수 있다. 예를 들면, 예측(들)은 특성 및 움직임 기반의 다중-참조 예측이나 인트라-예측을 사용하는 예측(들)을 포함할 수 있다.
논의된 것처럼, 일부 예에서, 인터-예측이 수행될 수 있다. 일부 예에서, 최대 4개의 디코딩된 과거 및/또는 미래 픽처와 여러 개의 모핑/합성 예측이 사용되어 많은 참조 타입(예를 들면, 참조 픽처)이 생성될 수 있다. '인터' 모드의 예를 들면, 최대 9개의 참조 타입이 P-픽처에 지원될 수 있고, 최대 10개의 참조 타입이 F/B 픽처에 대해서 지원될 수 있다. 또한, '멀티' 모드는 인터 예측 모드의 타입을 제공할 수 있으며, 여기서 1 개의 참조 픽처 대신에, 2 개의 참조 픽처가 사용될 수 있고 그리고 P- 및 F/B- 픽처가 각각 3개 및 최대 8개를 허용할 수 있다. 예를 들면, 예측은 모핑 기법이나 합성 기법 중의 적어도 하나를 사용하여 생성된 이전에 디코딩된 프레임을 기반으로 할 수 있다. 이러한 예에서, (동작(1912)과 관련하여 이하 논의되는) 비트스트림은 예측 파티션과 연관된 프레임 참조, 모핑 파라미터, 또는 합성 파라미터를 포함할 수 있다.
프로세스(1900)는 "각 잠재적인 예측 분할에 대하여, 잠재적인 예측 오차를 결정"하는 동작(1905)에서 계속되며, 이 동작에서, 각 잠재적인 예측 분할에 대하여, 잠재적인 예측 오차가 결정될 수 있다. 예를 들면, 각 잠재적인 예측 분할(그리고 연관된 예측 파티션, 예측(들), 및 예측 파라미터)에 대하여, 예측 오차가 결정될 수 있다. 예를 들면, 잠재적 예측 오차를 결정하는 것은 원 픽셀(예를 들면, 예측 파티션의 원 픽셀 데이터)을 예측 픽셀과 구별하는 것을 포함할 수 있다. 일부 예에서, 연관된 예측 파라미터가 저장될 수 있다. 논의된 것처럼, 일부 예에서, 예측 오차 데이터 파티션은 모핑 기법이나 합성 기법 중의 적어도 하나를 사용하여 생성된 이전에 디코딩된 프레임에 적어도 일부 기초하여 생성된 예측 오차 데이터를 포함할 수 있다.
프로세스(1900)는 "예측 분할 및 예측 타입을 선택하고 파라미터를 저장"하는 동작(1906)에서 계속되며, 이 동작에서 예측 분할 및 예측 타입이 선택되고 연관된 파라미터가 저장될 수 있다. 일부 예에서, 최소 예측 오차를 갖는 잠재적 예측 분할이 선택될 수 있다. 일부 예에서, 잠재적 예측 분할은 비트율 왜곡 최적화(rate distortion optimization(RDO))에 기초하여 선택될 수 있다.
프로세스(1900)는 "분할 예측 오차 데이터의 다양한 잠재적 코딩 분할에 대하여 다양한 블록 크기를 갖는 고정 또는 콘텐츠 적응적 변환을 수행"하는 동작(1907)에서 계속되며, 이 동작에서 다양한 블록 크기를 갖는 고정 또는 콘텐츠 적응적 변환이 분할 예측 오차 데이터의 다양한 잠재적 코딩 분할에 대하여 수행될 수 있다. 예를 들면, 파티션 예측 오차 데이터가 분할되어 복수의 코딩 파티션을 생성할 수 있다. 예를 들면, 파티션 예측 오차 데이터는 본 개시에서 논의된 것처럼 코딩 파티션 생성기 모듈(107)의 이진-트리 코딩 분할기 모듈이나 k-d 트리 코딩 분할기 모듈에 의해 분할될 수 있다. 일부 예에서, F/B- 또는 P-픽처와 연관된 파티션 예측 오차 데이터는 이진-트리 코딩 분할기 모듈에 의해 분할될 수 있다. 일부 예에서, I-픽처와 연관된 비디오 데이터(예를 들면, 일부 예에서 타일이나 수퍼-프래그먼트)는 k-d 트리 코딩 분할기 모듈에 의해서 분할될 수 있다. 일부 예에서, 코딩 분할 모듈은 스위치나 스위치들을 통해서 선정되거나 선택될 수 있다. 예를 들면, 파티션은 코딩 파티션 생성기 모듈(107)에 의해 생성될 수 있다.
프로세스(1900)는 "최선의 코딩 분할, 변환 블록 크기, 및 실제 변환을 결정"하는 동작(1908)에서 계속되며, 이 동작에서, 최선의 코딩 분할, 변환 블록 크기, 및 실제 변환이 결정될 수 있다. 예를 들면, (예를 들면, 다양한 코딩 파티션을 갖는) 다양한 코딩 분할이 RDO 또는 다른 근거에 기초하여 평가되어 선택된 코딩 분할을 결정할 수 있다(이는 코딩 파티션이 논의된 변환 블록 크기에 매칭하지 않을 때, 코딩 파티션을 변환 블록으로 추가로 분할하는 것을 포함할 수 있다). 예를 들면, 실제 변환(또는 선택된 변환)은 본 개시에서 논의된 코딩 파티션이나 블록 크기에 대하여 수행되는 콘텐츠 적응적 변환이나 고정 변환을 포함할 수 있다.
프로세스(1900)는 "변환 계수를 양자화하고 스캐닝"하는 동작(1909)에서 계속되고, 이 동작에서, 코딩 파티션(및/또는 변환 블록)과 연관되는 변환 계수가 엔트로피 코딩을 위한 준비로 양자화되고 스캐닝될 수 있다.
프로세스(1900)는 "픽셀 데이터를 재구성하여, 픽처로 조립하고, 참조 픽처 버퍼 내에 저장"하는 동작(1910)에서 계속되고, 이 동작에서, 픽셀 데이터가 재구성될 수 있고, 픽처로 조립될 수 있고, 그리고 참조 픽처 버퍼 내에 저장될 수 있다. 예를 들면, (예를 들면, 역스캔, 역변환, 및 어셈블링 코딩 파티션을 포함하는) 로컬 디코딩 루프 이후에, 예측 오차 데이터 파티션이 생성될 수 있다. 예측 오차 데이터 파티션은 예측 파티션과 함께 추가되어 재구성된 예측 파티션을 생성할 수 있고, 이는 타일이나 수퍼-프래그먼트으로 조립될 수 있다. 조립된 타일이나 수퍼-프래그먼트는 선택적으로 블록분리 필터링 및/또는 품질 복원 필터링을 통해 프로세싱될 수 있고 그리고 픽처를 생성하도록 조립될 수 있다. 픽처는 다른(예를 들면, 후속하는) 픽처의 예측을 위한 참조 픽처로서 디코딩된 픽처 버퍼(119) 내에 저장될 수 있다.
프로세스(1900)는 "각 타일 또는 수퍼-프래그먼트과 연관된 데이터를 엔트로피 인코딩"하는 동작(1911)에서 계속되고, 이 동작에서 각 타일 또는 수퍼-프래그먼트과 연관된 데이터가 엔트로피 인코딩될 수 있다. 예를 들면, 각 비디오 시퀀스의 각 픽처 그룹의 각 픽처의 각 타일이나 수퍼-프래그먼트과 연관된 데이터는 엔트로피 인코딩될 수 있다. 엔트로피 인코딩 데이터는 예측 분할, 예측 파라미터, 선택된 코딩 분할, 선택된 특성 데이터, 움직임 벡터 데이터, 양자화 변환 계수, 필터 파라미터, (모드 선택 데이터 같은) 선택 데이터, 및 표시자를 포함할 수 있다. 일부 예에서, 엔트로피 인코딩 데이터는 변환 타입, 파라메트릭 변환 방향, 코딩 파티션에 대한 블록 크기 데이터 등을 포함할 수 있다.
프로세스(1900)는 "비트스트림을 생성"하는 동작(1912)에서 계속되고, 이 동작에서, 비트스트림이 엔트로피 인코딩된 데이터에 기초하여 생성될 수 있다. 논의된 것처럼, 일부 예에서, 비트스트림은 예측 파티션과 연관된 프레임이나 픽처 참조, 모핑 파라미터, 또는 합성 파라미터를 포함할 수 있다.
프로세스(1900)는 "비트스트림을 전송"하는 동작(1913)에서 계속되고, 이 동작에서 비트스트림이 전송될 수 있다. 예를 들면, 비디오 코딩 시스템(2000)은 출력 비트스트림(111), 비트스트림(1400), 또는 그 유사한 것을 안테나(2002)를 통해 전송할 수 있다(도 20 참조).
동작(1901-1913)은 비디오 인코딩 및 비트스트림 전송 기법을 제공할 수 있으며, 이는 본 개시에서 논의된 인코더 시스템에 의해 사용될 수 있다. 다음의 동작들, 동작(1914-1923)은 비디오 디코딩 및 비디오 디스플레이 기법을 제공할 수 있으며, 이는 본 개시에서 논의된 디코더 시스템에 의해 사용될 수 있다.
프로세스(1900)는 "비트스트림 수신"하는 동작(1914)에서 계속되며, 이 동작에서 비트스트림이 수신될 수 있다. 예를 들면, 입력 비트스트림(201), 비트스트림(1400), 또는 그 유사한 것이 디코더(200)를 통해 수신될 수 있다. 일부 예에서, 비트스트림은 상술한 것처럼 코딩 파티션과 연관된 데이터, 하나 이상의 표시자, 및/또는 데이터 정의 코딩 파티션을 포함할 수 있다. 일부 예에서, 비트스트림은 예측 분할, 예측 파라미터, 선택된 코딩 분할, 선택된 특성 데이터, 움직임 벡터 데이터, 양자화 변환 계수, 필터 파라미터, (모드 선택 데이터와 같은) 선택 데이터, 및 표시자를 포함할 수 있다.
프로세스(1900)는 "비트스트림 디코딩"하는 동작(1915)에서 계속되며, 이 동작에서 수신된 비트스트림이 예를 들면 적응적 엔트로피 디코더 모듈(202)을 통해 디코딩될 수 있다. 예를 들면, 수신된 비트스트림은 엔트로피 디코딩되어 예측 분할, 예측 파라미터, 선택된 코딩 분할, 선택된 특성 데이터, 움직임 벡터 데이터, 양자화 변환 계수, 필터 파라미터, (모드 선택 데이터와 같은) 선택 데이터, 및 표시자를 포함할 수 있다.
프로세스(1900)는 "각 코딩 파티션의 각 블록 상에 역스캔 및 역양자화를 수행"하는 동작(1916)에서 계속되며, 이 동작에서 역스캔 및 역양자화가 프로세싱될 예측 파티션에 대하여 각 코딩 파티션의 각 블록에 대해 수행될 수 있다. 예를 들면, 역스캔 및 역양자화는 적응적 역양자화 모듈(203)을 통해 수행될 수 있다.
프로세스(1900)는 "변환 계수를 디코딩하도록 고정 또는 적응적 역변환을 수행하여 디코딩된 예측 오차 데이터 파티션을 결정"하는 동작(1917)에서 계속되며, 이 동작에서 고정 또는 콘텐츠 적응적 역변환이 변환 계수를 디코딩하도록 수행되어 디코딩된 예측 오차 데이터 파티션을 결정할 수 있다. 예를 들면, 역변환은 하이브리드 파라메트릭 하르 역변환이 파라메트릭 변환 방향의 파라메트릭 하르 역변환을 포함하고, 파라메트릭 변환 방향에 직교방향의 이산 코사인 역변환을 포함할 수 있도록, 하이브리드 파라메트릭 하르 역변환과 같은 인버스 콘텐츠 적응적 변환을 포함한다. 일부 예에서, 고정 역변환은 이산 코사인 역변환이나 이산 코사인 역변환 근사기를 포함할 수 있다. 예를 들면, 고정 또는 콘텐츠 적응적 변환은 적응적 역변환 모듈(204)을 통해 수행될 수 있다. 논의된 것처럼, 콘텐츠 적응적 역변환은, 예를 들면, 디코딩된 이웃 파티션이나 블록과 같은 그 밖의 이전에 디코딩된 데이터를 기반으로 할 수 있다. 일부 예에서, 디코딩된 예측 오차 데이터 파티션을 생성하는 것은 코딩 파티션 조립기 모듈(205)을 통해 디코딩된 코딩 파티션을 조립하는 것을 포함할 수 있다. 일부 예에서, 역변환은, 논의된 것과 같이 디코딩된 코딩 파티션을 생성하기 위해 디코더 기저 함수 파라미터와, 파라메트릭 변환 방향과, 블록 크기 데이터에 적어도 부분적으로 기초하여 디코딩된 변환 계수에 수행될 역 폐쇄형 파라메트릭 변환을 포함할 수 있다.
논의된 바와 같이, 임의의 포워드 변환은 유사한 역변환을 가질 수 있다. 예를 들어, 역 폐쇄형 파라메트릭 변환은 1D 역 파라메트릭 변환 및 1D 역 고정 변환을 포함하는 하이브리드 역 폐쇄형 파라메트릭 변환일 수 있다. 일부 예에서, 1D 역 파라메트릭 변환은 역 파라메트릭 하르 변환 또는 역 파라메트릭 경사 변환 등을 포함할 수 있다. 일부 예에서, 1D 역 고정 변환은 역 이산 코사인 변환 또는 역 이산 코사인 변환 근사기 등을 포함할 수 있다.
프로세스(1900)는 "각 예측 파티션에 대한 예측 픽셀 데이터를 생성"하는 동작(1918)에서 계속되고, 이 동작에서 예측 픽셀 데이터가 각 예측 파티션에 대하여 생성될 수 있다. 예를 들면, 예측 픽셀 데이터는 (예를 들면, 특성 및 움직임, 또는 인트라-, 또는 다른 타입에 기초하여) 선택된 예측 타입 및 연관된 예측 파라미터를 사용하여 생성될 수 있다.
프로세스(1900)는 "각 디코딩된 예측 오차 파티션에 대응하는 예측 파티션을 추가하여 재구성된 예측 파티션을 생성"하는 동작(1919)에서 계속되고, 이 동작에서 (예를 들면, 제로 예측 오차 파티션을 포함하는) 각 디코딩된 예측 오차 파티션이 재구성된 예측 파티션을 생성하도록 대응하는 예측 파티션에 추가될 수 있다. 예를 들면, 예측 파티션은 도 2에 도시된 디코딩 루프를 통해 생성되고 가산기(206)를 통해 디코딩된 예측 오차 파티션에 추가될 수 있다.
프로세스(1900)는 "재구성된 예측 파티션들을 조립하여 디코딩된 타일 또는 수퍼-프래그먼트를 생성"하는 동작(1920)에서 계속되고, 이 동작에서 재구성된 예측 파티션은 디코딩된 타일이나 수퍼-프래그먼트를 생성하도록 조립될 수 있다. 예를 들면, 예측 파티션이 예측 파티션 조립기 모듈(207)을 통해 디코딩된 타일이나 수퍼-프래그먼트를 생성하도록 조립될 수 있다.
프로세스(1900)는 "블록분리 필터링 및/또는 QR 필터링을 적용하여 최종 디코딩된 타일 또는 수퍼-프래그먼트를 생성"하는 동작(1921)에서 계속되고, 이 동작에서 선택적인 블록분리 필터링 및/또는 품질 복원 필터링이 디코딩된 타일 또는 수퍼-프래그먼트에 적용되어 최종 디코딩된 타일이나 수퍼-프래그먼트를 생성할 수 있다. 예를 들면, 선택적인 블록분리 필터링은 블록분리 필터링 모듈(208)을 통해 적용될 수 있고 및/또는 선택적인 품질 복원 필터링은 품질 복원 필터링 모듈(209)을 통해 적용될 수 있다.
프로세스(1900)는 "디코딩된 타일 또는 수퍼-프래그먼트를 조립하여 디코딩된 비디오 픽처를 생성하고 참조 픽처 버퍼 내에 저장"하는 동작(1922)에서 계속되고, 이 동작에서 디코딩(또는 최종 디코딩된) 타일 또는 수퍼-프래그먼트가 조립되어 디코딩된 비디오 픽처가 생성되고, 그리고 디코딩된 비디오 픽처는 참조 픽처 버퍼(예를 들면, 디코딩된 픽처 버퍼 210)에 미래의 예측용으로 저장될 수 있다.
프로세스(1900)는 "디스플레이 장치를 통해 표현을 위한 디코딩된 비디오 프레임을 전송"하는 동작(1923)에서 계속되고, 이 동작에서, 디코딩된 비디오 프레임이 전송되어 디스플레이 장치를 통해 표현될 수 있다. 예를 들면, 디코딩된 비디오 픽처는 적응적 픽처 재-구성기(217) 및 콘텐츠 후복원기 모듈(218)을 통해 더 프로세싱되고 디스플레이 비디오(219)의 비디오 프레임으로서 디스플레이 장치로 전송되어 사용자에게 표현될 수 있다. 예를 들면, 비디오 프레임(들)은 (도 20에 도시된 것처럼) 디스플레이 장치(2005)로 전송되어 표현될 수 있다.
본 개시에서 예시되는 프로세스의 구현이 도시된 순서로 표시된 모든 동작의 수행을 포함할 수 있지만, 본 개시는 이러한 관점에 한정되지 않으며, 다양한 예에서, 본 개시에서 예제 프로세스의 구현은 도시된 동작의 서브셋만을 착수하거나 및/또는 도시된 것과 다른 순서로 착수되는 것을 포함할 수 있다.
추가로, 본 개시에서 논의되는 하나 이상의 어떤 동작은 하나 이상의 컴퓨터 프로그램 제품에 의해 제공되는 명령어에 대응하여 착수될 수 있다. 그러한 프로그램 제품은, 실행될 때, 예를 들면, 프로세서가 본 개시에서 설명되는 기능성을 제공하는 명령어를 제공하는 신호를 갖는 매체를 포함할 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 머신-판독가능한 매체의 형태로 제공될 수 있다. 따라서, 예를 들면, 하나 이상의 프로세서 코어를 포함하는 프로세서는 하나 이상의 머신-판독가능한 매체에 의해 프로세서로 전달되는 프로그램 코드 및/또는 명령어나 명령어 세트에 대응하여 여기서 예시된 프로세스의 하나 이상의 동작을 착수할 수 있다. 일반적으로, 머신-판독가능한 매체는 본 개시에서 설명되는 장치 및/또는 시스템이 본 개시에서 설명되는 비디오 시스템의 적어도 부분을 구현하도록 유발하는 프로그램 코드 및/또는 명령어나 명령어 세트의 형태로 된 소프트웨어를 전달한다.
본 개시에서 설명되는 임의의 구현예에서 사용될 때, 용어 "모듈"은 본 개시에서 기술된 기능성을 제공하도록 구성된 소프트웨어 로직, 펌웨어 로직 및/또는 하드웨어 로직의 임의의 조합을 지칭한다. 소프트웨어는 소프트웨어 패키지, 코드 및/또는 명령어 세트나 명령어로 구현될 수 있고, 그리고 "하드웨어"는, 본 개시에서 기술된 임의의 구현예에서 사용될 때, 예를 들면, 하드웨어 내장 회로, 프로그램가능 회로, 상태 머신 회로, 및/또는 프로그래머블 회로에 의해 실행되는 명령어를 저장하는 펌웨어를 개별적으로 또는 조합하여 포함할 수 있다. 모듈은 합해서 또는 개별적으로 큰 시스템의 부분, 예를 들면, 집적회로(IC), 시스템온-칩(SoC) 등을 형성하는 회로로써 구현될 수 있다. 예를 들면, 모듈은 본 개시에서 논의된 코딩 시스템의 소프트웨어, 펌웨어, 또는 하드웨어를 통해서 구현되는 로직 회로 내에 구현될 수 있다.
도 20은 본 발명의 적어도 일부 구현예에 따라서 구성되는, 비디오 코딩 시스템(2000)의 예를 도시한다. 도시된 구현예에서, 비디오 코딩 시스템(2000)은 이미지 장치(들)(2001), 비디오 인코더(100), 비디오 디코더(200)(및/또는 프로세싱 유닛(들)(2020)의 로직 회로(1950)를 통해 구현된 비디오 코더), 안테나(2002), 하나 이상의 프로세서(들)(2003), 하나 이상의 메모리 저장소(들)(2004), 및/또는 디스플레이 장치(2005)를 포함할 수 있다.
도시된 것처럼, 이미징 장치(들)(2001), 안테나(2002), 프로세싱 유닛(들)(2020), 로직 회로(1950), 비디오 인코더(100), 비디오 디코더(200), 프로세서(들)(2003), 메모리 저장소(들)(2004), 및/또는 디스플레이 장치(2005)는 서로 통신할 수 있다. 논의된 것처럼, 비록 비디오 인코더(100)와 비디오 디코더(200)로 도시되었지만, 비디오 코딩 시스템(2000)은 다양한 예에서 비디오 인코더(100) 또는 비디오 디코더(200)만을 포함할 수 있다. 또한, 비록 비디오 인코더 및/또는 비디오 인코더와 관련하여 설명되었지만, 시스템(2000)은, 일부 예에서, 비디오 인코더(1700) 및/또는 비디오 디코더(1800)를 구현할 수 있다.
도시된 것처럼, 일부 예에서, 비디오 코딩 시스템(2000)은 안테나(2002)를 포함할 수 있다. 안테나(2002)는 예를 들면 비디오 데이터의 인코딩된 비트스트림을 전송하거나 수신하도록 구성될 수 있다. 또한, 일부 예에서, 비디오 코딩 시스템(2000)은 디스플레이 장치(2005)를 포함할 수 있다. 디스플레이 장치(2005)는 비디오 데이터를 표현하도록 구성될 수 있다. 도시된 것처럼, 일부 예에서, 로직 회로(1950)는 프로세싱 유닛(들)(2020)을 통해서 구현될 수 있다. 프로세싱 유닛(들)(2020)은 주문형 집적 회로(ASIC) 로직, 그래픽 프로세서(들), 범용 프로세서(들) 또는 그 유사한 것을 포함할 수 있다. 비디오 코딩 시스템(2000)은 또한 유사하게 주문형 집적회로(ASIC) 로직, 그래픽 프로세서(들), 범용 프로세서(들) 또는 그 유사한 것을 포함하는, 선택적 프로세서(들)(2003)를 포함할 수 있다. 일부 예에서, 로직 회로(1950)는 하드웨어, 비디오코딩 전용 하드웨어, 또는 그 유사한 것을 통해 구현될 수 있고, 프로세서(들)(2003)는 범용 목적 소프트웨어, 운영 체제, 또는 그 유사한 것을 구현할 수 있다. 추가로 메모리 저장소(들)(2004)는 휘발성 메모리(예를 들면, 정적 랜덤 접근 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 등) 또는 비-휘발성 메모리(예를 들면, 플래시 메모리 등), 등과 같은 어떤 타입의 메모리일 수 있다. 비-제한적 예에서, 메모리 저장소(들)(2004)는 캐시 메모리에 의해서 구현될 수 있다. 일부 예에서, 로직 회로(1950)는 (예를 들면, 이미지 버퍼의 구현을 위한) 액세스 메모리 저장소(들)(2004)에 접근할 수 있다. 다른 예에서, 로직 회로(1950) 및/또는 프로세싱 유닛(들)(2020)은 이미지 버퍼나 그 유사한 것의 구현을 위하여 메모리 저장소(예를 들면, 캐시나 그 유사한 것)를 포함할 수 있다.
일부 예에서, 로직 회로를 통해 구현된 비디오 인코더(100)는 (예를 들면, 프로세싱 유닛(들)(2020)이나 메모리 저장소(들)(2004)를 통해) 이미지 버퍼와 (예를 들면, 프로세싱 유닛(들)(2020)을 통해) 그래픽 프로세싱 유닛을 포함할 수 있다. 그래픽 프로세싱 유닛은 이미지 버퍼에 통신가능하게 연결될 수 있다. 그래픽 프로세싱 유닛은 로직 회로(1950)를 통해 구현되는 비디오 인코더(100)(또는 인코더 1700)를 포함하여, 도 1 및 도 3-6과 관련되어 논의된 것처럼 다양한 모듈을 구현한다. 예를 들면, 그래픽 프로세싱 유닛은 코딩 파티션 생성기 로직 회로, 적응적 변환 로직 회로, 콘텐츠 선-분석기, 인코딩 제어기 로직 회로, 적응적 엔트로피 인코더 로직 회로 등을 포함할 수 있다. 로직 회로는 본 개시에서 논의되는 다양한 동작을 수행하도록 구성될 수 있다. 예를 들면, 코딩 파티션 생성기 로직 회로는 변환 코딩을 위한 예측 오차 데이터 파티션을 수신하고, 예측 오차 데이터 파티션의 복수의 코딩 파티션을 생성하도록 예측 오차 데이터 파티션을 분할하도록 구성될 수 있고, 그리고 적응적 변환 로직 회로는 복수의 코딩 파티션의 개별 코딩 파티션에 폐쇄형 파라메트릭 변환을 수행하도록 구성되어 개별 코딩 파티션과 연관된 변환 계수를 생성할 수 있다. 비디오 디코더(200)는 유사한 방식으로 구현될 수 있다.
일부 예에서, 비디오 코딩 시스템(2000)의 안테나(2002)는 비디오 데이터의 인코딩된 비트스트림을 수신하도록 구성될 수 있다. 논의된 것처럼, 인코딩된 비트스트림은 코딩 파티션과 연관된 데이터(예를 들면, (논의된 것처럼) 변환 계수 또는 양자화 변환 계수, 선택적인 표시자) 및/또는 코딩 파티션을 정의하는 데이터(예를 들면, 심볼-런 코딩이나 코드북 기법 또는 그 유사한 것을 사용하는 이진-트리 파티션이나 k-d 트리 파티션을 정의하는 것과 연관된 데이터)를 포함할 수 있다. 비디오 코딩 시스템(2000)은 또한 안테나(2002)에 연결되고 인코딩된 비트스트림을 디코딩하도록 구성되는 비디오 디코더(200)(또는 디코더 1800)를 포함할 수 있다. 예를 들면, 비디오 디코더(200)는 비트스트림을 엔트로피 디코딩하여 개별 코딩 파티션에 대해 양자화된 변환 계수와 연관된 데이터, 파라메트릭 변환 방향, 및 블록 크기 데이터를 결정하고, 양자화된 변환 계수와 연관된 데이터에 적어도 부분적으로 기초하여 역스캔 및 역양자화를 수행하여 디코딩된 변환 계수를 생성하고, 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 개별 코딩 파티션과 연관된 디코더 기저 함수 파라미터를 결정하고, 디코더 기저 함수 파라미터, 파라메트릭 변환 방향 및 블록 크기 데이터에 적어도 부분적으로 기초하여 디코딩된 변환 계수에 역 폐쇄형 파라메트릭 변환을 수행하여 디코딩된 코딩 파티션을 생성하고, 디코딩된 코딩 파티션을 제 2 디코딩된 코딩 파티션과 결합하여 디코딩된 예측 오차 데이터 파티션을 생성하도록 구성될 수 있다.
실시예에서, 본 개시에서 논의되는 특징은 하나 이상의 컴퓨터 프로그램 제품에 의해 제공되는 명령어에 대응하여 착수될 수 있다. 그러한 프로그램 제품은, 예를 들면, 프로세서에 의해 실행될 때, 본 개시에서 설명되는 기능성을 제공할 수 있는 명령어를 제공하는 매체를 담은 신호를 포함할 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 머신-판독가능한 매체의 형태로 제공될 수 있다. 따라서, 예를 들면, 하나 이상의 프로세서 코어(들)를 포함하는 프로세서는 하나 이상의 머신-판독가능한 매체에 의해 프로세서로 전달되는 프로그램 코드 및/또는 명령어나 명령어 세트에 대응하여 본 개시에서 기술된 하나 이상의 특징을 착수할 수 있다. 일반적으로, 머신-판독가능한 매체는 본 개시에서 설명되는 장치 및/또는 시스템이 본 개시에서 설명되는 특징의 적어도 부분을 구현하게 하는 프로그램 코드 및/또는 명령어나 명령어 세트의 형태로 된 소프트웨어를 전달한다.
도 21은 본 발명의 적어도 일부 구현예에 따라서 구성되는, 시스템(2100)의 예를 도시한다. 다양한 구현예에서, 시스템(2100)은 매체 시스템일 수 있지만, 그러나 시스템(2100)은 이러한 맥락에 한정되지 않는다. 예를 들면, 시스템(2100)은 개인용 컴퓨터(PC), 랩톱 컴퓨터, 울트라-랩톱 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인용 디지털 보조기(PDA), 셀룰러폰, 콤비네이션 셀룰러폰/PDA, 텔레비전, 스마트 장치(예를 들면, 스마트폰, 스마트 태블릿이나 스마트 텔레비전), 모바일 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치, 카메라(예를 들면, 포인트-앤드-슛 카메라, 수퍼-줌 카메라, 디지털 싱글-렌즈 리플렉스(DSLR) 카메라) 등으로 통합될 수 있다.
다양한 구현예에서, 시스템(2100)은 디스플레이(2120)에 연결된 플랫폼(2102)를 포함한다. 플랫폼(2102)은 콘텐츠 서비스 장치(들)(2130) 또는 콘텐츠 전달 장치(들)(2140) 또는 다른 유사한 콘텐츠 소스와 같은 콘텐츠 장치로부터 콘텐츠를 수신할 수 있다. 하나 이상의 네비게이션 특성을 포함하는 네비게이션 컨트롤러(2150)는, 예를 들면, 플랫폼(2102) 및/또는 디스플레이(2120)와 상호작용하도록 사용될 수 있다. 이들 컴포넌트 각각은 이하 좀 더 상세하게 설명된다.
다양한 구현예에서, 플랫폼(2102)은 칩셋(2105), 프로세서(2110), 메모리(2112), 안테나(2113), 저장소(2114), 그래픽 서브시스템(2115), 애플리케이션(2116) 및/또는 라디오(2118)의 임의의 조합을 포함할 수 있다. 칩셋(2105)은 프로세서(2110), 메모리(2112), 저장소(2114), 그래픽 서브시스템(2115), 애플리케이션(2116) 및/또는 라디오(2118) 간의 통신을 제공할 수 있다. 예를 들면, 칩셋(2105)은 저장소(2114)와 상호통신을 제공할 수 있는 저장소 어댑터(도시되지 않음)를 포함할 수 있다.
프로세서(2110)는 복합 명령어 세트 컴퓨터(CISC) 또는 감소된 명령어 세트 컴퓨터(RISC) 프로세서, x86 명령어 세트 호환 프로세서, 멀티-코어 또는 그 밖의 마이크로프로세서나 중앙 처리 장치(CPU)로 구현될 수 있다. 다양한 구현예에서, 프로세서(2110)는 듀얼-코어 프로세서(들), 듀얼-코어 모바일 프로세서(들) 등일 수 있다.
메모리(2112)는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 또는 정적 RAM(SRAM)과 같은 휘발성 메모리 장치로 구현될 수 있지만, 이에 한정되지 않는다.
저장소(2114)는 마그네틱 디스크 드라이브, 광 디스크 드라이브, 테입 드라이브, 내부 저장 장치, 부속 저장 장치, 플래시 메모리, 배터리 백업 SDRAM(동기 DRAM) 및/또는 네트워크 접근가능한 저장 장치와 같은 비-휘발성 저장 장치로서 구현될 수 있지만, 이에 한정되지 않는다. 다양한 구현예에서, 저장소(2114)는, 예를 들면, 복수의 하드 드라이브가 포함될 때, 귀중한 디지털 매체를 위한 저장 성능 강화된 보호를 증가시키는 기술을 포함할 수 있다.
그래픽 서브시스템(2115)은 디스플레이를 위한 스틸이나 비디오와 같은 이미지의 프로세싱을 수행할 수 있다. 그래픽 서브시스템(2115)은 예를 들면 그래픽 프로세싱 유닛(GPU)이나 비주얼 프로세싱 유닛(VPU)일 수 있다. 아날로그나 디지털 인터페이스는 그래픽 서브시스템(2115) 및 디스플레이(2120)를 통신가능하게 연결하도록 사용될 수 있다. 예를 들면, 인터페이스는 고화질 멀티매체 인터페이스, 디스플레이포트, 무선 HDMI, 및/또는 무선 HD 순응 기술 중의 어느 것일 수 있다. 그래픽 서브시스템(2115)은 프로세서(2110) 또는 칩셋(2105)으로 통합될 수 있다. 임의의 구현예에서, 그래픽 서브시스템(2115)은 칩셋(2105)과 통신가능하게 연결되는 스탠드-얼론 장치일 수 있다.
본 개시에서 기술되는 그래픽 및/또는 비디오 프로세싱 기술은 다양한 하드웨어 아키텍처로 구현될 수 있다. 예를 들면, 그래픽 및/또는 비디오 기능성은 칩셋 내에 통합될 수 있다. 대안으로, 별개의 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또 다른 구현예에서, 그래픽 및/또는 비디오 프로세서가, 멀티-코어 프로세서를 포함하는, 범용 프로세서에 의해서 제공될 수 있다. 또 다른 예에서, 기능은 소비자 전자 장치에 구현될 수 있다.
라디오(2118)는 다양한 적합한 무선 통신 기술을 사용하여 신호를 전송하고 수신할 수 있는 하나 이상의 라디오를 포함할 수 있다. 그러한 기술은 하나 이상의 무선 네트워크에 걸친 통신을 포함할 수 있다. 예를 들면, 무선 네트워크는 무선 지역 네트워크(WLAN), 무선 개인 영역 네트워크(WPAN), 무선 도시지역 네트워크(WMAN), 셀룰러 네트워크, 및 위성 네트워크를 포함하지만 이에 한정되지 않는다. 그러한 네트워크에 걸친 통신에서, 라디오(2118)는 여느 버전의 하나 이상의 적용가능한 표준에 따라 동작할 수 있다.
다양한 구현예에서, 디스플레이(2120)는 텔레비전 타입 모니터나 디스플레이를 포함할 수 있다. 디스플레이(2120)는, 예를 들면, 컴퓨터 디스플레이 스크린, 터치 스크린 디스플레이, 비디오 모니터, 텔레비전-유사 장치, 및/또는 텔레비전을 포함할 수 있다. 디스플레이(2120)는 디지털 및/또는 아날로그일 수 있다. 다양한 구현예에서, 디스플레이(2120)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(2120)는 비주얼 프로젝션을 수신할 수 있는 투명한 표면일 수 있다. 이러한 프로젝션은 다양한 형태의 정보, 이미지 및/또는 객체를 실어나른다. 예를 들면, 이러한 프로젝션은 모바일 증강 현실(MAR) 애플리케이션에 대한 비주얼 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션(2116)의 제어하에, 플랫폼(2102)은 디스플레이(2120) 상에 사용자 인터페이스(2122)를 디스플레이할 수 있다.
다양한 구현예에서, 콘텐츠 서비스 장치(들)(2130)는 국가적, 국제적 및/또는 독립적 서비스에 의해서 호스팅될 수 있으며, 이에 따라서, 예를 들면, 인터넷을 통해 플랫폼(2102)에 접근가능하다. 콘텐츠 서비스 장치(들)(2130)는 플랫폼(2102) 및/또는 디스플레이(2120)에 연결될 수 있다. 플랫폼(2102) 및/또는 콘텐츠 서비스 장치(들)(2130)는 네트워크(2160)에 연결되어 매체 정보를 네트워크(2160)로 그리고 네트워크(2160)로부터 전달(예를 들면, 송신 및/또는 수신)할 수 있다. 콘텐츠 전달 장치(들)(2140)는 또한 플랫폼(2102) 및/또는 디스플레이(2120)에 연결될 수 있다.
다양한 구현예에서, 콘텐츠 서비스 장치(들)(2130)는 케이블 텔레비전 박스, 개인용 컴퓨터, 네트워크, 전화, 인터넷 가능한 장치나 디지털 정보 및/또는 콘텐츠를 전달할 수 있는 어플라이언스, 그리고 네트워크(2160)를 통해 또는 직접, 콘텐츠 제공자와 플랫폼(2102) 및/또는 디스플레이(2120) 간에 콘텐츠를 일 방향이나 양방향으로 전달할 수 있는 그 밖의 유사한 장치를 포함할 수 있다. 콘텐츠는 네트워크(2160)를 통해 시스템(2100) 및 콘텐츠 제공자 내의 컴포넌트 중의 어느 하나로 그리고 어느 하나로부터 일 방향으로 및/또는 양방향으로 전달될 수 있다는 것이 인정되어야 한다. 콘텐츠의 예는, 예를 들면, 비디오, 음악, 의료 및 게임 정보 등을 포함하는 매체 정보를 포함할 수 있다.
콘텐츠 서비스 장치(들)(2130)는 매체 정보, 디지털 정보, 및/또는 그 밖의 콘텐츠를 포함하는 케이블 텔레비전 프로그래밍과 같은 콘텐츠를 수신할 수 있다. 콘텐츠 제공자의 예는 케이블이나 위성 텔레비전 또는 라디오 또는 인터넷 콘텐츠 제공자를 포함할 수 있다. 제공된 예는 어떤 방식으로도 본 개시에 따른 구현을 제한하도록 의도되지 않는다.
다양한 구현예에서, 플랫폼(2102)은 하나 이상의 네비게이션 특성을 갖는 네비게이션 제어기(2150)로부터 제어 신호를 수신할 수 있다. 제어기(2150)의 네비게이션 특성은, 예를 들면, 사용자 인터페이스(2122)와 상호작용하도록 사용될 수 있다. 다양한 실시예에서, 네비게이션 제어기(2150)는 사용자가 입력 공간(예를 들면, 지속적인 다차원의) 데이터를 컴퓨터로 입력하는 것을 허용하는 컴퓨터 하드웨어 컴포넌트(특히, 휴먼 인터페이스 장치)일 수 있는 포인팅 장치일 수 있다. 그래픽 사용자 인터페이스(GUI), 텔레비전 및 모니터와 같은 많은 시스템은 사용자가 물리적 제스처를 사용하여 데이터를 제어하고 컴퓨터나 텔레비전에 제공하도록 허용한다.
제어기(2150)의 네비게이션 특성의 움직임은 포인터, 커서, 포커스 링, 또는 디스플레이 상에 디스플레이되는 다른 비주얼 표시자의 움직임에 의해서 디스플레이(예를 들면, 디스플레이 2120) 상에 복제될 수 있다. 예를 들면, 소프트웨어 애플리케이션(2116)의 제어하에, 네비게이션 제어기(2150)에 위치하는 네비게이션 특성은 사용자 인터페이스(2122) 상에 디스플레이되는 가상 네비게이션 특성에 매핑될 수 있다. 다양한 실시예에서, 제어기(2150)는 별도의 컴포넌트가 아닌 플랫폼(2102) 및/또는 디스플레이(2120)로 통합될 수 있다. 본 개시는, 그러나, 여기 도시되거나 기술되는 구성요소나 맥락에 한정되지 않는다.
다양한 구현예에서, 드라이버(도시되지 않음)는, 예를 들면, 인에이블(enable)될 때, 초기의 가동 부팅 이후에, 사용자가 버튼을 터치하여 텔레비전 같은 플랫폼(2102)을 즉각적으로 "온"하거나 "오프"하도록 하는 기술을 포함할 수 있다. 프로그램 로직은, 플랫폼이 "오프"될 때, 플랫폼(2102)이 콘텐츠를 매체 어댑터 또는 다른 콘텐츠 서비스 장치(들)(2130)나 콘텐츠 전달 장치(들)(2140)로 스트리밍하도록 할 수 있다. 추가로, 칩셋(2105)은, 예를 들면, 5.1 서라운드 오디오 및/또는 고화질 7.1 서라운드 오디오를 위한 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버는 통합 그래픽 플랫폼을 위한 그래픽 드라이버를 포함할 수 있다. 다양한 실시예에서, 그래픽 드라이버는 주변 컴포넌트 인터커넥트(PCI) 익스프레스 그래픽 카드를 포함할 수 있다.
다양한 구현예에서, 시스템(2100)에 도시된 하나 이상의 컴포넌트가 통합될 수 있다. 예를 들면, 플랫폼(2102) 및 콘텐츠 서비스 장치(들)(2130)가 통합되고, 또는 플랫폼(2102)과 콘텐츠 전달 장치(들)(2140)가 통합될 수 있으며, 또는, 예를 들면, 플랫폼(2102), 콘텐츠 서비스 장치(들)(2130) 및 콘텐츠 전달 장치(들)(2140)가 통합될 수 있다. 다양한 구현예에서, 플랫폼(2102) 및 디스플레이(2120)는 통합 유닛일 수 있다. 예를 들면, 디스플레이(2120)와 콘텐츠 서비스 장치(들)(2130)가 통합되거나, 또는 디스플레이(2120)와 콘텐츠 전달 장치(들)(2140)가 통합될 수 있다. 이들 예는 본 개시를 한정하도록 의도되지 않는다.
다양한 실시예에서, 시스템(2100)은 무선 시스템, 유선 시스템 또는 그들의 조합으로 구현될 수 있다. 무선 시스템으로 구현될 때, 시스템(2100)은 하나 이상의 안테나, 송신기, 수신기, 트랜스시버, 증폭기, 필터, 제어 로직 등과 같은 무선 공유 매체와 통신하기에 적합한 컴포넌트 및 인터페이스를 포함할 수 있다. 무선 공유 매체의 예는 RF 스펙트럼 등과 같은 무선 스펙트럼의 부분을 포함할 수 있다. 유선 시스템으로 구현될 때, 시스템(2100)은, 입력/출력(I/O) 어댑터, 대응하는 유선 통신 매체를 갖는 I/O 어댑터에 연결되는 물리적 커넥터, 네트워크 인터페이스 카드(NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기 및 그 유사한 것과 같은, 유선 통신 매체와 통신하기에 적합한 컴포넌트 및 인터페이스를 포함할 수 있다. 유선 통신 매체의 예는 와이어, 케이블, 메탈 리드, 인쇄 회로 기판(PCB), 백플레인, 스위치 패브릭, 반도체 재료, 트위스트 페어 라인, 동축 케이블, 광섬유 등을 포함할 수 있다.
플랫폼(2102)은 정보를 전달하는 하나 이상의 논리적 또는 물리적 채널을 설정할 수 있다. 정보는 매체 정보와 제어 정보를 포함할 수 있다. 매체 정보는 사용자에게 의도된 콘텐츠를 표현하는 데이터를 지칭할 수 있다. 콘텐츠의 예는, 예를 들면, 음성 대화로부터의 데이터, 비디오 회의, 스트리밍 비디오, 전자 메일("이메일") 메시지, 보이스 메일 메시지, 영숫자 심볼, 그래픽, 이미지, 비디오, 텍스트 등을 포함할 수 있다. 음성 대화로부터의 데이터는, 예를 들면, 스피치 정보, 침묵 기간, 배경 소음, 편안한 잡음(comfort noise), 톤 등일 수 있다. 제어 정보는 코맨드, 명령어, 자동화 시스템에 의도된 제어 단어를 표현하는 데이터를 지칭할 수 있다. 예를 들면, 제어 정보는 시스템을 통해 매체 정보를 라우팅하도록 사용될 수 있고, 또는 미리 결정된 방식으로 매체 정보를 프로세싱하는 노드를 표시하도록 사용될 수 있다. 그러나, 실시예는 도 21에 도시되거나 설명된 구성요소나 맥락에 한정되지 않는다.
상술한 것처럼, 시스템(2100)은 다양한 물리적 스타일이나 폼팩터(form factor)로 구현될 수 있다. 도 22는 시스템(2200)이 구현될 수 있는 작은 폼팩터 장치(2200)의 구현예를 도시한다. 다양한 예에서, 예를 들면, 장치(2200)는 무선 능력을 갖는 모바일 컴퓨팅 장치로서 구현될 수 있다. 모바일 컴퓨팅 장치는 프로세싱 시스템 및 예를 들면, 하나 이상의 배터리 같은, 모바일 파워 소스나 서플라이를 갖는 임의의 장치를 지칭할 수 있다.
상술한 것처럼, 모바일 컴퓨팅 장치의 예는 개인용 컴퓨터(PC), 랩톱 컴퓨터, 울트라-랩톱 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인용 디지털 보조기(PDA), 셀룰러폰, 콤비네이션 셀룰러폰/PDA, 텔레비전, 스마트 장치(예를 들면, 스마트폰, 스마트 태블릿이나 스마트 텔레비전), 모바일 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치, 카메라(예를 들면, 포인트-앤드-슛 카메라, 수퍼-줌 카메라, 디지털 싱글-렌즈 리플렉스(DSLR) 카메라) 등을 포함할 수 있다.
모바일 컴퓨팅 장치의 예는 또한, 손목 컴퓨터, 손가락 컴퓨터, 반지 컴퓨터, 안경 컴퓨터, 벨트-클립 컴퓨터, 암-밴드 컴퓨터, 신발 컴퓨터, 의복 컴퓨터, 및 그 밖의 입을 수 있는 컴퓨터와 같이, 인간이 입도록 구성된 컴퓨터를 포함할 수 있다. 다양한 예에서, 예를 들면, 모바일 컴퓨팅 장치는 컴퓨터 애플리케이션 뿐만 아니라, 음성 통신 및/또는 데이터 통신을 실행할 수 있는 스마트폰으로서 구현될 수 있다. 비록 일부 실시예가 스마트폰으로서 구현되는 모바일 컴퓨팅 장치를 예를 들어서 설명되었지만, 다른 실시예는 또한 기타 다른 무선 모바일 컴퓨팅 장치를 사용하여 구현될 수 있다는 것이 인정되어야 한다. 실시예는 이러한 맥락에 한정되지 않는다.
도 22에 도시된 것처럼, 장치(2200)는 하우징(2202), 사용자 인터페이스(2210)를 포함하는 디스플레이(2204), 입력/출력(I/O) 장치(2206), 그리고 안테나(2208)를 포함할 수 있다. 장치(2200)는 또한 네비게이션 특징(2212)을 포함할 수 있다. 디스플레이(2204)는 모바일 컴퓨팅 장치에 적합한 정보를 디스플레이하는 어느 적합한 디스플레이 장치를 포함할 수 있다. I/O 장치(2206)는 정보를 모바일 컴퓨팅 장치에 입력하는 어느 적합한 I/O 장치를 포함할 수 있다. I/O 장치(2206)에 대한 예는 영숫자 키보드, 숫자 키보드, 터치패드, 입력 키, 버튼, 스위치, 로커 스위치(rocker switch), 마이크로폰, 스피커, 음성 인식 장치 및 소프트웨어, 또는 그 유사한 것을 포함할 수 있다. 정보는 또한 마이크로폰의 방식으로 장치(2200)에 입력될 수 있다. 그러한 정보는 음성 인식 장치(도시되지 않음)에 의해서 디지털화될 수 있다. 실시예는 이러한 맥락에 한정되지 않는다.
다양한 실시예는 하드웨어 구성요소, 소프트웨어 구성요소 또는 그 결합을 사용하여 구현될 수 있다. 하드웨어 구성요소의 예는 프로세서, 마이크로 프로세서, 회로, 회로 구성요소(예를 들면, 트랜지스터, 레지스터, 커패시터, 인덕터 등), 집적회로, 주문형 집적회로(ASIC), 프로그래머블 로직 장치(PLD), 디지털 신호 프로세서(DSP), 필드 프로그래머블 게이트 어레이(FPGA), 로직 게이트, 레지스터, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메소드, 프로시저, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심볼, 그들의 어느 결합을 포함할 수 있다. 실시예가 하드웨어 구성요소 및/또는 소프트웨어 구성요소를 사용하여 구현되는지 여부를 결정하는 것은, 바람직한 컴퓨팅 속도, 파워 레벨, 내열성, 프로세싱 사이클 예산, 입력 데이터율, 출력 데이터율, 메모리 자원, 데이터 버스 속도 및 다른 디자인이나 성능 제약조건과 같은, 많은 인자와 관련되어 다양할 수 있다.
적어도 일 실시예의 하나 이상의 양태는 프로세서 내의 다양한 로직을 표현하는 머신-판독가능한 매체에 저장된 대표적인 명령어에 의해서 구현될 수 있으며, 이는 머신에 의해 읽혀질 때, 머신이 여기 설명된 기술을 수행하도록 로직을 제작하도록 유발한다. "IP 코어"로서 알려진, 이러한 표현이 유형의, 머신 판독가능한 매체에 저장되고 다양한 고객이나 제조 설비에 제공되어 로직이나 프로세서를 실제로 만드는 제작 머신에 로딩될 수 있다.
본 개시에서 제시된 특정 특징이 다양한 구현을 참조하여 설명되었지만, 이 설명은 한정하는 의미로 해석되도록 의도되지 않는다. 따라서, 본 개시에서 설명되는 구현의 다양한 수정, 그리고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백한 그 밖의 구현은 본 개시의 정신이나 영역 내에 속한다고 생각한다.
다음의 예는 추가적인 실시예와 관련된다.
일 예에서, 비디오 코딩을 위한 컴퓨터-구현 방법은 변환 코딩을 위해 예측 오차 데이터 또는 코딩 파티션 또는 원 픽셀 데이터의 파티션을 수신하는 단계와, 예측 오차 데이터 또는 코딩 파티션 또는 원 픽셀 데이터의 파티션에 폐쇄형 파라메트릭 변환(a closed-form parametric transform)을 수행하여 변환 계수를 생성하는 단계와, 변환 계수를 양자화하여 양자화된 변환 계수를 생성하는 단계와, 양자화된 변환 계수와 연관된 데이터를 비트스트림으로 엔트로피 인코딩하는 단계를 포함할 수 있다.
다른 예에서, 비디오 코딩을 위한 컴퓨터-구현 방법은, 폐쇄형 파라메트릭 변환과 연관된 기저 함수 파라미터를 결정하는 단계 - 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 갖는 폐쇄형 하이브리드 파라메트릭 변환을 포함할 수 있고, 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 하르 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 하르 변환을 포함하고, 기저 함수 파라미터를 결정하는 단계는 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 1차원 파라메트릭 변환에 대한 기저 함수 파라미터를 결정하는 단계를 포함할 수 있고, 이전에 디코딩된 비디오 데이터는 개별 코딩 파티션의 이웃 데이터를 포함할 수 있고, 이전에 디코딩된 비디오 데이터는 개별 코딩 파티션에 대해 위, 아래, 좌측, 우측 또는 사선 중 적어도 하나에 있는 이웃 데이터를 포함할 수 있음 - 와, 1차원 파라메트릭 변환에 대한 파라메트릭 변환 방향을 결정하는 단계 - 파라메트릭 변환 방향은 수평 방향, 수직 방향 또는 사선 방향 중 적어도 하나를 포함할 수 있고, 1차원 고정 변환은 파라메트릭 변환 방향에 직교하는 방향으로 수행됨 - 와, 파라메트릭 변환 방향과 개별 코딩 파티션의 크기를 나타내는 블록 크기 데이터를 비트스트림으로 엔트로피 인코딩하는 단계와, 비트스트림을 전송하는 단계와, 비트스트림을 수신하는 단계와, 비트스트림을 엔트로피 디코딩하여 양자화된 변환 계수와 연관된 데이터, 파라메트릭 변환 방향, 및 블록 크기 데이터를 결정하는 단계와, 양자화된 변환 계수와 연관된 데이터에 적어도 부분적으로 기초하여 역스캔 및 역양자화를 수행하여 디코딩된 변환 계수를 생성하는 단계와, 제 2 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 디코딩된 개별 코딩 파티션과 연관된 디코더 기저 함수 파라미터를 결정하는 단계 - 제 2 이전에 디코딩된 비디오 데이터는 디코딩된 개별 코딩 파티션의 이웃 데이터를 포함할 수 있고, 제 2 이전에 디코딩된 비디오 데이터는 데이터는 디코딩된 개별 코딩 파티션에 대해 위, 아래, 좌측, 우측 또는 사선 중 적어도 하나에 있는 이웃 데이터를 포함할 수 있고, 제 2 이전에 디코딩된 비디오 데이터는 이전에 디코딩된 비디오 데이터와 실질적으로 유사함 - 와, 디코더 기저 함수 파라미터, 파라메트릭 변환 방향 및 블록 크기 데이터에 적어도 부분적으로 기초하여 디코딩된 변환 계수에 역 폐쇄형 파라메트릭 변환을 수행하여 디코딩된 개별 코딩 파티션을 생성하는 단계와, 디코딩된 개별 코딩 파티션을 제 2 디코딩된 개별 코딩 파티션과 결합하여 디코딩된 예측 오차 데이터 파티션을 생성하는 단계와, 디코딩된 예측 오차 데이터 파티션에 예측 파티션을 추가하여 제 1 재구성된 파티션을 생성하는 단계와, 제 1 재구성된 파티션 및 제 2 재구성된 파티션을 조립하여 타일 또는 수퍼-프래그먼트 중 적어도 하나를 생성하는 단계와, 블록분리 필터링(deblock filtering) 또는 품질 복원 필터링 중 적어도 하나를 타일 또는 수퍼-프래그먼트에 적용하여 최종 디코딩된 타일 또는 수퍼-프래그먼트를 생성하는 단계와, 최종 디코딩된 타일 또는 수퍼-프래그먼트를 제 2 최종 디코딩된 타일 또는 수퍼-프래그먼트와 조립하여 디코딩된 비디오 프레임을 생성하는 단계와, 디스플레이 장치를 통해서 표시되도록 디코딩된 비디오 프레임을 전송하는 단계를 더 포함할 수 있다. 1차원 파라메트릭 변환은 파라메트릭 하르 변환 또는 파라메트릭 경사 변환 중 적어도 하나를 포함할 수 있다. 1차원 고정 변환은 이산 코사인 변환 또는 이산 코사인 변환 근사기 중 적어도 하나를 포함할 수 있다. 개별 코딩 파티션은 4x4 픽셀, 8x8 픽셀 및 16x16 픽셀 중 적어도 하나의 크기를 포함할 수 있다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00027
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는
Figure pct00028
이다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00029
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
Figure pct00030
이다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00031
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
Figure pct00032
이다. 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함할 수 있어, 복수의 코딩 파티션 중 개별 코딩 파티션에 폐쇄형 파라메트릭 변환을 수행하여 개별 코딩 파티션과 연관된 변환 계수를 생성하는 단계는:
Figure pct00033
을 통해 변환 계수를 결정하는 단계를 포함할 수 있고, 여기서, C는 변환 계수를 포함하고, TPHT는 1차원 파라메트릭 변환을 포함하고, S는 코딩 파티션을 포함하고, TDCT는 1차원 고정 변환을 포함한다. 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 폐쇄형 파라메트릭 변환을 포함할 수 있어, 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트로부터 폐쇄형 파라메트릭 변환을 선택하기 위한 회전 기반 절차에 적어도 부분적으로 기초하여 결정될 수 있다.
다른 예에서, 비디오 인코더는 이미지 버퍼와, 적응적 변환 로직 회로를 갖는 그래픽 프로세싱 유닛을 포함할 수 있다. 그래픽 프로세싱 유닛은 이미지 버퍼에 통신가능하게 연결되며, 적응적 변환 로직 회로는 변환 코딩을 위해 예측 오차 데이터 또는 코딩 파티션 또는 원 픽셀 데이터의 파티션을 수신하도록 구성되고, 복수의 코딩 파티션 중 개별 코딩 파티션에 폐쇄형 파라메트릭 변환을 수행하여 개별 코딩 파티션과 연관된 변환 계수를 생성하도록 구성될 수 있다.
추가의 예시적 비디오 인코더에서, 그래픽 프로세싱 유닛은 적응적 양자화 로직 회로 및/또는 적응적 엔트로피 인코더 로직 회로를 포함할 수 있다. 적응적 양자화 로직 회로는 변환 계수를 양자화하여 양자화된 변환 계수를 생성하도록 구성될 수 있다. 적응적 엔트로피 인코더 로직 회로는 양자화된 변환 계수와 연관된 데이터, 파라메트릭 변환 방향 및 개별 코딩 파티션의 크기를 나타내는 블록 크기 데이터를 비트스트림으로 엔트로피 인코딩하고, 비트스트림을 전송하도록 구성될 수 있다. 적응적 변환 로직 회로는, 폐쇄형 파라메트릭 변환과 연관된 기저 함수 파라미터를 결정 - 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 갖는 폐쇄형 하이브리드 파라메트릭 변환을 포함할 수 있고, 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 하르 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 하르 변환을 포함하고, 기저 함수 파라미터를 결정하는 것은 적응적 변환 로직 회로가 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 1차원 파라메트릭 변환에 대한 기저 함수 파라미터를 결정하는 것을 포함할 수 있고, 이전에 디코딩된 비디오 데이터는 개별 코딩 파티션의 이웃 데이터를 포함할 수 있고, 이전에 디코딩된 비디오 데이터는 개별 코딩 파티션에 대해 위, 아래, 좌측, 우측 또는 사선 중 적어도 하나에 있는 이웃 데이터를 포함할 수 있음 - 하고, 1차원 파라메트릭 변환에 대한 파라메트릭 변환 방향을 결정 - 파라메트릭 변환 방향은 수평 방향, 수직 방향 또는 사선 방향 중 적어도 하나를 포함할 수 있고, 1차원 고정 변환은 파라메트릭 변환 방향에 대해 직교하는 방향으로 수행됨 - 하도록 더 구성될 수 있다. 1차원 파라메트릭 변환은 파라메트릭 하르 변환 또는 파라메트릭 경사 변환 중 적어도 하나를 포함할 수 있다. 1차원 고정 변환은 이산 코사인 변환 또는 이산 코사인 변환 근사기 중 적어도 하나를 포함할 수 있다. 개별 코딩 파티션은 4x4 픽셀, 8x8 픽셀 및 16x16 픽셀 중 적어도 하나의 크기를 포함할 수 있다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00034
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는
Figure pct00035
이다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00036
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
Figure pct00037
이다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00038
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
Figure pct00039
이다. 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함할 수 있어, 복수의 코딩 파티션 중 개별 코딩 파티션에 폐쇄형 파라메트릭 변환을 수행하여 개별 코딩 파티션과 연관된 변환 계수를 생성하는 것은 적응적 변환 로직 회로가:
Figure pct00040
을 통해 변환 계수를 결정하도록 구성되는 것을 포함할 수 있고, 여기서, C는 변환 계수를 포함하고, TPHT는 1차원 파라메트릭 변환을 포함하고, S는 코딩 파티션을 포함하고, TDCT는 1차원 고정 변환을 포함한다. 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 폐쇄형 파라메트릭 변환을 포함할 수 있어, 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트로부터 폐쇄형 파라메트릭 변환을 선택하기 위한 회전 기반 절차에 적어도 부분적으로 기초하여 결정될 수 있다.
또 다른 예에서, 디코더 시스템은 인코딩된 비트스트림을 디코딩하도록 구성된 비디오 디코더를 포함할 수 있다. 비디오 디코더는 비트스트림을 엔트로피 디코딩하여 개별 코딩 파티션에 대해 양자화된 변환 계수와 연관된 데이터, 파라메트릭 변환 방향 및 블록 크기 데이터를 결정하고, 양자화된 변환 계수와 연관된 데이터에 적어도 부분적으로 기초하여 역스캔 및 역양자화를 수행하여 디코딩된 변환 계수를 생성하고, 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 개별 코딩 파티션과 연관된 디코더 기저 함수 파라미터를 결정하고, 디코더 기저 함수 파라미터, 파라메트릭 변환 방향, 및 블록 크기 데이터에 적어도 부분적으로 기초하여 디코딩된 변환 계수에 역 폐쇄형 파라메트릭 변환을 수행하여 디코딩된 코딩 파티션을 생성하고, 디코딩된 코딩 파티션을 제 2 디코딩된 코딩 파티션과 결합하여 디코딩된 예측 오차 데이터 파티션을 생성하도록 구성될 수 있다.
추가의 예시적 시스템에서, 시스템은 또한 안테나 및/또는 비디오 프레임을 표시하도록 구성된 디스플레이 장치를 포함할 수 있다. 안테나는 비디오 데이터의 인코딩된 비트스트림을 수신하고 비디오 디코더에 통신가능하게 연결되도록 구성될 수 있다. 비디오 디코더는 디코딩된 예측 오차 데이터 파티션에 예측 파티션을 추가하여 제 1 재구성된 파티션을 생성하고, 제 1 재구성된 파티션 및 제 2 재구성된 파티션을 조립하여 타일 또는 수퍼-프래그먼트 중 적어도 하나를 생성하고, 타일 또는 수퍼-프래그먼트에 블록분리 필터링(deblock filtering) 또는 품질 복원 필터링 중 적어도 하나를 적용하여 최종 디코딩된 타일 또는 수퍼-프래그먼트를 생성하고, 최종 디코딩된 타일 또는 수퍼-프래그먼트를 제 2 최종 디코딩된 타일 또는 수퍼-프래그먼트와 조립하여 디코딩된 비디오 프레임을 생성하고, 디스플레이 장치를 통해서 표시되도록 디코딩된 비디오 프레임을 전송하도록 더 구성될 수 있다. 폐쇄형 파라메트릭 변환은 1차원 역 파라메트릭 변환 및 1차원 역 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함할 수 있다. 이전에 디코딩된 비디오 데이터는 개별 코딩 파티션의 이웃 데이터를 포함하여, 이전에 디코딩된 비디오 데이터는 개별 코딩 파티션에 대해 위, 아래, 좌측, 우측 또는 사선 중 적어도 하나에 있는 이웃 데이터를 포함할 수 있다. 1차원 역 파라메트릭 변환은 역 파라메트릭 하르 변환 또는 역 파라메트릭 경사 변환 중 적어도 하나를 포함할 수 있다. 1차원 역 고정 변환은 역 이산 코사인 변환 또는 역 이산 코사인 변환 근사기 중 적어도 하나를 포함할 수 있다. 개별 코딩 파티션은 4x4 픽셀, 8x8 픽셀 및 16x16 픽셀 중 적어도 하나의 크기를 포함할 수 있다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00041
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는
Figure pct00042
이다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00043
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
Figure pct00044
이다. 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
Figure pct00045
으로 주어지는 기저 행렬을 포함하고, 여기서, T가 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
Figure pct00046
이다. 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하여, 복수의 코딩 파티션 중 개별 코딩 파티션에 폐쇄형 파라메트릭 변환을 수행하여 개별 코딩 파티션과 연관된 변환 계수를 생성하는 것은 비디오 디코더가:
Figure pct00047
을 통해 변환 계수를 결정하는 것을 포함할 수 있고, 여기서, C는 변환 계수를 포함하고, TPHT는 1차원 파라메트릭 변환을 포함하고, S는 코딩 파티션을 포함하고, TDCT는 1차원 고정 변환을 포함한다. 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 폐쇄형 파라메트릭 변환을 포함할 수 있어, 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트로부터 폐쇄형 파라메트릭 변환을 선택하기 위한 회전 기반 절차에 적어도 부분적으로 기초하여 결정될 수 있다.
추가의 예에서, 적어도 하나의 머신 판독가능 매체는 컴퓨팅 장치에서 실행되는 것에 응답하여 컴퓨팅 장치로 하여금 위의 예들 중 임의의 하나에 따른 방법을 수행하도록 하는 복수의 명령어를 포함할 수 있다.
또한 추가의 예에서, 장치는 위의 예들 중 임의의 하나에 따른 방법을 수행하기 위한 수단을 포함할 수 있다.
위의 예들은 특정 특징의 조합을 포함할 수 있다. 그러나, 그러한 위의 예들은 이와 관련하여 한정되지 않고, 다양한 구현예에서, 상술한 예는 그러한 특징의 서브셋만의 수행, 그러한 특징의 상이한 순서의 수행, 그러한 특성의 상이한 조합의 수행, 및/또는 명시적으로 나열된 특성들 외의 추가적인 특성의 수행을 포함할 수 있다. 예를 들면, 예시된 방법과 관련하여 설명된 모든 특성은 예시된 장치, 예시된 시스템, 및/또는 예시된 물건과 관련되어 구현될 수 있으며, 그 역으로도 구현될 수 있다.

Claims (29)

  1. 비디오 코딩을 위한 컴퓨터-구현 방법으로서,
    변환 코딩을 위해 예측 오차 데이터 또는 코딩 파티션 또는 원(original) 픽셀 데이터의 파티션을 수신하는 단계와,
    상기 예측 오차 데이터 또는 코딩 파티션 또는 상기 원 픽셀 데이터의 파티션에 폐쇄형 파라메트릭 변환(a closed-form parametric transform)을 수행하여 변환 계수를 생성하는 단계와,
    상기 변환 계수를 양자화하여 양자화된 변환 계수를 생성하는 단계와,
    상기 양자화된 변환 계수와 연관된 데이터를 비트스트림으로 엔트로피 인코딩하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환과 연관된 기저 함수 파라미터를 결정하는 단계를 더 포함하는
    방법.

  3. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환과 연관된 기저 함수 파라미터를 결정하는 단계를 더 포함하고,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 하르(Haar) 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 하르 변환을 포함하고,
    상기 기저 함수 파라미터를 결정하는 단계는 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 상기 1차원 파라메트릭 하르 변환에 대한 기저 함수 파라미터를 결정하는 단계를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 하르 변환 및 1차원 이산 코사인 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 1차원 파라메트릭 변환에 대한 파라메트릭 변환 방향을 결정하는 단계를 더 포함하고,
    상기 파라메트릭 변환 방향은 수평 방향, 수직 방향 또는 사선 방향 중 적어도 하나를 포함하고,
    상기 1차원 고정 변환은 상기 파라메트릭 변환 방향에 대해 직교하는 방향으로 수행되는
    방법.
  7. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00048
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00049

    방법.
  8. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00050
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00051

    방법.
  9. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00052
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00053

    방법.

  10. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하고,
    복수의 코딩 파티션 중 개별 코딩 파티션에 상기 폐쇄형 파라메트릭 변환을 수행하여 상기 개별 코딩 파티션과 연관된 상기 변환 계수를 생성하는 단계는:
    Figure pct00054
    을 통해 상기 변환 계수를 결정하는 단계를 포함하고,
    여기서, C는 상기 변환 계수를 포함하고, TPHT는 상기 1차원 파라메트릭 변환을 포함하고, S는 상기 코딩 파티션을 포함하고, TDCT는 상기 1차원 고정 변환을 포함하는
    방법.
  11. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 폐쇄형 파라메트릭 변환을 포함하는
    방법.

  12. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 폐쇄형 파라메트릭 변환을 포함하고,
    상기 폐쇄형 파라메트릭 변환은 상기 선택된 폐쇄형 파라메트릭 변환의 제한된 세트로부터 상기 폐쇄형 파라메트릭 변환을 선택하기 위한 회전 기반 절차에 적어도 부분적으로 기초하여 결정되는
    방법.
  13. 제 1 항에 있어서,
    상기 폐쇄형 파라메트릭 변환과 연관된 기저 함수 파라미터를 결정하는 단계 - 상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하고, 상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 하르 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 하르 변환을 포함하고, 상기 기저 함수 파라미터를 결정하는 단계는 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 상기 1차원 파라메트릭 변환에 대한 기저 함수 파라미터를 결정하는 단계를 포함하고, 상기 이전에 디코딩된 비디오 데이터는 개별 코딩 파티션의 이웃 데이터를 포함하고, 상기 이전에 디코딩된 비디오 데이터는 상기 개별 코딩 파티션에 대해 위, 아래, 좌측, 우측 또는 사선 중 적어도 하나에 있는 이웃 데이터를 포함함 - 와,
    상기 1차원 파라메트릭 변환에 대한 파라메트릭 변환 방향을 결정하는 단계 - 상기 파라메트릭 변환 방향은 수평 방향, 수직 방향 또는 사선 방향 중 적어도 하나를 포함하고, 상기 1차원 고정 변환은 상기 파라메트릭 변환 방향에 직교하는 방향으로 수행됨 - 와,
    상기 파라메트릭 변환 방향과 상기 개별 코딩 파티션의 크기를 나타내는 블록 크기 데이터를 비트스트림으로 엔트로피 인코딩하는 단계와,
    상기 비트스트림을 전송하는 단계와,
    상기 비트스트림을 수신하는 단계와,
    상기 비트스트림을 엔트로피 디코딩하여 상기 양자화된 변환 계수와 연관된 데이터, 상기 파라메트릭 변환 방향, 및 블록 크기 데이터를 결정하는 단계와,
    상기 양자화된 변환 계수와 연관된 데이터에 적어도 부분적으로 기초하여 역스캔 및 역양자화를 수행하여 디코딩된 변환 계수를 생성하는 단계와,
    제 2 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 디코딩된 개별 코딩 파티션과 연관된 디코더 기저 함수 파라미터를 결정하는 단계 - 상기 제 2 이전에 디코딩된 비디오 데이터는 상기 디코딩된 개별 코딩 파티션의 이웃 데이터를 포함하고, 상기 제 2 이전에 디코딩된 비디오 데이터는 데이터는 상기 디코딩된 개별 코딩 파티션에 대해 위, 아래, 좌측, 우측 또는 사선 중 적어도 하나에 있는 이웃 데이터를 포함하고, 상기 제 2 이전에 디코딩된 비디오 데이터는 상기 이전에 디코딩된 비디오 데이터와 실질적으로 유사함 - 와,
    상기 디코더 기저 함수 파라미터, 상기 파라메트릭 변환 방향 및 상기 블록 크기 데이터에 적어도 부분적으로 기초하여 상기 디코딩된 변환 계수에 역 폐쇄형 파라메트릭 변환을 수행하여 디코딩된 개별 코딩 파티션을 생성하는 단계와,
    상기 디코딩된 개별 코딩 파티션을 제 2 디코딩된 개별 코딩 파티션과 결합하여 디코딩된 예측 오차 데이터 파티션을 생성하는 단계와,
    상기 디코딩된 예측 오차 데이터 파티션에 예측 파티션을 추가하여 제 1 재구성된 파티션을 생성하는 단계와,
    상기 제 1 재구성된 파티션과 제 2 재구성된 파티션을 조립하여 타일 또는 수퍼-프래그먼트 중 적어도 하나를 생성하는 단계와,
    블록분리 필터링(deblock filtering) 또는 품질 복원 필터링 중 적어도 하나를 상기 타일 또는 상기 수퍼-프래그먼트에 적용하여 최종 디코딩된 타일 또는 수퍼-프래그먼트를 생성하는 단계와,
    상기 최종 디코딩된 타일 또는 수퍼-프래그먼트를 제 2 최종 디코딩된 타일 또는 수퍼-프래그먼트와 조립하여 디코딩된 비디오 프레임을 생성하는 단계와,
    디스플레이 장치를 통해서 표시되도록 상기 디코딩된 비디오 프레임을 전송하는 단계를 더 포함하되,
    상기 1차원 파라메트릭 변환은 파라메트릭 하르 변환 또는 파라메트릭 경사 변환 중 적어도 하나를 포함하고,
    상기 1차원 고정 변환은 이산 코사인 변환 또는 이산 코사인 변환 근사기 중 적어도 하나를 포함하고,
    상기 개별 코딩 파티션은 4x4 픽셀, 8x8 픽셀 및 16x16 픽셀 중 적어도 하나의 크기를 포함하고,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00055
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00056
    이고,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00057
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00058
    이고,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00059
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00060
    이고,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하고, 복수의 코딩 파티션 중 개별 코딩 파티션에 상기 폐쇄형 파라메트릭 변환을 수행하여 상기 개별 코딩 파티션과 연관된 상기 변환 계수를 생성하는 단계는:
    Figure pct00061
    을 통해 상기 변환 계수를 결정하는 단계를 포함하고,
    여기서, C는 상기 변환 계수를 포함하고, TPHT는 상기 1차원 파라메트릭 변환을 포함하고, S는 상기 코딩 파티션을 포함하고, TDCT는 상기 1차원 고정 변환을 포함하고,
    상기 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 폐쇄형 파라메트릭 변환을 포함하고, 상기 폐쇄형 파라메트릭 변환은 상기 선택된 폐쇄형 파라메트릭 변환의 제한된 세트로부터 상기 폐쇄형 파라메트릭 변환을 선택하기 위한 회전 기반 절차에 적어도 부분적으로 기초하여 결정되는
    방법.
  14. 이미지 버퍼와,
    적응적 변환 로직 회로를 포함하는 그래픽 프로세싱 유닛을 포함하되,
    상기 그래픽 프로세싱 유닛은 상기 이미지 버퍼에 통신가능하게 연결되고,
    상기 적응적 변환 로직 회로는,
    변환 코딩을 위해 예측 오차 데이터 또는 코딩 파티션 또는 원 픽셀 데이터의 파티션을 수신하고,
    복수의 코딩 파티션 중 개별 코딩 파티션에 폐쇄형 파라메트릭 변환을 수행하여 상기 개별 코딩 파티션과 연관된 변환 계수를 생성하도록 구성되는
    비디오 인코더.
  15. 제 14 항에 있어서,
    상기 적응적 변환 로직 회로는,
    상기 폐쇄형 파라메트릭 변환과 연관된 기저 함수 파라미터를 결정하도록 더 구성되는
    비디오 인코더.
  16. 제 14 항에 있어서,
    상기 적응적 변환 로직 회로는,
    상기 폐쇄형 파라메트릭 변환과 연관된 기저 함수 파라미터를 결정하도록 더 구성되고,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 하르 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하고,
    상기 기저 함수 파라미터를 결정하는 것은 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 상기 1차 파라메트릭 하르 변환에 대한 기저 함수 파라미터를 결정하는 것을 포함하는
    비디오 인코더.
  17. 제 14 항에 있어서,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하는
    비디오 인코더.
  18. 제 14 항에 있어서,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00062
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00063

    비디오 인코더.
  19. 제 14 항에 있어서,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00064
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00065

    비디오 인코더.
  20. 제 14 항에 있어서,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00066
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00067

    비디오 인코더.
  21. 제 14 항에 있어서,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하고,
    상기 복수의 코딩 파티션 중 개별 코딩 파티션에 상기 폐쇄형 파라메트릭 변환을 수행하여 상기 개별 코딩 파티션과 연관된 상기 변환 계수를 생성하는 것은:
    Figure pct00068
    을 통해 상기 변환 계수를 결정하는 것을 포함하고,
    여기서, C는 상기 변환 계수를 포함하고, TPHT는 상기 1차원 파라메트릭 변환을 포함하고, S는 상기 코딩 파티션을 포함하고, TDCT는 상기 1차원 고정 변환을 포함하는
    비디오 인코더.
  22. 제 14 항에 있어서,
    상기 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 폐쇄형 파라메트릭 변환을 포함하고,
    상기 적응적 변환 로직 회로는 상기 선택된 폐쇄형 파라메트릭 변환의 제한된 세트로부터 상기 폐쇄형 파라메트릭 변환을 선택하기 위한 회전 기반 절차에 적어도 부분적으로 기초하여 상기 폐쇄형 파라메트릭 변환을 결정하도록 구성되는
    비디오 인코더.
  23. 제 14 항에 있어서,
    상기 그래픽 프로세싱 유닛은,
    상기 변환 계수를 양자화하여 양자화된 변환 계수를 생성하도록 구성된 적응적 양자화 로직 회로와,
    상기 양자화된 변환 계수와 연관된 데이터, 파라메트릭 변환 방향 및 상기 개별 코딩 파티션의 크기를 나타내는 블록 크기 데이터를 비트스트림으로 엔트로피 인코딩하고, 상기 비트스트림을 전송하도록 구성된 적응적 엔트로피 인코더 로직 회로를 더 포함하되,
    상기 적응적 변환 로직 회로는,
    상기 폐쇄형 파라메트릭 변환과 연관된 기저 함수 파라미터를 결정 - 상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하고, 상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 하르 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 하르 변환을 포함하고, 상기 기저 함수 파라미터를 결정하는 것은 상기 적응적 변환 로직 회로가 이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 상기 1차원 파라메트릭 변환에 대한 기저 함수 파라미터를 결정하도록 구성되는 것을 포함하고, 상기 이전에 디코딩된 비디오 데이터는 상기 개별 코딩 파티션의 이웃 데이터를 포함하고, 상기 이전에 디코딩된 비디오 데이터는 상기 개별 코딩 파티션에 대해 위, 아래, 좌측, 우측 또는 사선 중 적어도 하나에 있는 이웃 데이터를 포함함 - 하고,
    상기 1차원 파라메트릭 변환에 대한 파라메트릭 변환 방향을 결정 - 상기 파라메트릭 변환 방향은 수평 방향, 수직 방향 또는 사선 방향 중 적어도 하나를 포함하고, 상기 1차원 고정 변환은 상기 파라메트릭 변환 방향에 대해 직교하는 방향으로 수행됨 - 하도록 더 구성되고,
    상기 1차원 파라메트릭 변환은 파라메트릭 하르 변환 또는 파라메트릭 경사 변환 중 적어도 하나를 포함하고,
    상기 1차원 고정 변환은 이산 코사인 변환 또는 이산 코사인 변환 근사기 중 적어도 하나를 포함하고,
    상기 개별 코딩 파티션은 4x4 픽셀, 8x8 픽셀 및 16x16 픽셀 중 적어도 하나의 크기를 포함하고,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00069
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00070
    이고,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00071
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00072
    이고,
    상기 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00073
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00074
    이고,
    상기 폐쇄형 파라메트릭 변환은 1차원 파라메트릭 변환 및 1차원 고정 변환을 포함하는 폐쇄형 하이브리드 파라메트릭 변환을 포함하고, 상기 복수의 코딩 파티션 중 개별 코딩 파티션에 상기 폐쇄형 파라메트릭 변환을 수행하여 상기 개별 코딩 파티션과 연관된 상기 변환 계수를 생성하는 것은 상기 적응적 변환 로직 회로가:
    Figure pct00075
    을 통해 상기 변환 계수를 결정하도록 구성되는 것을 포함하고,
    여기서, C는 상기 변환 계수를 포함하고, TPHT는 상기 1차원 파라메트릭 변환을 포함하고, S는 상기 코딩 파티션을 포함하고, TDCT는 상기 1차원 고정 변환을 포함하고,
    상기 폐쇄형 파라메트릭 변환은 선택된 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 폐쇄형 파라메트릭 변환을 포함하고, 상기 적응적 변환 로직 회로는 상기 선택된 폐쇄형 파라메트릭 변환의 제한된 세트로부터 상기 폐쇄형 파라메트릭 변환을 선택하기 위한 회전 기반 절차에 적어도 부분적으로 기초하여 상기 폐쇄형 파라메트릭 변환을 결정하도록 구성되는
    비디오 인코더.
  24. 인코딩된 비트스트림을 디코딩하도록 구성된 비디오 디코더를 포함하되,
    상기 비디오 디코더는,
    상기 비트스트림을 엔트로피 디코딩하여 개별 코딩 파티션에 대해 양자화된 변환 계수와 연관된 데이터, 파라메트릭 변환 방향 및 블록 크기 데이터를 결정하고,
    상기 양자화된 변환 계수와 연관된 데이터에 적어도 부분적으로 기초하여 역스캔 및 역양자화를 수행하여 디코딩된 변환 계수를 생성하고,
    이전에 디코딩된 비디오 데이터에 적어도 부분적으로 기초하여 상기 개별 코딩 파티션과 연관된 디코더 기저 함수 파라미터를 결정하고,
    상기 디코더 기저 함수 파라미터, 상기 파라메트릭 변환 방향, 및 상기 블록 크기 데이터에 적어도 부분적으로 기초하여 상기 디코딩된 변환 계수에 역 폐쇄형 파라메트릭 변환을 수행하여 디코딩된 코딩 파티션을 생성하고,
    상기 디코딩된 코딩 파티션을 제 2 디코딩된 코딩 파티션과 결합하여 디코딩된 예측 오차 데이터 파티션을 생성하도록 구성되는
    디코더 시스템.
  25. 제 24 항에 있어서,
    비디오 데이터의 상기 인코딩된 비트스트림을 수신하고 상기 비디오 디코더에 통신가능하게 연결된 안테나와,
    비디오 프레임을 표시하도록 구성된 디스플레이 장치를 더 포함하는
    디코더 시스템.
  26. 제 24 항에 있어서,
    상기 역 폐쇄형 파라메트릭 변환은 1차원 역 파라메트릭 변환 및 1차원 역 고정 변환을 포함하는 하이브리드 역 폐쇄형 파라메트릭 변환을 포함하고,
    상기 역 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00076
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00077

    디코더 시스템.
  27. 제 24 항에 있어서,
    비디오 데이터의 상기 인코딩된 비트스트림을 수신하고 상기 비디오 디코더에 통신가능하게 연결된 안테나와,
    비디오 프레임을 표시하도록 구성된 디스플레이 장치를 더 포함하고,
    상기 비디오 디코더는,
    상기 디코딩된 예측 오차 데이터 파티션에 예측 파티션을 추가하여 제 1 재구성된 파티션을 생성하고,
    상기 제 1 재구성된 파티션과 제 2 재구성된 파티션을 조립하여 타일 또는 수퍼-프래그먼트 중 적어도 하나를 생성하고,
    상기 타일 또는 상기 수퍼-프래그먼트에 블록분리 필터링(deblock filtering) 또는 품질 복원 필터링 중 적어도 하나를 적용하여 최종 디코딩된 타일 또는 수퍼-프래그먼트를 생성하고,
    상기 최종 디코딩된 타일 또는 수퍼-프래그먼트를 제 2 최종 디코딩된 타일 또는 수퍼-프래그먼트와 조립하여 디코딩된 비디오 프레임을 생성하고,
    상기 디스플레이 장치를 통해서 표시되도록 상기 디코딩된 비디오 프레임을 전송하도록 더 구성되고,
    상기 역 폐쇄형 파라메트릭 변환은 1차원 역 파라메트릭 변환 및 1차원 역 고정 변환을 포함하는 하이브리드 역 폐쇄형 파라메트릭 변환을 포함하고,
    상기 이전에 디코딩된 비디오 데이터는 상기 개별 코딩 파티션의 이웃 데이터를 포함하고, 상기 이전에 디코딩된 비디오 데이터는 상기 개별 코딩 파티션에 대해 위, 아래, 좌측, 우측 또는 사선 중 적어도 하나에 있는 이웃 데이터를 포함하고,
    상기 1차원 역 파라메트릭 변환은 역 파라메트릭 하르 변환 또는 역 파라메트릭 경사 변환 중 적어도 하나를 포함하고,
    상기 1차원 역 고정 변환은 역 이산 코사인 변환 또는 역 이산 코사인 변환 근사기 중 적어도 하나를 포함하고,
    상기 개별 코딩 파티션은 4x4 픽셀, 8x8 픽셀 및 16x16 픽셀 중 적어도 하나의 크기를 포함하고,
    상기 역 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00078
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a 및 b가 이웃 픽셀 근사 데이터를 포함하며, r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00079
    이고,
    상기 역 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00080
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c 및 d가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00081
    이고,
    상기 역 폐쇄형 파라메트릭 변환에 대한 폐쇄형 솔루션은,
    Figure pct00082
    으로 주어지는 기저 행렬을 포함하고,
    여기서,
    T가 상기 기저 행렬을 포함하고, a, b, c, d, e, f, g 및 h가 이웃 픽셀 근사 데이터를 포함하며, s, t 및 r이 기저 함수를 포함하는 것을 만족하는
    Figure pct00083
    이고,
    상기 역 폐쇄형 파라메트릭 변환은 1차원 역 파라메트릭 변환 및 1차원 역 고정 변환을 포함하는 하이브리드 역 폐쇄형 파라메트릭 변환을 포함하고, 복수의 코딩 파티션 중 개별 코딩 파티션에 상기 역 폐쇄형 파라메트릭 변환을 수행하여 상기 개별 코딩 파티션과 연관된 상기 변환 계수를 생성하는 것은 상기 비디오 디코더가:
    Figure pct00084
    을 통해 상기 변환 계수를 결정하도록 구성되는 것을 포함하고,
    여기서, C는 상기 변환 계수를 포함하고, TPHT는 상기 1차원 역 파라메트릭 변환을 포함하고, S는 상기 코딩 파티션을 포함하고, TDCT는 상기 1차원 역 고정 변환을 포함하고,
    상기 역 폐쇄형 파라메트릭 변환은 선택된 역 폐쇄형 파라메트릭 변환의 제한된 세트 중 하나의 역 폐쇄형 파라메트릭 변환을 포함하고, 상기 비디오 디코더는 상기 선택된 역 폐쇄형 파라메트릭 변환의 제한된 세트로부터 상기 역 폐쇄형 파라메트릭 변환을 선택하기 위한 회전 기반 절차에 적어도 부분적으로 기초하여 상기 역 폐쇄형 파라메트릭 변환을 결정하도록 구성되는
    디코더 시스템.
  28. 적어도 하나의 머신 판독가능 매체로서,
    컴퓨팅 장치에서 실행되는 것에 응답하여 상기 컴퓨팅 장치로 하여금 제 1 항 내지 제 13 항 중 한 항에 따른 방법을 수행하도록 하는 복수의 명령어를 포함하는
    머신 판독가능 매체.
  29. 제 1 항 내지 제 13 항 중 한 항에 따른 방법을 수행하기 위한 수단을 포함하는
    장치.
KR1020157017114A 2013-01-30 2013-12-24 차세대 비디오를 위한 코딩을 위한 콘텐츠 적응적 파라메트릭 변환 KR20150090206A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361758314P 2013-01-30 2013-01-30
US61/758,314 2013-01-30
PCT/US2013/077692 WO2014120367A1 (en) 2013-01-30 2013-12-24 Content adaptive parametric transforms for coding for next generation video

Publications (1)

Publication Number Publication Date
KR20150090206A true KR20150090206A (ko) 2015-08-05

Family

ID=51262831

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020177015400A KR102063385B1 (ko) 2013-01-30 2013-12-24 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩
KR1020157009528A KR20150058324A (ko) 2013-01-30 2013-12-24 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩
KR1020157017114A KR20150090206A (ko) 2013-01-30 2013-12-24 차세대 비디오를 위한 코딩을 위한 콘텐츠 적응적 파라메트릭 변환
KR1020157009347A KR20150055005A (ko) 2013-01-30 2013-12-27 수정된 참조를 가진 차세대 비디오 코딩용 콘텐츠 적응적 예측 및 기능적 예측 픽처
KR1020157016934A KR20150090178A (ko) 2013-01-30 2013-12-27 차세대 비디오용 코딩된/코딩되지 않은 데이터의 콘텐츠 적응적 엔트로피 코딩
KR1020157017027A KR101770047B1 (ko) 2013-01-30 2014-01-30 차세대 비디오 코팅용 콘텐츠 적응적 예측 거리 분석기 및 계층적 움직임 추정 시스템

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020177015400A KR102063385B1 (ko) 2013-01-30 2013-12-24 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩
KR1020157009528A KR20150058324A (ko) 2013-01-30 2013-12-24 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020157009347A KR20150055005A (ko) 2013-01-30 2013-12-27 수정된 참조를 가진 차세대 비디오 코딩용 콘텐츠 적응적 예측 및 기능적 예측 픽처
KR1020157016934A KR20150090178A (ko) 2013-01-30 2013-12-27 차세대 비디오용 코딩된/코딩되지 않은 데이터의 콘텐츠 적응적 엔트로피 코딩
KR1020157017027A KR101770047B1 (ko) 2013-01-30 2014-01-30 차세대 비디오 코팅용 콘텐츠 적응적 예측 거리 분석기 및 계층적 움직임 추정 시스템

Country Status (8)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135663A3 (ko) * 2016-02-01 2017-09-28 엘지전자 주식회사 행 -열 변환 (row- column transform)을 이용하여 변환을 수행하는 방법 및 장치
WO2018139729A1 (ko) * 2017-01-26 2018-08-02 삼성전자 주식회사 적응적 영상 변환 방법 및 장치
WO2018143687A1 (ko) * 2017-02-01 2018-08-09 엘지전자(주) 행-열 변환을 이용하여 변환을 수행하는 방법 및 장치

Families Citing this family (251)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2524117T3 (es) 2002-08-08 2014-12-04 Panasonic Intellectual Property Corporation Of America Procedimiento de codificación y procedimiento de descodificación de imágenes en movimiento
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
US9380327B2 (en) * 2011-12-15 2016-06-28 Comcast Cable Communications, Llc System and method for synchronizing timing across multiple streams
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
CN102883163B (zh) * 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
EP2920962A4 (en) 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US11438609B2 (en) 2013-04-08 2022-09-06 Qualcomm Incorporated Inter-layer picture signaling and related processes
US10057599B2 (en) * 2014-02-19 2018-08-21 Mediatek Inc. Method for performing image processing control with aid of predetermined tile packing, associated apparatus and associated non-transitory computer readable medium
CN103929642B (zh) * 2014-04-24 2017-04-12 北京航空航天大学 一种hevc变换系数的熵编码上下文模型偏移值快速计算方法
US9723377B2 (en) 2014-04-28 2017-08-01 Comcast Cable Communications, Llc Video management
US10397574B2 (en) * 2014-05-12 2019-08-27 Intel Corporation Video coding quantization parameter determination suitable for video conferencing
US20170249521A1 (en) * 2014-05-15 2017-08-31 Arris Enterprises, Inc. Automatic video comparison of the output of a video decoder
US11064204B2 (en) 2014-05-15 2021-07-13 Arris Enterprises Llc Automatic video comparison of the output of a video decoder
US10057593B2 (en) * 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US9699464B2 (en) * 2014-07-10 2017-07-04 Intel Corporation Adaptive bitrate streaming for wireless video
US9549188B2 (en) * 2014-07-30 2017-01-17 Intel Corporation Golden frame selection in video coding
CN104301724B (zh) 2014-10-17 2017-12-01 华为技术有限公司 视频处理方法、编码设备和解码设备
TWI536799B (zh) * 2014-10-29 2016-06-01 虹光精密工業股份有限公司 智慧型複印設備
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10171807B2 (en) * 2015-01-29 2019-01-01 Arris Enterprises Llc Picture-level QP rate control for HEVC encoding
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
CN104780377B (zh) * 2015-03-18 2017-12-15 同济大学 一种基于分布式计算机系统的并行hevc编码系统及方法
WO2016192073A1 (zh) 2015-06-04 2016-12-08 清华大学 编码方法、解码方法及其装置
GB2539198B (en) * 2015-06-08 2019-09-25 Imagination Tech Ltd Motion estimation using collocated blocks
US9942552B2 (en) * 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
US10354290B2 (en) * 2015-06-16 2019-07-16 Adobe, Inc. Generating a shoppable video
EP3314894B1 (en) * 2015-06-25 2024-03-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Refinement of a low-pel resolution motion estimation vector
US10764574B2 (en) * 2015-07-01 2020-09-01 Panasonic Intellectual Property Management Co., Ltd. Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
US10419512B2 (en) * 2015-07-27 2019-09-17 Samsung Display Co., Ltd. System and method of transmitting display data
WO2017023829A1 (en) * 2015-07-31 2017-02-09 Stc.Unm System and methods for joint and adaptive control of rate, quality, and computational complexity for video coding and video delivery
US10430031B2 (en) * 2015-08-30 2019-10-01 EVA Automation, Inc. Displaying HDMI content in a tiled window
US10743059B2 (en) * 2015-08-30 2020-08-11 EVA Automation, Inc. Displaying HDMI content at an arbitrary location
FR3040849A1 (fr) * 2015-09-04 2017-03-10 Stmicroelectronics (Grenoble 2) Sas Procede de compression d'un flux de donnees video
US9971791B2 (en) * 2015-09-16 2018-05-15 Adobe Systems Incorporated Method and apparatus for clustering product media files
CN108141595A (zh) 2015-09-23 2018-06-08 Lg 电子株式会社 图像编码/解码方法及其设备
WO2017057953A1 (ko) * 2015-09-30 2017-04-06 엘지전자 주식회사 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
US9998745B2 (en) * 2015-10-29 2018-06-12 Microsoft Technology Licensing, Llc Transforming video bit streams for parallel processing
WO2017073360A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
US10283094B1 (en) * 2015-11-09 2019-05-07 Marvell International Ltd. Run-length compression and decompression of media tiles
EP3166313A1 (en) 2015-11-09 2017-05-10 Thomson Licensing Encoding and decoding method and corresponding devices
WO2017083553A1 (en) * 2015-11-10 2017-05-18 Vid Scale, Inc. Systems and methods for coding in super-block based video coding framework
US20170155905A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Efficient intra video/image coding using wavelets and variable size transform coding
MX2018006642A (es) * 2015-12-14 2018-08-01 Panasonic Ip Corp America Metodo de codificacion de datos tridimencionales, metodos de decodificacion de datos tridimensionales, dispositivo de codificacion de datos tridimensionales y dispositivo de decodificacion de datos tridimensionales.
US20180359494A1 (en) * 2015-12-31 2018-12-13 Mediatek Inc. Method and apparatus of prediction binary tree structure for video and image coding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US10445862B1 (en) * 2016-01-25 2019-10-15 National Technology & Engineering Solutions Of Sandia, Llc Efficient track-before detect algorithm with minimal prior knowledge
KR20170096088A (ko) * 2016-02-15 2017-08-23 삼성전자주식회사 영상처리장치, 영상처리방법 및 이를 기록한 기록매체
CN116506601A (zh) * 2016-03-11 2023-07-28 数字洞察力有限公司 视频编码方法以及装置
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
US20170280139A1 (en) * 2016-03-22 2017-09-28 Qualcomm Incorporated Apparatus and methods for adaptive calculation of quantization parameters in display stream compression
EP3298786A1 (en) * 2016-04-15 2018-03-28 Magic Pony Technology Limited In-loop post filtering for video encoding and decoding
ES2853700T3 (es) 2016-04-15 2021-09-17 Magic Pony Tech Limited Compensación de movimiento utilizando interpolación de imagen temporal
US10574999B2 (en) * 2016-05-05 2020-02-25 Intel Corporation Method and system of video coding with a multi-pass prediction mode decision pipeline
JP2019514308A (ja) 2016-05-10 2019-05-30 サムスン エレクトロニクス カンパニー リミテッド 映像を符号化/復号する方法及びその装置
CN115118971A (zh) 2016-05-13 2022-09-27 Vid拓展公司 用于视频编码的通用式多假设预测的系统及方法
TWI689148B (zh) * 2016-05-17 2020-03-21 英屬開曼群島商鴻騰精密科技股份有限公司 電連接器組件
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
EP4224859A3 (en) * 2016-05-25 2023-09-20 ARRIS Enterprises LLC Binary ternary quad tree partitioning for jvet
WO2017205621A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc Jvet coding block structure with asymmetrical partitioning
CA3025334C (en) * 2016-05-25 2021-07-13 Arris Enterprises Llc Binary ternary quad tree partitioning for jvet coding of video data
US10284845B2 (en) 2016-05-25 2019-05-07 Arris Enterprises Llc JVET quadtree plus binary tree (QTBT) structure with multiple asymmetrical partitioning
WO2017205704A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc General block partitioning method
US10880548B2 (en) 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
KR102445668B1 (ko) * 2016-06-01 2022-09-21 삼성전자주식회사 부호화 순서 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US10743210B2 (en) * 2016-06-01 2020-08-11 Intel Corporation Using uplink buffer status to improve video stream adaptation control
US10657674B2 (en) 2016-06-17 2020-05-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
US10169362B2 (en) 2016-07-07 2019-01-01 Cross Commerce Media, Inc. High-density compression method and computing system
US11503305B2 (en) 2016-08-03 2022-11-15 Kt Corporation Method and apparatus for processing video signal
WO2018023554A1 (en) * 2016-08-04 2018-02-08 SZ DJI Technology Co., Ltd. System and methods for bit rate control
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
DK3381190T3 (da) * 2016-08-04 2021-08-16 Sz Dji Technology Co Ltd Parallel videokodning
WO2018030746A1 (ko) * 2016-08-08 2018-02-15 엘지전자(주) 영상의 처리 방법 및 이를 위한 장치
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
CN107872669B (zh) * 2016-09-27 2019-05-24 腾讯科技(深圳)有限公司 视频码率处理方法和装置
US10567775B2 (en) 2016-10-01 2020-02-18 Intel Corporation Method and system of hardware accelerated video coding with per-frame parameter control
KR20190053256A (ko) 2016-10-04 2019-05-17 김기백 영상 데이터 부호화/복호화 방법 및 장치
KR20200062365A (ko) * 2016-10-04 2020-06-03 김기백 영상 데이터 부호화/복호화 방법 및 장치
EP3306938A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for binary-tree split mode coding
EP3306927A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Encoding and decoding methods and corresponding devices
KR20180039323A (ko) 2016-10-10 2018-04-18 디지털인사이트 주식회사 다양한 블록 분할 구조를 결합하여 사용하는 비디오 코딩 방법 및 장치
US20180103271A1 (en) * 2016-10-10 2018-04-12 Qualcomm Incorporated Systems and methods for signaling missing or corrupted video data
US10187178B2 (en) * 2016-10-11 2019-01-22 Microsoft Technology Licensing, Llc Dynamically partitioning media streams
US10779004B2 (en) 2016-10-12 2020-09-15 Mediatek Inc. Methods and apparatuses of constrained multi-type-tree block partition for video coding
EP3513563A1 (en) * 2016-10-18 2019-07-24 Zhejiang Dahua Technology Co., Ltd Methods and systems for video processing
KR20180043151A (ko) 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
CN116567210A (zh) * 2016-10-19 2023-08-08 Sk电信有限公司 视频编码/解码设备和方法及非暂时性记录介质
CN106454355B (zh) * 2016-10-24 2019-03-01 西南科技大学 一种视频编码方法及装置
JPWO2018092868A1 (ja) 2016-11-21 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
JPWO2018092869A1 (ja) 2016-11-21 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US20190335197A1 (en) * 2016-11-22 2019-10-31 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored thereon
GB2556923B (en) * 2016-11-25 2020-04-15 Canon Kk Generation of VCA Reference results for VCA Auto-setting
CN117528105A (zh) * 2016-11-28 2024-02-06 英迪股份有限公司 图像编码方法、图像解码方法及用于传送比特流的方法
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US10631012B2 (en) * 2016-12-02 2020-04-21 Centurylink Intellectual Property Llc Method and system for implementing detection and visual enhancement of video encoding artifacts
US10397590B2 (en) * 2016-12-05 2019-08-27 Nice-Systems Ltd. System and method for enabling seek in a video recording
JP6565885B2 (ja) * 2016-12-06 2019-08-28 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
US11070801B2 (en) * 2016-12-16 2021-07-20 Sharp Kabushiki Kaisha Image coder/decoder restricting binary tree splitting of target node obtained by ternary tree split
WO2018117892A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd. An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes
RU2018131583A (ru) * 2016-12-26 2021-01-26 Нек Корпорейшн Способ кодирования видео, способ декодирования видео, устройство кодирования видео, устройство декодирования видео и программа
US10542293B2 (en) * 2016-12-26 2020-01-21 Nec Corporation Video encoding method, video decoding method, video encoding device, video decoding device, and program
US10542275B2 (en) * 2016-12-28 2020-01-21 Arris Enterprises Llc Video bitstream coding
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
TWI617181B (zh) * 2017-01-04 2018-03-01 晨星半導體股份有限公司 用於高效率視訊編碼裝置之排程方法
WO2018127418A1 (en) 2017-01-05 2018-07-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Block-based predictive coding and decoding of a picture
US10848788B2 (en) 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
EP3349454A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing Method and device for coding a block of video data, method and device for decoding a block of video data
KR102230877B1 (ko) * 2017-02-06 2021-03-22 후아웨이 테크놀러지 컴퍼니 리미티드 인코딩 방법 및 장치와, 디코딩 방법 및 장치
AU2018218182B2 (en) 2017-02-08 2022-12-15 Immersive Robotics Pty Ltd Antenna control for mobile device communication
US10362332B2 (en) * 2017-03-14 2019-07-23 Google Llc Multi-level compound prediction
US10820017B2 (en) * 2017-03-15 2020-10-27 Mediatek Inc. Method and apparatus of video coding
WO2018169571A1 (en) * 2017-03-15 2018-09-20 Google Llc Segmentation-based parameterized motion models
US11496747B2 (en) 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
US10904531B2 (en) * 2017-03-23 2021-01-26 Qualcomm Incorporated Adaptive parameters for coding of 360-degree video
CN108665410B (zh) * 2017-03-31 2021-11-26 杭州海康威视数字技术股份有限公司 一种图像超分辨率重构方法、装置及系统
US11551067B2 (en) * 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
CN112153029A (zh) 2017-04-21 2020-12-29 泽尼马克斯媒体公司 基于编码器提示的渲染和预编码负载估计的系统和方法
TWI681669B (zh) 2017-04-21 2020-01-01 美商時美媒體公司 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法
EP3612978A4 (en) 2017-04-21 2020-06-03 Zenimax Media Inc. SYSTEMS AND METHODS FOR ENABLING ENCODER-GUIDED QUALITY RENDERING
EP3613015A4 (en) 2017-04-21 2021-02-24 Zenimax Media Inc. SYSTEMS AND PROCEDURES FOR TOY GENERATED MOTION VECTORS
JP7077396B2 (ja) 2017-04-21 2022-05-30 ゼニマックス メディア インク. ビデオエンコードの延期されたポストプロセスのためのシステムおよび方法
US10979728B2 (en) * 2017-04-24 2021-04-13 Intel Corporation Intelligent video frame grouping based on predicted performance
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
CN110999287A (zh) 2017-06-05 2020-04-10 因默希弗机器人私人有限公司 数字内容流压缩
KR102315524B1 (ko) * 2017-06-16 2021-10-21 한화테크윈 주식회사 영상의 비트레이트 조절 방법 및 영상 획득 장치
CN107222751B (zh) * 2017-06-23 2019-05-10 宁波大学科学技术学院 基于多视点视频特征的3d-hevc深度视频信息隐藏方法
WO2019002215A1 (en) * 2017-06-26 2019-01-03 Interdigital Vc Holdings, Inc. MULTIPLE PREDICTION CANDIDATES FOR MOTION COMPENSATION
CN109151468B (zh) * 2017-06-28 2020-12-08 华为技术有限公司 一种图像数据的编码、解码方法及装置
US11032545B2 (en) 2017-06-29 2021-06-08 Qualcomm Incorporated Reducing seam artifacts in 360-degree video
CN109218748B (zh) * 2017-06-30 2020-11-27 京东方科技集团股份有限公司 视频传输方法、装置及计算机可读存储介质
CN107360419B (zh) * 2017-07-18 2019-09-24 成都图必优科技有限公司 一种基于透视模型的运动前视视频帧间预测编码方法
KR102484387B1 (ko) 2017-07-19 2023-01-03 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
CN107483949A (zh) * 2017-07-26 2017-12-15 千目聚云数码科技(上海)有限公司 增加svac svc实用性的方法及系统
CN107295334B (zh) * 2017-08-15 2019-12-03 电子科技大学 自适应的参考图像抉择方法
CN107483960B (zh) * 2017-09-15 2020-06-02 信阳师范学院 一种基于空间预测的运动补偿帧率上转换方法
US10645408B2 (en) * 2017-09-17 2020-05-05 Google Llc Dual deblocking filter thresholds
EP3457695A1 (en) 2017-09-18 2019-03-20 Thomson Licensing Method and apparatus for motion vector predictor adaptation for omnidirectional video
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
CA3061701A1 (en) * 2017-09-28 2019-10-28 Lg Electronics Inc. Image decoding method and device in accordance with block split structure in image coding system
US10623744B2 (en) * 2017-10-04 2020-04-14 Apple Inc. Scene based rate control for video compression and video streaming
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
WO2019100108A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Image compression for digital reality
WO2019100109A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Frequency component selection for image compression
WO2019104862A1 (en) 2017-11-30 2019-06-06 SZ DJI Technology Co., Ltd. System and method for reducing video coding fluctuation
EP3695600A4 (en) 2017-11-30 2020-08-19 SZ DJI Technology Co., Ltd. SYSTEM AND METHOD FOR CONTROLLING VIDEO ENCODING IN A FRAME OF IMAGE
CN111164972A (zh) 2017-11-30 2020-05-15 深圳市大疆创新科技有限公司 用于在帧级别控制视频编码的系统和方法
CN109949217B (zh) * 2017-12-20 2023-04-11 四川大学 基于残差学习和隐式运动补偿的视频超分辨率重建方法
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
KR101975404B1 (ko) * 2017-12-27 2019-08-28 세종대학교산학협력단 절차적 콘텐츠 생성장치 및 방법
TWI680675B (zh) * 2017-12-29 2019-12-21 聯發科技股份有限公司 影像處理裝置與相關的影像處理方法
EP3744102A1 (en) 2018-01-24 2020-12-02 Vid Scale, Inc. Generalized bi-prediction for video coding with reduced coding complexity
KR102465206B1 (ko) * 2018-01-26 2022-11-09 삼성전자주식회사 이미지 처리 장치
US11095876B2 (en) * 2018-01-26 2021-08-17 Samsung Electronics Co., Ltd. Image processing device
EP4221201A1 (en) 2018-01-29 2023-08-02 InterDigital VC Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
CN111989926B (zh) * 2018-02-26 2024-05-07 交互数字Vc控股公司 用于通用obmc的方法和装置
US11004178B2 (en) 2018-03-01 2021-05-11 Nvidia Corporation Enhancing high-resolution images with data from low-resolution images
WO2019167673A1 (ja) * 2018-03-01 2019-09-06 ソニー株式会社 画像処理装置および方法、撮像素子、並びに、撮像装置
US10432962B1 (en) * 2018-03-13 2019-10-01 Pixelworks, Inc. Accuracy and local smoothness of motion vector fields using motion-model fitting
CN110309328B (zh) * 2018-03-14 2022-03-25 深圳云天励飞技术有限公司 数据存储方法、装置、电子设备及存储介质
JP7005763B2 (ja) 2018-03-22 2022-01-24 グーグル エルエルシー オンラインインタラクティブゲーミングセッションのコンテンツをレンダリングおよび符号化するための方法およびシステム
CN108449599B (zh) * 2018-03-23 2021-05-18 安徽大学 一种基于面透射变换的视频编码与解码方法
EP3766247A4 (en) * 2018-04-02 2022-01-19 MediaTek Inc. VIDEO PROCESSING METHODS AND APPARATUS FOR SUBBLOCK MOTION COMPENSATION IN VIDEO CODING SYSTEMS
EP3740292A2 (en) 2018-04-02 2020-11-25 Google LLC Input device for an electronic system
KR20230017925A (ko) 2018-04-02 2023-02-06 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
KR102614649B1 (ko) 2018-04-10 2023-12-14 구글 엘엘씨 게이밍 렌더링에서의 메모리 관리
US10491897B2 (en) * 2018-04-13 2019-11-26 Google Llc Spatially adaptive quantization-aware deblocking filter
US10798382B2 (en) * 2018-04-26 2020-10-06 Tencent America LLC Sub-block transform
EP3562162A1 (en) 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on neural network implementation of cabac
SG11202010696UA (en) * 2018-05-29 2020-11-27 Interdigital Vc Holdings Inc Method and apparatus for video encoding and decoding with partially shared luma and chroma coding trees
TWI746994B (zh) * 2018-06-19 2021-11-21 大陸商北京字節跳動網絡技術有限公司 用於不同參考列表的不同精確度
CN108848380B (zh) * 2018-06-20 2021-11-30 腾讯科技(深圳)有限公司 视频编码和解码方法、装置、计算机设备及存储介质
US10602147B2 (en) * 2018-07-10 2020-03-24 Samsung Display Co., Ltd. Efficient entropy coding group grouping methodology for transform mode
US11039315B2 (en) 2018-08-01 2021-06-15 At&T Intellectual Property I, L.P. On-demand super slice instantiation and orchestration
CN112585975A (zh) * 2018-08-20 2021-03-30 日本放送协会 编码装置、解码装置以及程序
CN115250350B (zh) * 2018-09-03 2024-04-09 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
US10863179B1 (en) * 2018-09-05 2020-12-08 Amazon Technologies, Inc. Overlapped rate control for high-quality segmented video encoding
US11665365B2 (en) * 2018-09-14 2023-05-30 Google Llc Motion prediction coding with coframe motion vectors
TWI815967B (zh) 2018-09-19 2023-09-21 大陸商北京字節跳動網絡技術有限公司 仿射模式編解碼的模式相關自適應調整運動矢量分辨率
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
US11606569B2 (en) * 2018-09-25 2023-03-14 Apple Inc. Extending supported components for encoding image data
US10893281B2 (en) 2018-10-12 2021-01-12 International Business Machines Corporation Compression of a video stream having frames with relatively heightened quality parameters on blocks on an identified point of interest (PoI)
US10764589B2 (en) * 2018-10-18 2020-09-01 Trisys Co., Ltd. Method and module for processing image data
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
WO2020084476A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
CN109640082B (zh) * 2018-10-26 2021-02-12 浙江鼎越电子有限公司 音视频多媒体数据处理方法及其设备
US11412260B2 (en) * 2018-10-29 2022-08-09 Google Llc Geometric transforms for image compression
US10939102B2 (en) * 2018-11-01 2021-03-02 Mediatek Inc. Post processing apparatus with super-resolution filter and loop restoration filter in block-level pipeline and associated post processing method
CN117459722A (zh) 2018-11-12 2024-01-26 北京字节跳动网络技术有限公司 组合帧间-帧内预测的简化
EP3807766B1 (en) 2018-11-16 2021-10-27 Google LLC Shadow tracking of real-time interactive simulations for complex system analysis
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
WO2020103870A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
WO2020103936A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Pruning method for inter prediction with geometry partition
US11184633B2 (en) 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction
JP7040422B2 (ja) * 2018-11-28 2022-03-23 日本電信電話株式会社 動きベクトル生成装置、投影像生成装置、動きベクトル生成方法、およびプログラム
US11025947B2 (en) * 2018-11-29 2021-06-01 Mediatek Inc. Method and apparatus for generating motion field motion vectors for blocks of current frame in on-the-fly manner
US10855988B2 (en) 2018-12-19 2020-12-01 Qualcomm Incorporated Adaptive prediction structures
US10645386B1 (en) * 2019-01-03 2020-05-05 Sony Corporation Embedded codec circuitry for multiple reconstruction points based quantization
JP7235877B2 (ja) 2019-01-31 2023-03-08 北京字節跳動網絡技術有限公司 アフィンモード適応型動きベクトル解像度を符号化するためのコンテキスト
US10778972B1 (en) * 2019-02-27 2020-09-15 Google Llc Adaptive filter intra prediction modes in image/video compression
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
JP7252016B2 (ja) * 2019-03-13 2023-04-04 日本放送協会 動画像符号化装置、動画像復号装置及びプログラム
CN113574880B (zh) * 2019-03-13 2023-04-07 北京字节跳动网络技术有限公司 关于子块变换模式的分割
US10924625B2 (en) * 2019-03-20 2021-02-16 Xerox Corporation Dynamic compression acceleration using real-time image data entropy analysis
WO2020190297A1 (en) * 2019-03-21 2020-09-24 Google Llc Using rate distortion cost as a loss function for deep learning
US11310496B2 (en) * 2019-03-27 2022-04-19 Ati Technologies Ulc Determining quality values for blocks of encoded video
EP3922014A4 (en) 2019-04-02 2022-04-06 Beijing Bytedance Network Technology Co., Ltd. DECODER SIDE MOTION VECTOR BYPASS
CN111901593B (zh) * 2019-05-04 2024-01-02 华为技术有限公司 一种图像划分方法、装置及设备
US11223838B2 (en) * 2019-05-26 2022-01-11 Alibaba Group Holding Limited AI-assisted programmable hardware video codec
US10949982B1 (en) * 2019-06-21 2021-03-16 Amazon Technologies, Inc. Moving object recognition, speed estimation, and tagging
KR20220024659A (ko) 2019-06-24 2022-03-03 알리바바 그룹 홀딩 리미티드 비디오 처리에서의 적응적 해상도 변경
CN110339567B (zh) * 2019-07-17 2023-05-26 三星电子(中国)研发中心 系统资源配置、场景预测模型训练方法和装置
WO2021026363A1 (en) * 2019-08-06 2021-02-11 Op Solutions, Llc Implicit signaling of adaptive resolution management based on frame type
CN114616826A (zh) 2019-08-06 2022-06-10 Op方案有限责任公司 基于帧类型的自适应分辨率管理的隐式标识
CN114503581A (zh) 2019-08-06 2022-05-13 Op方案有限责任公司 基于块的自适应分辨率管理
MX2022001592A (es) 2019-08-06 2022-03-11 Op Solutions Llc Método de gestión de resolución adaptativa para reajuste de predicción.
GB2586516B (en) * 2019-08-23 2022-07-06 Imagination Tech Ltd Random accessible image data compression
CN112449140B (zh) * 2019-08-29 2021-09-14 华为技术有限公司 视频超分辨率处理方法及装置
US20220360781A1 (en) * 2019-09-23 2022-11-10 Interdigital Vc Holdings France, Sas Video encoding and decoding using block area based quantization matrices
CN112702603A (zh) * 2019-10-22 2021-04-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
EP3820138A1 (en) * 2019-11-06 2021-05-12 Koninklijke Philips N.V. A system for performing image motion compensation
CA3223625A1 (en) 2019-11-08 2021-05-14 Op Solutions, Llc Methods and systems for adaptive cropping
US11843772B2 (en) * 2019-12-06 2023-12-12 Ati Technologies Ulc Video encode pre-analysis bit budgeting based on context and features
US11308093B1 (en) * 2019-12-13 2022-04-19 Amazon Technologies, Inc. Encoding scheme for numeric-like data types
CN111814844B (zh) * 2020-03-17 2023-07-11 同济大学 一种基于位置编码融合的密集型视频描述方法
EP3902244B1 (en) * 2020-04-23 2022-03-23 Axis AB Controlling a pan-tilt-zoom camera
CN111757107B (zh) 2020-06-29 2024-03-05 北京百度网讯科技有限公司 一种视频编码方法、装置、设备及介质
US11790533B2 (en) * 2020-07-02 2023-10-17 Sony Group Corporation Machine learning based image segmentation training with contour accuracy evaluation
US11388413B1 (en) 2020-08-03 2022-07-12 Meta Platforms, Inc. Fast encoding parameter selection for convex hull video encoding
US11436699B1 (en) * 2020-08-03 2022-09-06 Meta Platforms, Inc. Predicting encoding parameters for convex hull video encoding
US20210144377A1 (en) * 2020-11-19 2021-05-13 Intel Corporation Method and system of video coding with content adaptive quantization
CN114630120B (zh) * 2020-12-14 2024-03-29 瑞昱半导体股份有限公司 基于自适应压缩率的视频压缩方法与电路系统
US11363262B1 (en) * 2020-12-14 2022-06-14 Google Llc Adaptive GOP structure using temporal dependencies likelihood
KR20220090887A (ko) * 2020-12-23 2022-06-30 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 장치의 동작 방법
WO2022174118A1 (en) * 2021-02-13 2022-08-18 Meta Platforms, Inc. Video coding efficiency improvement using dynamic frame boost scaling
US20220264111A1 (en) * 2021-02-13 2022-08-18 Meta Platforms, Inc. Video coding efficiency improvement using dynamic frame boost scaling
US11638025B2 (en) 2021-03-19 2023-04-25 Qualcomm Incorporated Multi-scale optical flow for learned video compression
US11523117B2 (en) * 2021-03-22 2022-12-06 Realtek Semiconductor Corp. Encoder using coding tree unit level adaptive quantization mode to adjust frame level quantization parameter and associated signal processing method
US11871061B1 (en) 2021-03-31 2024-01-09 Amazon Technologies, Inc. Automated adaptive bitrate encoding
KR102562380B1 (ko) * 2021-10-18 2023-08-02 (주)카이미디어 8k 스케일러블 비디오 부호화 방법
US11991424B2 (en) * 2021-11-05 2024-05-21 Tencent America LLC Immersive media data complexity analyzer for transformation of asset formats
CN115002482B (zh) * 2022-04-27 2024-04-16 电子科技大学 使用结构性保持运动估计的端到端视频压缩方法及系统
WO2023219600A1 (en) * 2022-05-07 2023-11-16 Google Llc Motion vector coding using a motion vector precision
US20230412812A1 (en) * 2022-06-15 2023-12-21 Tencent America LLC Systems and methods for joint signaling of transform coefficient signs
US20240080483A1 (en) * 2022-08-26 2024-03-07 Tencent America LLC Systems and methods for warp sample selection and grouping
CN115272083B (zh) * 2022-09-27 2022-12-02 中国人民解放军国防科技大学 一种图像超分辨率方法、装置、设备及介质

Family Cites Families (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0151011B1 (ko) 1994-11-30 1998-10-01 김광호 바이폴라 트랜지스터 및 그 제조방법
US6542547B1 (en) * 1995-05-30 2003-04-01 Texas Instruments Incorporated Efficient heuristic based motion estimation method for video compression
US5864711A (en) 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US5729691A (en) * 1995-09-29 1998-03-17 Intel Corporation Two-stage transform for video signals
US6160846A (en) 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
EP0799550B1 (en) 1995-10-25 2000-08-09 Koninklijke Philips Electronics N.V. Segmented picture coding method and system, and corresponding decoding method and system
JP3743837B2 (ja) * 1996-06-14 2006-02-08 株式会社大宇エレクトロニクス ランレングス符号器
US5953506A (en) 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US6850567B1 (en) * 1997-01-13 2005-02-01 Koninklijke Philips Electronics N.V. Embedding supplemental data in a digital video signal
US6208693B1 (en) * 1997-02-14 2001-03-27 At&T Corp Chroma-key for efficient and low complexity shape representation of coded arbitrary video objects
JP3843581B2 (ja) * 1998-03-05 2006-11-08 富士ゼロックス株式会社 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
US6895051B2 (en) 1998-10-15 2005-05-17 Nokia Mobile Phones Limited Video data encoder and decoder
US6223162B1 (en) * 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US7065253B2 (en) 1999-09-03 2006-06-20 Intel Corporation Wavelet zerotree coding of ordered bits
TW589870B (en) 2000-12-19 2004-06-01 Pts Corp Adaptive transforms
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
EP2271111B1 (en) 2001-11-06 2016-08-10 Panasonic Intellectual Property Corporation of America Moving picture coding method and moving picture decoding method
US7453936B2 (en) * 2001-11-09 2008-11-18 Sony Corporation Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system
GB2382940A (en) * 2001-11-27 2003-06-11 Nokia Corp Encoding objects and background blocks
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
CN100452883C (zh) * 2001-12-17 2009-01-14 微软公司 处理视频图像的方法
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
CN101232618B (zh) 2002-04-23 2013-03-27 诺基亚有限公司 用于在视频编码系统中指示量化器参数的方法与设备
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
JP4767992B2 (ja) * 2002-06-06 2011-09-07 パナソニック株式会社 可変長符号化方法および可変長復号化方法
US7729563B2 (en) 2002-08-28 2010-06-01 Fujifilm Corporation Method and device for video image processing, calculating the similarity between video frames, and acquiring a synthesized frame by synthesizing a plurality of contiguous sampled frames
JP3997171B2 (ja) 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
JP2004007778A (ja) * 2003-07-14 2004-01-08 Victor Co Of Japan Ltd 動き補償復号化方法
US20050094729A1 (en) 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
CN1332563C (zh) * 2003-12-31 2007-08-15 中国科学院计算技术研究所 一种视频图像跳过宏块的编码方法
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
EP1571850A3 (en) * 2004-03-05 2006-12-13 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding image containing grayscale alpha channel image
KR100654431B1 (ko) * 2004-03-08 2006-12-06 삼성전자주식회사 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
US7461525B2 (en) * 2004-03-13 2008-12-09 Wilson Rodney W Tile sponge washing and conditioning apparatus
JP2005301457A (ja) * 2004-04-07 2005-10-27 Fuji Xerox Co Ltd 画像処理装置、プログラムおよび記録媒体
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
KR100909541B1 (ko) * 2004-06-27 2009-07-27 애플 인크. 멀티-패스 비디오 인코딩 방법
KR100664932B1 (ko) 2004-10-21 2007-01-04 삼성전자주식회사 비디오 코딩 방법 및 장치
EP1675402A1 (en) 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
JP2006270301A (ja) * 2005-03-23 2006-10-05 Nippon Hoso Kyokai <Nhk> シーンチェンジ検出装置およびシーンチェンジ検出プログラム
KR100703773B1 (ko) 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
WO2006109974A1 (en) 2005-04-13 2006-10-19 Samsung Electronics Co., Ltd. Method for entropy coding and decoding having improved coding efficiency and apparatus for providing the same
US7397933B2 (en) 2005-05-27 2008-07-08 Microsoft Corporation Collusion resistant desynchronization for digital video fingerprinting
US8064516B2 (en) * 2005-06-02 2011-11-22 Broadcom Corporation Text recognition during video compression
KR20070006445A (ko) * 2005-07-08 2007-01-11 삼성전자주식회사 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
CN101263513A (zh) 2005-07-15 2008-09-10 德克萨斯仪器股份有限公司 过滤和扭曲的运动补偿
WO2007011851A2 (en) * 2005-07-15 2007-01-25 Texas Instruments Incorporated Filtered and warped motion compensation
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
WO2008023968A1 (en) 2006-08-25 2008-02-28 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
CN101507280B (zh) 2006-08-25 2012-12-26 汤姆逊许可公司 用于降低分辨率划分的方法和装置
US20080075173A1 (en) * 2006-09-22 2008-03-27 Texas Instruments Incorporated Systems and Methods for Context Adaptive Video Data Preparation
US20100040146A1 (en) 2006-09-22 2010-02-18 Beibei Wang Method and apparatus for multiple pass video coding and decoding
CN105430399A (zh) 2006-11-08 2016-03-23 汤姆逊许可证公司 用于环内去伪影滤波的方法和设备
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
WO2009045683A1 (en) * 2007-09-28 2009-04-09 Athanasios Leontaris Video compression and tranmission techniques
US20090135901A1 (en) * 2007-11-28 2009-05-28 The Hong Kong University Of Science And Technology Complexity adaptive video encoding using multiple reference frames
US8149915B1 (en) 2007-11-29 2012-04-03 Lsi Corporation Refinement of motion vectors in hierarchical motion estimation
US20090154567A1 (en) 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
JP5203717B2 (ja) 2007-12-19 2013-06-05 パナソニック株式会社 符号器、復号器、符号化方法、及び、復号方法
JP4309453B2 (ja) 2007-12-26 2009-08-05 株式会社東芝 補間フレーム生成装置、補間フレーム生成方法及び放送受信装置
US20090167775A1 (en) 2007-12-30 2009-07-02 Ning Lu Motion estimation compatible with multiple standards
US8126054B2 (en) 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
CN101272494B (zh) * 2008-01-25 2011-06-08 浙江大学 利用合成参考帧的视频编解码方法及装置
US8798137B2 (en) * 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
US8254469B2 (en) 2008-05-07 2012-08-28 Kiu Sha Management Liability Company Error concealment for frame loss in multiple description coding
CN102037730B (zh) * 2008-05-22 2013-06-12 爱立信电话股份有限公司 内容自适应视频编码器和编码方法
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
TWI359617B (en) 2008-07-03 2012-03-01 Univ Nat Taiwan Low-complexity and high-quality error concealment
US8625681B2 (en) * 2008-07-09 2014-01-07 Intel Corporation Rate-distortion cost reducing video encoding techniques
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101441903B1 (ko) 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP4427600B1 (ja) 2008-11-28 2010-03-10 株式会社東芝 映像解析装置およびプログラム
US8774559B2 (en) * 2009-01-19 2014-07-08 Sharp Laboratories Of America, Inc. Stereoscopic dynamic range image sequence
TWI498003B (zh) 2009-02-02 2015-08-21 Thomson Licensing 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
EP2271102A1 (en) 2009-06-29 2011-01-05 Thomson Licensing Adaptive residual image coding
CN102474269A (zh) 2009-08-06 2012-05-23 松下电器产业株式会社 编码方法、解码方法、编码装置及解码装置
US8379718B2 (en) 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
US8711938B2 (en) * 2009-09-04 2014-04-29 Sharp Laboratories Of America, Inc. Methods and systems for motion estimation with nonlinear motion-field smoothing
JP2011066844A (ja) * 2009-09-18 2011-03-31 Toshiba Corp 並列復号装置及びプログラム並びに符号化データの並列復号方法
WO2011039931A1 (ja) 2009-09-30 2011-04-07 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
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
JP5791618B2 (ja) * 2009-10-29 2015-10-07 ベステル エレクトロニク サナイー ベ ティカレト エー.エス. ビデオ・シーケンスを処理する方法及び装置
US20110109721A1 (en) 2009-11-06 2011-05-12 Sony Corporation Dynamic reference frame reordering for frame sequential stereoscopic video encoding
US9473792B2 (en) 2009-11-06 2016-10-18 Texas Instruments Incorporated Method and system to improve the performance of a video encoder
KR20120086232A (ko) 2011-01-25 2012-08-02 (주)휴맥스 율-왜곡 최적화를 위한 영상 부호화/복호화 방법 및 이를 수행하는 장치
US9819358B2 (en) 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US8559511B2 (en) 2010-03-30 2013-10-15 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for video coding by ABT-based just noticeable difference model
WO2011120221A1 (en) * 2010-03-31 2011-10-06 Intel Corporation Power efficient motion estimation techniques for video encoding
JP5377395B2 (ja) 2010-04-02 2013-12-25 日本放送協会 符号化装置、復号装置及びプログラム
KR20110112168A (ko) 2010-04-05 2011-10-12 삼성전자주식회사 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치
JP5393573B2 (ja) * 2010-04-08 2014-01-22 株式会社Nttドコモ 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法、動画像予測符号化プログラム、及び動画像予測復号プログラム
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
RS64605B1 (sr) * 2010-04-13 2023-10-31 Ge Video Compression Llc Kodiranje videa primenom podele sa više stabala na slikama
EP2559238B1 (en) 2010-04-13 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive image filtering method and apparatus
HUE037656T2 (hu) * 2010-04-13 2018-09-28 Fraunhofer Ges Forschung Valószínûség intervallum partícionáló kódoló és dekódoló
US20110255594A1 (en) * 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
KR101444691B1 (ko) 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
CN102907092B (zh) 2010-05-26 2017-02-15 高通股份有限公司 相机参数辅助式视频帧速率上转换
KR20110135787A (ko) 2010-06-11 2011-12-19 삼성전자주식회사 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
WO2011158225A1 (en) * 2010-06-17 2011-12-22 Mirtemis Ltd. System and method for enhancing images
US8934540B2 (en) * 2010-07-20 2015-01-13 Cisco Technology, Inc. Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks
JP5500665B2 (ja) * 2010-08-26 2014-05-21 フリースケール セミコンダクター インコーポレイテッド ビデオ処理システムおよびビデオデータの並列処理のための方法
EP3849194B1 (en) 2010-09-27 2022-08-03 LG Electronics, Inc. Method for partitioning block and decoding device
JP2012080213A (ja) 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US8885704B2 (en) 2010-10-01 2014-11-11 Qualcomm Incorporated Coding prediction modes in video coding
US8902988B2 (en) 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US9628821B2 (en) * 2010-10-01 2017-04-18 Apple Inc. Motion compensation using decoder-defined vector quantized interpolation filters
WO2012047304A1 (en) * 2010-10-04 2012-04-12 Vidyo, Inc. Delay aware rate control in the context of hierarchical p picture coding
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US20120269275A1 (en) * 2010-10-20 2012-10-25 Nokia Corporation Method and device for video coding and decoding
US8873627B2 (en) * 2010-12-07 2014-10-28 Mediatek Inc Method and apparatus of video coding using picture structure with low-delay hierarchical B group
US9462280B2 (en) 2010-12-21 2016-10-04 Intel Corporation Content adaptive quality restoration filtering for high efficiency video coding
US8761245B2 (en) * 2010-12-21 2014-06-24 Intel Corporation Content adaptive motion compensation filtering for high efficiency video coding
CN102572419B (zh) * 2010-12-28 2014-09-03 深圳市云宙多媒体技术有限公司 一种帧间预测方法、装置
BR112013017490A2 (pt) 2011-01-07 2017-10-24 Samsung Electronics Co Ltd método de previsão de vídeo, aparelho de previsão de vídeo, e mídia de gravação legível por computador
JP5988252B2 (ja) * 2011-01-12 2016-09-07 サン パテント トラスト 複数の参照ピクチャを用いた、動画像符号化方法、動画像復号方法、動画像符号化装置、及び、動画像復号装置
US9602819B2 (en) * 2011-01-31 2017-03-21 Apple Inc. Display quality in a variable resolution video coder/decoder system
US8953690B2 (en) * 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
GB2488159B (en) * 2011-02-18 2017-08-16 Advanced Risc Mach Ltd Parallel video decoding
JP2012186763A (ja) * 2011-03-08 2012-09-27 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US9848197B2 (en) * 2011-03-10 2017-12-19 Qualcomm Incorporated Transforms in video coding
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
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
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
US8494290B2 (en) 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
US8989270B2 (en) * 2011-06-23 2015-03-24 Apple Inc. Optimized search for reference frames in predictive video coding system
NO335667B1 (no) 2011-06-29 2015-01-19 Cisco Systems Int Sarl Metode for videokomprimering
WO2013003791A1 (en) 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during inter coding
CN104980746B (zh) * 2011-07-01 2018-07-31 三星电子株式会社 用于使用分层数据单元进行编码和解码的方法和设备
KR101362696B1 (ko) 2011-10-19 2014-02-17 전북대학교산학협력단 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체
KR20130045425A (ko) 2011-10-25 2013-05-06 (주)케이테크 소셜 온톨로지 기반 지식 전문가 추천방법
US10452743B2 (en) 2011-11-07 2019-10-22 Vid Scale, Inc. Video and data processing using even-odd integer transforms
US20130223524A1 (en) * 2012-02-29 2013-08-29 Microsoft Corporation Dynamic insertion of synchronization predicted video frames
US9912944B2 (en) * 2012-04-16 2018-03-06 Qualcomm Incorporated Simplified non-square quadtree transforms for video coding
KR101327078B1 (ko) * 2012-04-27 2013-11-07 엘지이노텍 주식회사 카메라 및 이의 영상 처리 방법
JP6055555B2 (ja) * 2012-11-13 2016-12-27 インテル コーポレイション 次世代ビデオのためのビデオコーデックアーキテクチャ
EP2920962A4 (en) 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135663A3 (ko) * 2016-02-01 2017-09-28 엘지전자 주식회사 행 -열 변환 (row- column transform)을 이용하여 변환을 수행하는 방법 및 장치
WO2018139729A1 (ko) * 2017-01-26 2018-08-02 삼성전자 주식회사 적응적 영상 변환 방법 및 장치
WO2018143687A1 (ko) * 2017-02-01 2018-08-09 엘지전자(주) 행-열 변환을 이용하여 변환을 수행하는 방법 및 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
KR20150090206A (ko) 차세대 비디오를 위한 코딩을 위한 콘텐츠 적응적 파라메트릭 변환
US10771809B2 (en) Picture prediction method and picture prediction apparatus
JP6055555B2 (ja) 次世代ビデオのためのビデオコーデックアーキテクチャ
US9819965B2 (en) Content adaptive transform coding for next generation video
US20170155905A1 (en) Efficient intra video/image coding using wavelets and variable size transform coding
US20240187638A1 (en) Picture prediction method and picture prediction apparatus

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment