KR100721538B1 - 트랜스코딩 방법 - Google Patents

트랜스코딩 방법 Download PDF

Info

Publication number
KR100721538B1
KR100721538B1 KR1020060052557A KR20060052557A KR100721538B1 KR 100721538 B1 KR100721538 B1 KR 100721538B1 KR 1020060052557 A KR1020060052557 A KR 1020060052557A KR 20060052557 A KR20060052557 A KR 20060052557A KR 100721538 B1 KR100721538 B1 KR 100721538B1
Authority
KR
South Korea
Prior art keywords
macroblock
motion vector
mode
format
transcoding
Prior art date
Application number
KR1020060052557A
Other languages
English (en)
Inventor
전동산
김재곤
홍진우
한종기
김진욱
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Application granted granted Critical
Publication of KR100721538B1 publication Critical patent/KR100721538B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야
본 발명은 트랜스코딩 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 움직임 벡터간 거리 정보 및 매크로 블록 활성도 정보를 모두 이용하여 좀더 정확한 기본 움직임 벡터를 산출하고, 상기 산출된 기본 움직임 벡터의 재탐색 전에 매크로블록 부호화에 필요한 비트량을 고려하여 매크로블록의 모드를 사전에 결정함으로써, 작은 연산량으로도 좋은 화질의 영상을 얻을 수 있는 트랜스코딩 방법을 제공하는데 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 제 1 포맷으로 부호화된 비디오 시퀀스를 제 2 포맷으로 변환시키는 트랜스코딩 방법에 있어서, 제 1 포맷으로 부호화된 비디오 시퀀스를 복호화하여 매크로블록의 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 획득하는 복호화 단계; 상기 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 이용하여 기본 움직임 벡터를 산출하는 움직임 벡터 할당 단계; 부호화되어야 할 매크로블록의 모드를 매크로블록 부호화에 필요한 비트량을 이용하여 결정하는 모드 결정 단계; 및 상기 모드 결정 단계에서 결정된 모드에서 상기 기본 움직임 벡터를 중심으로 재탐색을 수행하여 최적 움직임 벡터를 결정하는 최적 움직임 벡터 결정 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 트랜스코딩 시스템 등에 이용됨.
트랜스코딩, 엠펙, 움직임 벡터, 모드 결정

Description

