KR20100015456A - 비디오 신호 처리 방법 및 장치 - Google Patents

비디오 신호 처리 방법 및 장치 Download PDF

Info

Publication number
KR20100015456A
KR20100015456A KR1020097021098A KR20097021098A KR20100015456A KR 20100015456 A KR20100015456 A KR 20100015456A KR 1020097021098 A KR1020097021098 A KR 1020097021098A KR 20097021098 A KR20097021098 A KR 20097021098A KR 20100015456 A KR20100015456 A KR 20100015456A
Authority
KR
South Korea
Prior art keywords
information
warping
current
block
reference picture
Prior art date
Application number
KR1020097021098A
Other languages
English (en)
Inventor
전용준
전병문
박승욱
박준영
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20100015456A publication Critical patent/KR20100015456A/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/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/583Motion compensation with overlapping blocks
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • 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/46Embedding additional information in the video signal during the compression process
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

비디오 신호 비트스트림으로부터 중첩 윈도우 계수를 추출하는 단계; 상기 중첩 윈도우 계수를 이용하여 참조 픽처 내 하나 이상의 참조 영역에 윈도우를 적용하는 단계; 상기 윈도우가 적용된 하나 이상의 참조영역을 다중적으로 중첩시킴으로써 참조 블록을 획득하는 단계; 및, 상기 참조 블록을 이용하여 현재 블록의 프리딕터를 획득하는 단계를 포함하는 비디오 신호 처리 방법이 개시된다.

Description

비디오 신호 처리 방법 및 장치{A METHOD AND AN APPARATUS FOR PROCESSING A VIDEO SIGNAL}
본 발명은 비디오 신호의 처리에 관한 것으로, 보다 상세하게는 비디오 신호를 인코딩하거나 디코딩하는 비디오 신호 처리 방법 및 장치에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 압축 부호화의 대상에는 음성, 영상, 문자 등의 대상이 존재하며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다. 비디오 영상의 일반적인 특징은 공간적 중복성, 시간적 중복성을 지니고 있는 점에 특징이 있다.
Technical Problem
이와 같이 공간적 중복성 및 시간적 중복성을 충분히 제거하지 않으면, 비디오 신호를 부호화하는 데 있어서 압축율이 낮아질 뿐만 아니라, 공간적 중복성 및 시간적 중복성을 과도하게 제거하는 경우, 비디오 신호를 디코딩하는 데 있어서 필요한 정보를 생성하지 못하기 때문에 복원율이 나빠지는 문제점이 있었다.
Technical Solution
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 윈도우의 계수를 적응적으로 적용하여 중첩된 블록 기반의 움직임 보상을 수행할 수 있는 비디오 신호 처리 방법 및 장치를 제공하는 데 그 목적이 있다.
본 발명의 또 다른 목적은, 참조 픽처를 와핑 변형하여 움직임 보상을 수행할 수 있는 비디오 신호 처리 방법 및 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은, 와핑 변형된 참고 픽처의 움직임 벡터를 이용하여 움직임 보상을 수행할 수 있는 비디오 신호 처리 방법 및 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은, 정수 펠을 이용하여 1/8 펠을 생성하여 움직임 보상을 수행할 수 있는 비디오 신호 처리 방법 및 장치를 제공하는 데 있다.
Advantageous Effects
본 발명은 다음과 같은 효과와 이점을 제공한다.
첫째, 적응적으로 윈도우를 적용하기 때문에 현재 블록과 거의 유사한 참조 블록을 획득할 수 있으므로, 레지듀얼의 크기가 감소하여 코딩 효율이 높아진다.
둘째, 와핑 변형된 참조 픽처를 이용함으로써, 특히 현재 픽처가 참조 픽처에 비해 확대/축소 또는 회전된 경우, 현재 픽처의 레지듀얼을 인코딩하는데 필요한 비트수를 현저히 줄일 수 있다.
셋째, 와핑 변형된 참조 픽처의 움직임 벡터를 이용함으로써, 현재 블록의 움직임 벡터를 코딩하는 데 필요한 비트수를 줄일 수 있고, 나아가 움직임 벡터의 전송을 생략할 수 있다.
넷째, 1/2 펠 또는 1/4 펠이 아닌 정수 펠을 이용하여 1/8 펠을 생성하는 방식이므로, 하나의 보간 단계로 1/8 펠을 생성할 수 있기 때문에 여러 보간 단계를 수행하는 데 발생되는 복잡도를 감소시킬 수 있다.
도 1 은 본 발명의 일 실시예에 따른 비디오 신호 인코딩 장치의 개략적인 블록도.
도 2 는 본 발명의 일 실시예에 따른 비디오 신호 디코딩 장치의 개략적인 블록도.
도 3 은 블록 기반의 움직임 보상 기술에 대해 설명하기 위한 도면.
도 4 는 OBMC 방식 중 참조 픽처에의 윈도우 적용에 관해 설명하기 위한 도면.
도 5 는 도 4 에서 윈도우가 적용된 참조 영역들이 다중으로 중첩된 경우를 나타낸 도면.
도 6 은 본 발명의 제 1 실시예에 따른 OBMC 방식에 관한 순서도.
도 7 은 본 발명의 제 1 실시예에 따른 OBMC 방식이 적용된 예측화면을 나타낸 도면.
도 8 은 본 발명의 제 1 실시예에 따른 OBMC 방식에 관한 순서도.
도 9 는 OBMC 방식 및 종래 방식(BMC)에 따른 성능 비교 그래프.
도 10 은 본 발명의 다른 실시예에 따른 비디오 신호 인코딩 장치의 개략적인 블록도.
도 11 은 본 발명의 다른 실시예에 따른 비디오 신호 디코딩 장치의 개략적인 블록도.
도 12 는 확대된 경우의 참조 픽처와 현재 픽처의 일 예.
도 13 은 도 12 의 예에서 특정 객체에 해당하는 블록을 나타낸 도면.
도 14 는 회전된 경우의 참조 픽처와 현재 픽처의 일 예.
도 15 는 도 14 의 예에서 특정 배경에 해당하는 블록을 나타낸 도면.
도 16 은 어파인 변형 정보(affine transformation information)의 개념을 설명하기 위한 도면.
도 17 은 호모그래피 매트릭스 정보(homography matrix information)의 개념을 설명하기 위한 도면.
도 18 은 와핑 정보 획득 및 와핑된 참조 픽처 획득 과정에 대한 순서도.
도 19 는 참조 픽처 및 현재 픽처의 일 예.
도 20 는 도 18 에 도시된 단계들 중 S310 단계(코너(특징) 찾기 단계)를 설명하기 위한 도면.
도 21 는 도 18 에 도시된 단계들 중 S320 단계(코너 추적 단계)를 설명하기 위한 도면.
도 22 는 도 18 에 도시된 단계들 중 S330 단계(코너 그룹핑 단계)를 설명하기 위한 도면.
도 23 는 도 18 에 도시된 단계들 중 S340 단계(아웃라이어 삭제 단계)를 설명하기 위한 도면.
도 24 는 도 18 에 도시된 단계들 중 S360 단계(참조 픽처 생성 단계)를 설명하기 위한 도면.
도 25 는 와핑 적용 결정 과정에 대한 순서도.
도 26 은 움직임 벡터 예측에 대한 개념을 설명하기 위한 도면.
도 27 은 와핑 정보를 이용한 움직임 벡터 예측을 설명하기 위한 도면.
도 28 은 와핑 정보의 코딩 효율을 높이기 위한 제 1 방법을 설명하기 위한 도면.
도 29 는 와핑 정보의 코딩 효율을 높이기 위한 제 2 방법을 설명하기 위한 도면.
도 30 은 와핑 정보의 코딩 효율을 높이기 위한 제 3 방법을 설명하기 위한 도면.
도 31 는 현재 픽처의 참조 관계를 나타낸 도면.
도 32 는 1/8 pel 의 개념을 설명하기 위한 도면.
도 33 은 1/8 pel 움직임 보상 방법의 보간 스텝을 설명하기 위한 도면.
도 34 는 정수, 1/2 pel 펠, 1/4 pel 펠, 1/8 peg 펠의 위치를 2 차원적으로 설명하기 위한 도면.
도 35 는 본 발명의 실시예에 따른 1/8 pel 움직임 보상 방법 중 제 1 그룹에 해당하는 펠들의 보상방법을 설명하기 위한 도면.
도 36 은 본 발명의 실시예에 따른 1/8 pel 움직임 보상 방법 중 제 2 그룹에 해당하는 펠들의 보상방법을 설명하기 위한 도면.
도 37 은 본 발명의 실시예에 따른 1/8 pel 움직임 보상 방법 중 제 3 그룹에 해당하는 펠들의 보상방법을 설명하기 위한 도면.
Best Mode for Carrying Out the Invention
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 비디오 신호 처리 방법은, 비디오 신호 비트스트림으로부터 중첩 윈도우 계수를 추출하는 단계; 상기 중첩 윈도우 계수를 이용하여 참조 픽처 내 하나 이상의 참조 영역에 윈도우를 적용하는 단계; 상기 윈도우가 적용된 하나 이상의 참조영역을 다중적으로 중첩시킴으로써 참조 블록을 획득하는 단계; 및, 상기 참조 블록을 이용하여 현재 블록의 프리딕터를 획득하는 단계를 포함한다.
본 발명에 따르면, 상기 중첩 윈도우 계수는, 시퀀스, 프레임, 슬라이스, 또는 블록 마다 변화할 수 있다.
본 발명에 따르면, 상기 참조 블록은, 상기 중첩된 참조 영역 중 공통 영역에 해당하는 것일 수 있다.
본 발명의 또 다른 측면에 따르면, 현재 블록에 대한 움직임 추정을 수행하여 움직임 벡터를 획득하는 단계; 상기 움직임 벡터를 이용하여 참조 영역을 찾는 단계; 상기 참조 영역에 대해 하나 이상의 윈도우를 중첩적으로 적용함으로써, 예측 오차를 최소화하는 중첩 윈도우 계수를 획득하는 단계; 및, 상기 중첩 윈도우 계수를 인코딩하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 상기 인코딩하는 단계는, 상기 중첩 윈도우 계수를 시퀀스 헤더, 슬라이스 헤더, 또는 매크로블록 레이어에 포함시키는 것일 수 있다.
본 발명의 또 다른 측면에 따르면, 비디오 신호 비트스트림으로부터 OBMC(Overlapped Block Motion Compensation) 적용 플래그 정보를 추출하는 단계; 상기 OBMC 적용 플래그 정보에 따라 현재 블록의 참조 블록을 획득하는 단계; 및, 상기 참조 블록을 이용하여 현재 블록의 프리딕터를 획득하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
상기 참조 블록을 획득하는 단계는, 현재 블록의 움직임 정보를 이용하여 수행될 수 있다.
본 발명에 따르면, 상기 참조 블록을 획득하는 단계는, 상기 OBMC 적용 플래그 정보가 상기 현재 블록 또는 현재 슬라이스에 OBMC 방식이 적용되었음을 의미하는 경우, 상기 참조 블록을 OBMC 방식에 따라 획득하는 것일 수 있다.
본 발명의 또 다른 측면에 따르면, 현재 블록에 대한 움직임 추정을 수행함으로써 움직임 벡터를 획득하는 단계; 상기 움직임 벡터를 이용하여 참조 영역에 대하여 제 1 움직임 보상 방식에 따른 제 1 비트량 및, 제 2 움직임 보상 방식에 따른 제 2 비트량을 산출하는 단계; 및, 상기 제 1 비트량 및 제 2 비트량을 근거로 제 1 움직임 보상 방식을 나타내는 정보 및 제 2 움직임 보상 방식을 나타내는 정보 중 하나를 인코딩하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 상기 제 1 움직임 보상 방식은, 블록 기반의 움직임 보상 방식이고, 제 2 움직임 보상 방식은 중첩된 블록 기반의 움직임 보상 방식일 수 있다.
본 발명의 또 다른 측면에 따르면, 비디오 신호 비트스트림으로부터 와핑 정 보 및 움직임 정보를 추출하는 단계; 상기 와핑 정보를 이용하여 참조 픽처를 변형하는 단계; 및, 상기 변형된 참조 픽처, 및 상기 움직임 정보를 이용하여 현재 블록의 프리딕터를 획득하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 상기 와핑 정보는, 어파인 변형 정보 및 프로젝티브 매트릭스 정보 중 하나 이상을 포함할 수 있다.
본 발명에 따르면, 상기 와핑 정보는, 현재 픽처 및 참조 픽처상에 존재하는 대응 쌍의 위치 정보를 포함할 수 있다.
본 발명에 따르면, 상기 대응 쌍의 위치정보는 제 1 지점의 위치 정보 및, 제 2 지점의 위치 정보와 상기 제 1 지점의 위치 정보간의 차분값일 수 있다.
본 발명의 또 다른 측면에 따르면, 현재 픽처 및 참조 픽처를 이용하여 와핑 정보를 생성하는 단계; 상기 와핑 정보를 이용하여 상기 참조 픽처를 변형하는 단계; 상기 변형된 참조 픽처를 이용하여 현재 블록의 움직임 벡터를 획득하는 단계; 및, 상기 와핑 정보 및 상기 움직임 벡터를 인코딩하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 현재 픽처 및 참조 픽처를 이용하여 와핑 정보를 생성하는 단계; 상기 와핑 정보를 이용하여 상기 참조 픽처를 변형하는 단계; 상기 변형된 참조 픽처를 이용하여 현재 블록의 인코딩에 소요되는 제 1 비트수를 산출하는 단계; 상기 참조 픽처를 이용하여 현재 블록의 인코딩에 소요되는 제 2 비트수를 산출하는 단계; 및, 상기 제 1 비트수 및 상기 제 2 비트수를 근거로 하여 와핑 적용 플래그 정보를 인코딩하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 상기 제 1 비트수 및 상기 제 2 비트수에 따라 상기 와핑 정보의 전송여부를 결정하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 비디오 신호 비트스트림으로부터 와핑 정보 및 예측 방식 플래그 정보를 추출하는 단계; 상기 예측 방식 플래그 정보에 따라, 상기 와핑 정보를 이용하여 현재 픽처 내 하나 이상의 제 1 지점이 매핑되는 참조 픽처 내 제 2 지점을 획득하는 단계; 및, 상기 제 2 지점에 해당하는 움직임 벡터를 이용하여 현재 블록의 움직임 벡터를 예측하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 상기 제 1 지점은, 상기 예측 방식 플래그 정보에 따라 결정되는 것일 수 있다.
본 발명에 따르면, 상기 제 1 지점은, 좌측 상단 지점, 우측 상단 지점, 좌측 하단, 우측 하단 지점 중 하나 이상을 포함할 수 있다.
본 발명에 따르면, 상기 제 1 지점이 둘 이상인 경우, 현재 블록의 움직임 벡터를 예측하는 단계는, 둘 이상의 지점의 평균값 또는 중앙값으로 현재 블록의 움직임 벡터를 예측하는 단계일 수 있다.
본 발명의 또 다른 측면에 따르면, 현재 픽처 및 참조 픽처를 이용하여 와핑 정보를 획득하는 단계; 상기 와핑 정보를 이용하여 상기 현재 픽처 내 하나 이상의 제 1 지점이 매핑되는 상기 참조 픽처 내 제 2 지점을 획득하는 단계; 및, 상기 제 2 지점에 해당하는 움직임 벡터 및, 현재 블록의 움직임 벡터를 근거로 예측 방식 플래그 정보를 인코딩하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 비디오 신호 비트스트림으로부터 와핑 정보 및 와핑 스킵 모드 플래그 정보를 추출하는 단계; 상기 와핑 스킵 모드 플래그 정보에 따라, 상기 와핑 정보를 이용하여 참조 픽처를 와핑 변형하는 단계; 및, 상기 와핑 변형된 참조 픽처 내 현재 블록과 동일 위치의 참조 블록을 이용하여 현재 블록을 획득하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 현재 픽처 및 참조 픽처를 이용하여 와핑 정보를 획득하는 단계; 상기 와핑 정보를 이용하여 상기 참조 픽처를 와핑 변형하는 단계; 상기 와핑 변형된 참조 픽처를 이용하여 현재 블록의 움직임 벡터를 획득하는 단계; 및, 상기 움직임 벡터를 근거로 와핑 스킵 플래그 정보를 인코딩하는 단계를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 정수 펠을 기준으로 현재 1/8 펠의 위치를 탐색하는 단계; 상기 현재 1/8 펠의 위치를 이용하여 계수를 획득하는 단계; 및, 상기 계수 및 상기 정수 펠을 이용하여 현재 1/8 펠을 생성하는 단계를 더 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명이 또 다른 측면에 따르면, 상기 정수 펠은 상기 현재 1/8 펠로부터 가까운 3 개의 정수 펠을 포함하고, 상기 계수는, 제 1 정수 펠에 적용되는 제 1 계수, 제 2 정수 펠에 적용되는 제 2 계수, 제 3 정수 펠에 적용되는 제 3 계수를 포함하는 비디오 신호 처리 방법이 제공된다.
본 발명에 따르면, 상기 제 1 계수, 상기 제 2 계수, 상기 제 3 계수간의 상 대적인 크기는, 제 1 정수 펠, 제 2 정수 펠, 제 3 정수 펠의 상대적인 위치에 따라 결정될 수 있다.
본 발명에 따르면, 상기 제 1 계수, 상기 제 2 계수, 상기 제 3 계수간의 상대적인 크기는, 상기 현재 1/8 펠 및 제 1 정수 펠간의 거리, 상기 현재 1/8 펠 및 제 2 정수 펠간의 거리, 상기 현재 1/8 펠 및 제 3 정수 펠간의 거리에 따라 결정될 수 있다.
본 발명에 따르면, 상기 비디오 신호는, 방송 신호를 통해 수신된 것일 수 있다.
본 발명에 따르면, 상기 비디오 신호는, 디지털 매체를 통해 수신된 것일 수 있다.
본 발명의 또 다른 측면에 따르면, 상기 정수 펠은 상기 현재 1/8 펠로부터 가까운 3 개의 정수 펠을 포함하고, 상기 계수는, 제 1 정수 펠에 적용되는 제 1 계수, 제 2 정수 펠에 적용되는 제 2 계수, 제 3 정수 펠에 적용되는 제 3 계수를 포함하는 비디오 신호 처리 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
본 발명에서 코딩이라 함은, 인코딩 및 디코딩을 모두 포함하는 개념으로 이해되어야 한다.
1. OBMC (Overlapped Bock Motion Compensation)
도 1 은 본 발명의 일 실시예에 따른 비디오 신호 인코딩 장치의 개략적인 블록도이다. 도 1 을 참조하면, 변환부(110), 양자화부(115), 코딩 제어부(120), 역양자화부(130), 역변환부(135), 필터링부(140), 프레임 저장부(145), 움직임 추정부(160), 인트라 예측부(170), 인터 예측부(175), 및 엔트로피 코딩부(180)를 포함한다.
변환부(110)는 화소값을 변환하여 변환 계수값을 획득하는 데, 이때 이산 코사인 변환(DCT: Discrete Cosine Transform) 또는 웨이블릿 변환 방식이 사용될 수 있다. 양자화부(115)는 변환부(110)에서 출력된 변환 계수값을 양자화한다. 코딩 제어부(120)는 특정 블록 또는 프레임을 화면내 부호화를 할 것인지 화면간 부호화를 할 것인지를 제어한다. 역양자화부(130) 및 역변환부(135)는 변환 계수값을 역양자화하고, 역양자화된 변환 계수값을 이용하여 원래의 화소값을 복원한다.
필터링부(140)는 블록 왜곡 현상을 감소시키기 위해 각각의 코딩된 매크로블 록에 적용된다. 필터는 블록의 가장자리를 부드럽게 하여 디코딩된 픽처의 화질을 향상시킨다. 필터링 과정의 선택은 경계 세기(boundary strenth)와 경계 주위의 이미지 샘플의 변화(gradient)에 의해 좌우된다. 필터링을 거친 픽처들은 출력되거나 참조 픽처로 이용하기 위해 프레임 저장부(145)에 저장된다.
움직임 추정부(160)는 프레임 저장부(145)에 저장된 참조 픽처를 이용하여, 참조 픽처 중에서 현재 블록과 가장 유사한 참조 블록을 탐색한다. 이때, 참조 픽처는 중첩 윈도우(150)가 적용된 픽처이다. 이때, 중첩 윈도우가 적용된 픽처를 이용하는 방식을 중첩된 블록 기반의 움직임 추정에 의한 움직임 보상(OBMC: Overlapped Block Motion Compensation)이라고 지칭하는 데, 본 발명에서 제안하는 중첩된 블록 기반의 움직임 보상의 실시예에 관해서, 추후 도 3 내지 도 9 를 참조하면서 설명하고자 한다. 한편, 움직임 추정부(160)는 중첩 윈도우를 적용하는데 사용된 윈도우 계수 등을 엔트로피 코딩부(180)로 전달하여 비트스트림에 포함되도록 할 수 있다.
인터 예측부(170)는 중첩 윈도우(150)가 적용된 참조 픽처를 이용하여 현재 픽처를 예측을 수행하고, 화면간 부호화정보는 엔트로피 코딩부(180)에 전달된다. 인트라 예측부(170)는 현재 픽처 내의 디코딩된 샘플로부터 화면내 예측을 수행하고, 화면내 부호화정보를 엔트로피 코딩부(180)에 전달한다.
엔트로피 코딩부(180)는 양자화된 변환 계수값, 화면내 부호화 정보, 화면간 부호화 정보를 엔트로피 코딩하여 비디오 신호 비트스트림을 생성한다. 여기서 엔트로피 코딩부(180)에서는 가변 길이 코딩(VLC: Variable Length Coding) 방식과 산술 코딩(arithmetic coding)이 사용될 수 있다. 가변 길이 코딩(VLC) 방식은 입력되는 심볼들을 연속적인 코드워드로 변환하는데, 코드워드의 길이는 가변적일 수 있다. 예를 들어, 자주 발생하는 심볼들을 짧은 코드워드로 자주 발생하지 않은 심볼들은 긴 코드워드로 표현하는 것이다. 가변 길이 코딩 방식으로서 컨텍스트 기반 적응형 가변 길이 코딩(CAVLC: Context-based Adaptive Variable Lensth Coding) 방식이 사용될 수 있다. 산술 코딩은 연속적인 데이터 심볼들을 하나의 소수로 변환하는 데, 산술 코딩은 각 심볼을 표현하기 위해 필요한 최적의 소수 비트를 얻을 수 있다. 산술 코딩으로서 컨텍스트 기반 적응형 산술 부호화(CABAC: Context-based Adaptive Binary Arithmetic Code)가 이용될 수 있다.
도 2 는 본 발명의 일 실시예에 따른 비디오 신호 디코딩 장치의 개략적인 블록도이다. 도 2 를 참조하면, 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(225), 필터링부(230), 프레임 저장부(140), 인터 예측부(260), 인트라 예측부(265)를 포함한다.
엔트로피 디코딩부(210)는 비디오 신호 비트스트림을 엔트로피 디코딩하여, 각 매크로블록의 변화 계수, 움직임 벡터 등을 추출한다. 역양자화부(220)는 엔트로피 디코딩된 변환 계수를 역양자화하고, 역변환부(225)는 역양자화된 변환 계수를 이용하여 원래의 화소값을 복원한다. 한편, 필터링부(230)는 블록 왜곡 현상을 감소시키기 위해 각각의 코딩된 매크로블록에 적용된다. 필터는 블록의 가장자리를 부드럽게 하여 디코딩된 픽처의 화질을 향상시킨다. 필터링을 거친 픽처들은 출력되거나 참조 픽처로 이용하기 위해 프레임 저장부(240)에 저장된다.
인터 예측부(260)는 프레임 저장부(240)에 저장된 참조 픽처를 이용하여 현재 픽처를 예측하는 데, 이때 도 1 과 함께 설명된 바와 마찬가지로, 중첩 윈도우(250)가 적용된 참조 픽처를 이용하게 된다. 한편 인터 예측부(260)는 중첩 윈도우(250)를 적용하는 데 있어서 필요한 윈도우 계수 등을 엔트로피 디코딩부(210)로부터 전달받을 수 있다. 이에 대해서는 역시 도 3 내지 도 9 와 함께 후술하고자 한다.
인트라 예측부(265)에서는 현재 픽처 내의 디코딩된 샘플로부터 화면내 예측을 수행하게 된다. 인트라 예측부(265) 또는 인터 예측부(260)로부터 출력된 예측값, 및 역변환부(225)로부터 출력된 화소값이 더해져서 복원된 비디오 프레임이 생성된다.
이하에서는, 도 3 과 함께 블록 기반의 움직임 보상 기술에 대해서 설명한 후, 도 4 내지 도 9 와 함께 본 발명의 실시예에 따른 중첩 블록 기반의 움직임 보상(OBMC) 방식에 관해서 설명하고자 한다.
도 3 은 블록 기반의 움직임 보상 기술에 대해 설명하기 위한 도면이다. 우선, 도 3 의 (a)를 참조하면, 현재 픽처는 특정 크기의 블록들로 분할된다. 그 블록들 중에 현재 블록(A)의 움직임을 추정하기 위해서, 도 3 의 (b)의 도시된 참조 픽처 내에서 현재 블록(A)와 가장 유사한 참조 블록(B)을 탐색한다. 이때, 현재 블록(A)와 동일 위치(co-located)(LA), 및 참조 블록(B)의 위치(LB)와의 오프셋이 움직임 벡터(motion vector)이다. 이러한 움직임 벡터를 이용하여, 현재 블록과 가장 유사한 참조 블록(B)을 찾아서 현재 블록의 예측값을 획득하고, 이 예측값에 레지듀얼 신호를 더하여 현재 블록을 복원할 수 있다.
이와 같이 블록 기반으로 움직임 보상을 수행하는 기술은, 인접한 프레임간의 중복성을 제거하는데 효율적이지만, 블록의 경계에서 블록킹 아티팩트를 발생시키는 단점이 있다. 이 블록킹 아티팩트로 인해서 코딩 효율이 떨어질 뿐만 아니라 화질을 낮아지는 문제점이 있다. 이러한, 문제점을 해결하기 위한 노력으로, 중첩 블록 기반의 움직임 보상(OBMC) 방식이 제안된 바, 이하에서는 본 발명의 실시예에 따른 중첩 블록 기반의 움직임 보상(OBMC) 방식 중 제 1 실시예 및 제 2 실시예에 관해서 설명하고자 한다.
도 4 는 본 발명의 제 1 실시예에 따른 OBMC 방식 중 참조 픽처에의 윈도우 적용에 관해 설명하기 위한 도면. 도 4 의 (a)를 참조하면, 현재 블록(B0)과 현재 블록을 둘러싼 이웃 블록들(B1, .., B8)이 존재함을 알 수 있다. 도 4 의 (b)를 참조하면, 참조 픽처 내, 현재 블록의 이웃 블록들(B1, ..., B8)에 각각 대응하는 참조 블록들(B1, ..., B8)에 각각 중첩 윈도우를 적용하여, 도 4 의 (c)와 같이 윈도우가 적용된 참조 블록들을 생성한다. 윈도우는 가운데 부분에는 상대적으로 큰 가중치를 두고, 주변 부분에는 상대적으로 작은 가중치를 준다. 이 때, 참조 블록(B1)에 해당하는 영역에만 윈도우를 적용하는 것이 아니라, 참조 블록(B1)과 그 주위 부분(d)까지 포함하는 영역에 윈도우를 적용한다. 이때 윈도우는 고정되어 있을 수 있지만, 시퀀스, 프레임, 슬라이스, 또는 매크로블록 마다 적응적으로 다르게 정할 수 있다. 예를 들어, 다음 수학식 1 내지 수학식 3 과 같이 정해질 수 있다.
[수학식 1]
Figure 112009061842431-PCT00001
[수학식 2]
Figure 112009061842431-PCT00002
[수학식 3]
Figure 112009061842431-PCT00003
여기서, w 는 중첩 윈도우 계수, E 는 예측 에러의 제곱의 합, I 픽처에서의 화소 강도(pel intensity), p 는 픽셀 위치 벡터, S 는 블록 사이즈, m 는 현재 블록에 대한 상대적인 위치(현재 블록이 (0,0)일 때 상단 블록(above block)은 (-1,0)).
수학식 1 내지 수학식 3 에 나타난 바와 같이 중첩 윈도우 계수(w)는 예측 에러(E)에 따라 달리 정해질 수 있는 바, 이에 대한 구체적인 설명은 도 6 과 함께 후술하고자 한다.
도 5 는 도 4 에서 윈도우가 적용된 참조 영역들이 다중으로 중첩된 경우를 나타낸 도면이다. 도 5 를 참조하면, 윈도우가 적용된 다수의 참조 영역들(B1, ..., B8)이 중첩되어 있음을 알 수 있다. 이때, 공통적으로 중첩되는 영역으로부터 현재 블록에 대응하는 참조 블록(B0)을 획득할 수 있다. 예를 들어, 첫번째 참조 영역(B1)은 현재 블록에 대응하는 참조 블록(B0)의 왼쪽 상단 영역(B0a)와 중첩되고, 여덟번째 참조 영역(B8)은 현재 블록에 대응하는 참조 블록(B0)의 왼쪽 상단 영역(B0d)와 중첩된다. 이와 같이 중첩된 영역으로부터 현재 블록에 대응하는 참조 블록(B0)을 획득하게 되면, 블록 경계에 블로킹 아티팩트를 제거할 수 있으며, 가장 적합한 프리딕터를 획득할 수 있기 때문에 레지듀얼의 비트량을 최소화할 수 있다.
도 6 은 본 발명의 제 1 실시예에 따른 OBMC 방식에 관한 순서를 보여주는 도면이다. 도 6 을 참조하면, S110 단계 내지 S140 단계는 디코더에서 수행하는 단계로서, 앞서 도 1 과 함께 설명된 본 발명의 제 1 실시예에 따른 비디오 신호 인코딩 장치에 의해 수행될 수 있고, S150 단계 내지 S180 단계는 디코더에서 수행하는 단계로서, 도 2 과 함께 설명된 본 발명의 제 1 실시예에 따른 비디오 신호 디코딩 장치에 의해 수행될 수 있다.
인코더는 우선, 움직임 벡터를 획득하기 위해 움직임 추정을 수행한다(S110 단계). 움직임 보상은 양자화 후의 오차 변환 계수들의 에너지를 최소화하는 것을 목표로하는 바, 변환된 블록 내의 에너지는 변환되기 이전의 오차 블록 내의 에너지에 좌우된다. 따라서 움직임 추정은 움직임 보상된 오차(현재 블록과 참조 영역 사이의 차이)내의 에너지를 최소화하는, 현재 블록 또는 영역에 일치하는 블록 또 는 영역을 찾는 것이다. 이 때, 일반적으로 많은 지점에서 오차 에너지를 평가하는 과정이 필요한데, 에너지를 측정하는 방법을 선택하는 것은 움직임 추정 과정의 연산상 복잡도와 정확성에 영향에 미친다. 세가지의 에너지의 측정방법이 있을수 있다.
(1) 평균 제곱 에러(Mean Squared Error):
Figure 112009061842431-PCT00004
여기서, Cij 은 현재 블록의 샘플, Rij 는 참조 영역의 샘플.
(2) 평균 절대 에러(Mean Absolute Error)
Figure 112009061842431-PCT00005
(3) 절대 에러의 합(Sum of Absolute Error)
Figure 112009061842431-PCT00006
나아가, 다른 에너지 측정 방법으로 SA(T)D(the sum of absolute differences of the transformed residual data)가 사용될 수도 있다.
한편, 움직임 추정을 수행하는 데 있어서, 완전 탐색(full search) 방식 및 고속 탐색(fast search) 방식 등이 사용될 수 있다. 완전 탐색 방식은 윈도우 내의 각 점에서 SAE 등을 계산한다. 우선 윈도우를 중앙의 초기 탐색 위치로부터 나선형 방향으로 바깥쪽으로 이동시키면서 완전 탐색을 수행할 수 있다. 완전 탐색 방식은 최소의 SAE 등을 찾아 낼 수 있지만, 모든 위치에서 에너지를 측정해야하므로 매우 많은 연산량을 필요할 수 있다. 고속 탐색(fast search) 방식은 탐색 윈도우 내의 위치 중 일부에 대해서만 에너지를 측정하는 방식으로서, 3 단계 서치(TSS: Three Step Search, N-step search), 로가리듬 서치(Logarithmic Search), 인접 이웃 서치(Nearest Neighbours Search) 등의 방식이 있다.
이와 같이 S110 단계에서 획득된 움직임 벡터를 이용하여, 전체 예측 오차(E)를 최소화하는 최적 중첩 윈도우 계수(w)를 획득한다(S120 단계). 중첩 윈도우 계수(w)는 시퀀스, 프레임, 슬라이스, 또는 블록에 따라 달라질 수 있다.
그런 다음, 다음 수학식 4 에 나타난 SAD 등을 이용하여, 예측 에러(2)가 문턱값으로 수렴할 때까지, S110 단계 내지 S120 단계를 반복한다(S130 단계).
[수학식 4]
Figure 112009061842431-PCT00007
인코더는 최적 중첩 윈도우 계수(w)를 신택스 엘리먼트에 포함시켜서 비디오 신호 비트스트림을 통해 전송한다(S140 단계).
그러면, 디코더는 비디오 신호 비트스트림을수신하고(S150 단계), 비디오 신호 비트스트림으로부터 중첩 윈도우 계수(w)를 추출한다(S160 단계). 그런 다음, 중첩 윈도우 계수(w)를 이용하여 참조 픽처의 각 참조 영역에 윈도우를 적용하여 다중적으로 중첩시킨다(S170 단계). 다중적으로 중첩시킨 참조 영역으로부터 참조 블록을 획득하고, 획득된 참조 블록을 이용하여, 현재 블록의 예측값(predictor)를 획득하는 움직임 보상을 수행한다(S180 단계).
도 7 은 본 발명의 제 1 실시예에 따른 OBMC 방식이 적용된 예측화면을 나타낸 도면이다. 도 7 의 (a)은 원본 화면이고, (b)는 종래의 움직임 보상(BMC) 방식을 적용하여 획득된 프리딕션이고, (c)는 본 발명의 OBMC 방식이 적용하여 획득된 프리딕션이다. 도 7 의 (c)는 도 7 의 (b)의 경우보다 블록킹 아티팩트가 개선됨을 알 수 있다.
도 8 은 본 발명의 제 2 실시예에 따른 OBMC 방식에 관한 순서를 보여주는 도면이다. 제 1 실시예의 경우와 마찬가지로, S210 단계 내지 S255 단계는 인코더에서, S260 단계 내지 S295 단계는 디코더에서 수행되는 단계이다.
우선 인코더는 움직임 벡터를 획득하기 위해, 움직임 추정을 수행한다(S210 단계). 그런 다음, 종래 움직임 보상 방식(BMC)을 적용하여 현재 슬라이스 또는 현재 블록의 프리딕터를 획득한 후, 레지듀얼을 코딩하는 데 소요되는 비트량을 계산한다(S220 단계). 그리고 중첩 블록 기반의 움직임 보상 방식(OBMC)을 적용하여 현재 슬라이스 또는 현재 블록의 프리딕터를 획득한 후, 레지듀얼을 코딩하는데 소요되는 비트량을 계산한다(S230 단계).
그런 다음, S220 단계의 결과, 및 S230 단계의 결과를 비교하여, OBMC 가 비트량 측면에서 이득인지 여부를 판단한다(S240 단계). 도 9 는 OBMC 방식 및 종래 방식(BMC)에 따른 성능 비교 그래프이다. 도 9 를 참조하면, 대체적으로 OBMC 방식이 코딩 효율에서는 우세하지만, 부분적으로는 BMC 방식이 우세함을 알 수 있다. 예를 들어, 프레임 넘버가 12∼18, 112∼118 인 영역 등에서는 BMC 방식이 효율적임을 알 수 있다. 이와 같이, 부분적으로는 BMC 방식이 유리할 수 있기 때문에, 프레임 별, 슬라이스 별, 블록 별로 어떤 방식이 유리한지를 판단한다.
다시 도 8 을 참조하면, 만약, S240 단계에시의 판단결과, OBMC 가 유리한 경우(S240 단계의 '예'), OBMC 가 적용되었음을 나타내는 식별자를 셋팅한다(S250 단계). 예를 들어 OBMC 적용 플래그 정보를 1 로 셋팅할 수 있다. 반대로 BMC 가 유리한 경우, BMC 가 적용됐음을 나타내는 식별자를 셋팅한다(S255 단계). 예를 들어, OBMC 적용 플래그 정보를 0 으로 셋팅한다. 다음 테이블 1 및 테이블 2 에서는 OBMC 적용 플래그 정보 및 그 의미가 나타나 있다.
[테이블 1] OBMC 적용 플래그 정보의 의미
Figure 112009061842431-PCT00008
[테이블 2] OBMC 적용 플래그 정보의 의미 2
Figure 112009061842431-PCT00009
테이블 1 에 나타난 바와 같이 OBMC 적용 플래그 정보가 현재 슬라이스 또는 현재 프레임에 OBMC 가 적용되었는지 알리는 정보인 경우, OBMC 적용 플래그는 슬라이스 헤더 또는 시퀀스 헤더 등에 포함될 수 있다. 한편, 테이블 2 에 나타난 바와 같이 OBMC 적용 플래그 정보가 현재 블록에 대한 정보인 경우, OBMC 적용 플래 그 정보는 매크로 블록 레이어에 포함될 수 있으나, 본 발명은 이에 한정되지 아니한다.
2. 와핑 변형(warping transform)
도 10 은 본 발명의 다른 실시예에 따른 비디오 신호 인코딩 장치의 개략적인 블록도이다. 도 10 을 참조하면, 변환부(310), 양자화부(315), 코딩 제어부(320), 역양자화부(330), 역변환부(335), 필터링부(340), 프레임 저장부(345), 참조픽처 변환부(350), 움직임 추정부(360), 인트라 예측부(37()), 인터 예측부(375), 및 엔트로피 코딩부(380)를 포함하는데, 참조픽처 변형부(350) 및 움직임 추정부(360)를 제외한 구성요소들은 도 1 과 함께 설명된 인코딩 장치의 구성요소 중 동일 명칭의 구성요소와 각각 거의 유사한 기능을 수행하므로, 이에 대한 구체적인 설명을 생략하고자 한다. 한편, 참조픽처 변형부(350)는 참조 픽처 및 현재 픽처를 이용하여 와핑 정보를 획득하고, 이 와핑 정보에 따라 참조 픽처를 와핑하여 변형된 참조 픽처를 생성한다. 이 와핑정보는 움직임 추정부(360)를 통해 엔트로핑 코딩부(380)로 전달되어 비트스트림에 포함된다. 와핑 정보의 개념 및 종류에 대해서는 추후 도 12 내지 도 17 를 참조하면서 후술하고, 와핑 정보의 획득 방법 및 와핑된 참조 픽처 획득 방법에 대해서는 도 18 내지 도 24 과 함께 후술하고자 한다.
움직임 추정부(360)는 와핑된 참조 픽처 및/또는 원본 참조 픽처를 이용하여 현재 블록의 움직임을 추정한다. 1) 와핑된 참조 픽처 아니면 원본 참조 픽처를 이용할지 등에 대한 셋팅 과정에 대해서는 도 25 를 참조하면서, 2) 와핑 정보를 이 용해서 현재 움직임 벡터를 예측하는 방법에 대해서는 도 26 을 참조하면서, 3) 와핑 정보를 효율적으로 전송하는 방법에 대해서는 도 28 내지 도 30 을 참조하면서, 4) 와핑 정보를 전송하는 대신에, 움직임 벡터 등의 전송을 스킵할 지 등에 대해서 후술하고자 한다.
도 11 은 본 발명의 다른 실시예에 따른 비디오 신호 디코딩 장치의 개략적인 블록도이다. 도 11 을 참조하면, 엔트로피 디코딩부(410), 역양자화부(420), 역변환부(425), 필터링부(430), 프레임 저장부(440), 참조픽처 변환부(450), 인터 예측부(460), 및 인트라 예측부(470)를 포함한다. 역시, 참조픽처 변환부(450) 및 인터 예측부(460)를 제외한 구성요소는, 도 2 와 함께 설명된 본 발명의 일 실시예에 따른 비디오 신호 디코딩 장치의 동일 명칭의 구성요소 각각과 동일한 기능을 수행하므로, 이에 대한 설명을 생략하고자 한다.
참조픽처 변환부(450)는 비디오 신호 비트스트림으로부터 추출된 와핑 정보를 이용하여, 프레임 저장부(440)에 저장되어 있는 참조픽처를 와핑 변형한다. 이에 대한 구체적인 설명은 도 31 과 함께 후술하고자 한다. 한편, 인터 예측부(460)는 와핑 정보를 이용하여 움직임 벡터의 프리딕션을 생성하고, 이 움직임 벡터의 프리딕션 및 움직임 벡터의 레지듀얼을 이용하여 움직임 벡터를 획득한다. 이에 대한 구체적인 설명 또한 후술하고자 한다.
이하에서는, 와핑 정보의 개념 및 인코더에서의 와핑 정보의 획득 과정에 대해서 설명하고, 와핑 정보의 전송에 관해서 설명한 후, 디코더에서 와핑 정보를 이용하는 방법에 대해서 차례대로 설명하고자 한다.
2.1 와핑 정보 획득(인코더에서)
도 12 는 확대된 경우의 참조 픽처와 현재 픽처의 일 예이고, 도 13 은 도 12 의 예에서 특정 객체에 해당하는 블록을 나타낸 도면이다. 도 12 를 참조하면, (a)에 참조 픽처가 (b)에 현재 픽처가 나타나있고, 현재 픽처 및 참조 픽처와 비교할 때, 현재 픽처에서의 배경(기둥) 및 객체(기차)가 확대된 경우이다. 도 13 을 참조하면, 참조 픽처(a)에서의 객체(기차)와 현재 픽처(b)에서의 객체를 비교할 수 있다. 이와 같이 확대된 경우, 현재 블록(Bc)와 동일한 크기인 참조 블록을 탐색할 경우, 가장 유사한 참조 블록을 찾는데 실패하거나, 현재 블록과 참조 블록과의 차분인 레지듀얼이 커지게 되어, 코딩 효율이 떨어질 수 있다.
도 14 는 회전된 경우의 참조 픽처와 현재 픽처의 일 예이고, 도 15 는 도 14 의 예에서 특정 배경에 해당하는 블록을 나타낸 도면이다. 도 14 의 (a)는 참조 픽처이고, (b)는 현재 픽처가 나타나 있고, 현재 픽처는 참조 픽처를 시계방향으로 회전시킨 경우이다. 도 15 를 참조하면, 참조 픽처에서의 특정 배경(바위 표면) 및 현재 픽처에서의 특정 배경을 비교할 수 있다. 움직임 추정을 위해 에너지를 측정하는 데 있어서, 참조 블록 및 현재 블록 내에서 각각 동일 위치의 화소간의 에러를 산출한다. 따라서 이러한 경우 확대된 경우와 마찬가지로, 가장 유사한 참조 블록을 찾지 못하거나, 레지듀얼의 코딩 효율이 매우 낮아질 수 있다.
(1) 와핑 정보의 종류
이와 같이 참조 픽처가 확대/축소되거나 회전된 경우, 참조 픽처를 전체적으로 현재 픽처와 유사하게 확대/축소 또는 회전시키기 위한 와핑 정보를 이용할 수 있다. 와핑 정보(warping information)에는 어파인 변형 정보(affine transformation information) 및 사영 변환 정보(projective transformation in-formation) 등이 존재할 수 있다.
우선, 도 16 은 어파인 변형 정보(affine transformation information)의 개념을 설명하기 위한 도면이다. 도 16 을 참조하면, 참조 픽처(a)에 3개의 점들((u0,v0), ..., (u2,v2))이 존재하고, 이 점들에 각각 대응되는 3 개의 점들((x0,y0), ..., (x2,y2))이 현재 픽처(b)에 존재함을 알 수 있다. 참조 픽처 및 현재 픽처 각각 3 개의 제어 포인트들(총 6 개 제어 포인트(control point))를 이용하여 다음 수학식과 같이 어파인 변형 정보가 정의될 수 있다.
[수학식 5]
Figure 112009061842431-PCT00010
여기서, aij 는 어파인 변형 정보의 엘리먼트, (um, ym)은 참조 픽처상의 점의 위치, (xn, yn)는현재 픽처 상의 점의 위치.
도 17 은 호모그래피 매트릭스 정보(homography matrix information)의 개념을 설명하기 위한 도면이다. 호모그래피 매트리스 정보는 앞서 언급한 사영 변환 정보(projective transform information)의 일종일 수 있다. 도 17 을 참조하면, 참조픽처(a)에서 5 개의 점들((u0,v0), (u4, v4))이 현재 픽처(b)에서의 5 개의 점들((x0,y0), ... (x4, y4))에 각각 대응되는 것을 알 수 있다. 한편 일반적으로 호모그래피 매트릭스 정보는 다음 수학식과 같이 정의될 수 있다.
[수학식 6]
Figure 112009061842431-PCT00011
여기서, x'는 세계 좌표계에서의 점,
x 는 각 뷰의 로컬 좌표계에서의 점,
H 는 호모지니어스 매트릭스.
[수학식 7]
Figure 112009061842431-PCT00012
만약, 도 17 에 도시된 바와 같이 5 개의 점을 대입하는 경우, 호모그래피 매트릭스 정보는 다음 수학식과 같이 산출될 수 있다. 여기서 각 점은 어떤 물리적인 의의를 갖는지, 어떻게 추출되는지에 대해서는 와핑 정보의 획득과정에서 설명될 것이다.
[수학식 8]
Figure 112009061842431-PCT00013
(2) 와핑 정보 및 와핑된 참조픽처의 획득과정
도 18 은 와핑 정보 획득 및 와핑된 참조 픽처 획득 과정에 대한 순서를 나타내는 도면이다. 한편, 이하에서는 와핑 정보가 호모그래피 매트릭스 정보인 경우, 호모그래피 매트릭스 정보를 획득하고, 호모그래피 매트릭스 정보를 이용하여 와핑 변형된 참조픽처를 생성하는 과정에 대해서 도 19 내지 도 24 까지 참조하면서 설명하고자 한다. 도 19 는 참조 픽처 및 현재 픽처의 일 예이다. 도 19 를 참조하면, 참조 픽처(a)에는 배경으로서 벽지가 있고, 객체로서 달력, 공, 기차 등이 있음을 알 수 있다. 도 19 의 (b)를 참조하면, 현재 픽처는 참조 픽처(a)에 비해서 달력은 작아지고 공은 오른쪽으로 이동하고, 기차는 다가와있음을 알 수 있다. 이하에서는 도 19 에 도시된 예를 이용하여, S310 단계 내지 S360 단계를 설명하고자 한다.
우선, 코너 검출 방법을 이용하여 코너(특징)을 찾는다(S310 단계). 도 20 는 도 18 에 도시된 단계들 중 S310 단계(코너(특징) 찾기 단계)를 설명하기 위한 도면이다. 도 20 을 참조하면, 픽처 상의 다양한 코너가 검출되어 있음을 알 수 있다. 코너는 다음 픽처로부터 추적되기에 좋은 점을 의미한다. 여기서 코너 검출 방법은 예를 들어, KLT(Kanade-Lucas_Tomasi feature tracker) 방식이 사용될 수 있지만 본 발명은 이에 한정되지 아니한다. 그런 다음, S310 단계에서 특징 추적 알고리즘(예: KLT 방식)을 이용하여 검출된 코너에 대해 추적을 수행한다(S320 단계). 도 21 는 도 18 에 도시된 단계들 중 S320 단계(코너 추적 단계)를 설명하기 위한 도면이다. 도 21 을 참조하면, 현재 픽처(b)에서 코너들이 탐색된 이후, 현재 픽처(b)의 코너에 대응하는 코너들이 참조 픽처(a) 상에서 어디에 존재하는지를 추적하는 것을 알 수 있다.
그런 다음, 모션 세그멘테이션 방법을 이용하여 코너들을 그룹핑한다(S330 단계). 서로 다른 모션(motion), 로테이션(rotation), 주밍(zooming) 특징을 갖는 여러 영역들이 존재할 수 있는데, 동일한 특성을 갖는 코너들끼리 그룹핑되면, 효율적인 와핑 변형을 할 수 있다. 코너 그룹핑을 통해, 각 코더의 모션 또는 어파인 관계가 고려된다. 도 22 는 도 18 에 도시된 단계들 중 S330 단계(코너 그룹핑 단계)를 설명하기 위한 도면이다. 도 22 를 참조하면, 벽지상에 존재하는 코너들이 그룹 A 로 그룹핑되고, 달력위에 있는 코너들이 그룹 B 로, 공위의 코너들은 그룹 C 로, 기차위의 코너들은 그룹 D 로 그룹핑되었음을 알 수 있다. 그런 다음, 아웃라이어(outlier) 알고리즘 등을 이용하여 S330 단계에서 그룹핑된 코너들 중에서 일부 코너를 제거한다(S340 단계). 여기서 아웃라이어는 어떤 수의 집합에 대한 것으로서, 다른 값들보다 현저히 작거나 큰 값을 의미한다. 예를 들어, {3,5,4,4,6,2,25,5,6,2} 중에서는 25 가 아웃라이어이다. 한편, 아웃라이어를 제거하는 방법으로서, RANSAC(RAHdom SAmple Cunsensus) 알고리즘이 이용될 수 있다. RANSAC 알고리즘은 호모그래피 매트릭스를 표현하는데 가장 적합한 코너들 이외의 코너들을 삭제하는 알고리즘으로서, 가장 적합한 4 개의 대응 쌍(correspondins pairs)들을 이용하여 가장 적합한 호모그래피 매트릭스 정보를 생성할 수 있다. 도 23 는 도 18 에 도시된 단계들 중 S340 단계(아웃라이어 삭제 단계)를 설명하기 위한 도면이다. 도 23 을 참조하면, 그룹 A 에 속하는 코너들 중에 4 개의 코너가 삭제되고, 그룹 B 에 속하는 코너들 중에서 4 개의 코너가 아웃라이어로서 제거되었음을 알 수 있다. 이와 같이 어떤 그룹에 속하는 다수의 코너들 중에서 4 개를 초과하는 코너를 삭제할 수 있다. 앞서 설명한 바와 같이, RAHSAC 알고리즘을 이용하여 아웃라이어를 제거할 수도 있지만, 이미 그룹핑 과정에서 아웃라이어가 필터링된 경우, RANSAC 알고리즘을 생략할 수 있다.
그런 다음, 각 그룹에 해당하는 코너들 중에서 S340 단계에서 삭제되지 않고 남겨진 코너들의 위치를 이용하여, 각 그룹별 호모그래피 매트릭스 정보를 결정한다(S350 단계). 호모그래피 매트릭스 정보는 앞서 수학식 8 에서 정의된 식에 코너들의 위치를 각각 대입함으로서 산출할 수 있다. 호모그래피 매트릭스 정보는 두 픽처간의 특징들의 관계로서, 제 1 픽처에서의 하나의 점은 제 2 픽처에서의 하나의 점에 대응하고, 반대로 제 2 픽처에서의 하나의 점은 제 1 픽처에서의 하나의 점에 대응한다. 다음으로, S350 단계에서 획득된 호모그래피 매트릭스 정보를 이용하여, 와핑된 참조 픽처를 생성한다(S360 단계). 도 24 는 도 18 에 도시된 단계들 중 S360 단계(참조 픽처 생성 단계)를 설명하기 위한 도면이다. 도 24 를 참조하면, 우선 원본 참조 픽처(a)에 그룹별 호모그래피 매트릭스 정보(HA, HB, HC, HD, ...)가 각각 적용된 이미지들이 (b)에 도시되어 있다. 한편, 도 24의 (c)에는 호모그래피 맵이 도시되어 있는데, 이 호모그래피 맵(homography map)을 획득하기 위해, 호모그래피 매트릭스 정보가 적용된 임의의 이미지(image X), 및 현재 픽처간의 차이(difference)를 계산할 수 있다. 도 24 의 (b)에 도시된 이미지들은 (c)에 도시된 호모그래피 맵에 따라서 잘라붙여질 수 있는 데, 이 호모그래피 맵은 픽셀, 블록, 매크로블록 등의 단위로 구성될 수 있으나, 호모그래피 맵의 정보량과 정확도는 서로 반비례하는 관계이므로, 호모그래피 맵의 단위는 필요에 따라 적절하게 선택될 수 있다. 이와 같이 도 24 의 (c)의 호모그래피 맵을 이용하여 (d)에 도시된 바와 같은 레퍼런스 픽처가 생성될 수 있다. 물론, 호모그래퍼 맵에 따라 잘라붙이지 않고, 도 24 의 (b)에 도시된 이미지를 각각 사용할 수도 있다.
(3) 와핑 정보를 이용한 참조 픽처 획득
앞서, 와핑의 개념, 와핑 정보의 종류 및, 와핑 정보의 획득과정에 대하여 상술된 바, 이하에서는 참조 픽처를 획득하는 데 있어서 와핑 변형을 적용할 것인지에 대해서 설명하고자 한다.
도 25 는 와핑 적용 결정 과정에 대한 순서도이다. 도 25 의 S410 단계 내지 S495 단계는 현재 픽처(또는 현재 슬라이스)가 B 픽처 또는 P 픽처(B 슬라이스 또는 P 슬라이스)인 경우 수행될 수 있다. 한편, S410 단계 내지 S495 단계는 도 10 과 함께 설명된 인터 예측부(370) 또는 움직임 추정부(360)에 의해 수행될 수 있지만, 본 발명은 이에 한정되지 아니한다.
우선 와핑 적용 변수(useWarp), 비트수변수(tempOrgCost), 와핑 비트수변수(tempWarpCost)를 0 으로 셋팅한다(S410 단계). 그런 다음, 참조 픽처 리스트를 생성한다(S420 단계). 와핑 적용 변수(useWarp)가 0 인 경우(S430 단계), 픽처 전체에 대해 움직임 추정 및 보상을 수행한다(S440 단계). 그런 다음, 현재 픽처(또는 현재 슬라이스)의 코딩에 필요한 비트수(RD COST)를 계산한 후, 이를 비트수변수(tempOrgCost)에 저장하고, 와핑 적용 변수(useWarp)는 1 로 셋팅한 후 S430 단계로 이동한다(S450 단계).
S430 단계에서 와핑 적용 변수(useWarp)가 1 인 경우(S430 단계의 '예'), 원본 참조 픽처는 임시 메모리에 저장되고, 와핑 정보를 이용하여 모든 참조 픽처를 와핑 변형한다(S460 단계). 이때, 앞서 설명된 바와 같이 6 개의 점을 이용하여 어파인 변형 정보를 생성하고, 어파인 변형 정보를 이용하여 모든 참조픽처를 어파인 변형시킬 수 있으나, 본 발명은 이에 한정되지 아니한다. 그런 다음, 와핑 변형된 참조픽처를 이용하여 현재 픽처(또는 현재 슬라이스)의 코딩에 필요한 비트수(RD COST)를 계산한 후, 이를 와핑 비트수변수(tempWarpCost)에 저장한다(S470 단계).
만약, S470 단계에서 와핑 비트수변수(tempWarpCost)에 저장된 값이 S450 단계에서 비트수변수(tempOrgCost)에 저장된 값보다 작은 경우(S480 단계의 '예'), 와핑 정보를 저장하고, 와핑 변형이 사용되었는지 여부를 나타내는 와핑 적용 플래그 정보(use_warp_flag)를 1 로 셋팅한다(S490 단계). 반대의 경우(S480 단계의 ' 아니오')는, 와핑 적용 플래그 정보(use_warp_flag)를 0 으로 셋팅한다(S495 단계). 그런 다음 참조 픽처를 원래 와핑 변형되기 전의 원본으로 복원한다.
(4) 와핑 정보를 이용한 움직임 벡터 예측
앞서 설명된 방법으로 생성된 와핑 정보를 이용하여 움직임 벡터를 예측할 수도 있다. 도 26 은 움직임 벡터 예측에 관한 개념을 설명하기 위한 도면이다. 도 26 의 (a)를 참조하면, 현재 블록의 이웃에 좌측 블록(A), 상단 블록(B), 상단 우측 블록(C)이 존재하는 바, 이러한 이웃 블록들의 움직임 벡터들을 이용하여 현재 블록의 움직임 벡터의 예측값(motion vector predictor)를 생성할 수 있다. 현재 블록의 움직임 벡터 예측값은 이웃 블록들의 움직임 벡터들의 중앙값이 될 수 있다. 이 경우, 현재 블록의 움직임 벡터는 이웃블록의 모션 정보에 절대적으로 종속된다. 따라서, 도 26 의 (b)에 도시된 바와 같이, 이웃 블록들의 움직임 벡터와 현재 블록의 움직임 벡터가 거의 유사한 경우에는, 현재 블록의 움직임 벡터와 유사한 예측값을 획득할 수 있다. 반면, 도 26 의 (c)에 도시된 바와 같이, 현재 블록의 움직임 벡터와 이웃 블록들의 움직임 벡터가 전혀 유사하지 않고 방향까지 다른 경우에는, 이웃 블록으로부터 적절한 예측값을 획득하기 어렵게 되고, 움직임 벡터 차분(motion vector difference)를 코딩하는데 많은 비트수가 소요된다.
한편, 와핑 정보를 이용하여 움직임 벡터를 예측할 수 있는 데, 여기서 와핑 정보는 앞서 도 18 과 함께 설명된 S350 단계에서 생성된 호모그래피 매트릭스 정보일 수 있다.
도 27 은 와핑 정보를 이용한 움직임 벡터 예측을 설명하기 위한 도면이다. 도 27 을 참조하면, 현재 픽처(b)에 속하는 모든 픽셀은 호모그래피 매트릭스 정보(H)를 통해 원본 참조 픽처(a)에 속하는 픽셀에 매핑이 가능하다. 예를 들어, 현재 블록의 좌측 상단 지점, 우측 상단 지점, 좌측 하단 지점, 우측 하단 지점은 각각 원본 참조 픽처(a)에 속하는 4 개의 픽셀과 연결된다.
따라서, 다음 수학식 9 와 같이, 2차원 평면 상의 점인 현재 픽처상의 점(u,v)은 원본 참조 픽처상의 점(x,y)로 변환될 수 있다. 픽셀 단위로 일대일 매핑이 가능한 것이다.
[수학식 9]
Figure 112009061842431-PCT00014
여기서, hij 은 호모그래피 매트릭스 계수, U(u,v)은 현재 픽처상의 점, X(x,y) 원본 참조 픽처 상의 점.
첫째로, 도 27 의 (c) 및 (d)를 참조하면, 현재 블록(d)의 좌측 상단 지점(upper left point)의 위치(U(u,v))과 이에 매핑되는 참조 픽처(c)의 점(X(x,y))이 존재함을 알 수 있다. 이 두 지점을 이용하여, 현재 블록의 움직임 벡터를 예측할 수 있다. 구체적으로, 현재 픽처의 좌측 상단 지점 X, 및 이 지점에 매핑되는 원본 참조 픽처 상의 픽셀 Y 의 차이를 움직임 벡터 프리딕터(mvp)로 이용할 수 있다. 이는 다음 수학식으로 정의될 수 있다.
[수학식 10]
Figure 112009061842431-PCT00015
mvp: 움직임 벡터 프리딕터, X 는 원본 참조 픽처 상의 펠, U 는 현재 픽처 상의 펠
둘째로, 도 27 의 (e) 및 (f)를 참조하면, 현재 블록(f)의 좌측 상단 지점(U1), 우측 상단 지점(U2), 좌측 하단 지점(U3), 및 우측 하단 지점(U4)과, 이에 각각 매핑되는 참조 픽처(e) 상의 점들 X1, X2, X3, X4 이 존재함을 알 수 있다. 이 8 개의 지점을 이용하여 현재 블록의 움직임 벡터의 예측할 수 있다. 구체적으로, 다음 수학식과 같이 각 매핑되는 점들간의 차이를 평균하여 움직임 벡터 예측값(mvp)을 획득할 수 있다.
[수학식 11]
Figure 112009061842431-PCT00016
여기서, U1, U2, U3, U4 는 현재 픽처 상의 점들, X1, X2, X3, X4 는 원본 참조 픽처상의 점들
셋째로, 다음 수학식과 같이 총 4 개의 쌍 중에서 3 개 쌍의 차이값의 중앙값을 움직임 벡터 예측값(mvp)으로 결정할 수 있다.
[수학식 12]
Figure 112009061842431-PCT00017
여기서, U1, U2, U3, U4 는 현재 픽처 상의 점들, X1, X2, X3, X4 는 원본 참조 픽처상의 점들
넷째, 원본 참조 픽처가 아닌 와핑 변형된 참조 픽처인 경우, 참조 픽처에 이미 호모그래피 매트릭스 성분이 반영된 것이므로, 현재 픽처 상의 점들과 와핑된 참조 픽처상의 점들의 차이가 0 이 된다. 따라서, 와핑 변형된 참조 픽처의 경우, 다음 수학식과 같이 움직임 벡터 예측값(mvp)는 0 이 된다. 이 경우, 움직임 벡터 차분값(mvd) 즉 현재 블록의 움직임 벡터(mv)가 된다.
[수학식 13]
Figure 112009061842431-PCT00018
mvp: 움직임 벡터 프리딕터, 와핑된 참조 픽처의 경우
상기와 같은 방법으로 움직임 벡터 예측값(mvp)을 획득한 경우, 움직임 벡터 차분값(mvd)는 다음 수학식과 같이 각각 정의된다.
[수학식 14]
Figure 112009061842431-PCT00019
상기 수학식 14 과 같이 와핑 정보를 이용하여 산출된 움직임 벡터 차분값과, 도 26 과 함께 설명된 바와 같이 이웃블록의 움직임벡터를 이용하여 산출된 움직임 벡터 차분값이 존재할 수 있다. 이 두 차분값들을 서로 비교한 후, 비트수가 적게 소요되는 방식을 블록 단위로 선택할 수 있다. 어떤 방식으로 예측되었는지를 나타내는 예측 방식 플래그 정보(use_warp_mvp_flag)를 다음 테이블과 같이 블록 단위로 셋팅할 수 있다.
[테이블 3] 예측 방식 플래그 정보
Figure 112009061842431-PCT00020
한편, 와핑 정보를 이용하는 경우, 1) 왼쪽 상단 지점을 이용하였는지, 2) 4 지점의 평균값을 이용하였는지, 3) 4 지점의 중앙값을 이용하였는지에 대해서도 세 부적으로 다음 테이블과 같이 셋팅할 수 있다.
[테이블 4] 예측 방식 플래그 정보
Figure 112009061842431-PCT00021
상기와 같이 인코더에서는 현재 픽처 및 참조 픽처를 이용하여 와핑정보를 획득하고, 와핑 정보를 참조 픽처에 적용하여 와핑 변형할 것인지, 와핑 정보를 이용하여 움직임 벡터를 예측할 지 등을 결정한 후, 이에 대한 정보를 비트스트림을 통해 전송할 수 있다.
2.2 와핑 정보의 전송
(1) 와핑 정보에 관한 신택스
이하에서는, 와핑 정보 및 와핑 적용 플래그 정보(use_warp_flag) 등의 비트스트림을 통해 전송 방법에 대해서 설명하기로 한다.
우선, 다음 테이블과 같이 시퀀스 파라미터 셋(seq_paramter_set_rbsp)을 통해 현재 시퀀스에 와핑정보가 존재하는 슬라이스가 1 개 이상 존재하는지 여부에 대한 정보인, 와핑 스퀀스 플래그 정보(use_warp_seq_flag)를 전송할 수 있다.
[테이블 5] 와핑 스퀀스 플래그 정보의 전송 방법의 일 예.
Figure 112009061842431-PCT00022
와핑 스퀀스 플래그 정보의 의미는 다음 테이블과 같다. 즉, 와핑 스퀀스 플래그 정보가 0 인 경우, 각 슬라이스에 와핑 정보가 존재하는지 여부를 나타내는 와핑 적용 플래그 정보(use_warp_flag)를 추출할 필요가 없다.
[테이블 6] 와핑 시퀀스 플래그 정보의 의미
Figure 112009061842431-PCT00023
한편, 슬라이스 레이어에서 와핑 적용 플래그 정보(use_warp_flag) 및 와핑 정보(warping_parafnter_amn_10[i])를 전송하는 방법의 일 예가 다음 테이블에 나타나 있다.
[테이블 7] 와핑 적용 플래그 정보 및, 와핑 정보의 전송 방법의 일 예.
Figure 112009061842431-PCT00024
상기 테이블의 오른쪽 컬럼에 (B)라고 표시된 행을 살펴보면, 와핑 적용 플래그 정보(use_warp_flag)는 와핑 시퀀스 플래그 정보(use_warp_seq_flag)가 1 이고, 현재 플라이스가 B 또는 P 슬라이스인 경우에 한해서 포함됨을 알 수 있다. 와핑 적용 플래그 정보의 의미는 다음 테이블에 나타나 있다.
[테이블 8] 와핑 적용 플래그 정보의 의미
Figure 112009061842431-PCT00025
한편, 상기 테이블 7 의 오른쪽 컬럼에 (Cl) 내지 (Ck)라고 표시된 행을 참조하면, 와핑 적용 플래그 정보(use_warp_flag)가 1 인 경우에 한해, 와핑 정보(warping_paramter_amn_10[i])가 포함됨을 알 수 있다. 와핑 정보의 개수(k)는, 와핑 정보가 어파인 변형 정보일 경우, 6 개가 될 수 있고, 호모그래피 매트릭스 정보일 경우, 8 개가 될 수 있지만, 본 발명은 이에 한정되지 아니 한다.
(2) 와핑 정보의 비트수 절약 방법
와핑 정보가 호모그래피 매트릭스 정보일 수 있는데, 호모그래피 매트릭스 정보의 일 예가 다음 수학식 15 에 도시되어 있다.
[수학식 15]
Figure 112009061842431-PCT00026
상기 수학식 15 를 참조하면, 첫번째 행의 첫번째 열의 성분 및 두번째 열의 성분은 1 보다 작은 값인데 비해, 세번째 열의 성분은 180 이 넘는 값임을 알 수 있다. 따라서, 이와 같은 와핑 정보의 각 계수들을 전송하는데에는 많은 비트수가 소요된다. 비트수를 줄이기 위해서 계수들을 양자화하게되면, 와핑 정보의 정확성이 현저히 줄어줄 수 있다. 따라서, 정확성을 유지하면서도 와핑 정보의 코딩 효율을 높일 수 있는 방법이 필요하다.
첫째로, 호모그래피 매트릭스의 계수들을 코딩하는 대신에 대응 쌍(corresponding pairs)의 위치정보를 코딩할 수 있다. 도 28 은 와핑 정보의 코딩 효율을 높이기 위한 제 1 방법을 설명하기 위한 도면이다. 도 28 을 참조하면, 호모그래피 매트릭스 정보를 생성하기 위하여 필요한 대응 쌍이 표시되어 있다. 대응 쌍은 도 21 과 함께 설명된 대응 점들과 동일한 개념일 수 있다. 이와 같이 인코더는 호모그래피 매트릭스 정보를 전송하는 대신에 대응 쌍의 위치 정보만을 전송할 수 있는데, 대응 쌍 중 현재 픽처상의 점의 위치는 정수 단위, 참조 픽처상의 점의 위치는 소수 단위이므로, 호모그래피 매트릭스 계수보다 훨씬 단순한 값이 될 수 있다. 디코더는 이 대응 쌍의 위치 정보를 이용하여 호모그래피 매트릭스 정보를 생성할 수 있다. 이와 같이 대응 쌍의 위치정보를 전송하는 경우, 매트릭스 정확성을 떨어뜨리지 않으면서도 코딩 효율이 현저히 높아질 수 있다.
둘째로, 대응 쌍의 위치정보를 전송하는 데 있어서, 위치정보를 그대로 전송하지 않고, 차분값(difference value)을 전송할 수 있다. 도 29 는 와핑 정보의 코딩 효율을 높이기 위한 제 2 방법을 설명하기 위한 도면이다. 도 29 를 참조하면, 참조 픽처(a)에 A, B, C, D 가 존재하고, 현재 픽처(b)에 A', B', C', D'가 존재함 을 알 수 있다. 여기서 A 와 A'는 대응 쌍이고, 역시 B 와 B' 또한 대응 쌍이다. 일반적으로, 대응 쌍의 각각의 위치정보는 유사한 값을 갖기 때문에, (A, A')를 코딩하는 대신에, (A, A-A') 또는 (A, A'-A) 등을 코딩하면 코딩 효율이 증가할 수 있다. 이때 디코더는 (A, A-A')를 수신하여 (A, A')를 획득할 수 있다.
셋째로, 대응 쌍의 위치정보를 정규화된 값을 전송할 수 있다. 도 30 은 와핑 정보의 코딩 효율을 높이기 위한 제 3 방법을 설명하기 위한 도면이다. 도 30 을 참조하면, 현재 픽처(a)에는 A, B, C, D 를 포함하는 코너들이 존재하고, 참조 픽처(b)에는 이에 대응하는 A', B', C', D'를 포함하는 코너들이 존재한다. 이 코너들은 모션 세그멘테이션을 통해 그룹핑된 것들일 수 있다. 한편, 현재 픽처(a)에서 하나의 그룹에 속하는 코너들의 중앙 위치(X, Y)를 산출할 수 있는데, 코너들의 위치들을 평균값과 동일할 수 있다. 중앙(X, Y)과 각 코너들 A, B, C, D 간의 거리를 고려하기 위해서, 스케일 팩터 S가 산출될 수 있다. 이와 같은 방법으로, 참조 픽처(b)에서도 중앙(X',Y') 및 스케일 픽터 S'가 계산될 수 있다.
4 개의 점 A, B, C, D 의 위치를 각각(X-k, Y-k), (X+k, Y-k), (X-k, Y+k), (X+k, Y+k)으로 셋팅할 수 있는데, 여기서 k 이 작은 정수값이다. 또한, 이미 생성된 호모그래피 매트릭스 정보(H)를 이용하여, 와핑된 포지션 A', B', C', D'를 계산할 수 있다. 그런 다음, 스케일 팩터 S, S', 및 중앙 위치 (X, Y), (X', Y'), 및 네 개의 특징 위치 A', B', C', D'만을 전송한다. 한편, 비트수를 더 줄이기 위해서 4 개의 특징 위치 A', B', C', D'는 A-A', B-B', C-C', D-D'로 대체될 수 있다.
한편, 위와 같이 스케일 팩터와 중앙 위치를 이용하여 정규화하는 경우에도, 비트수에 있어서 비효율적일 수 있다. 이런 경우, 상기와 같은 정규화 방법을 적용하지 않고, 스케일 팩터 및 중앙 위치를 전송하지 않는 것이 비트수 절약에 유리할 수 있다.
(3) 와핑 정보를 이용한 와핑 스킵 모드
현재 블록은 와핑된 참조 픽처를 참조하고, 현재 블록의 이웃 블록들은 와핑되지 않는 원본 참조 픽처를 참조하는 경우, 이웃 블록들의 움직임벡터들로부터 예측된 현재 블록은 움직임 벡터 예측값은 유사도가 떨어질 수 있다.
한편, 수학식 13 과 함께 설명한 바와 같이, 현재 블록이 와핑된 참조 픽처를 참조하는 경우, 와핑 정보를 이용한 움직임 벡터 예측값(mvp)은 0 이 되고, 현재 블록의 움직임 벡터과의 차분값(mvd)도 거의 0 이 될 수 있다. 이러한 경우, 움직임 벡터 차분값(mvd)까지도 0 에 가까울 수 있으므로, 움직임 벡터 차분(mvd)에 대한 전송을 스킵할 수 있다. 또한, 이러한 경우, 현재 픽치와 와핑된 참조 픽처는 유사도가 매우 높을 수 있으므로, 현재 픽처와 와핑된 참조 픽처간의 차분인 레지듀얼까지도 전송하지 않을 수 있다. 이와 같이 움직인 벡터 차분값 및 레지듀얼의 전송을 생략하는 경우, 이 사실을 나타내는 와핑 스킵 모드 플래그 정보(warp_skip_flag)를 1 로 셋팅할 수 있다. 다음은 와펑 스킵 모드에 대한 신택스를 나타낸 테이블이다.
[테이블 9] 와핑 스킵 모드에 관한 신택스
Figure 112009061842431-PCT00027
상기 테이블에서 오른쪽 컬럼에 (E)로 표시된 행을 살펴보면, 와핑 스킵 모드 폴래그 정보(warping_skip_flag)가 포함됨을 알 수 있다. 이 플래그 정보의 의미는 다음과 같이 정의될 수 있다.
[테이블 10] 와핑 스킵 모드 플래그 정보의 의미
Figure 112009061842431-PCT00028
상기 테이블 9 에서 오른쪽 컬럼에 (F1)로 표시된 행을 참조하면, 와핑 스킵 모드플래그 정보가 0 인 경우에 한해, 모션 정보 및 레지듀얼 정보가 포함되어 있음을 알 수 있다. 한편, 와핑 스킵 모드 플래그 정보가 1 인 경우, P 또는 SP 슬라이스를 디코딩하는 경우, 현재 블록의 매크로 블록 타입은 P_Warping_Skip 이 되고, 매크로 블록 타입은 P 매크로블록으로서 전체적으로 참조된다. 또한 B 슬라이 스를 디코딩하는 경우, 매크로 블록 타입은 B_Warping_Skip 이 되고, 매크로 블록 타입은 B 매크로 블록 타입으로서 전체적으로 참조된다.
와핑 스킵 모드의 경우, 디코딩에서 수행되는 과정에 대해서는 추후 "2.3 와핑 정보의 이용" 절에서 설명하고자 한다.
2.3 와핑 정보의 이용(디코더에서)
(1) 와핑 정보를 이용한 참조 픽처 획득
디코더는 전송된 와핑 정보를 이용하여 참조 픽처를 와핑 변형할 수 있다. 구체적으로, 현재 슬라이스(또는 현재 블록)에 와핑 정보가 존재하는 경우(예: 와핑 적용 플래그 정보(use_warp_flag)가 1 인 경우), 현재 슬라이스(또는 현재 블록)의 와핑 정보를 추출하여, 이 와핑 정보를 이용하여 참조 픽처를 와핑 변형할 수 있다. 예를 들어 수학식 8 과 같은 호모그래피 매트릭스 정보(H)를 수신한 경우, 이를 이용하면, 참조픽처의 각 화소(x)는 와핑된 참조픽처의 각 화소(x')로 변환될 수 있다. 이와 같이 와핑된 참조픽처는 앞서 도 24 의 (d)와 같은 픽처가 된다. 이와 같이 와핑된 참조 픽처는 현재 픽처(의 현재 블록)의 예측값을 생성하기 위해 참조될 수 있다.
도 31 은 현재 픽처의 참조 관계를 나타낸 도면이다. 도 31 을 참조하면, 제 1 의 경우(Case 1)의 현재 프레임(또는 픽처)(a)는 와핑된 참조 픽처(b)만을 참조하고, 원본 참조 픽처(a)를 참조하지 않음을 알 수 있다. 이 경우, 원본 참조 픽처(a)는 와핑된 참조 픽처(b)에 의해 대체되기 때문에, 디코딩된 픽처 버퍼(decoded picture buffer)에 저장해야할 픽처의 용량(size)이 증가되지 않는다. 한편 제 2 경우(Case 2)는, 와핑된 참조 픽처(b) 뿐만 아니라 원본 참조 픽처(a)까지 동시에 참조함을 알 수 있다. 이 경우, 기존의 참조 픽처 리스트에 와핑된 참조 픽처(b)가 추가되므로, 기존의 참조 픽처에는 포함되지 않는 부가적인 정보가 제공되는 이점이 있다.
(2) 와핑 정보를 이용한 움직임 벡터 예측
만약, 움직임 벡터가 와핑 정보를 이용하여 예측된 경우, (예컨대, 도 27 과 함께 상술된 바와 같이, 예측 방식 플래그 정보(use_warp_mvp_flag)가 0 이 아닌 경우), 디코더에서는 이웃 블록의 움직임 벡터가 아닌 와핑 정보를 이용하여, 현재 픽처의 특정 지점(U)이 참조 픽처상의 어떤 지점(X)에 대응하는지를 찾는다. 그런 다음 양 지점(X, U)을 이용하여 현재 블록의 움직임 벡터 예측값(mvp)를 획득한다. 그런 다음, 비트스트림을 통해 수신된 움직임 벡터 차분값(mvd)를 예측값(mvp)에 더하여, 현재 블록의 움직임 벡터(mv)를 획득한다.
(3) 와핑정보를 이용한 와핑 스킵 모드
앞서 설명한 바와 같이 현재 블록이 와핑 스킵 모드에 해당하는 경우(예를 들어, 와핑 스킵 모드 플래그 정보(warping_skip_flag)가 1 인 경우), 현재 블록의 모션 정보 및 레지듀얼이 전송되지 않는다. 이 경우, 디코더에서는, 참조 픽처로서 와핑된 참조 픽처를 이용하고, 모션 벡터는 제로 벡터로 셋팅하여 움직임 보상을 수행하고, 레지듀얼은 0 으로 셋팅한다.
3. 8 th -pel 움직임 보상
참조 픽처에서 현재 픽처의 현재 블록과 가장 유사한 영역을 탐색하는 움직임 추정 과정에 있어서, 참조 픽처의 보간된(interpolated) 샘플 위치에서 움직임 추정을 수행함으로써 보다 정확한 결과를 얻을 수 있다. 예를 들어, 1/2 샘플(half sample)의 위치로 보간된 경우, 보간된 픽셀들을 탐색함으로써, 현재 블록과 더욱 일치하는 영역을 찾을 수 있다. 나아가 1/4 픽셀(quarter pixel) 움직임 추정의 경우, 첫번째 단계에서는 가장 일치하는 위치를 찾기 위해, 정수 샘플 위치에 대해 움직임 추정을 수행한다. 인코더는 첫번째 단계에서 찾아진 가장 일치하는 위치를 중심으로 하는 1/2 샘플 위치를 탐색하여 더 좋은 결과를 얻을 수 있는지 확인하며, 필요한 경우 가장 일치하는 1/2 샘플 위치를 중심으로 1/4 샘플 위치에 대한 탐색을 수행한다. 최종적으로 일치하는 위치(정수, 1/2 또는 1/4 의 위치)의 값들에 대해 현재 블록 또는 현재 매크로블록으로부터 뺄셈 연산을 수행한다.
1/4 샘플 보간법을 사용한 경우, 1/2 샘플 보간법을 사용할 때보다 적은 오차 에너지를 가진다. 일반적으로 보다 세밀한 보간법이 더 좋은 움직임 보상의 성능을 가질 수 있지만, 복잡도는 그만큼 증가된다. 보간 스텝이 증가할수록 성능상의 이득이 줄어드는 경향이 있다.
도 32 는 1/8 pel 의 개념을 설명하기 위한 도면이다. 도 32 를 참조하면, 0 부터 8 까지의 위치에 펠들이 일차원적으로 나열되어 있음을 알 수 있다. 0 과 8 의 위치에 정수 펠(원)이 위치하고, 4 의 위치에 1/2 펠(마름모), 2 및 6 의 위치에는 1/4 펠(세모), 1, 3, 5, 7 의 위치에는 1/8 펠(십자가)이 배치되어 있다. 도 33 은 1/8 pel 움직임 보상 방법의 보간 스텝을 설명하기 위한 도면이다. 도 33 을 참조하면, 첫번째 스텝(Step 1)에서 정수 펠들을 이용하여 8 tap 필터를 통해 4 위치에 있는 1/2 펠, 2, 6 위치에 있는 1/4 펠이 생성된다. 그런 다음, 두번째 스텝(Step 2)에서는 첫번째 스텝에서 얻어진 1/2 펠, 1/4 펠들을 이용하여 바이리니어 필터를 통해 1/8 펠들이 생성됨을 알 수 있다. 즉, 1/8 펠 움직임 보상에 있어서는, 1/8 pel 을 생성하기 위해서는 반드시 최소 2 단계를 통해야 1/8 pel 이 생성되기 때문에, 복잡도가 매우 증가하는 문제점이 있다. 따라서, 1/8 pel 움직임 보상 방식에 있어서, 단순화시켜서 복잡성을 낮추어야할 필요성이 있다.
도 34 는 정수, 1/2 pel 펠, 1/4 pel 펠, 1/8 peg 펠의 위치를 2 차원적으로 설명하기 위한 도면이다. 도 34 을 참조하면, p(00), p(08), p(80), p(88)의 위치에는 정수 펠이 존재하고, p(mn)(m: 짝수, n: 짝수)에는 1/2 pel 또는 1/4pel 이 존재함을 알 수 있다. 또한 p(mn)(m:홀수, n:홀수)에는 1/8pel 의 위치가 도시되어 있다. 이와 같이 1/8 pel 을 생성하기 위해서, 1/2 pel 또는 1/4 pel 을 이용할 수 있지만, 정수 펠(p(00), p(08), p(80), p(88))만을 이용할 수도 있다. 정수 펠만을 사용해서 1/8 펠을 생성하는 일 예는 다음 수학식 16 과 같다.
[수학식 16]
Figure 112009061842431-PCT00029
여기서, (X+4)>>3 는 X/8, (X+2)>>2 는 X/4
상기 (1) 식 내지 (4) 식은 제 1 그룹에, (5) 식 내지 (8)식은 제 2 그룹에, (9)식 내지 (16)식은 제 3 그룹에 속한다고 하면, 각 그룹에 속하는 식에 사용되는 서로 계수들(예: A,B,C)이 동일하다.
도 35 는 본 발명의 실시예에 따른 1/8 pel 움직임 보상 방법 중 제 1 그룹에 해당하는 펠들의 보상방법을 설명하기 위한 도면이고, 도 36 은 제 2 그룹, 도 37 은 제 3 그룹에 해당하는 도면이다. 우선 도 34 를 참조하면, 제 1 그룹의 펠들(p(11), p(17), p(71), p(77))은 모두 정수 펠(p(00), p(08), p(80), p(88))과의 상대적인 위치가 유사한 펠들이다. 상기 수학식의 식 (1)에 나타난 바와 같이, p(11)과 가장 가까운 펠인 p(00)에는 계수 A 가 적용되고, 비교적 먼 위치의 펠인 p(08) 및 p(80)에는 각각 계수 B 및 계수 C 가 적용됨을 알 수 있다. 여기서 펠 p(08)및 펠 p(80)은 상대적인 위치가 서로 유사하므로, 계수 B 및 계수 C 는 동일한 값이 될 수 있다. 펠 p(11)인 경우와 마찬가지로, p(77) 또한 가장 가까운 정수 펠 p(88)에는 계수 A 를 적용하고 나머지 정수 펠에는 계수 B 및 계수 C 가 적용됨을 알 수 있다.
도 36 를 참조하면, 제 2 그룹에 속하는 펠들(p(33), p(35), p(53), p(55))이 도시되어 있다. 펠p(33) 및 펠 p(55)의 경우를 살펴보면, 역시 펠 p(33)에 가장 가까운 정수 펠인 펠(00)에는 계수 D 가, 펠 p(55)에 가장 가까운 정수 펠인 펠(88)에도 계수 D 가 적용되고 나머지 정수 펠에는 각각 계수 F 와 계수 E 가 적용됨을 알 수 있다. 이 경우도 계수 F 및 계수 E 는 동일한 값이 될 수 있다.
도 37 을 참조하면, 제 3 그룹에 속하는 8개의 펠들(p(13), p(15), p(37), p(57), p(75), p(73), p(51), p(31))이 도시되어 있다. 펠 p(13)의 경우를 살펴보면, 가장 가까운 정수펠인 펠 p(00)에는 계수 G 가, 그 다음으로 가까운 정수 펠 (p(08))에는 계수 H 가, 제일 먼 정수 펠(p(80))에는 계수 I 가 적용됨을 알 수 있다. 이는 p(75)를 비롯한 다른 제 3 그룹의 펠들도 마찬가지이다.
수학식 16 에 특정 값이 적용된 일 예가 다음 수학식 17 이다.
[수학식 17]
Figure 112009061842431-PCT00030
수학식 17 은 수학식 16 에서 제 1 그룹의 경우(식 (1) 내지 (4)), A=6, B=C=1 이고, 제 2 그룹의 경우(식 (5) 내지 식 (8), D=2, E=F=1 이고, 제 3 그룹의 경우(식 (9) 내지 식 (16)), G=4, H=3, I=1 인 경우이다. 이와 같이, 각 계수들은 현재 펠과 각 정수펠과의 위치적인 거리에 비례하도록 결정될 수 있다. 즉, 제 1 그룹의 경우, 정수 펠과의 거리에 비례하도록, 다음 수학식 18 과 같이 정의될 수 있다.
[수학식 18]
Figure 112009061842431-PCT00031
위와 같이 1/2 펠 또는 1/4 펠을 이용하지 않고, 정수 펠을 이용하여 1/8 펠을 생성하는 경우, 여러 단계를 거치지 않고 직접 생성될 수 있으므로 복잡도가 현저히 줄어들게 된다.
또한, 본 발명이 적용되는 디코딩/인코딩 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 인코딩 방법에 의해 생성된 비트스트림은 컴퓨터가 읽을 수 있는 기록 매체에 저장되거나, 유/무선 통신망을 이용해 전송될 수 있다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
본 발명은 비디오 신호를 인코딩하고 디코딩하는 데 적용될 수 있다.

Claims (31)

  1. 비디오 신호 비트스트림으로부터 중첩 윈도우 계수를 추출하는 단계;
    상기 중첩 윈도우 계수를 이용하여 참조 픽처 내 하나 이상의 참조 영역에 윈도우를 적용하는 단계;
    상기 윈도우가 적용된 하나 이상의 참조영역을 다중적으로 중첩시킴으로써 참조 블록을 획득하는 단계; 및,
    상기 참조 블록을 이용하여 현재 블록이 프리딕터를 획득하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  2. 제 1 항에 있어서,
    상기 중첩 윈도우 계수는, 시퀀스, 프레임, 슬라이스, 또는 블록 마다 변화하는 것임을 특징으로 하는 비디오 신호 처리 방법.
  3. 제 1 항에 있어서,
    상기 참조 블록은, 상기 중첩된 참조 영역 중 공통 영역에 해당하는 것임을 특징으로 하는 비디오 신호 처리 방법.
  4. 현재 블록에 대한 움직임 추정을 수행하여 움직임 벡터를 획득하는 단계;
    상기 움직임 벡터를 이용하여 참조 영역을 찾는 단계;
    상기 참조 영역에 대해 하나 이상의 윈도우를 중첩적으로 적용함으로써, 예측 오차를 최소화하는 중첩 윈도우 계수를 획득하는 단계; 및,
    상기 중첩 윈도우 계수를 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  5. 제 4 항에 있어서,
    상기 인코딩하는 단계는, 상기 중첩 윈도우 계수를 시퀀스 헤더, 슬라이스 헤더, 또는 매크로블록 레이어에 포함시키는 것임을 특징으로 하는 비디오 신호 처리 방법.
  6. 비디오 신호 비트스트림으로부터 OBMC(Overlapped Block Motion Com-pensation) 적용 플래그 정보를 추출하는 단계;
    상기 OBMC 적용 플래그 정보에 따라 현재 블록의 참조 블록을 획득하는 단계; 및,
    상기 참조 블록을 이용하여 현재 블록이 프리딕터를 획득하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  7. 제 6 항에 있어서,
    상기 참조 블록을 획득하는 단계는, 현재 블록의 움직임 정보를 이용하여 수행되는 것을 특징으로 하는 비디오 신호 처리 방법.
  8. 제 6 항에 있어서,
    상기 참조 블록을 획득하는 단계는, 상기 OBMC 적용 플래그 정보가 상기 현재 블록 또는 현재 슬라이스에 OBMC 방식이 적용되었음을 의미하는 경우, 상기 참조 블록을 OBMC 방식에 따라 획득하는 것임을 특징으로 하는 비디오 신호 처리 방법.
  9. 현재 블록에 대한 움직임 추정을 수행함으로써 움직임 벡터를 획득하는 단계;
    상기 움직임 벡터를 이용하여 참조 영역에 대하여 제 1 움직임 보상 방식에 따른 제 1 비트량 및, 제 2 움직임 보상 방식에 따른 제 2 비트량을 산출하는 단계; 및,
    상기 제 1 비트량 및 제 2 비트량을 근거로 제 1 움직임 보상 방식을 나타내는 정보 및 제 2 움직임 보상 방식을 나타내는 정보 중 하나를 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  10. 제 9 항에 있어서,
    상기 제 1 움직임 보상 방식은, 블록 기반의 움직임 보상 방식이고, 제 2 움직임 보상 방식은 중첩된 블록 기반의 움직임 보상 방식인 것을 특징으로 하는 비디오 신호 처리 방법.
  11. 비디오 신호 비트스트림으로부터 와핑 정보 및 움직임 정보를 추출하는 단계;
    상기 와핑 정보를 이용하여 참조 픽처를 변형하는 단계; 및,
    상기 변형된 참조 픽처, 및 상기 움직임 정보를 이용하여 현재 블록의 프리딕터를 획득하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  12. 제 11 항에 있어서,
    상기 와핑 정보는, 어파인 변형 정보 및 프로젝티브 매트릭스 정보 중 하나 이상을 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  13. 제 12 항에 있어서,
    상기 와핑 정보는, 현재 픽처 및 참조 픽처상에 존재하는 대응 쌍의 위치 정보를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  14. 제 13 항에 있어서,
    상기 대응 쌍의 위치정보는 제 1 지점의 위치 정보 및, 제 2 지점의 위치 정보와 상기 제 1 지점의 위치 정보간의 차분값인 것을 특징으로 하는 비디오 신호 처리 방법.
  15. 현재 픽처 및 참조 픽처를 이용하여 와핑 정보를 생성하는 단계;
    상기 와핑 정보를 이용하여 상기 참조 픽처를 변형하는 단계;
    상기 변형된 참조 픽처를 이용하여 현재 블록의 움직임 벡터를 획득하는 단계; 및,
    상기 와핑 정보 및 상기 움직임 벡터를 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  16. 현재 픽처 및 참조 픽처를 이용하여 와핑 정보를 생성하는 단계;
    상기 와핑 정보를 이용하여 상기 참조 픽처를 변형하는 단계;
    상기 변형된 참조 픽처를 이용하여 현재 블록의 인코딩에 소요되는 제 1 비트수를 산출하는 단계;
    상기 참조 픽처를 이용하여 현재 블록의 인코딩에 소요되는 제 2 비트수를 산출하는 단계; 및,
    상기 제 1 비트수 및 상기 제 2 비트수를 근거로 하여 와핑 적용 플래그 정보를 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  17. 제 16 항에 있어서,
    상기 제 1 비트수 및 상기 제 2 비트수에 따라 상기 와핑정보의 전송여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  18. 비디오 신호 비트스트림으로부터 와핑 정보 및 예측 방식 플래그 정보를 추출하는 단계;
    상기 예측 방식 플래그 정보에 따라, 상기 와핑 정보를 이용하여 현재 픽처 내 하나 이상의 제 1 지점이 매핑되는 참조 픽처 내 제 2 지점을 획득하는 단계; 및,
    상기 제 2 지점에 해당하는 움직임 벡터를 이용하여 현재 블록의 움직임 벡터를 예측하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  19. 제 18 항에 있어서,
    상기 제 1 지점은, 상기 예측 방식 플래그 정보에 따라 결정되는 것을 특징으로 하는 비디오 신호 처리 방법.
  20. 제 18 항에 있어서,
    상기 제 1 지점은, 좌측 상단 지점, 우측 상단 지점, 좌측 하단, 우측 하단 지점 중 하나 이상을 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  21. 제 18 항에 있어서,
    상기 제 1 지점이 둘 이상인 경우, 현재 블록의 움직임 벡터를 예측하는 단계는, 둘 이상의 지점의 평균값 또는 중앙값으로 현재 블록의 움직임 벡터를 예측하는 단계인 것을 특징으로 하는 비디오 신호 처리 방법.
  22. 현재 픽처 및 참조 픽처를 이용하여 와핑 정보를 획득하는 단계;
    상기 와핑정보를 이용하여 상기 현재 픽처 내 하나 이상의 제 1 지점이 매핑되는 상기 참조 픽처 내 제 2 지점을 획득하는 단계; 및,
    상기 제 2 지점에 해당하는 움직임 벡터 및, 현재 블록의 움직임 벡터를 근거로 예측 방식 플래그 정보를 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  23. 비디오 신호 비트스트림으로부터 와핑 정보 및 와핑 스킵 모드 플래그 정보를 추출하는 단계;
    상기 와핑 스킵 모드 플래그 정보에 따라, 상기 와핑 정보를 이용하여 참조 픽처를 와핑 변형하는 단계; 및,
    상기 와핑 변형된 참조 픽처 내 현재 블록과 동일 위치의 참조 블록을 이용하여 현재 블록을 획득하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  24. 현재 픽처 및 참조 픽처를 이용하여 와핑 정보를 획득하는 단계;
    상기 와핑 정보를 이용하여 상기 참조 픽처를 와핑 변형하는 단계;
    상기 와핑 변형된 참조 픽처를 이용하여 현재 블록의 움직임 벡터를 획득하는 단계; 및,
    상기 움직임 벡터를 근거로 와핑 스킵 플래그 정보를 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  25. 정수 펠을 기준으로 현재 1/8 펠의 위치를 탐색하는 단계;
    상기 현재 1/8 펠의 위치를 이용하여 계수를 획득하는 단계; 및,
    상기 계수 및 상기 정수 펠을 이용하여 현재 1/8 펠을 생성하는 단계를 더 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  26. 제 25 항에 있어서,
    상기 정수 펠은 상기 현재 1/8 펠로부터 가까운 3 개의 정수 펠을 포함하고, 상기 계수는, 제 1 정수 펠에 적용되는 제 1 계수, 제 2 정수 펠에 적용되는 제 2 계수, 제 3 정수 펠에 적용되는 제 3 계수를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법.
  27. 제 26 항에 있어서,
    상기 제 1 계수, 상기 제 2 계수, 상기 제 3 계수간의 상대적인 크기는, 제 1 정수 펠, 제 2 정수 펠, 제 3 정수 펠의 상대적인 위치에 따라 결정되는 것을 특징으로 하는 비디오 신호 처리 방법.
  28. 제 26 항에 있어서,
    상기 제 1 계수, 상기 제 2 계수, 상기 제 3 계수간의 상대적인 크기는, 상기 현재 1/8 펠 및 제 1 정수 펠간의 거리, 상기 현재 1/8 펠 및 제 2 정수 펠간의 거리, 상기 현재 1/8 펠 및 제 3 정수 펠간의 거리에 따라 결정되는 것을 특징으로 하는 비디오 신호 처리 방법.
  29. 제 25 항에 있어서,
    상기 비디오 신호는, 방송 신호를 통해 수신된 것을 특징으로 하는 비디오 신호 처리 방법.
  30. 제 25 항에 있어서,
    상기 비디오 신호는, 디지털 매체를 통해 수신된 것을 특징으로 하는 비디오 신호 처리 방법.
  31. 제 25 항에 기재된 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020097021098A 2007-04-09 2008-04-10 비디오 신호 처리 방법 및 장치 KR20100015456A (ko)

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
US90757307P 2007-04-09 2007-04-09
US60/907,573 2007-04-09
US90781007P 2007-04-18 2007-04-18
US60/907,810 2007-04-18
US92488907P 2007-06-04 2007-06-04
US60/924,889 2007-06-04
US97649007P 2007-10-01 2007-10-01
US60/976,490 2007-10-01
US97907407P 2007-10-11 2007-10-11
US60/979,074 2007-10-11
US98438207P 2007-11-01 2007-11-01
US60/984,382 2007-11-01
US98778007P 2007-11-14 2007-11-14
US98778107P 2007-11-14 2007-11-14
US60/987,780 2007-11-14
US60/987,781 2007-11-14

Publications (1)

Publication Number Publication Date
KR20100015456A true KR20100015456A (ko) 2010-02-12

Family

ID=39831159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097021098A KR20100015456A (ko) 2007-04-09 2008-04-10 비디오 신호 처리 방법 및 장치

Country Status (5)

Country Link
US (1) US20100215101A1 (ko)
EP (1) EP2153660A4 (ko)
JP (1) JP2010524383A (ko)
KR (1) KR20100015456A (ko)
WO (1) WO2008123753A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430049B1 (ko) * 2010-08-17 2014-08-14 엠앤케이홀딩스 주식회사 동영상 복호화 장치
WO2018056602A1 (ko) * 2016-09-22 2018-03-29 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2019027145A1 (ko) * 2017-08-03 2019-02-07 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
KR101098739B1 (ko) * 2008-11-24 2011-12-23 한국전자통신연구원 비디오 신호의 부호화/복호화 장치 및 방법
ES2400277B1 (es) * 2009-05-21 2014-04-24 Intel Corporation Técnicas para reconstrucción estéreo rápida a partir de imágenes
JP5378939B2 (ja) * 2009-10-02 2013-12-25 日立コンシューマエレクトロニクス株式会社 画像符号化方法、画像復号化方法、画像符号化装置、及び画像復号化装置、並びにプログラム
US8897585B2 (en) * 2009-11-05 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) Prediction of pixels in image coding
TWI533667B (zh) 2010-01-08 2016-05-11 諾基亞科技公司 用於視訊編碼之裝置、方法及電腦程式
CN102939751B (zh) * 2010-03-31 2016-03-16 法国电信 通过向前运动补偿、对应的流和计算机程序实施预测的用于对图像序列进行编码和解码的方法和装置
EP2375744A1 (en) * 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction for 1/8-pel interpolation
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
CN103299630B (zh) * 2011-01-19 2016-10-19 寰发股份有限公司 获取运动矢量预测子的方法和装置
US10171813B2 (en) * 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
EP2687015A4 (en) 2011-03-14 2014-12-17 Mediatek Inc METHOD AND DEVICE FOR OBTAINING PREDICTIONS FOR TEMPORARY MOTION VECTORS
CA2878160C (en) * 2012-07-11 2017-06-20 Lg Electronics Inc. Method and apparatus for processing video signal
WO2014051376A1 (ko) * 2012-09-28 2014-04-03 삼성전자 주식회사 출력 윈도우를 이용하는 비디오 스트림을 부호화하는 방법 및 그 장치, 출력 윈도우를 이용하는 비디오 스트림을 복호화하는 방법 및 그 장치
US9813730B2 (en) * 2013-12-06 2017-11-07 Mediatek Inc. Method and apparatus for fine-grained motion boundary processing
WO2015085575A1 (en) * 2013-12-13 2015-06-18 Mediatek Singapore Pte. Ltd. Methods for background residual prediction
CN112087630B (zh) * 2014-09-30 2022-04-08 华为技术有限公司 图像预测方法、装置、解码器及存储介质
US10230980B2 (en) * 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding
US10554968B2 (en) * 2015-06-10 2020-02-04 Lg Electronics Inc. Method and apparatus for inter prediction on basis of virtual reference picture in video coding system
CN106658019B (zh) * 2015-10-31 2019-11-12 华为技术有限公司 参考帧编解码的方法与装置
EP3395072A4 (en) 2015-12-22 2019-05-22 RealNetworks, Inc. SELECTION AND PREDICTION OF MOTION VECTOR IN VIDEO ENCODING SYSTEMS AND METHODS
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
US10567793B2 (en) * 2016-06-06 2020-02-18 Google Llc Adaptive overlapped block prediction in variable block size video coding
JP6905184B2 (ja) * 2017-06-07 2021-07-21 富士通株式会社 画像圧縮プログラム、画像圧縮装置、及び画像圧縮方法
US10630994B2 (en) * 2017-06-28 2020-04-21 Agora Lab, Inc. Specific operation prediction in video compression
US11087500B2 (en) * 2018-03-15 2021-08-10 University-Industry Cooperation Group Of Kyung Hee University Image encoding/decoding method and apparatus
US20190313107A1 (en) * 2018-03-15 2019-10-10 University-Industry Cooperation Group Of Kyung Hee University Image encoding/decoding method and apparatus
US11019355B2 (en) * 2018-04-03 2021-05-25 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus using reference frame generated based on deep learning
US11109057B2 (en) * 2018-04-16 2021-08-31 Mediatek Inc. Overlapped block motion compensation based on blended predictors
US11758181B2 (en) * 2019-03-14 2023-09-12 Nippon Telegraph And Telephone Corporation Encoding method, encoding apparatus, and program
US20230059035A1 (en) * 2021-08-23 2023-02-23 Netflix, Inc. Efficient encoding of film grain noise

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235419A (en) * 1991-10-24 1993-08-10 General Instrument Corporation Adaptive motion compensation using a plurality of motion compensators
JP2853553B2 (ja) * 1994-02-22 1999-02-03 日本電気株式会社 動画像符号化方式
JP2000506686A (ja) * 1995-10-25 2000-05-30 サーノフ コーポレイション オーバラップブロック動き補償及びゼロツリーウェーブレット符号化を用いる低ビットレートビデオ符号化器
JP2798035B2 (ja) * 1996-01-17 1998-09-17 日本電気株式会社 適応動きベクトル補間による動き補償フレーム間予測方法
JP3183155B2 (ja) * 1996-03-18 2001-07-03 株式会社日立製作所 画像復号化装置、及び、画像復号化方法
WO1998042134A1 (en) * 1997-03-17 1998-09-24 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
WO1998056185A1 (en) * 1997-06-03 1998-12-10 Hitachi, Ltd. Image encoding and decoding method and device
US20030123738A1 (en) * 2001-11-30 2003-07-03 Per Frojdh Global motion compensation for video pictures
US7602848B2 (en) * 2002-03-26 2009-10-13 General Instrument Corporation Methods and apparatus for efficient global motion compensation encoding and associated decoding
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
GB0227566D0 (en) * 2002-11-26 2002-12-31 British Telecomm Method and system for estimating global motion in video sequences
US7580456B2 (en) * 2005-03-01 2009-08-25 Microsoft Corporation Prediction-based directional fractional pixel motion estimation for video coding
US7822121B2 (en) * 2005-03-17 2010-10-26 Lsi Corporation Method and/or apparatus for implementing global motion compensation in a video system
US20070002949A1 (en) * 2005-06-30 2007-01-04 Nokia Corporation Fast partial pixel motion estimation for video encoding
US7603000B2 (en) * 2005-08-31 2009-10-13 Siemens Medical Solutions Usa, Inc. System and method for learning relative distance in a shape space using image based features

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430049B1 (ko) * 2010-08-17 2014-08-14 엠앤케이홀딩스 주식회사 동영상 복호화 장치
US9544611B2 (en) 2010-08-17 2017-01-10 M & K Holdings Inc. Apparatus for decoding moving picture
WO2018056602A1 (ko) * 2016-09-22 2018-03-29 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
US10674175B2 (en) 2016-09-22 2020-06-02 Lg Electronics Inc. Inter-prediction method and apparatus in image coding system
WO2019027145A1 (ko) * 2017-08-03 2019-02-07 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
EP2153660A4 (en) 2013-01-23
JP2010524383A (ja) 2010-07-15
US20100215101A1 (en) 2010-08-26
EP2153660A1 (en) 2010-02-17
WO2008123753A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
KR20100015456A (ko) 비디오 신호 처리 방법 및 장치
US11089333B2 (en) Method for deriving a temporal predictive motion vector, and apparatus using the method
US11622129B2 (en) Intra prediction method and apparatus using the method
JP6242983B2 (ja) 動画符号化装置
CN110121883B (zh) 在图像编码系统中对图像进行解码的方法和装置
US11166040B2 (en) Video signal processing method and apparatus using adaptive motion vector resolution
KR101647376B1 (ko) 비디오 신호 처리 방법 및 장치
CN108259920B (zh) 使用亮度采样的色度块的内部预测方法以及使用其的装置
US20220078436A1 (en) Image encoding/decoding method and device
AU2016228184B2 (en) Method for inducing a merge candidate block and device using same
KR20210040787A (ko) 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치
KR102573577B1 (ko) 영상 처리 방법, 프레임 율 변환 방법 및 그 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid