KR20210000595A - 움직임 보상을 사용하는 비디오 코딩 방법 및 장치 - Google Patents

움직임 보상을 사용하는 비디오 코딩 방법 및 장치 Download PDF

Info

Publication number
KR20210000595A
KR20210000595A KR1020190075931A KR20190075931A KR20210000595A KR 20210000595 A KR20210000595 A KR 20210000595A KR 1020190075931 A KR1020190075931 A KR 1020190075931A KR 20190075931 A KR20190075931 A KR 20190075931A KR 20210000595 A KR20210000595 A KR 20210000595A
Authority
KR
South Korea
Prior art keywords
motion
block
motion vector
current block
temporal
Prior art date
Application number
KR1020190075931A
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 디지털인사이트 주식회사
Priority to KR1020190075931A priority Critical patent/KR20210000595A/ko
Publication of KR20210000595A publication Critical patent/KR20210000595A/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/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/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/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

Landscapes

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

Abstract

본 발명은 움직임 보상을 사용하는 비디오 코딩 방법 및 장치를 제공한다.

Description

움직임 보상을 사용하는 비디오 코딩 방법 및 장치{VIDEO CODING METHOD AND APPARATUS USING MOTION COPENSATION}
본 발명은 비디오 신호 처리 방법 및 장치에 관한 것이다.
비디오 영상은 시공간적 중복성 및 시점 간 중복성을 제거하여 압축부호화되며, 이는 통신 회선을 통해 전송되거나 저장 매체에 적합한 형태로 저장될 수 있다.
본 발명은 비디오 신호의 코딩 효율을 향상시키고자 함에 있다.
상기 과제를 해결하기 위하여 본 발명은 움직임 병합을 사용하는 비디오 코딩 방법 및 장치를 제공한다.
본 발명에 따른 비디오 신호 처리 방법 및 장치는 움직임 병합을 이용하여 비디오 신호 코딩 효율을 향상시킬 수 있다.
도 1은 병합 후보 리스트(100)와 병합 후보 리스트를 생성함에 있어 병합 후보를 추가하는 순서(110..150) 에 대한 순서도를 도시한 도면이다.
도 2는 서브 블록 단위로 시간적으로 인접한 영역에서 움직임 벡터를 예측하는 기술의 개념을 도시한 도면이다.
도 3은 시간적 참조 벡터를 이용하여 참조 영역을 설정하고 해당 참조 영역의 특정 위치의 움직임 벡터를 현재 블록 전체에 대응되는 병합 움직임 벡터 후보로 추가하는 개념을 도시한 도면이다.
도 4는 현재 블록의 움직임 병합 후보 리스트를 구성함에 있어서, 본 발명에서 새롭게 제안하는 대응하는 시간 움직임 벡터 (corresponding temporal motion vector)가 추가된 순서도를 도시한 도면이다.
도 5에서는 도 4에서 corresponding temporal motion vector를 추가함에 있어, 특정한 조건을 사용하여 해당 조건을 만족하는 경우에만 해당 움직임 벡터 후보를 추가함을 상세하게 기술하기 위하여 도시한 도면이다.
본 발명은 비디오 코딩 기술 중 움직임 병합을 사용하는 방법 및 장치에 관한 것이다.
또한, 현재 블록의 움직임 병합을 수행함에 있어, 움직임 궤도 (motion trajectory)를 활용하는 것과 같이, 시간적으로 현재 블록과 대응하는 영역을 선정하고 해당 영역의 움직임 정보를 현재 블록의 움직임 병합 후보로 사용하는 방법 및 장치에 관한 것이다.
본 발명에서는 화면 간 예측을 위하여 블록의 움직임 정보를 예측하기 위하여 병합 (merge) 기술을 사용할 수 있다. 이때, 병합 후보 리스트 (merge candidate list)를 생성하고, 해당 리스트 중 어떤 후보의 움직임 정보를 이용하여 병합을 수행하였는지에 대하여 인덱스를 시그널링하거나 파싱하여 움직임 정보를 획득할 수 있다. 이때, 병합 후보 리스트에 추가되는 움직임 병합 후보를 보다 다양하게 하여 부호화 성능을 향상시키기 위한 방법 및 장치를 제안한다.
이때, 본 발명에서 제안하는 새롭게 추가되는 움직임 병합 후보는 움직임 궤도 (motion trajectory)를 활용하는 것과 같이, 시간적으로 현재 블록과 대응하는 영역을 선정하고 해당 영역의 움직임 정보를 현재 블록의 움직임 병합 후보로 사용하는 방법 및 장치에 관한 것이다.
도 1은 병합 후보 리스트(100)와 병합 후보 리스트를 생성함에 있어 병합 후보를 추가하는 순서(110..150) 에 대한 순서도를 도시한 도면이다.
도 1에서 도시한 바와 같이, 현재 블록에 대하여 움직임 병합을 수행함에 있어 공간적 및/또는 시간적으로 인접한 블록를 이용하여 병합 후보 리스트를 생성할 수 있다. 공간적/시간적 이웃 블록은 움직임 정보를 가질 수 있다. 또는, 현재 픽쳐 내 기-복호화 블록의 움직임 정보를 별도의 FIFO 형태의 버퍼에 저장하고, 이 버퍼에 저장된 움직임 정보를 후보로 사용하는 방법도 사용될 수 있다. 여기서, 기-복호화된 블록은 현재 블록 이전에 복호화된 블록일 수 있다. 상기 기-복화된 블록은, 현재 블록에 공간적/시간적으로 인접한 블록일 수도 있고, 현재 블록에 인접하지 않은 블록일 수도 있다. 상기 기-복호화된 블록은, 스킵 모드, 병합 모드, AMVP, 어파인 모드 중 어느 하나에 따른 움직임 정보를 가질 수 있다. HISTORY-BASED MV를 가진 후보(130) 또한, 기존에 생성된 병합 후보 리스트에 추가될 수 있으며 PAIRWISE MV를 가진 후보(140), zero mv를 가진 후보 (150)도 병합 후보 리스트에 추가될 수 있다.
전술한 병합 후보는, 병합 후보 리스트에 추가되는 순서를 한정한 것은 아니며, 다른 순서로 추가될 수 있다. 예를 들어, PAIRWISE MV 후보가 HISTORY-BASED MV 후보보다 우선순위를 가지고 병합 후보 리스트에 추가될 수도 있다. 또는, HISTORY-BASED MV 후보가 TEMPORAL MV 후보보다 우선순위를 가지고 병합 후보 리스트에 추가될 수도 있다.
전술한 병합 후보 110 내지 150 모두 병합 후보 리스트에 포함될 수도 있고, 일부만이 선택적으로 포함될 수도 있다.
도 2는 서브 블록 단위로 시간적으로 인접한 영역에서 움직임 벡터를 예측하는 기술의 개념을 도시한 도면이다.
현재 픽쳐(200) 내의 현재 블록(201)의 움직임 벡터를 예측함에 있어, 현재 블록의 공간적으로 인접한 미리 정의된 위치의 움직임 벡터, 혹은 시간적으로 인접한 미리 정의된 위치의 움직임 벡터, 혹은 현재 병합 후보 리스트에 이미 추가되어 있는 움직임 벡터를 시간적 참조 벡터 (Temporal vector) (220)으로 정의하고, 해당 Temporal vector를 이용하여 시간적으로 인접한 참조 픽쳐 (corresponding picture) (210) 내의 참조 영역 (corresponding area) (211)을 결정할 수 있다. 결정된 참조 영역(211)을 기준으로 해당 참조 영역으로부터 미리 정의된 서브 블록 단위로 대응되는 단위의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.
상기 움직임 벡터 예측 기술을 사용하는 경우, 현재 블록은 다수의 서브 블록 별로 상이한 움직임 벡터를 이용하여 예측이 가능하므로 하나의 블록을 작게 분할하여 움직임 예측을 수행하는 효과를 얻을 수 있다.
하지만, 이러한 경우에 서브 블록의 경계에서 블록킹 아티펙트가 발생하는 단점이 존재할 수 있으며, 이러한 문제를 해결하기 위하여 시간적 참조 벡터 (Temporal vector)를 이용하여 참조 영역을 설정하고 해당 참조 영역의 특정 위치의 움직임 벡터를 현재 블록 전체에 대응되는 움직임 벡터로 사용하는 방법을 사용할 수 있다. 본 발명에서는 상기 시간적 참조 벡터를 이용하여 참조 영역을 설정하고 해당 참조 영역의 특정 위치의 움직임 벡터를 현재 블록 전체에 대응되는 병합 움직임 벡터 후보로 추가하는 방법 및 장치를 제안한다. 해당 내용은 도 3부터 도 5에 걸쳐 자세하게 후술한다.
도 3은 시간적 참조 벡터를 이용하여 참조 영역을 설정하고 해당 참조 영역의 특정 위치의 움직임 벡터를 현재 블록 전체에 대응되는 병합 움직임 벡터 후보로 추가하는 개념을 도시한 도면이다.
도 2에서는 서브 블록 단위로 시간적으로 인접한 영역에서 서브 블록 단위로 대응되는 움직임 벡터를 이용하는 개념이었다면, 도 3에서 도시한 본 발명의 일 실시 예에 따르면, 시간적 참조 벡터 (temporal vector) (320)를 이용하여 시간적으로 인접한 참조 픽쳐 (corresponding picture) (310) 내의 참조 영역 (corresponding area) (311)을 기준으로 미리 정의된 특정한 위치에서 움직임 벡터를 획득하고, 상기 움직임 벡터를 현재 블록의 움직임 벡터 또는 병합 후보로 사용하는 방법이다.
상기 시간적 참조 벡터는, 현재 블록의 좌측 이웃 블록(A1)의 움직임 벡터에 기초하여 유도될 수 있다. 또는 시간적 참조 벡터는, 현재 블록의 좌상단, 상단, 우상단 또는 좌하단 중 적어도 하나에 인접한 이웃 블록의 움직임 벡터에 기초하여 유도될 수 있다. 이때, 전술한 복수의 이웃 블록 중 어느 하나의 움직임 벡터가 이용될 수도 있고, 복수의 이웃 블록 전부 또는 일부의 움직임 벡터들의 평균값, 중간값, 최빈값, 최대값 또는 최소값이 이용될 수도 있다.
상기 참조 영역에서 미리 정의된 특정한 위치라함은, 현재 블록과 대응되는 위치에서 현재 블록의 너비의 절반, 높이의 절반 만큼 이동한 위치, 즉, 현재 블록의 중심 위치에 대응되는 위치일 수 있다.
또한, 본 발명의 일 실시 예에 따르면 상기 참조 영역에서 미리 정의된 특정한 위치라함은, 현재 블록의 좌상단 위치에 대응되는 위치일 수 있다.
혹은, 본 발명의 일 실시 예에 따르면 상기 참조 영역에서 미리 정의된 특정한 위치라함은, 현재 블록의 우하단 위치에 대응되는 위치일 수 있다.
혹은, 상기 다수의 위치 중에서 하나 혹은 그 이상의 위치의 움직임 벡터를 병합 후보 리스트에 추가할 수 있다.
또는, 상기 미리 정의된 특정한 위치는 N개일 수 있다. N은 1, 2, 3, 또는 그 이상의 정수일 수 있다. 예를 들어, 상기 특정한 위치는, 현재 블록의 좌상단 위치에 대응하는 제1 위치 및 제1 위치의 주변 위치(e.g., 우측, 하단 또는 우하단 중 적어도 하나)를 포함할 수 있다. 또는, 상기 특정한 위치는, 현재 블록의 중심 위치에 대응하는 제2 위치 및 제2 위치의 주변 위치(e.g., 좌측, 상단 또는 좌상단 중 적어도 하나)를 포함할 수 있다. 상기 특정한 위치는, 현재 블록의 우하단 위치에 대응하는 제3 위치 및 제3 위치의 주변 위치(e.g., 좌측, 상단 또는 좌상단 중 적어도 하나)를 포함할 수 있다. 또는, 상기 특정한 위치는, 현재 블록의 4개 코너 위치 중 적어도 2개에 대응하는 위치를 포함할 수 있다.
상기 특정한 위치가 복수개인 경우, 현재 블록의 움직임 벡터는 특정한 위치의 움직임 벡터들의 평균값, 중간값, 최빈값, 최대값 또는 최소값에 기초하여 유도될 수 있다.
상기 복수개의 특정한 위치의 각 움직임 벡터는 L0 벡터 또는 L1 벡터 중 적어도 하나를 포함할 수 있다. 이 경우, 상기 특정한 위치의 움직임 벡터를 조합하여 양방향 예측을 위한 움직임 벡터를 생성하고, 생성된 움직임 벡터를 현재 블록의 병합 후보로 이용할 수도 있다. 상기 생성 과정은, Lx 벡터를 L(1-x) 벡터로 변환하는 과정을 더 포함할 수 있다.(x=0,1)
도 4는 현재 블록의 움직임 병합 후보 리스트를 구성함에 있어서, 본 발명에서 새롭게 제안하는 대응하는 시간 움직임 벡터 (corresponding temporal motion vector)가 추가된 순서도를 도시한 도면이다.
도 4를 참조하면, 병합 후보 리스트는, 공간적 이웃 블록(SPATIAL MV, 410), 제1 시간적 이웃 블록(CO-LOCATED TEMPORAL MV, 420), 제2 시간적 이웃 블록(CORRESPONDING TEMPORAL MV, 430), HISTORY-BASED MV 후보(440), PAIRWISE MV 후보(450) 또는 ZERO MV 후보(460) 중 적어도 하나를 포함할 수 있다.
420 후보는, 현재 블록의 우하단 코너 위치에 인접한 블록 또는 현재 블록의 중심 위치에 대응하는 블록일 수 있다. 430 후보는, 전술한 시간적 벡터에 의해 특정된 시간적 이웃 블록으로부터 유도될 수 있다.
전술한 병합 후보는, 병합 후보 리스트에 추가되는 순서를 한정한 것은 아니며, 다른 순서로 추가될 수 있다. 예를 들어, 430 후보가 410 후보 또는 420 후보보다 우선순위를 가지고 병합 후보 리스트에 추가될 수 있다. 또는, 430 후보는, 440 후보 또는 450 후보보다 후순위를 가지고 병합 후보 리스트에 추가될 수도 있다.
전술한 병합 후보 110 내지 150 모두 병합 후보 리스트에 포함될 수도 있고, 일부만이 선택적으로 포함될 수도 있다. 예를 들어, 430 후보는, 420 후보가 비가용인 경우에만 추가될 수 있다. 또는, 역으로 420 후보는 430 후보가 비가용인 경우에만 추가될 수 있다.
또는, 420 후보 또는 430 후보 중 어느 하나를 선택하여 병합 후보 리스트에 추가할 수 있다. 여기서, 선택은, 부호화/복호화 장치에 기-약속된 우선순위에 기초하여 수행되거나, 소정의 정보가 부호화 장치로부터 시그날링될 수 있다. 여기서, 정보는, 병합 후보 리스트에 420 후보가 추가되는지 아니면 430 후보가 추가되는지를 특정할 수 있다.
또는, 430 후보는, 430 후보 이전에 추가된 병합 후보의 개수가 (최대 병합 후보 개수(MaxNumMergeCand)-k)보다 작은 경우에만 추가될 수도 있다. 여기서, k는 1, 2, 3, 4, 또는 그 이상의 정수일 수 있다. k는 부호화/복호화 장치에 기-정의된 고정된 값일 수 있다.
한편, 430 후보 이전에 추가된 병합 후보와의 움직임 정보 동일 여부를 체크하는 과정이 수반될 수 있고, 430 후보는 기-추가된 병합 후보와 동일하지 않은 경우에 한하여 추가될 수 있다.
도 5에서는 도 4에서 corresponding temporal motion vector를 추가함에 있어, 특정한 조건을 사용하여 해당 조건을 만족하는 경우에만 해당 움직임 벡터 후보를 추가함을 상세하게 기술하기 위하여 도시한 도면이다.
Figure pat00001
상기 제안하는 corresponding temporal motion vector를 merge list에 추가하는 조건은 위 표에 명시한 조건들을 사용할 수 있다.
본 발명의 일 실시 예로, numCurrMergeCand가 (MaxNumMergeCand-1) 보다 작은 경우, slice_temporal_mvp_enabled_flag가 1인 경우, availableFlagA1 이 참인 경우 중 적어도 하나를 만족하는 경우를 들 수 있다.
상기 numCurrMergeCand는 현재 병합 후보 리스트를 구성하는 후보의 갯수를 의미하고, MaxNumMergeCand는 현재 병합 후보 리스트를 구성할 수 있는 최대 후보의 갯수를 의미한다.
상기 availableFlagA1은 현재 블록의 공간적으로 좌측에 위치의 블록을 A1 블록이라고 지칭하고 A1 블록의 움직임 벡터가 존재하며, 해당 움직임 벡터를 참조 가능한지에 대한 여부를 의미하는 플래그 정보이다.
이때, 본 발명의 일 실시 예에서는 현재 블록의 시간적 참조 벡터 (temporal vector)로써 미리 정의된 위치인 현재 블록의 공간적으로 좌측에 위치하는 블록인 A1블록의 움직임 벡터를 이용하는 경우에 대하여 명시하였으나, 현재 블록의 시간적 참조 벡터로 사용하는 움직임 벡터는 A1 블록의 움직임 벡터로 한정되는 것은 아니다.
추가적으로 현재 블록의 병합 리스트를 구성함에 있어 현재 후보를 추가하기 이전에 이미 추가된 움직임 벡터 중에서 가장 앞선 병합 후보의 움직임 벡터를 사용하는 방법 또한 사용될 수 있다. 혹은 이미 추가된 움직임 벡터 중에서 미리 정의된 하나 혹은 그 이상의 병합 후보의 움직임 벡터를 시간적 참조 벡터로 사용할 수 있으며, 이러한 경우에는 해당 시간적 참조 벡터를 참조하는 위치의 벡터가 존재하는지에 대한 플래그 체크를 추가할 수 있다.
slice_temporal_mvp_enabled_flag는 현재 슬라이스에서 시간적 움직임 벡터 예측을 사용하는지에 대한 여부를 판별하는 플래그 정보이며, 본 발명의 일 실시 예에 따르면, 슬라이스 단위 시그널링 뿐 아니라, sps, pps 등에서 본 발명에서 제안하는 시간적 참조 움직임 예측 사용 여부에 대한 플래그 정보를 시그널링 하고, 이를 활용하는 방법 또한 포함될 수 있다.
또한, 추가적으로 temporal vector를 이용하여 대응 위치의 움직임 벡터 참조 가능 여부인 availableFlagCor이 참이고, 시간적으로 동일 위치의 시간적 움직임 벡터의 참조 여부인 availableFlagCol이 참이면서 시간적 참조 움직임 벡터인 mvCol와 corresponding temporal motion vector인 mvCor이 같지 않은 경우에 병합 후보 리스트에 추가될 수 있다.
본 발명의 일 실시 예에서는 mvCol과 corresponding temporal motion vector인 mvCor을 이용하여 이전에 병합 리스트에 추가된 움직임 벡터와의 동일성 체크를 수행하였으나, 상기 일 실시 예에 한정되는 것은 아니며, 대응 위치 선정을 위한 temporal vector와도 동일성 체크를 수행하는 단계가 추가될 수도 있다.
Corresponding temporal merging candidates를 추가하는 상세한 사항은 아래와 같다.
Figure pat00002
Figure pat00003

Claims (1)

  1. 움직임 보상을 사용하는 비디오 코딩 방법.
KR1020190075931A 2019-06-25 2019-06-25 움직임 보상을 사용하는 비디오 코딩 방법 및 장치 KR20210000595A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190075931A KR20210000595A (ko) 2019-06-25 2019-06-25 움직임 보상을 사용하는 비디오 코딩 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190075931A KR20210000595A (ko) 2019-06-25 2019-06-25 움직임 보상을 사용하는 비디오 코딩 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210000595A true KR20210000595A (ko) 2021-01-05

Family

ID=74141087

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190075931A KR20210000595A (ko) 2019-06-25 2019-06-25 움직임 보상을 사용하는 비디오 코딩 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20210000595A (ko)

Similar Documents

Publication Publication Date Title
CN112584168B (zh) 一种编解码方法及其设备
KR20210094530A (ko) 화면 내 블록 복사 모드 및 화면 간 예측 도구들 간의 상호작용
US11677973B2 (en) Merge with MVD for affine
KR20210089153A (ko) 화면 내 블록 복사를 위한 히스토리 기반 움직임 후보 리스트 구성
JP6574976B2 (ja) 動画像符号化装置および動画像符号化方法
CN112385210A (zh) 用于视频编解码系统的运动向量缓冲器管理的方法及装置
KR20210000595A (ko) 움직임 보상을 사용하는 비디오 코딩 방법 및 장치