KR101044934B1 - 움직임 벡터 추정방법 및 부호화 모드 결정방법 - Google Patents
움직임 벡터 추정방법 및 부호화 모드 결정방법 Download PDFInfo
- Publication number
- KR101044934B1 KR101044934B1 KR1020030093157A KR20030093157A KR101044934B1 KR 101044934 B1 KR101044934 B1 KR 101044934B1 KR 1020030093157 A KR1020030093157 A KR 1020030093157A KR 20030093157 A KR20030093157 A KR 20030093157A KR 101044934 B1 KR101044934 B1 KR 101044934B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- motion vector
- frame
- rate
- type
- Prior art date
Links
- 239000013598 vector Substances 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000005457 optimization Methods 0.000 claims description 19
- 230000000593 degrading effect Effects 0.000 abstract description 2
- 230000003044 adaptive effect Effects 0.000 description 32
- 238000006243 chemical reaction Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000013139 quantization Methods 0.000 description 8
- 238000012952 Resampling Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/19—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
입력된 동영상의 프레임 레이트(frame rate)를 줄이고자 할 때, 움직임 벡터와 움직임 보상 블록 타입을 다시 결정하여 원하는 프레임 레이트에 맞춘 압축 동영상으로 변환하기 위한 움직임 벡터 추정방법 및 인코딩 모드 결정 방법이 개시된다. 본 발명에 따라, 트랜스코더에서 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 방법은, (a) 현재 프레임 매크로 블록의 움직임 벡터가, 버려진 프레임의 매크로 블록을 참조하여 만들어져 있는가를 판단하는 단계; 및 (b) 상기 판단결과 버려진 프레임의 매크로 블록을 참조하여 만들어진 것이라면, 버려지지 않은 참조 프레임이 존재할 때까지 참조 프레임을 역추적하여 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, 영상의 질을 저하시키지 않고도 트랜스코딩 시간을 크게 단축시킬 수 있는 효과가 있다.
Description
도 1은 본 발명의 바람직한 실시예에 따른 트랜스코더의 블록도이다.
도 2는 프레임을 스킵하여 프레임 레이트를 줄인 트랜스코더에서 움직임 벡터를 추정하는 것을 설명하기 위한 도면이다.
도 3은 H.264의 움직임 보상 가변 블록을 도시한 도면이다.
도 4는 여러 가지 움직임 보상 블록 타입에서의 움직임 벡터 변환을 설명하기 위한 도면이다.
도 5는 4개의 4x4 블록으로 구성된 8x8 블록에서의 움직임 벡터 및 참조 프레임 계산을 설명하기 위한 도면이다.
도 6은 본 발명의 블록적응 움직임 벡터 변환 방법을 사용하여 각 블록 타입의 움직임 벡터를 구성하는 것을 설명하는 도면이다.
도 7은 블록적응 움직임 벡터 변환 방법을 사용하여 움직임 벡터와 참조 프레임의 수를 계산하는 것을 설명하는 도면이다.
도 8은 상술한 프레임 스킵 환경에서의 본 발명의 블록적응 움직임 벡터 변환 방법을 구현한 수도 코드(pseudo code)를 도시한 도면이다.
도 9는 블록적응 움직임 벡터 변환 방법과 결합한 율-왜곡 최적화를 사용하 여 최적의 매크로 블록 타입을 결정하는 플로우차트이다.
도 10a 내지 도 10d는 본 발명의 트랜스코더의 성능을 도시한 그래프이다.
도 11a 내지 도 11b는 트랜스코딩시에 입력된 매크로 블록 타입을 그대로 사용한 경우와 본 발명의 블록 적응 움직임 벡터 재샘플링 방법을 적용한 율-왜곡 최적화 방법을 사용하였을 때 재구성된 영상을 도시한 도면이다.
도 12는 여러 가지 방법을 사용한 경우의 평균 계산량을 도시한 그래프이다.
본 발명은 압축된 동영상 데이터의 변환에 관한 것으로, 보다 상세하게는 입력된 동영상의 프레임 레이트(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)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 움직임 벡터 추정방법 및 인코딩 모드 결정방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
전술한 바와 같이 본 발명에 따르면, 영상의 질을 저하시키지 않고도 트랜스 코딩 시간을 크게 단축시킬 수 있는 효과가 있다.
Claims (8)
- 트랜스코더에서 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 방법에 있어서,(a) 현재 프레임 매크로 블록의 움직임 벡터가, 버려진 프레임의 매크로 블록을 참조하여 만들어져 있는가를 판단하는 단계; 및(b) 상기 판단결과 버려진 프레임의 매크로 블록을 참조하여 만들어진 것이라면, 버려지지 않은 참조 프레임이 존재할 때까지 참조 프레임을 역추적하여 현재 프레임 매크로 블록의 움직임 벡터를 추정하는 단계를 포함하고,상기 (b) 단계는,(b1) 소정크기의 소블록으로 구성된 매크로 블록에서 각각의 소블록을 4x4 블록으로 분할하는 단계; 및(b2) 상기 분할된 4x4 블록이 상기 추적된 참조 프레임과 오버랩될 때, 상기 참조 프레임의 오버랩된 소블록을 찾아 오버랩되는 부분의 면적과 오버랩된 소블록의 움직임 벡터 정보를 기초로 상기 4x4 블록의 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정방법.
- 제1항에 있어서, 상기 트랜스코더는적어도 하나의 프레임을 버림으로써 프레임 레이트를 줄이는 트랜스코딩을 수행하는 것을 특징으로 하는 움직임 벡터 추정방법.
- 삭제
- 제1항에 있어서,상기 (b1) 단계의 소정크기의 소블록은 8x8 블록인 것을 특징으로 하는 움직임 벡터 추정방법.
- 제1항에 있어서 상기 (b2) 단계는상기 4x4 블록과 오버랩되는 소블록들의 움직임 벡터의 평균 및 오버랩된 면적의 평균에 기초하여 상기 4x4 블록의 움직임 벡터를 구하는 것을 특징으로 하는 움직임 벡터 추정방법.
- 제1항에 있어서, 상기 (b) 단계는,(c) 현재 매크로 블록에 대해 P8x8 블록타입을 결정하는 단계;(d) 상기 매크로 블록을 16x8 블록 타입, 8x16 블록 타입 및 16x16 블록 타입을 사용하여 율-왜곡값을 계산하고, 상기 결정된 P8x8 블록 타입을 사용하여 계산된 율-왜곡값 및 인트라 블록 타입을 사용하여 계산된 율-왜곡값을 서로 비교하여 하나의 블록타입을 결정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정방법.
- 제6항에 있어서, 상기 (c) 단계는(c1) 상기 매크로 블록을 소정크기의 소블록으로 분할하는 단계;(c2) 상기 분할된 소블록의 움직임 벡터를 각각 계산하는 단계; 및(c3) 상기 분할된 소블록을 8x8, 8x4, 4x8, 16x8, 8x16 및 16x16 크기로 만들어 새로운 움직임 벡터를 정하는 단계; 및(c4) 8x8 블록단위로 율-왜곡 최적화를 수행하여 하나의 P8x8 블록 타입을 결정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정방법.
- 제7항에 있어서,상기 소블록은 4x4 블록인 것을 특징으로 하는 움직임 벡터 추정방법.
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 KR20050062835A (ko) | 2005-06-28 |
KR101044934B1 true 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) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783079B2 (en) * | 2006-04-07 | 2010-08-24 | Monro Donald M | Motion assisted data enhancement |
KR100824616B1 (ko) * | 2006-06-01 | 2008-04-24 | 동국대학교 산학협력단 | H.264에서의 부호화 속도를 향상시키기 위한 다중 참조영상 간 모드 생략 방법 |
CN101573982B (zh) * | 2006-11-03 | 2011-08-03 | 三星电子株式会社 | 利用运动矢量跟踪编码/解码图像的方法和装置 |
JP2008187694A (ja) * | 2007-01-31 | 2008-08-14 | Matsushita Electric Ind Co Ltd | 画像符号化装置およびその方法 |
KR100809354B1 (ko) | 2007-02-02 | 2008-03-05 | 삼성전자주식회사 | 복원된 프레임의 프레임율을 업컨버팅하는 장치 및 방법 |
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 |
US20100202532A1 (en) * | 2007-03-09 | 2010-08-12 | Dolby Laboratories Licensing Corporation | Multi-frame motion extrapolation from a compressed video source |
KR101487686B1 (ko) | 2009-08-14 | 2015-01-30 | 삼성전자주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
KR101624649B1 (ko) * | 2009-08-14 | 2016-05-26 | 삼성전자주식회사 | 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
KR101598855B1 (ko) * | 2010-05-11 | 2016-03-14 | 삼성전자주식회사 | 입체영상 부호화 장치 및 방법 |
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 |
CN105659606B (zh) | 2013-10-14 | 2019-06-18 | 微软技术许可有限责任公司 | 用于视频和图像编码和解码的方法、系统和介质 |
EP3058739B1 (en) | 2013-10-14 | 2019-08-07 | Microsoft Technology Licensing, LLC | Features of intra block copy prediction mode for video and image coding and decoding |
CN105659602B (zh) | 2013-10-14 | 2019-10-08 | 微软技术许可有限责任公司 | 用于视频和图像编码的帧内块复制预测模式的编码器侧选项 |
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 |
BR112016015080A2 (pt) | 2014-01-03 | 2017-08-08 | Microsoft Technology Licensing Llc | Predição de vetor de bloco em codificação / decodificação de vídeo e imagem |
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 |
US10368091B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Block flipping and skip mode in intra block copy prediction |
KR102413529B1 (ko) | 2014-06-19 | 2022-06-24 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 통합된 인트라 블록 카피 및 인터 예측 모드 |
MX2017004211A (es) | 2014-09-30 | 2017-11-15 | Microsoft Technology Licensing Llc | Reglas para modos de prediccion intra-imagen cuando se habilita el procesamiento paralelo de onda frontal. |
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 | 삼성전자주식회사 | 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
EP3308540B1 (en) | 2015-06-09 | 2020-04-15 | Microsoft Technology Licensing, LLC | Robust encoding/decoding of escape-coded pixels in palette mode |
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 |
CN112632426B (zh) * | 2020-12-22 | 2022-08-30 | 新华三大数据技术有限公司 | 网页处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000043589A (ko) * | 1998-12-29 | 2000-07-15 | 전주범 | 비디오 신호의 움직임 벡터 생성 장치 |
KR20030050387A (ko) * | 2001-12-18 | 2003-06-25 | 삼성전자주식회사 | 트랜스코더 및 트랜스코딩 방법 |
KR20040104193A (ko) * | 2003-06-03 | 2004-12-10 | 엘지전자 주식회사 | 모션벡터 및 매크로블록 타입 결정방법 |
Family Cites Families (12)
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 |
KR20010041900A (ko) | 1999-01-15 | 2001-05-25 | 요트.게.아. 롤페즈 | 화상 시퀀스를 코딩하고 노이즈 필터링하는 방법 및 장치 |
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 |
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 | 삼성전자주식회사 | 움직임 추정 및 모드 결정 장치 및 방법 |
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 |
-
2003
- 2003-12-18 KR KR1020030093157A patent/KR101044934B1/ko active IP Right Grant
-
2004
- 2004-12-20 US US11/015,277 patent/US7848426B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000043589A (ko) * | 1998-12-29 | 2000-07-15 | 전주범 | 비디오 신호의 움직임 벡터 생성 장치 |
KR20030050387A (ko) * | 2001-12-18 | 2003-06-25 | 삼성전자주식회사 | 트랜스코더 및 트랜스코딩 방법 |
KR20040104193A (ko) * | 2003-06-03 | 2004-12-10 | 엘지전자 주식회사 | 모션벡터 및 매크로블록 타입 결정방법 |
Also Published As
Publication number | Publication date |
---|---|
US20050152453A1 (en) | 2005-07-14 |
KR20050062835A (ko) | 2005-06-28 |
US7848426B2 (en) | 2010-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101044934B1 (ko) | 움직임 벡터 추정방법 및 부호화 모드 결정방법 | |
KR101196429B1 (ko) | 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법 | |
KR101037816B1 (ko) | 인터레이스된 비디오의 코딩 및 디코딩을 위한 방법 및장치 | |
TWI401961B (zh) | 藉由過濾器選擇之視訊編碼 | |
CA2621423C (en) | Efficient integrated digital video transcoding | |
KR101083870B1 (ko) | 인터레이스형 비디오의 최신 양방향 예측 코딩 | |
EP1457056B1 (en) | Skip macroblock coding | |
US20050013500A1 (en) | Intelligent differential quantization of video coding | |
KR20050061762A (ko) | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 | |
CN101523922A (zh) | 具有用于经运动补偿预测的自适应滤波的视频编码 | |
JP2012515514A (ja) | ビデオのコーディングの際の、アクティビティメトリックに基づくフィルタ予測 | |
JP2009543490A (ja) | 画像符号化及び復号化 | |
KR20050092306A (ko) | 회전 매칭을 통해 움직임을 예측하는 영상 부호화 장치 및방법 | |
KR20050047373A (ko) | 임의 크기의 가변 블록을 이용한 영상 압축 방법 및 장치 | |
KR20130035900A (ko) | 인프라스트럭쳐 성능들 및 현재 조건들에 기초한 비디오 코딩 서브-블록 사이징 | |
KR100856392B1 (ko) | 현재 영상의 복원영역을 참조하는 동영상 부호화/복호화장치 및 그 방법 | |
KR100713400B1 (ko) | 평균 히스토그램 오차 방식을 이용한 h.263/mpeg비디오 인코더 및 그 제어 방법 | |
KR101641716B1 (ko) | 통합 영상 부호화 방법 및 장치 | |
Vanam et al. | Distortion-complexity optimization of the H. 264/MPEG-4 AVC encoder using the GBFOS algorithm | |
KR101037834B1 (ko) | 인터레이스형 비디오의 코딩 및 디코딩 | |
KR100832872B1 (ko) | 기하학적 변환을 이용한 영상 부호화 효율 향상 방법 및장치 | |
Ibrahim et al. | Improved Video Coding Technique for Next Generation Communication System. | |
Wegner et al. | Video transrating in AVC to HEVC transcoding | |
KR101619739B1 (ko) | 고속 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치 | |
KR101307469B1 (ko) | 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법 |
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 |