KR100746006B1 - 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치 - Google Patents

계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치 Download PDF

Info

Publication number
KR100746006B1
KR100746006B1 KR1020050109265A KR20050109265A KR100746006B1 KR 100746006 B1 KR100746006 B1 KR 100746006B1 KR 1020050109265 A KR1020050109265 A KR 1020050109265A KR 20050109265 A KR20050109265 A KR 20050109265A KR 100746006 B1 KR100746006 B1 KR 100746006B1
Authority
KR
South Korea
Prior art keywords
picture
motion vector
high frequency
temporal
temporal position
Prior art date
Application number
KR1020050109265A
Other languages
English (en)
Other versions
KR20070011044A (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 US11/476,080 priority Critical patent/US8265156B2/en
Priority to PCT/KR2006/002834 priority patent/WO2007029914A1/en
Publication of KR20070011044A publication Critical patent/KR20070011044A/ko
Application granted granted Critical
Publication of KR100746006B1 publication Critical patent/KR100746006B1/ko
Priority to US13/588,396 priority patent/US20120314769A1/en

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
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

본 발명은 계층적 구조에 적합하게 시간적 다이렉트 모드로 인코딩하며, 디코딩하는 방법 및 장치에 관한 발명으로서, 본 발명의 일 실시예에 따른 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법은 고주파 픽쳐의 포워드 레퍼런스 픽쳐 또는 백워드 레퍼런스 픽쳐의 시간적 위치를 계산하는 단계, 상기 위치에 존재하며 모션 벡터의 정보를 가지는 픽쳐를 검색하는 단계, 상기 검색한 픽쳐가 다수인 경우, 상기 고주파 픽쳐의 포워드 레퍼런스 픽쳐와 백워드 레퍼런스 픽쳐 사이의 간격과 상기 후보 픽쳐의 모션 벡터의 간격의 차이가 가장 작은 후보 픽쳐를 인접 픽쳐로 선택하여 상기 선택된 픽쳐의 인접 블록의 모션 벡터를 추출하는 단계, 및 상기 고주파 픽쳐가 상기 추출된 모션 벡터를 사용할 수 있도록 상기 선택된 인접 픽쳐 및 상기 인접 블록의 정보를 인코딩하는 단계를 포함한다.
비디오 코딩, H.264, 시간적 다이렉트 모드, B 픽쳐, 인코딩, 디코딩, 예측, 잔차 데이터

Description

계층적 구조에 적합하게 시간적 다이렉트 모드로 인코딩하며, 디코딩하는 방법 및 장치{Method and apparatus for encoding and decoding in temporal direct mode hierarchical B structure adaptive}
도 1은 시간적 다이렉트 모드를 설명하는 도면이다.
도 2는 시간적 다이렉트 모드에서 B 픽쳐가 참조하게 되는 모션 벡터를 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 시간적 다이렉트 모드를 계층적 B 구조(hierarchical B structure)에 효율적으로 적용하는 일 실시예를 보여주는 도면이다.
도 4는 B 픽쳐가 모션 벡터를 참조하는 경우를 보여준다.
도 5는 본 발명의 일 실시예에 따른 시간적 다이렉트 모드를 계층적 B 구조에 적용시 향상 계층의 픽쳐의 모션 벡터를 사용하는 예를 보여준다.
도 6은 향상 계층의 B 픽쳐의 모션 예측을 수행하는 과정에 전술한 TDM 방식을 적용한 예를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 인코딩 과정을 보여주는 순서도이다.
도 8은 본 발명의 일 실시예에 따른 시간적 다이렉트 모드를 적용하여 비디오를 디코딩하는 과정을 보여주는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 비디오 인코더 중 B 픽쳐를 인코딩하는 B 픽쳐 인코딩부(500)의 구성을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 따른 비디오 디코더 중 B 픽쳐를 디코딩하는 B 픽쳐 디코딩부(600)의 구성을 보여주는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
500: B 픽쳐 인코딩부 510: 모션 벡터 추출부
520: 시간적 다이렉트 모드 인코딩부 530: 잔차 데이터 생성부
600: B 픽쳐 디코딩부 610: 디코딩부
620: 모션 벡터 추출부 630: 복원부
본 발명은 비디오 신호를 인코딩, 디코딩 하는 것으로, 보다 상세하게는 계층적 구조에 적합하게 시간적 다이렉트 모드로 인코딩하며, 디코딩하는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.
이러한 중복을 줄이도록 하는 방법이 다양하게 제시되었다. 시간적 다이렉트 모드(temporal direct mode)는 B 픽쳐(B Picture)의 경우 유용하게 사용되는 방식으로, B 픽쳐가 참조하게 되는 두 픽쳐(포워드 레퍼런스, 백워드 레퍼런스) 중에서 어느 한 픽쳐의 모션 벡터를 사용하여 B 픽쳐와 참조하는 픽쳐 사이의 관계를 고려하여 모션 벡터를 예측하는 방식이다.
도 1은 시간적 다이렉트 모드를 설명하는 도면이다. 현재 B 픽쳐(13)의 모션 벡터를 구하기 위해 백워드 레퍼런스(14)의 모션 벡터인 MVD를 참조하여 수학식 1과 같이 MVF와 MVB를 생성한다.
Figure 112005065703976-pat00001
사물의 이동이 픽쳐들 사이에서 균일한 방향과 속도로 이동하는 경우가 많으므로, 양쪽 측면을 참조하는 B 픽쳐의 경우 시간적 다이렉트 모드가 효율적이다. 그러나 계층적인 B 픽쳐의 경우에 시간적 다이렉트 모드를 적용할 경우, 참조하게 되는 픽쳐들 사이의 거리가 좌, 우에 위치한 픽쳐들과 상이하면 효율이 저하될 수 있다. 따라서, 계층적 구조의 B 픽쳐에서 POC(Picture Order Count)를 고려하여 시간적 다이렉트 모드를 적용할 수 있도록 하는 방법 및 장치가 필요하다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 계층적 고주파 픽쳐의 특성을 고려하여 시간적 다이렉트 모드로 인코딩, 디코딩이 가능하게 하는데 목적이 있다.
본 발명의 또다른 목적은 시간적 다이렉트 모드로 계층적 고주파 픽쳐를 인코딩 함에 있어 POC를 고려하여 인코딩의 효율을 높이는 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법은 고주파 픽쳐의 포워드 레퍼런스 픽쳐 또는 백워드 레퍼런스 픽쳐의 시간적 위치를 계산하는 단계, 상기 위치에 존재하며 모션 벡터의 정보를 가지는 픽쳐를 검색하는 단계, 상기 검색한 픽쳐가 다수인 경우, 상기 고주파 픽쳐의 포워드 레퍼런스 픽쳐와 백워드 레퍼런스 픽쳐 사이의 간격과 상기 후보 픽쳐의 모션 벡터의 간격의 차이가 가장 작은 후보 픽쳐를 인접 픽쳐로 선택하여 상기 선택된 픽쳐의 인접 블록의 모션 벡터를 추출하는 단계, 및 상기 고주파 픽쳐가 상기 추출된 모션 벡터를 사용할 수 있도록 상기 선택된 인접 픽쳐 및 상기 인접 블록의 정보를 인코딩하는 단계를 포함한다.
본 발명의 일 실시예에 따른 계층적 구조에서 시간적 다이렉트 모드로 디코딩하는 방법은 수신한 비디오 신호에서 고주파 픽쳐의 시간적 다이렉트 모드 정보를 디코딩 하는 단계, 상기 디코딩한 시간적 다이렉트 모드 정보를 사용하여 인접 픽쳐 및 인접 블록의 정보를 추출하는 단계, 상기 인접 픽쳐의 인접 블록의 모션 벡터의 시간적 위치와 상기 고주파 픽쳐의 시간적 위치를 비교하여 상기 모션 벡터를 변환하는 단계, 및 상기 변환한 모션 벡터를 사용하여 상기 고주파 픽쳐를 복원하는 단계를 포함한다.
본 발명의 일 실시예에 따른 비디오 인코더는 다계층 비디오 신호에서 고주파 픽쳐를 예측하기 위해 시간적 다이렉트 모드로 인코딩하는 인코더에 있어서, 고주파 픽쳐의 포워드 레퍼런스 픽쳐 또는 백워드 레퍼런스 픽쳐의 시간적 위치를 계산하고, 상기 위치에 존재하며 모션 벡터의 정보를 가지는 픽쳐를 검색하여, 상기 검색한 픽쳐가 다수인 경우, 상기 고주파 픽쳐의 포워드 레퍼런스 픽쳐와 백워드 레퍼런스 픽쳐 사이의 간격과 상기 후보 픽쳐의 모션 벡터의 간격의 차이가 가장 작은 후보 픽쳐를 인접 픽쳐로 선택하여 상기 선택된 픽쳐의 인접 블록의 모션 벡터를 추출하는 모션 벡터 추출부, 및 상기 고주파 픽쳐가 상기 추출된 모션 벡터를 사용할 수 있도록 상기 선택된 인접 픽쳐 및 상기 인접 블록의 정보를 인코딩하는 시간적 다이렉트 모드 인코딩부를 포함한다.
본 발명의 일 실시예에 따른 비디오 디코더는 수신한 비디오 신호에서 고주파 픽쳐의 시간적 다이렉트 모드 정보를 디코딩 하는 디코딩부, 상기 디코딩한 시간적 다이렉트 모드 정보를 사용하여 인접 픽쳐 및 인접 블록의 정보를 추출하는 모션 벡터 추출부, 및 상기 인접 픽쳐의 인접 블록의 모션 벡터의 시간적 위치와 상기 고주파 픽쳐의 시간적 위치를 비교하여 상기 모션 벡터를 변환하고, 상기 변환한 모션 벡터를 사용하여 상기 고주파 픽쳐를 복원하는 복원부를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 본 발명의 실시예들에 의하여 계층적 구조에 적합하게 시간적 다이렉트 모드로 인코딩하며, 디코딩하는 방법 및 장치를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2는 시간적 다이렉트 모드에서 B 픽쳐가 참조하게 되는 모션 벡터를 보여주는 도면이다. 이하 본 명세서에서 B 픽쳐를 중심으로 설명하지만 이에 국한되는 것은 아니며 고주파 픽쳐(high pass picture)의 일 실시예가 된다. 이하 B 픽쳐 또는 H 픽쳐는 고주파 픽쳐의 일 실시예로 본 명세서에서 사용하고자 한다. 타임 인 덱스(Time index) 1, 3, 5, 7의 H 픽쳐(51, 53, 55, 57)는 각각 좌, 우측에 있는 픽쳐의 잔차 데이터를 가진다. 그런데 이 픽쳐의 모션값을 가져오기 위해 시간적 다이렉트 모드를 적용할 경우, 1, 3, 5, 7의 H 픽쳐가 참조하는 모션 벡터는 다음과 같다. 타임 인덱스 1의 H 픽쳐(51)은 타임 인덱스 2의 H 픽쳐(74)의 모션 벡터를 사용하며, 타임 인덱스 3의 H 픽쳐(53)은 타임 인덱스 4의 H 픽쳐(62)의 모션 벡터를 사용한다. 타임 인덱스 5의 H 픽쳐(51)은 타임 인덱스 6의 H 픽쳐(67)의 모션 벡터를 사용하며, 타임 인덱스 7의 H 픽쳐(57)은 타임 인덱스 8의 P 픽쳐(88)의 모션 벡터를 사용한다.
마찬가지로, 타임 인덱스 2의 H 픽쳐(62)는 타임 인덱스 4의 H 픽쳐(74)의 모션벡터를, 타임 인덱스 6의 H 픽쳐(67)는 타임 인덱스 8의 P 픽쳐(88)의 모션벡터를, 그리고, 타임 인덱스 4의 H 픽쳐(74)는 타임 인덱스 8의 P 픽쳐(88)의 모션벡터를 사용한다. 도 2에서 실선은 해당 픽쳐의 모션 벡터이고, 점선은 시간적 다이렉트 모드를 적용한 경우 사용하게 되는 모션 벡터이다.
이하 본 명세서에서 설명의 편의를 위해 타임 인덱스를 나타내기 위해 POC(Point Order Count)로 표기하고자 한다.
도 2에서 살펴볼 때, POC 3, 6, 7의 H 픽쳐(53, 67, 57)의 경우 사용하게 되는 모션 벡터가 원래 나타내고자 하는 모션 벡터와 많은 차이가 있음을 알 수 있다. POC 3의 H 픽쳐(53)는 POC 2와 4의 시점을 참조하는 픽쳐인데, 시간적 다이렉트 모드를 적용시 POC 4에서 POC 0을 참조하는 모션 벡터를 사용하게 된다. 따라서 시간적 다이렉트 모드 하에서 사용하는 모션 벡터가 실제 픽쳐의 참조와 달라 코딩 의 효율을 낮추거나 또는 시간적 다이렉트 모드가 가지는 성능을 발휘하지 못할 수 있다. POC 6의 H 픽쳐(67)와 POC 7의 H 픽쳐(57) 역시 P 픽쳐(88)을 사용하게 되어 실체 픽쳐의 참조와 차이가 크다.
시간적 다이렉트 모드를 적용하기 위해 사용할 모션 벡터를 가지는 블록을 인접 블록(co-located block)이라 한다. 예를 들어, 즉, POC 3, 6, 7에서의 매크로블록의 인접 블록은 각각 POC 4, 8, 8의 매크로블록이 된다. 도 2에서 발생한 문제는 사용할 모션 벡터에서의 POC가 현재 픽쳐에서 나타내고자 하는 모션 벡터의 POC와 차이가 크기 때문에 발생하였다. 따라서 이를 줄이는 방법을 도 3에서 살펴보고자 한다.
도 3은 본 발명의 일 실시예에 따른 시간적 다이렉트 모드를 계층적 B 구조(hierarchical B structure)에 효율적으로 적용하는 일 실시예를 보여주는 도면이다. 도 2에서 제시된 불일치는 POC의 불일치로 인해 발생한 것이다. 따라서 이를 줄이기 위해 인접 블록(co-located block)을 선택함에 있어 백워드 레퍼런스의 대상을 선택하지 않고 포워드 레퍼런스의 대상을 인접 블록으로 선택하여 해당 블록의 모션 벡터를 사용한다.
POC 3의 H 픽쳐(153)는 좌측(포워드 레퍼런스의 대상)인 POC 2의 H 픽쳐(152)를 인접 블록으로 하여 모션 벡터(101)를 시간적 다이렉트 모드에서 사용하는 모션 벡터로 할 수 있다. 도 2에서 105 모션 벡터를 사용하는 경우보다 정확성이 향상되어 효율을 높일 수 있다.
POC 6의 H 픽쳐(156) 역시 포워드 레퍼런스의 대상인 POC 4의 H 픽쳐(154)를 인접 블록으로 하여 모션 벡터(103)를 시간적 다이렉트 모드에서 사용하는 모션 벡터로 할 수 있다. 도 2에서 106 모션 벡터를 사용하는 경우보다 정확성이 향상되어 효율을 높일 수 있다.
POC 7의 H 픽쳐(157) 역시 포워드 레퍼런스의 대상인 POC 6의 H 픽쳐(156)를 인접 블록으로 하여 모션 벡터(102)를 시간적 다이렉트 모드에서 사용하는 모션 벡터로 할 수 있다. 도 2에서 106 모션 벡터를 사용하는 경우보다 정확성이 향상되어 효율을 높일 수 있다.
즉, 도 3의 예와 같이, 백워드 레퍼런스를 통해 인접 블록을 선택하여 시간적 다이렉트 모드를 적용함에 있어 효율이 저하될 경우, 예를 들어 모션 벡터의 POC 차이가 불일치하여 사용할 모션 벡터가 정확성을 기하기 어려울 때에는 포워드 레퍼런스를 통해 인접 블록을 선택할 수 있도록 한다. 마찬가지로, 포워드 레퍼런스를 통해 인접 블록을 선택하여 시간적 다이렉트 모드를 적용함에 있어 효율이 저하될 경우에는 반대로 백워드 레퍼런스를 통해 인접 블록을 선택할 수 있도록 한다.
따라서, 종래에 인접 픽쳐(co-located picture)과 인접 블록(co-located block)을 1번 참조 리스트(RefPic list1)의 첫번째 요소를 지정했던 것과 달리, 0번 참조 리스트(RefPic list0)의 첫번째 요소를 지정하는 것을 통해 시간적 다이렉트 모드를 통해 사용할 모션을 유도할 수 있게 한다. 이는 종래에 POC가 픽쳐에 맞지 않는 경우에 억지로 시간적 다이렉트 모드를 적용한 것과 달리, POC에 일치하도록 시간적 다이렉트 모드를 적용하여 효율을 높일 수 있다.
도 4는 B 픽쳐가 모션 벡터를 참조하는 경우를 보여준다. (a)는 동일한 계층에 B 픽쳐가 있을 경우를 보여준다. 이때 각각의 B 픽쳐(203, 204, 205)들은 기초 계층의 I, P 픽쳐(201, 202)의 모션 벡터를 사용하게 된다.
한편 (b)와 같이 계층적 B 구조에서 B 픽쳐가 중간의 향상 계층에 존재할 경우(214)에도 기초 계층의 I, P 픽쳐(211, 212)를 사용하는 것은 합리적이지 않다. 따라서, 계층적 B 구조에서 향상 계층의 B 픽쳐를 사용하여 시간적 다이렉트 모드를 이용할 수 있도록 한다.
도 5는 본 발명의 일 실시예에 따른 시간적 다이렉트 모드를 계층적 B 구조에 적용시 향상 계층의 픽쳐의 모션 벡터를 사용하는 예를 보여준다. 기초 계층의 픽쳐로 I 픽쳐(221), P 픽쳐(222)가 있으며 향상 계층으로 B 픽쳐(223, 224, 225)가 있다. B 픽쳐 사이에 계층을 구성하고 있다. B 픽쳐(225)는 도 4에서 I 픽쳐(221)를 사용한 것과 달리, 하위 계층인 B 픽쳐(224)를 인접 블록(co-located block)으로 하여 이의 모션 벡터를 사용한다.
시간적 차이가 크지않은 하위 계층의 B 픽쳐(224)의 모션 벡터를 사용하여 시간적 다이렉트 모드를 적용하므로, 잔차 데이터의 크기가 줄어들어 효율을 향상시킬 수 있다.
도 2내지 도 5에서 살펴본 바와 참조하게 되는 모션 벡터를 가지는 인접 블록(co-located)를 선택함에 있어서 현재 픽쳐와 가장 시간적으로 유사한 위치에 존재하는 픽쳐를 선택함으로써 시간적 다이렉트 모드의 적용 효율을 높일 수 있다. 시간적 다이렉트 모드는 모션 벡터를 타임 인덱스에 따라 배분하는 방식이므로, 참 조하는 타임 인덱스간의 차이가 작거나 또는 실제 참조하는 픽쳐의 타임 인덱스에 가까이 갈수록 예측 성능이 향상된다.
도 6은 향상 계층의 B 픽쳐의 모션 예측을 수행하는 과정에 전술한 TDM 방식을 적용한 예를 보여주는 도면이다.
향상 계층이 기초 계층과 같은 하위 계층의 모션 벡터를 참조하여 모션 예측(motion prediction)을 수행할 수 있다. 그런데, 향상 계층의 픽쳐 중에서 기초 계층에는 존재하지 않는 픽쳐의 경우, 기초 계층을 바탕으로 하는 모션 예측을 수행할 수 없다. 이때, 전술한 TDM 의 방식으로 모션 벡터를 예측하여 그 잔차를 계산할 수 있다.
도 6에서 향상 계층의 B 픽쳐인 253, 254, 255 중에서 254는 기초 계층의 264와 POC가 동일하므로 264를 참조하여 모션 예측을 수행할 수 있다. 그러나 253, 255는 해당하는 POC의 기초 계층 픽쳐가 존재하지 않는다. 이때, 255 픽쳐는 전술한 개선된 TDM 적용방식과 같이 254 픽쳐의 백워드 레퍼런스인 112를 절반으로 나누어 계산하여 모션 벡터를 예측할 수 있다. 예를 들어 112를 절반으로 나눈 모션 벡터가 MV0_112, MV1_112인 경우, 255 B 픽쳐는 MV0(포워드 레퍼런스)를 계산하기 위해 MV0_112와의 잔차를 계산하여 코딩할 수 있으며, MV1(백워드 레퍼런스)를 계산하기 위해 MV1_112와의 잔차를 계산하여 코딩할 수 있다.
도 7은 본 발명의 일 실시예에 따른 인코딩 과정을 보여주는 순서도이다.
계층적 B 구조에서 B 픽쳐가 참조하는 포워드 레퍼런스 픽쳐 또는 백워드 레퍼런스 픽쳐의 위치를 계산한다(S310). 예를 들어, 도 3에서 H 픽쳐(153)의 포워드 레퍼런스 픽쳐의 위치는 POC가 2이며, 백워드 레퍼런스 픽쳐의 위치는 POC가 4이다. 그리고 모션 벡터를 가지며 상기 포워드 또는 백워드 레퍼런스의 위치에 존재하는 픽쳐를 검색한다(S320). 앞의 예에서 POC 2와 POC 4에 존재하는 픽쳐인 두 개의 H 픽쳐(152, 154)를 검색한다. 검색한 두 개의 픽쳐의 모션 벡터 중에서 상기 인코딩 하고자 하는 H 픽쳐(153)의 포워드/백워드 레퍼런스의 간격 차이에 가장 근접하는 모션 벡터를 선택한다(S330). 도 3의 H 픽쳐(153)에서 POC의 차이는 2이다.
그런데 POC 2의 H 픽쳐(152)의 모션 벡터는 POC 4의 픽쳐를 참조하므로 그 차이는 2이다. 반면, POC 4의 H 픽쳐(154)의 모션 벡터는 POC 0의 픽쳐를 참조하므로 그 차이는 4이다. 따라서 인코딩하고자 하는 H 픽쳐(153)를 중심으로 볼 때, 152 H 픽쳐가 더 정확한 모션 벡터(101)를 제공할 수 있으므로 이를 선택한다. 선택/검색된 픽쳐의 모션 벡터를 사용하기 위해, 선택한 픽쳐를 인접 픽쳐(co-located Picture, colPic)으로, 선택한 인접 픽쳐 내의 일치하는 블록을 인접 블록으로 하여, 해당 인접 블록의 모션 벡터를 사용함을 모드 정보에 기입한다. MODE_SKIP과 같이 시간적 다이렉트 모드를 사용함을 알리는 정보를 기입하면, 디코더 측에서, 해당 colPic의 모션 벡터를 배분하여 사용할 수 있다. POC 3의 H 픽쳐(153)는 사용할 모션 벡터(101)를 절반으로 나눈 벡터들을 사용하게 된다.
그리고 모드 정보를 인코딩한다(S350).
상기의 과정은 도 5에도 적용 가능하다. 도 5의 225 픽쳐의 경우, P 픽쳐(222)의 모션 벡터를 참조하지 않고, 향상 계층에 존재하는 B 픽쳐(224)의 백워드 레퍼런스의 모션 벡터를 사용한다. B 픽쳐(224)의 백워드 레퍼런스의 모션 벡터는 B 픽쳐(225)의 POC 간격과 일치하지만, P 픽쳐(222)의 포워드 레퍼런스의 모션 벡터는 B 픽쳐(225)의 POC 간격과 차이가 크므로, B 픽쳐(224)를 인접 블록(co-located block)으로 선택하여 시간적 다이렉트 모드에 따라 사용할 모션 벡터의 정보만 인코딩하면, 디코더 측에서는 해당 모션 벡터를 다시 배분하여 사용할 수 있다.
전술한 S320은 현재 인코딩할 블록이 참조하는 POC와 시간적 다이렉트 모드에 따라 가져올 모션 벡터의 참조 범위가 서로 다르면, 가져온 모션 벡터를 사용시 불일치가 일어나므로, 그 경우에는 참조 범위가 같은 모션 벡터를 검색하여 사용할 모션 벡터를 가지는 인접 픽쳐와 인접 블록을 선택하여 colPic과 같은 플래그에 설정하여 인코딩하게 된다.
한편 도 6의 경우에는, 도 3과 도 5에서 모션 벡터를 사용하는 경우와는 달리, TDM으로 사용할 모션 벡터를 그대로 사용하는 것이 아니라, 모션 벡터를 예측하여 잔차 데이터를 생성하게 된다. 따라서, S340 이후에, 선택한 모션 벡터를 POC에 따라 배분하여 생성된 두 개의 모션 벡터에서 잔차 데이터를 생성하여 인코딩할 수 있다.
도 8은 본 발명의 일 실시예에 따른 시간적 다이렉트 모드를 적용하여 비디오를 디코딩하는 과정을 보여주는 순서도이다.
디코더는 수신한 비디오 시퀀스에서 B 픽쳐를 디코딩 할 경우, B 픽쳐가 시간적 다이렉트 모드로 인코딩 되어있고, 시간적 다이렉트 모드 상에서 참조하게 되는 모션 벡터를 가지는 인접 블록(co-located block)의 데이터를 추출하여 해당 인 접 블록의 모션 벡터를 POC에 따라 소정의 비율(예를 들어 절반)으로 나눈 모션 벡터를 사용하여 원래의 데이터를 복원하는 과정이 수행된다.
비디오 신호를 수신한다(S410). 네트워크를 통해 수신할 수 있으며, 저장 매체로부터 저장된 비디오 컨텐츠를 수신할 수 있다. 여기에서 B 픽쳐의 모드 정보를 디코딩한다(S420). 모드 정보가 시간적 다이렉트 모드인 경우 인접 픽쳐의 정보(예를 들어 colPic)를 추출한다(S430). 상기 계산한 인접 블록 픽쳐가 가지는 모션 벡터를 복원할 B 픽쳐의 시간적 위치를 기준으로 변환한다(S440). 변환된 모션 벡터를 사용하여 B 픽쳐를 복원한다(S450).
한편, 한편 도 6의 경우에는, 도 3과 도 5에서 모션 벡터를 사용하는 경우와는 달리, TDM으로 사용할 모션 벡터를 그대로 사용하는 것이 아니라, 모션 벡터를 예측하여 잔차 데이터를 생성하게 된다. 따라서 S420에서 모드 정보 외에도 잔차 데이터를 디코딩하게 된다. 그리고, S450 이후에, 선택한 모션 벡터를 POC에 따라 배분하여 생성된 두 개의 모션 벡터를 사용하여 예측 데이터를 생성하고 이에 따라 잔차 데이터를 생성하여 B 픽쳐를 복원할 수 있다.
본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA(Field Programmable Gate Array) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있 다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 9는 본 발명의 일 실시예에 따른 비디오 인코더 중 B 픽쳐를 인코딩하는 B 픽쳐 인코딩부(500)의 구성을 보여주는 도면이다. I, P 픽쳐를 인코딩하는 과정은 종래의 기술이므로 본 명세서에서 생략하고자 한다.
B 픽쳐 인코딩부(500)는 모션 벡터 추출부(510), 시간적 다이렉트 모드 인코딩부(520), 잔차 데이터 생성부(530), 양자화부(540), 엔트로피 부호화부(550)으로 구성된다.
모션 벡처 추출부(510)는 고주파 픽쳐의 포워드 레퍼런스 픽쳐 또는 백워드 레퍼런스 픽쳐의 시간적 위치를 계산하고, 이 위치에 존재하면서 모션 벡터의 정보를 가지는 픽쳐를 검색한다. 그리고 검색한 픽쳐가 다수인 경우, 고주파 픽쳐의 포워드 레퍼런스 픽쳐와 백워드 레퍼런스 픽쳐 사이의 간격과 상기 후보 픽쳐의 모션 벡터의 간격의 차이가 가장 작은 후보 픽쳐를 인접 픽쳐로 선택하여 상기 선택된 픽쳐의 인접 블록의 모션 벡터를 추출한다.
모션 벡처 추출부(510)는 고주파 픽쳐의 시간적 위치를 계산하며, 상기 고주파 픽쳐가 포워드 레퍼런스하는 위치에 존재하는 제 1 픽쳐를 검색하게 되는데, 이때 제 1 픽쳐는 refPic의 list0의 첫번째 엘리먼트일 수 있다.
또한 모션 벡터 추출부(510)는 모션 벡터에서 도출될 수 있는 두 개의 POC 값과 고주파 픽쳐가 백워드 레퍼런스하는 픽쳐의 POC 값 및 포워드 레퍼런스하는 픽쳐의 POC 값과 일치하는 픽쳐를 검색하여 종래의 불일치하는 경우를 없앨 수 있다. 그리고 시간적 위치를 계산하며, 상기 고주파 픽쳐가 포워드 레퍼런스 또는 백워드 레퍼런스 하는 위치에 존재하는 향상 계층의 제 1 픽쳐를 검색하며, 상기 제 1 픽쳐를 인접 블록으로 하여 상기 모션 벡터를 추출할 수 있다.
모션 벡처 추출부(510)는 위치 정보, 예를 들어 시간적 다이렉트 모드의 경우 타임 인덱스 또는 POC의 정보를 사용하여 현재 인코딩하고자 하는 B 픽쳐의 포워드 레퍼런스 픽쳐와 백워드 레퍼런스 픽쳐의 POC와 같은 위치 정보를 얻는다. 위치 정보를 통해 참조하는 위치의 픽쳐들 중에서 모션 벡터의 정보를 가지는, 인접 픽쳐(co-located picture)의 후보가 되는 픽쳐를 검색한다. 이때, 도 3 또는 도 5에서 살펴본 바와 같이, 후보 픽쳐들 중에서 모션 벡터에 의해 참조되는 픽쳐들 사이의 간격과 실제 포워드/백워드 레퍼런스 픽쳐 사이의 간격이 일치하거나 또는 유사한 모션 벡터를 가지는 픽쳐를 선택한다.
모션 벡터 추출부(510)가 인접 블록을 선택하는 기준으로, 후보 픽쳐의 모션 벡터의 간격 차이를 살펴볼 수 있다. 예를 들어, 도 3에서 157 H 픽쳐를 인코딩하는 경우, 156 H 픽쳐와 188 P 픽쳐가 후보 픽쳐가 될 수 있는데, 이때, 156 H 픽쳐 는 POC 8의 픽쳐에 대한 모션 벡터를 제공하므로 POC의 차이가 2인 반면, 188 P 픽쳐의 경우, POC 0의 픽쳐에 대한 모션 벡터를 제공하므로 POC 의 차이가 8이된다. 인코딩할 H 픽쳐(157)의 포워드/백워드 레퍼런스 픽쳐 사이의 간격이 POC 2이므로 156 H 픽쳐가 시간적 다이렉트 모드를 적용하는데 더 적합하다.
모션 벡처 추출부(510)에서 선택한 모션 벡터에 대한 정보인 인접 픽쳐와 인접 블록의 정보는 시간적 다이렉트 모드 인코딩부(520)으로 전달되어서 내부의 양자화부(540) 및 엔트로피 부호화부(550)에서 인코딩되어 디코더 측으로 전달된다.
한편 도 6의 실시예를 충족시키기 위해, 잔차 데이터 생성부(530)를 더 포함할 수 있다.
시간적 다이렉트 모드 인코딩부(520) 내에 잔차 데이터 생성부(530)는 모션 벡터를 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터로 변환하며, 상기 변환한 두 개의 모션 벡터를 이용하여 예측 데이터를 생성하고, 상기 예측 데이터를 사용하여 잔차 데이터를 계산한다.
이 경우, 잔차 데이터 생성부(530)는 예측 데이터를 생성하기 위한 모션 벡터를 구한 후에는 모션 벡터 추출부(510)에 추출한 모션 벡터를 변환하여, 시간적 다이렉트 모드에 따른 예측을 수행하여 예측 데이터를 생성한다.
잔차 데이터 생성부(530)는 예측한 데이터와 인코딩할 B 픽쳐의 원본 비디오의 잔차를 계산하여 잔차 데이터를 생성하고, 양자화부(540)에서 잔차 데이터에 대해 양자화를 수행한 후, 엔트로피 부호화부(550)에서 엔트로피 부호화를 수행하여 인코딩을 완료한다. 인코딩된 B 픽쳐는 비디오 스트림에 포함되어 디코더에 전송된 다.
도 3의 예에서 모션 벡터 추출부(510)는 인코딩할 B 픽쳐의 시간적 위치를 계산하여, 인코딩할 B 픽쳐가 포워드 레퍼런스하는 위치에 존재하는 픽쳐를 검색하여 상기 검색된 픽쳐를 인접 블록으로 하여 상기 모션 벡터를 추출한다.
도 5의 예에서 모션 벡터 추출부(510)는 인코딩할 B 픽쳐의 시간적 위치를 계산하여, 인코딩할 B 픽쳐가 포워드 레퍼런스 또는 백워드 레퍼런스 하는 위치에 존재하는 향상 계층의 픽쳐를 검색하여 이를 인접 블록으로 하여 모션 벡터를 추출한다.
도 6에서 모션 벡터 추출부(510)는 인코딩할 B 픽쳐의 하위 계층에 동일한 시간적 위치(POC)를 가지는 픽쳐가 존재하지 않으므로 시간적 다이렉트 모드를 적용하기 위해, 인코딩할 B 픽쳐가 포워드 레퍼런스 또는 백워드 레퍼런스 하는 위치에 존재하는 픽쳐를 검색하여 이를 인접 블록으로 하여 모션 벡터를 추출한다.
도 10은 본 발명의 일 실시예에 따른 비디오 디코더 중 B 픽쳐를 디코딩하는 B 픽쳐 디코딩부(600)의 구성을 보여주는 도면이다. I, P 픽쳐를 디코딩하는 과정은 종래의 기술이므로 본 명세서에서 생략하고자 한다.
B 픽쳐 디코딩부(600)는 디코딩부(610), 모션 벡터 추출부(620), 복원부(630)를 포함한다. 디코딩부는 수신한 비디오 신호에서 고주파 픽쳐의 시간적 다이렉트 모드 정보를 디코딩한다. 또한 도 6의 실시예에서 잔차 데이터도 함께 디코딩할 수 있다.
모션 벡터 추출부(620)는 디코딩한 시간적 다이렉트 모드 정보를 사용하여 인접 픽쳐 및 인접 블록의 정보를 추출한다. 고주파 픽쳐가 포워드 레퍼런스하는 위치에 존재하는 제 1 픽쳐를 인접 픽쳐로 하며, 제 1 픽쳐에 해당하는 블록을 상기 인접 블록으로 하여 상기 모션 벡터를 추출한다. 더욱 상세히는 제 1 픽쳐는 refPic의 list0의 첫번째 엘리먼트가 될 수 있다.
복원부는 인접 픽쳐의 인접 블록의 모션 벡터의 시간적 위치와 상기 고주파 픽쳐의 시간적 위치를 비교하여 모션 벡터로 변환하고, 변환한 모션 벡터를 사용하여 상기 고주파 픽쳐를 복원한다.
복원부는 추출한 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터를 변환한다. 여기서 인접 픽쳐란, 픽쳐의 시간적 위치를 기준으로 포워드 레퍼런스하는 위치의 픽쳐 또는 백워드 레퍼런스 하는 픽쳐가 될 수 있다.
도 6의 구현을 위해서는 고주파 픽쳐는 하위 계층에 동일한 시간적 위치를 가지는 픽쳐가 존재하지 않는 고주파 픽쳐로, 디코딩부(610)는 잔차 데이터를 디코딩하게 된다. 그리고 복원부(630)는 모션 벡터를 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터로 변환하며, 변환한 두 개의 모션 벡터를 이용하여 예측 데이터를 생성하고, 여기에 디코딩한 잔차 데이터를 더하여 복원을 수행한다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구 의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명을 구현함으로써 계층적 B 픽쳐를 시간적 다이렉트 모드로 인코딩 시, 인접 블록을 선택함에 있어서 B 픽쳐의 시간적 위치를 고려하여 선택할 수 있다.
본 발명을 구현함으로써 B 픽쳐의 특성에 따른 시간적 다이렉트 모드의 인코딩 효율을 향상시킬 수 있다.

Claims (30)

  1. 고주파 픽쳐의 포워드 레퍼런스 픽쳐 또는 백워드 레퍼런스 픽쳐의 시간적 위치를 계산하는 단계;
    상기 시간적 위치에 존재하며 모션 벡터의 정보를 가지는 후보 픽쳐를 검색하는 단계;
    상기 검색한 후보 픽쳐가 다수인 경우, 상기 고주파 픽쳐의 포워드 레퍼런스 픽쳐와 백워드 레퍼런스 픽쳐 사이의 간격과 상기 후보 픽쳐의 모션 벡터의 간격의 차이에 따라 상기 후보 픽쳐중에서 인접 픽쳐를 선택하여 상기 선택된 픽쳐의 인접 블록의 모션 벡터를 추출하는 단계; 및
    상기 고주파 픽쳐가 상기 추출된 모션 벡터를 사용할 수 있도록 상기 선택된 인접 픽쳐 및 상기 인접 블록의 정보를 인코딩하는 단계를 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  2. 제 1항에 있어서,
    상기 계산하는 단계는 시간적 위치를 계산하는 단계를 포함하고,
    상기 검색하는 단계는 상기 고주파 픽쳐가 포워드 레퍼런스하는 위치에 존재하는 제 1 픽쳐를 검색하는 단계를 포함하며,
    상기 추출하는 단계는 상기 제 1 픽쳐를 인접 픽쳐로 하며, 상기 제 1 픽쳐에 해당하는 블록을 상기 인접 블록으로 하여 상기 모션 벡터를 추출하는 단계를 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  3. 제 2항에 있어서,
    상기 제 1 픽쳐는 refPic의 list0 또는 refPic의 list1의 첫번째 엘리먼트인, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  4. 제 1항에 있어서,
    상기 검색하는 단계는
    상기 모션 벡터에서 도출될 수 있는 두 개의 POC 값과 상기 고주파 픽쳐가 백워드 레퍼런스하는 픽쳐의 POC 값 및 포워드 레퍼런스하는 픽쳐의 POC 값과 일치하는 픽쳐를 검색하는 단계를 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  5. 제 1항에 있어서,
    상기 인코딩하는 단계는 상기 추출한 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 변환하여 두 개의 모션 벡터를 추출하는 단계를 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  6. 제 1항에 있어서,
    상기 고주파 픽쳐는 하위 계층에 동일한 시간적 위치를 가지는 픽쳐가 존재하지 않는 고주파 픽쳐이며,
    상기 모션 벡터를 추출하는 단계 이후에
    상기 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터로 변환하는 단계;
    상기 변환한 두 개의 모션 벡터를 이용하여 예측 데이터를 생성하는 단계; 및
    상기 예측 데이터를 사용하여 잔차 데이터를 계산하는 단계를 더 포함하며,
    상기 인코딩하는 단계는 상기 잔차 데이터를 인코딩하는 단계를 더 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  7. 제 1항에 있어서,
    상기 계산하는 단계는 시간적 위치를 계산하는 단계를 포함하며,
    상기 검색하는 단계는 상기 고주파 픽쳐가 포워드 레퍼런스 또는 백워드 레퍼런스 하는 위치에 존재하는 향상 계층의 제 1 픽쳐를 검색하는 단계를 포함하며,
    상기 추출하는 단계는 상기 제 1 픽쳐를 인접 블록으로 하여 상기 모션 벡터를 추출하는 단계를 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  8. 제 1항에 있어서,
    상기 후보 픽쳐의 모션 벡터의 간격 차이는,
    상기 후보 픽쳐의 시간적 위치와 상기 후보 픽쳐가 상기 모션 벡터를 통해 참조하는 제 1 픽쳐의 시간적 위치의 차이인, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  9. 수신한 비디오 신호에서 고주파 픽쳐의 시간적 다이렉트 모드 정보를 디코딩 하는 단계;
    상기 디코딩한 시간적 다이렉트 모드 정보를 사용하여 인접 픽쳐 및 인접 블록의 정보를 추출하는 단계;
    상기 인접 픽쳐의 인접 블록의 모션 벡터의 시간적 위치와 상기 고주파 픽쳐의 시간적 위치를 비교하여 상기 모션 벡터를 변환하는 단계; 및
    상기 변환한 모션 벡터를 사용하여 상기 고주파 픽쳐를 복원하는 단계를 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 디코딩하는 방법.
  10. 제 9항에 있어서,
    상기 추출하는 단계는 상기 고주파 픽쳐가 포워드 레퍼런스하는 위치에 존재하는 제 1 픽쳐를 인접 픽쳐로 하며, 상기 제 1 픽쳐에 해당하는 블록을 상기 인접 블록으로 하여 상기 모션 벡터를 추출하는 단계를 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 디코딩하는 방법.
  11. 제 10항에 있어서,
    상기 제 1 픽쳐는 refPic의 list0 또는 refPic의 list1의 첫번째 엘리먼트 인, 계층적 구조에서 시간적 다이렉트 모드로 디코딩하는 방법.
  12. 제 9항에 있어서,
    상기 변환하는 단계는 상기 추출한 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터를 변환하는 단계를 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 디코딩하는 방법.
  13. 제 9항에 있어서,
    상기 고주파 픽쳐는 하위 계층에 동일한 시간적 위치를 가지는 픽쳐가 존재하지 않는 고주파 픽쳐이며,
    상기 디코딩하는 단계는 잔차 데이터를 디코딩하는 단계를 더 포함하며,
    상기 모션 벡터를 추출하는 단계 이후에
    상기 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터로 변환하는 단계;
    상기 변환한 두 개의 모션 벡터를 이용하여 예측 데이터를 생성하는 단계; 및
    상기 예측 데이터에 상기 잔차 데이터를 더하여 복원하는 단계를 더 포함하는, 계층적 구조에서 시간적 다이렉트 모드로 인코딩하는 방법.
  14. 제 9항에 있어서,
    상기 인접 픽쳐는 상기 고주파 픽쳐의 시간적 위치를 기준으로 포워드 레퍼런스하는 위치에 존재하는 픽쳐인, 계층적 구조에서 시간적 다이렉트 모드로 디코딩하는 방법.
  15. 제 9항에 있어서,
    상기 인접 픽쳐는 상기 고주파 픽쳐의 시간적 위치를 기준으로 포워드 레퍼런스 또는 백워드 레퍼런스하는 위치에 존재하는 향상 계층의 픽쳐인, 계층적 구조에서 시간적 다이렉트 모드로 디코딩하는 방법.
  16. 다계층 비디오 신호에서 고주파 픽쳐를 예측하기 위해 시간적 다이렉트 모드로 인코딩하는 인코더에 있어서,
    고주파 픽쳐의 포워드 레퍼런스 픽쳐 또는 백워드 레퍼런스 픽쳐의 시간적 위치를 계산하고, 상기 시간적 위치에 존재하며 모션 벡터의 정보를 가지는 후보 픽쳐를 검색하여, 상기 검색한 후보 픽쳐가 다수인 경우, 상기 고주파 픽쳐의 포워드 레퍼런스 픽쳐와 백워드 레퍼런스 픽쳐 사이의 간격과 상기 후보 픽쳐의 모션 벡터의 간격의 차이에 따라 상기 후보 픽쳐중에서 인접 픽쳐를 선택하여 상기 선택된 픽쳐의 인접 블록의 모션 벡터를 추출하는 모션 벡터 추출부; 및
    상기 고주파 픽쳐가 상기 추출된 모션 벡터를 사용할 수 있도록 상기 선택된 인접 픽쳐 및 상기 인접 블록의 정보를 인코딩하는 시간적 다이렉트 모드 인코딩부를 포함하는, 비디오 인코더.
  17. 제 16항에 있어서,
    상기 모션 벡터 추출부는 상기 고주파 픽쳐의 시간적 위치를 계산하며, 상기 고주파 픽쳐가 포워드 레퍼런스하는 위치에 존재하는 제 1 픽쳐를 검색하며,
    상기 제 1 픽쳐를 인접 픽쳐로 하며, 상기 제 1 픽쳐에 해당하는 블록을 상기 인접 블록으로 하여 상기 모션 벡터를 추출하는, 비디오 인코더.
  18. 제 17항에 있어서,
    상기 제 1 픽쳐는 refPic의 list0 또는 refPic의 list1의 첫번째 엘리먼트인, 비디오 인코더.
  19. 제 16항에 있어서,
    상기 모션 벡터 추출부는 상기 모션 벡터에서 도출될 수 있는 두 개의 POC 값과 상기 고주파 픽쳐가 백워드 레퍼런스하는 픽쳐의 POC 값 및 포워드 레퍼런스하는 픽쳐의 POC 값과 일치하는 픽쳐를 검색하는, 비디오 인코더.
  20. 제 16항에 있어서,
    상기 시간적 다이렉트 모드 인코딩부는 상기 추출한 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 변환하여 두 개의 모션 벡터를 추출하는, 비디오 인코더.
  21. 제 16항에 있어서,
    상기 고주파 픽쳐는 하위 계층에 동일한 시간적 위치를 가지는 픽쳐가 존재하지 않는 고주파 픽쳐이며,
    상기 시간적 다이렉트 모드 인코딩부는
    상기 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터로 변환하며, 상기 변환한 두 개의 모션 벡터를 이용하여 예측 데이터를 생성하고, 상기 예측 데이터를 사용하여 잔차 데이터를 계산하여, 상기 잔차 데이터를 인코딩하는, 비디오 인코더.
  22. 제 16항에 있어서,
    상기 모션 벡터 추출부는 시간적 위치를 계산하며, 상기 고주파 픽쳐가 포워드 레퍼런스 또는 백워드 레퍼런스 하는 위치에 존재하는 향상 계층의 제 1 픽쳐를 검색하며, 상기 제 1 픽쳐를 인접 블록으로 하여 상기 모션 벡터를 추출하는, 비디오 인코더.
  23. 제 16항에 있어서,
    상기 후보 픽쳐의 모션 벡터의 간격 차이는,
    상기 후보 픽쳐의 시간적 위치와 상기 후보 픽쳐가 상기 모션 벡터를 통해 참조하는 제 1 픽쳐의 시간적 위치의 차이인, 비디오 인코더.
  24. 수신한 비디오 신호에서 고주파 픽쳐의 시간적 다이렉트 모드 정보를 디코딩 하는 디코딩부;
    상기 디코딩한 시간적 다이렉트 모드 정보를 사용하여 인접 픽쳐 및 인접 블록의 정보를 추출하는 모션 벡터 추출부; 및
    상기 인접 픽쳐의 인접 블록의 모션 벡터의 시간적 위치와 상기 고주파 픽쳐의 시간적 위치를 비교하여 상기 모션 벡터를 변환하고, 상기 변환한 모션 벡터를 사용하여 상기 고주파 픽쳐를 복원하는 복원부를 포함하는, 비디오 디코더.
  25. 제 24항에 있어서,
    모션 벡터 추출부는 상기 고주파 픽쳐가 포워드 레퍼런스하는 위치에 존재하는 제 1 픽쳐를 인접 픽쳐로 하며, 상기 제 1 픽쳐에 해당하는 블록을 상기 인접 블록으로 하여 상기 모션 벡터를 추출하는, 비디오 디코더.
  26. 제 25항에 있어서,
    상기 제 1 픽쳐는 refPic의 list0 또는 refPic의 list1의 첫번째 엘리먼트인, 비디오 디코더.
  27. 제 24항에 있어서,
    상기 복원부는 상기 추출한 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터를 변환하는, 비디오 디코더.
  28. 제 24항에 있어서,
    상기 고주파 픽쳐는 하위 계층에 동일한 시간적 위치를 가지는 픽쳐가 존재하지 않는 고주파 픽쳐이며,
    상기 디코딩부는 잔차 데이터를 디코딩하며,
    상기 복원부는 상기 모션 벡터를 상기 고주파 픽쳐의 시간적 위치에 따라 두 개의 모션 벡터로 변환하며, 상기 변환한 두 개의 모션 벡터를 이용하여 예측 데이터를 생성하며, 상기 예측 데이터에 상기 잔차 데이터를 더하여 복원하는, 비디오 디코더.
  29. 제 24항에 있어서,
    상기 인접 픽쳐는 상기 고주파 픽쳐의 시간적 위치를 기준으로 포워드 레퍼런스하는 위치에 존재하는 픽쳐인, 비디오 디코더.
  30. 제 24항에 있어서,
    상기 인접 픽쳐는 상기 고주파 픽쳐의 시간적 위치를 기준으로 포워드 레퍼런스 또는 백워드 레퍼런스하는 위치에 존재하는 향상 계층의 픽쳐인, 비디오 디코더.
KR1020050109265A 2005-07-19 2005-11-15 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치 KR100746006B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/476,080 US8265156B2 (en) 2005-07-19 2006-06-28 Video encoding/decoding method and apparatus in temporal direct mode in hierarchical structure
PCT/KR2006/002834 WO2007029914A1 (en) 2005-07-19 2006-07-19 Video encoding/decoding method and apparatus in temporal direct mode in hierarchica structure
US13/588,396 US20120314769A1 (en) 2005-07-19 2012-08-17 Video encoding/decoding method and apparatus in temporal direct mode in hierarchical structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70033505P 2005-07-19 2005-07-19
US60/700,335 2005-07-19

Publications (2)

Publication Number Publication Date
KR20070011044A KR20070011044A (ko) 2007-01-24
KR100746006B1 true KR100746006B1 (ko) 2007-08-06

Family

ID=38012157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050109265A KR100746006B1 (ko) 2005-07-19 2005-11-15 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치

Country Status (2)

Country Link
US (2) US8265156B2 (ko)
KR (1) KR100746006B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012122783A1 (en) * 2011-03-14 2012-09-20 Mediatek Inc. Method and apparatus for deriving temporal motion vector prediction

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100968204B1 (ko) * 2007-01-11 2010-07-06 전자부품연구원 다시점 비디오 코덱에서의 영상 예측 방법 및 이를 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
KR101403338B1 (ko) * 2007-03-23 2014-06-09 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8526489B2 (en) * 2007-09-14 2013-09-03 General Instrument Corporation Personal video recorder
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
WO2010041856A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
EP2528332A4 (en) * 2010-01-19 2015-08-05 Samsung Electronics Co Ltd METHOD AND DEVICE FOR CODING / DECODING PICTURES USING A MOTION VECTOR OF A PREVIOUS BLOCK AS A MOTION VECTOR OF THE PRESENT BLOCK
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US20120328005A1 (en) * 2011-06-22 2012-12-27 General Instrument Corporation Construction of combined list using temporal distance
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US9426459B2 (en) 2012-04-23 2016-08-23 Google Inc. Managing multi-reference picture buffers and identifiers to facilitate video data coding
US9253487B2 (en) 2012-05-31 2016-02-02 Qualcomm Incorporated Reference index for enhancement layer in scalable video coding
CN103634606B (zh) * 2012-08-21 2015-04-08 腾讯科技(深圳)有限公司 视频编码方法和装置
WO2014072571A1 (en) * 2012-10-01 2014-05-15 Nokia Corporation Method and apparatus for scalable video coding
WO2014146079A1 (en) 2013-03-15 2014-09-18 Zenkich Raymond System and method for non-uniform video coding
US9380305B2 (en) * 2013-04-05 2016-06-28 Qualcomm Incorporated Generalized residual prediction in high-level syntax only SHVC and signaling and management thereof
JP6360154B2 (ja) * 2013-04-05 2018-07-18 ヴィド スケール インコーポレイテッド 多重レイヤビデオコーディングに対するインターレイヤ基準画像エンハンスメント
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US9532088B2 (en) * 2014-06-18 2016-12-27 Arris Enterprises, Inc. Trick-play streams for adaptive bitrate streaming
US10136155B2 (en) 2016-07-27 2018-11-20 Cisco Technology, Inc. Motion compensation using a patchwork motion field
CN111526370B (zh) * 2020-04-17 2023-06-02 Oppo广东移动通信有限公司 视频编码、解码方法及装置和电子设备
US11973985B2 (en) * 2021-11-23 2024-04-30 Mediatek Inc. Video encoder with motion compensated temporal filtering

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030024411A (ko) * 2001-09-18 2003-03-26 엘지전자 주식회사 H.26l에서의 b 픽쳐 코딩 방법
JP2003319403A (ja) 2002-04-09 2003-11-07 Lg Electronics Inc 改善されたダイレクトモードのブロック予測方法
KR20040008562A (ko) * 2002-07-18 2004-01-31 엘지전자 주식회사 모션벡터 연산 방법
KR20040031556A (ko) * 2002-10-04 2004-04-13 엘지전자 주식회사 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
CN1244232C (zh) * 2000-06-30 2006-03-01 皇家菲利浦电子有限公司 用于视频序列压缩的编码方法
KR20030005166A (ko) * 2000-11-23 2003-01-17 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 코딩 방법 및 대응하는 인코더
CN1666532A (zh) * 2002-07-02 2005-09-07 松下电器产业株式会社 图像编码方法和图像解码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030024411A (ko) * 2001-09-18 2003-03-26 엘지전자 주식회사 H.26l에서의 b 픽쳐 코딩 방법
JP2003319403A (ja) 2002-04-09 2003-11-07 Lg Electronics Inc 改善されたダイレクトモードのブロック予測方法
KR20040008562A (ko) * 2002-07-18 2004-01-31 엘지전자 주식회사 모션벡터 연산 방법
KR20040031556A (ko) * 2002-10-04 2004-04-13 엘지전자 주식회사 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012122783A1 (en) * 2011-03-14 2012-09-20 Mediatek Inc. Method and apparatus for deriving temporal motion vector prediction
US9602833B2 (en) 2011-03-14 2017-03-21 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
US9609346B2 (en) 2011-03-14 2017-03-28 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
US9807415B2 (en) 2011-03-14 2017-10-31 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction

Also Published As

Publication number Publication date
KR20070011044A (ko) 2007-01-24
US20120314769A1 (en) 2012-12-13
US8265156B2 (en) 2012-09-11
US20070019730A1 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
KR100746006B1 (ko) 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치
US8520962B2 (en) Method and apparatus for effectively compressing motion vectors in video coder based on multi-layer
KR100631777B1 (ko) 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치
KR101366242B1 (ko) 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치
RU2479939C2 (ru) Способ кодирования и декодирования видеосигнала с использованием взвешенного предсказания и устройство для его осуществления
KR100703760B1 (ko) 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
KR100763181B1 (ko) 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
KR100703774B1 (ko) 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
KR100714689B1 (ko) 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치
KR101425602B1 (ko) 영상 부호화/복호화 장치 및 그 방법
KR20060105408A (ko) 영상 신호의 스케일러블 인코딩 및 디코딩 방법
KR20060043209A (ko) 다 계층 기반의 모션 벡터를 효율적으로 부호화하는 방법및 장치
EP1659797A2 (en) Method and apparatus for compressing motion vectors in video coder based on multi-layer
KR20060088461A (ko) 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
KR20070101088A (ko) 다 계층 기반의 비디오 인코딩 방법 및 장치
KR101375667B1 (ko) 영상의 부호화, 복호화 방법 및 장치
KR20070075232A (ko) 모션 역변환을 사용하여 모션 예측을 수행하는 방법 및장치
KR20090117011A (ko) 복수의 참조 픽처에 기초한 영상 부호화, 복호화 방법 및장치
KR101158437B1 (ko) 스케일러블 비디오 신호 인코딩 및 디코딩 방법
KR100928325B1 (ko) 영상의 부호화, 복호화 방법 및 장치
KR100703751B1 (ko) 가상 영역의 영상을 참조하여 인코딩 및 디코딩 하는 방법및 장치
KR20060069227A (ko) 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
WO2007029914A1 (en) Video encoding/decoding method and apparatus in temporal direct mode in hierarchica structure
KR100733966B1 (ko) 움직임 벡터 예측 장치 및 방법
KR20060059770A (ko) 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee