KR101028955B1 - 디지털 미디어 컨텐츠를 변환 코딩/디코딩하기 위한 방법및 컴퓨터 판독가능 프로그램 저장 매체 - Google Patents

디지털 미디어 컨텐츠를 변환 코딩/디코딩하기 위한 방법및 컴퓨터 판독가능 프로그램 저장 매체 Download PDF

Info

Publication number
KR101028955B1
KR101028955B1 KR1020067001560A KR20067001560A KR101028955B1 KR 101028955 B1 KR101028955 B1 KR 101028955B1 KR 1020067001560 A KR1020067001560 A KR 1020067001560A KR 20067001560 A KR20067001560 A KR 20067001560A KR 101028955 B1 KR101028955 B1 KR 101028955B1
Authority
KR
South Korea
Prior art keywords
overlap
filter
frame
macroblock
transform
Prior art date
Application number
KR1020067001560A
Other languages
English (en)
Other versions
KR20060131719A (ko
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 KR20060131719A publication Critical patent/KR20060131719A/ko
Application granted granted Critical
Publication of KR101028955B1 publication Critical patent/KR101028955B1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display 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/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/146Data rate or code amount at the encoder output
    • 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/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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display 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/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/18Methods 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 set of transform coefficients
    • 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/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/93Run-length 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
    • 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

Abstract

디지털 미디어 컨텐츠(예를 들어, 이미지, 비디오, 오디오 등) 인코더/디코더는 공간-도메인 랩 변환을 위해 공간 변화 파라미터를 이용하여 인접한 변환 블럭 에지들에의 오버랩 전처리 및 후처리의 적용에 조건을 붙인다. 디지털 미디어의 서브블럭에 대한 랩 변환의 이러한 조건부 적용은 에지, 블럭, 매크로블럭 또는 기타 입도로 시그널링될 수 있다. 또한, 프레임-레벨 양자화 또는 기타 비트율 관련 파라미터에 기초하여 조건부 랩 변환의 사용에 대해 제약하는 것은 낮은 비트율의 코딩에서 시그널링 오버헤드 영향을 최소화한다.
랩 변환, 오버랩 필터, 블럭 에지, 조건부 오버랩

Description

디지털 미디어 컨텐츠를 변환 코딩/디코딩하기 위한 방법 및 컴퓨터 판독가능 프로그램 저장 매체{CONDITIONAL LAPPED TRANSFORM}
본 발명은 미디어 컨텐츠 신호(예를 들어, 오디오, 비디오, 이미지, 텍스트, 음성 등)를 디지털적으로 인코딩, 디코딩 및 프로세싱하기 위한 기술에 관한 것이다. 본 발명은 보다 상세하게는 랩 변환(lapped transform)에 기초한 디지털 미디어 코덱에 관한 것이다.
변환 코딩은 여러 오디오, 이미지 및 비디오 압축 시스템에서 사용된 압축 기술이다. 비압축 디지털 이미지 및 비디오는 전형적으로 2차원 그리드에 배열된 이미지 또는 비디오 프레임의 위치에서의 픽처 구성요소 또는 색상의 샘플로서 표현 또는 캡쳐된다. 예를 들어, 이미지에 대한 전형적인 포맷은 그리드로서 배열된 24-비트 색상 픽처 구성요소 샘플의 스트림으로 구성된다. 각 샘플은 특히 RGB 또는 YIQ와 같은 색상 공간 내의 그리드의 픽셀 위치에 있는 색상 컴포넌트를 나타내는 수이다. 다양한 이미지 및 비디오 시스템은 샘플링의 다양한 상이한 색상, 공간 및 시간 해상도를 사용할 수 있다.
비압축 디지털 이미지 및 비디오 신호는 상당한 저장 및 전송 용량을 소비할 수 있다. 변환 코딩은 신호의 공간-도메인 표현을 주파수-도메인(또는 변환 도메 인과 같은 기타 도메인) 표현으로 변환하고, 그 후 변환-도메인 표현의 일반적으로 덜 인지가능한 특정 주파수 성분의 해상도를 감소시킴으로써, 디지털 이미지 및 비디오의 크기를 감소시킨다. 이것은 일반적으로 공간 도메인에서 이미지 또는 비디오의 색상 또는 공간 해상도를 감소시키는 것에 비해 디지털 신호의 열화를 훨씬 덜 인지하게 된다.
보다 상세하게, 도 1에 도시된 전형적인 변환 코딩 기술(100)은 비압축 디지털 이미지의 픽셀을 고정-크기 2차원 블럭으로 나누고, 각 블럭이 다른 블럭들과 오버랩하는 것이 가능하다. 공간-주파수 분석을 하는 선형 변환(110)이 각 블럭에 적용되고, 그것은 블럭 내의 이격된 샘플(spaced sample)을 일반적으로 블럭 간격에 대한 대응하는 주파수 대역에서의 디지털 신호의 강도를 나타내는 주파수(또는 변환) 계수들의 집합으로 변환한다. 압축을 위해, 변환 계수는 선택적으로 양자화될 수 있고(즉, 예를 들어, 계수 값의 최하위 비트를 드롭함으로써, 또는 고해상도 숫자의 값을 저해상도에 맵핑함으로써, 해상도에서 감소될 수 있음), 또한 엔트로피 또는 가변 길이가 양자화기/엔트로피 코더(120)에 의해 압축 데이터 스트림으로 코딩될 수 있다. 역양자화/엔트로피 디코딩(130) 후에, 색상/공간 샘플링된 본래의 이미지/비디오 신호를 거의 재구성하기 위하여 변환 계수가 역으로 변환(140)될 것이다.
스틸 이미지(또는 비디오 시퀀스의 인트라-코딩된 프레임)를 압축하는 동안, MPEG-2, MPEG-4 및 윈도우즈 미디어와 같은 대부분의 일반적인 표준은 이미지를 사각 타일로 분할하고, 블럭 변환을 각 이미지 타일에 적용한다. 주어진 분할(일반 적으로 블럭이라고 알려짐)의 변환 계수들은 단지 블럭 내의 미가공 데이터 컴포넌트(raw data component)에 의해서만 영향받는다. 양자화와 같이 인코더 측에서의 불가역성 동작 또는 손실 동작은 인공물이 디코딩된 이미지에 나타나도록 한다. 이러한 인공물은 블럭에 대해 독립적이고, 차단 현상(blocking effect)이라고 알려진 시각적 방해 현상(visually annoying effect)을 생성한다. 마찬가지로 오디오 데이터에 대해, 오버랩되지 않은 블럭들이 독립적으로 변환 코딩되는 경우, 디코더에서 오디오 신호의 재구성 시, 양자화 에러가 블럭 경계에서 불연속적인 신호를 생성할 것이다. 오디오의 경우, 주기적 클릭 효과가 들린다.
공간-도메인 랩 변환( Spatial - Domain Lapped Transform )
차단 현상을 최소화하기 위하여, 교차 블럭 상관(cross block correlation)이 이용될 수 있다. 교차 블럭 상관을 달성하는 한 방식은 1992년 Norwood MA, Artech House의 H.Malvar의 "랩 변환을 이용한 신호 프로세싱(Signal Processing with Lapped Transforms)"에 기술된 랩 변환을 사용함에 의한 것이다. 랩 변환은 입력이 현재 블럭의 데이터 구성요소 외에 이웃 블럭의 소수의 인접 구성요소에 이르는 변환이다. 마찬가지로, 재구성 측에서, 역 변환은 현재 블럭의 모든 데이터 포인트뿐 아니라 이웃 블럭들의 소수의 데이터 포인트에도 영향을 준다.
2-차원(2D) 데이터의 경우에 대해, 랩된 2D 변환은 좌측, 상부, 우측, 하부 및 가능하게는 좌측-상부, 우측-상부, 좌측-하부 및 우측-하부로의 블럭들의 선택 구성요소와 함께 현재 블럭의 함수이다. 현재 변환을 계산하기 위해 사용되는 이웃 블럭들에 있는 데이터 포인트들의 수가 오버랩이라 불린다.
기존의 블럭 변환 이후에 변환 도메인 부분(transform domain quantity)을 병합하는 단계로서, 변환 도메인에서 랩 변환이 구현될 수 있다. 그렇지 않으면, 오버랩의 범위 내의 픽셀에 적용되는 전처리 단계에 의해 공간-도메인에서 구현될 수 있다. 이러한 두 구현은 수학적으로 관련되므로 등가이다.
도 2에 도시된 바와 같이, 공간-도메인 랩 변환(SDLT)(200)은 각각 순방향 블럭 변환(forward block transform)(110) 이전, 및 역 블럭 변환(140)에 후속하는 전처리 단계(210) 및 후처리 단계(220)에 매칭되는 것으로서 구현되는 랩 변환이다. (예를 들어, 2003년 7월 15일 출원된 미국 특허 출원 번호 10/620,744인 Srinivasan et al.의 "디지털 미디어 압축에서 공간-도메인 랩 변환에 대한 개선" 참조. 이하 "개선된 SDLT 특허 출원"이라 함) 공간-도메인 랩 변환은 종종 효율을 개선하기 위하여 현존하는 블럭 변환 기반 압축 기술을 개장(retrofit)하기 위해 사용된다.
예측되지 않는(즉, 인트라) 방식으로 코딩되는 기타 디지털 미디어 컨텐츠의 이미지(예를 들어, 비디오 시퀀스의 프레임)의 모든 부분에 SDLT가 적용될 때, 특정 제한 이슈가 야기된다.
1. 전처리-필터(pre-filter)는 범위-확장적이다. 그러므로, 이미지의 특정 영역이 인코더 측의 전처리 필터 이후를 채우거나 단축할 수 있다. 마찬가지로, 디코더 측에 오버플로우가 존재할 수 있다.
2. 전처리 필터는 민감하다(sharpening). 그러므로 랩 변환의 결과로서, 국부적인 고주파수 컨텐츠를 갖는 이미지의 특정 영역(특히 블럭 에지와 나란한 이미지 에지)의 코딩 효율이 감소할 것이다.
본원에 기술된 디지털 미디어 신호 처리 및 인코딩/디코딩 기술 및 시스템을 사용하여 구현되는 조건부 랩 변환은 이러한 이슈들을 해결하기 위해 오버랩 프로세스를 더욱 잘 제어한다. 이러한 조건부 랩 변환은 랩 변환의 전처리 필터 및 후처리 필터(post-filter)의 선택 또는 적용에서의 공간 유연성을 허용한다. 즉, 랩 변환은 조건에 따라 디지털 미디어 컨텐츠의 상이한 영역(예를 들어, 이미지의 개별적인 블럭)에 적용된다.
예를 들어, 본원에 기술된 조건부 랩 변환의 한 구현은 디코딩 시 적용될 오버랩 후처리-필터의 적용 및 범위를 지정하기 위하여 공간-변화 모드 파라미터(spatially-varying mode parameter)를 사용한다. 예를 들어, 비디오 코덱에서, 이러한 공간-변화 모드 파라미터는 랩 변환의 후처리-필터가 이미지의 어느 블럭 에지에 적용될 것인지를 지정한다. 한 구현에서, 모드 파라미터는 매크로블럭 입도(macroblock granularity)를 갖는 부울 플래그로서 비디오 시퀀스의 인트라-코딩된 프레임에 대해 더욱 효율적으로 코딩 및 전송되고, 그것은 블럭 에지별로 모드 파라미터를 코딩하는 것보다 더욱 효율적이다. 또한, 이러한 구현은 낮은 비트율로 조건부 랩 변환을 수행하는 영향을 최소화하도록, 비트율에 관련된 양자화 파라미터에 기초하여 조건부 오버랩 모드에 제약을 부과한다.
본 발명의 부가적인 특성 및 이점은 첨부되는 도면들을 참조하여 진행되는 실시예들의 후술되는 상세한 설명으로부터 명백해질 것이다.
도 1은 종래 기술의 전형적인 변환 코딩 기술의 블럭도.
도 2는 종래 기술의 공간 도메인 랩 변환에 기초한 인코딩/디코딩 시스템의 블럭도.
도 3은 본원에 기술된 조건부 랩 변환을 이용하는 비디오 인코더의 블럭도.
도 4는 본원에 기술된 조건부 랩 변환을 이용하는 비디오 디코더의 블럭도.
도 5는 인접한 블럭 에지별 오버랩 모드 시그널링을 이용하는 조건부 랩 변환을 구현하는 인코더의 블럭도.
도 6은 비트율 기반 및 매크로블럭별 오버랩 모드 시그널링을 이용하는 조건부 랩 변환의 제2 구현에 따라 인코더/디코더에서 이용된 시퀀스-레벨 신택스 도면.
도 7은 비트율 기반 및 매크로블럭별 오버랩 모드 시그널링을 이용하는 조건부 랩 변환의 제2 구현에 따라 인코더/디코더에서 이용된 프레임-레벨 신택스 도면.
도 8은 조건부 랩 변환의 제2 구현에서 오버랩 모드 플래그의 비트율 기반 및 매크블럭별 시그널링을 도시하는 흐름도.
도 9는 이미지의 매크로블럭들의 집합에 대해 시그널링된 오버랩 모드 플래그의 예에 대해 오버랩 필터가 적용되는 인접한 매크로블럭 에지를 도시하는 도면.
도 10은 도 3 및 도 4의 비디오 인코더/디코더에 대한 적합한 컴퓨팅 환경의 블럭도.
다음 설명은 랩 변환에 관련된 블럭 에지 필터가 조건에 따라 디지털 미디어 컨텐츠에 대해 공간 변화 기준으로 적용되는 조건부 랩 변환의 구현에 관한 것이다. 조건부 랩 변환의 예시적인 적용은 이미지 또는 비디오 인코더 및 디코더에서이다. 그러나, 이러한 조건부 형식의 공간-도메인 랩 변환은 이미지 또는 비디오 코덱에 제한되지 않으며, 다른 미디어 인코딩, 디코딩 및/또는 프로세싱 시스템에 적용될 수 있다. 따라서, 조건부 랩 변환은 일반화된 이미지 또는 비디오 인코더 및 디코더의 문맥으로 기술되지만, 대안적으로 공간 도메인에서든지 변환 도메인에서든지에 상관없이, 조건부 또는 공간-변화 기준으로 랩 변환의 오버랩 필터를 이용하는 다양한 타입의 미디어 신호 인코딩, 디코딩 및/또는 프로세싱 시스템(예를 들어, 오디오, 비디오, 이미지 등)에 통합될 수 있다.
1. 일반화된 비디오 인코더 및 디코더
도 3은 일반화된 비디오 인코더(300)의 블럭도이고, 도 4는 일반화된 비디오 디코더(400)의 블럭도이며, WMV9/VC-9 변환이 통합될 수 있다.
인코더 및 디코더 내의 모듈들 사이에 도시된 관계는 인코더 및 디코더에서 정보의 주요 흐름을 나타내며, 단순화를 위하여 다른 관계들은 도시되지 않는다. 특히, 도 3 및 도 4는 보통 비디오 시퀀스, 프레임, 매크로블럭, 블럭 등에 대해 사용된 인코더 설정, 모드, 테이블 등을 나타내는 보조 정보(side information)를 도시하지 않는다. 그러한 보조 정보는 전형적으로 보조 정보의 엔트로피 인코딩 후에 출력 비트스트림에서 전송된다. 출력 비트스트림의 포맷은 윈도우즈 미디어 비디오 포맷 또는 또다른 포맷일 수 있다.
인코더(300) 및 디코더(400)는 블럭-기반이며, 4개의 8×8 휘도(luminance) 블럭(때때로 하나의 16×16 매크로블럭으로 취급됨) 및 2개의 8×8 색도(chrominance) 블럭을 포함하는 각 매크로블럭을 갖는 4:2:0 매크로블럭 포맷을 사용한다. 대안적으로, 인코더(300) 및 디코더(400)는 객체-기반이며, 상이한 매크로블럭 또는 블럭 포맷을 사용하고, 또는 8×8 블럭 및 16×16 매크로블럭과 상이한 크기 또는 구성의 픽셀들의 집합에 대해 동작을 수행한다.
원하는 압축의 구현 및 타입에 따라, 인코더 또는 디코더의 모듈이 추가, 생략, 여러 모듈로 분리, 다른 모듈들과 결합, 및/또는 유사한 모듈들로 대체될 수 있다. 대안적인 실시예에서, 상이한 모듈 및/또는 다른 구성의 모듈을 갖는 인코더 또는 디코더가 설명된 기술들 중 하나 이상을 수행한다.
A. 비디오 인코더
도 3은 일반적인 비디오 인코더 시스템(300)의 블럭도이다. 인코더 시스템(300)은 현재의 프레임(305)을 포함하는 비디오 프레임의 시퀀스를 수신하고, 압축된 비디오 정보(395)를 출력으로서 생성한다. 비디오 인코더의 특정 실시예는 일반적으로 일반 인코더(300)의 변형 또는 보완된 버전을 사용한다.
인코더 시스템(300)은 예측된 프레임 및 키 프레임을 압축한다. 표현을 위해, 도 3은 인코더 시스템(300)을 통한 키 프레임에 대한 경로, 및 순방향-예측된 프레임에 대한 경로를 도시한다. 인코더 시스템(300)의 컴포넌트들 중 다수는 키 프레임과 예측된 프레임 둘 다를 압축하는 데 사용된다. 그러한 컴포넌트에 의해 수행되는 정확한 동작은 압축되는 정보의 유형에 따라 다를 수 있다.
(p-프레임, 양방향 예측을 위한 b-프레임, 또는 인터-코딩된 프레임이라고도 불리는) 예측된 프레임은 하나 이상의 다른 프레임으로부터의 예측(또는 차분)에 관하여 표현된다. 예측 레지듀얼은 예측된 프레임과 원래의 프레임 간의 차분이다. 반대로, (i-프레임, 인트라-코딩된 프레임이라고도 불리는) 키 프레임은 다른 프레임에 대한 참조없이 압축된다.
현재의 프레임(305)이 순방향-예측된 프레임이면, 움직임 추정기(310)는 프레임 저장소(320) 내에 버퍼링된 재구성된 이전의 프레임(325)인 참조 프레임을 참조하여 현재의 프레임(305)의 픽셀들의 매크로블럭 또는 다른 집합의 움직임을 측정한다. 대안적인 실시예에서, 참조 프레임은 나중의 프레임이고, 현재의 프레임은 양방향으로 예측된다. 움직임 추정기(310)는 움직임 벡터와 같은 움직임 정보(315)를 보조 정보로서 출력한다. 움직임 보상기(330)는 움직임 정보(315)를 재구성된 이전의 프레임(325)에 적용하여, 움직임-보상된 현재의 프레임(335)을 형성한다. 그러나, 예측은 거의 완벽하지 않으며, 움직임-보상된 현재의 프레임(335)과 원래의 현재의 프레임(305) 간의 차이는 예측 레지듀얼(345)이다. 대안적으로, 움직임 추정기와 움직임 보상기는 다른 유형의 움직임 추정/보상을 적용한다.
주파수 변환기(360)는 공간 도메인의 비디오 정보를 주파수 도메인(즉, 스펙트럼)의 데이터로 변환한다. 블럭-기반의 비디오 프레임에 대해, 주파수 변환기(360)는 이산 코사인 변환("DCT")과 유사한 속성을 갖는 다음 섹션에서 설명되는 변환을 적용한다. 몇몇 실시예에서, 주파수 변환기(360)는 키 프레임에 대한 공간 적 예측 레지듀얼의 블럭들에 주파수 변환을 적용한다. 주파수 변환기(360)는 8×8, 8×4, 4×8, 또는 다른 크기의 주파수 변환을 적용할 수 있다.
그 후, 양자화기(370)가 스펙트럼 데이터 계수의 블럭들을 양자화한다. 양자화기는 프레임별 기준 또는 다른 기준으로 변하는 단계 폭(step-size)을 갖는 스펙트럼 데이터에 균일한 스칼라 양자화를 적용한다. 대안적으로, 양자화기는 또다른 유형의 양자화, 예를 들어, 비균일형, 벡터형 또는 비적응형 양자화를 스펙트럼 데이터 계수에 적용하거나, 주파수 변환을 사용하지 않는 인코더 시스템 내의 공간 도메인의 데이터를 직접 양자화한다. 적응형 양자화 외에, 인코더(300)는 비트율 제어(rate control)를 위해 프레임 드로핑(frame dropping), 적응형 필터링 또는 다른 기술을 사용할 수 있다.
후속적인 움직임 측정/보상을 위해 재구성된 현재의 프레임이 요구되면, 역 양자화기(376)는 양자화된 스펙트럼 데이터 계수에 대해 역 양자화를 수행한다. 그 후 역 주파수 변환기(366)는 주파수 변환기(360)의 동작의 역을 수행하여, (예측된 프레임에 대한) 재구성된 예측 레지듀얼 또는 재구성된 키 프레임을 생성한다. 현재의 프레임(305)이 키 프레임이면, 재구성된 키 프레임은 재구성된 현재의 프레임(도시되지 않음)으로서 취해진다. 현재의 프레임(305)이 예측된 프레임이면, 재구성된 예측 레지듀얼은 움직임-보상된 현재의 프레임(335)에 추가되어 재구성된 현재의 프레임을 형성한다. 프레임 저장소(320)는 다음의 프레임을 예측하는 데 사용하기 위해 그 재구성된 현재의 프레임을 버퍼링한다. 몇몇 실시예에서, 인코더는 블럭해제 필터(deblocking filter)를 재구성된 프레임에 적용하여, 프레임 의 블럭 내의 불연속을 적응적으로 평활화한다.
엔트로피 코더(380)는 양자화기(370)의 출력 뿐만 아니라 특정 보조 정보(예를 들어, 움직임 정보(315), 양자화 단계 폭)도 압축한다. 전형적인 엔트로피 코딩 기술은 산술 코딩, 차동 코딩, 허프만 코딩, 런-길이(run-length) 코딩, LZ 코딩, 딕셔너리 코딩 및 상술된 것의 조합을 포함한다. 엔트로피 코더(380)는 일반적으로 서로 다른 종류의 정보(예를 들어, DC 계수, AC 계수, 다른 종류의 보조 정보)에 대해 서로 다른 코딩 기술을 사용하고, 특정 코딩 기술 내의 복수의 코드 테이블들 중에서 선택할 수 있다.
엔트로피 코더(380)는 압축된 비디오 정보(395)를 버퍼(390)에 둔다. 버퍼 레벨 표시자는 비트율 적응적 모듈에 피드백된다. 압축된 비디오 정보(395)는 고정적인 또는 상대적으로 고정적인 비트율로 버퍼(390)로부터 고갈(deplete)되거나, 그러한 비트 레이트로 후속적인 스트리밍을 위해 저장된다. 대안적으로, 인코더 시스템(300)은 압축 직후에, 압축된 비디오 정보를 스트리밍한다.
버퍼(390) 이전 또는 이후에, 네트워크를 통한 전송을 위해 압축된 비디오 정보(395)가 채널 코딩될 수 있다. 채널 코딩은 압축된 비디오 정보(395)에 에러 검출 및 정정 데이터를 적용할 수 있다.
B. 비디오 디코더
도 4는 일반적인 비디오 디코더 시스템(400)의 블럭도이다. 디코더 시스템(400)은 압축된 비디오 프레임의 시퀀스에 대한 정보(495)를 수신하여, 재구성된 프레임(405)을 포함하는 출력을 생성한다. 비디오 디코더의 특정 실시예는 일반적 으로 일반화된 디코더(400)의 변형 또는 보완된 버전을 사용한다.
디코더 시스템(400)은 예측된 프레임 및 키 프레임을 압축해제한다. 표현을 위해, 도 4는 디코더 시스템(400)을 통한 키 프레임에 대한 경로, 및 순방향-예측된 프레임에 대한 경로를 도시한다. 디코더 시스템(400)의 컴포넌트들 중 다수는 키 프레임과 예측된 프레임 둘 다를 압축하는 데 사용된다. 그러한 컴포넌트들에 의해 수행되는 정확한 동작은 압축되는 정보의 유형에 따라 다를 수 있다.
버퍼(490)는 압축된 비디오 시퀀스에 대한 정보(495)를 수신하여, 수신된 정보가 엔트로피 디코더(480)에 이용가능하게 한다. 버퍼(490)는 일반적으로 시간에 대해 매우 고정적인 비트율로 정보를 수신하며, 대역폭 또는 전송의 단기 변형을 평활화하기 위해 지터 버퍼(jitter buffer)를 포함한다. 버퍼(490)는 재생 버퍼 및 그 외의 버퍼도 포함할 수 있다. 대안적으로, 버퍼(490)는 가변 비트율로 정보를 수신한다. 버퍼(490) 이전 또는 이후에, 에러 검출 및 정정을 위해 압축된 비디오 정보가 채널 디코딩 및 프로세싱될 수 있다.
엔트로피 디코더(480)는 일반적으로 인코더에서 수행된 엔트로피 인코딩의 역을 적용하면서, 엔트로피-코딩된 양자화된 데이터 뿐만 아니라 엔트로피-코딩된 보조 정보(예를 들어, 움직임 정보, 양자화 단계 폭)도 엔트로피 디코딩한다. 엔트로피 디코딩 기술은 산술 디코딩, 차동 디코딩, 허프만 디코딩, 런-길이 디코딩, LZ 디코딩, 딕셔너리 디코딩, 및 상술된 것들의 조합을 포함한다. 엔트로피 디코더(480)는 서로 다른 종류의 정보(예를 들어, DC 계수, AC 계수, 서로 다른 종류의 보조 정보)에 대해 서로 다른 디코딩 기술을 빈번히 사용하며, 특정 디코딩 기술 내의 복수의 코드 테이블들 중에서 선택할 수 있다.
재구성될 프레임(405)이 순방향-예측된 프레임인 경우, 움직임 보상기(430)는 움직임 정보(415)를 참조 프레임(425)에 적용하여, 재구성될 프레임(405)의 예측(435)을 형성한다. 예를 들어, 움직임 보상기(430)는 매크로블럭 움직임 벡터를 이용하여 참조 프레임(425) 내의 매크로블럭을 찾는다. 프레임 버퍼(420)는 참조 프레임으로서 사용하기 위해 이전의 재구성된 프레임을 저장한다. 대안적으로, 움직임 보상기는 또다른 유형의 움직임 보상을 적용한다. 움직임 보상기에 의한 예측은 거의 완벽하지 않기 때문에, 디코더(400)는 예측 레지듀얼도 재구성한다.
디코더가 후속적인 움직임 보상을 위해 재구성된 프레임을 요구할 때, 프레임 저장소(420)는 다음 프레임을 예측하는 데 사용하기 위해 그 재구성된 프레임을 버퍼링한다. 몇몇 실시예에서, 인코더는 재구성된 프레임에 블럭해제 필터를 적용하여, 프레임의 블럭 내의 불연속을 적응적으로 평활화한다.
역 양자화기(470)는 엔트로피-디코딩된 데이터를 역 양자화한다. 일반적으로, 역 양자화기는 프레임별 또는 다른 기준으로 변하는 단계 폭을 갖는 엔트로피-디코딩된 데이터에 균일한 스칼라 역 양자화를 적용한다. 대안적으로, 역 양자화기는 다른 유형의 역 양자화, 예를 들어, 비균일형, 벡터형 또는 비적응형 양자화를 데이터에 적용하거나, 또는 역 주파수 변환을 이용하지 않는 디코더 시스템 내의 공간 도메인의 데이터를 직접 역 양자화한다.
역 주파수 변환기(460)는 양자화된, 주파수 도메인의 데이터를 공간 도메인의 비디오 정보로 변환한다. 블럭-기반의 비디오 프레임에 대해서, 역 주파수 변 환기(460)는 다음 섹션에서 설명되는 역 변환을 적용한다. 몇몇 실시예에서, 역 주파수 변환기(460)는 키 프레임에 대한 공간 예측 레지듀얼의 블럭들에 역 주파수 변환을 적용한다. 역 주파수 변환기(460)는 8×8, 8×4, 4×8 또는 다른 크기의 역 주파수 변환을 적용할 수 있다.
2. 조건부 랩 변환(Conditional Lapped Transform)
다시 도 2를 참조하면, 인코더/디코더(200)에 의해 전형적인 이전의 공간-도메인 랩 변환이 이미지에 대해 수행될 때, 전-처리 및 후-처리 필터 단계(210, 220)는 이미지의 모든 인접한 블럭 에지에 적용된다. 8×8 블럭을 사용하여 코딩된 크기 M×N 픽셀의 이미지는 자신의 휘도 채널에 대해서만 인접한 8×8 블럭들 사이에 거의 M*N/32개의 다른 에지를 갖는다. 종래 기술의 인코더/디코더(200)가 공간-도메인 랩 변환을 이미지에 적용하는 경우, 필터 단계(210, 220)는 이미지의 이러한 인접한 블럭 에지들 각각에 적용된다.
A. 인접한 블럭 에지별 오버랩 모드 시그널링 (Overlap Mode Signaling Per Adjacent Block Edge)
도 5에 도시된 조건부 랩 변환의 제1 구현에서, 인코더에 대한 도 5에 도시된 바와 같이, 인코더는 오버랩 필터(Mn)(520-522)의 선택을 정의하는(통과 필터일 수 있음. 즉, 어떠한 필터링도 적용되지 않을 수 있음), 각 인접한 블럭 에지에 대응하는 다른 심볼(오버랩 모드 심볼(510))을 전송한다. 인코더에서, 필터의 선택은 특히 임의의 필터 결과가 범위를 벗어나는지, 평활성(smoothness) 테스트, 비 트율 왜곡 최적화 기준(rate distortion optimization criteria), 및 이러한 기준들의 조합을 포함하는 다양한 기준에 기초하여 행해질 수 있다. 이러한 전환(switch)은 오버랩 필터의 "모드"라 불리고, 모드는 전처리 필터 및 후처리 필터가 적용되는 "조건"을 결정한다. 도 5는 전환 설정을 결정하는 오버랩 모드 파라미터를 도시하며, 이것은 필터링되는 각 블럭 에지에 대해 전송된다.
독립적으로 플래그될 전처리 필터 및 후처리 필터 각각에 대해 허용하는 한 단점은 필터링 모드에 관련된 오버헤드의 증가이다. 예를 들어, 크기 320×240의 비디오가 30f/s로 인코딩된다고 가정한다. 또한, 하나의 I-프레임(인트라-코딩된 프레임)이 매 초마다 전송된다고 가정한다. 따라서, 매 초마다 비디오에 약 3600개의 8×8 인트라 블럭 에지가 존재한다. (몇몇 블럭들이 이미지 경계에 있을 수 있고, 따라서 인접 블럭 에지가 아니기 때문에, 이러한 숫자는 근사값이다.) 각 에지에 대해 단일 비트 오버랩 모드 심볼(1비트 오버헤드)이 전송되는 경우에도, 이것은 코딩된 비트스트림(도 3의 압축된 비디오 정보(395))에서 3.6kbps의 초과 비트율을 야기하며, 이것은 상당한 양이다.
B. 비트율 기반 및 블럭별 오버랩 모드 시그널링 (Bit-Rate Based and Per Block Overlap Mode Signaling)
또다른 예시적인 구현에서, 코덱은 코딩 비트율에 기초하고 블럭별 오버랩 모드 심볼을 사용하는 시그널링 스킴을 사용하여 오버랩 모드 시그널링에 대한 오버헤드를 더욱 낮춘다. 이러한 시그널링 스킴은 프레임-레벨 양자화 파라미터(QP), 프레임-레벨 오버랩 플래그, 및 매크로-블럭 레벨 오버랩 모드 플래그와 같 은 신택스 구성요소를 이용한다. 다른 비디오 코딩 신택스를 사용하는 코덱에서, 개개의 블럭 에지, 또는 블럭 에지들의 그룹에 대한 조건부 오버랩 변환 모드는 다른 신택스 스킴 및 구성요소를 사용하여 인코딩될 수 있다. 예를 들어, 프레임의 코딩 비트율 또는 양자화에 관련된 또다른 신택스 구성요소가 사용될 수 있다.
도 6 및 도 7을 참조하면, 압축된 비디오 비트스트림(395)(도 3)은 압축된 연속적인 비디오 프레임 또는 기타 픽처들의 시퀀스에 대한 정보를 포함한다. 비트스트림은 도 4의 디코더(400)와 같은 디코더에 의해 디코딩되는 여러 계층적 레이어로 조직화된다. 가장 상위 레이어는 시퀀스 레이어이며, 프레임들의 전체 시퀀스에 대한 정보를 갖는다. 부가적으로, 각 압축된 비디오 프레임은 3개의 계층적 레이어로 구조화되는 데이터로 구성된다. 위로부터 아래로, 픽처 레이어, 매크로블럭 레이어, 및 블럭 레이어이다.
도 6은 시퀀스 레이어(600)에 대한 신택스 도면이며, 픽처 레이어에 대한 데이터가 이어지는 시퀀스 헤더(610)를 포함한다(도 7 참조). 시퀀스 헤더(610)는 디코더에 의해 프로세싱되고 시퀀스를 디코딩하기 위해 사용되는 여러 시퀀스-레벨 구성요소를 포함하며, 매크로블럭 양자화(DQUANT) 구성요소(620), 양자화기 지정기(QUANTIZER) 구성요소(630), 및 오버랩된 변환 플래그(OVERLAP) 구성요소(640)를 포함한다. DQUANT(620)는 양자화 단계 폭이 프레임내에서 변할 수 있는지 없는지를 나타내는 2-비트 필드이다. DQUANT에 대해 3개의 가능한 값이 존재한다. DQUANT=0이면, 프레임당 단 하나의 양자화 단계 폭(즉, 프레임 양자화 단계 폭)이 사용될 수 있다. DQUANT=1 또는 2이면, 프레임의 매크로블럭들 각각을 상이하게 양자화하는 것이 가능하다.
QUANTIZER(630)는 시퀀스에 대해 사용된 양자화기를 나타내는 2-비트 고정 길이 코드["FLC"] 필드이다. 양자화기 타입은 다음 표 1에 따라 인코딩된다.
FLC 양자화기 명세
00 프레임 레벨에서 암시적으로 지정된 양자화기
01 프레임 레벨에서 명시적으로 지정된 양자화기
10 모든 프레임에 대해 사용된 5 QP 데드존 양자화기(deadzone quantizer)
11 모든 프레임에 대해 사용된 3 QP 데드존 양자화기
표 1: 양자화기 명세
오버랩된 변환 플래그(OVERLAP)(1비트)
OVERLAP(640)은 하기에 더욱 논의된 바와 같이 오버랩된 변환이 사용되는지를 나타내는 1-비트 플래그이다. OVERLAP=1이면, 오버랩된 변환이 사용되고, 그렇지 않으면 사용되지 않는다.
도 7은 인터레이스(interlace) 인트라-코딩된 프레임["인터레이스 I-프레임"]에 대한 픽처 레이어(700)에 대한 신택스 도면이다. 연속적인 I-프레임, P-프레임 및 B-프레임과 같은 다른 픽처들에 대한 신택스 도면은 여러 유사한 신택스 구성요소를 갖는다. 픽처 레이어(700)는 매크로블럭 레이어에 대한 데이터가 이어지는 픽처 헤더(710)를 포함한다. 픽처 헤더(710)는 디코더에 의해 프로세싱되고 대응하는 프레임을 디코딩하기 위해 사용되는 여러 픽처-레벨 구성요소를 포함한다. 그러한 구성요소들 중 몇몇은 그들의 존재가 시퀀스-레벨 구성요소 또는 선행 픽처-레벨 구성요소에 의해 시그널링되거나 암시되는 경우에만 존재한다.
도시된 비트스트림 신택스에서, 프레임-레벨 양자화 파라미터(QP)는 픽처 양자화기 스케일(PQUANT)의 형태를 가지고, 그것은 상기 기술된 시퀀스-레벨 신택스 구성요소인 QUANTIZER에 의해 지정된 바와 같이 픽처 레이어 신택스에서 암시적으로 또는 명시적으로 알려질 수 있다. 어떠한 경우에서든지, 픽처 양자화기 스케일(PQUANT)은 픽처 양자화기 인덱스(PQINDEX) 구성요소(720)로부터 해석된다. PQINDEX(720)는 전체 프레임에 대한 양자화기 스케일 인덱스를 시그널링하는 5-비트 필드이다. 그것은 모든 픽처 타입에 존재한다. 암시적 양자화기가 사용되면, PQINDEX는 프레임에 대해 사용된 픽처 양자화기 스케일(PQUANT) 및 양자화기(3QP 또는 5QP 데드존) 둘 모두 지정한다. 표 2는 PQINDEX가 PQUANT로 어떻게 해석되는지, 및 암시적 모드에 대한 양자화기를 보여준다.
PQINDEX PQUANT 양자화기 데드존 PQINDEX PQUANT 양자화기 데드존
0 NA NA 16 13 5QP
1 1 3QP 17 14 5QP
2 2 3QP 18 15 5QP
3 3 3QP 19 16 5QP
4 4 3QP 20 17 5QP
5 5 3QP 21 18 5QP
6 6 3QP 22 19 5QP
7 7 3QP 23 20 5QP
8 8 3QP 24 21 5QP
9 6 5QP 25 22 5QP
10 7 5QP 26 23 5QP
11 8 5QP 27 24 5QP
12 9 5QP 28 25 5QP
13 10 5QP 29 27 5QP
14 11 5QP 30 29 5QP
15 12 5QP 31 31 5QP
표 2: PQINDEX PQUANT /양자화기 데드존으로의 해석(암시적 양자화기)
시퀀스 또는 프레임 레벨에서 양자화기가 명시적으로 시그널링되면, PQINDEX는 표 3에 나타난 바와 같이 픽처 양자화기 단계 폭 PQUANT로 해석된다.
PQINDEX PQUANT 3QP Deadzone PQUANT 5QP Deadzone PQINDEX PQUANT 3QP Deadzone PQUANT 5QP Deadzone
0 NA NA 16 16 14
1 1 1 17 17 15
2 2 1 18 18 16
3 3 1 19 19 17
4 4 2 20 20 18
5 5 3 21 21 19
6 6 4 22 22 20
7 7 5 23 23 21
8 8 6 24 24 22
9 9 7 25 25 23
10 10 8 26 26 24
11 11 9 27 27 25
12 12 10 28 28 26
13 13 11 29 29 27
14 14 12 30 30 29
15 15 13 31 31 31
표 3: PQINDEX PQUANT 로의 해석(명시적 양자화기)
대안적으로, 표 3에 나타내어진 해석 대신에, 시퀀스 또는 프레임 레벨에서 양자화기가 명시적으로 시그널링되는 경우, 1부터 31까지의 PQINDEX의 모든 값에 대해 PQUANT는 PQINDEX와 동일하다.
픽처 헤더는 또한 조건부 오버랩 플래그(CONDOVER) 구성요소(730) 및 조건부 오버랩 매크로블럭 패턴 플래그(OVERFLAGS) 구성요소(740)를 포함한다. 하기에 더욱 기술된 바와 같이, 이러한 조건부 오버랩 플래그 구성요소는 I 픽처에만, 그리고 OVERLAP이 설정되고 PQUANT가 특정 범위 내에 있는 경우에만 존재한다. OVERFLAGS 신택스 구성요소는 I 픽처에만, 그리고 CONDOVER가 바이너리 값 11을 가지는 경우에만 존재한다. OVERFLAGS는 비트평면으로서 코딩되고, 그것은 미가공 모드(raw mode)에서 각 매크로블럭이 자신의 로컬 정보 OVERFLAGMB를 가질 것을 요구한다.
오버랩 모드 규칙
조건부 랩 변환의 이러한 예시적인 제2 구현에서, 인코더(도 5)는 인트라-프레임의 오버랩 모드 플래그에 하기에 리스트된 것과 같은 몇몇 제약을 둠으로써 오버헤드를 제한한다.
1. 오버랩 모드는 바이너리 값으로 설정된다. 값 FALSE는 오버랩 필터링이 적용되지 않음(즉, 전처리-필터 및 후처리-필터가 통과 필터임)을 나타내고, TRUE는 상기에서 참조된 개선된 SDLT 특허 출원에서 공간-도메인 랩 변환에 대해 정의된 바와 같은 오버랩 필터링 단계가 적용됨을 나타낸다. 다른 구현들에서, 매크로블럭 당 추가적인 오버헤드를 감수하여 오버랩 필터 모드의 수가 도 5에 도시된 것보다 더 많을 수 있다.
2. 양자화 임계값(QTH)보다 더 큰 프레임-기반 양자화 파라미터(QP)(예를 들어, 표 2 또는 표 3으로부터 결정된 픽처 양자화기 스케일(PQUANT)), 또는 QP>QTH(즉, 매우 낮은 비트율에 대해)의 특정 값에 대해, 인트라 블럭들 사이의 모든 에지에 대해 오버랩 조건이 TRUE로 설정된다. 예시된 구현에서, 양자화 임계값으로 8이 사용되지만, 대안적인 구현은 상이한 양자화 임계값을 사용할 수 있다.
3. 그렇지 않으면, QP
Figure 112006005017441-pct00001
QTH인 특정 프레임 기반 양자화 파라미터 값(즉, 매우 높은 비트율에 대해), 프레임의 각 인트라 매크로블럭은 바이너리 오버랩 모드 플래그와 관련된다. 이 플래그와 관련된 오버랩 필터 규칙은 앞에 열거되었다.
예측-코딩된 프레임(P-프레임)의 인트라-블럭 및 매크로블럭에 대해, 양자화 파라미터(QP)만으로부터 오버랩 모드가 암시적으로 유도된다. P 프레임은 코딩 모드의 선택에 있어서 I 프레임보다 더욱 자유롭기 때문에, 이것은 타당하다.
도 8의 흐름도에 도시된 바와 같이, 오버랩 모드 플래그는 이러한 제2 구현에서 다음과 같이 인코딩 및 디코딩된다.
1. 제1 결정 블럭(810)에서 시퀀스 레벨 오버랩 플래그(도 6의 OVERLAP(640))가 FALSE로 설정되는 경우, 어떠한 오버랩 모드도 전송되지 않고, 어떠한 오버랩도 수행되지 않는다(850).
2. 결정 블럭(820)에서 QP>QTH인 경우 오버랩 모드 플래그는 암시적으로 TRUE이고, 결정 블럭(810)에서 시퀀스 레벨 오버랩 플래그(OVERLAP(640))는 TRUE이다. 이 경우에, 픽처의 모든 인접한 블럭 에지에 대해 오버랩이 수행된다(870).
3. 결정 블럭(820)에서 QP
Figure 112006005017441-pct00002
QTH인 경우, 3개의 가능성(a, b, c) 중 하나를 나타내는 프레임 레벨 플래그(도 7의 CONDOVER(730))가 전송되고, 나타난 바와 같은 동작이 수행된다.
a. 프레임에 대해 어떠한 오버랩도 수행하지 않음(850)
b. 프레임의 모든 매크로블럭이 오버랩됨(870)
c. "조건부 오버랩" - 매크로블럭별 오버랩 모드 플래그(도 7의 OVERFLAGS(740))가 전송됨(860)
이해를 쉽게 하기 위해 흐름도에서 이것은 두 개의 바이너리 결정으로 분리된다.
4. 조건부 오버랩이 알려지는 경우, 오버랩 모드 플래그는 인트라 프레임의 각 인트라 매크로블럭에 대해 전송되는 바이너리 플래그(즉, OVERFLAGS 신택스 구성요소)이다.
조건부 오버랩
오버랩 모드가 매크로블럭별로 시그널링되기 때문에, 각 조건부 오버랩 플래그에 의해 여러 에지가 참조된다. 예시된 구현에서, 매크로블럭 크기는 (휘도 채널에 대해) 16×16픽셀이고, 변환 블럭 크기는 8×8픽셀이다. 색도 채널은 8×8 블럭 크기에 대한 공간 해상도의 1/2의 해상도를 갖는다. 따라서, 에지는 매크로블럭에 내부적일 수 있고(즉, 휘도 채널에 대한 매크로블럭의 각 변환 블럭들 사이의 에지), 또는 두 매크로블럭에 걸치고 있을 수 있다(휘도 채널 에지의 약 1/2, 및 모든 색도 채널 에지에 대해). 도 9에 도시된 매크로블럭에 대해 시그널링된 예시적인 오버랩 모드 플래그에 의해 예시된 바와 같이, 에지에 전처리/후처리 필터를 적용할지 하지 않을지를 결정하기 위한 규칙이 하기에 열거된다.
1. 오버랩 모드 플래그가 FALSE인 매크로블럭, 또는 인트라-코딩되지 않은 매크러블럭의 내부적 매크로블럭 에지에 어떠한 전처리 또는 후처리 필터링도 적용되지 않는다.
2. 매크로블럭이 인트라 코딩된 것이고, 대응하는 오버랩 모드 플래그가 TRUE인 경우, 매크로블럭의 모든 내부적 8×8 인트라 블럭 에지가 전처리/후처리 필터링된다.
3. 두 개의 매크로블럭에 걸치고 있는 8×8 블럭 에지는 다음과 같은 경우에만 필터링된다.
a. 두 개의 8×8 블럭 에지가 인트라 블럭이고,
b. 두 매크로블럭의 오버랩 모드 플래그 둘 다 TRUE인 경우.
오버랩 모드 시그널링
조건부 랩 변환의 이러한 제2 예시적인 구현의 인트라 프레임들의 모든 매크로블럭은 인트라이다. 오버랩 모드가 프레임 레벨 양자화 파라미터 QP에 기초하여 전송되기 때문에, 오버랩 모드 플래그는 모든 매크로블럭에 대해서 전송되든지, 또는 어떠한 매크로블럭에 대해서도 전송되지 않는다. 모든 매크로블럭에 대해 전송되는 경우, 오버랩 모드 플래그는 M×N이미지(M, N은 16의 배수라고 가정됨)에 대해 크기 (M/16)*(N/16)인 비트평면을 구성한다.
예시된 조건부 랩 변환 구현은 매크로블럭별 오버랩 모드 플래그를 전송하기 위하여 효율적인 코딩 메커니즘("비트평면" 코딩이라 불리며, 하기에 기술됨)을 사용한다. 이것은 오버랩 모드 플래그의 비트평면 표현이 높은 정도의 공간 상관성을 갖는다는 가정, 즉, 수직 또는 수평 방향으로 인접한 비트들이 높은 확률로 동일한 값을 갖는다는 가정에 의존한다. 이러한 가정은 오버랩 플래그에 대해 사실이라고 알려지며, 현실의 이미지 및 비디오에 대해 오버랩 모드 플래그에서도 명백한 충분한 공간 연속성(spatial continuity)이 존재하기를 기대하는 것이 타당하다.
비트평면 코딩 메커니즘(하기에 더욱 상세히 기술됨)은 인트라 프레임에 대한 오버랩 모드 시그널링을 인코딩하기 위해 사용된다. 전체 프레임에 대한 오버랩 모드 플래그는 매크로블럭 헤더와 함께 전송된 매크로블럭 당 하나의 비트로서 "미가공(raw)" 상태로 인코딩되는 경우를 제외하면, 타일화 및 코드 테이블의 컬렉션 중 하나를 사용하여 프레임 레벨에서 조인트 코딩된다.
비트평면 코딩
비트평면 코딩에서, 매크로블럭별 조건부 오버랩 플래그와 같은 매크로블럭-특유 바이너리 정보는 매크로블럭당 하나의 바이너리 심볼로 인코딩될 수 있다. 이러한 경우에, 필드 또는 프레임의 모든 매크로블럭에 대한 상태가 비트평면으로서 코딩되어 필드 또는 프레임 헤더에서 전송될 수 있다. 이러한 규칙에 대한 하나의 예외는 비트평면 코딩 모드가 미가공 모드(Raw Mode)로 설정되는 경우이며, 이 경우에 각 매크로블럭에 대한 상태는 심볼당 하나의 비트로서 코딩되어 매크로블럭 레벨에서 다른 매크로블럭 레벨 신택스 구성요소와 함께 전송된다.
필드/프레임-레벨 비트평면 코딩은 2차원 바이너리 어레이를 인코딩하기 위해 사용된다. 각 어레이의 크기는 rowMB×colMB이며, rowMB 및 colMB는 각각 해당 필드 또는 프레임의 매크로블럭 행 및 열의 수이다. 비트스트림 내에서, 각 어레이는 연속적인 비트들의 집합으로서 코딩된다. 각 어레이를 인코딩하기 위하여 7개 모드 중 하나가 사용된다. 7개 모드는 다음과 같다.
1. 미가공 모드 - 정보가 심볼당 하나의 비트로서 코딩되어 MB 레벨 신택스의 일부로서 전송됨.
2. 정상-2 모드(normal-2 mode) - 2개의 심볼이 함께 코딩됨.
3. 차동-2 모드(differential-2 mode) - 2개의 레지듀얼 심볼을 함께 코딩하는 것으로 이어지는 비트평면의 차동 코딩.
4. 정상-6 모드(normal-6 mode) - 6개의 심볼이 함께 코딩됨.
5. 차동-6 모드(differential-6 mode) - 6개의 레지듀얼 심볼을 함께 코딩하는 것으로 이어지는 비트평면의 차동 코딩.
6. 행 스킵 모드(rowskip mode) - 어떠한 설정 비트도 갖지 않는 행들을 시그널링하기 위해 1비트 스킵.
7. 열 스킵 모드(colomnskip mode) - 어떠한 설정 비트도 갖지 않는 열들을 시그널링하기 위해 1비트 스킵.
필드 또는 프레임 레벨에서 비트평면에 대한 신택스 구성요소는 INVERT, IMODE 및 DATABITS의 시퀀스를 따른다.
역변환 플래그(INVERT)
INVERT 신택스 구성요소는 1-비트 값이며, 설정되는 경우 비트평면이 0인 비트보다 많은 설정 비트를 가짐을 나타낸다. INVERT 및 모드에 따라, 디코더는 본래의 것을 재생성하기 위하여 인터프리트된 비트평면을 역변환할 것이다. 미가공 모드가 사용되는 경우 이 비트의 값이 무시될 것임을 유의해야 한다. INVERT 값이 비트평면 디코딩에 어떻게 사용되는지에 대한 설명이 하기에 제공된다.
코딩 모드( IMODE )
IMODE 신택스 구성요소는 비트평면을 인코딩하기 위해 사용된 코딩 모드를 나타내는 가변 길이 값이다. 표 4는 IMODE 신택스 구성요소를 인코딩하기 위해 사용된 코드 테이블을 보여준다. IMODE 값이 비트평면 디코딩에 어떻게 사용되는지에 대한 설명은 하기에 제공된다.
IMODE VLC 코딩 모드
10 Norm-2
11 Norm-6
010 Rowskip
011 Colskip
001 Diff-2
0001 Diff-6
0000 Raw
표 4: IMODE VLC 코드 테이블
비트평면 코딩 비트( DATABITS )
DATABITS 신택스 구성요소는 비트평면에 대한 심볼들의 스트림을 인코딩하는 가변 크기 신택스 구성요소이다. 비트평면을 인코딩하기 위해 사용된 방법은 IMODE의 값에 의해 결정된다. 7개의 코딩 모드가 다음 섹션에서 기술된다.
미가공 모드
이 모드에서, 비트평면은 매크로블럭의 래스터-스캔 순서로 스캔된 심볼당 하나의 비트로서 인코딩되어, 매크로블럭 레이어의 일부로서 전송된다. 대안적으로, 정보는 필드 또는 프레임 레벨에서 가공 모드로 코딩되고, DATABITS는 rowMB×colMB비트 길이이다.
정상-2 모드
rowMB×colMB가 홀수인 경우, 첫번째 심볼이 미가공 상태로 인코딩된다. 후속하는 심볼들은 본래의 스캔 순서로 쌍을 이루어 인코딩된다. 심볼 쌍을 인코딩하기 위하여 표 5의 바이너리 VLC 테이블이 사용된다.
심볼 2n 심볼 2n+1 코드워드
0 0 0
1 0 100
0 1 101
1 1 11
표 5: Norm-2/ Diff -2 코드 테이블
Diff -2 모드
상기에 기술된 바와 같이 비트평면을 생성하기 위해 정상-2 방법이 사용되고, 그 후 하기에 기술된 바와 같이 Diff-1 동작이 비트평면에 적용된다.
정상-6 모드
Norm-6 및 Diff-6 모드에서, 비트평면은 6개 픽셀의 그룹으로 인코딩된다. 이 픽셀들은 2×3 또는 3×2 타일들로 그룹화된다. 비트평면은 규칙들의 집합을 사용하여 최대한으로 타일화되고, 남은 픽셀들은 행-스킵 및 열-스킵 모드의 변형을 사용하여 인코딩된다. 2×3 "수직" 타일은 rowMB가 3의 배수이고 colMB가 3의 배수가 아닐 때에만 사용된다. 그렇지 않은 경우, 3×2 "수평" 타일이 사용된다. 픽처의 상부 및 좌측 에지를 따라 선형 타일로 타일화된 평면에 대해, 타일의 코딩 순서는 다음 패턴을 따른다. 6-구성요소 타일이 먼저 인코딩되고, 선형 타일이 열-스킵 및 행-스킵 인코딩된다. 어레이 크기가 2×3 또는 3×2의 배수인 경우, 후반부의 선형 타일이 존재하지 않고, 비트평면이 완전히 타일화된다.
6-구성요소 직사각형 타일은 불완전 접두 코드(incomplete prefix code), 즉, 인코딩을 위해 모든 종단 노드(end node)를 사용하지는 않는 접두 코드를 사용하여 인코딩된다. N을 타일에 있는 설정 비트들의 수, 즉, 0
Figure 112006005017441-pct00003
N
Figure 112006005017441-pct00004
6이라 한다. N<3에 대해, 타일을 인코딩하기 위해 VLC가 사용된다. N=3에 대해, 고정 길이 이스케이프(fixed length escape) 뒤에 5비트 고정 길이 코드가 이어지고, N>3에 대해, 고정 길이 이스케이프 뒤에 타일의 보완 코드가 이어진다.
직사각형 타일은 6비트의 정보를 포함한다. k를 타일에 관련된 코드라 하고, 여기서 k=bi2i이며, bi는 타일 내에서 본래의 스캔 순서로 i번째의 바이너리 값이다. 따라서 0
Figure 112006005017441-pct00005
k<64이다. k를 시그널링하기 위하여 VLC 및 이스케이프 코드 더하기 고정 길이 코드의 조합이 사용된다.
Diff -6 모드
상기 기술된 바와 같이 비트평면을 생성하기 위하여 정상-6 방법이 사용되고, 그 후 하기에 기술된 바와 같이 비트평면에 Diff-1 동작이 적용된다.
스킵 모드
행 스킵 코딩 모드에서, 모두 0인 행은 1비트 오버헤드를 이용하여 스킵된다. 신택스는 다음과 같다. 각 행에 대해, 단일 ROWSKIP 비트는 행이 스킵되는지를 나타낸다. 행이 스킵되는 경우, 다음 행에 대한 ROWSKIP 비트가 다음에 오고, 그렇지 않은 경우(행이 스킵되지 않는 경우) ROWBITS 비트(행에 있는 각 매크로블럭에 대한 비트)가 다음에 온다. 따라서, 전체 행이 0인 경우, 하나의 0값의 비트가 ROWSKIP 심볼로서 전송되고, ROWBITS는 스킵된다. 행에 설정 비트가 존재하는 경우, ROWSKIP이 1로 설정되고, 전체 행이 미가공으로 전송된다(ROWBITS). 행은 필드 또는 프레임의 위에서부터 아래로 스캔된다.
스킵 모드
열 스킵은 행 스킵의 전치(transpose)이다. 열은 필드 또는 프레임의 좌측으로부터 우측으로 스캔된다.
Diff -1::역 차동 디코딩
차동 모드(Diff-2 또는 Diff-6)가 사용되는 경우, 대응하는 정상 모드(각각 Norm-2 또는 Norm-6)를 사용하여 "차동 비트"의 비트평면이 먼저 디코딩된다. 본래의 비트평면을 재생성하기 위하여 차동 비트가 사용된다. 재생성 프로세스는 바이너리 알파벳에 대한 2-D DPCM이다. 위치 (i,j)의 비트를 재생성하기 위하여, 예측자 bp(i,j)가 다음과 같이(위치 (i,j)에 있는 비트 b(i,j)로부터) 생성된다.
Figure 112006005017441-pct00006
차동 코딩 모드에 대해, INVERT에 기초한 비트별 역변환 프로세스가 수행되지 않는다. 그러나, 상기 나타낸 예측자의 유도에 대해 심볼 A의 값을 나타내기 위하여 INVERT 플래그가 상이한 용량으로 사용된다. 보다 상세하게는, INVERT가 0과 같으면 A가 0과 같고, INVERT가 1과 같으면 A가 1과 같다. 비트평면의 실제 값은 예측자를 디코딩된 차동 비트 값과 xor함으로써 획득된다. 상기 식에서, b(i,j)는 최종 디코딩 후(즉, 예측자와의 차동 xor이 뒤따르는 Norm-2/Norm-6를 행한 후)에 i, j번째 위치에 있는 비트이다.
예시적인 오버랩 필터
조건부 랩 변환의 제2 구현에서 사용된 한 예시적인 오버랩 필터 모드에서, 시그널링될 때 디코더에서 클램핑되지 않은(unclamped) 16비트 재구성에 대해 오버랩 평활화가 수행된다. 오버랩 평활화에 관련된 순방향 프로세스가 픽셀 값에 대해 허용가능한 9비트 범위 이상으로의 범위 확장을 야기할 수 있다. 오버랩 평활화의 결과는 9비트로 클램핑되고, 나머지 픽셀들은 오버랩 평활화에 의해 건드려지지 않게 된다.
수직 에지(상술된 예의 픽셀 a0, a1, b1, b0)가 우선 필터링되고, 다음으로 수평의 에지(픽셀 p0, p1, q1, q0)가 필터링된다. 필터링의 첫번째 단계(수직 에지 평활화) 다음의 중간 결과는 16비트에 저장된다. 어느 에지에든 걸쳐 있는 4개의 픽셀들에 적용되는 코어 필터(core filter)는 이하에 제공된다.
Figure 112006005017441-pct00007
필터링되는 원래의 픽셀은 (x0, x1, x2, x3)이다. r0 및 r1은 라운딩(rounding) 파라미터이며, 이것은 3 및 4의 값을 교대로 취하여, 통계적으로 편향되지 않은 라운딩을 보장한다. 원래의 값은 구현하기에 명백히 용이한 엔트리를 갖는 매트릭스에 의해 필터링된다. 이들 값은 라운딩 인자를 추가한 후에, 3 비트만큼 비트 시프팅되어, 필터링된 출력 (y0, y1, y2, y3)을 제공한다.
수평과 수직 에지 필터 둘 다에 대해, 블럭 내의 숫자매김이 1에서 시작한다는 가정 하에, 라운딩 값은 홀수-인덱싱된 컬럼과 로우 대해 각각 r0=4, r1=3이다. 짝수-인덱싱된 컬럼/로우에 대해서는, r0=3 및 r1=4이다. 필터링은 제자리(in-place) 16비트 동작으로서 정의되며, 따라서, 원래의 픽셀은 평활화 후에 오버라이트된다. 수직의 에지 필터링에 있어서, 픽셀 (a0, a1, b1, b0)은 (x0, x1, x2, x3)에 대응하고, (x0, x1, x2, x3)은 (y0, y1, y2, y3)으로 필터링된다. 마찬가지로, 수평의 에지 필터링에 있어서, 각각 (p0, p1, q1, q0)과 대응을 이룬다.
2×2 코너 내의 픽셀은 양방향으로 필터링된다. 필터링의 순서는 그들의 최종 값을 결정하기 때문에, 비트 정확도를 위해 순서(수직 에지 필터링 다음에는 수평 에지 필터링)를 유지하는 것이 중요하다. 개념 상, 클램핑은 양방향 필터링 스테이지에 후속하여, 필터링되는 모든 픽셀들에 대해 수행되는 것이다. 그러나, 필터링에 클램핑을 결합하는 몇몇 계산상의 이점이 있을 수 있고, 이것은 올바른 출력을 생성하기 위해 조심스럽게 행해지는 한 구현 이슈이다.
3. 컴퓨팅 환경
조건부 랩 변환의 상기 기술된 구현은 이미지 및 비디오 신호 처리가 수행되는, 특히 컴퓨터, 이미지 및 비디오 기록, 전송 및 수신 기기, 휴대용 비디오 재생기, 비디오 화상회의, 웹 비디오 스트리밍 어플리케이션 등을 포함하는 다양한 장치 중 임의의 것에서 수행될 수 있다. 이미지 및 비디오 코딩 기술은 하드웨어 회로(예를 들어, ASIC, FPGA 등의 회로)뿐 아니라 도 10에 도시된 바와 같은 컴퓨터 또는 기타 컴퓨팅 환경 내에서 실행되는(중앙 처리 장치(CPU)에서 실행되든지 전용 그래픽 프로세서, 비디오 카드 등에서 실행되든지) 이미지 및 비디오 처리 소프트웨어로도 구현될 수 있다.
도 10은 설명된 조건부 랩 변환이 구현될 수 있는 적합한 컴퓨팅 환경(1000)의 일반화된 예를 도시한다. 본 발명은 다양한 범용 또는 특수 목적 컴퓨팅 환경에서 구현될 수 있기 때문에, 컴퓨팅 환경(1000)은 본 발명의 용도 또는 기능의 범위에 대해 어떤 제한을 제시하는 것으로 의도되지 않는다.
도 10을 참조하면, 컴퓨팅 환경(1000)은 적어도 하나의 프로세싱 유닛(1010) 및 메모리(1020)를 포함한다. 도 10에서, 이 가장 기본적인 구성(1030)은 점선 내에 포함된다. 프로세싱 유닛(1010)은 컴퓨터-실행가능 명령어들을 실행하고, 실제 또는 가상 프로세서일 수 있다. 멀티-프로세싱 시스템에서, 프로세싱 능력을 증가시키기 위해, 복수의 프로세싱 유닛들이 컴퓨터-실행가능 명령어들을 실행한다. 메모리(1020)는 휘발성 메모리(예를 들어, 레지스터, 캐시, RAM), 비휘발성 메모리(예를 들어, ROM, EEPROM, 플래시 메모리 등) 또는 이 둘의 임의의 결합일 수 있다. 메모리(1020)는 설명된 조건부 랩 변환을 구현하는 소프트웨어(1080)를 저장한다.
컴퓨팅 환경은 추가적 특징을 가질 수 있다. 예를 들어, 컴퓨팅 환경(1000)은 저장장치(1040), 하나 이상의 입력 장치(1050), 하나 이상의 출력 장치(1060) 및 하나 이상의 통신 연결(1070)을 포함한다. 버스, 제어기 또는 네트워크와 같은 상호연결 메커니즘(도시되지 않음)은 컴퓨팅 환경(1000)의 컴포넌트들을 상호연결한다. 일반적으로, 운영 시스템 소프트웨어(도시되지 않음)는 컴퓨팅 환경(1000) 내에서 실행되는 다른 소프트웨어에 운영 환경을 제공하고, 컴퓨팅 환경(1000)의 컴포넌트들의 활동을 조정한다.
저장장치(1040)는 분리형 또는 비분리형일 수 있고, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, CD-RW, DVD, 또는 정보를 저장하는 데 사용될 수 있고 컴퓨팅 환경(1000) 내에서 액세스될 수 있는 임의의 다른 매체를 포함한다. 저장장치(1040)는 양자화 행렬을 생성 및 압축하는 오디오 인코더를 구현하는 소프트웨어(1080)에 대한 명령어들을 저장한다.
입력 장치(들)(1050)는 키보드, 마우스, 펜 또는 트랙볼, 음성 입력 장치, 스캐닝 장치, 또는 컴퓨팅 환경(1000)에 입력을 제공하는 다른 장치와 같은 터치 입력 장치일 수 있다. 오디오에 대해, 입력 장치(들)(1050)는 사운드 카드, 또는 아날로그 또는 디지털 형태로 오디오 입력을 수용하는 유사한 장치, 또는 컴퓨팅 환경에 오디오 샘플을 제공하는 CD-ROM 판독기일 수 있다. 출력 장치(들)(1060)는 디스플레이, 프린터, 스피커, CD-라이터, 또는 컴퓨팅 환경(1000)으로부터의 출력을 제공하는 다른 장치일 수 있다.
통신 연결(들)(1070)은 통신 매체를 통한 다른 컴퓨팅 엔티티로의 통신을 가능하게 한다. 통신 매체는 컴퓨터-실행가능한 명령어, 압축된 오디오 또는 비디오 정보, 또는 다른 데이터를 변조된 데이터 신호로 변환한다. 변조된 데이터 신호는 신호 내에 정보를 인코딩하는 방식으로 설정 또는 변경된 특징들 중 하나 이상을 갖는 신호이다. 예를 들어, 통신 매체는 전자, 광, RF, 적외선, 음향 또는 다른 반송파로 구현된 유선 또는 무선 기술을 포함하지만, 이것으로 제한되지 않는다.
본원의 변환 및 코딩/디코딩 기술이 컴퓨터-판독가능 매체의 일반적인 문맥으로 기술될 수 있다. 컴퓨터-판독가능 매체는 컴퓨팅 환경 내에서 액세스될 수 있는 임의의 이용가능한 매체이다. 제한을 가하지 않는 예로서, 컴퓨팅 환경(1000)에서, 컴퓨터-판독가능 매체는 메모리(1020), 저장장치(1040), 통신 매체, 및 상기 중 임의의 것의 조합을 포함한다.
본원의 조건부 랩 변환은 타겟 실제 또는 가상 프로세서상의 컴퓨팅 환경에서 실행되는 프로그램 모듈에 포함된 것들과 같은 컴퓨터-실행가능 명령어들의 일반적인 문맥으로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 라이브러리, 객체, 클래스, 컴포넌트, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시예에서 원하는 대로 프로그램 모듈들 사이에 결합 또는 분리될 수 있다. 프로그램 모듈에 대한 컴퓨터-실행가능 명령어들은 로컬 또는 분산 컴퓨팅 환경 내에서 실행될 수 있다.
표현을 위해, 상세한 설명은 "결정한다", "생성한다", "조정한다" 및 "적용한다"와 같은 용어를 사용하여 컴퓨팅 환경에서의 컴퓨터 동작을 기술한다. 이러한 용어들은 컴퓨터에 의해 수행된 동작들에 대한 고레벨 추상화이며, 사람에 의해 수행된 동작들과 혼동해서는 안 된다. 이러한 용어들에 대응하는 실제 컴퓨터 동작들은 구현에 따라 다르다.
본 발명의 원리가 적용될 수 있는 여러 가능한 실시예의 관점에서, 그러한 모든 실시예들이 후술되는 특허청구범위 및 그들의 등가물의 범위 및 취지 내에 속하는 것으로 특허청구한다.

Claims (20)

  1. 디지털 미디어 컨텐츠를 변환 코딩 또는 디코딩(transform coding 또는 decoding)하는 방법으로서,
    디지털 미디어 컨텐츠의 블럭들을 변환 코딩 또는 디코딩하는 단계;
    매크로블럭별 기준(per macroblock basis)으로 인코더(encoder)로부터 디코더(decoder)로 상기 디지털 미디어 컨텐츠의 오버랩 필터 모드(overlap filter mode)를 시그널링하는 단계 - 상기 오버랩 필터 모드 시그널링은 매크로블럭별 오버랩 플래그(per macroblock overlap flag)임 - ; 및
    공간 변화 기준(spatially varying basis)으로 변환 코딩 또는 디코딩 전 또는 후에 상기 디지털 미디어 컨텐츠의 인접 변환 블럭들(adjacent transform blocks) 사이의 에지들의 부분집합에 오버랩 필터(overlap filter)를 조건에 따라 적용하는 단계
    를 포함하고,
    상기 오버랩 필터를 조건에 따라 적용하는 단계는
    매크로블럭-레벨 입도(macroblock-level granularity)를 갖는 상기 공간 변화 기준으로 상기 디지털 미디어 컨텐츠의 인접 변환 블럭들 사이의 에지들에 적용되는 복수의 오버랩 필터 모드 사이를 전환하는 단계;
    매크로블럭의 인트라-매크로블럭 변환 블럭 에지들(intra-macroblock transform block edges)에 상기 오버랩 필터를 적용하는 단계 - 상기 매크로블럭의 오버랩 플래그는 상기 오버랩 필터를 적용하도록 시그널링함 - ; 및
    인접 매크로블럭들 사이의 변환 블럭 에지들에 상기 오버랩 필터를 적용하는 단계 - 상기 인접 매크로블럭들 모두의 오버랩 플래그들은 상기 오버랩 필터를 적용하도록 시그널링함 - 를 포함하는, 디지털 미디어 컨텐츠를 변환 코딩 또는 디코딩하는 방법.
  2. 제1항에 있어서,
    비트율 관련 파라미터에 기초하여 상기 오버랩 필터 모드의 전환을 제한하는 단계를 더 포함하는, 디지털 미디어 컨텐츠를 변환 코딩 또는 디코딩하는 방법.
  3. 제2항에 있어서,
    상기 비트율 관련 파라미터는 프레임-레벨 양자화 파라미터(frame-level quantization parameter)인, 디지털 미디어 컨텐츠를 변환 코딩 또는 디코딩하는 방법.
  4. 코딩된 비디오 비트스트림을 디코딩하는 방법으로서,
    코딩된 비디오 비트스트림에서 한 프레임의 복수의 인코딩된 블럭의 블럭 데이터를 디코딩하는 단계;
    상기 디코딩된 블럭 데이터의 역 양자화(dequantization)를 수행하는 단계;
    상기 디코딩된 블럭 데이터의 변환 블럭들의 역 변환(inverse transform)을 수행하는 단계;
    상기 코딩된 비디오 비트스트림의 하나 이상의 신택스 구성요소(syntax element) - 상기 하나 이상의 신택스 구성요소는 매크로블럭 입도를 가지는 오버랩 모드 플래그들의 집합을 포함함 - 로부터 둘 이상의 인접 변환 블럭 에지의 그룹들에 대한 오버랩 모드(overlap mode)를 결정하는 단계;
    한 그룹에 대해 상기 결정된 오버랩 모드에 따라 복수의 오버랩 필터 사이를 전환하는 단계; 및
    상기 그룹에 각각의 해당 오버랩 필터를 적용하는 단계
    를 포함하고,
    상기 해당 오버랩 필터를 적용하는 단계는
    매크로블럭의 인트라-매크로블럭 변환 블럭 에지들에 상기 해당 오버랩 필터를 적용하는 단계 - 상기 매크로블럭의 오버랩 플래그는 상기 해당 오버랩 필터를 적용하도록 시그널링함 - ; 및
    인접 매크로블럭들 사이의 변환 블럭 에지들에 상기 해당 오버랩 필터를 적용하는 단계 - 상기 인접 매크로블럭들 모두의 오버랩 플래그들은 상기 해당 오버랩 필터를 적용하도록 시그널링함 - 를 더 포함하는, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  5. 제4항에 있어서,
    상기 하나 이상의 신택스 구성요소는 상기 코딩된 비디오 비트스트림의 비트율에 연관된 신택스 구성요소를 포함하는, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  6. 제5항에 있어서,
    상기 코딩된 비디오 비트스트림의 비트율에 연관된 신택스 구성요소는 프레임 레벨 양자화 파라미터(frame level quantization parameter)인, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  7. 제4항에 있어서,
    상기 오버랩 모드 플래그들의 집합은 비트평면 코딩(bitplane coding)을 사용하여 인코딩되는, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  8. 제4항에 있어서,
    상기 하나 이상의 신택스 구성요소는 프레임-레벨 오버랩 파라미터(frame-level overlap parameter), 프레임-기반 비트율 관련 파라미터(frame-based bit-rate related parameter), 및 공간 변화 모드 파라미터(spatially varying mode parameter)를 포함하며,
    상기 방법은
    상기 비트율 관련 파라미터가 낮은 비트율을 나타내는 경우, 상기 프레임 내의 상기 인접 변환 블럭 에지들에 오버랩 필터를 적용하도록 결정하는 단계;
    상기 비트율 관련 파라미터가 낮은 비트율을 나타내지 않고, 상기 프레임-레벨 오버랩 파라미터가 어떠한 오버랩도 지정하지 않은 경우, 상기 프레임 내의 상기 인접 변환 블럭 에지들에 어떠한 오버랩 필터도 적용하지 않도록 결정하는 단계;
    상기 비트율 관련 파라미터가 낮은 비트율을 나타내지 않고, 상기 프레임-레벨 오버랩 파라미터가 어떠한 오버랩도 지정하지 않고, 상기 프레임-레벨 오버랩 파라미터가 조건부 오버랩을 지정하는 경우, 상기 그룹 내의 상기 인접 변환 블럭 에지들에 상기 그룹의 상기 공간 변화 모드 파라미터에 의해 지정된 상기 오버랩 필터를 적용하도록 결정하는 단계; 및
    상기 비트율 관련 파라미터가 낮은 비트율을 나타내지 않고, 상기 프레임-레벨 오버랩 파라미터가 어떠한 오버랩도 지정하지 않고, 상기 프레임-레벨 오버랩 파라미터가 조건부 오버랩을 지정하지 않은 경우, 상기 프레임 내의 상기 인접 변환 블럭 에지들에 상기 오버랩 필터를 적용하도록 결정하는 단계를 더 포함하는, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  9. 제8항에 있어서,
    상기 하나 이상의 신택스 구성요소는 시퀀스-레벨 오버랩 파라미터(sequence-level overlap parameter)를 더 포함하며,
    상기 방법은
    하나의 시퀀스의 상기 시퀀스-레벨 오버랩 파라미터가 어떠한 오버랩도 지정하지 않은 경우, 상기 시퀀스의 모든 프레임 내의 인접 변환 블럭 에지들에 어떠한 오버랩 필터도 적용하지 않도록 결정하는 단계를 더 포함하는, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  10. 조건부 랩 변환(conditional lapped transform)을 사용하여 코딩된 비디오 비트스트림을 디코딩하는 방법으로서,
    적어도, 인접 변환 블럭 에지들에 어떠한 오버랩 필터도 적용되지 않는 오버랩 비적용 상태(no overlap state), 및 인접 변환 블럭 에지들에 오버랩 필터가 적용되는 오버랩 상태(overlap state)를 갖는 오버랩 조건(overlap condition) - 상기 오버랩 조건은 비디오 시퀀스의 픽처들에 걸쳐 공간적으로 변함 - 을 결정하는 단계; 및
    상기 오버랩 조건이 상기 오버랩 상태에 있을 때, 상기 인접 변환 블럭 에지들에 상기 오버랩 필터를 적용하는 단계
    를 포함하고,
    상기 오버랩 조건은 매크로블럭별 오버랩 플래그에 의해 상기 비디오 비트스트림에서 시그널링되며,
    상기 오버랩 필터를 적용하는 단계는
    오버랩 조건이 상기 오버랩 상태에 있는 것으로 시그널링되는 매크로블럭의 인트라-매크로블럭 변환 블럭 에지들에 상기 오버랩 필터를 적용하는 단계; 및
    오버랩 조건이 상기 오버랩 상태에 있는 것으로 시그널링되는 인접 매크로블럭들 사이의 변환 블럭 에지들에 상기 오버랩 필터를 적용하는 단계를 더 포함하는, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  11. 제10항에 있어서,
    비트율 관련 파라미터에 기초하여, 상기 오버랩 조건의 결정 및 상기 오버랩 필터의 적용을 제한하는 단계를 더 포함하는, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  12. 제11항에 있어서,
    상기 비트율 관련 파라미터는 프레임-레벨 양자화 파라미터인, 코딩된 비디오 비트스트림을 디코딩하는 방법.
  13. 프로세싱 유닛에 의해 실행되어, 조건부 랩 변환을 사용하여 코딩된 비디오 비트스트림을 코딩 또는 디코딩하는 방법을 수행하는, 프로세싱 유닛에 의해 실행가능한 소프트웨어를 저장하고 있는 하나 이상의 컴퓨터-판독가능 저장매체로서, 상기 방법은
    적어도, 인접 변환 블럭 에지들에 어떠한 오버랩 필터도 적용되지 않는 오버랩 비적용 상태(no overlap state), 및 인접 변환 블럭 에지들에 오버랩 필터가 적용되는 오버랩 상태(overlap state)를 갖는 오버랩 조건(overlap condition) - 상기 오버랩 조건은 비디오 시퀀스의 픽처들에 걸쳐 공간적으로 변함 - 을 결정하는 단계; 및
    상기 오버랩 조건이 상기 오버랩 상태에 있을 때, 상기 인접 변환 블럭 에지들에 상기 오버랩 필터를 적용하는 단계
    를 포함하고,
    상기 오버랩 조건은 매크로블럭별 오버랩 플래그에 의해 상기 비디오 비트스트림에서 시그널링되며,
    상기 오버랩 필터를 적용하는 단계는
    오버랩 조건이 상기 오버랩 상태에 있는 것으로 시그널링되는 매크로블럭의 인트라-매크로블럭 변환 블럭 에지들에 상기 오버랩 필터를 적용하는 단계; 및
    오버랩 조건이 상기 오버랩 상태에 있는 것으로 시그널링되는 인접 매크로블럭들 사이의 변환 블럭 에지들에 상기 오버랩 필터를 적용하는 단계를 더 포함하는, 하나 이상의 컴퓨터-판독가능 저장 매체.
  14. 제13항에 있어서,
    비트율 관련 파라미터에 기초하여 상기 오버랩 조건의 결정 및 상기 오버랩 필터의 적용을 제한하는 단계를 더 포함하는, 하나 이상의 컴퓨터-판독가능 저장 매체.
  15. 제14항에 있어서,
    상기 비트율 관련 파라미터는 프레임-레벨 양자화 파라미터인, 하나 이상의 컴퓨터-판독가능 저장 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020067001560A 2003-09-07 2004-09-02 디지털 미디어 컨텐츠를 변환 코딩/디코딩하기 위한 방법및 컴퓨터 판독가능 프로그램 저장 매체 KR101028955B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US50108103P 2003-09-07 2003-09-07
US60/501,081 2003-09-07
US10/931,885 2004-08-31
US10/931,885 US7369709B2 (en) 2003-09-07 2004-08-31 Conditional lapped transform

Publications (2)

Publication Number Publication Date
KR20060131719A KR20060131719A (ko) 2006-12-20
KR101028955B1 true KR101028955B1 (ko) 2011-04-12

Family

ID=34228800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067001560A KR101028955B1 (ko) 2003-09-07 2004-09-02 디지털 미디어 컨텐츠를 변환 코딩/디코딩하기 위한 방법및 컴퓨터 판독가능 프로그램 저장 매체

Country Status (8)

Country Link
US (1) US7369709B2 (ko)
EP (1) EP1661387B1 (ko)
JP (1) JP4986622B2 (ko)
KR (1) KR101028955B1 (ko)
CN (1) CN1998152B (ko)
ES (1) ES2773751T3 (ko)
MX (1) MXPA06002494A (ko)
WO (1) WO2005027492A2 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE50305419D1 (de) 2002-05-02 2006-11-30 Fraunhofer Ges Forschung Kodierung und Dekodierung von Transformationskoeffizienten in Bild- oder Videokodierern
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
CN101032174B (zh) * 2004-09-29 2013-07-03 汤姆森研究基金有限公司 用于降低分辨率更新视频编码和解码的方法和装置
US9118923B2 (en) * 2005-04-27 2015-08-25 Broadcom Corporation Reconstruction and overlap transform system and method supporting VC-1 decoding
US7953161B2 (en) * 2005-04-27 2011-05-31 Broadcom Corporation System and method for overlap transforming and deblocking
US20060288065A1 (en) * 2005-06-17 2006-12-21 Docomo Communications Laboratories Usa, Inc. Method and apparatus for lapped transform coding and decoding
US8625914B2 (en) 2013-02-04 2014-01-07 Sony Corporation Image processing system, image processing method and program
KR100791295B1 (ko) * 2006-01-12 2008-01-04 삼성전자주식회사 플래그 부호화 방법, 플래그 복호화 방법, 및 상기 방법을이용한 장치
EP1841237B1 (en) 2006-03-29 2014-10-08 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and apparatus for video encoding
US8139880B2 (en) * 2008-03-24 2012-03-20 Microsoft Corporation Lifting-based directional lapped transforms
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
US8527649B2 (en) 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
WO2011121227A1 (fr) * 2010-03-31 2011-10-06 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en œuvre une prediction par compensation de mouvement avant, flux et programme d'ordinateur correspondants
US8832709B2 (en) 2010-07-19 2014-09-09 Flash Networks Ltd. Network optimization
ES2773774T3 (es) 2010-10-06 2020-07-14 Ntt Docomo Inc Dispositivo, método y programa de codificación bipredictiva de imágenes, y dispositivo, método y programa de decodificación bipredictiva de imágenes
EP2625855B8 (en) * 2010-10-08 2021-03-10 GE Video Compression, LLC Picture coding supporting block partitioning and block merging
DK2675169T3 (da) 2011-02-09 2019-07-22 Lg Electronics Inc Fremgangsmåde til kodning og afkodning af billeddata med en tidsmæssig bevægelsesvektorprediktor og indretning til anvendelse deraf
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
KR20130108457A (ko) 2011-03-09 2013-10-02 닛본 덴끼 가부시끼가이샤 영상 부호화 장치, 영상 복호 장치, 영상 부호화 방법 및 영상 복호 방법
PL230821B1 (pl) 2011-10-17 2018-12-31 Kt Corp Sposób i urządzenie do kodowania/dekodowania obrazu
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
GB201119206D0 (en) 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
EP2805492B1 (en) 2012-01-19 2018-11-14 VID SCALE, Inc. System and method of video coding quantization and dynamic range control
KR102341826B1 (ko) 2012-07-02 2021-12-21 엘지전자 주식회사 영상 정보 코딩 방법 및 이를 이용하는 장치
US9020262B2 (en) * 2012-07-31 2015-04-28 Hewlett-Packard Development Company, L.P. Symbol compression using conditional entropy estimation
US9313500B2 (en) 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
US10043254B2 (en) * 2016-04-14 2018-08-07 Microsoft Technology Licensing, Llc Optimal image transformation based on professionalism score of subject
US10043240B2 (en) 2016-04-14 2018-08-07 Microsoft Technology Licensing, Llc Optimal cropping of digital image based on professionalism score of subject
WO2019009776A1 (en) * 2017-07-05 2019-01-10 Telefonaktiebolaget Lm Ericsson (Publ) DECODING VIDEO SAMPLE BLOCK
JP2021515470A (ja) * 2018-02-26 2021-06-17 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 選択的な量子化パラメータ送信
US11563964B2 (en) * 2020-11-12 2023-01-24 Tencent America LLC Method and apparatus for video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118759A1 (en) 2000-09-12 2002-08-29 Raffi Enficiaud Video coding method
US20030128756A1 (en) 2001-12-28 2003-07-10 Nokia Corporation Method and apparatus for selecting macroblock quantization parameters in a video encoder
US7050504B2 (en) 2002-11-21 2006-05-23 Ub Video, Inc. Low-complexity deblocking filter

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754492A (en) 1985-06-03 1988-06-28 Picturetel Corporation Method and system for adapting a digitized signal processing system for block processing with minimal blocking artifacts
US5297236A (en) 1989-01-27 1994-03-22 Dolby Laboratories Licensing Corporation Low computational-complexity digital filter bank for encoder, decoder, and encoder/decoder
JP2549479B2 (ja) 1991-12-06 1996-10-30 日本電信電話株式会社 動き補償フレーム間帯域分割符号化処理方法
KR0148130B1 (ko) 1992-05-18 1998-09-15 강진구 블럭킹아티팩트를 억제시키는 부호화/복호화 방법 및 그 장치
US5982459A (en) 1995-05-31 1999-11-09 8×8, Inc. Integrated multimedia communications processor and codec
FR2737931B1 (fr) * 1995-08-17 1998-10-02 Siemens Ag Procede destine au traitement de blocs d'images decodes d'un procede de codage d'images a base de blocs
US5825929A (en) 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
US5850294A (en) * 1995-12-18 1998-12-15 Lucent Technologies Inc. Method and apparatus for post-processing images
US5805739A (en) 1996-04-02 1998-09-08 Picturetel Corporation Lapped orthogonal vector quantization
JPH1070717A (ja) * 1996-06-19 1998-03-10 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像復号化装置
US5973755A (en) 1997-04-04 1999-10-26 Microsoft Corporation Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms
US6101279A (en) 1997-06-05 2000-08-08 Wisconsin Alumni Research Foundation Image compression system using block transforms and tree-type coefficient truncation
US5859788A (en) 1997-08-15 1999-01-12 The Aerospace Corporation Modulated lapped transform method
US5913191A (en) * 1997-10-17 1999-06-15 Dolby Laboratories Licensing Corporation Frame-based audio coding with additional filterbank to suppress aliasing artifacts at frame boundaries
US6393156B1 (en) 1998-01-07 2002-05-21 Truong Q. Nguyen Enhanced transform compatibility for standardized data compression
US6393061B1 (en) 1998-05-15 2002-05-21 Hughes Electronics Corporation Method for reducing blocking artifacts in digital images
US6115689A (en) 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6029126A (en) 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US6154762A (en) 1998-06-03 2000-11-28 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6073153A (en) 1998-06-03 2000-06-06 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6253165B1 (en) 1998-06-30 2001-06-26 Microsoft Corporation System and method for modeling probability distribution functions of transform coefficients of encoded signal
US6421464B1 (en) 1998-12-16 2002-07-16 Fastvdo Llc Fast lapped image transforms using lifting steps
US6487574B1 (en) 1999-02-26 2002-11-26 Microsoft Corp. System and method for producing modulated complex lapped transforms
US6496795B1 (en) 1999-05-05 2002-12-17 Microsoft Corporation Modulated complex lapped transform for integrated signal enhancement and coding
US6370502B1 (en) 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6771829B1 (en) 1999-10-23 2004-08-03 Fastvdo Llc Method for local zerotree image coding
JP2003513565A (ja) * 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法
US6865229B1 (en) * 1999-12-14 2005-03-08 Koninklijke Philips Electronics N.V. Method and apparatus for reducing the “blocky picture” effect in MPEG decoded images
US6771828B1 (en) 2000-03-03 2004-08-03 Microsoft Corporation System and method for progessively transform coding digital data
US7177358B2 (en) * 2000-06-27 2007-02-13 Mitsubishi Denki Kabushiki Kaisha Picture coding apparatus, and picture coding method
AU2001273510A1 (en) 2000-07-17 2002-01-30 Trustees Of Boston University Generalized lapped biorthogonal transform embedded inverse discrete cosine transform and low bit rate video sequence coding artifact removal
CN100452883C (zh) * 2001-12-17 2009-01-14 微软公司 处理视频图像的方法
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7006699B2 (en) 2002-03-27 2006-02-28 Microsoft Corporation System and method for progressively transforming and coding digital data
US7155065B1 (en) 2002-03-27 2006-12-26 Microsoft Corporation System and method for progressively transforming and coding digital data
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US7167522B2 (en) * 2003-02-27 2007-01-23 Texas Instruments Incorporated Video deblocking filter
US7471726B2 (en) 2003-07-15 2008-12-30 Microsoft Corporation Spatial-domain lapped transform in digital media compression
US7305139B2 (en) 2004-12-17 2007-12-04 Microsoft Corporation Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118759A1 (en) 2000-09-12 2002-08-29 Raffi Enficiaud Video coding method
US20030128756A1 (en) 2001-12-28 2003-07-10 Nokia Corporation Method and apparatus for selecting macroblock quantization parameters in a video encoder
US7050504B2 (en) 2002-11-21 2006-05-23 Ub Video, Inc. Low-complexity deblocking filter

Also Published As

Publication number Publication date
CN1998152B (zh) 2012-06-13
CN1998152A (zh) 2007-07-11
US7369709B2 (en) 2008-05-06
JP4986622B2 (ja) 2012-07-25
WO2005027492A2 (en) 2005-03-24
ES2773751T3 (es) 2020-07-14
JP2007506293A (ja) 2007-03-15
US20050053150A1 (en) 2005-03-10
WO2005027492A3 (en) 2006-11-23
EP1661387A4 (en) 2010-12-22
EP1661387B1 (en) 2019-11-20
MXPA06002494A (es) 2006-06-20
KR20060131719A (ko) 2006-12-20
EP1661387A2 (en) 2006-05-31

Similar Documents

Publication Publication Date Title
KR101028955B1 (ko) 디지털 미디어 컨텐츠를 변환 코딩/디코딩하기 위한 방법및 컴퓨터 판독가능 프로그램 저장 매체
US7412102B2 (en) Interlace frame lapped transform
US10567753B2 (en) Skip macroblock coding
US7830963B2 (en) Decoding jointly coded transform type and subblock pattern information
US20190089978A1 (en) Sub-block transform coding of prediction residuals
JP5048146B2 (ja) Ac予測状態情報のためのビットプレーンコーディングおよびデコーディング
US20050013494A1 (en) In-loop deblocking filter

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
FPAY Annual fee payment
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 7