KR20060006720A - 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더 - Google Patents

비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더 Download PDF

Info

Publication number
KR20060006720A
KR20060006720A KR1020040118021A KR20040118021A KR20060006720A KR 20060006720 A KR20060006720 A KR 20060006720A KR 1020040118021 A KR1020040118021 A KR 1020040118021A KR 20040118021 A KR20040118021 A KR 20040118021A KR 20060006720 A KR20060006720 A KR 20060006720A
Authority
KR
South Korea
Prior art keywords
motion vector
layer motion
base layer
enhancement layer
block
Prior art date
Application number
KR1020040118021A
Other languages
English (en)
Other versions
KR100678949B1 (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 PCT/KR2005/002187 priority Critical patent/WO2006006793A1/en
Priority to US11/181,803 priority patent/US20060013309A1/en
Publication of KR20060006720A publication Critical patent/KR20060006720A/ko
Application granted granted Critical
Publication of KR100678949B1 publication Critical patent/KR100678949B1/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

움직임 스케일러빌리티를 갖는 비디오 코딩 및 디코딩 방법과 비디오 인코더 및 비디오 디코더를 제공한다.
비디오 코딩 방법은 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 추정하는 단계와, 상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 단계와, 상기 시간적 중복이 제거된 비디오 프레임을 공간적 변환하고, 양자화하여 텍스쳐 정보를 얻는 단계와, 상기 각 블록에 대하여 상기 추청된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 어느 하나를 선택하는 단계, 및 상기 추정된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 선택된 상기 각 블록에 대한 움직임 벡터와 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 단계를 포함한다.
기초계층 움직임 벡터, 향상계층 움직임 벡터, 블록 모드, 순서 정보

Description

비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더{Method for video coding and decoding, video encoder and decoder}
도 1은 종전의 비디오 인코더의 구성을 보여주는 블록도이다.
도 2는 종전의 움직임 추정 과정과 시간적 모드를 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 보여주는 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 비디오 인코더의 구성을 보여주는 블록도이다.
도 5는 본 발명의 또 다른 실시예에 따른 비디오 인코더의 구성을 보여주는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 움직임 추정 과정을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 블록 모드를 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 향상계층 비율을 달리한 프레임을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 보여주는 블록도이다.
도 10은 본 발명의 다른 실시예에 따른 비디오 디코더의 구성을 보여주는 블록도이다.
도 11은 본 발명의 또 다른 실시예에 따른 비디오 디코더의 구성을 보여주는 블록 도이다.
도 12는 본 발명의 일 실시예에 따른 비디오 서비스 환경을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 따른 비트스트림의 구조를 보여주는 도면이다.
도 14는 향상계층 움직임 벡터를 사용할 경우의 비디오 화질과 기초계층 움직임 벡터를 사용할 경우의 비디오 화질의 변화를 보여주는 그래프이다.
본 발명은 비디오 코딩 알고리즘에 관한 것으로서, 보다 상세하게는 움직임 스케일러빌리티를 갖는 비디오 코딩 알고리즘에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로하며 전송시에 넓은 대역폭을 필요로 한다. 예를 들면 640*480의 해상도를 갖는 24 bit 트루컬러의 이미지는 한 프레임당 640*480*24 bit의 용량 다시 말해서 약 7.37Mbit의 데이터가 필요하다. 이를 초당 30 프레임으로 전송하는 경우에는 221Mbit/sec의 대역폭을 필요로 하며, 90분 동안 상영되는 영화를 저장하려면 약 1200G bit의 저장공간을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법 을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy)을 없애는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 없앰으로서 데이터를 압축할 수 있다. 데이터 압축의 종류는 소스 데이터의 손실 여부와, 각각의 프레임에 대해 독립적으로 압축하는 지 여부와, 압축과 복원에 필요한 시간이 동일한 지 여부에 따라 각각 손실/무손실 압축, 인트라/인터 압축, 대칭/비대칭 압축으로 나눌 수 있다. 이 밖에도 압축 복원 지연 시간이 50ms를 넘지 않는 경우에는 실시간 압축으로 분류하고, 프레임들의 해상도가 다양한 경우는 스케일러블 압축으로 분류한다. 문자 데이터나 의학용 데이터 등의 경우에는 무손실 압축이 이용되며, 멀티미디어 데이터의 경우에는 주로 손실 압축이 이용된다.
도 1은 종전의 비디오 인코더의 구성을 보여주는 블록도이다.
비디오 인코더(100)는 비디오 프레임들간의 움직임을 추정하여 비디오 프레임들의 시간적 중복을 제거하고, 시간적 중복이 제거된 프레임들을 공간적 변환하여 공간적 중복을 제거하며, 공간적 중복이 제거된 프레임들을 양자화하여 비트스트림을 생성한다. 이를 위하여 비디오 인코더(100)는 움직임 추정부(110)와 움직임 보상부(120)와 공간적 변환부(130)와 양자화부(140)와 움직임 정보 인코딩부(160) 및 비트스트림 생성부(150)를 포함한다.
움직임 추정부(110)는 움직임 보상부(120)에서 현재 프레임(current frame)의 움직임을 보상하여 시간적 중복을 제거할 때 사용되는 움직임 벡터들을 찾는다. 움직임 벡터는 현재 프레임의 블록과 이에 매칭되는 참조 프레임의 블록간의 위치 차이로 정의할 수 있는데, 도 2를 참조하여 후술한다. 참조 프레임으로 원래의 비디오 프레임이 이용될 수도 있으나, 종전의 알려진 많은 비디오 코딩 방식은 코딩된 프레임을 디코딩하여 재구성한 프레임을 참조 프레임으로 이용한다.
움직임 보상부(120)는 움직임 추정부(110)에 의하여 구해진 움직임 벡터를 이용하여 현재 프레임의 시간적 중복을 제거한다. 이를 위하여 움직임 보상부(120)은 참조 프레임과 움직임 벡터를 이용하여 예측 프레임을 생성하고, 현재 프레임과 예측 프레임을 비교하여 잔여 프레임(residual frame)을 생성한다.
공간적 변환부(130)는 잔여 프레임을 변환시켜 변환 계수들을 얻는다. 현재 가장 널리 쓰이는 공간적 변환 알고리즘은 정지 이산코사인변환(Discrete Cosine Transform; 이하, DCT라 함)이며, 최근에는 웨이브렛변환도 사용되고 있다.
양자화부(140)는 공간적 변환부(130)를 통해 얻은 변환 계수들을 양자화한다. 양자화의 세기는 비트레이트에 따라 결정된다.
움직임 정보 인코딩부(160)는 움직임 추정부(110)에 의해 구해진 움직임 벡터를 인코딩하여 정보량을 줄여 움직임 정보를 생성한다. 움직임 정보는 비트스트림에 포함된다.
비트스트림 생성부(150)는 양자화된 변환 계수들과 인코딩된 움직임 벡터를 포함한 비트스트림을 생성한다. 한편, 도 1에는 생략되었으나, MPEG-2, MPEG-4, H.264와 같은 종전의 비디오 코딩 방식은 양자화된 변환 계수들을 바로 비트스트림에 포함시키지 않고, 스캐닝과 스케일링 및 엔트로피 코딩 등을 거쳐 생성된 텍스쳐 정보를 비트스트림에 포함시킨다.
도 2는 종전의 움직임 추정 과정과 시간적 모드를 보여주는 도면이다.
움직임 추정과정은 기본적으로 블록 매칭 알고리즘(Block Matching Algorithm)을 이용하여 현재 프레임의 블록과 이에 대응되는 참조 프레임의 블록의 위치를 탐색영역 내에서 바꿔가며 현재 프레임의 블록과 참조 프레임의 블록을 비교하여 양자의 차이 및 움직임 벡터를 코딩하는데 필요한 코스트를 계산하여 가장 적은 코스트를 갖는 참조 프레임의 블록의 위치를 결정한다. 가장 좋은 성능의 움직임 추정 알고리즘은 전탐색법(full search)이지만 전탐색법은 움직임 추정에 과도한 계산이 필요하다. 현재 널리 사용되는 비디오 코딩에서 움직임 추정에 전탐색법은 사용되지 않고, 대신에 삼단계 탐색법(Three Step Search)이나 계층적 가변 블록 매칭법(Hierarchical Variable Block Matching)이 주로 사용된다. 움직임 추정 과정에서 시간적 모드는 순방향 모드와 역방향 모드 및 양방향 모드가 있다. 종전의 비디오 코딩 방식에서는 이와 같은 프레임간 예측 모드 이외에 현재 프레임의 정보를 이용하는 프레임내 예측 모드가 사용되기도 한다.
이와 같이 움직임 보상에 기반하여 시간적 중복을 제거하는 종전의 비디오 코딩 방식을 이용하면 충분한 비트레이트에서는 높은 효율로 비디오 프레임들을 압축할 수 있다. 그러나 비트레이트가 낮은 경우에는 문제가 발생한다. 왜냐하면, 비디오 코딩에 의해 생성된 비트스트림에는 텍스쳐 정보이외에 움직임 정보도 포함되는데 비트레이트가 낮아질 때 종전의 비디오 코딩 방식은 움직임 정보에 할당되는 비트량은 줄이지 않고 텍스쳐 정보에 할당될 비트량만을 줄이기 때문이다. 극단적으로 말해서, 매우 낮은 비트레이트로 비디오 코딩을 해야하는 경우에, 종전의 비디오 코딩방식에 따르면 비트스트림에 텍스쳐 정보는 거의 포함되지 않고 움직임 정보만이 포함될 수 도 있게 된다. 따라서, 종전과 같이 움직임 정보를 줄일기 곤란한 비디오 코딩방식에 의할 때 낮은 비트레이트에서 비디오 화질은 급격히 나빠지게 된다. 따라서, 비트스트림에 포함되는 움직임 정보에 할당될 비트량을 조절할 수 있는 알고리즘이 필요하다.
본 발명은 상술한 필요성에 따라 안출된 것으로서, 본 발명의 목적은 움직임 정보에 할당되는 비트량을 조절할 수 있는 비디오 코딩 방법과 비디오 인코더 및 비디오 디코딩 방법과 비디오 디코더를 제공하는 것이다.
본 발명의 목적은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 코딩방법은 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 추정하는 단계와, 상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 단계와, 상기 시간적 중복이 제거된 비디오 프 레임을 공간적 변환하고, 양자화하여 텍스쳐 정보를 얻는 단계와, 상기 각 블록에 대하여 상기 추청된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 어느 하나를 선택하는 단계, 및 상기 추정된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 선택된 상기 각 블록에 대한 움직임 벡터와 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 코딩방법은 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 추정하는 단계와, 상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 단계와, 상기 시간적 중복이 제거된 비디오 프레임을 공간적 변환하고, 양자화하여 텍스쳐 정보를 얻는 단계, 및 상기 각 블록에 대한 상기 추정된 기초계층 움직임 벡터와, 상기 추정된 향상계층 움직임 벡터 및 상기 추정된 기초계층 움직임 벡터의 차분 움직임 벡터와, 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 인코더는 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 추정하는 움직임 추정부와, 상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 움직임 보상부와, 상기 시간적 중복이 제거된 비디오 프레임을 공간적 변환하는 공간적 변환부와, 상기 공간적 변환된 프레임을 양자화하여 텍스쳐 정보를 얻는 양자화부와, 상기 각 블록에 대하여 상기 추청된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 어느 하 나를 선택하는 움직임 벡터 선택부, 및 상기 추정된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 선택된 상기 각 블록에 대한 움직임 벡터와 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 비트스트림 생성부를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 인코더는 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 추정하는 움직임 추정부와, 상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 움직임 보상부와, 상기 시간적 중복이 제거된 비디오 프레임을 공간적 변환하는 공간적 변환부와, 상기 공간적 변환된 비디오 프레임을 양자화하여 텍스쳐 정보를 얻는 양자화부, 및 상기 각 블록에 대한 상기 추정된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 및 상기 추정된 기초계층 움직임 벡터의 차분 움직임 벡터와, 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 비트스트림 생성부를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 프리디코딩 방법은 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와, 향상계층 움직임 벡터 및 기초계층 움직임 벡터의 차분 움직임 벡터와, 상기 비디오 프레임을 비디오 코딩한 텍스쳐 정보를 포함하는 비트스트림을 입력받는 단계, 및 상기 차분 움직임 벡터들 중 적어도 일부의 차분 움직임 벡터들을 잘라내는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 디코딩 방법은 입력받은 비트스트림을 해석하여 텍스쳐 정보와 기초계층 움직임 벡터들 및 향상계 층 움직임 벡터들을 포함하는 움직임 정보를 얻는 단계와, 상기 기초계층 움직임 벡터들을 재조정하는 단계와, 상기 텍스쳐 정보를 역 양자화하고, 역 공간적 변환하여 시간적 중복이 제거된 프레임을 얻는 단계, 및 상기 재조정된 기초계층 움직임 벡터들과 상기 향상계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 디코딩 방법은 입력받은 비트스트림을 해석하여 텍스쳐 정보와 기초계층 움직임 벡터들 및 차분 움직임 벡터들을 포함하는 움직임 정보를 얻는 단계와, 기초계층 움직임 벡터 및 차분 움직임 벡터를 모두 갖는 블록들에 대하여 기초계층 움직임 벡터들 및 차분 움직임 벡터들을 병합하여 병합된 움직임 벡터들을 얻는 단계와, 상기 텍스쳐 정보를 역 양자화하고, 역 공간적 변환하여 시간적 중복이 제거된 프레임을 얻는 단계, 및 상기 병합된 움직임 벡터들과 병합되지 않은 기초계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 디코더는 입력받은 비트스트림을 해석하여 텍스쳐 정보와 기초계층 움직임 벡터들 및 향상계층 움직임 벡터들을 포함하는 움직임 정보를 얻는 비트스트림 해석부와, 상기 기초계층 움직임 벡터들을 재조정하는 움직임 벡터 재조정부와, 상기 텍스쳐 정보를 역 양자화하는 역 양자화부와, 역 양자화된 텍스쳐 정보를 역 공간적 변환하여 시간적 중복이 제거된 프레임을 얻는 역 공간적 변환부, 및 상기 재조정된 기초계층 움직 임 벡터들과 상기 향상계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하여 비디오 프레임을 재구성하는 역 움직임 보상부를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 디코더는 입력받은 비트스트림을 해석하여 텍스쳐 정보와 기초계층 움직임 벡터들 및 차분 움직임 벡터들을 포함하는 움직임 정보를 비트스트림 해석부와, 기초계층 움직임 벡터 및 차분 움직임 벡터를 모두 갖는 블록들에 대하여 기초계층 움직임 벡터들 및 차분 움직임 벡터들을 병합하여 병합된 움직임 벡터들을 얻는 움직임 벡터 병합부와, 상기 텍스쳐 정보를 역 양자화하는 역 양자화부와, 역 양자화된 텍스쳐 정보를 역 공간적 변환하여 시간적 중복이 제거된 프레임을 얻는 역 공간적 변환부, 및 상기 병합된 움직임 벡터들과 병합되지 않은 기초계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하는 역 움직임 보상부를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범수를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범수에 의해 정의될 뿐이다.
본 발명은 움직임 벡터들(움직임 정보)에 할당되는 비트량을 조절할 수 있는 비디오 코딩 방식에 관한 것으로서, 참조 프레임으로 원래 비디오 프레임이 사용하는 개방루프(open loop) 방식의 비디오 코딩과, 참조 프레임으로 재구성된 프레임이 사용되는 폐쇄루프(closed loop) 방식의 비디오 코딩 모두에 적용될 수 있다. 폐쇄루프 방식은 개방루프 방식과는 달리 양자화된 변환 계수들을 역 양자화하고 역 변환한 후 움직임 보상 과정을 통해 재구성한 프레임을 참조 프레임으로 사용하기 때문에, 폐쇄루프 방식의 비디오 인코더는 개방루프 방식의 비디오 인코더에는 없는 비디오 디코딩을 위한 일부 구성 요소(역 양자화부, 역 공간적 변환부 등)를 더 포함한다. 이하 설명될 본 발명의 실시예들은 편의상 개방루프 방식의 스케일러블 비디오 코딩을 기준으로 설명하지만, 이는 예시적인 것으로 해석해야 한다.
도 3은 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 보여주는 블록도이다.
비디오 인코더(300)는 움직임 추정부(310)와 움직임 보상부(320)와 공간적 변환부(330)와 양자화부(340)와 비트스트림 생성부(350)와 움직임 벡터 선택부(360) 및 움직임 정보 인코딩부(370)을 포함한다.
움직임 추정부(310)는 현재 프레임(current frame)의 각 블록과 이에 대응되는 하나의 참조 프레임의 블록 또는 두개의 참조 프레임들의 블록들을 추정한다. 움직임 벡터는 현재 프레임의 각 블록과 이에 대응되는 블록간의 위치의 차이를 의미한다.
움직임 벡터를 찾는 움직임 추정 과정은 매우 많은 연산을 필요로 한다. 따라서, 움직임 추정 과정의 연산량을 줄일 필요가 있는데, 삼단계 탐색법(Three Step Search)이나 2차원 로그형 탐색법(2 D Logarithm Search)은 움직임 벡터 후보점들의 개수를 줄여서 움직임 추정 과정의 연산량을 줄이고, 적응예측적 탐색법(Adaptive/Predictive Search)는 이전 프레임의 블록의 움직임 벡터 값으로부터 현재 프레임의 블록의 움직임 벡터를 예측함으로써 움직임 추정 과정의 연산량을 줄인다. 또한 계층적 가변 사이즈 블록 매칭법은 원래 해상도의 프레임을 다운샘플링하여 낮은 해상도의 프레임들을 얻고 가장 낮은 해상도에서 찾은 움직임 벡터를 이용하여 점차적으로 높은 해상도의 움직임 벡터를 찾는다. 이 밖에 블록 매칭의 코스트를 계산하는 함수를 간단한 함수로 대체하여 움직임 추정 과정의 연산량을 줄이는 방법이 있다.
본 실시예에서 움직임 추정부(310)는 기초계층의 움직임 벡터를 찾는 과정과 향상계층의 움직임 벡터를 찾는 과정을 수행한다. 즉, 움직임 추정부(310)는 기초계층 움직임 벡터를 찾고, 기초계층의 움직임 벡터를 재조정하여 향상계층 움직임 벡터를 찾는다. 향상계층기초계층의 움직임 벡터를 찾는 과정은 다양한 움직임 추정 알고리즘에 의해 수행될 수 있지만, 본 실시예에서는 기초계층 움직임 벡터를 찾는 과정 또는 기초계층 움직임 벡터와 향상계층 움직임 벡터를 찾는 과정은 계층적 가변 블록 매칭법에 의해 수행된다. 이는 계층적 가변 블록 매칭법에 의해 찾아진 움직임 벡터는 이웃하는 블록의 움직임 벡터와 일관되는 특성을 갖기 때문이다. 또한 향상계층 움직임 벡터를 찾는 과정은 기초계층의 움직임 벡터를 기준으로 기초계층의 탐색영역보다 좁은 탐색영역에서 향상계층의 움직임 벡터를 찾는다. 다시 말하면, 본 발명의 실시예에 따르면 향상계층의 움직임 벡터는 이미 추정된 기 초계층의 움직임 벡터를 재조정하여 얻는다.
움직임 보상부(320)는 기초계층 움직임 벡터를 이용한 움직임 보상(이하, 기초계층 움직임 보상이라 함)과 향상계층의 움직임 벡터를 이용한 움직임 보상(이하, 향상계층 움직임 보상이라 함)을 별도로 수행함으로써 순서 정보를 얻는다. 움직임 보상부는 향상계층 움직임 보상을 통해 얻은 시간적 중복이 제거된 프레임들을 공간적 변환부(330)에 제공한다.
스케일러블 비디오 코딩방식에서 시간적 중복을 제거하는 다양한 알고리즘이 연구되고 있으며, 그 중 하나가 움직임 보상 시간적 필터링(Motion Compensated Temporal Filtering; 이하, MCTF라 함)이다. 종전에는 MCTF에서 Harr 필터가 사용되었으나 최근에는 5/3 필터가 주로 이용되고 있다. MCTF는 GOP(Group Of Picture) 단위로 수행되는데, 움직임 추정된 결과를 이용하여 예측 프레임을 구성하고, 현재 프레임과 예측 프레임의 차이를 통해 고주파 서브밴드인 잔여 프레임을 얻는다. 그리고 나서 잔여 프레임을 이용하여 남아있는 원래 프레임 또는 저주파 서브밴드를 업데이트한다. 이러한 과정을 반복하고 나면, GOP를 구성하는 프레임들을 시간적 중복이 제거되어 하나의 저주파 서브밴드와 복수의 고주파 서브밴드들이 된다.
공간적 변환부(330)은 공간적 변환을 이용하여 시간적 중복이 제거된 프레임들의 공간적 중복을 제거하여 변환 계수들을 얻는다. 공간적 변환 알고리즘으로 DCT나 웨이브렛 변환 등이 사용될 수 있다. 일 실시예에서 비디오 인코더(300)는 공간적 스케일러빌리티를 갖는 비트스트림을 생성하기 위하여 웨이브렛 변환을 사용한다. 다른 실시예에 있어서, 비디오 인코더(300)는 복수의 해상도를 갖는 계층구조로 시간적 중복을 제거한 프레임들에 대하여 DCT 방식으로 공간적 중복을 제거하여 공간적 스케일러빌리티를 갖는 비트스트림을 생성한다.
양자화부(340)는 주어진 비트레이트에서 최소의 왜곡을 갖도록 변환 계수들을 양자화한다. 스케일러블 비디오 코딩방식에서 양자화는 임베디디 양자화 방식으로 수행되는데, 양자화 알고리즘으로 EZW, SPIHT, EZBC, EBCOT 등이 알려져 있다. 양자화된 변환계수들(텍스쳐 정보)은 스캐닝과 스케일링 및 가변길이코딩을 거친 후 비트스트림에 포함된다.
한편, 비트스트림에는 텍스쳐 정보 이외에 움직임 정보가 포함되는데, 이를 위하여 비디오 인코더(300)는 움직임 벡터 선택부(360)와 움직임 정보 인코딩부(370)를 포함한다.
움직임 벡터 선택부(360)는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터 중 하나를 선택한다. 선택 과정을 살펴보면, 현재 프레임을 구성하는 각 블록들을 향상계층 움직임 보상을 이용하여 시간적 중복을 제거할 때와 기초계층 움직임 보상을 이용하여 시간적 중복을 제거할 때의 화질의 차이가 큰 블록들부터 순서대로 향상계층 움직임 벡터를 선택한다. 예를 들면, 화질 개선이 큰 효과순서로 1, 2, 3, 4, 5, 6, 7, 8번 블록들이 있고, 3개의 블록에 대해서만 향상계층 움직임 보상을 이용할 수 있는 경우라면, 움직임 벡터 선택부(360)는 1, 2, 3번 블록들에 대해서는 향상계층 움직임 벡터를 선택하고, 4, 5, 6, 7, 8번 블록들에 대해서는 기초계층 움직임 벡터를 선택한다. 선택된 움직임 정보(기초계층 움직임 벡 터들 및 향상계층 움직임 벡터들)는 움직임 정보 인코딩부(370)에 제공된다. 결과적으로 비트스트림에 포함되는 텍스쳐 정보는 1, 2, 3, 4, 5, 6, 7, 8번 블록들을 향상계층 움직임 보상을 하고 공간적 변환 및 양자화를 해서 얻은 양자화된 변환 계수들이지만, 비트스트림에 포함되는 움직임 정보는 1, 2, 3번 블록에 대한 향상계층 움직임 벡터들과 4, 5, 6, 7, 8번 블록에 대한 기초계층 움직임 벡터들이다.
움직임 벡터 선택부(360)는 화질의 개선이 큰 블록들의 순서에 관한 정보(이하, 순서 정보라 함)를 움직임 보상부(320)로부터 얻는다. 움직임 벡터 선택부(360)가 향상계층 움직임 벡터를 선택하는 비율은 사용자가 수동으로 입력하여 결정할 수도 있으나, 비트레이트에 따라 자동으로 결정될 수도 있다. 비트레이트에 의해 움직임 정보를 병합하는 경우에, 움직임 벡터 선택부(360)는 비트레이트가 높을 때는 높은 비율로 향상계층 움직임 벡터를 선택하고, 비트레이트가 낮을 때는 낮은 비율로 향상계층 움직임 벡터를 선택한다.
움직임 정보 인코딩부(370)는 움직임 정보를 산술코딩(arithmetic coding) 또는 가변길이코딩(variable length coding) 방식에 따라 코딩한다. 코딩된 움직임 정보는 비트스트림에 포함된다. 움직임 정보에 포함된 움직임 벡터들이 일관성을 가질 때 움직임 정보의 코딩 효율이 높아진다. 본 발명의 실시예는 일관성을 갖는 움직임 벡터들을 얻기 위하여 움직임 추정부(310)는 계층적 가변블록 매칭 알고리즘으로 움직임 벡터들(기초계층 움직임 벡터들 및 향상계층 움직임 벡터들)을 추정한다.
비트스트림 생성부(350)는 텍스쳐 정보와 코딩된 움직임 정보를 포함하는 비트스트 림을 생성한다. 코딩된 움직임 정보에 포함된 각 블록에 대한 움직임 벡터는 기초계층 움직임 벡터 또는 향상계층 움직임 벡터 중에서 어느 하나이지만 이는 예시적이다. 따라서, 어떤 블록에 대한 향상계층 움직임 벡터 대신에 향상계층 움직임 벡터를 구하는데 필요한 상기 블록에 대한 기초계층 움직임 벡터와 차분 움직임 벡터를 포함할 수도 있다. 이는 도 4의 비디오 인코더의 경우에도 동일하게 적용될 수 있다.
도 4는 본 발명의 다른 실시예에 따른 비디오 인코더의 구성을 보여주는 블록도이다.
본 실시예에 따른 비디오 인코더(400)의 움직임 추정부(410)와 움직임 보상부(420)와 공간적 변환부(430)와 양자화부(440)와 비트스트림 생성부(450)와 움직임 벡터 선택부(460) 및 움직임 정보 인코딩부(470)에 대한 설명은 도 3의 비디오 인코더(300)의 해당 구성요소의 설명을 참조한다.
다만, 움직임 벡터 선택부(460)와 움직임 정보 인코딩부(470)와 비트스트림 생성부(450)는 도 3의 비디오 인코더(300)의 해당 구성요소와 약간 다른 동작을 한다.
움직임 벡터 선택부(460)는 기초계층 움직임 벡터와 향상계층 움직임 벡터의 선택 비율을 달리하는 복수의 움직임 정보들을 생성한다. 예를 들어 움직임 벡터 선택부(460)가 총 6개의 움직임 정보들을 생성한다고 할 때, 모든 블록들의 움직임 벡터들은 향상계층 움직임 벡터들인 제1 움직임 정보와, 80 퍼센트의 블록들의 움직임 벡터들은 향상계층 움직임 벡터들이고 20 퍼센트의 움직임 벡터들은 기초계층 움직임 벡터들인 제2 움직임 정보와, 60 퍼센트의 블록들의 움직임 벡터들은 향상 계층 움직임 벡터들이고 40 퍼센트의 블록들의 움직임 벡터들은 기초계층 움직임 벡터들인 제3 움직임 정보와, 40 퍼센트의 블록들의 움직임 벡터들은 향상계층 움직임 벡터들이고 60 퍼센트의 블록들의 움직임 벡터들은 기초계층 움직임 벡터들인 제4 움직임 정보와, 20 퍼센트의 블록들의 움직임 벡터들은 향상계층 움직임 벡터들이고 80 퍼센트의 블록들의 움직임 벡터들은 기초계층 움직임 벡터들인 제5 움직임 정보와, 모든 블록들의 움직임 벡터들은 기초계층 움직임 벡터들인 제6 움직임 정보가 생성될 수 있다. 6개의 움직임 정보들은 모두 비트스트림에 포함된다. 한편, 비디오 디코더는 하나의 움직임 정보를 이용하여 비디오 프레임들을 재구성하는데, 프리 디코더(480)에서 프리 디코딩된 비트스트림을 제공받는다.
움직임 벡터 선택부(460)가 생성하는 움직임 정보들의 갯수가 많을 경우에는 생성되는 비트스트림의 움직임 스케일러빌리티는 증가하지만 비트스트림의 크기는 커지게 되며, 움직임 정보들의 개수가 적을 경우에는 생성되는 비트스트림의 움직임 스케일러빌리티는 감소하지만 비트스트림의 크기는 줄어들게 된다. 각 움직임 정보들에 포함된 향상계층 움직임 벡터들의 비율은 상기 예와 달리할 수 있다. 예를 들면, 움직임 벡터 선택부(460)가 생성하는 움직임 정보들의 개수가 6개인 경우에 각 움직임 정보들에 포함된 향상계층 움직임 벡터들의 비율이 100 퍼센트, 70 퍼센트 40 퍼센트, 20 퍼센트, 10 퍼센트, 0 퍼센트일 수도 있다.
움직임 정보 인코딩부(470)는 복수의 움직임 정보들을 산술코딩 또는 가변길이코딩 방식으로 코딩코딩하여 정보량을 줄인다.
비트스트림 생성부(450)는 텍스쳐 정보와 코딩된 복수의 움직임 정보들을 포함하는 비트스트림을 생성한다.
프리 디코더(480)는 비트스트림에서 하나의 코딩된 움직임 정보를 제외한 나머지 코딩된 움직임 정보들을 잘라낸다. 따라서, 디코더는 하나의 코딩된 움직임 정보만을 받는다. 예를 들면, 디코더에 비트스트림을 전송할 대역폭이 매우 적은 경우에 프리 디코더(480)는 향상계층 움직임 벡터들의 비율이 가장 낮은 예를 들면, 0 퍼센트인 코딩된 움직임 정보를 제외한 나머지 코딩된 움직임 정보들을 잘라낸다. 반면에 디코더에 비트스트림을 전송할 대역폭이 매우 넓은 경우에 프리 디코더(480)는 움직임 벡터들의 비율이 가장 높은 예를 들면, 100 퍼센트인 코딩된 움직임 정보를 제외한 나머지 코딩된 움직임 정보들을 잘라낸다. 마찬가지 방식으로 프리 디코더(480)는 비트레이트에 따라 적절한 코딩된 움직임 정보를 제외한 나머지 코딩된 움직임 정보들을 잘라낸다.
도 5는 본 발명의 또 다른 실시예에 따른 비디오 인코더의 구성을 보여주는 블록도이다.
본 실시예에 따른 비디오 인코더(500)의 움직임 추정부(510)와 움직임 보상부(520)와 공간적 변환부(530)와 양자화부(540)와 비트스트림 생성부(550) 및 움직임 정보 인코딩부(570)에 대한 설명은 도 3의 비디오 인코더(300)의 해당 구성요소의 설명을 참조한다.
비디오 인코더(500)는 도 3의 비디오 인코더(300)와 달리 움직임 벡터 선택부를 포함하지 않는다. 따라서 움직임 정보 인코딩부(570)는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 모두 포함하여 코딩한다. 코딩된 움직임 정 보(기초계층 움직임 벡터들과 향상계층 움직임 벡터들)는 비트스트림에 포함된다.
비트스트림 생성부(550)는 텍스쳐 정보와 코딩된 움직임 정보와 순서 정보를 포함한 비트스트림을 생성한다.
프리 디코더(580)는 비트레이트에 따라 비트스트림에 포함된 순서 정보를 참조하여 코딩된 움직임 정보에서 화질 개선의 효과가 적은 블록의 향상계층 움직임 벡터부터 잘라낸다. 예를 들어, 비트레이트가 매우 낮은 경우에 프리 디코더(580)는 코딩된 향상계층 움직임 벡터들 전체를 잘라내고, 비트레이트가 충분한 경우에는 향상계층 움직임 벡터들을 잘라내지 않는다.
도 6은 본 발명의 일 실시예에 따른 움직임 추정 과정을 보여주는 도면이다.
도 6에는 기초계층 움직임 벡터와 향상계층 움직임 벡터 및 차분 움직임 벡터가 도시된다. 먼저 기초계층 움직임 벡터는 기초계층 움직임 탐색에 의해 얻는 움직임 벡터를 의미하고, 향상계층 움직임 벡터는 향상계층 움직임 탐색에 의해 얻는 움직임 벡터를 의미하며, 차분 움직임 벡터는 향상계층 움직임 벡터와 기초계층 움직임 벡터의 차이를 의미한다.
블록(610)은 현재 프레임의 블록이고, 블록(620)은 블록(610)에 대응되는 블록이며, 블록(630)은 기초계층 탐색과정을 통해 찾아진 블록을 의미한다. 종전의 움직임 추정과정은 블록(610)에 대응되는 블록(620)을 바로 찾는다. 그러나 본 발명의 실시예에 따르면, 기초계층 탐색과정을 통해 블록(630)을 찾고 나서, 향상계층 탐색과정을 통해 블록(620)을 찾는다. 다음은 본 발명의 실시예에서 사용되는 블록매칭방식에 대해 설명한다.
현재 프레임의 블록에 매칭되는 블록은 현재 프레임의 블록을 코딩할 때 코스트가 가장 적게 되도록 하는 위치의 블록으로 결정한다. 현재 프레임의 k번째 블록을 참조 프레임의 탐색영역안의 l번째 블록을 이용하여 코딩할 때 텍스쳐에 할당되는 비트량을 E(k, l)이라고 하고 그 때의 움직임 벡터들을 코딩할 때 할당되는 비트량을 B(k, l)라고 하면, 코스트 C(k, l)은 수학식 1에 의해 정의될 수 있다.
Figure 112004063139190-PAT00001
여기서, λ는 라그랑쥬 계수로서 움직임 벡터에 할당된 비트들과 텍스쳐에 할당된 비트들 사이의 밸런스를 제어하는데 사용된다. λ값이 커지면 상대적으로 텍스쳐에 많은 비트들이 할당되고, λ값이 작아지면 상대적으로 움직임 벡터에 많은 비트들이 할당된다. 매우 낮은 비트레이트에서는 움직임 벡터들에 할당하기에도 비트들이 부족할 수 있는데, 이러한 경우에는 매우 큰 λ값을 주어 주로 텍스쳐에 많은 비트들이 할당되도록 한다.
기초계층 움직임 벡터는 C(k, l)이 최소가 되도록 하는 l값을 찾아, 그 때의 참조 프레임의 블록(630)과 현재 프레임의 블록(610)과의 위치 차이로 구할 수 있다. 이렇게 해서 기초계층의 움직임 벡터를 구하고 나면, 참조 프레임의 블록(630)을 중심으로 향상계층 탐색영역을 중심으로 블록(620)을 찾는 과정을 수학식 1을 이용하여 수행한다. 향상계층 탐색영역은 기초계층 탐색영역보다 상당히 좁은 영역인 것이 바람직한데, 이는 기초계층 움직임 벡터와 기초계층 움직임 벡터 및 향상계층 움직임 벡터의 차이가 최소가 되도록 하기 위함이다. 향상계층 움직임 벡터는 기초계층 움직임 벡터를 구하는 방식과 동일하게 코스트가 최소가 되도록 하는 블록(620)를 찾고 기초계층 탐색과정에서 찾은 블록(630)과의 차이로 향상계층 움직임 벡터를 구할 수 있다. 본 발명의 실시예에 따른 기초계층 탐색과정에서는 향상계층 탐색과정보다 큰 λ값을 사용한다. 이렇게 함으로써 기초계층 움직임 벡터에 할당되는 비트량을 적게할 수 있다. 따라서 매우 낮은 비트레이트에서는 움직임 벡터에 할당되는 비트량을 최소화하고 텍스쳐에 많은 비트들이 할당되도록, 텍스쳐와 기초계층 움직임 정보가 비트스트림에 포함된다.
일 실시예에 있어서, 기초계층 탐색과정과 향상계층 탐색과정은 계층적 가변블록 매칭 방식에 따라 수행된다. 계층적 가변블록 매칭 방식은 일관성있는 움직임 벡터 필드를 얻을 수 있게 하기 때문에, 계층적 가변블록 매칭 방식을 이용하면 전체적으로 움직임 벡터들의 비트레이트는 감소될 수 있다. 또한, 계층적 가변블록 매칭 방식의 경우에 연산량이 많지 않은 특징을 갖는다. 뿐만 아니라 향상계층 탐색영역을 좁게 한정시킴으로써 움직임 스케일러빌리티가 가능하다. 실제 실험결과에서 PSNR 값은 향상계층 탐색영역의 크기와 무관하게 거의 일정한 특성을 보였다.
앞서 설명한 도 3의 비디오 인코더(300)에 의해 생성된 비트스트림에는 각 블록에 대하여 기초계층 움직임 벡터 또는 향상계층 움직임 벡터 중 어느 하나가 선택적으로 포함된다. 즉, 비트스트림에는 하나의 움직임 정보가 포함된다. 도 4의 비디오 인코더(400)에 의해 생성된 비트스트림에는 복수의 움직임 정보들이 포함된다. 각 움직임 정보는 모든 블록들에 대하여 기초계층 움직임 벡터 또는 향상계층 움직 임 벡터 중 어느 하나를 선택적으로 포함하며, 각 움직임 정보에 포함된 향상계층 움직임 벡터의 비율은 서로 다르다. 따라서, 비트스트림은 프리 디코딩되어 어느 하나의 움직임 정보를 제외한 나머지 움직임 정보들은 잘려진 채로 비디오 디코더에 전달된다. 도 5의 비디오 인코더(500)에 의해 생성된 비트스트림에는 하나의 움직임 정보가 포함된다. 움직임 정보에는 각 블록에 대한 기초계층 움직임 벡터와 차분 움직임 벡터를 모두 포함한다. 따라서, 비트스트림은 프리 디코더에서 비트레이트에 따라 프리 디코딩되어 어떤 블록들에 대해서는 기초계층 움직임 벡터만을 포함하도록 하고, 나머지 블록들에 대해서는 기초계층 움직임 벡터와 차분 움직임 벡터를 포함한 채로 비디오 디코더에 전달된다.
한편, 도 3의 비디오 인코더(300)는 어느 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터 중에서 어느 하나를 선택하는 움직임 벡터 선택부(360)를 포함하고 있으나, 움직임 벡터 선택부(360) 대신에 기초계층 움직임 벡터와 차분 움직임 벡터를 병합하는 움직임 벡터 병합부를 포함할 수 있다. 이 경우에 움직임 벡터 병합부에는 기초계층 움직임 벡터와 차분 움직임 벡터가 제공되나, 움직임 정보 인코딩부(370)에는 제공되는 움직임 정보에는 기초계층 움직임 벡터들와 향상계층 움직임 벡터들이 포함된다. 각 향상계층 움직임 벡터는 기초계층 움직임 벡터와 차분 움직임 벡터를 병합하여 얻는다. 마찬가지로 도 4의 비디오 인코더(400)도 움직임 벡터 선택부(460) 대신에 움직임 벡터 병합부를 포함할 수 있다.
한편, 도 5의 비디오 인코더(400)에 의해 생성된 비트스트림에는 각 블록에 대한 기초계층 움직임 벡터와 차분 움직임 벡터를 모두 포함하고 잇으나, 차분 움직임 벡터 대신에 향상계층 움직임 벡터를 포함할 수 있다. 이 경우에 프리 디코더는 모든 블록에 대하여 기초계층 움직임 벡터와 향상계층 움직임 벡터 중 어느 하나를 선택적으로 잘라낸다. 어떤 블록에 대하여 어떤 움직임 벡터를 잘라낼지 여부는 비트레이트와 순서 정보에 따라 결정될 수 있다.
도 7을 참조하면, 앞서 설명한 바와 같이 좁은 향상계층 탐색영역을 이용한 움직임 스케일러빌리티는 블록 모드 개념을 도입할 때 보다 강화되는 것을 알 수 있다.
모드 0는 16*16 블록 단위로 움직임 벡터를 구하는 것이고, 모드 1은 8*16, 모드 2는 16*8, 모드 3은 8*8 및 모드 4는 4*4 단위의 서브블록들 단위로 움직임 벡터들을 구하는 것이다.
본 발명의 실시예에서 기초계층 블록 모드는 모드 0, 모드 1, 모드 2, 모드 3 중 어느 하나를 갖고, 향상계층 블록 모드는 모드 0, 모드 1, 모드 2, 모드 3, 모드 4 중 어느 하나를 갖는다. 또한, 기초계층 블록 모드가 0일 경우에 향상계층 블록 모드는 0, 1, 2, 3, 4 중 어느 하나가 될 수 있고, 기초계층 블록 모드가 1일 경우에 향상계층 블록 모드는 1, 3, 4 중 어느 하나가 될 수 있고, 기초계층 블록 모드가 2일 경우에 향상계층 블록 모드는 2, 3, 4 중 어느 하나가 될 수 있으며, 기초계층 블록 모드가 3일 경우에 향상계층 블록 모드는 3, 4 중 어느 하나가 될 수 있다. 그렇지만 기초계층 블록 모드가 1인 경우에 향상계층 블록 모드는 2가 될 수 없다. 왜냐하면 모드 1은 가로방향 모드이지만 모드 2는 세로방향 모드이기 때문이다.
앞서 설명한 바와 같이 기초계층 탐색과정에서는 향상계층 탐색과정보다 큰 λ값을 사용한다. 따라서, 기초계층 탐색과정에서 추정된 움직임 벡터(기초계층 움직임 벡터)에 할당되는 비트량과 향상계층 탐색과정에서 추정된 움직임 벡터(기초계층 움직임 벡터+향상계층 움직임 벡터)에 할당되는 비트량이 동일하더라도, 기초계층에 더 큰 패널티가 가해진다. 따라서, 실제로 실험에서는 특별한 경우가 아니라면 기초계층의 모드는 주로 모드 0으로 결정됐다. 반면에 향상계층은 작은 λ값을 사용하기 때문에 움직임 벡터에 할당되는 비트량에 대한 패널티가 기초계층보다는 적다. 따라서, 향상계층의 모드는 기초계층의 모드보다 더 세분화된 블록들을 갖는 경우가 많다. 한편, 상기 블록의 블록 모드는 총 5개를 갖는 것으로 설명하였으나, 이는 예시적인 것으로서, 블록 모드의 개수는 5개 미만일 수도 있고 5개 초과할 수도 있다.
본 발명의 실시예에 따르면, 비트스트림에 포함되는 텍스쳐 이미지는 향상계층 움직임 벡터를 이용하여 시간적 중복이 제거된 프레임들이 공간적 변환되고 나서 양자화되어 얻어진다. 따라서, 낮은 비트레이트에서 일부 블록의 움직임 벡터가 기초계층 움직임 벡터인 경우에 불일치(mismatch) 문제가 발생될 수 있다. 즉, 비디오 코딩 과정은 향상계층 움직임 벡터를 이용하였지만, 비디오 디코딩 과정은 기초계층 움직임 벡터를 이용하기 때문에 불일치 문제가 발생되며, 이는 성능(화질, 압축 효율 등) 저하의 원인이 된다.
따라서, 본 발명에 따른 실시예는 이러한 불일치를 최소화하도록 어떤 블록은 향상계층 움직임 벡터를 사용하고, 어떤 블록은 기초계층 움직임 벡터를 사용할지를 결정하는 알고리즘을 제공한다. 기초계층 움직임 벡터를 사용하기 때문에 발생되는 불일치 정도는 수학식 2에 의해 평가될 수 있다.
Figure 112004063139190-PAT00002
여기서, E는 불일치 정도를 의미하고, Om은 향상계층 움직임 벡터들을 사용하여 재구성한 프레임을, Ob는 기초계층 움직임 벡터들을 사용하여 재구성한 프레임을 의미하며, 수학식 3과 같이 정의될 수 있다.
Om=Pm+Hm
Ob=Pb+Hm
여기서, Pm과 Hm은 향상계층 움직임 벡터들을 이용하여 예측된 프레임과 잔여 프레임을 의미하고, Pb는 기초계층 움직임 벡터들을 이용하여 예측된 프레임을 의미한다.
한편, 비디오 코딩에서 양자화에 의한 손실이 없다고 가정하면, Om은 수학식 4와 같다.
Om=Pb+Hb
수학식 2 내지 수학식 4를 정리하면, 불일치 정도는 수학식 5로 표현할 수 있다.
Figure 112004063139190-PAT00003
수학식 5를 살펴보면 불일치 정도는 향상계층 움직임 벡터들을 이용한 예측 프레임과 기초계층 움직임 벡터들을 이용한 예측 프레임의 차이에 의해 결정할 수도 있고, 향상계층 움직임 벡터들을 이용한 잔여 프레임과 기초계층 움직임 벡터들을 이용한 잔여 프레임의 차이에 의해 결정할 수도 있다.
도 3 내지 도 5를 참조하면, 예측 프레임과 잔여 프레임은 움직임 보상부(310, 410, 510)에서 얻어진다. 움직임 보상부(310, 410, 510)는 기초계층 움직임 벡터들과 향상계층 움직임 벡터들을 받아 Pm, Pb, Hm, Hb를 생성할 수 있다.
본 발명의 실시예는 수학식 5를 이용하여 블록의 중요도 순서를 정할 수 있다. 다시 말하면 프레임을 구성하는 각 블록을 향상계층 움직임 보상을 이용하여 코딩할 때와 기초계층 움직임 벡터를 이용하여 코딩할 때의 차이를 구하고, 차이의 크기에 따라 블록의 중요도 순서를 정한다. 일 실시예에서, 블록의 중요도 순서는 기초계층 움직임 보상에 의한 잔여 블록(현재 프레임의 블록과 예측 프레임의 블록의 차이)과 향상계층 움직임 보상에 의한 잔여 블록의 차이에 의해 결정한다. 다시 말하면 양자의 차이가 클수록 각 블록을 향상계층 움직임 보상을 이용하여 코딩할 때와 기초계층 움직임 벡터를 이용하여 코딩할 때의 차이가 큰 것으로 판단한다. 이러한 중요도 크기 순서는 움직임 추정부에서 구할 수도 있지만, 움직임 벡터 선택부에서 중요도 순서를 구하는 것도 가능하다.
도 3와 도 4의 실시예에서 움직임 벡터 선택부(360, 460)는 각 블록에 대한 움직임 벡터를 선택할 때 상기 구해진 순서에 따라 중요한 블록부터 향상계층 움직임 벡터를 선택한다. 즉, 에러의 크기가 큰 블록부터 우선적으로 향상계층 움직임 벡터를 할당하고, 에러의 크기가 작은 블록은 나중에 향상계층 움직임 벡터를 할당한다. 한편, 도 5의 비디오 인코더(500)는 움직임 벡터 선택부를 포함하지 않는다. 따라서, 비디오 인코더(500)에 의해 생성된 비트스트림에는 각 블록에 대한 기초계층 움직임 벡터와 잔여 움직임 벡터 및 순서 정보를 포함한다. 프리 디코더(680)는 비트레이트에 따라 순서 정보를 참조하여 중요도가 작은 잔여 움직임 벡터들부터 필요한 만큼 잘라낸다.
도 8을 참조하면, 어떤 프레임의 향상계층 비율은 0%인 경우와 향상계층 비율이 50%인 경우의 예를 보여주고 있다.
향상계층 비율이 0%인 경우에도 텍스쳐 정보는 모두 향상계층 움직임 보상을 통해 생성된다. 그렇지만 비디오 디코딩 과정에서 모든 블록들은 기초계층의 역 움직임 보상을 거치게 된다. 향상계층 비율이 50%인 경우에도 텍스쳐 정보는 모두 향상계층 움직임 보상을 통해 생성된다. 비디오 디코딩 과정에서 50%의 블록들은 향상계층 역 움직임 보상을 거치고, 50%의 블록들은 기초계층 역 움직임 보상을 거친다.
한편, 블록 안의 숫자는 블록 모드를 의미한다. 도 8에 도시된 바와같이 동일한 블록에 대해서 기초계층일 때의 블록 모드와 향상계층일 때의 블록 모드가 다를 수 있다. 기초계층의 블록 모드와 향상계층의 블록 모드가 다를 경우에 비디오 디코딩 과정에서 향상계층 역 움직임 보상을 하는 블록에 대해서는 향상계층의 블록 모 드를 이용하고, 기초계층 역 움직임 보상을 하는 블록에 대해서는 기초계층 블록 모드를 이용한다.
이하에서는, MCTF에 기반한 스케일러블 비디오 코딩된 프레임들을 디코딩하여 비디오 프레임들을 재구성하는 비디오 디코더에 대해 예시적으로 설명한다. 도 9는 도 3의 비트스트림 또는 도 4의 프리 디코딩된 비트스트림을 입력받아 디코딩하는 비디오 디코더를 설명하며, 도 10 및 도 11은 도 5의 프리 디코딩된 비트스트림을 입력받아 디코딩하는 비디오 디코더들을 예시적으로 설명한다.
도 9는 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 보여주는 블록도이다.
비디오 디코더(900)는 비트스트림 해석부(910)와 역 양자화부(920)와 역 공간적 변환부(930)와 역 움직임 보상부(940)와 움직임 정보 디코딩부(950) 및 움직임 벡터 재조정부(960)를 포함한다.
비트스트림 해석부(910)는 입력된 비트스트림으로부터 텍스쳐 정보와 코딩된 움직임 정보를 얻는다. 텍스쳐 정보는 비디오 코딩된 프레임들의 이미지 정보를 포함하고 있으며, 역 양자화부(920)에 제공된다. 코딩된 움직임 정보는 각 블록에 대한 기초계층 움직임 벡터 또는 향상계층 움직임 벡터를 포함하고 있으며, 움직임 정보 디코딩부(950)에 제공된다.
역 양자화부(920)는 텍스쳐 정보를 역 양자화하여 변환 계수들을 얻는다. 변환 계수들은 역 공간적 변환부(930)에 제공된다.
역 공간적 변환부(930)는 변환 계수들을 역 공간적 변환하여 GOP 단위로 하나의 저주파 서브밴드와 복수의 고주파 서브밴드들을 얻는다.
역 움직임 보상부(940)는 GOP 단위로 저주파 서브밴드와 복수의 고주파 서브밴드들을 입력받아 하나 또는 그 이상의 고주파 서브밴드를을 이용하여 저주파 서브밴드를 업데이트하고, 업데이트된 저주파 서브밴드를 이용하여 예측 프레임을 생성한 후에, 생성된 예측 프레임과 고주파 서브밴드를 더하여 저주파 서브밴드를 재구성한다. 역 움직임 보상부(940)는 업데이트된 저주파 서브밴드와 재구성된 저주파 서브밴드를 다시 업데이트하고, 업데이트된 저주파 서브밴들을 이용하여 2개의 예측 프레임을 생성하고, 생성된 예측 프레임들과 2개의 고주파 서브밴드를 더하여 2개의 저주파 서브밴드를 재구성한다. 역 움직임 보상부(940)는 상기 설명한 과정을 반복하여 GOP를 구성하는 비디오 프레임들을 재구성한다. 업데이트 과정과 예측 프레임 생성과정에서 사용되는 움직임 벡터는 움직임 정보 디코딩부(950)에서 코딩된 움직임 정보를 디코딩하여 얻은 움직임 정보(각 블록에 대한 기초계층 움직임 벡터 또는 향상계층 움직임 벡터)로부터 얻는다.
움직임 정보 디코딩부(950)는 코딩된 움직임 정보를 디코딩하여 움직임 정보를 얻는다. 움직임 정보에는 기초계층 움직임 벡터들과 향상된 움직임 벡터들이 포함되어 있다. 이 중에서 기초계층 움직임 벡터들은 움직임 벡터 재조정부(960)에 제공된다.
움직임 벡터 재조정부(960)은 기초계층 움직임 벡터들을 재조정한다. 일 실시예에 있어서, 움직임 벡터 재조정부(960)는 인근 블록들의 향상계층 움직임 벡터들을 참조하여 기초계층 움직임 벡터를 재조정한다. 다른 실시예에 있어서, 움직임 벡터 재조정부(960)은 역 움직임 보상과정에서 생성된 예측 프레임을 참조하여 기초계층 움직임 벡터를 재조정한다. 향상계층 움직임 벡터와 재조정된 기초계층 움직임 벡터는 업데이트 과정과 예측 프레임 생성과정에 사용되도록 역 움직임 보상부(940)에 제공된다.
도 10은 본 발명의 다른 실시예에 따른 비디오 디코더의 구성을 보여주는 블록도이다.
비디오 디코더(1000)는 비트스트림 해석부(1010)와 역 양자화부(1020)와 역 공간적 변환부(1030)와 역 움직임 보상부(1040)와 움직임 정보 디코딩부(1050) 및 움직임 벡터 병합부(1070)를 포함한다.
비트스트림 해석부(1010)는 입력된 비트스트림으로부터 텍스쳐 정보와 코딩된 움직임 정보를 얻는다. 텍스쳐 정보는 비디오 코딩된 프레임들에 대한 정보를 포함하고 있으며, 역 양자화부(1020)에 제공된다. 코딩된 움직임 정보는 움직임 벡터들을 포함하고 있으며, 움직임 정보 디코딩부(1050)에 제공된다.
역 양자화부(1020)는 텍스쳐 정보를 역 양자화하여 변환 계수들을 얻는다. 변환 계수들은 역 공간적 변환부(1030)에 제공된다. 역 공간적 변환부(1030)는 변환 계수들을 역 공간적 변환하여 GOP 단위로 하나의 저주파 서브밴드와 복수의 고주파 서브밴드들을 얻는다. 역 움직임 보상부(1040)는 GOP 단위로 저주파 서브밴드와 복수의 고주파 서브밴드들을 입력받아 비디오 프레임들을 재구성한다.
움직임 정보 디코딩부(1050)는 코딩된 움직임 정보를 디코딩하여 움직임 정보를 얻는다. 움직임 정보에는 일부 블록들을 위한 기초계층 움직임 벡터가 포함되고, 다른 블록들을 위한 기초계층 움직임 벡터 및 차분 움직임 벡터가 포함된다. 다른 블록들을 위한 기초계층 움직임 벡터 및 차분 움직임 벡터는 움직임 벡터 병합부(1070)로 제공된다.
움직임 벡터 병합부(1070)는 기초계층 움직임 벡터와 차분 움직임 벡터를 병합한다. 병합된 움직임 벡터는 향상계층의 움직임 벡터가 되는데, 업데이트 과정과 예측 프레임 생성과정을 위하여 역 움직임 보상부(1040)로 제공된다.
도 11은 본 발명의 또 다른 실시예에 따른 비디오 디코더의 구성을 보여주는 블록도이다.
비디오 디코더(1100)는 비트스트림 해석부(1110)와 역 양자화부(1120)와 역 공간적 변환부(1130)와 역 움직임 보상부(1140)와 움직임 정보 디코딩부(1150)와 움직임 벡터 병합부(1170) 및 움직임 벡터 재조정부(1160)를 포함한다. 비디오 디코더(1100)의 각 구성요소는 도 10의 비디오 디코더(1000)의 해당 구성요소의 설명을 참조한다. 그러나 비디오 디코더(1100)는 도 10의 비디오 디코더(1000)와 달리 움직임 벡터 재조정부(1160)를 더 포함한다.
움직임 벡터 재조정부(1160)은 기초계층 움직임 벡터를 재조정한다. 일 실시예에 있어서, 움직임 벡터 재조정부(1160)는 인근 블록들의 병합된 움직임 벡터를 참조하여 기초계층 움직임 벡터를 재조정한다. 다른 실시예에 있어서, 움직임 벡터 재조정부(1160)은 역 움직임 보상과정에서 생성된 예측 프레임을 참조하여 기초계층 움직임 벡터를 재조정한다. 병합된 움직임 벡터와 재조정된 움직임 벡터는 업데이트 과정과 예측 프레임 생성과정을 위해 역 움직임 보상부(1140)에 제공된다.
도 12는 본 발명의 일 실시예에 따른 비디오 서비스 환경을 보여주는 도면이다.
비디오 인코더(1210)는 비디오 프레임들을 스케일러블 비디오 코딩방식으로 코딩하여 비트스트림을 생성한다. 본 발명의 실시예에 따라 생성된 비트스트림의 구조는 도 13을 참조하여 설명한다.
프리 디코더(1220)는 비트스트림의 일부를 잘라낸다(프리 디코딩). 프리 디코더(1220)가 비트스트림을 잘라내는 정도는 네트워크(1230)의 대역폭에 결정될 수 있다. 예를 들어, 사용자는 네트워크(1230)의 대역폭이 충분한 경우에 높은 화질의 비디오를 요청하게 되고, 이 경우에 프리 디코더(1220)는 비트스트림의 비트들을 적게 잘라내거나 전혀 잘라내지 않는다. 예를 들어, 사용자는 네트워크(1230)의 대역폭이 충분하지 않은 경우에 네트워크(1230)를 통해 전달 가능한 정도의 비트레이트의 비디오를 요청하게 되고, 이 경우에 프리 디코더(1220)는 비트스트림의 상당수 비트들을 잘라낸다.
비디오 디코더(1240)는 네트워크(1230)를 통해 전달된 프리 디코딩된 비트스트림을 받아 비디오 프레임들을 재구성한다.
도 13은 본 발명의 일 실시예에 따른 비트스트림의 구조를 보여주는 도면이다.
비트스트림은 헤더(1310)와 움직임 벡터 필드(1320) 및 텍스쳐 정보 필드(1330)을 포함한다.
헤더(1310)는 시퀀스 헤더, GOP 헤더, 프레임 헤더, 및 슬라이스 헤더 등을 포함할 수 있다. 헤더(1310)에는 시퀀스, GOP, 프레임, 슬라이스에 대한 필요한 정보가 기재된다.
움직임 벡터 필드(1320)는 순서 정보 필드(1321)와 기초계층 움직임 벡터 필드 (1322) 및 향상계층 움직임 벡터 필드(1323)를 포함한다.
순서 정보 필드(1321)는 화질의 개선이 큰 블록들의 순서에 관한 정보를 포함한다. 일 실시예에 있어서, 순서 정보 필드(1321)는 모든 블록들의 화질 개선 정도를 순서화한 정보를 포함한다. 예를 들어, 1, 2, 3, 4, 5, 6번 블록들에 대하여 향상계층 움직임 벡터를 사용할 때 화질 개선이 뚜렷한 블록들의 순서가 1, 4, 2, 3, 5, 6일 때 순서정보에는 1, 4, 2, 3, 5, 6의 순서가 기록되어 있다. 따라서, 프리 디코딩 과정에서 화질 개선이 적은 블록 순서(6, 5, 3, 2, 4, 1)로 향상계층 움직임 벡터들을 잘라낼 수 있다.
기초계층 움직임 벡터 필드(1322)는 움직임 벡터에 적은 비트를 할당할 때 얻은 움직임 벡터에 대한 정보를 포함한다.
향상계층 움직임 벡터 필드(1322)는 움직임 벡터에 많은 비트를 할당할 때 얻은 움직임 벡터에 대한 정보를 포함한다.
프리 디코더는 어떤 블록에 대하여 기초계층 움직임 벡터와 향상계층 움직임 벡터 중에 어느 하나를 선택적으로 잘라낸다. 즉, 상기 블록에 향상계층 움직임 벡터를 사용하는 것으로 결정한 경우에, 프리 디코더는 기초계층 움직임 벡터를 비트스트림에서 잘라낸다. 또한, 상기 블록에 기초계층 움직임 벡터를 사용하는 것으로 결정한 경우에, 프리 디코더는 향상계층 움직임 벡터를 비트스트림에서 잘라낸다.
다른 실시예에 있어서, 움직임 벡터 필드(1320)는 기초계층 움직임 벡터 필드(1322)를 포함하지만, 향상계층 움직임 벡터 필드(1323) 대신에 차분 움직임 벡터 필드를 포함한다. 이 경우에 있어서, 어떤 블록에 대해 기초계층 움직임 벡터를 사용하는 것으로 결정한 경우에 프리 디코더는 차분 움직임 벡터를 비트스트림에서 잘라내지만, 향상계층 움직임 벡터를 사용하는 것으로 결정한 경우에 프리 디코더는 기초계층 움직임 벡터를 잘라내지 않는다. 즉, 비디오 디코더는 상기 블록에 대한 기초계층 움직임 벡터와 차분 움직임 벡터를 이용하여 향상계층 움직임 벡터를 재구성하여 역 움직임 보상 과정에서 사용한다.
텍스쳐 정보 필드(1330)는 Y 성분(Y Component) 텍스쳐 정보를 기록한 필드(1331)와 U 성분 텍스쳐 정보를 기록한 필드(1332) 및 V 성분 텍스쳐 정보를 기록한 필드(1333)를 포함할 수 있다.
스케일러블 비디오 코딩방식으로 코딩된 비트스트림에서 비트레이트를 줄이는 과정에 대해서는 도 14를 참조하여 설명한다.
도 14는 향상계층 움직임 벡터를 사용할 경우의 비디오 화질과 기초계층 움직임 벡터를 사용할 경우의 비디오 화질의 변화를 보여주는 그래프이다.
도시된 바와 같이 높은 비트레이트에서는 향상계층 움직임 벡터를 사용할 경우에 디코더에서 재구성한 비디오의 화질이 기초계층 움직임 벡터를 사용할 경우보다 좋다. 그러나 비트레이트가 극단적으로 적어질 경우에는 향상계층 움직임 벡터를 사용할 경우보다 기초계층 움직임 벡터를 사용할 때 디코더에서 재구성한 비디오의 화질이 더 좋다.
따라서, 프리디코더는 기준점보다 큰 비트레이트의 비트스트림을 요청받는 경우에 모든 움직임 벡터는 향상계층 움직임 벡터로 제공하고, 텍스쳐에서 필요한 비트들을 잘라낸다. 그렇지만 기준점 이하의 비트레이트의 비트스트림을 요청받은 경우 에 프리 디코더는 텍스쳐에서 비트들을 잘라낼 뿐만 아니라, 향상 계층 움직임 벡터들 중 일부 또는 전부를 잘라낸다.
이러한 기준점은 다양한 비디오 시퀀스를 통해 실험적으로 얻을 수 있다.
한편, 극단적으로 비트레이트가 낮은 경우에 프리 디코더는 움직임 벡터들(기초계층 및 향상계층 움직임 벡터들)의 전부를 잘라낼 수도 있다.
본 명세서에 개시된 실시예와 도면은 예시적인 것으로서 본 발명의 기술적 사상은 이에 한정되지 않으며, 그 발명의 기술사상은 후술하는 특허청구범위에 의해 보다 명확하게 한정될 것이다.
본 발명의 실시예에 따르면, 움직임 스케일러빌리티를 갖는 비디오 코딩이 가능한다. 움직임 스케일러빌리티를 갖지않는 기존의 비디오 코딩방식에서는 매우 낮은 비트레이트에서도 움직임 정보에 포함된 비트량을 조절할 수 없기 때문에 화질이 떨어지는 특성을 보이지만, 본 발명의 실시예에 따르면 매우 낮은 비트레이트에서는 움직임 정보에 포함된 비트량을 최소화함으로써 기존의 비디오 코딩방식들보다 비디오 화질을 개선할 수 있다.

Claims (35)

  1. 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 추정하는 단계;
    상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 단계;
    상기 시간적 중복이 제거된 비디오 프레임을 공간적 변환하고, 양자화하여 텍스쳐 정보를 얻는 단계;
    상기 각 블록에 대하여 상기 추청된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 어느 하나를 선택하는 단계; 및
    상기 추정된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 선택된 상기 각 블록에 대한 움직임 벡터와 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 단계를 포함하는 비디오 코딩방법.
  2. 제1항에 있어서,
    계층적 가변블록 매칭 방식에 의해 상기 기초계층 움직임 벡터를 추정하는 비디오 코딩방법.
  3. 제1항에 있어서,
    상기 기초계층 움직임 벡터를 재조정하여 상기 향상계층 움직임 벡터를 추정하는 비디오 코딩방법.
  4. 제1항에 있어서,
    상기 추정되는 기초계층 움직임 벡터 및 상기 추정되는 향상계층 움직임 벡터는 복수의 블록 모드들 중 어느 한 모드를 갖는 비디오 코딩방법.
  5. 제1항에 있어서,
    상기 선택하는 단계는 상기 프레임을 구성하는 각 블록에 대하여 기초계층 움직임 벡터를 이용하여 얻은 잔여 블록과 향상계층 움직임 벡터를 이용하여 얻은 잔여 블록의 차이를 구하고, 상기 차이에 따라 블록의 중요도 순서를 정하며, 상기 중요도가 높은 블록부터 소정의 비율의 블록들에 대하여 향상계층 움직임 벡터를 선택하고 나머지 블록들에 대해서는 기초계층 움직임 벡터를 선택하는 비디오 코딩방법.
  6. 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 추정하는 단계;
    상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 단계;
    상기 시간적 중복이 제거된 비디오 프레임을 공간적 변환하고, 양자화하여 텍스쳐 정보를 얻는 단계; 및
    상기 각 블록에 대한 상기 추정된 기초계층 움직임 벡터와, 상기 추정된 향상계층 움직임 벡터 및 상기 추정된 기초계층 움직임 벡터의 차분 움직임 벡터와, 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 단계를 포함하는 비디오 코딩방법.
  7. 제6항에 있어서,
    계층적 가변블록 매칭 방식에 의해 상기 기초계층 움직임 벡터를 추정하는 비디오 코딩방법.
  8. 제6항에 있어서,
    상기 기초계층 움직임 벡터를 재조정하여 상기 향상계층 움직임 벡터를 추정하는 비디오 코딩방법.
  9. 제6항에 있어서,
    상기 추정되는 기초계층 움직임 벡터 및 상기 추정되는 향상계층 움직임 벡터는 복수의 블록 모드들 중 어느 한 모드를 갖는 비디오 코딩방법.
  10. 제6항에 있어서,
    상기 각 블록을 향상계층 움직임 벡터를 이용하여 코딩할 때와 기초계층 움직임 벡터를 이용하여 코딩할 때의 차이를 구하고, 차이의 크기에 따라 블록의 중요도 순서를 구하는 단계를 더 포함하며, 상기 블록의 중요도 순서를 상기 비트스트림에 포함시키는 비디오 코딩방법.
  11. 제10항에 있어서,
    상기 차이는 상기 각 블록에 대하여 상기 향상계층 움직임 벡터를 이용하여 얻은 잔여 블록과 상기 기초계층 움직임 벡터를 이용하여 얻은 잔여 블록의 차이를 구하는 비디오 코딩방법.
  12. 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직임 벡터를 추정하는 움직임 추정부;
    상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 움직임 보상부;
    상기 시간적 중복이 제거된 비디오 프레임을 공간적 변환하는 공간적 변환부;
    상기 공간적 변환된 프레임을 양자화하여 텍스쳐 정보를 얻는 양자화부;
    상기 각 블록에 대하여 상기 추청된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 어느 하나를 선택하는 움직임 벡터 선택부; 및
    상기 추정된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 중에서 선택된 상기 각 블록에 대한 움직임 벡터와 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 비트스트림 생성부를 포함하는 비디오 인코더.
  13. 제12항에 있어서,
    상기 움직임 추정부는 계층적 가변블록 매칭 방식에 의해 상기 기초계층 움직임 벡 터를 추정하는 비디오 인코더.
  14. 제12항에 있어서,
    상기 움직임 추정부는 상기 기초계층 움직임 벡터를 재조정하여 상기 향상계층 움직임 벡터를 추정하는 비디오 인코더.
  15. 제12항에 있어서,
    상기 움직임 추정부는 복수의 블록 모드들 중 어느 한 모드로 상기 각 블록에 대한 상기 기초계층 움직임 벡터 및 상기 향상계층 움직임 벡터를 추정하는 비디오 인코더.
  16. 제12항에 있어서,
    상기 움직임 추정부는 상기 프레임을 구성하는 각 블록에 대하여 기초계층 움직임 벡터를 이용하여 얻은 잔여 블록과 향상계층 움직임 벡터를 이용하여 얻은 잔여 블록의 차이를 구하고, 상기 차이에 따라 블록의 중요도 순서를 정하며, 상기 움직임 벡터 선택부는 상기 중요도가 높은 블록부터 소정의 비율의 블록들에 대하여 향상계층 움직임 벡터를 선택하고 나머지 블록들에 대해서는 기초계층 움직임 벡터를 선택하는 비디오 인코더.
  17. 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와 향상계층 움직 임 벡터를 추정하는 움직임 추정부;
    상기 향상계층 움직임 벡터를 이용하여 상기 비디오 프레임에 대한 시간적 중복을 제거하는 움직임 보상부;
    상기 시간적 중복이 제거된 비디오 프레임을 공간적 변환하는 공간적 변환부;
    상기 공간적 변환된 비디오 프레임을 양자화하여 텍스쳐 정보를 얻는 양자화부; 및
    상기 각 블록에 대한 상기 추정된 기초계층 움직임 벡터와 상기 추정된 향상계층 움직임 벡터 및 상기 추정된 기초계층 움직임 벡터의 차분 움직임 벡터와, 상기 텍스쳐 정보를 포함하는 비트스트림을 생성하는 비트스트림 생성부를 포함하는 비디오 인코더
  18. 제17항에 있어서,
    상기 움직임 추정부는 계층적 가변블록 매칭 방식에 의해 상기 기초계층 움직임 벡터를 추정하는 비디오 인코더.
  19. 제17항에 있어서,
    상기 움직임 추정부는 상기 기초계층 움직임 벡터를 재조정하여 상기 향상계층 움직임 벡터를 추정하는 비디오 인코더.
  20. 제17항에 있어서,
    상기 움직임 추정부는 복수의 블록 모드들 중 어느 한 모드로 상기 각 블록에 대한 상기 기초계층 움직임 벡터 및 상기 향상계층 움직임 벡터를 추정하는 비디오 인코더.
  21. 제17항에 있어서,
    상기 움직임 추정부는 상기 프레임을 구성하는 각 블록에 대하여 기초계층 움직임 벡터를 이용하여 얻은 잔여 블록과 향상계층 움직임 벡터를 이용하여 얻은 잔여 블록의 차이를 구하고, 상기 차이에 따라 블록의 중요도 순서를 정하며, 상기 블록의 중요도 순서를 상기 비트스트림에 포함시킬 수 있도록 상기 비트스트림 생성부로 전달하는 비디오 인코더.
  22. 비디오 프레임을 구성하는 각 블록에 대한 기초계층 움직임 벡터와, 향상계층 움직임 벡터 및 기초계층 움직임 벡터의 차분 움직임 벡터와, 상기 비디오 프레임을 비디오 코딩한 텍스쳐 정보를 포함하는 비트스트림을 입력받는 단계; 및
    상기 차분 움직임 벡터들 중 적어도 일부의 차분 움직임 벡터들을 잘라내는 단계를 포함하는 프리 디코딩 방법.
  23. 제22항에 있어서,
    상기 비트스트림은 상기 각 블록의 중요도 순서를 더 포함하고 있으며, 상기 잘라내는 단계는 상기 각 블록의 중요도 순서를 참조하여 중요도가 낮은 블록의 차분 움직임 벡터들부터 잘라내는 프리 디코딩 방법.
  24. 제22항에 있어서,
    요청받은 비트스트림의 레이트가 소정의 기준점보다 작을 때 상기 차분 움직임 벡터들 중 적어도 일부의 차분 움직임 벡터들을 잘라내는 프리 디코딩방법.
  25. 입력받은 비트스트림을 해석하여 텍스쳐 정보와 기초계층 움직임 벡터들 및 향상계층 움직임 벡터들을 포함하는 움직임 정보를 얻는 단계;
    상기 기초계층 움직임 벡터들을 재조정하는 단계;
    상기 텍스쳐 정보를 역 양자화하고, 역 공간적 변환하여 시간적 중복이 제거된 프레임을 얻는 단계; 및
    상기 재조정된 기초계층 움직임 벡터들과 상기 향상계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하는 단계를 포함하는 비디오 디코딩 방법.
  26. 제25항에 있어서,
    인근 블록들의 향상계층 움직임 벡터들을 참조하여 상기 기초계층 움직임 벡터들을 재조정하는 비디오 디코딩 방법.
  27. 제25항에 있어서,
    상기 역 움직임 보상 과정에서 생성되는 예측 프레임을 참조하여 상기 기초계층 움 직임 벡터들을 재조정하는 비디오 디코딩 방법.
  28. 입력받은 비트스트림을 해석하여 텍스쳐 정보와 기초계층 움직임 벡터들 및 차분 움직임 벡터들을 포함하는 움직임 정보를 얻는 단계;
    기초계층 움직임 벡터 및 차분 움직임 벡터를 모두 갖는 블록들에 대하여 기초계층 움직임 벡터들 및 차분 움직임 벡터들을 병합하여 병합된 움직임 벡터들을 얻는 단계;
    상기 텍스쳐 정보를 역 양자화하고, 역 공간적 변환하여 시간적 중복이 제거된 프레임을 얻는 단계; 및
    상기 병합된 움직임 벡터들과 병합되지 않은 기초계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하는 단계를 포함하는 비디오 디코딩 방법.
  29. 제28항에 있어서,
    상기 병합되지 않은 기초계층 벡터들을 재조정하는 단계를 더 포함하며, 상기 역 움직임 보상 단계는 상기 병합된 움직임 벡터들과 상기 재조정된 기초계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하는 비디오 디코딩 방법.
  30. 입력받은 비트스트림을 해석하여 텍스쳐 정보와 기초계층 움직임 벡터들 및 향상계 층 움직임 벡터들을 포함하는 움직임 정보를 얻는 비트스트림 해석부;
    상기 기초계층 움직임 벡터들을 재조정하는 움직임 벡터 재조정부;
    상기 텍스쳐 정보를 역 양자화하는 역 양자화부;
    역 양자화된 텍스쳐 정보를 역 공간적 변환하여 시간적 중복이 제거된 프레임을 얻는 역 공간적 변환부; 및
    상기 재조정된 기초계층 움직임 벡터들과 상기 향상계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하여 비디오 프레임을 재구성하는 역 움직임 보상부를 포함하는 비디오 디코더.
  31. 제29항에 있어서,
    상기 움직임 벡터 재조정부는 인근 블록들의 향상계층 움직임 벡터들을 참조하여 상기 기초계층 움직임 벡터들을 재조정하는 비디오 디코더.
  32. 제30항에 있어서,
    상기 움직임 벡터 재조정부는 상기 역 움직임 보상부에서 생성되는 예측 프레임을 참조하여 상기 기초계층 움직임 벡터들을 재조정하는 비디오 디코더.
  33. 입력받은 비트스트림을 해석하여 텍스쳐 정보와 기초계층 움직임 벡터들 및 차분 움직임 벡터들을 포함하는 움직임 정보를 비트스트림 해석부;
    기초계층 움직임 벡터 및 차분 움직임 벡터를 모두 갖는 블록들에 대하여 기초계층 움직임 벡터들 및 차분 움직임 벡터들을 병합하여 병합된 움직임 벡터들을 얻는 움직임 벡터 병합부;
    상기 텍스쳐 정보를 역 양자화하는 역 양자화부;
    역 양자화된 텍스쳐 정보를 역 공간적 변환하여 시간적 중복이 제거된 프레임을 얻는 역 공간적 변환부; 및
    상기 병합된 움직임 벡터들과 병합되지 않은 기초계층 움직임 벡터들을 이용하여 상기 시간적 중복이 제거된 프레임을 역 움직임 보상하는 역 움직임 보상부를 포함하는 비디오 디코더.
  34. 제33항에 있어서,
    상기 병합되지 않은 기초계층 벡터들을 재조정하는 움직임 벡터 재조정부를 더 포함하는 비디오 디코더.
  35. 제1항 내지 제11항과 제22항 내지 제29항 중 어느 한 항의 방법을 실행시키기 위한 컴퓨터로 읽을 수 있는 프로그램을 기록한 기록매체.
KR1020040118021A 2004-07-15 2004-12-31 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더 KR100678949B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2005/002187 WO2006006793A1 (en) 2004-07-15 2005-07-07 Video encoding and decoding methods and video encoder and decoder
US11/181,803 US20060013309A1 (en) 2004-07-15 2005-07-15 Video encoding and decoding methods and video encoder and decoder

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US58790504P 2004-07-15 2004-07-15
US60/587,905 2004-07-15
KR20040063198 2004-08-11
KR1020040063198 2004-08-11

Publications (2)

Publication Number Publication Date
KR20060006720A true KR20060006720A (ko) 2006-01-19
KR100678949B1 KR100678949B1 (ko) 2007-02-06

Family

ID=37118357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040118021A KR100678949B1 (ko) 2004-07-15 2004-12-31 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더

Country Status (2)

Country Link
US (1) US20060013309A1 (ko)
KR (1) KR100678949B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006085726A1 (en) * 2005-02-14 2006-08-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding and referencing virtual area image
WO2006098586A1 (en) * 2005-03-18 2006-09-21 Samsung Electronics Co., Ltd. Video encoding/decoding method and apparatus using motion prediction between temporal levels

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7224731B2 (en) * 2002-06-28 2007-05-29 Microsoft Corporation Motion estimation/compensation for screen capture video
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7738554B2 (en) * 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
KR20060043115A (ko) * 2004-10-26 2006-05-15 엘지전자 주식회사 베이스 레이어를 이용하는 영상신호의 엔코딩/디코딩 방법및 장치
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
KR100878812B1 (ko) * 2005-05-26 2009-01-14 엘지전자 주식회사 영상신호의 레이어간 예측에 대한 정보를 제공하고 그정보를 이용하는 방법
US20070237237A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Gradient slope detection for video compression
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) * 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US9031129B2 (en) * 2007-06-15 2015-05-12 Microsoft Technology Licensing, Llc Joint spatio-temporal prediction for video coding
US8514939B2 (en) * 2007-10-31 2013-08-20 Broadcom Corporation Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
US8594191B2 (en) * 2008-01-03 2013-11-26 Broadcom Corporation Video processing system and transcoder for use with layered video coding and methods for use therewith
TWI386063B (zh) * 2008-02-19 2013-02-11 Ind Tech Res Inst 可調性視訊編碼標準的位元流分配系統與方法
US8619861B2 (en) * 2008-02-26 2013-12-31 Microsoft Corporation Texture sensitive temporal filter based on motion estimation
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8539092B2 (en) * 2008-07-09 2013-09-17 Apple Inc. Video streaming using multiple channels
CN102714726B (zh) 2010-01-15 2015-03-25 杜比实验室特许公司 使用元数据的用于时间缩放的边缘增强
JP2011259093A (ja) * 2010-06-07 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
KR101030744B1 (ko) 2010-08-20 2011-04-26 엘아이지넥스원 주식회사 동영상 압축 장치 및 방법, 동영상 압축/복원 시스템 및 방법
CN107222745A (zh) 2011-08-29 2017-09-29 苗太平洋控股有限公司 用于解码合并模式下的运动信息的装置
WO2013081365A1 (ko) * 2011-11-28 2013-06-06 에스케이텔레콤 주식회사 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
KR101934277B1 (ko) 2011-11-28 2019-01-04 에스케이텔레콤 주식회사 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
WO2013105791A1 (ko) * 2012-01-09 2013-07-18 삼성전자 주식회사 움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치
CA2873487A1 (en) * 2012-05-14 2013-11-21 Luca Rossato Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
KR102257542B1 (ko) 2012-10-01 2021-05-31 지이 비디오 컴프레션, 엘엘씨 향상 레이어에서 변환 계수 블록들의 서브블록-기반 코딩을 이용한 스케일러블 비디오 코딩
US20140092978A1 (en) * 2012-10-01 2014-04-03 Nokia Corporation Method and apparatus for video coding
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US10574986B2 (en) * 2014-03-31 2020-02-25 Samsung Electronics Co., Ltd. Interlayer video decoding method for performing sub-block-based prediction and apparatus therefor, and interlayer video encoding method for performing sub-block-based prediction and apparatus therefor
KR102336879B1 (ko) * 2015-05-20 2021-12-08 삼성전자주식회사 화면을 표시하는 전자 장치, 그 제어 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148026A (en) * 1997-01-08 2000-11-14 At&T Corp. Mesh node coding to enable object based functionalities within a motion compensated transform video coder
US6501797B1 (en) * 1999-07-06 2002-12-31 Koninklijke Phillips Electronics N.V. System and method for improved fine granular scalable video using base layer coding information
US6510177B1 (en) * 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006085726A1 (en) * 2005-02-14 2006-08-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding and referencing virtual area image
WO2006098586A1 (en) * 2005-03-18 2006-09-21 Samsung Electronics Co., Ltd. Video encoding/decoding method and apparatus using motion prediction between temporal levels

Also Published As

Publication number Publication date
US20060013309A1 (en) 2006-01-19
KR100678949B1 (ko) 2007-02-06

Similar Documents

Publication Publication Date Title
KR100678949B1 (ko) 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더
KR100679030B1 (ko) 하이브리드 비트스트림의 프리디코딩 방법 및 장치
KR100654436B1 (ko) 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더
KR100596706B1 (ko) 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
US8031776B2 (en) Method and apparatus for predecoding and decoding bitstream including base layer
KR100714696B1 (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100679011B1 (ko) 기초 계층을 이용하는 스케일러블 비디오 코딩 방법 및 장치
KR100703760B1 (ko) 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
JP4891234B2 (ja) グリッド動き推定/補償を用いたスケーラブルビデオ符号化
JP4763548B2 (ja) スケーラブルビデオコーディング及びデコーディング方法と装置
KR100679026B1 (ko) 비디오 코딩 및 디코딩을 위한 시간적 분해 및 역 시간적분해 방법과, 비디오 인코더 및 디코더
EP1589764A2 (en) Method and apparatus for supporting motion scalability
US20050226334A1 (en) Method and apparatus for implementing motion scalability
US20050232359A1 (en) Inter-frame prediction method in video coding, video encoder, video decoding method, and video decoder
US20050157793A1 (en) Video coding/decoding method and apparatus
KR20060135992A (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR20070096726A (ko) 비트스트림의 비트율 조절을 위한 우선권 할당 방법,비트스트림의 비트율 조절 방법, 비디오 디코딩 방법 및 그방법을 이용한 장치
WO2006004305A1 (en) Method and apparatus for implementing motion scalability
WO2006006793A1 (en) Video encoding and decoding methods and video encoder and decoder
WO2006104357A1 (en) Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same
WO2006043753A1 (en) Method and apparatus for predecoding hybrid bitstream

Legal Events

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

Payment date: 20121228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee