KR100578433B1 - 페이딩 추정/보정 - Google Patents

페이딩 추정/보정 Download PDF

Info

Publication number
KR100578433B1
KR100578433B1 KR1020030026663A KR20030026663A KR100578433B1 KR 100578433 B1 KR100578433 B1 KR 100578433B1 KR 1020030026663 A KR1020030026663 A KR 1020030026663A KR 20030026663 A KR20030026663 A KR 20030026663A KR 100578433 B1 KR100578433 B1 KR 100578433B1
Authority
KR
South Korea
Prior art keywords
fading
frame
video
video frame
correction
Prior art date
Application number
KR1020030026663A
Other languages
English (en)
Other versions
KR20030086903A (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 KR20030086903A publication Critical patent/KR20030086903A/ko
Application granted granted Critical
Publication of KR100578433B1 publication Critical patent/KR100578433B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D35/00Filtering devices having features not specifically covered by groups B01D24/00 - B01D33/00, or for applications not specifically covered by groups B01D24/00 - B01D33/00; Auxiliary devices for filtration; Filter housing constructions
    • B01D35/14Safety devices specially adapted for filtration; Devices for indicating clogging
    • B01D35/143Filter condition indicators
    • B01D35/1435Filter condition indicators with alarm means
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D37/00Processes of filtration
    • B01D37/04Controlling the filtration
    • 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/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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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/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
    • 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/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/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D35/00Filtering devices having features not specifically covered by groups B01D24/00 - B01D33/00, or for applications not specifically covered by groups B01D24/00 - B01D33/00; Auxiliary devices for filtration; Filter housing constructions
    • B01D35/30Filter housing constructions

Abstract

비디오 프로세싱 애플리케이션에서 페이딩 추정 및 보정을 수행하기 위한 기술 및 수단이 설명된다. 예를 들어, 비디오 인코더는 페이딩이 검출되는 화상을 인코딩하기 위해 하나 이상의 참조 화상에 페이딩 보정을 수행한다. 비디오 디코더는 하나 이상의 참조 화상에 대응하는 페이딩 보정을 수행한다.
페이딩 추정, 페이딩 보정, 페이딩 파라미터, 인코딩, 디코딩

Description

페이딩 추정/보정{FADING ESTIMATION/COMPENSATION}
도 1은 선행 기술에 따른 블록-기반 프레임 내 압축을 도시하는 도면.
도 2는 선행 기술에 따른 비디오 인코더에서의 모션 추정을 도시하는 도면.
도 3은 선행 기술에 따른 블록-기반 프레임 간 압축을 도시하는 도면.
도 4는 선행 기술에 따른 블록-기반 프레임 간 압축 해제를 도시하는 도면.
도 5는 여러 설명된 실시예가 구현될 수 있는 적당한 컴퓨팅 환경의 블록도.
도 6은 여러 설명된 실시예에서 이용되는 일반화된 비디오 인코더 시스템의 블록도.
도 7은 여러 설명된 실시예에서 이용되는 일반화된 비디오 디코더 시스템의 블록도.
도 8은 페이딩 추정 및 보정을 이용하여 비디오를 인코딩하기 위한 기술을 도시하는 순서도.
도 9는 페이딩 보정을 이용하여 인코딩된 비디오를 디코딩하기 위한 기술을 도시하는 순서도.
도 10은 페이딩 추정 및 보정을 수행할 수 있는 비디오 인코더 시스템의 블록도.
도 11은 페이딩 보정을 수행할 수 있는 비디오 디코더 시스템의 블록도.
도 12는 페이딩 검출 및 파라미터 추출을 위한 기술을 도시하는 순서도.
도 13은 프레임에 대해 페이딩 보정을 이용할 지를 지시하기 위한 시그널링 법을 도시하는 도면.
< 도면의 주요 부분에 대한 부호 설명 >
110 : DCT(이산 코사인 변환)
120 : 양자화
230 : 참조 프레임
610 : 모션 추정기
630 : 모션 보정기
660 : 주파수 변환기
670 : 양자화기
680 : 엔트로피 인코더
비디오 프로세싱 애플리케이션에서 페이딩 추정 및 보정을 수행하기 위한 기술 및 수단이 설명된다. 예를 들어, 비디오 인코더/디코더는 페이딩이 검출되는 프레임을 인코딩/디코딩하기 위해 하나 이상의 참조 프레임에 페이딩 보정을 수행한다.
이 출원은 본 명세서에 참고로서 포함되는 2002년 5월 3일 출원된 미국 가출 원 제 60/377,628로부터 우선권을 주장한다. 이 출원은 동시에 출원된 발명의 명칭이 "페이딩 보정을 위한 파라미터화"인 미국 특허 출원 제 10/378,958 및 동시에 출원된 발명의 명칭이 "페이딩 보정을 위한 시그널링"인 미국 특허 출원 제 10/379,079와 관련이 있고, 그것 모두는 여기에 참고로서 포함된다.
디지털 비디오는 대량의 저장 용량과 전송 용량을 소모한다. 일반적인 원시 디지털 비디오 시퀀스(raw digital video sequence)는 초당 15 또는 30 프레임을 포함한다. 각 프레임은 수만 또는 수십만의 픽셀[펠(pels)이라고도 함]을 포함할 수 있다. 원시 형태로, 컴퓨터는 일반적으로 한 픽셀을 24비트로 나타낸다. 그러므로, 일반적인 원시 디지털 비디오 시퀀스의 초당 비트의 수, 즉 비트 레이트는 5백만 비트/초 또는 그 이상일 수 있다.
대부분의 컴퓨터 및 컴퓨터 네트워크는 원시 디지털 비디오를 처리하기에는 자원이 부족하다. 이러한 이유로, 엔지니어는 디지털 비디오의 비트 레이트를 줄이기 위해 압축(코딩 또는 인코딩이라고도 함을 이용한다. 압축은 손실이 없을 수 있고, 그 경우에 비디오의 질은 나빠지지 않지만 비트 레이트의 감소는 비디오의 복잡도에 의해 제한을 받는다. 또는, 압축은 손실이 있을 수 있고, 그 경우에 비디오의 질은 나빠지지만 비트 레이트의 감소는 더 현저하다. 압축 해제는 압축을 반대로 한다.
일반적으로, 비디오 압축 기술은 프레임 내 압축(intraframe compression) 및 프레임 간 압축(interframe compression)을 포함한다. 프레임 내 압축 기술은, 일반적으로 I-프레임 또는 키 프레임(key frame)이라 하는, 개별 프레임을 압축한 다. 프레임 간 압축 기술은 선행 및/또는 후행 프레임을 참조해서 프레임을 압축하고, 그것은 일반적으로 예측 프레임(predicted frames), P-프레임, 또는 B-프레임이라고 한다.
마이크로소프트 주식회사의 윈도우즈 미디어 비디오, 버전 8["WMV8"]은 비디오 인코더 및 비디오 디코더를 포함한다. WMV8 인코더는 프레임 내 및 프레임 간 압축을 이용하고, WMV8 디코더는 프레임 내 및 프레임 간 압축 해제를 이용한다.
A. WMV8에서의 프레임 내 압축
도 1은 WMV8 인코더에서 키 프레임에서의 픽셀의 블록(105)의 블록-기반 프레임 내 압축(100)의 한 예이다. 예를 들어, WMV8 인코더는 키 비디오 프레임을 픽셀의 8x8 블록으로 나누고 픽셀의 8x8 블록(105)을 DCT 계수의 8x8 블록(115)으로 변환하면서, 개별 블록에 8x8 이산 코사인 변환["DCT"]을 적용한다. 인코더는 DCT 계수를 양자화(120)하고, 인코더가 그 후 엔트로피 인코딩(entropy encoding)을 위해 준비하는 양자화된 DCT 계수의 8x8 블록(125)을 생기게 한다.
인코더는 인코딩되고 있는 블록의 미리 인코딩된 이웃(예를 들어, 이웃 블록(135))의 DC 계수로부터 차분(differential)으로 DC 계수(126)를 인코딩한다. 인코더 엔트로피는 미분(140)을 인코딩한다. 도 1은 이웃하는(왼쪽에) 블록(135)의 왼쪽 칼럼(137)으로부터 미분(147)으로 인코딩된 AC 계수의 왼쪽 칼럼(127)을 도시한다. 남은 AC 계수는 양자화된 DCT 계수의 블록(125)으로부터 나온다.
인코더는 예측된, 양자화된 AC DCT 계수의 8x8 블록(145)을 1 차원 배열(one-dimensional array)(155)로 스캔(150)한 후, 런 길이 코딩(run length coding)의 변화를 이용하여 스캔된 AC 계수를 엔트로피 인코딩한다. 인코더는 하나 이상의 런/레벨/라스트(run/level/last) 표(165)로부터 엔트로피 코드를 선택하고 그 엔트로피 코드를 출력한다(170).
B. WMV8에서 프레임 간 압축
WMV8에서 프레임 간 압축은 잉여 오차(residual error)의 변환 코딩이 후속하는 블록-기반 모션 보정 예측 코딩(block-based motion compensated prediction coding)을 이용한다. 도 2 및 3은 WMV8 인코더에서 예측 프레임을 위한 블록-기반 프레임 간 압축을 설명한다. 특히, 도 2는 예측 프레임(210)을 위한 모션 추정을 설명하고 도 3은 예측 프레임의 모션-추정 블록을 위한 예측 잉여의 압축을 설명한다.
예를 들어, WMV8 인코더는 예측 프레임을 픽셀의 8x8 블록으로 나눈다. 8x8 블록의 그룹은 매크로블록(macroblocks)을 형성한다. 각각의 매크로블록에 대해, 모션 추정 프로세스가 수행된다. 모션 추정은 참조 프레임, 예를 들어, 미리 코딩된 선행 프레임에 대해 픽셀의 매크로블록의 모션을 추정한다. 도 2에서, WMV8 인코더는 예측 프레임(210) 내에서 매크로블록(215)에 대한 모션 벡터를 계산한다. 모션 벡터를 계산하기 위해, 인코더는 참조 프레임(230)의 조사 영역(235)에서 조사한다. 조사 영역(235) 내에서, 인코더는 잘 부합하는 후보 매크로블록을 찾기 위해서 예측 프레임(210)으로부터의 매크로블록(215)을 다양한 후보 매크로블록에 비교한다. 인코더는 잘 부합하는 매크로블록을 찾은 후, 그 부합하는 매크로블록을 위한 모션 벡터(엔트로피 코딩된)를 지정하는 정보를 출력하여, 디코더가 디코 딩동안 부합하는 매크로블록을 찾을 수 있게 한다. 모션 보정으로 예측 프레임(210)을 디코딩할 때, 디코더는 참조 프레임(230)으로부터의 정보를 이용하여 매크로블록(215)에 대한 예측 매크로블록을 계산하기 위해 모션 벡터를 이용한다. 매크로블록(215)의 예측은 거의 완벽하지가 않아서, 인코더는 예측 매크로블록과 매크로블록 자체 사이의 픽셀 차이의 8x8 블록(오차 또는 잉여 블록이라고도 한다)을 일반적으로 인코딩한다.
도 3은 WMV8 인코더에서 오차 블록(335)의 계산 및 인코딩의 예를 설명한다. 오차 블록(335)은 예측 블록(315)과 원본 현재 블록(335)의 차이이다. 인코더는 오차 블록(335)에 대해 DCT(340)를 적용해서, 계수의 8x8 블록(345)을 생성한다. 그리고 나서 인코더는 DCT 계수를 양자화(350)해서 양자화된 DCT 계수(355)의 8x8 블록을 생성한다. 양자화 스텝 사이즈는 조절할 수 있다. 양자화는 정확도의 손실을 유발하지만, 계수에 대한 정보의 완전한 손실을 유발하지는 않는다.
그리고 나서 인코더는 엔트로피 인코딩을 위해 양자화된 DCT 계수의 8x8 블록(355)를 준비한다. 인코더는 8x8 블록(355)을 64 요소를 가진 1 차원 배열(365)로 스캔(360)하는데, 이 때 계수는 일반적으로 가장 낮은 주파수부터 가장 높은 주파수의 순서로 배열되고, 그것은 일반적으로 0 값의 긴 연속을 만든다.
인코더는 런 길이 코딩(370)의 변화를 이용하여 스캔된 계수를 엔트로피 인코딩한다. 인코더는 하나 이상의 런/레벨/라스트 표(375)로부터 엔트로피 코드를 선택하고 그 엔트로피 코드를 출력한다.
도 4는 인터-코딩된 블록(inter-coded block)에 대한 대응 디코딩 프로세스(400)의 한 예를 도시한다. DCT 계수의 양자화로 인해, 재구성된 블록(475)은 대응하는 원본 블록과 동일하지는 않다. 압축은 손실이 있다.
도 4의 요약으로, 디코더는 하나 이상의 렌/레벨/라스트 표(415) 및 런 길이 디코딩(420)과 함께 가변 길이 디코딩(410)을 이용하여 예측 잉여를 나타내는 엔트로피-코딩된 정보를 디코딩(410, 420)한다. 디코더는 엔트로피-디코딩된 정보를 저장하는 1 차원 배열(425)을 2차원 블록(435)으로 역 스캔한다. 디코더는 데이터를 역 양자화하고 역 이산 코사인 변환(440)을 해서, 재구성된 오차 블록(445)을 생성한다. 별개의 모션 보정 경로에서, 디코더는 참조 프레임으로부터 변위에 대한 모션 벡터 정보(455)를 이용하여 예측 블록(465)을 계산한다. 디코더는 재구성된 블록(475)을 형성하기 위해 예측 블록(465)과 재구성된 오차 블록(455)를 결합한다.
원본과 재구성된 프레임 사이의 변화의 양은 왜곡(distortion)이라 하고 프레임을 코딩하기 위해 요구되는 비트의 수는 프레임을 위한 레이트라고 한다. 왜곡의 양은 레이트에 대략 반비례하다. 다른 말로 하면, 더 적은 비트로 프레임을 코딩하는 것(더 큰 압축)은 더 큰 왜곡을 유발할 것이고, 그 반대의 경우도 마찬가지이다.
C. 종래의 모션-기반 압축의 한계
페이딩, 모핑(morphing), 및 블렌딩(blending)과 같은 효과를 갖는 비디오 시퀀스는, 종래의 모션-기반 비디오 압축 방법이 그러한 프레임에 대해서는 일반적으로 효과적이지 않기 때문에, 상대적으로 인코딩할 데이터의 양이 많다. 예를 들 어, 프레임에서의 객체가 한 프레임으로부터 다음 프레임으로 한 방향으로 약간 이동한 비디오 시퀀스를 생각해 보자. 일반적인 블록-부합 모션 추정 기술에서, 현재 프레임 내의 한 블록에 대한 선행 프레임에서의 좋은 부합을 찾는 것 및 그 결과로서 생성된 모션 벡터를 인코딩하는 것은 페이딩 없는 비디오 시퀀스에서 간단한 문제이다. 그러나, 예를 들어, "페이드-투-블랙(fade-to-black)"이 비디오 시퀀스에서 일어나고 있으면, 현재 프레임에서의 각각의 광도값(luminance value)은 선행 프레임에 대해 변하여, 비디오 인코더가 블록에 대한 좋은 부합을 찾는 것을 방해할 수 있다. 또한, 페이딩은 자연적 조도 변화로 인해 시퀀스에서 일어날 수 있다. 또한 다른 천이 효과(transitioning effects)인 블렌딩 및 모핑은 직접적인 모션 추정/보정의 유효성을 감소시킬 수 있다.
D. 비디오 압축 및 압축 해제를 위한 표준
WMV8 외에, 여러 국제 표준이 비디오 압축 및 압축 해제에 관련이 있다. 이 표준은 모션 픽쳐 전문가 그롭(Motion Picture Experts Group)["MPEG"] 1, 2 및 4 표준과 국제 통신 연합(International Telecommunication Union)["ITU"]로부터의 H.261, H.262 및 H.263 표준을 포함한다. 이러한 표준들은, 이용되는 압축 기술의 상세 사항에서는 WMV8과 다르긴 하지만, WMV8과 마찬가지로 프레임 내 및 프레임 간 압축의 결합을 이용한다. 예를 들어, H.263 표준의 어넥스 P(Annex P)는 인코딩 동안 그림의 해상도를 적응성 있게 변경하기 위해 이용될 수 있는 예측에서의 이용을 위해 참조 그림 리샘플링 모드(Reference Picture Resampling mode)를 설명한다.
디지털 비디오에 대한 압축 및 압축 해제의 중대한 중요성이 주어진 채, 비디오 압축 및 압축 해제가 풍부하게 발전된 분야라는 것은 놀라운 일이 아니다. 예전 비디오 압축 및 압축 해제 기술의 이점이 무엇이던지 간에, 그것은 아래의 기술 및 수단의 이점을 갖고 있지 않다.
비디오 압축의 목적의 하나는 레이트-왜곡 성능을 향상하는 것, 즉, 더 적은 비트를 이용하여 동일한 질을 달성하는 것, 또한 동일한 양의 비트를 사용하지만 더 높은 질을 달성하는 것이다. 이 목적을 달성하기 위한 하나의 방법은 상대적으로 인코딩할 비트의 양이 많은 비디오 시퀀스의 부분을 확인한 후 그러한 부분을 더 낫게 압축하기 위한 방법을 찾는 것이다. 페이딩, 모핑 및 블렌딩과 같은 효과를 갖는 비디오 시퀀스의 부분은 흔하지 않다. 그러나, 이러한 부분이 존재하는 경우, 종래의 모션-기반 비디오 압축 방법이 일반적으로 효과적이지 않기 때문에 인코딩할 대량의 비트를 요구한다.
따라서, 요약하면, 상세한 설명은 페이드-인(fade-in), 페이드-아웃(fade-out), 크로스-페이드(cross-fades) 또는 다른 페이딩, 블렌딩, 또는 모핑 효과를 포함하는 비디오 시퀀스에 대한 레이트-왜곡 성능을 향상하기 위한 다양한 기술 및 수단에 관한 것이다. 예를 들어, 비디오 인코더는 페이딩 파라미터에 기초한 참조 프레임을 조절하는 것에 의해 현재 프레임을 위한 페이딩 보정을 행한다. 이것은 참조 프레임을 이용하는 모션 보정을 더 효과적으로 만든다. 비디오 디코더는 참조 프레임을 조절하는 것에 의해 페이딩 보정을 행한다.
기술 및 수단의 제1 양태에서, 비디오 인코더 또는 디코더는 페이딩 파라미터를 획득하고 페이딩 파라미터로 참조 비디오 화상(프레임, 필드, 또는 객체 평면과 같은)에서 픽셀값(색도(chrominance) 또는 광도값과 같은)을 리매핑하는 것에 의해 페이딩 보정을 수행한다. 예를 들어, 페이딩 파라미터는 픽셀-와이즈 선형(pixel-wise linear) 또는 비선형(non-linear)의 제1, 제2 또는 더 고차 변환을 명기한다. 비디오 인코더 또는 디코더는 리매핑된 참조 비디오 화상에 대한 현재 비디오 화상의 적어도 일부분에 대해 모션 보정을 수행한다. 몇몇 경우에서는, 인코더는 페이딩 파라미터를 획득할지를 결정하기 위해 페이딩 검출을 행한다. 페이딩 검출은 원본 참조 비디오 화상에 대한 현재의 비디오 화상을 위한 오차 측정을 계산하고 오차 측정을 임계값과 비교하는 것을 포함할 수 있고, 다운샘플링된 화상(downsampled image)에 행해질 수 있다. 몇몇 경우에는, 페이딩 파라미터를 획득하기 위해, 인코더는 예를 들어 리매핑된 참조 비디오 화상으로 현재의 비디오 화상을 모델링하는 것에 의해 그것을 추정할 수 있다.
기술 및 수단의 제2 양태에서, 비디오 인코더 또는 디코더는 현재의 비디오 프레임을 위한 전역 광도 변화 보정 파라미터(global luminance change compensation parameter)를 획득하고, 전역 광도 변화 보정 파라미터로 참조 비디오 프레임의 모두를 위한 픽셀값을 리매핑시키는 것에 의해 전역 광도 변화 보정을 수행한다. 비디오 인코더 또는 디코더는 리매핑된 참조 비디오 프레임에 대한 현재 비디오 프레임의 적어도 일부를 위한 모션 보정을 수행한다.
기술 및 수단의 제3 양태에서, 비디오 인코더는 하나 이상의 비디오 프레임에서 페이딩의 검출 시 페이딩 파라미터를 추출한다. 추출은 다운샘플링된 현재의 프레임과 하나 이상의 다운샘플링된 참조 프레임 사이에서의 픽셀값에서의 차이에 기초하여 예비 페이딩 파라미터(preliminary fading parameters)를 획득하는 것을 포함한다. 예비 페이딩 파라미터는 양자화되고 비양자화된다. 비양자화된 페이딩 파라미터는 완전 해상도 현재 프레임(full-resolution current frame)과 하나 이상의 완전 해상도 참조 프레임 사이의 픽셀값에서의 차이에 기초하여 최종 페이딩 파라미터를 획득할지를 결정하기 위해 이용(예, 리매핑되고 원본 한계지워진 절대 오차 합(remapped and original bounded absolute error sums)을 비교하는 것에 의해)될 수 있다. 비디오 인코더는, 예를 들어, 완전 해상도 프레임 상에 약간의 다른 분석 또는 선형 회귀 분석(linear regression analysis)을 수행하는 것에 의해 최종 파라미터를 획득한다.
다양한 기술 및 수단이 조합해서 또는 독립적으로 이용될 수 있다. 다른 실시예는 설명되는 기술 및 수단의 하나 이상을 구현한다.
추가적인 특징 및 이점은 첨부된 도면을 참조해서 설명되는 다른 실시예의 아래 자세한 설명으로부터 명백해질 것이다.
설명되는 실시예는 페이딩 추정 및/또는 보정을 위한 기술 및 수단에 관한 것이다. 페이딩 보정/추정 없이, 페이딩, 모핑 및 블렌딩과 같은 효과를 가진 비디오 시퀀스는 종래의 모션-기반 비디오 압축 방법이 그러한 프레임에 대해 일반적으로 효과적이지 않기 때문에, 상대적으로 인코딩할 비트의 양이 많다. 설명되는 실시예는 그러한 시퀀스에서 페이딩 추정/보정을 수행함으로써 레이트-왜곡 성능을 향상시킨다. 다양한 실시예는 전역 광도 변화 파라미터를 추정, 적용, 코딩 및/또는 디코딩하기 위한 기술 및 수단에 관한 것이다.
몇몇 실시예에서의 페이딩 보정은 페이딩에 대한 보정을 하기 위해 하나 이상의 참조 프레임에 전역 광도 변화를 수행하는 것을 포함한다. 전역 광도 변화는 정의된 영역에 대한 광도 변화이고, 여기에서 정의된 영역은 프레임, 프레임의 일부(예, 개개의 블록 또는 프레임에서의 매크로블록 또는 프레임에서의 매크로블록의 그룹), 또는 코딩되거나 디코딩되고 있는 화상의 또 다른 특정 부분일 수 있다. 다음, 현재 프레임은 조절된 하나 이상의 참조 프레임으로부터 모션 추정/보정에 의해 예측된다. 대안적으로, 페이딩 보정은 블렌딩 또는 모핑과 같은 효과를 보정하기 위해 참조 프레임에 대한 전역 변화를 포함한다. 일반적으로, 페이딩 보정은 페이딩(즉, 페이드-투-블랙 또는 페이드-프롬-블랙), 블렌딩, 모핑, 또는 픽셀값 강도에 영향을 미치는 다른 본질적 또는 합성적 조명 효과(natural or synthetic lighting effects)를 위한 임의의 보정을 포함한다. 그러나, 일반성을 잃지 않고, 전역 광도 변화 및 페이딩이라는 용어는, 문맥이 명백하게 다른 점을 보여주지 않으면, 여기에서 바뀌어서 사용될 수 있다.
프레임에 대해 페이딩 보정을 수행하는 것의 대안으로서, 몇몇 실시예는 필드, 객체 층 또는 다른 화상에 대한 페이딩 보정을 수행한다.
몇몇 실시예에서, 페이딩 보정은 YUV 색채 공간에서 참조 프레임의 광도 및 색도 채널에서의 픽셀값을 조절하는 것에 의해 생긴다. 조절은 광도 픽셀값을 스 케일링(scaling) 및 시프트(shifting)하는 것 그리고 색도 픽셀값을 스케일링 및 시프트하는 것을 포함한다. 대안적으로, 색채 공간은 다르고(예, YIQ 또는 RGB) 그리고/또는 보정은 다른 조절 기술을 이용한다.
인코더/디코더는 프레임-바이-프레임 기초(frame-by-frame basis)로 페이딩 추정/보정을 수행한다. 선택적으로, 인코더/디코더는 하나 이상의 블록 또는 매크로블록과 같은 프레임의 일부에 대해, 또는 다른 기초로 페이딩 추정/보정을 행한다.
다양한 기술 및 수단이 조합해서 또는 독립적으로 이용될 수 있다. 다른 실시예는 설명되는 기술 및 수단의 하나 이상을 구현한다. 이 기술을 위한 작업이 설명의 목적으로 특정, 연속하는 순서로 일반적으로 설명되어지지만, 이러한 설명의 방법은, 특정 순서가 요구되지 않으면, 작업의 순서에서 약간 재정렬되는 것을 포함한다는 것을 이해해야 한다. 예를 들어, 순서대로 설명되는 작업은 몇몇 경우에서는 재정렬되거나 동시에 수행될 수 있다. 또한, 간단하게 할 목적으로, 순서도는 다른 기술과 함께 이용될 수 있는 특정 기술에서의 다양한 길을 도시하지 않는다.
몇몇 실시예에서, 비디오 인코더 또는 디코더는 비트스트림에서 다양한 플래그 및 신호를 이용한다. 특정 플래그 및 신호가 설명되어지지만, 이러한 설명 방법은 플래그 및 신호를 위한 다른 관례(예를 들어, 1 대신 0)를 포함한다는 것을 이해해야 한다.
Ⅰ. 컴퓨팅 환경
도 5는 설명되는 다양한 실시예가 구현될 수 있는 적당한 컴퓨팅 환경(500)의 일반화된 예를 설명한다. 컴퓨팅 환경(500)은, 기술 및 수단이 다양한 범용 또는 특정 목적의 컴퓨팅 환경에서 구현될 수 있기 때문에, 이용 또는 기능의 범위에 어떠한 제한을 가하기 위한 의도는 아니다.
도 5를 참조하면, 컴퓨팅 환경(500)은 적어도 하나의 처리 장치(510) 및 메모리(520)을 포함한다. 도 5에서, 이 가장 기본적인 구성(530)이 점선 안에 포함되어 있다. 처리 장치(510)는 컴퓨터 실행 가능 명령어를 실행하고 실제 또는 가상 프로세서일 수 있다. 멀티프로세싱 시스템에서, 멀티 처리 장치는 처리 능력을 증가시키기 위해 컴퓨터 실행 가능 명령어를 수행한다. 메모리(520)는 휘발성 메모리(예, 레지스터, 캐시, RAM), 비휘발성 메모리(예, ROM, EEPROM, 플래시 메모리 등), 또는 그 둘의 임의의 조합일 수 있다. 메모리(520)는 비디오 인코더 또는 디코더와 같은 인코더 또는 디코더를 구현하는 소프트웨어(580)를 저장한다.
컴퓨팅 환경은 추가적인 특징을 가질 수 있다. 예를 들어, 컴퓨팅 환경(500)은 저장 장치(540), 하나 이상의 입력 장치(550), 하나 이상의 출력 장치(560), 및 하나 이상의 통신 접속(570)을 포함한다. 버스, 제어기, 또는 네트워크 같은 상호 접속 메커니즘(도시되지 않음)은 컴퓨팅 환경(500)의 구성 요소를 연결한다. 일반적으로 운영 체제 소프트웨어(도시되지 않음)는 컴퓨팅 환경(500)에서 실행하는 다른 소프트웨어에 대한 운영 환경을 제공하고, 컴퓨팅 환경(500)의 구성 요소들의 활동을 조정한다.
저장 장치(540)는 착탈식 또는 비착탈식일 수 있고, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD, 또는 컴퓨팅 환경(500) 내에서 액세스될 수 있고 정보를 저장하기 위해 이용될 수 있는 임의의 다른 매체를 포함한다. 저장 장치(540)는 인코더 또는 디코더를 구현하는 소프트웨어(580)를 위한 명령어를 포함한다.
입력 장치(550)는 키보드, 마우스, 펜, 또는 트랙볼과 같은 접촉식 입력 장치, 음성 입력 장치, 스캐닝 장치, 또는 컴퓨팅 환경(500)에 입력을 제공하는 또 다른 장치일 수 있다. 오디어 또는 비디오 인코딩을 위해서, 입력 장치(550)는 사운드 카드, 비디오 카드, TV 튜너 카드, 또는 아날로그 또는 디지털 형태로 오디오 또는 비디오 입력을 수신하는 유사한 장치, 또는 컴퓨팅 환경(500)에 오디오 또는 비디오 샘플을 읽는 CD-ROM 또는 CD-RW일 수 있다. 출력 장치(560)는 디스플레이, 스피커, CD-라이터, 또는 컴퓨팅 환경(500)으로부터 출력을 제공하는 또 다른 장치일 수 있다.
통신 접속(570)은 통신 매체를 통해 또 다른 컴퓨팅 엔티티로 통신을 가능하게 한다. 통신 매체는 컴퓨터 실행 가능 명령어, 오디오 또는 비디오 입력 또는 출력, 또는 다른 데이터와 같은 정보를 변조된 데이터 신호로 전달한다. 변조된 데이터 신호는, 신호 내에 정보를 인코딩하도록 변경되거나 설정된 하나 이상의 특성을 갖는 신호이다. 제한이 아닌 한 예로, 통신 매체는 전기, 광학, RF, 적외선, 청각, 또는 다른 캐리어(carrier)로 구현된 유선 또는 무선 기술을 포함한다.
기술 및 수단은 컴퓨터 판독 가능 매체의 일반적 형식으로 설명될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨팅 환경 내에서 접근될 수 있는 임의의 이용 가능한 매체이다. 제한이 아닌 한 예로, 컴퓨팅 환경(500)과 함께, 컴퓨터 판독 가능 매체는 메모리(520), 저장 장치(540), 통신 매체, 및 상기의 임의의 조합을 포함한다.
기술 및 수단은 타겟 실제 또는 가상 프로세서 상의 컴퓨팅 환경에서 수행되고 있는 프로그램 모듈 내에 포함된 것과 같은, 컴퓨터 실행 가능 명령어의 일반적인 형식으로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 형식을 구현하는 루틴, 프로그램, 라이브러리, 객체, 클래스, 구성 요소, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시예에서 바람직한 대로 프로그램 모듈 사이에서 결합되거나 나누어질 수 있다. 프로그램 모듈을 위한 컴퓨터 실행 가능 명령어는 로컬 또는 분산 컴퓨팅 환경에서 실행될 수 있다.
설명의 목적으로, 상세한 설명은 컴퓨팅 환경에서의 컴퓨터 작동을 설명하기 위해 "추정하다(estimate)", "시그널링한다(signal)", "인코딩하다(encode)", 및 "디코딩하다(decode)"와 같은 용어를 사용한다. 이 용어는 컴퓨터에 의해 수행되는 작동을 위한 고수준의 추상적 개념이고, 인간에 의해 수행되는 행동과 혼동되어서는 안된다. 이 용어에 대응하는 실제의 컴퓨터 작동은 구현에 따라 다르다.
Ⅱ. 일반화된 비디오 인코더 및 디코더
도 6은 일반화된 비디오 인코더(600)의 블록도이고 도 7은 일반화된 비디오 디코더(700)의 블록도이다.
인코더와 디코더 내의 모듈들 사이에 도시된 관계는 인코더 및 디코더 내에서의 정보의 주요 흐름을 가리킨다. 다른 관계는 간결하게 할 목적으로 도시되지 않고 있다. 특히, 도 6 및 7은 비디오 시퀀스, 프레임, 매크로블록, 블록 등을 위해 이용되는 인코더 설정, 모드, 표 등을 지시하는 보조 정보를 일반적으로 도시하지 않고 있다. 그러한 보조 정보는, 일반적으로 보조 정보의 엔트로피 인코딩 후에, 출력 비트스트림으로 보내진다. 출력 비트스트림의 형식은 윈도우즈 미디어 비디오 형식 또는 또 다른 형식일 수 있다.
인코더(600) 및 디코더(700)는 블록-기반이고, 각각의 매크로블록이 4개의 8x8 광도 블록(하나의 16x16 매크로블록으로 취급되는 때에) 및 2 개의 8x8 색도 블록을 포함하는 4:2:0 매크로블록 형식을 이용한다. 대안적으로, 인코더(600) 및 디코더(700)는 객체-기반이고, 다른 매크로블록 또는 블록 형식을 이용하거나, 8x8 블록 및 16x16 매크로블록과 다른 크기 또는 구성의 픽셀의 세트 상에 작업을 수행한다.
바람직한 압축의 타입 및 구현에 따라, 인코더 또는 디코더의 모듈이 추가, 생략, 다수의 모듈로 분리, 다른 모듈과 결합, 및/또는 유사한 모듈로 대체될 수 있다. 대안적인 실시예에서, 다른 모듈 및/또는 모듈의 다른 구성을 가진 인코더 또는 디코더는 설명되는 기술의 하나 이상을 수행한다.
A. 비디오 인코더
도 6은 일반적인 비디오 인코더 시스템(600)의 블록도이다. 인코더 시스템(600)은 현재의 프레임(605)을 포함하는 비디오 프레임의 시퀀스를 수신하고, 출력으로 압축된 비디오 정보(695)를 만든다. 비디오 인코더의 특정 실시예는 일반화된 인코더(600)의 변형 또는 보완된 버전을 일반적으로 이용한다.
인코더 시스템(600)은 예측 프레임 및 키 프레임을 압축한다. 설명의 목적으로, 도 6은 인코더 시스템(600)을 통한 키 프레임을 위한 경로 및 기 예측 프레임(forward-predicted frame)을 위한 경로를 도시한다. 인코더 시스템(600)의 다수의 구성 요소는 키 프레임 및 예측 프레임을 둘 다 압축하기 위해 이용된다. 그 구성 요소에 의해 수행되는 정확한 작업은 압축되는 정보의 타입에 따라 변경될 수 있다.
예측 프레임[p-프레임, 양방향 예측을 위한 b-프레임, 또는 인터-코딩된 프레임이라도 함]은 하나 이상의 다른 프레임으로부터의 예측(또는 차이)으로 표현된다. 예측 잉여는 예측된 것과 원본 프레임 사이의 차이이다. 반대로, 키 프레임[i-프레임, 인트라-코딩된 프레임이라고도 함]은 다른 프레임에 대한 참조없이 압축된다.
현재 프레임(605)이 기 예측된 프레임이라면, 모션 추정기(610)는 참조 프레임에 대해 현재 프레임의 픽셀의 다른 세트 또는 매크로블록의 모션을 추정하고, 그것은 프레임 저장 장치(620)에 버퍼링된 재구성된 선행 프레임(625)이다. 대안적인 실시예에서, 참조 프레임은 후행 프레임(later frame)이거나 현재 프레임은 양방향으로 예측된다. 모션 추정기(610)는 모션 벡터와 같은 모션 정보(615)를 보조 정보로서 출력한다. 모션 보정기(630)는 재구성된 선행 프레임(625)에 모션 정 보(615)를 적용해서 모션-보정된 현재 프레임(635)을 형성한다. 그러나 예측은 거의 완벽하지 않고, 모션-보정된 현재 프레임(635)과 원본 현재 프레임(635) 사이의 차이는 예측 잉여(645)이다. 대안적으로, 모션 추정기 및 모션 보정기는 모션 추정/보정의 또 다른 타입을 적용한다.
주파수 변환기(660)는 공간 영역 비디오 정보를 주파수 영역(즉, 스펙트럼) 데이터로 변환한다. 블록-기반 비디오 프레임을 위해, 주파수 변환기(660)는 DCT 계수의 블록을 만들면서, 모션 예측 잉여 데이터의 블록에 이산 코사인 변환["DCT"] 또는 DCT의 변형을 적용한다. 선택적으로, 주파수 변환기(660)는 푸리에 변환과 같은 또 다른 종래의 주파수 변환을 적용하거나 웨이브렛 또는 서브밴드 분석을 이용한다. 몇몇 실시예에서, 주파수 변환기(660)는 키 프레임에 대한 공간 예측 잉여의 블록에 주파수 변환을 적용한다. 주파수 변환기(660)는 8x8, 8x4, 4x8 또는 다른 크기 주파수 변환을 적용할 수 있다.
다음, 양자화기(quantizer)(670)는 스펙트럼 데이터 계수의 블록을 양자화한다. 양자화기는 프레임-바이-프레임 기초 또는 다른 기초에 따라 변하는 스텝-사이즈(step-size)를 가진 스펙트럼 데이터에 균일한 스칼라 양자화를 적용한다. 대안적으로, 양자화기는 스펙트럼 데이터 계수에 또 다른 타입의 양자화, 예를 들어, 불균일, 벡터 또는 비적응성 양자화를 적용하거나, 주파수 변환을 이용하지 않는 인코더 시스템에서 공간 영역 데이터를 적접 양자화한다. 적응성 양자화에 추가해서, 인코더(600)는 프레임 드로핑(frame dropping), 적응 필터링(adaptive filtering), 또는 레이트 제어를 위한 다른 기술을 이용할 수 있다.
재구성된 현재 프레임이 후속하는 모션 추정/보정을 위해 필요할 때, 역 양자화기(676)는 양자화된 스펙트럼 데이터 계수에 역 양자화를 수행한다. 그 후, 역 주파수 변환기(666)는 주파수 변환기(660)의 역동작을 수행하여, 재구성된 예측 잉여(예측 프레임을 위한) 또는 재구성된 키 프레임을 생성한다. 현재 프레임(605)이 키 프레임이면, 재구성된 키 프레임은 재구성된 현재 프레임(도시되지 않음)으로 취해진다. 현재 프레임(605)이 예측 프레임이면, 재구성된 예측 잉여는 재구성된 현재 프레임을 형성하기 위해 모션-보정된 현재 프레임(635)에 추가된다. 프레임 저장 장치(620)는 후속 프레임을 예측하는 데에 이용하기 위한 재구성된 현재 프레임을 버퍼링한다. 몇몇 실시예에서, 인코더는 프레임의 블록에서의 불연속을 적응적으로 평활화하기 위해, 재구성된 프레임에 역블로킹 필터(deblocking filter)를 적용한다.
엔트로피 코더(680)는 특정 보조 정보[예, 모션 정보(615), 양자화 스텝 사이즈] 뿐만 아니라 양자화기(670)의 출력을 압축한다. 전형적인 엔트로피 코딩 기술은 수학적 코딩, 미분 코딩, 허프만 코딩(Huffman coding), 런 길이 코딩, LZ 코딩, 사전 코딩(dictionary coding), 및 상기의 조합을 포함한다. 엔트로피 코더(680)는 전형적으로 다른 종류의 정보(예, DC 계수, AC 계수, 다른 종류의 보조 정보)를 위한 다른 코딩 기술을 이용하고, 특정 코딩 기술 내에서 다수의 코드 표 중에서부터 선택할 수 있다.
엔트로피 코더(680)는 압축된 비디오 정보(695)를 버퍼(690)에 둔다. 버퍼 수준 지시기(buffer level indicator)는 비트레이트 적응 모듈에 다시 입력된다. 압축된 비디오 정보(695)는 일정한 또는 상대적으로 일정한 비트레이트로 버퍼(690)로부터 비워지고 그 비트레이트로 후속 스트리밍을 위해 저장된다. 대안적으로, 인코더 시스템(600)은 압축 직후에 압축 비디오 정보를 스트리밍한다.
버퍼(690) 전 또는 후에, 압축된 비디오 정보(695)는 네트워크로 전송되기 위해 채널 코딩될 수 있다. 채널 코딩은 압축된 비디오 정보(695)에 오차 검출 및 수정 데이터를 적용할 수 있다.
B. 비디오 디코더
도 7은 일반적인 비디오 디코더 시스템(700)의 블록도이다. 디코더 시스템(700)은 비디오 프레임의 압축된 시퀀스를 위한 정보(795)를 수신하고 재구성된 프레임(705)을 포함하는 출력을 생성한다. 전형적으로, 비디오 디코더의 특정 실시예는 일반화된 디코더(700)의 변형 또는 보충된 버전을 이용한다.
디코더 시스템(700)은 예측된 프레임 및 키 프레임을 압축 해제한다. 설명의 목적으로, 도 7은 디코더 시스템(700)을 통한 키 프레임을 위한 경로 및 기 예측 프레임을 위한 경로를 도시한다. 디코더 시스템(700)의 다수의 구성 요소는 키 프레임 및 예측 프레임을 둘 다 압축 해제하기 위해 이용된다. 그 구성 요소에 의해 수행되는 정확한 작동은 압축되는 정보의 타입에 따라 변경될 수 있다.
버퍼(790)는 압축된 비디오 시퀀스를 위한 정보(795)를 수신하고, 수신된 정보를 엔트로피 디코더(780)에 이용 가능하게 한다. 버퍼(790)는 전형적으로 시간에 대해 상당히 일정한 레이트로 정보를 수신하고, 대역폭 또는 전송에서 단기 변형을 평활하게 하기 위한 지터 버퍼(jitter buffer)를 포함한다. 또한, 버퍼(790) 는 재생 버퍼(playback buffer) 및 다른 버퍼를 포함할 수 있다. 선택적으로, 버퍼(790)는 변하는 레이트로 정보를 수신한다. 버퍼(790) 전 또는 후에, 압축된 비디오 정보는 오차 검출 및 수정을 위해 처리되고 채널 디코딩될 수 있다.
엔트로피 디코더(780)는, 전형적으로 인코더에서 수행된 엔트로피 인코딩의 역을 적용하여, 엔트로피 코딩된 보조 정보[예, 모션 정보(715), 양자화 스텝 사이즈] 뿐만 아니라 엔트로피-코딩된 양자화 데이터를 디코딩한다. 엔트로피 디코딩은 수학적 디코딩, 미분 디코딩, 허프만 디코딩, 런 길이 디코딩, LZ 디코딩, 사전 디코딩, 및 상기의 조합을 포함한다. 엔트로피 디코더(780)는 다른 종류의 정보(예, DC 계수, AC 계수, 다른 종류의 보조 정보)를 위한 다른 디코딩 기술을 이용하고, 특정 디코딩 기술에서 다수의 코드 표 중으로부터 선택할 수 있다.
재구성되는 프레임(705)이 기 예측 프레임이면, 모션 보정기(730)는 재구성되는 프레임(705)의 예측(735)을 형성하기 위해 참조 프레임(725)에 모션 정보(715)를 적용한다. 예를 들어, 모션 보정기(730)는 매크로블록 모션 벡터를 이용하여 참조 프레임(725) 내에서 매크로블록을 찾는다. 프레임 버퍼(720)는 참조 프레임으로서 이용하기 위해 선행의 재구성된 프레임을 저장한다. 대안적으로, 모션 보정기는 다른 타입의 모션 보정을 적용한다. 모션 보정기에 의한 예측은 거의 완벽하지 않으므로, 디코더(700)는 예측 잉여도 재구성한다.
디코더가 후속하는 모션 보정을 위해 재구성된 프레임을 필요로 할 때, 프레임 저장 장치(720)는 후속 프레임을 예측하는 데이 이용하기 위해 재구성된 프레임을 버퍼링한다. 몇몇 실시예에서, 인코더는 프레임의 블록 내의 불연속을 적응적 으로 완만하게 하기 위해, 재구성된 프레임에 역블로킹 필터링을 적용한다.
역 양자화기(770)는 엔트로피-디코딩된 데이터를 역 양자화한다. 일반적으로, 역 양자화는 프레임-바이-프레임 기초 또는 다른 기초에 따라 변하는 스텝-사이즈를 가진 엔트로피-디코딩된 데이터에 균일한 스칼라 역 양자화를 적용한다. 대안적으로, 역 양자화기는 데이터에 임의의 타입의 양자화, 예를 들어, 불균일, 벡터 또는 비 적응성 양자화를 적용하고, 역 주파수 변환을 이용하지 않는 디코더 시스템에서 공간 영역 데이터를 직접 역 양자화한다.
역 양자화 주파수 변환기(760)는 양자화된 주파수 영역 데이터를 공간 영역 비디오 정보로 변환한다. 블록-기반 비디오 프레임을 위해, 역 주파수 변환기(760)는 모션 예측 잉여 데이터를 만들면서, DCT 계수의 블록에 역 DCT["IDCT"] 또는 IDCT의 변형을 적용한다. 대안적으로, 주파수 변환기(760)는 푸리에 변환(760)과 같은 또 다른 종래의 역 주파수 변환를 적용하거나 웨이브렛 또는 서브밴드 합성을 이용한다. 몇몇 실시예에서, 역 주파수 변환기(760)는 키 프레임을 위한 공간 예측 잉여의 블록에 역 주파수 변환을 적용한다. 역 주파수 변환기(760)는 8x8, 8x4, 4x8 또는 다른 크기의 역 주파수 변환을 적용할 수 있다.
Ⅲ. 전역 광도 변화 추정/보정
몇 개의 설명된 실시예는 적은 수의 파라미터에 의해 기술되는 전역 광도 변화를 추정, 적용, 코딩 및/또는 디코딩하기 위한 기술 및 수단을 포함한다. 수단 및 기술은 재구성된 비디오의 동일한 주관적 및 객관적 품질이 보다 낮은 비트레이 트에서 달성되게 한다. 각각의 개별 수단 및 기술은 1) 전역 광도 변화 보정법; 2) 전역 광도 파라미터의 파라미터화; 3) 컴퓨터를 사용한 효율적인 전역 광도 파라미터의 추정/추출; 4) 전역 광도 변화를 이용한 저비용의 프레임 시그널링; 및 5) 저비용의 전역 광도 파라미터의 시그널링 중의 하나 이상을 구현한다. 광도 변화는 프레임, 필드, 개별 블록, 개별 매크로블록 또는 매크로블록의 그룹과 같은 프레임/필드의 부분, 또는 화상의 또 다른 특정 부분일 수 있다. 아래의 설명의 많은 부분은 전체 프레임에서의 광도 변화에 대한 파라미터화 및 보정에 관한 것이지만, 광도 변화 보정을 위한 동일한 구조는 (a) 화상의 부분(예, 개별 블록 또는 매크로블록)에서 페이딩의 존재를 결정하고, (b) 그 부분에서의 페이딩 파라미터를 계산하고, (c) 화상의 주어진 부분에 대한 해당 페이딩 파라미터를 파라미터화하고 전송하는 데에 이용될 수 있다. 이 기술은 화상의 다수의 부분에 대해 반복될 수 있다.
전역 광도 변화("페이딩"이라고도 알려져 있음)는 장면의 휘도 및/또는 콘트라스트(contrast)에서의 변화일 수 있다. 전형적으로, 변화는 선형이지만, 페이딩은 동일한 구조 내에서 임의의 완만한 비선형 매핑을 포함하는 것으로 정의될 수 있다. 페이딩, 모핑 및 블렌딩은 장면 전환에 따라 비디오 프레임의 전개를 유연하게 하고 특수한 효과를 제공하기 위해, 비디오 컨텐츠의 생성에서 널리 이용된다. 또한, 특정 시퀀스는 조명의 변화로 인해 자연적으로 페이딩을 보인다. 페이딩, 모핑, 및 블렌딩과 같은 효과를 가진 비디오 프레임은 종래의 모션-기반 비디오 압축 방법으로 인코딩하기에는 상대적으로 대량의 비트를 요구하고, 그것은 그 러한 프레임에서 일반적으로 효과적이지 않다.
A. 전역 광도 변화 보정법
도 8은 전역 광도 변화 보정을 이용하여 비디오를 인코딩하기 위한 기술(800)을 도시한다. 도 6에 도시된 인코더(600)와 같은 인코더는 기술(800)을 수행할 수 있다.
우선, 인코더는 비디오 시퀀스에서 인코딩되는 현재 프레임과 같은 인코딩되는 프레임 내의 페이딩(810)을 조사한다. 인코더가 프레임에 대한 페이딩(810)을 검출하면, 인코더는 페이딩 파라미터(820)을 획득한다. 예를 들어, 인코더는 페이딩을 검출하고 섹션 C에서 설명되는 바와 같은 페이딩 파라미터를 획득한다. 대안적으로, 인코더는 다른 기술을 이용하여 페이딩을 검출하고 그리고/또는 파라미터를 획득한다. 인코더는 페이딩 보정이 활성인지 또는 비활성인지(on or off)를 시그널링하고, 활성화되어 있으면, 페이딩 파라미터도 시그널링한다.
페이딩이 프레임에 대해 검출되면, 예를 들어, 섹션 B에서 설명되는 바와 같이, 인코더는 프레임(830)에 대한 하나 이상의 참조 프레임에 페이딩 보정을 행한다. 인코더가 다수의 참조 프레임에 페이딩 보정을 수행할 때, 다수의 참조 프레임은 인코딩되고 있는 프레임의 전 또는 후(재생 순서로)에 있을 수 있다. 인코더는 인코딩되고 있는 프레임의 어느 부분이 다수의 참조 프레임의 어떤 것으로부터 보정되는 지를 시그널링한다. 이 시그널링을 위해, 인코더는 그러한 시스템에서 참조 프레임 선택을 위해 이미 이용된 시그널링을 이용할 수 있다. 몇몇 실시예에서, 인코더는 인코딩되는 프레임에 대한 모션 추정/보정에서 리매핑된 참조 프레임 및 원본 참조 프레임을 둘다 이용할 수 있다. 인코더는, 예를 들어, 페이딩된 컨텐츠 및 페이딩되지 않은 오버레이를 모두 갖는 현재 프레임을 인코딩하기 위해 이것을 행할 수 있다.
페이딩 보정 후에, 인코더는 조절된 참조 프레임으로부터 모션 추정/보정을 이용하여 프레임(840)을 인코딩할 수 있다. 인코더가 페이딩을 검출하지 않으면, 인코더는 페이딩 파라미터를 획득하거나 페이딩 보정을 수행하지 않고 프레임(840)을 인코딩한다. 인코딩이 완료되면(850), 프로세스는 종료된다.
도 9는 페이딩 보정을 이용하여 인코딩된 비디오를 디코딩하기 위한 기술(900)을 도시한다. 도 7에 도시된 디코더(700)와 같은 디코더는 기술(900)을 수행할 수 있다.
우선, 디코더는 페이딩이 디코딩되는 프레임에 대해 활성화인지 비활성화인지 조사한다(910). 이 조사를 수행하는 한 가지 방법은 인코더에 의해 전송된 시그널링 정보를 조사하는 것이다. 디코더는 해당 프레임에 대해 페이딩이 활성화되어 있는 것으로 결정하면(910), 페이딩 보정(920)을 수행한다. 예를 들어, 디코더는 인코더에 의해 전송된 페이딩 파라미터를 획득하고, 디코딩되는 프레임에 대한 하나 이상의 참조 프레임에 페이딩 보정(인코더에서 행해진 것과 같이)을 수행한다.
다음, 디코더는, 예를 들어 조절된 참조 프레임으로부터의 모션 보정을 이용하여, 프레임을 디코딩한다(930). 페이딩이 비활성이면, 디코더는 페이딩 보정을 수행하지 않고 프레임을 디코딩한다(930). 디코딩이 완료되면(940), 프로세스는 종료한다.
도 10은 전역 광도 변화 보정을 수행하기 위한 예시적인 인코더 구조(1000)를 도시한다. 이 구조(1000)에서, 인코더는 페이딩 추정에 의해 획득된 파라미터를 이용하여 참조 프레임을 조건부로 리매핑한다. 인코더는 프레임에 대해 충분한 정도의 확실성과 일관성으로 페이딩을 검출한 경우, 리매핑, 즉 페이딩 보정을 수행한다. 그렇지 않은 경우, 페이딩 보정은 일치 연산(즉, 출력=입력)이다.
도 10을 참조하면, 인코더는 페이딩이 발생하고 있는지를 결정하기 위해, 페이딩 검출 모듈(1030)을 이용하여 현재 프레임(1010)을 참조 프레임(1020)과 비교한다. 몇몇 실시예에서, 참조 프레임은 비디오 시퀀스에서 현재 프레임에 선행하는 프레임이다. 대안적으로, 참조 프레임은 선행 프레임보다 앞서거나 현재 프레임보다 뒤이다. 다수의 참조 프레임이 이용될 때, 인코더는 각각의 참조 프레임에서의 페이딩을 조사한다. 인코더는 페이딩 검출의 결과에 기초하여 "페이딩 활성화" 또는 "페이딩 비활성화" 신호(1040)를 생성한다.
페이딩이 활성화이면, 페이딩 추정 모듈(1050)는 현재 프레임(1010) 및 참조 프레임(1020)에 수행되는 계산에 기초하여 페이딩 파라미터(1060)를 추정한다. (몇몇 실시예에서의 페이딩 추정 상세 정보는 섹션 C에서 설명된다.)
페이딩 보정 모듈(1070)은 페이딩 파라미터(1060)를 이용하여 참조 프레임(1020)(대안적으로, 다수의 참조 프레임)을 리매핑한다. 다음, 인코더는 다른 인코더 모듈(1080)(예, 모션 추정 및 보정, 주파수 변환기, 및 양자화 모듈)을 이용하여 프레임을 압축할 수 있다. 인코더는 인코딩된 현재 프레임(1010)을 정의 하는 모션 벡터, 잉여 및 다른 정보(1090)를 출력한다. 병진 상의 모션 벡터(translational motion vectors)를 가진 모션 추정/보정 외에, 전역 광도 변화 보정을 위한 구조는 모션 보정-기반 비디오 코덱(video codec)의 다양한 변형에 적용할 수 있다.
도 11은 전역 광도 변화 보정을 수행하기 위한 예시적인 디코더 구조(1100)를 도시한다. 디코더는 디코딩된 현재 프레임(1110)을 생성한다. 인코딩된 페이딩-보정된 프레임을 디코딩하기 위해, 디코더는 페이딩 보정 모듈(1130)을 이용하여 선행하여 디코딩된 참조 프레임(1120)(대안적으로, 다수의 참조 프레임)에 페이딩 보정을 수행한다.
페이딩 활성/비활성 신호(1140)가 인코딩된 현재 프레임에 대해 페이딩이 활성화임을 나타내면 디코더는 참조 프레임(1120)에 페이딩 보정을 수행한다(1160). 디코더는 페이딩 추정동안 획득된 페이딩 파라미터(1150)를 이용하여 페이딩 보정(인코더에서 행해진 바와 같이)을 수행한다. 그렇지 않은 경우(페이딩이 현재 프레임에 대해 비활성이면), 페이딩 보정은 일치 연산(즉, 출력=입력)이다.
다음, 디코더는 다른 디코더 모듈(1160)(예, 모션 보정, 역 주파수 변환, 및 역 양자화 모듈)을 이용하여, 인코더에 의해 제공된 모션 벡터, 잉여 및 다른 정보(117)를 이용하여 인코딩된 프레임을 압축 해제할 수 있다.
B. 파라미터화 및 보정
비디오 편집에서, 합성 페이딩은 종종 광도 및 색도 채널에 단순 픽셀-와이즈 선형 변환을 적용하는 것에 의해 실현된다. 마찬가지로, 크로스-페이딩은 종종 시간에 따라 변하는 합성과 함께, 두 개의 비디오 시퀀스의 선형 합으로서 실현된다. 따라서, 몇몇 실시예에서, 도 10의 구조(1000)에서 도시된 것과 같은 인코더는 페이딩(자연적인지 인위적인지에 상관없이)을 픽셀-와이즈 선형 변환으로 파라미터화하고 크로스-페이딩을 선형 합으로서 파라미터화하고, 도 11의 구조(1100)에 도시된 것과 같은 디코더는 대응하는 변환을 수행한다.
I(n)이 프레임 n에서 화상이고 I(n-1)이 선행 프레임에서의 화상이라고 하자. 모션이 작으면, 단순 페이딩이 식 1에서의 제1 차수 관계에 의해 모델링된다. (식 1에서의 관계는 비디오 시퀀스에서의 가능한 모션 때문에 근사적이다.)
Figure 112003015062359-pat00001
(1)
여기서 페이딩 파라미터 B 및 C는 각각 휘도 및 콘트라스트에 대응한다. 비선형 페이딩이 발생하면, 제1 차수 성분은 전형적으로 변화의 크기를 설명한다.
화상 시퀀스 U(n)으로부터 화상 시퀀스 V(n)으로의 크로스-페이드는 식 2에서의 관계에 의해 모델링될 수 있다. 식 2에서의 관계는 시퀀스에서의 가능한 모션 때문에 근사적이다.
Figure 112003015062359-pat00002
Figure 112003015062359-pat00003
(2)
Figure 112003015062359-pat00004
Figure 112003015062359-pat00005
은 크로스-페이드의 시작을 나타내고,
Figure 112003015062359-pat00006
은 크로스-페이드의 끝을 나타낸다. 여러 프레임에 걸쳐있는 크로스-페이드에 대해, α는 작다. 크로스-페이드의 시작에서, n번째 프레임은 n-1번째 프레임의 감쇠된(콘트라스트 < 1) 버전에 가깝다. 끝 쪽을 항하면, n번째 프레임은 n-1번째 프레임의 증폭된(콘트라스트 > 1)버전이다. 즉, 크로스-페이드의 시작에서, n번째 프레임은 콘트라스트 값 1-α에 의해 스케일링된 n-1번째 프레임으로서 모델링될 수 있는 한편, 크로스-페이드의 끝에서, n번째 프레임은 콘트라스트 값 1+α에 의해 스케일링된 n-1번째 프레임으로서 모델링될 수 있다. 식 2는, 크로스-페이드의 시작과 끝에서, 인코더가 선형 규칙(아래의 식 3 및 4에서 나타난 것과 같은)을 이용하여 참조 프레임(예, n-1번째 프레임)을 리매핑함으로써 n번째 프레임을 획득할 수 있다는 것을 나타낸다.
인코더는 참조 프레임을 리매핑하는 것에 의해 전역 광도 변화의 보정을 수행한다. 인코더는 픽셀-바이-픽셀 또는 임의의 다른 기초로에 참조 프레임을 리매핑한다. 원본인 리매핑되지 않은 프레임은 본질적으로 폐기된다(반면, 다수의 참조 프레임 시나리오에서는, 리매핑되지 않은 참조도 이용됨).
아래의 선형 규칙은, 식 1에 기초하여, 참조 프레임 R의 광도값을 두 개의 파라미터 B 및 C(장면의 휘도 및 콘트라스트에 대응)로 리매핑된 참조 프레임
Figure 112003015062359-pat00007
에 리매핑한다.
Figure 112003015062359-pat00008
(3)
참조 프레임의 광도값은 콘트라스트 값에 의해 스케일링되고(또는 "가중됨"), 휘도 값에 의해 시프트(즉, 오프셋을 부가하는 것에 의해)된다. 색도에 대해, 리매핑은 아래 규칙을 따른다.
Figure 112003015062359-pat00009
(4)
여기서 μ는 색도 값의 평균이다. 일 실시예에서, 128은 색도 값의 부호 없는 8-비트 표현(unsigned 8-bit representation)에 대한 평균이라고 가정한다. 색도 리매핑을 위한 이 규칙은 휘도 성분을 이용하지 않는다.
몇몇 실시예에서, 식 3 및 4에서 이용되는 2-파라미터 선형 리매핑은 더 높은 차수의 항으로 확장된다. 예를 들어, 식 5는 R의 광도값을
Figure 112003015062359-pat00010
에 리매핑하는 2차식이다.
Figure 112003015062359-pat00011
(5)
다른 실시예는 다른 리매핑 규칙을 이용한다. 그러한 리매핑 규칙의 하나의 범주에서, 비선형 페이딩에 대해, 선형 매핑은 비선형 매핑으로 대체된다.
C. 페이딩 파라미터의 추정
페이딩 추정은 인코딩 프로세스동안 페이딩 파라미터를 계산하는 프로세스이다. 도 10의 구조(1000)에 도시된 것과 같은 인코더는 인코딩 프로세스동안 휘도(B) 및 콘트라스트(C)을 계산할 것이다.
몇몇 실시예에서, 파라미터를 정확하고 신속하게 추정하기 위해서, 인코더는 도 12에 설명된 기술(1200)을 이용한다. 설명된 기술에서, 광도 채널만이 분석된다. 대안적으로, 더 많은 계산 자원이 이용 가능한 경우, 인코더는 분석에서 색도 를 포함한다. 예를 들어, 인코더는 C를 더 로버스트(robust)하게 만들기 위해서 식 3 및 4(식 3만이 아님)에서 C에 대해 푼다.
도 12에서 설명된 실시예에서, 장면에서의 모션은 페이딩 추정 프로세스동안 무시된다. 이것은 (a) 전형적으로 정지 장면 또는 모션이 적은 장면에서 페이드 및 크로스 페이드가 발생하고, (b) 모션이 많은 장면에서는 전역 광도 변화 보정의 유용성이 매우 낮다는 관찰에 기초한다. 대안적으로, 인코더는 페이딩 파라미터 및 모션 정보에 대해 결합해서 푼다. 그리고 나서, 모션 정보는 기술(1200)의 나중 단계 또는 임의의 다른 시간에서 페이딩 파라미터의 정확도를 개량하기 위해 이용된다. 모션 정보를 이용하는 한 가지 방법은 페이딩 추정 계산으로부터 모션이 검출되는 참조 프레임의 해당 부분을 생략하는 것이다.
기술(1200)의 다양한 부분에서,
Figure 112003015062359-pat00012
또는
Figure 112003015062359-pat00013
의 절대 오차 합은 페이딩의 존재 및 파라미터를 결정하기 위한 척도의 역할을 한다. 대안적으로, 인코더는 동일한 오차 항에 대한 평균 제곱 오차["MSE"] 또는 제곱 오차의 합["SSE"]과 같은 다른 또는 추가적인 척도를 이용한다. 또는, 인코더는 다른 오차 항을 이용한다.
기술(1200)의 다양한 지점에서, 인코더는 탈출 조건(exit condition)의 만족 시 그 기술(1200)을 종료할 것이다. 도 12는 여러 탈출 조건을 나타낸다. 또 다른 탈출 조건(도 12에서 도시되지 않음)에 대해, 인코더는 그 기술(1200)의 시작 또는 중간 단계에서 콘트라스트 파라미터가 1.0에 근사한지(일 실시예에서는, .99 < C < 1.02)를 조사해서, 그러한 경우에는, 그 기술(1200)을 종료한다.
인코더는 현재 프레임 및 참조 프레임(1210)을 다운샘플링함으로써 프로세스(1200)를 시작한다. 일 실시예에서, 인코더는 수평 및 수직으로 4의 팩터로 다운샘플링한다. 선택적으로, 인코더는 또 다른 팩터로 다운샘플링할 수 있고, 다운샘플링을 전혀 하지 않을 수 있다.
다음, 인코더는 현재 및 참조 프레임(아래 문자 d로 도시됨)의 저해상도 버전에 대한 절대 오차 합
Figure 112003015062359-pat00014
을 계산한다. 절대 오차 합은 다운샘플링된 현재 프레임과 다운샘플링된 참조 프레임 사이의 픽셀값에서의 차이를 측정한다. 절대 오차 합이 특정 임계값(예, 다운샘플링된 현재 및 참조 프레임에서의 픽셀에 대한 광도값 사이에서 미리 정의된 차이 측정) 보다 작으면(1230), 인코더는 아무런 페이딩이 발생하지 않은 것으로 결정하고 페이딩 보정을 수행하지 않는다(1235).
그렇지 않은 경우, 인코더는 휘도(B) 및 콘트라스트(C) 파라미터를 추정한다(1240). B 및 C에 대한 제1 차단 추정(first cut estimate)은 Rd의 항으로 Id(n)를 모델링하는 것에 의해 획득되어진다. 일 실시예에서, 휘도 및 콘트라스트 파라미터는 전체 다운샘플링된 프레임에 대한 선형 회귀를 통해 획득되어진다. 다른 실시예에서, 인코더는 더 로버스트한 분석을 위해 총 최소 제곱(total least square), 최소 중의 제곱(least median of square), 등과 같은 통계적 분석의 다른 형태를 이용한다. 예를 들어, 인코더는 오차 항
Figure 112003015062359-pat00015
의 MSE 또는 SSE를 최 소화한다. 몇몇 환경에서, MSE 및 SSE는 로버스트하지 않으므로, 인코더는 오차 항에 대한 절대 오차 합도 검사한다. 인코더는 특정 점에 대한 고 오차 값을 폐기한다(페이딩보다는 모션에 의한 것임).
그 다음, 인코더는 B 및 C를 양자화 및 비양자화하는 것에 의해 Bf 및 Cf를 계산한다(1250). 제1 차단 파라미터는 Bf 및 Cf를 주면서, 양자화 및 비양자화되어, 그들이 허용 범위 내에 있는지를 확인하고 컴플라이언스(compliance)를 조사한다. 몇몇 실시예에서, 전형적인 8-비트 깊이 형상(signed 5-bit integer)에 대해, B 및 C는 각각 6비트로 양자화된다. B는 부호있는 5-비트 정수(signed 5-bit integer)로 표현되는 -32 내지 31의 정수 값을 취한다. Cq로 표현되는 C의 양자화된 값은 1 내지 63의 양자화된 값에 대응해서, 0.015625(1/64)의 균일한 스텝으로, 0.515625 내지 1.484375에서 변한다. 양자화는 가장 가까운 유효 비양자화된 값으로 B 및 C를 라운딩(rounding)하는 것에 의해 수행된다.
그 다음, 인코더는 원본 한계 절대 오차 합(SOrgBnd) 및 리매핑된 한계 절대 오차 합(SRmpBnd)을 계산한다(1270). 몇몇 실시예에서, 인코더는 적합도 분석(goodness-of-fit analysis)을 이용하여 합을 계산한다. 원본 해상도에서 픽셀의 난수 또는 의사 난수 세트(a random or pseudorandom set of pixels)에 대해, 인코더는 리매핑된 한계 절대 오차 합
Figure 112003015062359-pat00016
을 계산하고, 여기서 임의의 한계 M에 대해 babs(x) = min(abs(x), M)이다. 일 실시예에서, M은 인 코딩되는 프레임의 양자화 파라미터의 배수이다. 한계 M은 양자화 파라미터가 조잡(coarse)할 때 더 크고, 양자화 파라미터가 세밀할 때 더 작다. 인코더는 또한 원본 한계 절대 오차 합
Figure 112003015062359-pat00017
을 계산한다. 계산 자원이 이용 가능하면, 인코더는 전체 프레임에 대해 한계 오차 합을 계산할 것이다.
그 다음, 원본 및 리매핑된 한계 절대 오차 합의 상대 값에 기초하여, 인코더는 페이딩 보정(1280)을 이용할지를 결정한다. 예를 들어, 몇몇 실시예에서, 리매핑된 한계 오차 합이 원본 한계 오차 합의 임의의 임계값 퍼센트 σ이하가 아닌 경우, 인코더는 페이딩 보정을 수행하지 않는다. 일 실시예에서, σ = .95이다. 인코더가 페이딩 보정을 수행하고 있으면, 인코더는, 이번에는 I(n)과 R 사이의 선형 회귀에 기초하지만, 완전 해상도에서, 페이딩 파라미터를 다시 계산한다(1290). 계산 시간을 절약하기 위해, 인코더는 프레임의 난수 또는 의사난수 샘플링에 대해 반복된 선형 회귀를 수행할 수 있다. 다시, 인코더는 더 로버스트한 분석을 위해 다른 형태의 통계적인 분석(예, 총 최소 제곱, 최소 중의 제곱 등)을 선택적으로 이용할 수 있다. 인코딩이 완료되면(1290), 프로세스는 종료한다.
일 실시예에서, 인코더는 식 3 및 4에서 C=-1인 특별한 경우를 허용한다. 이러한 특별한 경우는 비트스트림에서 Cq=0에 의해 시그널링된다. 이 "역(invert)" 모드에서, 참조 프레임은 B에 의해 시프트하기 전에 반전되고, B의 범위는 2의 균일 간격으로 193 내지 319이다.
D. 시그널링
도 10의 구조(1000)에서 도시된 것과 같은 인코더는 페이딩 파라미터뿐만 아니라 페이딩 활성/비활성 시그널링 정보를 전송한다. 도 11의 구조(1100)에서 도시된 것과 같은 디코더는 시그널링 정보 및 페이딩 파라미터를 수신한다.
몇몇 실시예에서, 시퀀스 수준에서, 인코더는 전역 광도 변화 보정이 시퀀스에 대해 인에이블되었는지를 나타내기 위해 1 비트를 전송한다. 인코더는 또한 프레임 수준에서 전역 광도 변화를 시그널링할 수 있고, 그리고/또는 프레임에서 개별 블록 또는 매크로블록과 같은 프레임의 일부에 대한 전역 광도 변화를 시그널링할 수 있다.
전형적인 비디오 시퀀스의 프레임에서, 전역 광도 변화 및 페이딩의 발생은 드물다. 한 비트를 추가해서 페이딩(또는 등가적으로 페이딩의 부존재)을 신호로 보내는 것이 가능하다. 예를 들어, 인코더는 한 비트를 이용하여 프레임 수준에서 페이딩(또는 등가적으로 페이딩의 부존재)을 신호로 보낼 수 있다. 그러나, 다른 정보와 함께 페이딩(또는, 동등하게, 페이딩의 부존재)을 신호로 보내는 것이 더 경제적이다. 예를 들어, 인코더는 모션 모드[즉, 모션 벡터의 수 및 구성, 서브-픽셀 보간법(interpolation scheme)]에 대한 가변 길이 코드(VLC) 표에서의 이스케이프 시퀀스(escape sequence)를 이용하여 프레임 수준 시그널링을 수행한다. 그러한 실시예에서, 인코더는 최소 빈도 모션 모드(the least frequent motion mode) 및 페이딩 보정의 활성화를 함께 신호로 시그널링한다.
사건 F가 페이딩의 존재를 나타내고, G가 프레임에 대한 최소 빈도 모션 모드의 선택을 나타낸다고 하자. G가 거짓일 때 VLC <MVMODE>가 모션 모드를 나타낸 다고 하자. 이 VLC 표는 F 및/또는 G가 참일 때를 시그널링하는 데에 이용되는 이스케이프 부호(escape symbol) <ESC>와 함께 설계된다. 표 1은 페이딩 보정이 활성화 될 때 페이딩 파라미터 B 및 C가 후속하게 되는 F 및 모션 모드의 결합 코딩(joint coding)을 설명한다.
G = 거짓 G= 참
F = 거짓 <MVMODE> <ESC> 0
F = 참 <ESC> 1 <MVMODE>[B][C] <ESC> 1 <ESC> [B][C]
표 1 : 최소 빈도 모션 모드 및 페이딩 신호의 결합 코딩
전역 광도 변화가 특정 프레임에 대해 활성화되면, 또 다른 VLC(<MVMODE> 또는 <ESC>)가 모션 모드를 나타내기 위해 후속한다. 그 다음, 파라미터는 각각 B 및 C에 대한 두 개의 6-비트 고정 길이 코드 워드를 이용하여 시그널링된다. 대안적으로, 파라미터는 VLC를 이용하여 시그널링된다. 블록 또는 매크로블록과 같은 프레임의 개별 부분에 적용될 때, 인코더는 그 부분과 독립적으로 페이딩 파라미터를 신호로 보낼 수 있다. 예를 들어, 페이딩이 비디오 프레임의 매크로블록에만 적용하면, 페이딩 정보는 코딩된 블록 패턴 또는 변환 타입과 같은 매크로블록-수준 정보와 함께 결합 엔트로피 코드에 의해 시그널링될 수 있다.
도 13은, 인코더가 최소 빈도 모션 모드 및 페이딩의 존재를 결합하여 코딩하는 코딩 배열(일 실시예에 대해, 표 1에 대응)을 나타내는 수형도이다. (페이딩 파라미터를 위한 코딩의 상세 사항은 생략된다.) 인코더는 각각의 다른 모션 모드를 나타내기 위해 VLC를 이용한다(예, 코드 "0", "10", 및 "110"은 각각 모션 모드 0, 1 및 2를 나타낸다). 인코더는 페이딩이 활성화되지 않을 때 최소 빈도 모션 모드를 나타내기 위해 "0"이 후속되는 이스케이프 코드(예, "111")를 이용한다. 인코더는 페이딩이 활성화되어 있음을 나타내기 위해 "1"이 후속되는는 이스케이프 코드를 이용한다.
여기에서 설명된 프로그램, 프로세스 또는 방법은, 다르게 지시되지 않으면, 컴퓨팅 환경의 임의의 특정 타입에 관련되거나 한정되지 않는다는 것을 이해해야 한다. 다양한 형태의 범용 또는 특수화된 컴퓨팅 환경이 여기에서 설명된 교시에 따라 작업을 수행하거나 함께 이용될 수 있다. 소프트웨어로 나타난 실시예의 요소는 하드웨어로 구현될 수 있고 그 반대의 경우도 마찬가지이다.
본 발명의 원리가 적용될 수 있는 다수의 가능한 실시예에서, 첨부되는 청구항 및 그것의 균등물의 취지 및 범위 내에 포함될 수 있는 그러한 모든 실시예를 본 발명의 권리로서 청구한다.
인코딩할 비트의 양이 상대적으로 많은 비디오 시퀀스의 일부를 확인한 후, 그러한 부분을 더 양호하게 압축하기 위한 본 발명의 방법에 의해 비디오 압축의 목적의 하나인 레이트-왜곡 성능을 향상한다. 즉, 본 발명의 방법에 의해 동일한 양의 비트를 사용하지만 더 높은 품질을 달성할 수 있다.

Claims (46)

  1. 컴퓨터 시스템에서 컴퓨터로 구현된 방법으로서,
    비디오 인코딩 동안, 참조 비디오 프레임에 대하여 현재 비디오 프레임에서의 페이딩을 검출하는 단계,
    - 상기 검출하는 단계는
    상기 참조 비디오 프레임에 대하여 현재 비디오 프레임에 대한 오차 측정값을 계산하는 단계;
    페이딩 검출 임계값과 상기 오차 측정값을 비교하는 단계; 및
    상기 비교에 기초하여 페이딩 파라미터를 획득할지 여부를 결정하는 단계를 포함함 -
    상기 참조 비디오 프레임에 대하여 상기 현재 비디오 프레임에서 페이딩이 검출되는 경우, 상기 현재 비디오 프레임에 대하여 페이딩 보정이 활성화 상태임을, 하나의 비트 스트림에 있어서 프레임 레벨에서 시그널링(signaling)하는 단계, 및
    상기 참조 비디오 프레임에 대하여 상기 현재 비디오 프레임에서 페이딩이 검출되지 않는 경우, 상기 현재 비디오 프레임에 대하여 페이딩 보정이 비활성화 상태임을, 상기 비트 스트림에 있어서 프레임 레벨에서 시그널링하는 단계
    를 포함하는 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 오차 측정값은 절대 오차 합(absolute error sum)인 방법.
  6. 제1항에 있어서,
    상기 참조 비디오 프레임에 대하여 상기 현재 비디오 프레임에서 페이딩이 검출되는 경우, 페이딩 파라미터를 획득하는 단계 및 상기 페이딩 파라미터를 상기 비트 스트림에서 시그널링하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서,
    상기 획득하는 단계는 페이딩 파라미터를 추정하는 단계를 포함하고, 상기 추정하는 단계는 선형 회귀(linear regression)를 이용하여 상기 참조 비디오 프레임을 리매핑하여 상기 현재 비디오 프레임을 모델링함으로써 상기 페이딩 파라미터를 푸는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    상기 페이딩 파라미터를 푸는 단계는 상기 현재 비디오 프레임 및 상기 참조 비디오 프레임의 다중-해상도 분해(multi-resolution decomposition)를 이용하는 단계를 포함하는 방법.
  9. 제6항에 있어서,
    상기 획득하는 단계는 페이딩 파라미터를 추정하는 단계를 포함하고, 상기 추정하는 단계는 상기 현재 비디오 프레임 및 상기 참조 비디오 프레임의 모든 픽셀보다 적은 수의 샘플링을 이용하여 페이딩 파라미터를 푸는 단계를 포함하는 방법.
  10. 제1항에 있어서,
    상기 오차 측정값은 상기 현재 비디오 프레임 및 참조 비디오 프레임의 더 낮은 해상도의 버전(lower resolution version)에 대하여 계산되는 방법.
  11. 제1항에 있어서,
    상기 페이딩 파라미터는 픽셀-와이즈(pixel-wise) 선형 변환을 지정하는 방법.
  12. 제1항에 있어서,
    상기 페이딩 파라미터는 픽셀-와이즈 비선형 변환을 지정하는 방법.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 제1항에 있어서,
    상기 페이딩은 제1 비디오 장면과 제2 비디오 장면 사이의 크로스-페이딩을 포함하는 방법.
  24. 제23항에 있어서,
    상기 제1 비디오 장면과 제2 비디오 장면 사이의 크로스-페이딩은
    Figure 112005067133997-pat00031
    에 의하여 모델링되고, 여기서 U는 제1 비디오 장면에 대응하는 비디오 시퀀스를 나타내고 V는 제2 비디오 장면에 대응하는 비디오 시퀀스를 나타내는 방법.
  25. 제1항에 있어서,
    상기 페이딩 파라미터는 2차 또는 고차 변환을 지정하는 방법.
  26. 삭제
  27. 삭제
  28. 컴퓨터 시스템에서 컴퓨터로 구현된 방법으로서,
    복수의 비디오 프레임 각각에 대하여,
    참조 비디오 프레임에 대하여 상기 비디오 프레임에서 전역 광도 변화(global luminance change)가 발생하는지 여부를 검출하는 단계,
    상기 비디오 프레임에 대한 전역 광도 변화 보정 활성화/비활성화 신호(global luminance change compensation on/off signal)의 값을 결정하는 단계 - 상기 값은 전역 광도 변화 보정이 상기 비디오 프레임에 사용되는지 여부에 의존함 -, 및
    상기 전역 광도 변화 보정 활성화/비활성화 신호의 값을 프레임 레벨에서 시그널링하는 단계
    를 포함하는 방법.
  29. 제28항에 있어서,
    상기 복수의 비디오 프레임을 포함하는 시퀀스에 대한 전역 광도 변화 보정 기능 활성화/비활성화 신호의 값을 비디오 시퀀스 레벨에서 시그널링하는 단계를 더 포함하는 방법.
  30. 제28항에 있어서,
    상기 복수의 비디오 프레임 중 적어도 하나에 대하여, 상기 비디오 프레임에 대한 전역 광도 변화 파라미터를 추정하는 단계를 더 포함하고, 상기 전역 광도 변화 파라미터는 상기 비디오 프레임에 대한 전역 광도 변화 보정 활성화/비활성화 신호의 값 다음에 시그널링되는 방법.
  31. 컴퓨터 시스템에서 컴퓨터로 구현된 방법으로서,
    복수의 비디오 프레임 각각에 대하여,
    프레임 레벨에서 정보를 수신하는 단계 - 상기 정보는 상기 비디오 프레임에 대한 전역 광도 변화 보정 활성화/비활성화 신호의 값을 포함함 -, 및
    상기 비디오 프레임에 대한 전역 광도 변화 보정 활성화/비활성화 신호에 기초하여, 상기 비디오 프레임에 대하여 전역 광도 변화 보정이 활성화인지 또는 비활성화인지 여부를 결정하는 단계
    를 포함하는 방법.
  32. 제31항에 있어서,
    상기 복수의 비디오 프레임을 포함하는 시퀀스에 대한 전역 광도 변화 보정 기능 활성화/비활성화 신호의 값을 비디오 시퀀스 레벨에서 수신하는 단계를 더 포함하는 방법.
  33. 제28항 내지 제32항 중 어느 한 항에 있어서,
    상기 전역 광도 변화 보상 활성화/비활성화 신호의 값은 1개 이상의 엔트로피 코드의 부분으로서 시그널링되는 방법.
  34. 제28항 내지 제32항 중 어느 한 항에 있어서,
    상기 전역 광도 변화 보상 활성화/비활성화 신호의 값은 단일 비트로서 시그널링되는 방법.
  35. 컴퓨터 시스템에서 하나 이상의 비디오 프레임을 처리하는 컴퓨터 구현 방법에 있어서,
    페이딩 보정을 위한 페이딩 파라미터를 추출하는 단계 - 상기 추출은 상기 하나 이상의 비디오 프레임에서 페이딩이 검출된 때 수행됨 -
    를 포함하고, 상기 추출단계는,
    다운샘플링된 현재 프레임과 하나 이상의 다운샘플링된 참조 프레임 사이의 픽셀값에서의 차이에 기초하여 예비 페이딩 파라미터를 획득하는 단계;
    상기 예비 페이딩 파라미터를 양자화하는 단계; 및
    상기 예비 페이딩 파라미터를 비양자화하는 단계
    를 포함하는 컴퓨터 구현 방법.
  36. 제35항에 있어서, 상기 추출 단계는,
    완전 해상도 현재 프레임과 하나 이상의 완전 해상도 참조 프레임 사이의 픽셀값 차이에 기초하여 최종 페이딩 파라미터를 획득할지를 결정하기 위해 상기 비양자화된 예비 페이딩 파라미터를 이용하는 단계; 및
    상기 최종 페이딩 파라미터를 획득하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  37. 제36항에 있어서, 상기 최종 페이딩 파라미터를 상기 획득하는 단계는, 상기 완전 해상도 현재 프레임 및 상기 하나 이상의 완전 해상도 참조 프레임에 대한 선형 회귀 분석을 수행하는 단계를 포함하는 컴퓨터 구현 방법.
  38. 제36항에 있어서, 상기 비양자화된 예비 페이딩 파라미터를 이용하는 단계는,
    상기 비양자화된 예비 페이딩 파라미터에 기초하여 리매핑된 한계 절대 오차 합(remapped bounded absolute error sum)을 계산하는 단계;
    원본 한계 절대 오차 합을 계산하는 단계; 및
    상기 원본 한계 절대 오차 합과 상기 리매핑된 한계 절대 오차 합을 비교하는 단계
    를 포함하는 컴퓨터 구현 방법.
  39. 제35항에 있어서, 상기 예비 페이딩 파라미터를 획득하는 단계는, 상기 다운샘플링된 현재 프레임 및 상기 하나 이상의 다운샘플링된 참조 프레임에 대해 선형 회귀 분석을 수행하는 단계를 포함하는 컴퓨터 구현 방법.
  40. 제35항에 있어서, 예비 페이딩 파라미터를 상기 획득하는 단계는 상기 다운샘플링된 현재 프레임 및 상기 하나 이상의 다운샘플링된 참조 프레임에 대해 총 최소 제곱 분석(total least squares analysis)을 수행하는 단계를 포함하는 컴퓨터 구현 방법.
  41. 제35항에 있어서, 상기 예비 페이딩 파라미터를 획득하는 단계는, 상기 다운샘플링된 현재 프레임 및 상기 하나 이상의 다운샘플링된 참조 프레임에 대해 최소 중의 제곱 분석(least median of squares analysis)을 수행하는 단계를 포함하는 컴퓨터 구현 방법.
  42. 삭제
  43. 컴퓨터로 구현된 방법으로서,
    인코딩 동안 비디오 시퀀스 내의 복수의 비디오 프레임의 각각에 대하여,
    비디오 시퀀스에 대한 비트 스트림에 있어서 프레임 신택스(syntax) 레벨에서 상기 비디오 프레임에 대한 페이딩 보정 활성화/비활성화 신호를 시그널링하는 단계; 및
    상기 비디오 프레임에 대하여 페이딩 보정이 활성화된 경우, 상기 비트 스트림에서 비디오 프레임에 대한 상기 페이딩 보정 활성화/비활성화 신호에 후속하는 복수의 페이딩 파라미터들을 시그널링하는 단계
    를 포함하고, 상기 복수의 페이딩 파라미터들은 상기 비디오 프레임의 적어도 일부에 대한 페이딩 보정을 위한 것이며, 상기 페이딩 보정은 상기 복수의 페이딩 파라미터에 적어도 부분적으로 기초하여 참조 비디오 프레임에서의 복수의 픽셀 값을 조정하는 것을 포함하는 방법.
  44. 컴퓨터로 구현된 방법으로서,
    디코딩 동안 비디오 시퀀스 내의 복수의 비디오 프레임의 각각에 대하여,
    비디오 시퀀스에 대한 비트 스트림에 있어서 프레임 신택스(syntax) 레벨에서 상기 비디오 프레임에 대한 페이딩 보정 활성화/비활성화 신호를 수신하고 처리하는 단계; 및
    상기 비디오 프레임에 대하여 페이딩 보정이 활성화된 경우, 상기 비트 스트림에서 비디오 프레임에 대한 상기 페이딩 보정 활성화/비활성화 신호에 후속하는 복수의 페이딩 파라미터들을 수신하고 처리하는 단계
    를 포함하고, 상기 복수의 페이딩 파라미터들은 상기 비디오 프레임의 적어도 일부에 대한 페이딩 보정을 위한 것이며, 상기 페이딩 보정은 상기 복수의 페이딩 파라미터에 적어도 부분적으로 기초하여 참조 비디오 프레임에서의 복수의 픽셀 값을 조정하는 것을 포함하는 방법.
  45. 제43항 또는 제44항에 있어서,
    상기 복수의 페이딩 파라미터는 고정 길이로 코딩된 방법.
  46. 제1항, 제5항 내지 제12항, 제23항 내지 제25항, 제28항 내지 제32항, 제35항 내지 제41항, 제43항, 및 제44항 중 어느 한 항에 기재된 방법을 컴퓨터로 하여금 수행하도록 하는 컴퓨터 실행 가능 명령어를 저장하는 컴퓨터로 판독 가능한 매체.
KR1020030026663A 2002-05-03 2003-04-28 페이딩 추정/보정 KR100578433B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US37762802P 2002-05-03 2002-05-03
US60/377,628 2002-05-03
US10/378,988 2003-03-03
US10/378,988 US7463684B2 (en) 2002-05-03 2003-03-03 Fading estimation/compensation

Publications (2)

Publication Number Publication Date
KR20030086903A KR20030086903A (ko) 2003-11-12
KR100578433B1 true KR100578433B1 (ko) 2006-05-11

Family

ID=29219039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030026663A KR100578433B1 (ko) 2002-05-03 2003-04-28 페이딩 추정/보정

Country Status (6)

Country Link
US (1) US7463684B2 (ko)
EP (1) EP1359765B1 (ko)
JP (1) JP4545388B2 (ko)
KR (1) KR100578433B1 (ko)
CN (1) CN1262916C (ko)
HK (1) HK1060464A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US7379076B2 (en) * 2004-07-15 2008-05-27 Microsoft Corporation Using pixel homogeneity to improve the clarity of images
WO2006033953A1 (en) * 2004-09-16 2006-03-30 Thomson Licensing Video codec with weighted prediction utilizing local brightness variation
US8239766B2 (en) * 2005-09-27 2012-08-07 Qualcomm Incorporated Multimedia coding techniques for transitional effects
JP5006633B2 (ja) * 2006-03-10 2012-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
GB2444992A (en) * 2006-12-21 2008-06-25 Tandberg Television Asa Video encoding using picture division and weighting by luminance difference data
JP2008193503A (ja) * 2007-02-06 2008-08-21 Oki Electric Ind Co Ltd 動画像符号化装置および動画像符号化方法
KR101203426B1 (ko) * 2008-04-23 2012-11-21 삼성전자주식회사 영상 기록재생기기 및 그 페이드 처리방법
KR100970142B1 (ko) * 2008-06-05 2010-07-16 신복인 정량측정이 가능한 블로우용기
KR100970308B1 (ko) * 2008-06-03 2010-07-15 신복인 정량측정이 가능한 용기형 비닐용기
JP2010010915A (ja) * 2008-06-25 2010-01-14 Sony Corp 画像処理装置および方法、並びにプログラム
JP5156704B2 (ja) 2008-07-29 2013-03-06 パナソニック株式会社 画像符号化装置、画像符号化方法、集積回路及びカメラ
EP2154893A1 (en) * 2008-08-13 2010-02-17 Thomson Licensing Method for modifying a reference block of a reference image, method for encoding or decoding a block of an image by help of a reference block and device therefor and storage medium or signal carrying a block encoded by help of a modified reference block
US20100054542A1 (en) * 2008-09-03 2010-03-04 Texas Instruments Incorporated Processing video frames with the same content but with luminance variations across frames
US8269885B2 (en) * 2009-04-03 2012-09-18 Samsung Electronics Co., Ltd. Fade in/fade-out fallback in frame rate conversion and motion judder cancellation
JP5393573B2 (ja) * 2010-04-08 2014-01-22 株式会社Nttドコモ 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法、動画像予測符号化プログラム、及び動画像予測復号プログラム
CN102158729B (zh) * 2011-05-05 2012-11-28 西北工业大学 无参考的视频序列编码质量客观评价方法
JP2012244353A (ja) * 2011-05-18 2012-12-10 Sony Corp 画像処理装置および方法
US9706229B2 (en) 2013-06-05 2017-07-11 Texas Instruments Incorporated High definition VP8 decoder
JP6303352B2 (ja) * 2013-09-18 2018-04-04 株式会社デンソーウェーブ 外観検査システム
FI125733B (en) 2014-06-02 2016-01-29 3Gren Oy VERTICAL CULTIVATOR FOR PLANT GROWING
FR3033114A1 (fr) * 2015-02-19 2016-08-26 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US10542277B2 (en) * 2017-10-24 2020-01-21 Arm Limited Video encoding
KR101974138B1 (ko) * 2018-03-12 2019-04-30 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03145392A (ja) 1989-10-31 1991-06-20 Nec Corp 動き補償フレーム間符号化・復号化方法とその符号化装置・復号化装置
US5245436A (en) 1992-02-14 1993-09-14 Intel Corporation Method and apparatus for detecting fades in digital video sequences
JPH0646412A (ja) 1992-07-24 1994-02-18 Victor Co Of Japan Ltd 動画像予測符号化方法及び復号方法
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
JP3795932B2 (ja) 1994-05-19 2006-07-12 富士写真フイルム株式会社 画像データ圧縮符号化方法および装置
US5568167A (en) * 1994-09-23 1996-10-22 C-Cube Microsystems, Inc. System for providing antialiased video overlays
US5995670A (en) * 1995-10-05 1999-11-30 Microsoft Corporation Simplified chain encoding
GB9607645D0 (en) 1996-04-12 1996-06-12 Snell & Wilcox Ltd Processing of video signals prior to compression
JPH1042195A (ja) * 1996-04-27 1998-02-13 Victor Co Of Japan Ltd 映像切換え装置
JP2938412B2 (ja) 1996-09-03 1999-08-23 日本電信電話株式会社 動画像の輝度変化補償方法、動画像符号化装置、動画像復号装置、動画像符号化もしくは復号プログラムを記録した記録媒体および動画像の符号化データを記録した記録媒体
US6266370B1 (en) * 1996-09-03 2001-07-24 Nippon Telegraph And Telephone Corporation Brightness-variation compensation method and coding/decoding apparatus for moving pictures
US6094455A (en) * 1996-09-25 2000-07-25 Matsushita Electric Industrial Co., Ltd. Image compression/encoding apparatus and system with quantization width control based on bit generation error
EP0945023B1 (en) 1996-12-10 2002-09-18 BRITISH TELECOMMUNICATIONS public limited company Video coding
US6735253B1 (en) * 1997-05-16 2004-05-11 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
JP3911768B2 (ja) * 1997-06-02 2007-05-09 ソニー株式会社 画像符号化方法及び画像符号化装置
US6195458B1 (en) * 1997-07-29 2001-02-27 Eastman Kodak Company Method for content-based temporal segmentation of video
US5978029A (en) * 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6002400A (en) * 1997-11-19 1999-12-14 International Business Machines Corporation Method and apparatus for handles to components in graphical windows user interface
US6100940A (en) * 1998-01-21 2000-08-08 Sarnoff Corporation Apparatus and method for using side information to improve a coding system
JP2000059792A (ja) * 1998-08-06 2000-02-25 Pioneer Electron Corp 動画像信号の高能率符号化装置
JP3166716B2 (ja) * 1998-08-12 2001-05-14 日本電気株式会社 フェード画像対応動画像符号化装置及び符号化方法
JP3957915B2 (ja) 1999-03-08 2007-08-15 パイオニア株式会社 フェード検出装置及び情報符号化装置
JP2001231045A (ja) * 2000-02-15 2001-08-24 Nec Corp 動画像符号化および復号化装置
EP1303988A1 (en) * 2000-07-13 2003-04-23 Koninklijke Philips Electronics N.V. Pre-processing method for motion estimation
JP4328000B2 (ja) 2000-08-02 2009-09-09 富士通株式会社 動画像符号化装置および動画像の特殊効果シーン検出装置
US6771311B1 (en) * 2000-12-11 2004-08-03 Eastman Kodak Company Automatic color saturation enhancement
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치

Also Published As

Publication number Publication date
KR20030086903A (ko) 2003-11-12
US7463684B2 (en) 2008-12-09
US20030206593A1 (en) 2003-11-06
EP1359765A2 (en) 2003-11-05
CN1460924A (zh) 2003-12-10
EP1359765A3 (en) 2004-11-17
CN1262916C (zh) 2006-07-05
EP1359765B1 (en) 2013-05-08
JP2004032718A (ja) 2004-01-29
HK1060464A1 (en) 2004-08-06
JP4545388B2 (ja) 2010-09-15

Similar Documents

Publication Publication Date Title
US11451793B2 (en) Parameterization for fading compensation
KR100578433B1 (ko) 페이딩 추정/보정
KR100578432B1 (ko) 페이딩 보정을 위한 시그널링
CN110024398B (zh) 针对屏幕远程处理场景的局部的基于散列的运动估计
US7120197B2 (en) Motion compensation loop with filtering
US6823015B2 (en) Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data
EP1746840A2 (en) Parameterization for fading compensation

Legal Events

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

Payment date: 20130416

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140417

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 14