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

트랜스코딩 방법 Download PDF

Info

Publication number
KR100776645B1
KR100776645B1 KR1020060052558A KR20060052558A KR100776645B1 KR 100776645 B1 KR100776645 B1 KR 100776645B1 KR 1020060052558 A KR1020060052558 A KR 1020060052558A KR 20060052558 A KR20060052558 A KR 20060052558A KR 100776645 B1 KR100776645 B1 KR 100776645B1
Authority
KR
South Korea
Prior art keywords
mode
motion vector
macroblock
format
modes
Prior art date
Application number
KR1020060052558A
Other languages
English (en)
Other versions
KR20070061146A (ko
Inventor
전동산
김재곤
홍진우
한종기
김성은
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20070061146A publication Critical patent/KR20070061146A/ko
Application granted granted Critical
Publication of KR100776645B1 publication Critical patent/KR100776645B1/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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야
본 발명은 트랜스코딩 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 트랜스코더 복호기로부터 얻어진 매크로블록 움직임 벡터 정보 및 매크로블록 모드 정보에 기초한 움직임 벡터 추정 및 부호화 모드 결정 방법을 제공함으로써 출력 영상의 화질을 유지하면서도 트랜스코더의 연산량 감소가 가능한 트랜스코딩 방법을 제공하는데 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, N개의 매크로블록 모드중에서 적어도 하나의 모드를 갖는 제 1 포맷의 비디오 시퀀스를 M개의 매크로블록 모드중에서 적어도 하나의 모드를 갖는 제 2 포맷의 비디오 시퀀스로 트랜스코딩하는 방법에 있어서, 상기 제 1 포맷의 비디오 시퀀스 복호화하여 매크로블록 모드 정보 및 매크로블록 움직임 벡터 정보를 획득하는 복호화 단계; 상기 복호화 단계에서 획득된 상기 제 1 포맷 비디오 시퀀스의 매크로블록 모드 정보에 대응하여, 상기 M개의 매크로블록 모드중에서 일부 매크로블록 모드를 트랜스코딩될 모드로 선택하는 모드 선택 단계; 상기 모드 선택 단계에서 선택된 일부 매크로블록 모드에서 상기 제 1 포맷 비디오 시퀀스의 매크로블록 움직임 벡터 정보를 포함하는 예측 움직임 벡터를 이용하여 제 2 포맷으로 트랜스코딩시 사용될 최적 움직임 벡터를 추정하는 움직임 벡터 추정 단계; 및 상기 모드 선택 단계에서 선택된 일부 매크로블록 모드 중 트랜스코딩 될 제 2 포맷의 매크로블록 모드를 결정하는 부호화 모드 결정 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 트랜스코딩 시스템 등에 이용됨.
움직임 벡터 추정, 부호화 모드 결정, 예측 움직임 벡터

Description

트랜스코딩 방법{Method for transcoding}
도 1은 본 발명의 일실시예에 따른 트랜스코딩 방법의 흐름도,
도 2는 도 1의 모드 선택 과정에 대한 도식도,
도 3은 도 1의 움직임 벡터 추정 과정의 상세 흐름도,
도 4는 PMVreused를 설명하기 위한 도면이다.
본 발명은 트랜스코딩(Transcoding) 기술에 관한 것으로, 보다 상세하게는 엠펙-4 포맷의 비디오 시퀀스(sequence)를 H.264 포맷으로 트랜스코딩 하는 경우, 트랜스코더의 복호기로부터 획득한 매크로블록 모드 정보 및 매크로블록 움직임 벡터 정보를 이용하여 움직임 벡터 추정 및 부호화 모드 결정을 수행하는 트랜스코딩 방법에 관한 것이다.
비디오 압축 표준으로 ITU-T 및 ISO/IEC에서 표준화한 H.26x 및 엠펙-x 계열 이 있다. 비디오 압축 분야에서 트랜스코딩은 동종(homogeneous) 비디오 포맷에서 공간 해상도, 프레임 레이트(frame rate), 비트 레이트(bit rate) 등을 변경하는 경우뿐 아니라, 소정 포맷으로 압축된 비디오 시퀀스를 이종(heterogeneous) 포맷으로 변경하는 경우도 포함한다.
현재 제공되는 스트리밍(streaming) 서비스는 제한된 채널 용량을 가지는 무선랜(wireless LAN(local area network)) 또는 CDMA(code-division multiple access)망 등에서 모바일 단말을 통해 제한된 공간 해상도 및 프레임 레이트 등으로 재생이 가능하다. 상기 스트리밍 서비스의 제공을 위해서는 엠펙-2 또는 엠펙-4와 같은 기존의 비디오 압축 포맷을 현재 비디오 압축 분야에서 압축률이 가장 큰 H.264 압축 포맷으로 변환시키는 트랜스코딩이 요구된다.
하지만, 소정의 제 1포맷으로 압축된 비디오 시퀀스를 복호화한 후 제 2포맷으로 재부호화하는 이종 트랜스코딩에서, 상기 제 1포맷과 제 2포맷의 구문(syntaxes), 움직임 벡터 및 모드 정보 등은 서로 다르기 때문에, 제 2포맷으로 재부호화 시 복호화된 제 1포맷의 정보를 그대로 이용하기는 어렵다. 따라서, 이종 트랜스코딩은 많은 연산량을 요구한다. 특히 H.264 포맷으로 트랜스코딩 하는 경우, H.264 포맷은 7가지 모드를 고려하기 때문에 그 자체로도 기존의 압축 포맷보다 훨씬 많은 연산량을 요구하는 문제점이 있다. 따라서, 트랜스코더에서 요구되는 연산량을 감소시키면서도 출력 영상의 화질을 유지시킬 수 있는 트랜스코딩 방법이 요구된다.
본 발명은 상기와 같은 요구에 부응하기 위하여 제공된 것으로, 트랜스코더 복호기로부터 얻어진 매크로블록 움직임 벡터 정보 및 매크로블록 모드 정보에 기초한 움직임 벡터 추정 및 부호화 모드 결정 방법을 제공함으로써 출력 영상의 화질을 유지하면서도 트랜스코더의 연산량 감소가 가능한 트랜스코딩 방법을 제공하는데 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명은, N개의 매크로블록 모드중에서 적어도 하나의 모드를 갖는 제 1 포맷의 비디오 시퀀스를 M개의 매크로블록 모드중에서 적어도 하나의 모드를 갖는 제 2 포맷의 비디오 시퀀스로 트랜스코딩하는 방법에 있어서, 상기 제 1 포맷의 비디오 시퀀스 복호화하여 매크로블록 모드 정보 및 매크로블록 움직임 벡터 정보를 획득하는 복호화 단계; 상기 복호화 단계에서 획득된 상기 제 1 포맷 비디오 시퀀스의 매크로블록 모드 정보에 대응하여, 상기 M개의 매크로블록 모드중에서 일부 매크로블록 모드를 트랜스코딩될 모드로 선택하는 모드 선택 단계; 상기 모드 선택 단계에서 선택된 일부 매크로블록 모드에서 상기 제 1 포맷 비디오 시퀀스의 매크로블록 움직임 벡터 정보를 포함하는 예측 움직임 벡터를 이용하여 제 2 포맷으로 트랜스코딩시 사용될 최적 움직임 벡터를 추정하는 움직임 벡터 추정 단계; 및 상기 모드 선택 단계에서 선택된 일부 매크로블록 모드 중 트랜스코딩 될 제 2 포맷의 매크로블록 모드를 결정하는 부호화 모드 결정 단계를 포함한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 트랜스코딩 방법의 흐름도이다.
우선, 제 1 포맷의 비디오 시퀀스를 복호화하여 매크로블록 모드 정보 및 매크로블록 움직임 벡터 정보를 획득한다(s100). 일례로서, 상기 제 1 포맷이 엠펙-4 포맷인 경우 단계 s100에서 획득된 매크로블록 모드는 16×16 모드 또는 8×8 모드의 두 가지이고, 매크로블록 움직임 벡터는 16×16 모드의 1개 움직임 벡터 또는 8×8 모드의 4개 움직임 벡터이다.
다음으로, 단계 s100에서 획득된 상기 제 1 포맷 비디오 시퀀스의 매크로블록 모드 정보에 대응하여 제 2 포맷 비디오 시퀀스로 트랜스코딩 하는 경우에 고려되는 전체 매크로블록의 모드 중 일부 매크로블록 모드를 트랜스코딩 될 모드로 사전에 선택하는 모드 선택을 수행한다(s200). 일례로서, 상기 제 2 포맷이 H.264 포맷인 경우, 상기 엠펙-4 포맷의 매크로블록 모드 정보에 대응하여, 전체 7가지 매크로블록 모드 중 일부 매크로블록 모드가 트랜스코딩 될 모드로 선택된다. 상기 선택된 일부 매크로블록의 모드에서 이하의 움직임 벡터 추정 과정(s300) 및 모드 결정 과정(s400)을 수행하고 나머지 매크로블록의 모드는 건너뜀(skipping)으로써 트랜스코더의 연산량을 감소시킨다.
다음으로, 상기 선택된 일부 매크로블록 모드 각각에 대하여, 예측 움직임 벡터(PMV : Predicted Motion Vector)를 구하고 상기 예측 움직임 벡터를 이용하여 산출된 후보 움직임 벡터(candidate MV) 중 최적 움직임 벡터(estimated MV)를 결정하는 움직임 벡터 추정을 수행한다(s300)(도 3 및 도 4 참조).
다음으로, 단계 s300에서 추정된 움직임 벡터에 기초하여, 상기 선택된 일부 매크로블록 모드 중 최적 모드(optimal mode)를 결정하는 부호화 모드 결정을 수행함으로써(s400) 트랜스코더의 부호기에서 수행되는 움직임 벡터 추정 및 부호화 모드 결정 과정이 종료된다.
도 2는 도 1의 모드 선택 과정(s200)에 대한 도식도로서, 예시적으로 엠펙-4 포맷을 H.264 포맷으로 트랜스코딩하는 경우를 나타낸다.
도 2에 도시된 바와 같이, 엠펙-4 포맷의 매크로블록의 모드는 16×16 모드 또는 8×8 모드이다. H.264 포맷으로 재부호화시 고려되는 매크로블록의 모드는 총 7가지(16×16, 16×8, 8×16, P8×8(8×8, 8×4, 4×8, 4×4))이다. 그러나, H.264 포맷의 7가지 모드를 모두 고려하여 트랜스코딩을 수행하는 것은 트랜스코더의 연산량을 증가시키는 문제점이 있으므로, 상기 복호화된 엠펙-4 포맷의 매크로블록의 모드 정보(16×16모드 또는 8×8 모드)에 기초하여 상기 H.264 포맷의 7가지 매크로블록 모드 중 일부 매크로블록 모드를 트랜스코딩될 모드로 사전에 선택한다.
매크로블록 모드 정보는 매크로블록 영역 특성과 연관성이 있다. 즉, 큰 블록 모드는 비교적 영상의 움직임이 적거나 단순한 영역에 적합하고, 작은 블록 모드는 영상의 움직임이 많거나 복잡한 영역에 적합하다. 따라서, 복호화된 매크로블록의 모드가 16×16 모드로 하나의 움직임 벡터를 얻었다면, 상기 16×16 모드의 매크로블록에 해당하는 영역은 비교적 단순한 영역이라고 보아, 트랜스코딩시 H.264 포맷의 7가지 모드 중 16×16, 16×8, 8×16의 3가지 모드를 선택하여 고려한다. 따라서, H.264 포맷의 나머지 모드(P8×8)는 고려하지 않으므로 트랜스코딩 시 연산량 감소가 가능하다. 반면, 복호화된 매크로블록의 모드가 8×8 모드로 4개의 움직임 벡터를 얻었다면, 상기 8×8 모드의 매크로블록에 해당하는 영역은 비교적 복잡한 영역이므로, H.264로 트랜스코딩시 16×16 모드를 제외한 16×8, 8×16, P8×8(8×8, 8×4, 4×8, 4×4)의 6가지 모드를 선택하여 고려한다. 따라서, 16×16모드는 고려하지 않으므로 마찬가지로 연산량의 감소가 가능하다.
즉, H.264로 트랜스코딩될 매크로블록의 모드는 복호화된 엠펙-4 매크로블록의 모드 정보에 기초하여 7가지 모드 중 일부 모드만이 선택적으로 고려되므로 연산량이 감소된다. 상기 엠펙-4 매크로블록의 모드 정보는 매크로블록의 영역 특성(단순한 영역 또는 복잡한 영역)을 반영하고 있으므로 연산량의 감소에도 불구하고 영상의 화질이 유지된다.
도 3은 도 1의 움직임 벡터 추정 과정(s300)의 상세 흐름도이다.
우선, 모드 선택 단계(s200)에 의해 고려할 모드가 선택되면, 큰 매크로블록 모드에서 작은 매크로블록 모드의 순서로 모드의 인덱스를 부여한다(s310). 예를 들어, 아래의 [표 1]과 같이 H.264 포맷의 가장 큰 블록 모드(16×16)에서 가장 작은 블록 모드(4×4)의 순서로 모드의 인덱스(i, i=1,2,...,7)가 부여된다. 여기서, [표 1]은 전술한 바와 같이, 엠펙-4 포맷의 매크로블록 모드가 16×16인 경우 H.264 포맷에 대해서는 모드 1~3만을 순차적으로 고려하고(
Figure 112007057759554-pat00001
=1,
Figure 112007057759554-pat00002
=3), 엠펙-4 포맷의 매크로블록 모드가 8×8인 경우 H.264 포맷에 대해서는 모드 2~7만을 순차적으로 고려하여(
Figure 112007057759554-pat00003
=2,
Figure 112007057759554-pat00004
=7) 움직임 벡터가 추정된다는 점을 나타내고 있다. 예를 들어, 트랜스코딩 될 H.264 포맷 모드가 모드 1~3으로 사전 선택된 경우(
Figure 112007057759554-pat00005
=1,
Figure 112007057759554-pat00006
=3), 모드 1로부터 모드 3 각각에 대하여 순차적으로 이후 단계(s320~s370)가 진행된다(s380,s390 참조).
Figure 112006040995849-pat00007
단계 s320에서는 현재 고려되는 트랜스코딩될 포맷의 모드에서 예측 움직임 벡터(PMV)를 구한다(s320). 본 발명의 일실시예에 따라, H.264 부호기에서 이용될 3가지 예측 움직임 벡터로서, 재사용 예측 움직임 벡터(PMVreused), 인접 예측 움직임 벡터(PMVadj) 및 모드 예측 움직임 벡터(PMVmode)를 획득한다.
PMVreused는 엠펙-4 복호기로부터 얻어진 움직임 벡터(1개의 16×16 움직임 벡터 또는 4개의 8×8 움직임 벡터)로서, H.264 부호기에서 재사용되는 예측 움직임 벡터이다. 도 4는 PMVreused를 설명하기 위한 도면이다. 도 4에 도시된 바와 같이, 엠펙-4 포맷의 매크로블록 모드가 16×16이어서 1개의 움직임 벡터(MVa)가 존재하는 경우, 상기 MVa는 H.264 부호기의 상기 모드 선택 과정(s200)에서 선택된 3가지 모드에서 모든 블록의 PMVreused로 획득된다. 반면, 엠펙-4 포맷의 매크로블록 모드가 8×8이어서 4개의 움직임 벡터(MVb, MVc, MVd, MVe)가 존재하는 경우, 상기 4개 움직임 벡터들(MVb, MVc, MVd, MVe)은 그 블록 위치 및 H.264의 매크로블록 모드를 고려하여 각 블록에서 획득된다. 즉, H.264의 매크로블록 모드가 상하 두 개의 블록을 가지는 모드 2인 경우, 상기 MVb가 상측 블록에 대한 PMVreused로 획득되고 상기 MVd가 하측 블록에 대한 PMVreused로 획득된다. 또한, H.264의 매크로블록 모드가 좌우 두 개의 블록을 가지는 모드 3인 경우, 상기 MVb가 좌측 블록에 대한 PMVreused로 획득되고, 상기 MVc가 우측 블록에 대한 PMVreused로 획득된다. H.264의 매크로블록 모드가 상하/좌우 네 개의 블록을 가지는 모드 4인 경우, 상기 MVb, MVc, MVd, MVe가 각 블록 위치에 대응하여 PMVreused로 획득된다. 모드 5, 모드 6, 모드 7과 같이 상기 모드 4의 각 블록이 더 작은 블록을 가지는 경우, 상기 모드 4의 블록이 획득한 PMVreused가 그대로 획득된다. 즉, 모드 5의 상하 블록이 모드 4에서 MVe를 PMVreused로 획득한 블록에 대응되는 경우, 상기 모드 5의 상하 블록에 대해 MVe가 PMVreused로 획득된다.
PMVadj는 인접한(adjacent) 블록들의 움직임 벡터의 중간 움직임 벡터이다. 즉, PMVadj는 H.264의 현재 블록의 상측(top) 블록, 상/우측(top-right) 블록 및 좌측 블록(left)의 움직임 벡터의 중간값이다.
PMVmode는 다른 모드에서 얻어진 움직임 벡터로서, 큰 블록 모드에서 얻어진 움직임 벡터는 더 작은 모드의 PMVmode로 사용된다. 예를 들어 엠펙-4 포맷으로부터 H.264포맷으로 트랜스코딩 되는 경우, H. 264의 각 모드의 PMVmode는 아래의 [표 2]에 나타나 있다.
Figure 112006040995849-pat00008
즉, [표 2]에 나타난 바와 같이 각 모드에서 움직임 벡터 추정 과정을 통하여 결정되는 최적 움직임 벡터(estimated MV)를
Figure 112007057759554-pat00009
이라고 할 때, 엠펙-4 매크로블록의 모드 정보에 기초하여 PMVmode가 획득된다. 예를 들어, 엠펙-4의 매크로블록 모드가 16×16이어서 H.264 포맷의 모드 1,2,3만을 고려하는 경우, 모드 1은 가장 큰 블록 모드로서 더 큰 블록 모드가 존재하지 않기 때문에 PMVmode가 획득되지 않지만, 모드2 및 모드3은 모드 1에서 결정된 최적 움직임 벡터(
Figure 112007057759554-pat00010
)를 PMVmode로 이용한다. 마찬가지로, 복호화된 매크로블록 모드가 8×8이므로 H.264에서 모드 2~7만을 고려하는 경우, 모드 2는 가장 큰 블록 모드로서 PMVmode를 갖지 않지만, 모드 3은 모드 2의 최적 움직임 벡터(
Figure 112007057759554-pat00011
)를 PMVmode로 획득하고 모드 4,5,6,7 각각은
Figure 112007057759554-pat00012
을 PMVmode로 획득한다.
다음으로, 상기 3가지 예측 움직임 벡터(PMVreused, PMVadj, PMVmode) 중 PMVreused 주변을 먼저 탐색하여 최적 움직임 벡터 결정을 위한 후보 움직임 벡터(candidate MV)인 재사용 움직임 벡터(MVreused)를 구한다(s330). 이처럼 3가지 예측 움직임 벡터 중 PMVreused를 먼저 사용하는 이유는 PMVreused가 최적 움직임 벡터와 가장 연관이 높기 때문이다.
다음으로, 움직임 벡터 부호화의 복잡도를 나타내는 움직임 벡터 비용함수를 이용하여 상기 MVreused의 비용함수 값을 소정 임계값과 비교한다(s340). 본 발명의 일실시예에 따르면, 상기 움직임 벡터 비용함수는 아래의 [수학식 1]에 의해 정의되는 라그랑지안 비용함수(Lagrangian cost function)이다.
Figure 112006040995849-pat00013
여기서, mcost는 상기 라그랑지안 비용함수, SAD(Sum of absolute differences)는 현재 블록과 참조 블록 차의 절대값의 합,
Figure 112006040995849-pat00014
은 라그랑지안 곱수(Lagrangian mltiplier),
Figure 112006040995849-pat00015
은 움직임 벡터 부호화에 필요한 비트수이다.
한편, 본 발명의 일실시예에 따르면, 각 모드의 상기 소정 임계값(T(i))은 아래의 [표 3]와 같이 결정된다.
Figure 112006040995849-pat00016
즉, [표 3]에 나타난 바와 같이, 각 모드에서 움직임 벡터 추정 과정을 통하여 결정되는 최적 움직임 벡터(estimated MV)로부터 산출된 비용함수를
Figure 112007057759554-pat00017
이라고 할 때, 트랜스코딩 될 H.264 포맷의 각 모드의 임계값은 H.264 포맷의 모드 1에서의 PMVadj의 비용함수값(mcost(PMVadj))에 기초하여 산출된다. 즉, H.264 포맷의 매크로블록 모드가 모드 1로서 1개의 16×16 블록이 고려되는 경우, 상술한 바와 같이 상기 1개의 16×16 블록의 상측 블록, 상/우측 블록 및 좌측 블록의 움직임 벡터의 중간 움직임 벡터가 현재 블록(1개의 16×16블록)의 PMVadj로 획득된다. 상기 H. 264 포맷의 모드 1에서의 PMVadj의 비용함수값(
Figure 112007057759554-pat00018
)에 기초하여 각 모드의 임계값(T(i))은 더 큰 블록 모드의 최적 움직임 벡터로부터 산출된 비용함수를 2로 나눈 값으로 한다. 엠펙-4 포맷의 매크로블록 모드가 16×16이어서 트랜스코딩 될 H.264 포맷의 모드 1,2,3만 고려하는 경우, 모드 1의 임계값은 상기 H.264 포맷의 모드 1에서의 PMVadj의 비용함수값(
Figure 112007057759554-pat00019
)이다. 모드 2 및 모드 3의 임계값은, 상기 모드 1의 임계값에 기초하여 산출된 모드 1의 최적 움직임 벡터 비용함수(
Figure 112007057759554-pat00020
)를 2로 나눈 값(
Figure 112007057759554-pat00021
/2)이다. 엠펙-4 포맷의 매크로블록 모드가 8×8이어서 트랜스코딩 될 H.264 포맷의 모드 2~7을 고려하는 경우, 모드 2 및 모드 3의 임계값은, 상기 H.264 포맷의 모드 1에서의 PMVadj의 비용함수값(
Figure 112007057759554-pat00022
)을 2로 나눈 ㄱ값(
Figure 112007057759554-pat00023
/2)이다. 모드 4의 임계값은, 상기 모드 2의 임계값에 기초하여 산출된 모드 2의 최적 움직임 벡터 비용함수(
Figure 112007057759554-pat00024
)를 2로 나눈 값(
Figure 112007057759554-pat00025
/2)이다. 마찬가지로, 모드 5,6,7의 임계값은 각각
Figure 112007057759554-pat00026
/2,
Figure 112007057759554-pat00027
/2,
Figure 112007057759554-pat00028
/2로 한다.
비교 결과, 상기 MVreused의 비용함수값(mcost(MVreused))이 상기 소정 임계값(T(i)) 미만이면, MVreused가 당해 모드(i)의 최적 움직임 벡터로 결정되고(s370), PMVadj 및 PMVmode는 고려되지 않는다.
하지만, 상기 MVreused의 비용함수값(mcost(MVreused))이 상기 소정 임계값(T(i)) 이상이면, 단계 s320에서 획득된 PMVadj 및 PMVmode 각각의 주변을 재탐색함으로써 인접 움직임 벡터(MVadj) 및 모드 움직임 벡터(MVmode)를 구한다(s350).
다음으로, MVadj 및 MVmode의 비용함수값(mcost(MVadj) 및 mcost(MVmode))과 상기 mcost(MV reused)를 비교하여 아래의 [수학식 2]에 표현된 바와 같이 최소의 비용함수값을 가지는 움직임 벡터를 당해 모드의 최적 움직임 벡터로 결정한다(s360).
Figure 112006040995849-pat00029
다음으로, 상기 당해 모드가 마지막 모드(ilast)인지를 판단하여(s380), 마지막 모드가 아니라면 다음 모드에서 최적 움직임 벡터를 결정하는 상기 s310 내지 s380 단계를 수행하고(s390), 마지막 모드라면 움직임 벡터 추정 과정을 종료한다.
도 3의 움직임 벡터 추정 과정(s300)을 통하여, 엠펙-4 포맷의 매크로블록 모드가 16×16인 경우에는 트랜스코딩 될 H. 264 포맷의 16×16, 16×8, 8×16의 3개 모드에 대한 최적 움직임 벡터가 결정되고, 엠펙-4 포맷의 매크로블록 모드가 8×8 인 경우에는 트랜스코딩 될 H.264 포맷의 16×8,8×16,P8×8(8×8,8×4,4×8,4×4)의 6개 모드에 대한 최적 움직임 벡터가 결정된다.
마지막으로 단계 s400에서 최적 부호화 모드가 결정됨으로써 트랜스코더의 부호기에서 수행되는 움직임 벡터 추정 및 부호화 모드 결정 과정이 종료된다. 본 발명의 일실시예에 따르면, 상기 부호화 모드 결정 단계(s400)에서는 아래의 [수학식 3]에 의해 정의되는 모드 결정 비용함수를 최소로 하는 모드를 최적 모드로 결정한다.
Figure 112006040995849-pat00030
여기서, J(mode)는 상기 모드 결정 비용함수, SSD(Sum of the squared differences)는 원(original) 블록과 재구성된(reconstructed) 블록 차의 제곱값의 합,
Figure 112006040995849-pat00031
은 라그랑지안 곱수(Lagrangian mltiplier),
Figure 112006040995849-pat00032
은 움직임 벡터 추정 과정(s300)에서 결정된 최적 움직임 벡터 부호화에 필요한 비트수이다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
이상에서 설명한 바와 같이 본 발명은, 트랜스코더 복호기로부터 얻어진 매크로블록 움직임 벡터 정보 및 매크로블록 모드 정보에 기초한 움직임 벡터 추정 및 부호화 모드 결정 방법을 제공함으로써 출력 영상의 화질을 유지하면서도 트랜스코더의 연산량 감소가 가능하다.
즉, H.264로 트랜스코딩될 매크로블록의 모드는 복호화된 엠펙-4 매크로블록의 모드 정보에 기초하여 7가지 모드 중 선택된 모드가 고려되고, 트랜스코더 복호기로부터 얻어진 매크로블록 움직임 벡터 정보를 포함한 3가지 예측 움직임 벡터를 이용함으로써 연산량이 감소된다. 상기 엠펙-4 매크로블록의 모드 정보는 매크로블록의 영역 특성(단순한 영역 또는 복잡한 영역)을 반영하고 있고, 3가지 예측 움직임 벡터도 H.264에서 이용될 최적 움직임 벡터와 연관성이 크기 때문에 연산량의 감소에도 불구하고 영상의 화질이 유지된다.

Claims (13)

  1. N개의 매크로블록 모드중에서 적어도 하나의 모드를 갖는 제 1 포맷의 비디오 시퀀스를 M개의 매크로블록 모드중에서 적어도 하나의 모드를 갖는 제 2 포맷의 비디오 시퀀스로 트랜스코딩하는 방법에 있어서,
    상기 제 1 포맷의 비디오 시퀀스 복호화하여 매크로블록 모드 정보 및 매크로블록 움직임 벡터 정보를 획득하는 복호화 단계;
    상기 복호화 단계에서 획득된 상기 제 1 포맷 비디오 시퀀스의 매크로블록 모드 정보에 대응하여, 상기 M개의 매크로블록 모드중에서 일부 매크로블록 모드를 트랜스코딩될 모드로 선택하는 모드 선택 단계;
    상기 모드 선택 단계에서 선택된 일부 매크로블록 모드에서 상기 제 1 포맷 비디오 시퀀스의 매크로블록 움직임 벡터 정보를 포함하는 예측 움직임 벡터를 이용하여 제 2 포맷으로 트랜스코딩시 사용될 최적 움직임 벡터를 추정하는 움직임 벡터 추정 단계; 및
    상기 모드 선택 단계에서 선택된 일부 매크로블록 모드 중 트랜스코딩 될 제 2 포맷의 매크로블록 모드를 결정하는 부호화 모드 결정 단계
    를 포함하되,
    상기 예측 움직임 벡터는,
    상기 제 1 포맷의 움직임 벡터인 재사용 예측 움직임 벡터(PMVreused)
    를 포함하는
    트랜스코딩 방법.
  2. 제 1 항에 있어서,
    상기 모드 선택 단계는,
    상기 복호화 단계에서 획득된 매크로블록 모드 정보가 제1 블록 크기를 갖는 매크로블록 모드를 나타내면 상기 트랜스코딩될 모드로 제3 블록 크기를 갖는 매크로블록 모드를 선택하며,
    상기 복호화 단계에서 획득된 매크로블록 모드 정보가 제2 블록 크기를 갖는 매크로블록 모드를 나타내면 상기 트랜스코딩될 모드로 제4 블록 크기를 갖는 매크로블록 모드를 선택하되,
    상기 제1 블록 크기는 상기 제2 블록 크기보다 크고, 상기 제3 블록 크기는 상기 제4 블록 크기보다 큰
    트랜스코딩 방법.
  3. 제 2 항에 있어서,
    상기 움직임 벡터 추정 단계는,
    상기 모드 선택 단계에서 선택된 일부 매크로블록 모드에서 예측 움직임 벡터를 산출하는 예측 움직임 벡터 산출 단계; 및
    상기 예측 움직임 벡터 주변을 탐색하여 후보 움직임 벡터를 산출하고 상기 후보 움직임 벡터 중 최적 움직임 벡터를 선택하는 최적 움직임 벡터 산출 단계; 및
    상기 모드 선택 단계에서 선택된 일부 매크로블록 모드 각각에 대하여 상기 예측 움직임 벡터 산출 단계 및 상기 최적 움직임 벡터 산출 단계를 수행하는 단계
    를 포함하는 트랜스코딩 방법.
  4. 삭제
  5. 제 3 항에 있어서,
    상기 예측 움직임 벡터는,
    인접 블록의 움직임 벡터 중간값인 인접 예측 움직임 벡터(PMVadj)
    를 포함하는 트랜스코딩 방법.
  6. 제 5 항에 있어서,
    상기 예측 움직임 벡터는,
    아래의 표와 같이 더 큰 블록 모드의 최적 움직임 벡터인 모드 예측 움직임 벡터(PMVmode)
    를 포함하는 트랜스코딩 방법.
    [표]
    Figure 112006040995849-pat00033
  7. 제 6 항에 있어서,
    상기 최적 움직임 벡터 산출 단계는,
    상기 PMVreused 주변을 탐색하여 재사용 움직임 벡터(MVreused)를 후보 움직임 벡터로 산출하는 단계;
    상기 MVreused의 움직임 벡터 비용함수 값을 당해 모드의 소정 임계값과 비교하는 단계;
    상기 비교 결과 상기 움직임 벡터 비용함수 값이 상기 소정 임계값 미만이면 MVreused를 당해 모드의 최적 움직임 벡터로 선택하는 단계;
    상기 비교 결과 상기 움직임 벡터 비용함수 값이 상기 소정 임계값 이상이면 상기 PMVadj 및 PMVmode 각각의 주변을 탐색하여 인접 움직임 벡터(MVadj) 및 모드 움직임 벡터(MVmode)를 산출하는 단계; 및
    MVadj 및 MVmode의 움직임 벡터 비용함수 값 및 상기 MV reused의 움직임 벡터 비용함수값 중 최소 비용함수값을 가지는 움직임 벡터를 당해 모드의 최적 움직임 벡터로 선택하는 단계
    를 포함하는 트랜스코딩 방법.
  8. 제 7 항에 있어서,
    상기 제 1 포맷은
    엠펙-4 포맷이고,
    상기 N개의 매크로블록 모드는
    16×16 모드 및 8×8 모드의 2개 매크로블록 모드인
    트랜스코딩 방법.
  9. 제 8 항에 있어서,
    상기 제 2 포맷은
    H.264 포맷이고,
    상기 M개의 매크로블록 모드는,
    16×16 모드, 16×8 모드, 8×16 모드, P8×8(8×8, 8×4, 4×8, 4×4) 모드의 7개 매크로블록 모드인
    트랜스코딩 방법.
  10. 제 9 항에 있어서,
    상기 소정 임계값은,
    상기 PMVadj의 움직임 벡터 비용함수 값에 기초하여 결정되는
    트랜스코딩 방법.
  11. 제 10 항에 있어서,
    상기 소정 임계값은,
    아래의 표와 같이 가장 큰 블록 모드의 임계값은 상기 PMVadj의 움직임 벡터 비용함수 값이고,
    가장 큰 블록 모드 이외의 모드에서의 임계값은 더 큰 블록 모드의 최적 움직임 벡터의 움직임벡터 비용함수 값에 기초하여 결정되는
    트랜스코딩 방법.
    [표]
    Figure 112006040995849-pat00034
  12. 제 11 항에 있어서,
    상기 모드 선택 단계는,
    상기 복호화 단계에서 획득된 매크로블록 모드 정보가 엠펙-4 포맷의 16×16모드이면, 트랜스코딩 될 H.264 포맷의 모드를 16×16, 16×8 및 8×16의 3가지 모드로 선택하며,
    상기 복호화 단계에서 획득된 매크로블록 모드 정보가 엠펙-4 포맷의 8×8 모드이면, 트랜스코딩 될 H.264 포맷의 모드를 16×8,8×16,P8×8(8×8,8×4,4×8,4×4)의 6가지 모드로 선택하는
    트랜스코딩 방법.
  13. 제 11 항에 있어서,
    상기 움직임 벡터 비용함수는,
    아래의 수학식에 의해 정의되는 라그랑지안(Lagrangian) 비용함수인
    트랜스코딩 방법.
    [수학식]
    Figure 112006040995849-pat00035
    여기서, mcost는 상기 라그랑지안 비용함수, SAD(Sum of absolute differences)는 현재 블록과 참조 블록 차의 절대값의 합,
    Figure 112006040995849-pat00036
    은 라그랑지안 곱수(Lagrangian mltiplier),
    Figure 112006040995849-pat00037
    은 움직임 벡터 부호화에 필요한 비트수임.
KR1020060052558A 2005-12-08 2006-06-12 트랜스코딩 방법 KR100776645B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050119971 2005-12-08
KR1020050119971 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061146A KR20070061146A (ko) 2007-06-13
KR100776645B1 true KR100776645B1 (ko) 2007-11-16

Family

ID=38357081

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR100776645B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050091369A (ko) * 2004-03-12 2005-09-15 학교법인 대양학원 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
KR20060029535A (ko) * 2004-10-02 2006-04-06 삼성전자주식회사 트랜스코딩을 위해 출력 매크로블록 모드와 출력움직임벡터를 추정하는 방법 및 이를 이용한 트랜스코더
KR20060093743A (ko) * 2005-02-22 2006-08-25 엘지전자 주식회사 비디오 트랜스 코딩 방법 및 장치와 이를 이용한 pvr

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050091369A (ko) * 2004-03-12 2005-09-15 학교법인 대양학원 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
KR20060029535A (ko) * 2004-10-02 2006-04-06 삼성전자주식회사 트랜스코딩을 위해 출력 매크로블록 모드와 출력움직임벡터를 추정하는 방법 및 이를 이용한 트랜스코더
KR20060093743A (ko) * 2005-02-22 2006-08-25 엘지전자 주식회사 비디오 트랜스 코딩 방법 및 장치와 이를 이용한 pvr

Also Published As

Publication number Publication date
KR20070061146A (ko) 2007-06-13

Similar Documents

Publication Publication Date Title
CN112584165B (zh) 一种编解码方法及其设备
TWI720532B (zh) 在視訊編解碼系統中視訊處理的方法以及裝置
TWI720750B (zh) 動態影像編碼裝置及動態影像編碼方法
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
KR100898176B1 (ko) 비디오 인코딩을 위한 인터 모드 결정 방법
KR101420957B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
WO2010035370A1 (ja) 動画像符号化方法および動画像復号化方法
WO2017122604A1 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラムが記憶された記憶媒体
KR20130105907A (ko) 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체
KR20060008523A (ko) 영상의 인트라 예측 방법 및 그 장치
KR100776645B1 (ko) 트랜스코딩 방법
Hsu et al. Fast reference frame selection method for motion estimation in JVT/H. 264
JP6181242B2 (ja) 画像復号化方法
JP5951915B2 (ja) 画像復号化方法
JP5911982B2 (ja) 画像復号化方法
Zu-jue et al. Efficient fast motion estimation optimization based on the improved cross search template for H. 264
Kim et al. Reduced 4x4 Block Intra Prediction Modes using Directional Similarity in H. 264/AVC
JP2016140106A (ja) 画像復号化方法
KR20090108567A (ko) 동화상 처리 시스템, 부호화 장치, 부호화 방법, 복호화 장치, 복호화 방법, 및 기억 매체
KR20100100540A (ko) 동영상 부호화기/복호화기 및 그 동영상 부호화기/복호화기에서의 동영상 부호화/복호화를 위한 블록모드 결정방법
JP2011254396A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム

Legal Events

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

Payment date: 20101101

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee