KR20050062835A - 움직임 벡터 추정방법 및 부호화 모드 결정방법 - Google Patents

움직임 벡터 추정방법 및 부호화 모드 결정방법 Download PDF

Info

Publication number
KR20050062835A
KR20050062835A KR1020030093157A KR20030093157A KR20050062835A KR 20050062835 A KR20050062835 A KR 20050062835A KR 1020030093157 A KR1020030093157 A KR 1020030093157A KR 20030093157 A KR20030093157 A KR 20030093157A KR 20050062835 A KR20050062835 A KR 20050062835A
Authority
KR
South Korea
Prior art keywords
block
motion vector
frame
rate
blocks
Prior art date
Application number
KR1020030093157A
Other languages
English (en)
Other versions
KR101044934B1 (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 학교법인 대양학원
Priority to KR1020030093157A priority Critical patent/KR101044934B1/ko
Priority to US11/015,277 priority patent/US7848426B2/en
Publication of KR20050062835A publication Critical patent/KR20050062835A/ko
Application granted granted Critical
Publication of KR101044934B1 publication Critical patent/KR101044934B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

입력된 동영상의 프레임 레이트(frame rate)를 줄이고자 할 때, 움직임 벡터와 움직임 보상 블록 타입을 다시 결정하여 원하는 프레임 레이트에 맞춘 압축 동영상으로 변환하기 위한 움직임 벡터 추정방법 및 인코딩 모드 결정 방법이 개시된다. 본 발명에 따라, 트랜스코더에서 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 방법은, (a) 현재 프레임 매크로 블록의 움직임 벡터가, 버려진 프레임의 매크로 블록을 참조하여 만들어져 있는가를 판단하는 단계; 및 (b) 상기 판단결과 버려진 프레임의 매크로 블록을 참조하여 만들어진 것이라면, 버려지지 않은 참조 프레임이 존재할 때까지 참조 프레임을 역추적하여 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, 영상의 질을 저하시키지 않고도 트랜스코딩 시간을 크게 단축시킬 수 있는 효과가 있다.

Description

움직임 벡터 추정방법 및 부호화 모드 결정방법 { Motion vector estimation method and encoding mode determining method }
본 발명은 압축된 동영상 데이터의 변환에 관한 것으로, 보다 상세하게는 입력된 동영상의 프레임 레이트(frame rate)를 줄이고자 할 때, 움직임 벡터와 움직임 보상 블록 타입을 다시 결정하여 원하는 프레임 레이트에 맞춘 압축 동영상으로 변환하기 위한 움직임 벡터 추정방법 및 인코딩 모드 결정 방법에 관한 것이다.
인터넷, 무선 네트워크, 셀룰러(cellular) 네트워크 등 다양한 네트워크를 통하여 여러 가지 디지털 미디어 컨텐츠가 전송될 수 있다. 이들 네트워크들은 대역폭이 서로 다기 때문에 여러가지 네트워크를 통하여 다양한 멀티미디어 응용 서비스를 제공하기 위해서는 네트워크의 대역폭(bandwidth)에 따라서 비디오 비트스트림의 비트레이트를 변경할 필요가 있다. 응용 서비스나 인코더에 따라서는 율제어 방법(rate control method)이 사용되기도 하지만, 주문형 비디오(Video On Demand, VOD) 서비스와 같은 응용 서비스에서는 소스 비트스트림이 이미 타겟 비트레이트에 맞추어 압축되어 있기 때문에 네트워크의 상황에 따라서 율제어를 수행할 필요가 없다.
따라서, 율제어 방법 대신 스케일러블 비디오 코딩 방법이 사용될 수 있다. 스케일러블 비디오 코딩방법은 시공간적인 스케일러빌러티(temporal and spatial scalability)와 같은 특징을 이용하여 비트레이트를 네트워크의 대역폭에 맞춘다. 그러나 스케일러블 비디오 코딩 방법을 사용하면 율-왜곡(Rate-Distortion) 성능은 감소한다. 왜냐하면 오버헤드 비트가 각 스케일러블 레벨에 들어가 있기 때문이다.
네트워크의 대역폭에 전송하고자 하는 데이터의 비트레이트를 맞추기 위해서는 원래의 비트스트림(original bitstream)을 낮은 비트레이트로 변경함으로서 율제어와 같은 기능을 하게 할 수 있다. 트랜스코더(transcoder)는 어떤 형식으로 압축된 데이터를 다른 형식의 압축 데이터로 변환시키는 장치이다. 대부분의 트랜스코더는 공간상 다운 샘플링(spatial down-sampling)과 채널 대역폭을 만족시키기 위한 감소 프레임 레이트(reduced frame rate) 트랜스코딩 방법을 사용한다. 특히 소형 이동 단말은 프로세싱 능력과 소비전력의 제한 때문에 원래 비트스트림의 비트율에 맞추어 재생하기가 어렵다. 따라서 프레임 레이트를 변경하는 방법이 필요하다.
그리고, 주문형 비디오 서비스, 통신망을 통한 회의(teleconferencing), 원격교육(distance learning)과 같은 서비스를 다양한 네트워크를 통하여 제공하기 위해서는 영상의 프레임 레이트를 적절히 변경할 수 있는 트랜스코딩 방법 및 트랜스코더가 필요하다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 프레임 레이트를 감소시킨 트랜스코더(reduced frame rate transcoder) 및 그 트랜스코더의 인코더 프레임 버퍼에서 사용될 매크로 블록 타입과 참조 프레임을 선택하는데 사용되는 블록 적응 움직임 벡터 변환(block-based adaptive motion vector resampling, BAMVR) 방법에 의한 움직임 벡터 추정방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는, 최적의 매크로 블록 타입을 결정하는데 사용되는 율-왜곡 최적화(Rate-Distortion Optimization) 방법을 사용하여 인코딩 모드를 결정하는 방법을 제공하는 것이다.
상기 기술적 과제는 본 발명에 따라, 트랜스코더에서 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 방법에 있어서, (a) 현재 프레임 매크로 블록의 움직임 벡터가, 버려진 프레임의 매크로 블록을 참조하여 만들어져 있는가를 판단하는 단계; 및 (b) 상기 판단결과 버려진 프레임의 매크로 블록을 참조하여 만들어진 것이라면, 버려지지 않은 참조 프레임이 존재할 때까지 참조 프레임을 역추적하여 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정방법에 의해 달성된다.
상기 트랜스코더는, 적어도 하나의 프레임을 버림으로써 프레임 레이트를 줄이는 트랜스코딩을 수행하는 것이 바람직하다.
또한, 상기 기술적 과제는, (a) 소정크기의 소블록으로 구성된 매크로 블록에서 각각의 소블록을 4x4 블록으로 분할하는 단계; 및 (b) 상기 분할된 4x4 블록이 참조 프레임과 오버랩될 때, 참조 프레임의 오버랩된 소블록을 찾아 오버랩되는 부분의 면적과 오버랩된 소블록의 움직임 벡터 정보를 기초로 상기 4x4 블록의 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정방법에 의해서도 달성된다.
상기 (b) 단계는 상기 4x4 블록과 오버랩되는 소블록들의 움직임 벡터의 평균 및 오버랩된 면적의 평균에 기초하여 상기 4x4 블록의 움직임 벡터를 구하는 것이 바람직하다.
또한, 상기 기술적 과제는 (a) 현재 매크로 블록에 대해 P8x8 블록타입을 결정하는 단계; (b) 상기 매크로 블록을 16x8 블록 타입, 8x16 블록 타입 및 16x16 블록 타입을 사용하여 율-왜곡값을 계산하고, 상기 결정된 P8x8 블록 타입을 사용하여 계산된 율-왜곡값 및 인트라 블록 타입을 사용하여 계산된 율-왜곡값을 서로 비교하여 하나의 블록타입을 결정하는 단계를 포함하는 것을 특징으로 하는 모드 결정방법에 의해서도 달성된다.
상기 (a) 단계는 (a1) 상기 매크로 블록을 소정크기의 소블록으로 분할하는 단계; (a2) 상기 분할된 소블록의 움직임 벡터를 각각 계산하는 단계; 및 (a3) 상기 분할된 소블록을 8x8, 8x4, 4x8, 16x8, 8x16 및 16x16 크기로 만들어 새로운 움직임 벡터를 정하는 단계; 및 (a4) 8x8 블록단위로 율-왜곡 최적화를 수행하여 하나의 P8x8 블록 타입을 결정하는 단계를 포함하는 것이 바람직하다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
H.264는 종래의 동영상 압축 표준인 H.261, H.263, MPEG-2 그리고 MPEG-4 들과의 상호 연관성(interoperability)을 고려하지 않고 만든 표준이다. 따라서 H.264와 MPEG-4는 서로 다른 특징을 가지고 있다. 예를 들어, H.264는 4×4 블록단위로 정수 DCT를 수행하는 반면에 MPEG-4는 8×8 블록단위로 DCT를 수행한다. 또한, H.264는 복수개의 참조 프레임을 사용하며, 움직임 보상시에 가변 블록 타입을 사용하고, 1/4 픽셀 움직임 보상, 유니버설 가변길이 부호화(Universal Variable Length Code, UVLC) 또는 컨텍스트 기반 적응 이진 산술 코딩(Context based adaptive binary arithmetic coding), 그리고, 표준 율-왜곡 최적화(normative Rate-Distortion Optimization) 방법을 사용하여 최적의 매크로 블록 타입을 결정한다. 즉 움직임 예측 및 보상시에 사용될 매크로 블록 타입을 결정하고 그 매크로 블록을 사용하여 움직임 예측 및 보상을 수행한다.
도 1은 본 발명의 바람직한 실시예에 따른 트랜스코더의 블록도이다.
도 1의 트랜스코더는 블록 적응 움직임 벡터 변환을 수행한다. 트랜스코더는 디코더(110)와 인코더(120)를 구비한다. 본 실시예에서는 H.264 디코더와 인코더를 예를 들어 설명한다.
디코더(110)로 입력된 H.264 비트 스트림 Rin은 엔트로피 디코딩(Entrophy decoding)부(111)에서 엔트로피 디코딩이 수행되고, IQ-IDCT부(112)에서 역양자화 및 역DCT가 수행된다. IQ-IDCT부(112)에서의 출력신호 ed n는 인트라 Co(114), MC 수행부(115) 및 움직임 벡터 및 참조프레임(MV & Ref) 저장부(116)에서 출력된 움직임 보상신호 M(xd n-k)와 합쳐져 루프필터(Loop filter, 113)로 전달된다. 루프 필터(113)는 일종의 저역통과필터로 영상에서의 매크로 블록 경계부분을 스무딩하여 출력한다.
이렇게 디코딩된 신호 xd n은 인코더(120)로 입력된다. 인코더(120)에서는 DCT-Q부(121)에서 DCT 및 양자화를 수행하고 엔트로피 코딩부(122)에서 엔트로피 코딩을 수행하여 H.264 비트 스트림으로 출력한다. 인코딩할 때 프레임 레이트를 변경해야 하기 때문에 BAMVR 수행부(127)에서는 블록 적응 움직임 벡터 변환을 수행한다. 그 결과 얻어진 움직임 벡터 정보를 MC 수행부(126) 및 인트라 프리딕션 수행부(125)가 수신하여 움직임 보상신호 M(xt n-k)을 만들고 이 신호를 인코더 입력신호에서 빼서 DCT-Q 부(121)로 전달한다.
블록 적응 움직임 벡터 변환 방법은 트랜스코더의 인코더(120)에서 움직임 벡터와 참조 프레임을 선택하는데 사용되는 방법이다. 도 1에서 소문자로 표시한 신호들(ed n, xd n, et n)은 공간 도메인(spatial domain)상의 신호를 나타내고, 대문자로 표시한 신호들(Rin, Ed n, Et n)은 4x4 DCT 도메인 신호를 의미한다. 디코더(110)에서 출력되는 신호 xd n는 다음 수학식 1에 의해 계산된다.
여기서 ed n는 H.264 비트 스트림(Rin)에 대해 엔트로피 디코딩이 수행된 신호 Ed n가 역양자화와 역DCT 된 신호이며, Mc(xd n-k)는 디코더에 저장된 복수의 참조 프레임으로부터 움직임 보상(Motion Compensation, MC)된 신호이고 Lp는 비선형 루프 필터 함수이다. 그리고, 위첨자 d는 디코더에서의 신호라는 것을 의미하며, 아랫첨자 n은 인코딩할 현재 프레임을 나타내는 인덱스이고, k는 현재 프레임에 대한 움직임 보상에 사용될 참조 프레임 인덱스이다. 인코더에서의 잔차신호(residual signal) et n는 다음 수학식 2에 의해 계산된다.
여기서 윗첨자 t는 인코더에서의 신호라는 것을 의미한다. 상기 수학식 2를 수학식 1에 대입하면, 다음 수학식 3과 같은 결과를 얻을 수 있다.
따라서, 트랜스코더의 인코더에서의 잔차신호는 디코더에서의 재생 프레임과 인코더에서의 움직임 보상된 프레임간의 차로 구성된다. 또한, 비선형 루프 필터 함수는 다음 수학식 4에 나타낸 것과 같은 특성을 가진다.
수학식 4를 참조하면, 루프 필터 함수는 비선형 특성을 가지고 있기 때문에 인코더 및 디코더에서 참조 프레임의 선형성(linearity)은 존재하지 않는다. 도 1에 도시한 트랜스코더는 피드백 루프와 4x4 정수 DCT를 수행하기 때문에 드리프트(drift) 에러와 IDCT에서의 미스매치(mismatch) 에러가 발생하지 않는다. 드리프트 에러는 DCT 도메인 상에서의 ME/MC를 하면 에러가 누적되어 참조 프레임의 픽셀값이 점차로 바뀜으로서 생성된 에러이다.
본 발명의 트랜스코더에서는 새로운 움직임 벡터를 재추정함으로써 최적화된 움직임 벡터와 참조 프레임을 얻을 수 있다. 그러나, 움직임 벡터의 추정에 시간이 많이 소요되므로 트랜스코더에서 움직임 벡터 추정을 다시 수행하는 것은 바람직하지 않다. 따라서 트랜스코더의 디코더에 입력되는 움직임 벡터를 이용하여, 움직임 벡터를 적응적으로 재구성하는 방법이 필요하다.
도 2는 프레임을 스킵하여 프레임 레이트를 줄인 트랜스코더에서 움직임 벡터를 추정하는 것을 설명하기 위한 도면이다.
H.264 표준에서의 참조 프레임의 개수를라고 하고 트랜스코더에서 스킵된 프레임의 개수를 NFrameSkip 라고 하면, 인코더에서 프레임 스킵이 발생하였을 때 움직임 벡터를 추정하기 위한 움직임 벡터가 저장되는 메모리 크기 S는 에 의해서 계산된다. H.264 표준에서의 최대 참조 프레임의 개수는 5로 정해져 있다. 그리고, 예를 들면 NFrameSkip 이 2이면 2장의 프레임을 스킵하고 3번째 프레임마다 인코딩하고, NFrameSkip 이 3이면 3장의 프레임을 스킵하고 4번째 프레임마다 인코딩한다.
H.264에서는 움직임 추정 및 보상시에 더 나은 블록 일치 결과를 얻기 위하여 움직임 추정과정에서 복수개의 참조 프레임이 사용된다. 복수개의 참조 프레임을 사용하면 H.264 비트스트림이 오류 내성(error resilient)을 갖는다. 본 발명에서는 원래 비트스트림이 복수개의 참조 프레임을 사용하여 압축되어 있는 경우를 예를 들어 설명한다.
복수개의 참조 프레임이 사용되고 프레임 레이트를 감소시킨 본 발명의 트랜스코더에서 움직임 벡터를 재추정할 때 후술하는 3가지 경우가 발생할 수 있다. 첫 번째 경우(case 1)를 도 2를 참조하여 설명하면, 현재 프레임의 매크로 블록의 움직임 벡터가 버려진 프레임(dropped frame)인 프레임 0의 매크로 블록을 가리키고, 버려진 프레임의 매크로 블록의 움직임 벡터가 지시하는 참조 프레임이 트랜스코더의 인코더 프레임 버퍼에 저장되어 있는 프레임 1인 경우이다. 이 경우, 움직임 벡터와 참조 프레임의 수는 트랜스코더의 인코더 프레임 버퍼에 저장된 움직임 벡터와 참조 프레임의 수를 역추적함으로써 얻어진다.
두 번째 경우(case 2)는 버려진 프레임인 프레임 0의 매크로 블록의 움직임 벡터가 또 다른 버려진 프레임인 프레임 2를 가리키고 있어 인코더 프레임 버퍼에 저장되어 있지 않은 경우이다. 그러므로, 인코더 프레임 버퍼에 저장된 새로운 참조 프레임을 사용하기 위해 프레임 2의 매크로 블록의 움직임 벡터가 지시하는 움직임 벡터를 찾아 현재 프레임의 움직임 벡터를 만든다.
세 번째 경우(case 3)는, 현재 프레임의 매크로 블록이 인코더 프레임 버퍼에 저장된 참조 프레임인 프레임 1을 가리키고 있는 경우이다. 따라서, 그 움직임 벡터와 참조 프레임 수를 현재 프레임의 움직임 벡터로 직접 사용된다. 참조 프레임의 수를 결정하는 것도 각 경우에서 움직임 벡터의 결정과 동일한 방법에 의한다.
도 3은 H.264의 움직임 보상 가변 블록을 도시한 도면이다.
도 3을 참조하면, H.264는 7가지 타입의 움직임 보상 블록이 있음을 알 수 있다. 7가지 타입의 움직임 보상 블록은 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 및 4x4 이다. 따라서 하나의 매크로 블록에서 움직임 벡터의 수는 어떠한 매크로 블록 타입이 선택되었는가에 따라 달라진다. 즉, 하나의 매크로 블록에서 16x8 움직임 보상 블록이 사용되었다면 2개의 움직임 벡터가 존재하고, 8x8 움직임 보상 블록이 사용되었다면 4개의 움직임 벡터가 존재한다.
도 4는 여러 가지 움직임 보상 블록 타입에서의 움직임 벡터 변환을 설명하기 위한 도면이다.
도 4를 참조하면, 현재의 MxN 블록의 움직임 벡터가 참조 프레임의 참조 블록을 가리킬때, 트랜스코더에서 새로운 움직임 벡터를 역추적하기 위하여 2Mx2N 블록이 필요하다. 그리고 참조 프레임의 각각의 MxN 블록은 각각 움직임 벡터와 참조 프레임을 가리키고 있다. 즉, 움직임 벡터와 참조 프레임으로 좌측 상단 블록(410)은 mv1과 ref1을, 우측 상단 블록(412)은 mv2와 ref2를, 좌측 하단 블록(414)은 mv3와 ref3를, 좌측 하단 블록(416)은 mv4와 ref4를 가진다.
도 5는 4개의 4x4 블록으로 구성된 8x8 블록에서의 움직임 벡터 및 참조 프레임 계산을 설명하기 위한 도면이다.
MxN 블록이 8x8 블록이라고 하고 8x8 블록이 4개의 4x4 블록으로 구성되고 각각 SB00(510), SB01(512), SB10(514), SB11(516)라고 하자. H.264에서 도 5에 도시한 바와 같이, 참조 블록은 현재의 매크로 블록 타입과 서로 다른 매크로 블록 타입일 수 있다. 예를 들어 도 5를 참조하면, 좌측 상단 블록은 4개의 4x4 블록으로 구성되고, 우측 상단 블록은 2개의 4x8 블록으로 구성되며, 좌측 하단 블록은 2개의 8x4 블록으로 구성되고, 우측 하단 블록은 1개의 8x8 블록으로 구성됨을 알 수 있다. 하나의 4x4 블록 SB00(510)를 예를 들어 설명하면, SB00(510)은 참조 프레임을 구성하는 4개의 블록, 즉 OB0(520), OB1(522), OB2(524), OB3 (526)과 오버랩된다. 따라서 각각의 OB 블록들의 움직임 벡터와 참조 프레임의 수인 MV0, Ref0, MV1 , Ref1, MV2, Ref2, MV3, Ref3를 평균하여 SB00(510)의 움직임 벡터와 참조 프레임 수를 추정한다.
H.264에서 각 프레임에서의 매크로 블록 타입은 다양하다. 따라서 각 매크로 블록에서의 움직임 벡터의 추적은 참조 프레임의 블록과 겹쳐진 부분에 대하여 각 블록에서의 움직임 벡터를 구해야 하고, 겹쳐진 블록의 수가 경우에 따라 다르기 때문에 어렵다. 이러한 문제를 해결하기 위하여, 가장 작은 블록인 4x4 블록 타입이 사용된다. 각각의 움직임 벡터와 하나의 매크로 블록에서의 참조 프레임의 수를 추적하는 것은 4x4 블록 타입을 사용함으로서 더 효율적으로 수행될 수 있다. 움직임 벡터 및 참조 프레임 수 mvi&refi는 4x4 블록 별로 가지고 있다. 4x4 블록의 움직임 벡터와 참조 프레임의 수는 다음 수학식 5에 의해 계산된다.
여기에서 f(typei)는 각 블록의 면적(area)이다. 그리고, 인덱스 k, j는 매크로 블록의 4x4 블록에서의 수평 및 수직 인덱스를 나타내고 인덱스 i는 현재 블록중 참조 프레임과 겹치는 영역을 나타낸다. 움직임 벡터와 참조 프레임은 쌍일차 가중치(bilinear weighting)에 의해 계산된다. 크기가 큰 움직임 블록이 주변 블록에서의 프레임 정보를 지배하기 때문에 f(typei) 함수가 가중치 요소(weighting factor)에 부가된다. 현재 블록에 있는 각 4x4 블록의 움직임 벡터와 참조 프레임 수를 얻은 후에, 현재 블록의 대응 블록 타입으로 구성된 적응 움직임 벡터와 참조 프레임 수는 다음 수학식 6에 의해 계산된다.
여기서 M 과 N은(M, N = 0, 4, 8, 12) 현재 매크로 블록의 4x4 블록의 수평 및 수직 블록 크기를 나타낸다. 가중치 요소 αkj 는 1로 설정된다. 본 발명의 블록적응 움직임 벡터 변환 방법은 트랜스코더의 프레임 버퍼에서 움직임 추정을 스킵하기 위해 참조 프레임의 선택과 움직임 벡터 매핑에 관한 것이다.
도 6은 본 발명의 블록적응 움직임 벡터 변환 방법을 사용하여 각 블록 타입의 움직임 벡터를 구성하는 것을 설명하는 도면이다.
도 6에서 화살표는 움직임 벡터의 방향과 크기를 나타낸다. 우선, 4개의 8x8 블록으로 나누어진 16x16 블록에서 각 8x8 블록의 움직임 벡터와 참조 프레임 정보를 수신한다(610). 그리고, 각각의 8x8 블록을 4개의 4x4 블록으로 나눈다(620). 그리고, 8x8 블록의 움직임 벡터와 참조 프레임의 수를 각 4x4 블록에 동일하게 복사한다. 각 4x4 블록에 움직임 벡터와 참조 프레임 수에 기초한 블록적응 움직임 벡터 변환 방법이 적용된다. 즉, 상술한 수학식 5에 의하여 4x4 블록의 움직임 벡터와 참조 프레임의 수를 추정한다(630). 그리고 가중치 요소(weighting factor)를 부가하여 상술한 수학식 6에 의하여 현재 블록의 대응 블록 타입으로 구성된 적응 움직임 벡터와 참조 프레임 수를 계산한다(640).
도 7은 블록적응 움직임 벡터 변환 방법을 사용하여 움직임 벡터와 참조 프레임의 수를 계산하는 것을 설명하는 도면이다.
도 7에서는 8x8, 8x4, 4x8, 4x4 블록 타입에서 움직임 벡터와 참조 프레임의 수를 계산하는 것을 도시한다. 도 6에서 도시한 바와 같이 우선 4개의 8x8 블록으로 나누어진 16x16 블록에서 각 8x8 블록의 움직임 벡터와 참조 프레임 정보를 수신한다(710). 그리고 각각의 8x8 블록을 4개의 4x4 블록으로 나눈다(720). 다음으로 상술한 수학식 5에 의해서 각 4x4 블록의 움직임 벡터와 참조 프레임의 수를 계산한다(730).
그리고 7가지 블록 타입과 2개의 인트라 블록 타입중에서 어떠한 블록 타입을 사용하는 것이 최적인가를 결정하기 위하여 8x8 블록(740), 8x4 블록(742), 4x8 블록(744), 4x4 블록(746), 16x8 블록(748), 8x16 블록(750) 및 16x16 블록(752)에 대해서 움직임 벡터 MV와 참조 프레임의 수 Ref를 계산한다. 이렇게 하여 P8x8 타입을 결정한다. 예를 들어 760과 같은 타입을 결정하였다고 하면, 이 타입과 2개의 인트라 블록타입(770) 그리고, 16x8 블록(748), 8x16 블록(750) 및 16x16 블록(752)에서의 율-왜곡을 계산하여 최종 블록 타입(780)을 결정한다.
도 8은 상술한 프레임 스킵 환경에서의 본 발명의 블록적응 움직임 벡터 변환 방법을 구현한 수도 코드(pseudo code)를 도시한 도면이다.
여기에서, Mv와 Ref 는 각각 트랜스코딩된 움직임 벡터와 참조 프레임의 수를 나타내고 ÷는 모듈로(modulo) 연산을 나타낸다. 움직임 벡터는 트랜스코더의 프레임 버퍼가 꽉 찰때까지 누적된다. 프레임 버퍼에 프레임을 모두 저장해 둔다. 참조 프레임의 수는 스킵된 프레임의 수를 고려하여 도 8의 수도 코드 최하단의 수학식에 기술한 바에 따라 결정된다. 이때 연산자 는 x와 가장 가까운 정수를 계산하는 연산자이다.
이제 블록 적응 움직임 벡터 재샘플링을 적용한 율-왜곡 최적화에 대하여 설명한다. 본 발명의 블록적응 움직임 벡터 변환 방법은 입력되는 움직임 벡터와 현재의 매크로 블록 타입을 사용하여 현재 블록을 인코딩한다. 따라서, 트랜스코딩된 매크로 블록 타입은 입력되는 매크로 블록 타입과 동일하다. 디코더와 인코더에서 양자화 파라미터(Quantization Parameter, QP) 값의 차이가 클 때 입력되는 매크로 블록 타입은 율(rate)과 왜곡(distortion) 특성이 다르기 때문에 인코더에서 직접 사용될 수 없다.
일반적으로 큰 움직임 보상 블록은 작은 움직임 보상 블록에 비하여 적은 PSNR(Peak Signal-to-Noise Ratio)과 적은 비트레이트를 가진다. 입력되는 매크로 블록 타입이 예를 들어 4x4 블록과 같이 큰 양자화 값을 가진 작은 움직임 보상 블록일 때, 입력된 매크로 블록 타입을 직접 사용하여 수행된 트랜스코딩된 율-왜곡 성능은 현재 매크로 블록 타입을 나타내는데 최적은 아니다. 수학식 7에서의 상대적 율 가중치(relative weight of rate)는 고 양자화 값에의 왜곡보다 더 중요하기 때문에, 낮은 비트율에서 작은 움직임 보상 블록은 트랜스코딩된 매크로 블록의 타입에 적합하지 않다. 또한 입력된 매크로 블록 타입을 직접 사용하는 것은 영상의 질을 떨어뜨린다. 다음 수학식 7은 율-왜곡 최적화에 사용되는 수식이다.
여기에서, s는 유니버설 가변길이 부호화(UVLC)에 의해 코딩된 현재 매크로 블록 신호를 나타내고, c는 컨텐스트 기반 적응 이진 산술코딩(CABAC)에 의해 코딩된 현재 매크로 블록 신호를 나타낸다. MODE는 선택될 매크로 블록의 타입을 나타내며, QP는 0에서 51까지의 양자화 파라미터를 나타낸다. D는 왜곡을, R은 헤더정보 비트, 움직임 벡터 비트와 텍스처 비트(texture bit)를 포함한 비트레이트이다. 즉 R은 매크로 블록을 코딩하는데 필요한 총 비트수라고 할 수 있다. λMODE는 다음 수학식 8과 같이 정의된다.
트랜스코더에서 율제어 성능과 영상의 질을 높이기 위하여, 율-왜곡 최적화를 수행하여야 한다. 각 매크로 블록에 대해서 율-왜곡 최적화를 수행하여 최적의 매크로 블록 타입이 선택되는데, 이는 수학식 7에서 정의한 율-왜곡 함수를 최소화하는 매크로 블록 타입을 선택하도록 계산된다.
율-왜곡 최적화에서, 인트라 프레임에서의 매크로 블록 타입은 인트라 4x4와 인트라 16x16 중에서 선택된다. 그리고 인터 프레임에서의 매크로 블록 타입은 인트라 4x4, 인트라 16x16, skip, 16x16, 16x8, 8x16, P8x8 중에서 선택된다. 매크로 블록 타입을 선택하기 위해서 양자화 파라미터(QP)가 사용된다. 상기 수학식 7을 이용한 매크로 블록 타입 결정, 즉 율-왜곡 최적화는 어떠한 비트레이트에 대한 최적의 매크로 블록 타입을 결정하는 방법이다. 본 발명의 블록적응 움직임 벡터 변환 방법은 율-왜곡 최적화에서 움직임 벡터와 참조 프레임 수를 제공한다. 가장 작은 블록 타입(4x4)을 추적하는 블록적응 움직임 벡터 변환 방법은, 하나의 매크로 블록에서 가변 블록 타입을 구성하기에 쉽다. 또한 가장 작은 블록 타입을 사용하기 때문에 불필요한 계산도 줄일 수 있다.
도 9는 블록적응 움직임 벡터 변환 방법과 결합한 율-왜곡 최적화를 사용하여 최적의 매크로 블록 타입을 결정하는 플로우차트이다.
원래의 압축 비트스트림(original compressed bitstream)은 율-왜곡 최적화에 의해 선택된 오직 하나의 매크로 블록 타입을 포함한다. 블록적응 움직임 벡터 변환 방법에서는 움직임 벡터를 선택하기 위하여 가변 매크로 블록 타입을 허용하기 때문에 7개의 움직임 보상 매크로 블록 타입과 2개의 인트라 매크로 블록 타입을 통한 블록적응 움직임 벡터 변환 결과는 상기 수학식 7에서의 율과 왜곡을 알아내는데 사용된다. 최적의 매크로 블록 타입을 결정한 후 선택된 매크로 블록 타입의 인코딩이 수행된다.
도 10a 내지 도 10d는 본 발명의 트랜스코더의 성능을 도시한 그래프이다.
본 발명의 트랜스코딩 방법을 H.264 JM4.2 비디오 코덱에서 구현하여 그 성능을 검사하였다. 입력 스트림은 컨텍스트 기반의 적응 이진 산술 코딩(CABAC)에 의해 코딩된 스트림이고 가변 블록 기반의 움직임 보상 및 움직임 예측이 수행되면 블록 크기는 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 및 4x4 이다. 움직임 벡터 탐색 영역(search range)은 -16에서 16이며, quarter-pixel MC, 4x4 정수 DCT 및 율-왜곡 최적화가 수행된다.
입력 비트 스트림은 양자화(QP) 값이 10이며, 30 frame/sec로 압축되어 있다. 첫 번째 프레임은 인트라 프레임이며 나머지 프레임은 인터 프레임이다. 인트라 및 인터 프레임은 트랜스코딩 과정에서 보존된다. 본 성능검사에서는 B-프레임이 존재하는 경우는 고려하지 않았다. 도 10a 내지 도 10d에서 4 가지 종류의 영상에 대해서 PSNR을 도시하였다. 각각의 영상은 QCIF(Quarter Common Intermediate Format) 포맷의 Foreman 영상과 Silent Voice 영상, 그리고 CIF 포맷의 Mobile&Calendar 영상과 Paris 영상이다.
도 10a 내지 도 10d를 참조하면 블록 적응 움직임 벡터 재샘플링(BAMVR) 방법을 적용한 율-왜곡 최적화를 사용하면 블록 적응 움직임 벡터 재샘플링(BAMVR) 방법만을 사용하였을 때 또는 움직임 예측을 사용하지 않은 간략화한 예측방법(simplified prediction)을 사용하였을 때 보다 향상됨을 알 수 있다. 그리고 일반적인 full-ME 캐스캐이드 트랜스코딩 방법을 사용하였을 때와 PSNR이 거의 유사한 결과를 얻을 수 있음을 알 수 있다. 또한 silent voice 영상 또는 Paris 영상과 같이 움직임이 적은 영상은 PSNR의 차이가 0.2dB 정도 되는데 비하여 Foreman 또는 Mobile&Calendar이미지는 0.5 내지 1dB의 PSNR 감소가 있음을 알 수 있다.
도 11a 내지 도 11b는 트랜스코딩시에 입력된 매크로 블록 타입을 그대로 사용한 경우와 본 발명의 블록 적응 움직임 벡터 재샘플링 방법을 적용한 율-왜곡 최적화 방법을 사용하였을 때 재구성된 영상을 도시한 도면이다.
도 11a 내지 도 11b를 참조하면, 루프 필터가 각각 사용되고 PNSR의 차이가 적다고 하더라도 어떤 비트레이트에서는 부적절한 매크로 블록 타입이 사용되었기 때문에 영상이 뭉그러지는 현상(blocky)이 코와 눈 부분에서 발생함을 알 수 있다.
도 12는 여러 가지 방법을 사용한 경우의 평균 계산량을 도시한 그래프이다.
도 12를 참조하면, 본 발명의 블록 적응 움직임 벡터 재샘플링(BAMVR) 방법을 적용한 율-왜곡 최적화 방법은 full-ME 캐스캐이드 트랜스코더에 비하여 15% 정도 밖에 안됨을 알 수 있다.
한편, 전술한 움직임 벡터 추정방법 및 인코딩 모드 결정방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 움직임 벡터 추정방법 및 인코딩 모드 결정방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
전술한 바와 같이 본 발명에 따르면, 영상의 질을 저하시키지 않고도 트랜스코딩 시간을 크게 단축시킬 수 있는 효과가 있다.
도 1은 본 발명의 바람직한 실시예에 따른 트랜스코더의 블록도이다.
도 2는 프레임을 스킵하여 프레임 레이트를 줄인 트랜스코더에서 움직임 벡터를 추정하는 것을 설명하기 위한 도면이다.
도 3은 H.264의 움직임 보상 가변 블록을 도시한 도면이다.
도 4는 여러 가지 움직임 보상 블록 타입에서의 움직임 벡터 변환을 설명하기 위한 도면이다.
도 5는 4개의 4x4 블록으로 구성된 8x8 블록에서의 움직임 벡터 및 참조 프레임 계산을 설명하기 위한 도면이다.
도 6은 본 발명의 블록적응 움직임 벡터 변환 방법을 사용하여 각 블록 타입의 움직임 벡터를 구성하는 것을 설명하는 도면이다.
도 7은 블록적응 움직임 벡터 변환 방법을 사용하여 움직임 벡터와 참조 프레임의 수를 계산하는 것을 설명하는 도면이다.
도 8은 상술한 프레임 스킵 환경에서의 본 발명의 블록적응 움직임 벡터 변환 방법을 구현한 수도 코드(pseudo code)를 도시한 도면이다.
도 9는 블록적응 움직임 벡터 변환 방법과 결합한 율-왜곡 최적화를 사용하여 최적의 매크로 블록 타입을 결정하는 플로우차트이다.
도 10a 내지 도 10d는 본 발명의 트랜스코더의 성능을 도시한 그래프이다.
도 11a 내지 도 11b는 트랜스코딩시에 입력된 매크로 블록 타입을 그대로 사용한 경우와 본 발명의 블록 적응 움직임 벡터 재샘플링 방법을 적용한 율-왜곡 최적화 방법을 사용하였을 때 재구성된 영상을 도시한 도면이다.
도 12는 여러 가지 방법을 사용한 경우의 평균 계산량을 도시한 그래프이다.

Claims (8)

  1. 트랜스코더에서 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 방법에 있어서,
    (a) 현재 프레임 매크로 블록의 움직임 벡터가, 버려진 프레임의 매크로 블록을 참조하여 만들어져 있는가를 판단하는 단계; 및
    (b) 상기 판단결과 버려진 프레임의 매크로 블록을 참조하여 만들어진 것이라면, 버려지지 않은 참조 프레임이 존재할 때까지 참조 프레임을 역추적하여 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정방법.
  2. 제1항에 있어서, 상기 트랜스코더는
    적어도 하나의 프레임을 버림으로써 프레임 레이트를 줄이는 트랜스코딩을 수행하는 것을 특징으로 하는 움직임 벡터 추정방법.
  3. (a) 소정크기의 소블록으로 구성된 매크로 블록에서 각각의 소블록을 4x4 블록으로 분할하는 단계; 및
    (b) 상기 분할된 4x4 블록이 참조 프레임과 오버랩될 때, 참조 프레임의 오버랩된 소블록을 찾아 오버랩되는 부분의 면적과 오버랩된 소블록의 움직임 벡터 정보를 기초로 상기 4x4 블록의 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정방법.
  4. 제3항에 있어서,
    상기 (a) 단계의 소정크기의 소블록은 8x8 블록인 것을 특징으로 하는 움직임 벡터 추정방법.
  5. 제3항에 있어서 상기 (b) 단계는
    상기 4x4 블록과 오버랩되는 소블록들의 움직임 벡터의 평균 및 오버랩된 면적의 평균에 기초하여 상기 4x4 블록의 움직임 벡터를 구하는 것을 특징으로 하는 움직임 벡터 추정방법.
  6. (a) 현재 매크로 블록에 대해 P8x8 블록타입을 결정하는 단계;
    (b) 상기 매크로 블록을 16x8 블록 타입, 8x16 블록 타입 및 16x16 블록 타입을 사용하여 율-왜곡값을 계산하고, 상기 결정된 P8x8 블록 타입을 사용하여 계산된 율-왜곡값 및 인트라 블록 타입을 사용하여 계산된 율-왜곡값을 서로 비교하여 하나의 블록타입을 결정하는 단계를 포함하는 것을 특징으로 하는 모드 결정방법.
  7. 제6항에 있어서, 상기 (a) 단계는
    (a1) 상기 매크로 블록을 소정크기의 소블록으로 분할하는 단계;
    (a2) 상기 분할된 소블록의 움직임 벡터를 각각 계산하는 단계; 및
    (a3) 상기 분할된 소블록을 8x8, 8x4, 4x8, 16x8, 8x16 및 16x16 크기로 만들어 새로운 움직임 벡터를 정하는 단계; 및
    (a4) 8x8 블록단위로 율-왜곡 최적화를 수행하여 하나의 P8x8 블록 타입을 결정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정방법.
  8. 제7항에 있어서,
    상기 소블록은 4x4 블록인 것을 특징으로 하는 움직임 벡터 추정방법.
KR1020030093157A 2003-12-18 2003-12-18 움직임 벡터 추정방법 및 부호화 모드 결정방법 KR101044934B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030093157A KR101044934B1 (ko) 2003-12-18 2003-12-18 움직임 벡터 추정방법 및 부호화 모드 결정방법
US11/015,277 US7848426B2 (en) 2003-12-18 2004-12-20 Motion vector estimation method and encoding mode determining method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030093157A KR101044934B1 (ko) 2003-12-18 2003-12-18 움직임 벡터 추정방법 및 부호화 모드 결정방법

Publications (2)

Publication Number Publication Date
KR20050062835A true KR20050062835A (ko) 2005-06-28
KR101044934B1 KR101044934B1 (ko) 2011-06-28

Family

ID=34737879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030093157A KR101044934B1 (ko) 2003-12-18 2003-12-18 움직임 벡터 추정방법 및 부호화 모드 결정방법

Country Status (2)

Country Link
US (1) US7848426B2 (ko)
KR (1) KR101044934B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100824616B1 (ko) * 2006-06-01 2008-04-24 동국대학교 산학협력단 H.264에서의 부호화 속도를 향상시키기 위한 다중 참조영상 간 모드 생략 방법
KR20110124447A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 입체영상 부호화 장치 및 방법
US8457205B2 (en) 2007-02-02 2013-06-04 Samsung Electronics Co., Ltd. Apparatus and method of up-converting frame rate of decoded frame
CN112632426A (zh) * 2020-12-22 2021-04-09 新华三大数据技术有限公司 网页处理方法及装置

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783079B2 (en) * 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
JP5271271B2 (ja) * 2006-11-03 2013-08-21 サムスン エレクトロニクス カンパニー リミテッド 動きベクトル・トラッキングを利用した映像の符号化、復号化方法及び装置
JP2008187694A (ja) * 2007-01-31 2008-08-14 Matsushita Electric Ind Co Ltd 画像符号化装置およびその方法
US8553757B2 (en) * 2007-02-14 2013-10-08 Microsoft Corporation Forward error correction for media transmission
US20080205505A1 (en) * 2007-02-22 2008-08-28 Donald Martin Monro Video coding with motion vectors determined by decoder
WO2008112072A2 (en) * 2007-03-09 2008-09-18 Dolby Laboratories Licensing Corporation Multi-frame motion extrapolation from a compressed video source
KR20110017719A (ko) 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101624649B1 (ko) * 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US8644383B2 (en) * 2011-03-10 2014-02-04 Microsoft Corporation Mean absolute difference prediction for video encoding rate control
US9246830B2 (en) * 2011-10-05 2016-01-26 Futurewei Technologies, Inc. Method and apparatus for multimedia queue management
WO2015054813A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
WO2015054812A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
CN105765974B (zh) 2013-10-14 2019-07-02 微软技术许可有限责任公司 用于视频和图像编码和解码的帧内块复制预测模式的特征
CN105794210B (zh) * 2013-12-06 2019-05-10 联发科技股份有限公司 视频编码系统中用于边界像素的运动补偿预测方法及装置
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
RU2669005C2 (ru) 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
CA2939431C (en) 2014-03-04 2020-09-22 Microsoft Techology Licensing, Llc Block flipping and skip mode in intra block copy prediction
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US20160182822A1 (en) * 2014-12-19 2016-06-23 Sony Corporation System, method, and computer program product for determiing a front facing view of and centering an omnidirectional image
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
KR101624661B1 (ko) 2015-04-23 2016-05-27 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101624662B1 (ko) 2015-04-23 2016-05-27 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
KR101676794B1 (ko) * 2016-05-13 2016-11-16 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101676793B1 (ko) * 2016-05-13 2016-11-16 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642170A (en) * 1993-10-11 1997-06-24 Thomson Consumer Electronics, S.A. Method and apparatus for motion compensated interpolation of intermediate fields or frames
US5757668A (en) 1995-05-24 1998-05-26 Motorola Inc. Device, method and digital video encoder of complexity scalable block-matching motion estimation utilizing adaptive threshold termination
KR100457065B1 (ko) * 1998-12-29 2005-05-19 주식회사 대우일렉트로닉스 비디오신호의움직임벡터생성장치
JP2002535895A (ja) 1999-01-15 2002-10-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像シーケンスの符号化及びノイズフィルタリング
US20010047517A1 (en) * 2000-02-10 2001-11-29 Charilaos Christopoulos Method and apparatus for intelligent transcoding of multimedia data
US6711212B1 (en) * 2000-09-22 2004-03-23 Industrial Technology Research Institute Video transcoder, video transcoding method, and video communication system and method using video transcoding with dynamic sub-window skipping
JP2002244927A (ja) 2001-02-16 2002-08-30 Matsushita Electric Ind Co Ltd データ配布システム
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
KR100460950B1 (ko) * 2001-12-18 2004-12-09 삼성전자주식회사 트랜스코더 및 트랜스코딩 방법
US6909748B2 (en) * 2001-12-20 2005-06-21 Sorenson Media, Inc. Method and system for image compression using block size heuristics
KR100446083B1 (ko) * 2002-01-02 2004-08-30 삼성전자주식회사 움직임 추정 및 모드 결정 장치 및 방법
KR100533028B1 (ko) * 2003-06-03 2005-12-02 엘지전자 주식회사 모션벡터 및 매크로블록 타입 결정방법
US6927710B2 (en) * 2002-10-30 2005-08-09 Lsi Logic Corporation Context based adaptive binary arithmetic CODEC architecture for high quality video compression and decompression
US7471725B2 (en) * 2003-03-26 2008-12-30 Lsi Corporation Segmented motion estimation with no search for small block sizes
US7391809B2 (en) * 2003-12-30 2008-06-24 Microsoft Corporation Scalable video transcoding

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100824616B1 (ko) * 2006-06-01 2008-04-24 동국대학교 산학협력단 H.264에서의 부호화 속도를 향상시키기 위한 다중 참조영상 간 모드 생략 방법
US8457205B2 (en) 2007-02-02 2013-06-04 Samsung Electronics Co., Ltd. Apparatus and method of up-converting frame rate of decoded frame
KR20110124447A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 입체영상 부호화 장치 및 방법
CN112632426A (zh) * 2020-12-22 2021-04-09 新华三大数据技术有限公司 网页处理方法及装置
CN112632426B (zh) * 2020-12-22 2022-08-30 新华三大数据技术有限公司 网页处理方法及装置

Also Published As

Publication number Publication date
KR101044934B1 (ko) 2011-06-28
US7848426B2 (en) 2010-12-07
US20050152453A1 (en) 2005-07-14

Similar Documents

Publication Publication Date Title
KR101044934B1 (ko) 움직임 벡터 추정방법 및 부호화 모드 결정방법
KR101196429B1 (ko) 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
CA2621423C (en) Efficient integrated digital video transcoding
KR101037816B1 (ko) 인터레이스된 비디오의 코딩 및 디코딩을 위한 방법 및장치
TWI401961B (zh) 藉由過濾器選擇之視訊編碼
US7602851B2 (en) Intelligent differential quantization of video coding
US7499495B2 (en) Extended range motion vectors
US20070058713A1 (en) Arbitrary resolution change downsizing decoder
US20060120450A1 (en) Method and apparatus for multi-layered video encoding and decoding
KR20050061762A (ko) 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
CN101523922A (zh) 具有用于经运动补偿预测的自适应滤波的视频编码
JP2009543490A (ja) 画像符号化及び復号化
KR101357842B1 (ko) 인프라스트럭쳐 성능들 및 현재 조건들에 기초한 비디오 코딩 서브-블록 사이징
KR100856392B1 (ko) 현재 영상의 복원영역을 참조하는 동영상 부호화/복호화장치 및 그 방법
KR100922376B1 (ko) 블록변환 영역에서 영상 이미지의 영상 특성에 따라 선택한보간 필터를 사용하여 영상 이미지의 크기를 변경하는방법
KR101641716B1 (ko) 통합 영상 부호화 방법 및 장치
KR101037834B1 (ko) 인터레이스형 비디오의 코딩 및 디코딩
Ibrahim et al. Improved Video Coding Technique for Next Generation Communication System.
WO2009045178A1 (en) A method of transcoding a data stream and a data transcoder
Wegner et al. Video transrating in AVC to HEVC transcoding
KR101307469B1 (ko) 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법
KR101619739B1 (ko) 고속 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치
Lonetti et al. Temporal video transcoding for multimedia services
Lonetti Temporal Video Transcoding in Mobile Systems.
Campana Multiple Description Coding for Non-Scalable and Scalable Video Compression

Legal Events

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

Payment date: 20140529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 8