트랜스코딩 방법{Method for trnascoding}
도 1은 본 발명의 일실시예에 따른 트랜스코딩 방법의 흐름도,
도 2는 움직임 벡터간 거리를 설명하기 위한 개념도,
도 3은 도 1의 움직임 벡터 할당 과정의 상세 흐름도,
도 4는 도 3의 움직임 벡터 할당에 관한 개념도,
도 5는 도 1의 모드 결정 과정에 관한 설명도,
도 6a 내지 도 6e는 본 발명이 적용된 트랜스코더의 성능을 도시한 그래프이다.
본 발명은 트랜스코딩(transcoding) 방법에 관한 것으로, 더욱 상세하게는 트랜스코딩시 많은 연산량을 필요로 하는 움직임 예측(Motion Estimation)을 위하여 트랜스코더(transcoder)의 복호기로부터 출력된 움직임 벡터(MV:Motion Vector) 정보를 트랜스코더의 부호기에서 재사용하여 최적 움직임 벡터를 찾고, 더 나아가 부호기에서 부호화할 매크로블록의 모드(mode)를 미리 결정하는 트랜스코딩 방법에 관한 것이다.
멀티미디어 데이터가 재생되거나 네트워크를 통해 전송되기 위해서는 트랜스코딩이 필수적이다. 트랜스코딩 방법에는 주파수 영역 트랜스코딩과 픽셀 영역 트랜스코딩이 있는데, 비디오 시퀀스 전송에서 픽셀 영역 트랜스코딩 방법은 다양한 해상도 변환이 가능하므로 효율적이다.
하지만, 종래의 픽셀 영역 트랜스코딩 기술은 입력된 비디오 비트 스트림을 픽셀 단위까지 복호하므로 많은 연산량을 필요로 하고, 특히, 움직임 예측을 통한 새로운 움직임 벡터를 산출하기 위해 많은 연산량을 요구한다.
이러한 트랜스코딩 방법의 단점을 극복하기 위해 트랜스코더 복호기로부터 출력된 움직임 벡터 정보가 트랜스코더 부호기의 움직임 예측 과정에 재사용되는 움직임 벡터 재사용 방법이 제시된 바 있다. 움직임 벡터 재사용 방법에 따르면, 부호기는 현재 부호화하려는 매크로블록에 겹쳐지는 복호기측 매크로블록에 속한 복수의 움직임 벡터 중 하나를 선택하여 움직임 예측 과정에 이용한다. 여기서, 복수의 움직임 벡터 중 하나를 선택하는 것을 움직임 벡터 할당(Motion Vector Mapping)이라 하고, 상기 움직임 벡터 할당 과정을 통하여 산출된 움직임 벡터를 기본 움직임 벡터(Base Motion Vector)라 한다. 부호기는 상기 기본 움직임 벡터를 중심으로 작은 영역에서 재탐색을 수행함으로써 움직임 예측 과정에 이용될 최적 움직임 벡터를 선택할 수 있다.
상기 움직임 벡터 재사용 방법은 부호화 과정에서 복호기 측의 움직임 벡터를 재사용함으로써 큰 연산량의 이득을 얻을 수 있지만, 재사용되는 움직임 벡터에 따라 출력 영상의 화질에 큰 영향을 미치기 때문에, 좀더 정확한 기본 움직임 벡터를 얻기 위하여 움직임 벡터 할당에 대한 연구가 진행되어 왔다.
종래의 움직임 벡터 할당 방법으로 '중간 움직임 벡터 할당' 과 'DCmax 움직임 벡터 할당' 이 있다.
'중간 움직임 벡터 할당'은 움직임 벡터간 거리 정보를 이용함으로써 해상도 축소시에 잡음 움직임 벡터의 영향을 최소화할 수 있는 장점이 있지만, 해상도 변환 비율이 높아질 경우 움직임 벡터간 상관도가 떨어져 영상의 화질을 유지하기 위해서는 연산량이 증가하는 단점이 있다.
'DCmax 움직임 벡터 할당'은 매크로블록의 활성도를 어느 정도 반영하는 DCT(Discrete Cosine Transform) 계수의 직류성분을 이용하여 움직임 벡터 할당 과정을 수행함으로써 작은 연산량으로도 높은 화질의 영상을 얻을 수 있는 장점이 있지만, 움직임 벡터간 거리에 관한 정보를 이용하지 않기 때문에 복잡한 영상을 부호화하는 경우 잡음 움직임 벡터의 영향을 받는 단점이 있다.
따라서, 연산량을 증가시키지 않고서도 상기 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 모두 이용하여 좀더 정확한 기본 움직임 벡터를 산출할 수 있는 트랜스코딩 방법이 요구된다.
본 발명은 상기와 같은 요구에 부응하기 위한 것으로, 움직임 벡터간 거리 정보 및 매크로 블록 활성도 정보를 모두 이용하여 좀더 정확한 기본 움직임 벡터를 산출하고, 상기 산출된 기본 움직임 벡터의 재탐색 전에 매크로블록 부호화에 필요한 비트량을 고려하여 매크로블록의 모드를 사전에 결정함으로써, 작은 연산량으로도 좋은 화질의 영상을 얻을 수 있는 트랜스코딩 방법을 제공한다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명은, 제 1 포맷으로 부호화된 비디오 시퀀스를 제 2 포맷으로 변환시키는 트랜스코딩 방법에 있어서, 제 1 포맷으로 부호화된 비디오 시퀀스를 복호화하여 매크로블록의 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 획득하는 복호화 단계; 상기 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 이용하여 기본 움직임 벡터를 산출하는 움직임 벡터 할당 단계; 부호화되어야 할 매크로블록의 모드를 매크로블록 부호화에 필요한 비트량을 이용하여 결정하는 모드 결정 단계; 및 상기 모드 결정 단계에서 결정된 모드에서 상기 기본 움직임 벡터를 중심으로 재탐색을 수행하여 최적 움직임 벡터를 결정하는 최적 움직임 벡터 결정 단계를 포함한다.
이하에서는 본 발명의 일실시예에 따른 트랜스코딩 방법으로서, 엠펙-2로부터 엠펙-4로 변환하는 실시예가 개시된다. 엠펙-2는 고화질의 방송용 화면을 위한 압축 포맷인 반면, 엠펙-4는 작은 화면에 높은 압축 모드를 지원하기 위한 압축 포맷이므로 이하에서는 특히 해상도 축소에 중점을 둔 트랜스코딩 실시예가 개시된다.
본 발명의 일실시예에 따르면 엠펙-2로부터 엠펙-4로의 트랜스코딩을 위하여 엠펙-2 비트스트림을 복호하여 얻은 움직임 벡터 정보를 사용하여 엠펙-4 비트스트림으로 재부호화하는데, 상기 움직임 벡터 정보는 매크로 블록 활성도 정보 및 움직임 벡터간 거리 정보를 모두 포함하고 있다. 상기 본 발명의 일실시예에 따르면 움직임 벡터 정보를 이용한 새로운 비용함수를 통해 좀더 정확한 기본 움직임 벡터가 산출된다.
하지만, 기본 움직임 벡터가 엠펙-4 비트스트림으로 재부호화되는 과정에서 움직임 예측을 위한 벡터로 직접 사용되는 것은 아니다. 기본 움직임 벡터를 중심으로 작은 영역, 특히
Figure 112006040995704-pat00001
영역이 재탐색되고, 재탐색된 움직임 벡터가 최적 움직임 벡터로써 재부호화 과정에서 사용된다.
또한, 본 발명의 일실시예에 따른 트랜스코딩 방법은 상기 움직임 벡터 할당 과정에서 매크로 블록 활성도 정보 및 움직임 벡터간 거리 정보를 모두 이용하는 한편, 기본 움직임 벡터가 산출된 후 재탐색되기 전에 엠펙-4의 매크로블록 모드를 미리 결정함으로써 연산량을 증가시키지 않는다. 상기 모드 결정 방법에서는 움직 임 벡터 부호화에 필요한 비트량과 잔여 픽셀 데이터 부호화에 필요한 비트량을 모두 고려한 새로운 비용함수를 통해 엠펙-4의 매크로블록 모드가 미리 결정된다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 트랜스코딩 방법의 흐름도이다.
우선, 트랜스코더 복호기로부터 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 획득한다(s10). 트랜스코더 복호기는 엠펙-2 비트스트림을 복호하는데, 그 결과 움직임 벡터 정보가 획득되고, 움직임 벡터 정보에는 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보가 포함되어 있다. 여기서, 움직임 벡터간 거리 정보(
Figure 112006040995704-pat00002
)는 도 2에 도시된 바와 같이, 엠펙-2 비트스트림이 복호화되면서 얻어진 원 영상 매크로블록의 움직임 벡터(Original MV)와 부호화할 매크로블록에 이용될 기본 움직임 벡터의 후보 벡터(Candidate MV)간 거리이다. 한편, 매크로블록 활성도 정보(
Figure 112006040995704-pat00003
)는 DCT 계수의 직류성분을 이용하여 아래의 [수학식1]에 의해 산출된다.
Figure 112006040995704-pat00004
여기서, i는 부호화할 매크로블록에 겹치는 원 영상 매크로블록의 인덱스이다. j는 하나의 매크로블록에 포함된 4개의 8*8 블록 각각을 나타내는 인덱스이다.
Figure 112006040995704-pat00005
는 각 블록의 직류 성분이고,
Figure 112006040995704-pat00006
는 상기 각 블록의 직류 성분의 합으로서 각 매크로블록의 활성도를 나타낸다.
다음으로, 획득한 상기 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 모두 고려한 새로운 비용함수(이하, 매크로블록 비용함수)를 통해 기본 움직임 벡터를 산출하는 움직임 벡터 할당을 수행한다(s20). 상기 움직임 벡터 할당 과정(s20)은 이하의 도 3 및 도 4에서 후술한다.
다음으로, 연산량을 감소시키기 위하여, 상기 기본 움직임 벡터 중심으로 재탐색이 수행되기 전, 매크로블록 부호화에 필요한 비트량을 이용한 새로운 비용함수(이하, 모드 결정 비용함수)를 통해 부호화할 매크로블록의 모드를 결정한다(s30). 상기 모드 결정 과정(s30)은 이하의 도 5에서 후술한다.
상기 모드 결정 과정(s30)을 통하여 결정된 매크로블록의 모드에서 상기 움직임 벡터 할당 과정(s20)을 통하여 산출된 기본 움직임 벡터를 중심으로 부호화할 매크로블록의 움직임 벡터를 재탐색함으로써 재부호화에 사용될 최적 움직임 벡터를 결정한다(s40). 즉, 상기 모드 결정 과정(s30)에서 엠펙-4 매크로블록의 모드가 16*16으로 결정되면 매크로블록 단위로
Figure 112006040995704-pat00007
영역에 대한 재탐색을 수행하고, 엠펙-4 매크로블록의 모드가 8*8로 결정되면 각 블록 단위로
Figure 112006040995704-pat00008
영역에 대한 재탐색을 수행하여 최적 움직임 벡터를 결정한다.
도 3은 도 1의 움직임 벡터 할당 과정의 상세 흐름도이다.
우선, 상기 매크로블록 비용함수(
Figure 112006040995704-pat00009
)를 다음의 [수학식2]와 같이 산출한다(s201).
Figure 112006040995704-pat00010
Figure 112006040995704-pat00011
여기서, n과 i는 부호화할 매크로블록에 겹치는 원 영상 매크로블록의 인덱스이다.
Figure 112006040995704-pat00012
는 각 매크로블록 활성도이고
Figure 112006040995704-pat00013
는 움직임 벡터간 거리이다(도1,2참조).
Figure 112006040995704-pat00014
Figure 112006040995704-pat00015
에 가중치를 두기 위한 값으로 그 최적 값은 실험적으로 결정되고,
Figure 112006040995704-pat00016
는 부호화할 매크로블록과 원 영상 매크로블록의 겹쳐진 면적이다.
다음으로, 상기 [수학식2]를 통해 산출되는 원 영상의 각 매크로블록 비용함수값 중에서 최소값을 가지는 매크로블록(
Figure 112006040995704-pat00017
)을 다음의 [수학식3]에 따라 선택한다(s202).
Figure 112006040995704-pat00018
여기서,
Figure 112006040995704-pat00019
은 매크로블록 비용함수(
Figure 112006040995704-pat00020
)의 값이 최소인 매크로블록의 인덱스이다.
상기 [수학식3]을 통해 선택된 매크로블록(
Figure 112006040995704-pat00021
)에 해당하는 움직임 벡터(
Figure 112006040995704-pat00022
)가 기본 움직임 벡터 산출에 이용된다. 기본 움직임 벡터(
Figure 112006040995704-pat00023
)는 다음의 [수학식4]에 의해 산출된다(s203).
Figure 112006040995704-pat00024
여기서,
Figure 112006040995704-pat00025
은 매크로블록 비용함수(
Figure 112006040995704-pat00026
)의 값이 최소인 매크로블록의 움직임 벡터이고,
Figure 112006040995704-pat00027
는 일실시예로서 영상의 축소 비율이다.
도 4는 도 3의 움직임 벡터 할당에 관한 개념도이다.
도 4에 도시된 바와 같이, 4개의 매크로블록 각각에 대하여 상기 [수학식2]를 통해 매크로블록 비용함수(
Figure 112006040995704-pat00028
)값을 산출한다. 4개의 매크로블록 중 비용함수값이 최소가 되는 매크로블록(
Figure 112006040995704-pat00029
)의 움직임 벡터를 선택하여 기본 움직임 벡터 산출에 이용한다.
도 5는 도 1의 모드 결정 과정에 관한 설명도이다.
본 발명의 일실시예에서는 상기 모드 결정 비용함수로서 각 모드에서의 매크 로블록 부호화에 필요한 비트량(
Figure 112006040995704-pat00030
)을 이용한다. 상기 매크로블록 부호화에 필요한 비트량(
Figure 112006040995704-pat00031
)은 아직 부호화가 수행되기 전이기 때문에 소정의 추정값으로, 아래의 [수학식5]로 정의된다.
Figure 112006040995704-pat00032
여기서,
Figure 112006040995704-pat00033
는 매크로블록의 움직임 벡터 부호화에 필요한 비트량이고,
Figure 112006040995704-pat00034
는 헤더 부호화에 필요한 비트량,
Figure 112006040995704-pat00035
은 잔여 픽셀 데이터 부호화에 필요한 비트량이다.
여기서, 헤더 부호화에 필요한 비트량(
Figure 112006040995704-pat00036
)은 항상 동일하여 고려할 필요가 없으므로,
Figure 112006040995704-pat00037
는 다음의 [수학식6]과 같이 근사화될 수 있다.
Figure 112006040995704-pat00038
한편,
Figure 112006040995704-pat00039
는 움직임 벡터 할당 과정을 통하여 산출된 기본 움직임 벡터(
Figure 112006040995704-pat00040
)를 중심으로 재탐색을 수행하여 결정된 최적 움직임 벡터를 재부호화하는 과정에서 발생하는 비트량이지만, 상기 모드 결정 과정(s30)은 아직 재부호화가 수행되기 전 단계이기 때문에 본 발명의 일실시예에서는
Figure 112006040995704-pat00041
를 기본 움직임 벡터(
Figure 112006040995704-pat00042
)의 부호화에 필요한 비트량으로 추정한다. 왜냐하면 기본 움직임 벡터(
Figure 112006040995704-pat00043
)의 부호화에 필요한 비트량과 최적 움직임 벡터를 재부호화하는 과정에 서 발생하는 비트량은 거의 동일하기 때문이다.
또한,
Figure 112006040995704-pat00044
은 매크로블록의 잔여 픽셀 데이터를 재부호화하는 과정에서 발생하는 비트량이지만 상기 모드 결정 과정(s30)은 아직 재부호화가 수행되기 전 단계이기 때문에 본 발명의 일실시예에서는 상기 매크로블록 비용함수(
Figure 112006040995704-pat00045
)를 이용하여 다음의 [수학식7]과 같이
Figure 112006040995704-pat00046
을 추정한다.
Figure 112006040995704-pat00047
여기서,
Figure 112006040995704-pat00048
는 실험을 통해 얻어진 값으로
Figure 112006040995704-pat00049
=1.7 일 때 상기 [수학식7]로부터 산출된 추정값이 실제 잔여 픽셀 데이터 부호화에 필요한 비트량에 가장 근사해진다.
이처럼, 본 발명의 일실시예에 따르면, 모드 결정 과정(s30)에서 결정되는,부호화할 매크로블록의 모드는 [수학식6] 및 [수학식7]을 통해 산출되는 매크로블록 부호화에 필요한 비트량 즉, 모드 결정 비용함수(
Figure 112006040995704-pat00050
)의 값이 최소인 모드로 결정된다.
특히, 도 5에서는 본 발명의 일실시예로 엠펙-2 포맷에서 엠펙-4 포맷으로 재부호화하는 과정에서의 모드 결정에 관하여 설명한다.
엠펙-2로부터 엠펙-4로의 재부호화 과정에서 결정되어야 할 모드는 2가지로서, 16*16 매크로블록 단위로 1개의 움직임 벡터를 갖는 모드(16*16 모드)와 8*8 블록 단위로 4개의 움직임 벡터를 갖는 모드(8*8 모드)이다.
16*16 모드는 1개의 움직임 벡터를 갖기 때문에 16*16 모드의 모드 결정 비용함수(
Figure 112006040995704-pat00051
)는 상기 모드 결정 과정(s30)에 따라 다음의 [수학식 8]과 같이 산출된다.
Figure 112006040995704-pat00052
여기서,
Figure 112006040995704-pat00053
는 움직임 벡터 할당 과정(s20)을 통하여 산출된 기본 움직임 벡터(
Figure 112006040995704-pat00054
)의 부호화에 필요한 비트량이고(수학식 2,3,4,5,6 참조),
Figure 112006040995704-pat00055
는 상기 기본 움직임 벡터(
Figure 112006040995704-pat00056
)의 산출에 이용되는 최소값을 갖는 매크로블록 비용함수(
Figure 112006040995704-pat00057
)에
Figure 112006040995704-pat00058
를 곱한 값이다(수학식 7 참조).
반면, 8*8 모드는 블록마다 움직임 벡터를 갖기 때문에, 8*8 모드의 모드 결정 비용함수(
Figure 112006040995704-pat00059
)는 부호화할 매크로블록에 겹치는 원 영상 매크로블록마다 상기 모드 결정 과정(s30)을 수행한다. 즉, 아래의 [수학식9]와 같이, 원 영상의 각 매크로블록마다 움직임 벡터의 발생 비트량(
Figure 112006040995704-pat00060
) 및 매크로블록 비용함수를 이용한 잔여 픽셀 데이터의 발생 비트량(
Figure 112006040995704-pat00061
)을 구하고, 이를 모두 합산하여
Figure 112006040995704-pat00062
를 산출한다.
Figure 112006040995704-pat00063
여기서, i는 부호화할 매크로블록에 겹치는 원 영상 매크로블록의 인덱스이 다.
Figure 112006040995704-pat00064
는 각 매크로블록의 움직임 벡터의 발생 비트량이고,
Figure 112006040995704-pat00065
는 각 매크로블록의 비용함수(
Figure 112006040995704-pat00066
)에
Figure 112006040995704-pat00067
를 곱한 값이다.
상기 16*16 모드의 모드 결정 비용함수(
Figure 112006040995704-pat00068
)와 8*8 모드의 모드 결정 비용함수(
Figure 112006040995704-pat00069
) 중 더 작은 값을 가지는 모드를 부호화할 매크로블록의 모드로 결정한다.
상기 트랜스코딩 방법은 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 모두 고려하여 좀더 정확한 기본 움직임 벡터를 산출할 수 있고, 기본 움직임 벡터를 중심으로 재탐색을 수행하기 전에 부호화할 매크로블록의 모드를 미리 결정함으로써 연산량을 감소시킬 수 있다.
도 6a 내지 도 6e는 본 발명이 적용된 트랜스코더의 성능을 도시한 그래프이다.
본 발명의 일실시예에서는 엠펙-2로부터 엠펙-4로 트랜스코딩을 위해 동적 영상, 정적 영상 및 복잡한 영상으로서 각각 '축구 영상'과 '스시(susie) 영상' 및 '정원(flower garden) 영상'을 사용하였다. 입력 비트 스트림은 엠펙-2 MP@ML 코덱으로 부호화된 것을 사용하였다. 이때 GOP(Group of Picture) 구조는 N=12, M=3으로 하였고 720*480i 을 176*144p 의 변환으로 실시하였다.
그래프에 표시된 'Full search'는 전 영역 탐색 방법을 이용한 경우이고, 'Median'은 중간 움직임 벡터 할당 방법을 이용한 경우, 'DCmax'는 DCmax 움직임 벡터 할당 방법을 이용한 경우, 'Proposed'는 본 발명의 일실시예에 따른 움직임 벡터 할당 방법만을 사용하고 모드 결정은 엠펙-4의 기본적인 모드 결정 방법에 따른 경우,'Proposed + Mode decision'은 본 발명의 일실시예에 따른 움직임 벡터 할당 방법 및 모드 결정 방법을 이용한 경우이다.
도 6a는 해상도 변환 트랜스코더를 통해 변환한 '축구 영상'의 프레임(frame) 수에 따른 PSNR(Peak Signal to Noise Rate)을 나타낸 도면이다. 재탐색 영역이 충분하므로 거의 대부분의 움직임 할당 방법이 전 영역 탐색 방법과 동등한 화질을 보였지만 매크로 블록 활성도 정보를 이용하지 않은 중간 움직임 벡터 할당 방법은 다소 화질의 열화가 있다.
도 6b는 해상도 변환 트랜스코더를 통해 변환한 '정원 영상'의 대역폭에 따른 PSNR을 나타낸 도면이다. 중간 움직임 벡터 할당 방법과 본 발명의 일실시예에 따른 'Proposed' 및 'Proposed + Mode decision'은 전 영역 탐색 방법과 근접한 결과를 보임을 알 수 있다. 그러나 DCmax 할당 기법은 다소 화질 열화가 나타나는데 이것은 복잡한 '정원 영상'의 특성상 잡음 움직임 벡터의 영향을 많이 받기 때문이다.
도 6c는 해상도 변환 트랜스코더를 통해 변환한 '축구 영상'의 대역폭에 따른 PSNR을 나타낸 도면이다. DCmax 움직임 벡터 할당 방법과 본 발명의 일실시예에 따른 'Proposed' 및 'Proposed + Mode decision'은 전 영역 탐색 방법과 거의 동등한 화질의 영상을 제공하지만, 움직임이 많은 '축구 영상'의 특성상 중간 움직임 벡터 할당 방법은 화질의 열화가 있는 것을 알 수 있다.
도 6d는 해상도 변환 트랜스코더를 통해 변환한 '스시 영상'의 대역폭에 따른 PSNR을 나타낸 도면이다. 정적인 '스시 영상'의 특성상 저주파 영역의 성분이 많아 어떠한 움직임 벡터 할당 방법을 사용하여도 만족할 만한 화질의 영상을 얻을 수 있다.
도 6e는 해상도 변환 트랜스코더에 필요한 연산량을 나타내기 위해 프레임 수에 따른 각 프레임별 연산 시간을 나타낸 도면이다. 4 프레임을 주기로 각 움직임 벡터 할당 방법의 연산 시간이 전 영역 탐색 방법과 같이 높아지는 것을 알 수 있는데, 이는 I-픽처에서 P-픽처로 변환시 재사용할 움직임 벡터가 없어 전 영역 탐색 방법을 사용했기 때문이다. 연산 시간은 중간 움직임 벡터 할당 방법 및 'Proposed' 방법이 다른 움직임 벡터 할당 방법에 비해 다소 높음을 알 수 있다.이는 움직임 벡터간 거리 연산에 많은 시간이 걸리기 때문이다. 하지만 'Proposed + Mode decision'을 사용하는 경우 DCmax 할당 방법과 거의 동등한 연산시간을 갖는 것을 알 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 움직임 벡터간 거리 정보 및 매크로 블록 활성도 정보를 모두 이용하여 좀더 정확한 기본 움직임 벡터를 산출하고, 상기 산출된 기본 움직임 벡터의 재탐색 전에 매크로블록 부호화에 필요한 비트량을 고려하여 매크로블록의 모드를 사전에 결정함으로써, 작은 연산량으로도 좋은 화질의 영상을 얻을 수 있다.

Claims (14)

  1. 제 1 포맷으로 부호화된 비디오 시퀀스를 제 2 포맷으로 변환시키는 트랜스코딩 방법에 있어서,
    제 1 포맷으로 부호화된 비디오 시퀀스를 복호화하여 매크로블록의 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 획득하는 복호화 단계;
    상기 움직임 벡터간 거리 정보 및 매크로블록 활성도 정보를 이용하여 기본 움직임 벡터를 산출하는 움직임 벡터 할당 단계;
    부호화되어야 할 매크로블록의 모드를 매크로블록 부호화에 필요한 비트량을 이용하여 결정하는 모드 결정 단계; 및
    상기 모드 결정 단계에서 결정된 모드에서 상기 기본 움직임 벡터를 중심으로 재탐색을 수행하여 최적 움직임 벡터를 결정하는 최적 움직임 벡터 결정 단계
    를 포함하는 트랜스코딩 방법.
  2. 제 1 항에 있어서,
    상기 움직임 벡터 할당 단계는,
    아래의 수학식에 의해 매크로블록 비용함수를 산출하는 매크로블록 비용함수 산출 단계;
    상기 매크로블록 비용함수 값이 최소인 매크로블록을 선택하는 매크로블록 선택 단계; 및
    상기 선택된 매크로블록에 해당하는 움직임 벡터를 이용하여 기본 움직임 벡터를 산출하는 기본 움직임 벡터 산출 단계
    를 포함하는 트랜스코딩 방법.
    [수학식]
    Figure 112006040995704-pat00070
    Figure 112006040995704-pat00071
    여기서, n과 i는 부호화할 매크로블록에 겹치는 원 영상 매크로블록의 인덱스,
    Figure 112006040995704-pat00072
    은 매크로블록 비용함수,
    Figure 112006040995704-pat00073
    는 각 매크로블록 활성도,
    Figure 112006040995704-pat00074
    는 움직임 벡터간 거리,
    Figure 112006040995704-pat00075
    Figure 112006040995704-pat00076
    에 가중치를 두기 위한 값,
    Figure 112006040995704-pat00077
    는 부호화할 매크로블록과 원 영상 매크로블록의 겹쳐진 면적임.
  3. 제 2 항에 있어서,
    상기 기본 움직임 벡터는
    상기 매크로블록 선택 단계에서 선택된 매크로블록에 해당하는 움직임 벡터에 영상의 변환 비율을 곱하여 산출되는
    트랜스코딩 방법.
  4. 제 3 항에 있어서,
    상기 모드 결정 단계는,
    부호화되어야 할 매크로블록의 모드를 아래의 수학식으로 표현되는 모드 결정 비용함수의 값이 최소가 되는 모드로 결정하는
    트랜스코딩 방법.
    [수학식]
    Figure 112006040995704-pat00078
    여기서,
    Figure 112006040995704-pat00079
    는 상기 모드 결정 비용함수,
    Figure 112006040995704-pat00080
    는 매크로블록의 움직임 벡터 부호화에 필요한 비트량,
    Figure 112006040995704-pat00081
    은 잔여 픽셀 데이터 부호화에 필요한 비트량임.
  5. 제 4 항에 있어서,
    상기 매크로블록의 움직임 벡터 부호화에 필요한 비트량(
    Figure 112006040995704-pat00082
    )은
    상기 기본 움직임 벡터의 부호화에 필요한 비트량인
    트랜스코딩 방법.
  6. 제 4 항에 있어서,
    상기 잔여 픽셀 데이터 부호화에 필요한 비트량(
    Figure 112006040995704-pat00083
    )은
    아래의 수학식에 의해 산출되는
    트랜스코딩 방법.
    [수학식]
    Figure 112006040995704-pat00084
    여기서,
    Figure 112006040995704-pat00085
    는 상기 매크로블록 비용함수,
    Figure 112006040995704-pat00086
    는 소정 상수임.
  7. 제 6 항에 있어서,
    상기
    Figure 112006040995704-pat00087
    1.7인
    트랜스코딩 방법.
  8. 제 7 항에 있어서,
    상기 제 2 포맷은
    엠펙-4 포맷인
    트랜스코딩 방법.
  9. 제 8 항에 있어서,
    상기 부호화되어야 할 매크로블록의 모드는
    엠펙-4 포맷의 16*16모드 또는 8*8모드 중 어느 하나인
    트랜스코딩 방법.
  10. 제 9 항에 있어서,
    엠펙-4 포맷의 8*8모드인 경우에,
    상기 매크로블록 움직임 벡터 부호화에 필요한 비트량(
    Figure 112006040995704-pat00088
    )은 수학식
    Figure 112006040995704-pat00089
    에 의해 산출되고,
    상기 잔여 픽셀 데이터 부호화에 필요한 비트량(
    Figure 112006040995704-pat00090
    )은 수학식
    Figure 112006040995704-pat00091
    에 의해 산출되는
    트랜스코딩 방법.
    여기서, i는 부호화할 매크로블록에 겹치는 원 영상 매크로블록의 인덱스,
    Figure 112006040995704-pat00092
    는 각 매크로블록의 움직임 벡터 부호화에 필요한 비트량,
    Figure 112006040995704-pat00093
    는 각 매크로블록의 비용함수(
    Figure 112006040995704-pat00094
    )에
    Figure 112006040995704-pat00095
    를 곱한 값임
  11. 제 10 항에 있어서,
    상기 최적 움직임 벡터 결정 단계는,
    상기 모드 결정 단계에서 결정된 부호화되어야 할 매크로블록의 모드가 엠펙-4 포맷의 16*16 모드인 경우에는 매크로블록 단위로 상기 기본 움직임 벡터 주변의
    Figure 112006040995704-pat00096
    영역에 대한 재탐색을 수행하여 최적 움직임 벡터를 결정하고,
    상기 모드 결정단계에서 결정된 부호화되어야 할 매크로블록의 모드가 엠펙-4 포맷의 8*8 모드인 경우에는 상기 8*8 블록 단위로 상기 기본 움직임 벡터 주변의
    Figure 112006040995704-pat00097
    영역에 대한 재탐색을 수행하여 최적 움직임 벡터를 결정하는
    트랜스코딩 방법.
  12. 제 11 항에 있어서,
    상기 매크로블록 활성도 정보는
    DCT 계수의 직류성분을 이용하여 산출되는
    트랜스코딩 방법.
  13. 제 12 항에 있어서,
    상기 제 1 포맷은
    엠펙-2 포맷인
    트랜스코딩 방법.
  14. 제 13 항에 있어서,
    상기 매크로블록 활성도 정보는
    아래의 수학식에 의해 산출되는
    트랜스코딩 방법.
    [수학식]
    Figure 112006040995704-pat00098
    여기서, i는 부호화할 매크로블록에 겹치는 원 영상 매크로블록의 인덱스, j는 하나의 매크로블록에 포함된 4개의 8*8 블록 각각을 나타내는 인덱스,
    Figure 112006040995704-pat00099
    는 각 블록의 직류 성분,
    Figure 112006040995704-pat00100
    는 상기 각 블록의 직류 성분의 합으로서 각 매크로블록의 활성도임.
KR1020060052557A 2005-12-08 2006-06-12 트랜스코딩 방법 KR100721538B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050120109 2005-12-08
KR1020050120109 2005-12-08

Publications (1)

Publication Number Publication Date
KR100721538B1 true KR100721538B1 (ko) 2007-05-23

Family

ID=38278113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060052557A KR100721538B1 (ko) 2005-12-08 2006-06-12 트랜스코딩 방법

Country Status (1)

Country Link
KR (1) KR100721538B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130129387A (ko) * 2010-11-17 2013-11-28 모토로라 모빌리티 엘엘씨 하나의 포맷으로부터 복수의 포맷들 중 하나로 신호를 선택적으로 트랜스코딩하는 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030050387A (ko) * 2001-12-18 2003-06-25 삼성전자주식회사 트랜스코더 및 트랜스코딩 방법
KR20050062836A (ko) * 2003-12-18 2005-06-28 학교법인 대양학원 트랜스코딩 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030050387A (ko) * 2001-12-18 2003-06-25 삼성전자주식회사 트랜스코더 및 트랜스코딩 방법
KR20050062836A (ko) * 2003-12-18 2005-06-28 학교법인 대양학원 트랜스코딩 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130129387A (ko) * 2010-11-17 2013-11-28 모토로라 모빌리티 엘엘씨 하나의 포맷으로부터 복수의 포맷들 중 하나로 신호를 선택적으로 트랜스코딩하는 시스템 및 방법
KR101640081B1 (ko) 2010-11-17 2016-07-18 구글 테크놀로지 홀딩스 엘엘씨 하나의 포맷으로부터 복수의 포맷들 중 하나로 신호를 선택적으로 트랜스코딩하는 시스템 및 방법
KR101733372B1 (ko) 2010-11-17 2017-05-08 구글 테크놀로지 홀딩스 엘엘씨 하나의 포맷으로부터 복수의 포맷들 중 하나로 신호를 선택적으로 트랜스코딩하는 시스템 및 방법

Similar Documents

Publication Publication Date Title
US7602851B2 (en) Intelligent differential quantization of video coding
KR100681370B1 (ko) 전방 예측된 인터레이스드 비디오 프레임의 필드에 대한모션 벡터의 예측
US8155195B2 (en) Switching distortion metrics during motion estimation
US8625670B2 (en) Method and apparatus for encoding and decoding image
US8494052B2 (en) Dynamic selection of motion estimation search ranges and extended motion vector ranges
US8249145B2 (en) Estimating sample-domain distortion in the transform domain with rounding compensation
US8428136B2 (en) Dynamic image encoding method and device and program using the same
US8275035B2 (en) Video coding apparatus
JP5061179B2 (ja) 照明変化補償動き予測符号化および復号化方法とその装置
US20070268964A1 (en) Unit co-location-based motion estimation
US20050265447A1 (en) Prediction encoder/decoder, prediction encoding/decoding method, and computer readable recording medium having recorded thereon program for implementing the prediction encoding/decoding method
US8948243B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
US20110176614A1 (en) Image processing device and method, and program
US20060153299A1 (en) Coded video sequence conversion apparatus, method and program product for coded video sequence conversion
US20110150074A1 (en) Two-pass encoder
US20070171970A1 (en) Method and apparatus for video encoding/decoding based on orthogonal transform and vector quantization
JP2004007379A (ja) 動画像符号化方法及び動画像復号化方法
US20050276331A1 (en) Method and apparatus for estimating motion
KR101742930B1 (ko) 비디오 비트스트림에서 품질 결함을 검출하는 방법 및 장치
US8306114B2 (en) Method and apparatus for determining coding for coefficients of residual block, encoder and decoder
JP2010154490A (ja) 画像復号化方法
JP2007049742A (ja) 動画像符号化方法、復号化方法及び装置
KR20040062257A (ko) 움직임 보상에 기반한 개선된 노이즈 예측 방법 및 그장치와 이를 사용한 동영상 부호화 방법 및 그 장치
JP2007531444A (ja) ビデオデータのための動き予測及びセグメンテーション
US9185420B2 (en) Moving image coding apparatus and moving image coding method

Legal Events

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

Payment date: 20110511

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee