KR101967817B1 - 영상 부호화 및 복호화 방법과 이를 이용한 장치 - Google Patents

영상 부호화 및 복호화 방법과 이를 이용한 장치 Download PDF

Info

Publication number
KR101967817B1
KR101967817B1 KR1020187014364A KR20187014364A KR101967817B1 KR 101967817 B1 KR101967817 B1 KR 101967817B1 KR 1020187014364 A KR1020187014364 A KR 1020187014364A KR 20187014364 A KR20187014364 A KR 20187014364A KR 101967817 B1 KR101967817 B1 KR 101967817B1
Authority
KR
South Korea
Prior art keywords
block
candidate
merge
mode
current block
Prior art date
Application number
KR1020187014364A
Other languages
English (en)
Other versions
KR20180058233A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=45773417&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101967817(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20180058233A publication Critical patent/KR20180058233A/ko
Application granted granted Critical
Publication of KR101967817B1 publication Critical patent/KR101967817B1/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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

본 발명은 영상 정보 부호화 및 복호화 기술에 관한 것으로서, 더 구체적으로는 화면 간 예측을 효과적으로 수행하는 방법에 관한 것이다. 본 발명에서는 AMVP를 이용하는 화면 간 예측 방법과 머지 모드를 이용한 화면 간 예측 방법을 통합하여 동일한 후보를 이용하는 방법을 제시한다. 본 발명에서 제시하는 영상 정보 복호화 방법은 현재 블록의 화면 간 예측 방법에 관한 모드 정보를 수신하는 단계, 상기 수신한 모드 정보에 따라 현재 블록에 적용할 화면 간 예측 방법이 AMVP 모드인지 머지 모드인지를 판단하는 단계 및 상기 현재 블록의 움직임 정보를 유도할 후보를 선택하는 단계를 포함하며, 상기 후보는, 상기 현재 블록의 좌측 영역, 상단 영역, 코너 영역 및 상기 현재 블록에 대한 동일 위치 블록에서 선택되고, 상기 AMVP 모드와 상기 머지 모드는 상기 선택된 부호를 기반으로 적용된다.

Description

영상 부호화 및 복호화 방법과 이를 이용한 장치{METHOD FOR ENCODING AND DECODING VIDEO, AND APPARATUS USING SAME}
본 발명은 영상 압축 기술에 관한 것으로서, 구체적으로는 화면 간 예측(inter picture prediction) 방법 및 장치에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 하지만, 영상의 고해상도, 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가한다. 따라서 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우, 정보의 전송 비용과 저장 비용이 증가하게 된다.
고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
영상 압축의 효율을 높이기 위해, 화면 간 예측(inter prediction)과 화면 내 예측(intra prediction)을 이용할 수 있다. 화면 간 예측 방법에서는 다른 픽처의 정보를 참조하여 현재 픽처(picture)의 화소값을 예측하며, 화면 내 예측 방법에서는 동일한 픽처 내에서 화소 간 연관 관계를 이용하여 화소값을 예측한다.
본 발명은 영상 압축의 효율을 높이기 위한 예측 방법을 제공하는 것을 일 목적으로 한다.
본 발명은 화면 간 예측을 효과적으로 하기 위한 방법을 제공하는 것을 일 목적으로 한다.
본 발명은 영상 정보의 압축 효율을 높이면서 영상 품질을 유지하는 방법을 제공하는 것을 일 목적으로 한다.
본 발명은 영상 정보의 부호화/복호화 시에 처리하는 정보량을 줄이는 방법을 제공하는 것을 일 목적으로 한다.
본 발명은 영상 정보 부호화/복호화의 복잡도를 줄이는 방법을 제공하는 것을 일 목적으로 한다.
본 발명의 일 실시형태는 현재 블록의 예측 모드(prediction mode)를 결정하는 단계 및 상기 결정된 예측 모드가 스킵 모드인 경우에는, 순방향, 역방향 또는 양방향 중 하나의 예측 방향을 지정하는 정보를 전송하는 단계를 포함하는 영상 정보 부호화 방법이다.
본 발명의 다른 실시형태는 현재 블록의 예측 모드를 판단하는 단계 및 상기 현재 블록의 예측 모드가 스킵 모드인 경우에는, 예측 방향을 지시하는 정보에 따라서, 스킵 모드의 예측 방향을 단방향 또는 양방향으로 설정하는 단계를 포함하는 영상 정보 복호화 방법이다.
본 발명의 또 다른 실시형태는, AMVP 후보에 대하여, 각 후보를 이용하는 경우에 대한 비용을 체크하는 단계, 머지 후보와 상기 AMVP 후보의 동일성을 비교하는 단계, 상기 AMVP 후보와 동일하지 않은 머지 후보에 대하여, 비용을 체크하는 단계 및 상기 체크한 비용들을 기반으로 현재 블록에 적용할 화면 간 예측 모드를 결정하는 단계를 포함하는 영상 정보 부호화 방법이다.
본 발명의 또 다른 실시형태는, 현재 블록의 주변 영역에서 AMVP 후보를 선택하는 단계, 상기 AMVP 후보와 머지 후보의 동일성을 판단하는 단계 및 상기 동일성 판단 결과, 상기 AMVP 후보와 동일하지 않은 머지 후보에 현재 블록을 머지하는 단계를 포함하는 영상 정보 복호화 방법이다.
본 발명의 또 다른 실시형태는, 현재 블록의 주변 영역에서 AMVP 후보를 선택하고 AMVP 후보 리스트를 구성하는 단계, 상기 AMVP 후보 리스트의 후보에 속하지 않는 머지 후보가 존재하는지를 판단하는 단계 및 상기 AMVP 후보 리스트에 속하지 않는 머지 후보가 있는 경우, 상기 AMVP 후보 리스트에 상기 머지 후보를 추가하거나 상기 AMVP 후보 리스트의 후보 중 소정의 후보를 상기 머지 후보로 변경하도록 시그널링하는 단계를 포함하는 영상 정보 부호화 방법이다.
본 발명의 또 다른 실시형태는, 현재 블록의 주변 영역에서 AMVP 후보를 선택하고 AMVP 후보 리스트를 구성하는 단계, 상기 AMVP 후보 리스트에 속하지 않는 머지 후보가 있는 경우, 상기 AMVP 후보 리스트에 상기 머지 후보를 추가하거나 상기 AMVP 후보 리스트의 후보 중 소정의 후보를 상기 머지 후보로 변경하는 단계 및 상기 변경된 AMVP 후보 리스트를 기반으로 현재 블록을 예측하는 단계를 포함하는 것을 특징으로 하는 영상 정보 복호화 방법이다.
본 발명의 또 다른 실시형태는, AMVP를 이용하는 화면 간 예측 방법과 머지 모드를 이용하는 화면 간 예측 방법 중 현재 블록에 적용되는 예측 방법을 결정하는 단계 및 상기 결정된 예측 방법에 관한 정보를 전송하는 단계를 포함하며, 상기 AMVP의 후보와 상기 머지 모드의 후보를 통합하여 이용하는 영상 정보 부호화 방법이다.
본 발명의 또 다른 실시형태는 현재 블록의 화면 간 예측 방법에 관한 모드 정보를 수신하는 단계 및 상기 현재 블록의 움직임 정보를 유도할 후보를 선택하는 단계를 포함하며, 상기 후보는, 상기 현재 블록의 좌측 영역, 상단 영역, 코너 영역 및 상기 현재 블록에 대한 동일 위치 블록에서 선택되는 영상 정보 복호화 방법이다.
이때, 상기 후보는 상기 현재 블록의 좌측 영역, 상단 영역 및 코너 영역에 있어서 특정 위치의 블록으로서, 화면 간 예측 모드의 블록일 수 있다. 또한, 상기 후보는,
상기 현재 블록의 좌측 영역의 최하단 블록, 상기 현재 블록의 상단 영역에서 최우측 블록 및 상기 현재 블록에 대한 좌하(Left Below), 좌상(Left Top) 그리고 우상(Right Top) 코너 블록일 수도 있다.
본 발명에 의하면, 영상 정보의 압축 효율을 높이면서 영상 품질을 유지할 수 있다.
본 발명에 의하면, 영상 정보의 인코딩/디코딩 시에 처리하는 정보량을 줄이고 영상 정보 처리의 효율을 높일 수 있다.
본 발명에 의하면, 영상 정보 인코딩/디코딩의 복잡도를 줄이고 영상 정보 처리의 효율을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 예측부를 개략적으로 도시한 개념도이다.
도 3은 본 발명이 적용되는 시스템에서 처리 유닛의 쿼드 트리 구조에 관한 일 예를 개략적으로 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 영상 복호화기를 개략적으로 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 영상 복호화기의 예측부를 개략적으로 나타낸 개념도이다.
도 6은 본 발명이 적용되는 시스템에서 적용되는 AMVP 모드의 일 예를 개략적으로 설명하는 도면이다.
도 7은 본 발명이 적용되는 시스템에서 머지 모드를 적용하는 일 예를 개략적으로 설명하는 도면이다.
도 8은 본 발명이 적용되는 부호화기에서 예측 모드 정보를 구성해서 전송하는 방법을 개략적으로 설명하는 도면이다.
도 9는 본 발명이 적용되는 부호화기에서 예측 후보들의 비용을 산출하는 방법을 개략적으로 설명하는 순서도이다.
도 10은 본 발명이 적용되는 복호화기에서 머지가 수행되는 방법을 개략적으로 설명하는 순서도이다.
도 11은 본 발명이 적용되는 부호화기에서 상술한 바와 같이 AMVP 후보 리스트를 변경하는 동작을 개략적으로 설명하는 순서도이다.
도 12는 본 발명이 적용되는 복호화기에서 변경된 AMVP 리스트를 기반으로 예측을 수행하는 방법을 개략적으로 설명하는 도면이다.
도 13은 다이렉트 모드와 머지 모드를 선택하는 시그널링 방법을 개략적으로 설명하는 순서도이다.
도 14는 다이렉트 모드와 머지 모드를 통합하여 시그널링을 수행하는 일 예를 개략적으로 나타낸 것이다.
도 15는 플래그를 사용하여 다이렉트 모드를 적용할지 코딩 블록 머지를 적용할지를 시그널링 하는 예를 개략적으로 도시한 것이다.
도 16은 다이렉트 모드가 적용될지 코딩 블록 머지가 적용될지를 유도해내는 방법을 개략적으로 도시한 것이다.
도 17은 본 발명에 따라서 통합 모드를 적용하는 경우에 대한 시그널링의 일 예를 개략적으로 나타내는 순서도이다.
도 18은 통합 모드의 후보 블록들이 선택되는 영역을 개략적으로 설명하는 도면이다.
도 19는 본 발명이 적용되는 부호화기에서 통합 모드를 적용하여 예측 후보를 생성하고 해당 정보를 전송하는 방법을 개략적으로 설명하는 순서도이다.
도 20은 본 발명이 적용되는 복호화기에서 통합 모드를 적용하여 예측을 수행하는 방법을 개략적으로 설명하는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 부호화/복호화 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화(encoding) 장치를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 영상 부호화 장치(100)는 픽처 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 부호화부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 구비한다.
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 단위로 분할할 수 있다. 이때, 처리 단위는 예측 유닛(Prediction Unit: PU)일 수도 있고, 변환 유닛(Transform Unit: TU)일 수도 있으며, 부호화 유닛(Coding Unit: CU)일 수도 있다.
예측부(110)는 후술하는 바와 같이, 화면 간 예측(inter prediction)을 수행하는 화면 간 예측부와 화면 내 예측(intra predicition)을 수행하는 화면 내 예측부를 포함한다. 예측부(110)는, 픽처 분할부(105)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성한다. 예측부(110)에서 픽처의 처리 단위는 부호화 유닛일 수도 있고, 변환 유닛일 수도 있고, 예측 유닛일 수도 있다. 또한, 해당 처리 단위에 대하여 실시되는 예측이 화면 간 예측인지 화면 내 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)를 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 예측 유닛 단위로 결정되고, 예측의 수행은 변환 유닛 단위로 수행될 수도 있다. 생성된 예측 블록과 원본 블록 사이의 잔차값(residual)(잔차 블록(residual block) 또는 잔차 신호(residual siganal))은 변환부(115)로 입력된다. 또한, 예측을 위해 사용한 예측 모드(predicition mode) 정보, 움직임 벡터(motion vector) 정보 등은 잔차값과 함께 엔트로피 부호화부(130)에서 부호화되어 복호화기에 전달된다.
변환부(115)는 변환 단위로 잔차 블록에 대한 변환을 수행하고 변환 계수를 생성한다. 변환부(115)에서의 변환 단위는 변환 유닛일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다. 이때, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 변환부(115)는 잔차 블록을 DCT(Discrete Cosine Transform) 및/또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다.
양자화부(120)는 변환부(115)에서 변환된 잔차값들을 양자화하여 양자화 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공된다.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화 계수를 재정렬한다. 양자화 계수를 재정렬함으로써 엔트로피 부호화부(130)에서의 부호화의 효율을 높일 수 있다. 재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화 계수들을 1차원의 벡터 형태로 재정렬할 수 있다. 재정렬부(125)에서는 양자화부에서 전달된 계수들의 확률적인 통계를 기반으로 계수 스캔닝의 순서를 변경함으로써 엔트로피 부호화부(130)에서의 엔트로피 부호화 효율을 높일 수도 있다.
엔트로피 부호화부(130)는 재정렬부(125)에 의해 재정렬된 양자화 계수들에 대한 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화에는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다. 엔트로피 부호화부(130)는 재정렬부(125) 및 예측부(110)로부터 전달받은 부호화 유닛의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 유닛 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽처(reference picture) 정보, 블록의 보간(interpolation) 정보, 필터링 정보 등 다양한 정보를 부호화할 수 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환한다. 역양자화부(135) 및 역변환부(140)에서 생성된 잔차값(Residual)은 예측부(110)에서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
필터부(145)는 디블록킹 필터 및/또는 ALF(Adaptive Loop Filter)를 복원된 픽처에 적용할 수 있다.
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다.
한편, 화면 간 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽처는 화면 간 예측을 수행하는 예측부(110)에 제공될 수 있다.
부호화 유닛(Coding Unit: CU)은 픽처의 부호화/복호화가 수행되는 단위로서, 쿼드 트리 구조(Quad Tree Structure)를 기반으로 깊이(Depth)를 가지며 분할될 수 있다. 부호화 유닛은 64x64, 32x32, 16x16, 8x8 등의 여러 크기를 가질 수 있다.
부호화기는 최대 부호화 유닛(Largest Coding Unit: LCU)과 최소 부호화 유닛(Smallest Coding Unit: SCU)에 관한 정보를 복호화기에 전송할 수도 있다. 최대 부호화 유닛 및/또는 최소 부호화 유닛에 관한 정보와 함께 분할 가능한 회수에 관한 정보(깊이 정보)가 복호화기에 전송될 수 있다. 부호화 유닛이 쿼드 트리 구조를 기반으로 분할되는지에 관한 정보는 분할 플래그(Split Flag)와 같은 플래그 정보를 통해 부호화기로부터 복호화기로 전송될 수 있다. 이하, 특별한 설명이 없는 한, 본 명세서에서 ‘전송’은 부호화기로부터 복호화기로의 정보 전달을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 예측부를 개략적으로 도시한 개념도이다.
도 2를 참조하면 예측부(200)는 화면 간 예측부(210) 및 화면 내 예측부(220) 를 포함할 수 있다.
화면 간 예측부(210)는 현재 픽처의 이전 픽처 및/또는 이후 픽처 중 적어도 하나의 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 화면 내 예측부(220)는 현재 픽처 내의 화소 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 화면 간 예측부(210)는 예측 유닛에 대하여, 참조 픽처(reference picture)를 선택하고 예측 유닛과 동일한 크기의 참조 블록을 정수 화소 샘플 단위로 선택할 수 있다. 이어서, 화면 간 예측부(210)는 현재 예측 유닛과의 잔차 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되는 예측 블록을 생성한다. 예측 블록은 1/2 화소 샘플 단위와 1/4 화소 샘플 단위와 같이 정수 이하 샘플 단위로 생성될 수 있다.
이때, 움직임 벡터는 정수 화소 이하의 단위로 표현될 수 있으며, 예컨대 휘도(luma) 화소에 대해서는 1/4 화소 단위로, 색차(chroma) 화소에 대해서는 1/8 화소 단위로 표현될 수 있다.
화면 간 예측부(210)가 선택한 참조 픽처의 인덱스, 움직임 벡터(ex. Motion Vector Predictor), 잔차 신호 등의 정보는 부호화되어 복호화기에 전달된다.
도 3은 본 발명이 적용되는 시스템에서 처리 유닛의 쿼드 트리 구조에 관한 일 예를 개략적으로 설명하는 도면이다.
최대 부호화 유닛(LCU, 300)은 분할을 통해서 더 작은 부호화 유닛(310)들로 이루어진 계층적 구조(hierarchical structure)를 가질 수 있으며, 부호화 유닛의 계층적 구조는 크기 정보, 깊이 정보, 분할 플래그 정보 등을 기반으로 특정될 수 있다. 최대 부호화 유닛의 크기 정보, 분할 깊이 정보 및 현재 부호화 유닛의 분할 여부 정보는 비트 스트림 상의 시퀀스 파라미터 셋(SPS)에 포함되어 영상 복호화기에 전송될 수 있다. 다만, 최소 부호화 유닛은 더 이상 작은 부호화 유닛으로 분할되지 않으므로, 최소 부호화 유닛에 대해서는 부호화 유닛의 분할 플래그가 전송되지 않을 수 있다.
한편, 화면 간 예측과 화면 내 예측 중 어떤 예측이 수행될 것인지는 부호화 유닛 단위로 결정될 수 있다. 화면 간 예측을 수행하는 경우에는 예측 유닛 단위로 화면 간 예측이 수행될 수 있다. 화면 내 예측을 수행하는 경우에는, 예측 유닛 단위로 예측 모드가 정해져서 예측 유닛 단위로 예측이 수행될 수 있다. 이때, 예측 유닛 단위로 예측 모드가 정해지고 변환 유닛 단위로 화면 내 예측이 수행될 수도 있다.
도 3을 참조하면, 화면 내 예측의 경우에 예측 유닛(320)은 2N×2N 또는 N×N (N은 정수)의 크기일 수 있고, 화면 간 예측의 경우에 예측 유닛(330)은 2N×2N, 2N×N, N×2N, 또는 N×N의 크기일 수 있다. 이때, N×N를 특정한 경우, 예컨대 최소 크기 부호화 유닛에 대해서만 적용하도록 정하거나 화면 내 예측에 대해서만 적용하도록 정할 수도 있다. 또한, 도시된 예측 블록의 사이즈 외에, N×mN, mN×N, 2N×mN 또는 mN×2N (m<1)을 더 정의하여 사용할 수도 있다.
도 4는 본 발명의 일 실시예에 따른 영상 복호화기를 개략적으로 나타낸 블록도이다. 도 4를 참조하면, 영상 복호화기(400)는 엔트로피 복호화부(410), 재정렬부(415), 역양자화부(420), 역변환부(425), 예측부(430), 필터부(435) 메모리(440)를 포함할 수 있다.
영상 부호화기에서 영상 비트 스트림이 입력된 경우, 입력된 비트 스트림은 영상 부호화기에서 영상 정보가 처리된 절차에 따라서 복호화될 수 있다.
예컨대, 영상 부호화기에서 엔트로피 부호화를 수행하기 위해 CAVLC 등의 가변 길이 부호화(Variable Length Coding: VLC, 이하 ‘VLC’ 라 함)가 사용된 경우에는 엔트로피 복호화부(410)도 부호화기에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 복호화를 수행할 수 있다. 영상 부호화기에서 엔트로피 부호화를 수행하기 위해, CABAC을 이용한 경우에도, 엔트로피 복호화부(410)는 이에 대응하여 CABAC을 이용한 엔트로피 복호화를 수행할 수 있다.
엔트로피 복호화부(410)는 엔트로피 부호화되어 전송된 비트스트림 내의 정보를 엔트로피 복호화한다. 엔트로피 복호화부(410)에서 복호화된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(430)로 제공되고 엔트로피 복호화부에서 엔트로피 복호화가 수행된 잔차값은 재정렬부(415)로 입력될 수 있다.
재정렬부(415)는 엔트로피 복호화부(410)에서 엔트로피 복호화된 비트 스트림을 영상 부호화기에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(415)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(415)는 부호화기에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(420)는 부호화기에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(425)는 영상 부호화기에서 수행된 양자화 결과에 대해, 부호화기의 변환부가 수행한 DCT 및 DST에 대해 역DCT 및/또는 역DST를 수행할 수 있다. 역변환은 부호화기에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 부호화기의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 복호화기의 역변환부(425)는 부호화기의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(430)는 엔트로피 복호화부(410)에서 제공된 예측 블록 생성 관련 정보와 메모리(440)에서 제공된 이전에 복호화된 블록 및/또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록(reconstructed block)은 예측부(430)에서 생성된 예측 블록과 역변환부(425)에서 제공된 잔차 블록을 이용해 생성될 수 있다.
복원된 블록 및/또는 픽처는 필터부(435)로 제공될 수 있다. 필터부(435)는 복원된 블록 및/또는 픽처에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 적응적(adaptive) 루프 필터링 등을 적용한다.
메모리(440)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다.
도 5는 본 발명의 일 실시예에 따른 영상 복호화기의 예측부를 개략적으로 나타낸 개념도이다.
도 5를 참조하면, 예측부(500)는 화면 내 예측부(510) 및 화면 간 예측부(520)를 포함할 수 있다.
화면 내 예측부(510)는 해당 예측 유닛에 대한 예측 모드가 인트라 예측(intra prediction) 모드(화면 내 예측 모드)인 경우에, 현재 픽처(current block) 내의 화소 정보를 기초로 예측 블록을 생성할 수 있다.
화면 간 예측부(520)는 해당 예측 유닛에 대한 예측 모드가 인터 예측(inter prediction) 모드(화면 간 예측 모드)인 경우에, 영상 부호화기에서 제공된 현재 예측 유닛의 화면 간 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보를 이용해 현재 예측 유닛이 포함된 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나의 픽처에 포함된 정보를 기초로 현재 예측 유닛에 대한 화면 간 예측을 수행할 수 있다. 이때, 움직임 정보는 수신되는 부호화 유닛의 스킵 플래그, 머지 플래그 등을 확인하고, 이에 대응하여 유도될 수 있다.
도 5에서는 설명의 편의를 위해, 예측부(500)가 각 기능별 구성을 포함하는 것으로 설명하였으나, 본 발명은 이에 한정되지 않으며, 예측부는 상술한 기능을 수행하는 단일 구성으로 구현될 수도 있다.
인터 예측 모드의 경우에 부호화기 및 복호화기에서 움직임 정보를 유도하는 방법으로는 스킵(skip) 모드, 다이렉트(direct) 모드, 머지(merge) 모드 등이 있다.
*스킵 모드와 다이렉트 모드에서는 AMVP(Advanced Motion Vector Predictor)의 후보 MVP(Motion Vector Predictor)로부터 유도되는 움직임 정보를 사용한다. 설명의 편의를 위해, 이하 스킵 모드와 다이렉트 모드를 함께 지칭하여 ‘AMVP 모드’라 한다. 예컨대, AMVP 모드에서는 참조 픽처에 대한 현재 블록과 주변 블록의 움직임 벡터 차이(Motion Vector difference: MVD)와 참조 픽처에 대한 주변 블록의 움직임 벡터(Motion Vector Predictor: MVP)의 합으로 참조 픽처에 대한 현재 블록의 움직임 벡터를 유도할 수 있다.
다이렉트 모드가 적용된 블록에 대해서는, 상기 블록의 움직임 벡터가 지시하는 참조 블록을 기반으로 생성된 예측 블록과 현재 블록의 차이값에 해당하는 잔차 블록이 전송될 수 있다. 스킵 모드가 적용된 블록(ex. 예측 유닛)에 대해서는 부호화기로부터 복호화기로 잔차 신호가 전송되지 않을 수 있다. 스킵 모드의 경우에는 예측 블록의 값을 현재 블록의 값으로 사용할 수 있다.
머지 모드가 적용되는 경우에는, 현재 블록(예측 대상 블록)의 주변 블록들 중에서 머지 후보(candidate)를 정하고, 머지 후보들 중 어느 한 후보의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 머지 모드가 적용된 현재 블록에 대해서는 잔차 신호가 전송될 수 있다.
도 6은 본 발명이 적용되는 시스템에서 적용되는 AMVP 모드의 일 예를 개략적으로 설명하는 도면이다.
AMVP를 적용하는 경우에는, 현재 블록 주변의 이용 가능한(available) 후보 블록 및/또는 현재 블록과 동일 위치에 있는(co-located) 각 참조 픽처(대상 픽처라고도 함)의 파티션들 중에서 이용 가능한(available) 블록(이하, 설명의 편의를 위해 ‘동일 위치 블록(co-located block)’이라 함)의 MVP에 대해 움직임 벡터 경쟁(Motion Vector Competition: MVC, 이하 ‘MVC’라 함)을 적용하여 최적의 MVP를 선택할 수 있다. 현재 블록의 움직임 벡터는 상기 최적의 MVP를 기반으로 유도될 수 있다. 한편, 현재 블록의 주변 블록이 화면 간 예측 모드인 경우에는 이용 가능한 블록이 아니라고 할 수 있다.
도 6의 예를 참조하면, 현재 블록의 좌측 영역(610)에서 화살표 방향으로 검색을 하면서 참조 픽처를 지시하는 참조 인덱스(reference index)가 현재 블록과 동일하고 이용 가능한 첫 번째 블록(A)의 MVP를 AMVP의 후보 중 하나로 선택할 수 있다.
도 6에서는 화살표 방향을 따라 위에서 아래로 검색하는 것을 설명하였으나, 이는 현재 블록의 좌측 영역에서 AMVP 후보를 선택하는 방법의 일 예로서, 도 6과 달리 아래에서 위로 검색을 수행할 수도 있다.
또한, 현재 블록의 좌측(left) 영역 전체를 순서대로 검색하는 대신에, 좌측 영역에서 특정 블록을 AMVP의 후보로서 고정적으로 사용할 수도 있다. 예컨대, 코너 블록(C, 630)와 맞닿는 좌측 영역 최하단 블록의 MVP를 좌측 영역의 AMVP 후보로서 이용할 수도 있다.
현재 블록의 상단(top)에서도 AMVP의 후보를 선택할 수 있다. 도 6의 예를 참조하면, 현재 블록의 상단 영역(620)에서 화살표 방향을 따라서 왼쪽에서 오른쪽으로 검색하면서 현재 블록과 참조 인덱스가 동일하고 이용 가능한 첫 번째 블록(B)의 MVP를 상단 영역에 대한 AMVP 후보로서 선택할 수 있다.
도 6에서는 현재 블록의 상단을 왼쪽에서 오른쪽으로 검색하는 것을 설명하였으나, 이는 현재 블록의 상단 영역에서 AMVP 후보를 선택하는 방법의 일 예로서, 도 6과 달리 오른쪽에서 왼쪽으로 검색할 수도 있다.
또한, 현재 블록의 상단 영역 전체를 순서대로 검색하는 대신에, 특정 블록을 현재 블록의 상단 영역에 대한 AMVP 후보로서 고정적으로 사용할 수도 있다. 예컨대, 코너 블록(C, 640)와 맞닿는 상단 영역 최우측 블록의 MVP를 현재 블록의 상단 영역에 대한 AMVP 후보로서 이용할 수도 있다.
현재 블록의 각 코너 블록(630, 640, 650) 중에서도 AMVP의 후보를 선택할 수 있다. 도 6의 예를 참조하면, 코너 블록들(C)에 대하여, 우상단 코너 블록(640) → 좌상단 코너 블록(650) → 좌하단 코너 블록(630)의 순서로 검색하면서 현재 블록과 참조 인덱스가 동일하고 이용 가능한 첫 번째 블록의 MVP를 선택할 수도 있다.
도 6에서는 우상단 → 좌상단 → 좌하단의 순서로 코너 블록을 검색하는 것을 설명하였으나, 이는 코너 블록들에서 AMVP 후보를 선택하는 방법의 일 예로서, 도 6과 달리 좌하단 → 좌상단 → 우상단의 순서로 검색할 수도 있고, 좌상단 → 우상단 → 좌하단 혹은 좌상단 → 좌하단 → 우상단의 순서로 검색할 수도 있다.
또한, 각 코너 블록을 순서대로 검색하는 대신에, 각 코너 블록의 MVP를 모두 AMVP의 후보로 선택할 수도 있다.
상술한 각 영역 별(현재 블록의 좌측/상단/코너 영역) AMVP 후보들 외에, 각 영역별 AMVP 후보들의 조합을 AMVP 후보 중 하나로 선택할 수도 있다. 예컨대, 현재 블록의 좌측 영역, 상단 영역, 코너 영역에서 선택된 MVP에 대하여 각 움직임 정보들의 미디언 값을 AMVP의 후보 중 하나로 취할 수도 있다.
현재 블록에 대하여 공간적으로 이웃하는 블록들로부터 AMVP 후보를 선택하는 방법 외에, 동일 위치 블록(co-located block)의 MVP를 AMVP 후보로 선택할 수 있다.
이렇게 선택된 AMVP 후보들에 대하여 MVC에 의해 최적의 MVP를 선택하고, 선택한 최적의 MVP를 이용하여 현재 블록의 움직임 정보를 나타낼 수 있다.
예컨대, 부호화기/복호화기의 예측부에서는 AMVP의 후보들이 선택되면, 중복성(redundancy)을 줄이기 위해 중복되는 MVP를 배제하고, AMVP 후보 리스트를 작성할 수 있다. 예컨대, 중복되는 n개의 MVP들 중에서 한 MVP만을 남기고, 나머지 n-1 개의 MVP는 AMVP 후보 리스트 작성에서 배제할 수 있다.
AVMP 후보 리스트를 구성하는 MVP들의 개수와 순서는 특정될 수 있다. 예컨대, 현재 블록 주변의 후보들 중에서 소정 개수의 후보를 선택하고, 동일 위치 블록으로부터 하나의 후보를 선택하여 AMVP 후보 리스트를 구성할 수도 있다. 이때, AMVP 후보 리스트를 구성할 후보들의 이용 가능성을 판단하는 순서를 특정하고, 이 순서에 따라서 먼저 이용 가능한 것으로 판단된 후보들로 리스트를 구성할 수도 있다. 후보 블록이 화면 내 예측 모드인 경우에는 이용 가능한 MVP가 아닌 것으로 보고, AMVP 후보에서 제외할 수 있다.
예측부에서는 AMVP 후보 리스트 내의 후보들에 대한 비용(cost)을 산출하여 최적의 MVP(best MVP)를 선택할 수 있다. 이 경우에, AMVP 후보 리스트에서 선택된 MVP에 대한 비용과 특정 위치의 MVP 혹은 특정 연산 결과 얻어지는 MVP에 대한 비용을 추가로 비교하여 하나의 MVP를 정할 수도 있다.
상술한 바와 같이, AMVP에 의해 최적의 MVP가 유도(derivation)되면, 이 MVP를 이용하여 스킵 모드 또는 다이렉트 모드를 적용할 수 있다.
도 7은 본 발명이 적용되는 시스템에서 머지 모드를 적용하는 일 예를 개략적으로 설명하는 도면이다.
머지 모드가 적용되는 경우에는 현재 블록 주변의 블록들 중 어느 하나의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 나타낼 수 있다. 예컨대, 현재 블록 주변의 블록들 중 어느 하나의 참조 블록(픽처)에 대한 움직임 벡터를 현재 블록의 움직임 벡터로 이용할 수 있다. 이때, 움직임 정보와 함께 잔차 신호를 전송할 수도 있고, 예측 블록의 화소값을 현재 블록의 화소값으로 사용하는 경우에는 잔차 신호를 전송하지 않을 수도 있다. 여기서, 현재 블록 주변의 블록들은 동일 위치 블록을 포함한다.
예를 들어 도 7의 경우에, 현재 블록의 좌측 영역에서 선택된 블록(710)과 현재 블록의 상단 영역에서 선택된 블록(720)을 머지의 후보로 이용할 수 있다. 이때, 도시된 바와 같이, 현재 블록의 좌측 영역에서 선택되는 블록은 좌측 상단의 블록일 수 있고, 현재 블록의 상단 영역에서 선택되는 블록은 상단 좌측의 블록일 수 있다.
또한, 머지 모드를 적용하는 경우에도, AMVP 모드의 경우와 유사하게 동일 위치(co-located) 블록을 후보 중의 하나로 할 수도 있고, 현재 블록의 코너에 있는 블록들을 후보로 할 수도 있다.
이렇게 선택된 머지 후보들 중에서 하나의 후보를 선택하고, 선택한 후보의 움직임 벡터를 이용하여 현재 블록의 움직임 정보를 나타낼 수 있다. 예컨대, 부호화기/복호화기의 예측부에서는 머지 후보들이 선택되면, 중복성(redundancy)을 줄이기 위해 중복되는 후보들을 배제하고, 머지 후보 리스트를 작성할 수 있다.
머지 후보 리스트를 구성하는 후보들의 개수와 순서는 특정될 수 있다. 예컨대, 현재 블록 주변의 블록들 중에서 소정 개수의 후보를 선택하고, 동일 위치 블록으로부터 하나의 후보를 선택할 수도 있다. 이때, 후보의 이용 가능성을 판단하는 순서를 특정하고, 이 순서대로 후보들의 이용 가능성을 판단해서, 이용 가능한 것으로 먼저 판단된 후보들로 머지 후보 리스트를 구성할 수도 있다. 화면 내 예측 모드의 블록은 이용 가능한(unavailable) 블록이 아니라고 판단될 수 있다.
예측부에서는 머지 후보 리스트 내의 후보들에 대한 비용을 산출하여 최적의 후보 블록을 선택할 수 있다. 상술한 바와 같이, 머지 후보들 중에서 하나의 후보 블록이 선택되면, 현재 블록을 이 블록에 머지할 수 있다. 현재 블록이 선택된 후보 블록에 머지되면, 선택된 후보 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다.
한편, 부호화기에서는 AMVP에 의해 선택된 MVP를 이용하는 경우의 비용과 머지 모드를 적용하는 경우의 비용을 비교하여, AMVP 모드와 머지 모드 중 어느 하나를 이용하여 현재 블록의 화면 간 예측을 수행할 수도 있다.
<예측 모드의 방향성 지시>
상술한 움직임 정보의 유도 방법들이 부호화기에서 사용된 경우에, 부호화기는 현재 블록의 움직임 정보를 유도하기 위한 정보를 복호화기에 전송할 수 있다.
전송되는 정보는 잔차 신호의 존부에 따라서, 우선 스킵 모드가 적용되는지를 알려주고, 스킵 모드가 적용되는 경우에는 그에 따라서 예측이 이루어지도록 할 수 있다. 스킵 모드가 적용되는지에 관한 정보는 스킵 모드 적용에 관한 플래그(이하, ‘스킵 플래그(skip_flag)’라 함)를 통해 전달될 수도 있다.
스킵 모드가 적용되지 않는다는 것을 스킵 플래그가 지시한 경우에는 다이렉트 모드가 적용되는지를 지시할 수 있다. 이때, 예측 모드에 관한 인덱스를 지정하고, 다이렉트 모드를 지정하는 인덱스(ex. pred-mode==0)를 전송함으로써, 현재 블록에 다이렉트 모드가 적용된다는 정보를 전달할 수 있다.
머지 모드가 적용되는 경우에, 부호화기는 머지 모드에 관한 정보를 복호화기에 전송할 수 있다. 예컨대, 머지 모드가 적용되는지에 관한 정보를 나타내는 플래그(이하, ‘머지 플래그’라 함)를 사용하여 해당 블록에 머지 모드가 적용되는지를 복호화기에 알려줄 수 있다.
표 1은 움직임 정보를 유도하는 방법에 관한 정보를 전송하는데 이용되는 신택스 구조의 일 예를 개략적으로 나타낸 것이다.
Figure 112018049809496-pat00001
여기서, skip_flag는 스킵 모드가 적용되는지를 나타내는 플래그로서, skip_flag의 값이 1인 경우에는 스킵 모드가 적용되는 것을 나타내고 있다. 또한, merge_flag는 머지 모드가 적용되는지를 나타내는 플래그로서, merge_flag의 값이 1인 경우에는 머지 모드가 적용되는 것을 나타낸다. 다만, 표 1은 상술한 내용을 적용하는 일 예로서, skip_flag의 값이 0인 경우에 스킵 모드를 적용하거나 merge_flag의 값이 0인 경우에 머지 모드를 적용하도록 정할 수도 있다.
상술한 표에서 pred_mode는 어떤 예측 모드가 적용되는지를 지시하는 신택스로서, pred_mode==0은 다이렉트 모드가 적용되었다는 것을 지시하는 값이다.
merge_left_flag는 현재 볼록이 어느 쪽의 머지 후보에 머지(merge)되는지를 지시하는 플래그이다. 예를 들어, merge_left_flag==1인 경우에는 현재 블록의 좌측에서 선택된 머지 후보에 머지하는 것을 지시하고, merge_left_flag==0인 경우에는 현재 블록의 상단에서 선택된 머지 후보에 머지하는 것을 지시하도록 할 수 있다.
여기서는 다이렉트 모드의 적용 여부를 지시하는 예측 모드 (pred_mode)를 먼저 확인한 후에, 머지 플래그를 확인하는 것으로 설명하였으나, 머지 플래그를 먼저 확인하고 예측 모드를 확인할 수도 있다.
또한, 상술한 표 1과 달리, 잔차 신호의 전송 여부와 관련하여, 잔차 신호가 전송되지 않는 스킵 모드가 적용되거나 혹은 잔차 신호의 전송 없이 머지 모드가 적용되는 경우에는, 예측 유닛 레벨의 파라미터 셋이 아닌 상위단의 파라미터 셋에서 관련 정보를 알려줄 수도 있다.
한편, 스킵 모드가 적용되는 경우에, 예측 방향을 알려주는 신택스를 파라미터 셋에 추가하여 단방향(uni-directional) 예측과 양방향(bi-directional) 예측이 모두 효과적으로 수행될 수 있도록 할 수 있다.
예컨대, 복수의 참조 인덱스와 복수의 움직임 벡터를 이용하는 화면 간 예측 또는 화면 내 예측을 통해 복호화되는 B 슬라이스(slice)에 스킵 모드를 적용하면서 예측 방향을 지시함으로써, B 슬라이스에서도 효과적으로 단방향 예측, 예컨대, L0 방향 예측 또는 L1 방향 예측이 수행될 수 있도록 할 수 있다. 여기서, L0과 L1은 참조 픽처의 리스트로서, L0은 현재 픽처에 순방향(시간축상에서 과거 방향)으로 가까운 참조 픽처일수록 더 낮은 인덱스가 부여된 리스트이고, L1은 현재 픽처에 역방향(시간축상에서 미래 방향)으로 가까운 참조 픽처일수록 더 낮은 인덱스가 부여된 리스트이다. 따라서, B 슬라이스의 경우에도 스킵 모드를 적용하면서, 세 예측 방향(L0 방향, L1방향, 양 방향) 중 어느 한 방향을 예측 방향으로 지정할 수 있다.
스킵 모드가 적용되는 경우에 예측 방향을 알려주는 신택스로서는 예측의 방향을 지시하는 예측 방향 지시자(예컨대, inter_pred_idc)를 도입할 수 있다.
표 2는 예측 방향 지시자(inter_pred_idc)를 사용하는 경우에 관한 신택스의 일 예를 개략적으로 나타낸 것이다.
Figure 112018049809496-pat00002
표 2의 예에 있어서, 스킵 모드가 적용되는 경우(skip_flag=1)에 예측 방향 지시자(inter_pred_idc)는 상술한 바와 같이, 세 예측 방향(L0방향, L1방향, 양 방향) 중 어느 한 방향을 지시할 수 있다. 예컨대, (1) inter_pred_idc==0인 경우에는 L0 방향의 예측, (2) inter_pred_idc==1인 경우에는 L1 방향의 예측, (3) inter_pred_idc==2인 경우에는 양 방향 예측을지시하도록 할 수 있다.
도 8은 본 발명이 적용되는 부호화기에서 예측 모드 정보를 구성해서 전송하는 방법을 개략적으로 설명하는 도면이다.
도 8을 참조하면, 부호화기는 우선 파라미터 셋을 구성한다(S810). 파라미터 셋은 소정의 신택스 구조에 따라서 구성되며, 복호화기에 전송할 특정 정보를 포함한다. 파라미터 셋을 해당 정보에 대한 ‘신택스’라 할 수도 있다. 스킵 모드를 적용하는 경우에, 부호화기는 스킵 모드를 적용하여 움직임 벡터를 이용할 참조 픽처의 리스트를 지시하는 지시자를 포함하도록 파라미터를 구성할 수 있다.
*이때, 부호화기는 단순히 참조 픽처 리스트를 지시하는 것이 아니라, 구체적인 참조 픽처 또는 참조 블록을 지시하는 지시자가 포함되도록 파라미터 셋을 구성할 수도 있다. 참조 픽처는 참조 픽처 리스트 내의 특정 픽처일 수 있고, 참조 블록은 현재 블록의 주변 블록 중 어느 하나 혹은 동일 위치 블록(collocated block)일 수 있다.
부호화기는 구성한 파라미터 셋을 복호화기로 전송한다(S820). 파라미터 셋에 포함된 정보는 부호화되어 비트스트림으로 복호화기에 전달될 수 있다.
파라미터 셋을 수신한 복호화기는 현재 블록을 복호화하기 위한 정보를 획득할 수 있다. 수신한 파라미터 셋은 스킵 모드에서 예측 방향을 지시하는 정보를 포함할 수 있다. 복호화기는 스킵 모드를 적용하는 경우에는 지시된 예측 방향, 즉 지시된 참조 픽처 리스트 중에서 지시되는 움직임 벡터 예측자(Motion Vector Predictor: MVP)를 이용하여 현재 블록의 움직임 정보를 얻을 수 있다.
전송된 정보에서 구체적으로 스킵 모드를 적용할 참조 블록이 직접 지시되는 경우에는, 해당 참조 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다. 스킵 모드가 적용되는 경우이므로, 해당 움직임 벡터가 지시하는 참조 블록을 통해 생성된 예측 블록을 현재 블록의 화소값 블록으로 이용할 수 있다.
<AMVP모드와 머지 모드의 통합 - 비용 산출 및 AMVP 후보 리스트 변경>
한편, 움직임 정보의 두 유도 방법(AMVP 모드, 머지 모드)은, 현재 블록의 주변 블록으로부터 유도된 움직임 정보와 잔차 신호(잔차가 없어 잔차 신호를 전달되지 않는 경우도 포함) 를 통해서, 현재 블록의 화소 정보를 구한다는 점에서 유사하다. 따라서, AMVP모드와 머지 모드를 통합하여 이용하는 것을 고려할 수 있다.
AMVP모드와 머지 모드에서는 현재 블록의 움직임 정보를 유도하기 위해 사용하는 후보 블록들이 상이할 수 있다. 예컨대, AMVP모드에서는 여러 후보 블록의 움직임 벡터를 후보 MVP로 하고, 이 후보 MVP들 중 하나를 이용하여 현재 블록의 움직임 정보를 유도할 수 있다. 머지 모드에서는 현재 블록 좌측의 후보 블록과 현재 블록 상단의 후보 블록 중 선택된 후보 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 정보를 유도할 수 있다.
다만, AMVP 모드와 머지 모드의 후보 블록들이 서로 다르다고 해도, AMVP 모드에서 후보 블록(후보 MVP)을 선택하기 위해 검색하는 영역에는 머지 후보가 포함되어 있다. 예컨대, AMVP 모드를 적용하는 도 6의 경우에, 후보 블록 A와 B를 선택하기 위해 검색하는 영역(610, 620)에, 머지 모드를 적용하는 도 7에서 선택된 후보 블록(710, 720)이 포함되어 있다.
또한, 현재 블록의 움직임 정보를 유도하는 방법으로서 AMVP 모드와 머지 모드를 순차적으로 적용할 수도 있는데, 먼저 적용하는 모드로부터 나중에 사용하는 모드에 필요한 정보를 유도해서 정보 전달량을 줄일 수도 있다. 가령, AMVP 모드를 먼저 적용하고, AMVP 모드를 이용하지 않는 경우에 머지 모드를 이용한다고 가정하면, AMVP 모드에서 사용되는 정보들(예컨대, 후보 블록(후보 MVP)의 정보)을 조합하여 머지 모드를 적용하는데 필요한 정보를 유도하도록 할 수 있다. 예컨대, AMVP 모드에서 사용하는 스킵 플래그, 예측 모드를 나타내는 신택스, AMVP 후보 등에 관한 정보들을 조합하여 머지 모드를 나타내기 위한 정보의 양을 줄일 수 있다.
구체적으로, AMVP의 후보들 중에서 최선의 후보를 선택하기 위해 비용을 산출하는 과정에서 머지 모드의 후보를 고려할 수 있다.
이하, 부호화기의 측면과 복호화기의 측면을 나누어 설명한다.
(1) 부호화기 측면
상술한 바와 같이, AMVP 후보들에 대한 비용을 산출하는 과정에서 머지 후보를 고려하면, 부호화기측에서는 AMVP모드와 머지 모드에 대한 비용을 계산하는 과정을 단순화할 수 있으므로, 부호화 복잡도(encoding complexity)를 감소시킬 수 있다.
구체적으로, 부호화기에서는 우선 현재 블록에 대하여 AMVP모드를 적용할 때의 비용(cost)을 체크한다. 이때, 부호화기는 스킵 모드에 대한 비용과 다이렉트 모드에 대한 비용을 각각 체크할 수 있다.
스킵 모드에 대한 비용이 다이렉트 모드에 대한 비용보다 적은 경우에는 아래와 같은 두 조건 중 일부 또는 전부를 사용하여 머지 모드에 대한 비용을 산출하는 과정을 패스(pass)할 수 있다. 스킵 모드에 대한 비용이 다이렉트 모드에 대한 비용보다 적은 경우라면, 스킵 모드에 대한 후보와 다이렉트 모드에 대한 후보에 대한 비용을 비교한 후에 스킵 모드를 적용하는 쪽으로 결정이 될 것이다. 다이렉트 모드와 유사한 방식으로 주변 블록의 움직임 벡터를 이용하되 잔치 신호를 전송하는 머지 모드의 비용은 다이렉트 모드의 비용과 유사할 수 있다. AMVP의 후보 블록과 동일해서 스킵 모드와 다이렉트 모드의 비용을 비교할 때 이미 검토된 후보 블록이라면, 해당 후보 블록에 대해서는 머지 모드의 비용을 산출하는 것을 패스할 수 있다.
1) 현재 블록의 상단 영역과 좌측 영역에서 선택된 AMVP 후보 블록 또는 후보 MVP가 머지 모드의 후보 블록 또는 후보 움직임 벡터와 동일한지 여부. (이하, 설명의 편의를 위해, AMVP 후보 블록 또는 후보 MVP를 ‘AMVP 후보’로, 머지 모드의 후보 블록 또는 후보 움직임 벡터를 ‘머지 후보’로 표현한다.)
2) AMVP를 통해 결정된 최적의 MVP(best MVP)가 머지 후보와 동일한지 여부
1)의 조건만을 이용할 때,
(a) 현재 블록의 좌측 영역(예컨대, 도 6의 610)에서 선택된 AMVP 후보가 현재 블록의 좌측 영역에서 선택된 머지 후보와 동일한 경우 - 머지 모드에 대한 비용을 산출하는 과정 중 현재 블록의 좌측 영역에서 선택된 머지 후보에 머지(merge)하는 경우에 대해서는 비용 산출을 패스한다.
(b) 현재 블록의 상단 영역(예컨대, 도 6의 620)에서 선택된 AMVP 후보가 현재 블록의 상단 영역에서 선택된 머지 후보와 동일한 경우 - 머지 모드에 대한 비용을 산출하는 과정 중 현재 블록의 상단 영역에서 선택된 머지 후보에 머지하는 경우에 대해서는 비용 산출을 패스한다.
(c) 필요에 따라서는 (a)와 (b)의 경우를 조합하여 적용할 수 있다. 예를 들어, (a)와 (b)를 동시에 만족하는 경우에는 머지 모드에 대한 비용을 구하는 과정 중 현재 블록의 좌측 또는 상단 영역에서 선택된 머지 후보에 대한 비용을 구하는 것을 패스하거나, 머지 모드에 대한 비용을 구하는 과정 전체를 패스할 수 있다.
1)과 2)의 조건을 모두 이용할 때,
(a) AMVP를 통해 결정된 최적의 MVP가 현재 블록의 좌측 영역(예컨대, 도 6의 610)에 존재하고, 최적의 MVP가 현재 블록의 좌측 영역에서 선택된 머지 후보와 동일한 경우 - 머지 모드에 대한 비용을 산출하는 과정 중에서 현재 블록의 좌측 영역에서 선택된 머지 후보에 머지하는 경우에 대해서는 비용 산출을 패스한다.
(b) AMVP를 통해 결정된 최적의 MVP가 현재 블록의 상단 영역(예컨대, 도 6의 B 영역)에 존재하고, 최적의 MVP가 현재 블록의 상단 영역에서 선택된 머지 후보와 동일한 경우 - 머지 모드에 대한 비용을 산출하는 과정 중에서 현재 블록의 상단 영역에서 선택된 머지 후보에 머지하는 경우에 대해서는 비용 산출을 패스한다.
(c) 필요에 따라서는 (a)와 (b)의 경우를 조합하여 적용할 수 있다. 예를 들어, (a)와 (b)를 동시에 만족하는 경우에는 머지 모드에 대한 코스트를 구하는 과정 중 현재 블록의 좌측 또는 상단 영역에서 선택된 머지 후보에 대한 비용을 산출하는 것을 패스하거나, 머지 모드에 대한 비용을 산출하는 과정 전체를 패스할 수 있다.
도 9는 본 발명이 적용되는 부호화기에서 상술한 바와 같이 예측 후보들의 비용을 산출하는 방법을 개략적으로 설명하는 순서도이다.
도 9를 참조하면, 부호화기(예컨대, 예측부)는 AMVP후보에 대한 비용을 산출한다(S910). 부호화기는 머지 후보가 AMVP 후보에 포함되는지를 판단할 수 있다(S920). 이때, 머지 후보가 AMVP 후보에 포함되는지는, 전체 AMVP 후보 중에 머지 후보와 동일한 것이 있는지 판단하는 경우와 최적의 AMVP 후보가 머지 후보와 동일한지를 판단하는 경우를 모두 포함한다. 각각의 경우에 대한 상세한 내용은 앞서 설명한 바와 같다.
머지 후보가 AMVP 후보에 포함되는 경우, 즉, 머지 후보가 AMVP 후보 중 어느 하나와 동일한 경우에는, 해당 머지 후보에 머지하는 경우에 대한 비용은 산출하지 않는다(S930). AMVP 후보에 포함되지 않는 머지 후보에 대해서는, 해당 머지 후보에 머지하는 경우에 대한 비용을 산출한다(S940).
(2) 복호화기 측면
스킵 모드가 적용되지 않고(skip_flag==0), 화면 간 예측이 적용되는(pred_mode==MODE_INTER) 경우에, 머지 플래그(예컨대, merge_flage) 및/또는 머지 방향/대상을 지시하는 플래그(예컨대, merge_left_flag)가 모두 전송되지 않아도 복호화기는 현재 블록의 움직임 정보를 유도할 수 있다. 이때, 아래와 같은 조건을 이용할 수 있다.
현재 블록의 좌측 영역과 상단 영역(예컨대, 도 6의 A와 B 영역)에 대해 선택된 AMVP 후보와 머지 후보가 동일한지 여부
상기 조건을 적용하는 경우,
(a) 현재 블록의 좌측 영역(예컨대, 도 6의 A 영역)에서 선택된 AMVP 후보가 현재 블록의 좌측 영역에서 선택된 머지 후보와 동일한 경우 - 머지 모드를 적용하는 경우(merge_flag==1)라면, 현재 블록의 상단 영역에서 선택된 머지 후보에 머지(merge)할 수 있다. 따라서, 부호화기로부터 어느 쪽의 머지 후보에 머지할 것인지를 나타내는 플래그(예컨대, merge_left_flag)가 전송되지 않을 수 있다.
(b) 현재 블록의 상단 영역(예컨대, 도 6의 B 영역)에서 선택된 AMVP 후보가 현재 블록의 상단 영역에서 선택된 머지 후보와 동일한 경우 - 머지 모드를 적용하는 경우(merge_flag==1)라면, 현재 블록의 좌측 영역에서 선택된 머지 후보에 머지할 수 있다. 따라서, 부호화기로부터 어느 쪽의 머지 후보에 머지할 것인지를 나타내는 플래그(예컨대, merge_left_flag)가 전송되지 않을 수 있다.
(c) 필요에 따라서는 (a)와 (b)의 경우를 조합하여 적용할 수 있다. 예를 들어, 현재 블록의 좌측 영역에서 선택된MVP 후보 및 현재 블록의 상단 영역에서 선택된 AMVP 후보가 각각 현재 블록의 좌측 영역에서 선택된 머지 후보 및 현재 블록의 상단 영역에서 선택된 머지 후보와 동일한 경우에는, 머지 모드를 적용하지 않을 수 있다. 따라서, 머지 모드를 적용할지를 나타내는 플래그(예컨대, merge_flag)와 현재 블록의 어느 쪽 머지 후보에 머지할 것인지를 지시하는 플래그(예컨대, merge_left_flag)가 부호화기로부터 전송되지 않을 수 있다.
도 10은 본 발명이 적용되는 복호화기에서 상술한 바와 같은 머지가 수행되는 방법을 개략적으로 설명하는 순서도이다. 도 10을 참조하면, 복호화기는 머지가 적용되는지를 판단한다(S1010).
머지가 적용되는 경우에는, 머지 후보 중에 AMVP 후보에 포함되는 것이 있는지를 판단한다(S1020). 이때, 머지 후보가 AMVP 후보에 포함되는지는, 전체 AMVP 후보 중에 머지 후보와 동일한 것이 있는지 판단하는 경우와 최적의 AMVP 후보가 머지 후보와 동일한지를 판단하는 경우를 모두 포함한다. 각각의 경우에 대한 상세한 내용은 앞서 설명한 바와 같다.
머지 후보가 AMVP 후보와 동일하지 않다면, 어느 쪽의 머지 후보에 머지할 것인지를 지시하는 플래그를 복호화하고(S1030), 상기 플래그에 따라서 머지를 수행한다(S1050). 머지 후보가 AMVP 후보와 동일하다면, 어느 쪽의 머지 후보에 머지할 것인지를 지시하는 플래그를 복호화하지 않고(S1040), AMVP 후보와 동일하지 않은 머지 후보에 머지한다(S1050). 여기서, 어느 쪽의 머지 후보에 머지할 것인지를 지시하는 플래그를 복호화하지 않는 것은 해당 플래그가 부호화기로부터 전송되지 않아서, 복호화하지 않는 것을 포함한다.
한편, AMVP를 이용하는 방법과 머지 모드를 통합하는 또 다른 방법으로서, AMVP후보를 생성하는 과정에서 머지 후보를 고려할 수 있다. 즉, AMVP후보와 머지 후보가 서로 다른 경우에는, 머지 후보를 AMVP 후보로서 추가하여 AMVP를 적용할 수 있다. 이때, AMVP모드와 머지 모드 사이의 유사성을 고려하여, 부호화기는 AMVP모드와 머지 모드 중 어느 하나만을 사용하도록 복호화기에 시그널링 할 수도 있다. 여기서, 시그널링한다는 것은 관련된 정보 및/또는 지시를 전송한다는 것을 의미한다.
먼저, 부호화기는 AMVP 후보 리스트와 머지 후보 리스트를 비교하여, 현재 블록의 주변 영역(예컨대, 도 6의 610, 620과 같은 현재 블록의 좌측 및/또는 상단 영역)에 대한 AMVP 후보와 머지 후보가 동일한지를 확인(check)할 수 있다.
현재 블록의 주변 영역에 대하여, 머지 후보 중 일부 또는 전부가 AMVP 후보 리스트에 존재하지 않는 경우(AMVP 후보에 포함되지 않는 머지 후보가 존재하는 경우)에는, AMVP 후보가 아닌 머지 후보를 AMVP 후보 리스트에 추가할 수 있다. 따라서, AMVP 후보가 확장될 수 있다.
이때, 머지 모드에 대해서는 시그널링 하지 않고, 확장된 AMVP 후보들의 리스트와 함께 AMVP모드를 적용하도록 하는 시그널링이 이루어질 수도 있다. 예컨대, 잔차 신호를 전송하는 경우에는 확장된 AMVP 후보를 이용한 다이렉트 모드가 수행되도록 시그널링 할 수 있다.
또한, 상술한 바와 같이, AMVP 후보 리스트에 머지 후보를 추가하여 AMVP 후보를 확장하는 방법 외에도, AMVP 후보의 일부 또는 전부와 머지 후보를 경쟁시켜 AMVP 후보들 중 일부 또는 전부를 머지 후보로 대체/변경시킬 수도 있다. 이 경우에는 변경된 AMVP 후보 리스트를 기반으로 AMVP모드를 적용하도록 부호화기로부터 복호화기로 시그널링이 이루어질 수 있다.
도 11은 본 발명이 적용되는 부호화기에서 상술한 바와 같이 AMVP 후보 리스트를 변경하는 동작을 개략적으로 설명하는 순서도이다.
도 11을 참조하면, 부호화기(예컨대, 예측부)에서는 현재 블록에 대한 AMVP 후보 리스트와 머지 후보 리스트를 작성한다(S1110).
부호화기는 상기 AMVP 후보 리스트와 머지 후보 리스트를 기반으로, AMVP 후보와 머지 후보의 동일성을 판단한다(S1120). 예컨대, 부호화기는 머지 후보 중에 AMVP 후보에 포함되지 않는 후보가 있는지를 확인할 수 있다.
부호화기는 AMVP 후보 리스트에 속하지 않는 머지 후보를 이용하여 AMVP 후보 리스트를 변경할 수 있다(S1130). 이때, 부호화기는 AMVP 후보 리스트에 속하지 않는 머지 후보를 AMVP 후보 리스트에 추가할 수도 있고, AMVP 후보 리스트의 일부를 머지 후보로 변경할 수도 있다.
부호화기는 변경된 AMVP 후보 리스트를 복호화기에 시그널링 할 수 있다(S1140). 이때, 부호화기의 시그널링은 변경된 AMVP 후보 리스트를 전송하는 시그널링일 수도 있고, AMVP 후보 리스트를 변경하도록 하는 시그널링일 수도 있다.
도 12는 본 발명이 적용되는 복호화기에서 변경된 AMVP 리스트를 기반으로 예측을 수행하는 방법을 개략적으로 설명하는 도면이다. 도 12를 참조하면, 복호화기는 부호화기로부터 시그널링을 수신한다(S1210).
부호화기로부터의 시그널링은 AMVP 후보 리스트를 포함한다. 또한, 부호화기로부터의 시그널링은 AMVP 후보 리스트를 변경하도록 하는 시그널링일 수도 있다.
복호화기는 변경된 AMVP 후보 리스트를 수신한 경우에는 기존의 AMVP 후보 리스트를 대체하며, AMVP 후보 리스트를 변경하는 시그널링을 수신한 경우에는 시그널링에 따라서 AMVP 후보 리스트를 변경한다.
복호화기는 변경된 AMVP 후보 리스트를 기반으로 최적의 MVP를 선택하여 예측을 수행할 수 있다(S1220).
<AMVP를 이용하는 방법과 머지 모드의 통합 - 통합 모드 및 시그널링>
머지 모드의 경우, 주변 블록으로부터 현재 블록의 움직임 정보를 유도한다. 잔차 신호를 전송하는 머지 모드는 상술한 다이렉트 모드와 유사하다. 따라서, 잔차 신호를 전송하는 머지 모드와 다이렉트 모드를 통합하여 적용하는 것을 고려할 수 있다.
예컨대, 다이렉트 모드가 코딩 블록(코딩 유닛) 단위로 적용되는 경우에, 머지 모드가 코딩 블록 단위 및 코딩 블록을 분할한 파티션 단위로 적용될 수 있다면, 다이렉트 모드와 동일한 단위에서 머지 모드를 다이렉트 모드와 통합하여 적용할 수 있다.
동일하게, 코딩 블록, 예측 블록 또는 변환 블록과 같은 처리 단위들 중에 다이렉트 모드가 적용되는 단위와 머지 모드가 적용되는 처리 단위가 동일한 경우가 있다면, 해당 처리 단위에 대하여 다이렉트 모드와 머지 모드를 통합하여 적용할 수 있다.
여기서는 잔차 신호가 전달되는 머지 모드와 AMVP를 이용하되 역시 잔차 신호를 전송하는 다이렉트 모드의 병합을 예로서 설명하였지만, 서로 유사한 모드, 예컨대 잔차 신호를 전송하지 않는 머지 모드나 AMVP를 이용하되 역시 잔차 신호를 전송하지 않는 스킵 모드를 동일한 방법으로 병합할 수 있다.
따라서, 이하 설명하는 방법에 의해, 머지 모드와 AMVP모드를 통합하여 적용할 수 있다. 통합의 구체적인 방법은 현재 블록의 움직임 정보를 유도할 수 있는 주변의 후보 블록 또는 후보 움직임 벡터(이하, 설명의 편의를 위해 후보 블록과 후보 움직임 벡터를 ‘후보’라 함)들을 동일하게 생성/도출해서 이용하는 방법을 생각할 수 있다. 이에 관해서는 후술하도록 한다.
우선, AMVP모드와 머지 모드를 통합하여 적용하는 방법에 있어서, 필요한 신택스 구조에 대하여 설명한다. 아래에서는 AMVP모드 중 다이렉트 모드와 머지 모드의 통합을 예로서 설명한다.
코딩 블록(코딩 유닛)을 더 분할한 파티션 단위로 머지가 수행될 수 있는 경우에, 해당 파티션에 대해서는 머지 모드와 다이렉트 모드를 선택하여 적용하도록 시그널링할 수 있다.
도 13은 다이렉트 모드와 머지 모드를 선택하는 시그널링 방법을 개략적으로 설명하는 순서도이다.
도 13을 참조하면, 스킵 모드와 다이렉트 모드의 적용 여부가 먼저 결정된 뒤에, 화면 간 예측(인터 모드)과 화면 내 예측(인트라 모드)의 분류가 이루어진다. 화면 간 예측 모드(INTER MODR)일 경우에는 머지 플래그(merge_falg)에 따라서 머지 모드를 적용할 수 있다.
먼저, 상술한 바와 같이 스킵 플래그(skip_flag)가 지시하는 바에 따라 스킵 모드가 적용될 것인지가 결정된다(S1310). 스킵 플래그가 스킵 모드를 지시한 경우에는 스킵 모드를 적용하고(S1320), 스킵 플래그가 스킵 모드를 지시하지 않은 경우에는, 어떤 예측 모드가 적용될 것인지를 다시 판단한다(S1330). 이때, 예측 모드를 지시하는 신택스(예컨대, Pred_mode)가 전송될 수 있다.
S1330 단계에서 다이렉트 모드가 지시된 경우에는, 다이렉트 모드가 적용되고(S1340), 다이렉트 모드가 지시되지 않은 경우에는, 다시 예측 모드를 지시(pred_mode)할 수 있다(S1350). S1350 단계에서는, 예측 모드가 화면 내 예측 모드인지 화면 간 예측 모드인지를 지시할 수 있다.
S1350 단계에서 화면 내 예측 모드(intra mode)가 지시된 경우에는, 현재 블록에 화면 내 예측이 적용(S1370)되지만, 화면 간 예측 모드(inter modr)가 지시된 경우(S1360)에는 현재 블록에 머지 모드가 적용될 것인지를 판단할 수 있다(S1380). 이때, 머지 모드 적용 여부를 지시/판단하기 위해 머지 플래그(merge_flag)가 이용될 수 있다. 머지 플래그가 머지 모드를 지시하는 경우에는, 현재 블록의 움직임 정보를 유도하기 위해 머지 모드가 적용된다(S1390).
머지 모드의 적용 여부는 각 파티션(partition)별로 결정될 수 있다. 예컨대, 코딩 블록(즉, 코딩 유닛) 전체가 하나의 파티션인 경우에는 코딩 블록 전체에 대하여 머지 모드의 적용 여부를 결정하고, 코딩 블록이 복수 개의 파티션으로 분할된 경우에는 각 파티션 단위로 머지 모드의 적용 여부를 결정할 수 있다. 코딩 블록이 분할된 파티션은 코딩 블록일 수도 있고, 예측 블록 또는 변환 블록일 수 있다.
코딩 블록이 하나의 파티션으로 결정되는 경우, 해당 코딩 블록에 대하여 다이렉트 모드 혹은 머지 모드의 적용이 가능하다. 다만, 종래에는 다이렉트 모드와 머지 모드에 관한 정보를 서로 다른 시그널링 파트, 즉 서로 다른 파라미터 셋으로 전송하고 있기 때문에, 상술한 바와 같이, 두 모드 사이의 유사성에도 불구하고, 정보가 중복해서 전달되는 경향이 있었다(중복성(redundancy)의 발생).
하지만, 파티션 단위로 머지 모드 적용 여부를 결정하는 경우에는, 동일한 파티션 단위에 대하여 머지 모드와 AMVP모드(예컨대, 다이렉트 모드)가 적용될 수 있다. 따라서, AMVP모드(예컨대, 다이렉트 모드)과 머지 모드에 관한 정보를 동일한 시그널링 파트, 즉 동일한 파라미터 셋으로 전송할 수도 있다.
예를 들어, 도 13의 인터 모드에 관한 시그널링 부분(S1360 이하의 단계)에서 다루어지고 있는 머지 모드 중 코딩 블록 전체가 하나의 파티션인 경우에 적용되고 있던 머지 모드(a)와 도 13의 다이렉트 모드에 관한 시그널링 부분(S1340)에서 다루어지고 있던 다이렉트 모드(b)를 통합(a와 b의 통합)하는 방법을 생각할 수 있다. 이때, 다이렉트 모드의 후보, 즉 AMVP 후보와 머지 후보를 통합하고, 통합된 후보들 중에서 선택된 후보를 이용하여 AMVP 모드(예컨대, 다이렉트 모드) 또는 머지 모드를 적용하도록 할 수 있다.
도 14는 다이렉트 모드와 머지 모드를 통합하여 시그널링을 수행하는 일 예를 개략적으로 나타낸 것이다. 이하, 설명의 편의를 위해 코딩 블록 전체가 하나의 파티션으로 결정됐을 때 적용되는 머지를 ‘코딩 블록 머지’라 하고, 코딩 블록이 복수의 파티션으로 나뉘었을 때 파티션 단위로 적용되는 머지를 ‘파티션 머지’라 한다.
도14에서는 다이렉트 모드가 코딩 블록 단위로 적용되는 경우를 예로서 설명한다. 따라서, 도 14의 예에서는 코딩 블록 전체를 하나의 파티션으로 하는 단계에서 파티션 단위로 적용될 수 있는 머지 모드와 다이렉트 모드의 병합을 설명한다.
도 14를 참조하면, 스킵 플래그(skip_flag)가 지시하는 바에 따라 스킵 모드가 적용될 것인지가 결정된다(S1410). 스킵 플래그가 스킵 모드를 지시하는 경우에는 스킵 모드가 적용되고(S1420), 스킵 플래그가 스킵 모드를 지시하지 않은 경우에는, 어떤 예측 모드가 적용될 것인지를 다시 판단한다(S1430). 이때, 예측 모드를 지시하는 신택스(예컨대, Pred_mode)가 전송될 수 있다.
도 13의 경우와 달리, 신택스(Pred_mode)는 다이렉트 모드와 머지 모드를 통합하여 시그널링(S1440)할 수 있다. 코딩 블록 단위에서, 상술한 바와 같이 다이렉트 모드와 머지 모드 사이의 유사성을 감안하여, S1040 단계에서는 코딩 블록 머지와 다이렉트 모드를 통합한 모드를 적용하는 것을 시그널링 할 수 있다.
코딩 블록 단위로 머지 모드와 다이렉트 모드를 병합하여 적용하지 않는 경우에는 다시 예측 모드가 지시(pred_mode)될 수 있다(S1450). 이때, 예측 모드가 화면 내 예측 모드인지 화면 간 예측 모드인지가 지시될 수 있다.
S1450 단계에서 화면 내 예측 모드가 지시된 경우에는, 현재 블록에 화면 내 모드가 적용(S1470)되지만, 화면 간 예측 모드가 지시된 경우(S1460)에는 현재 블록에 머지 모드가 적용될 것인지를 판단할 수 있다(S1480). 이때, 머지 모드 적용 여부를 지시/판단하기 위해 머지 플래그가 이용될 수 있다. 머지 플래그가 머지 모드를 지시하는 경우에는, 현재 블록에 머지 모드가 적용된다(S1490). 도 14를 참조하면, 코딩 블록 머지는 S1440 단계에서 적용될 수 있고, S1490 단계에서는 파티션 머지가 적용될 수 있다.
한편, 도 14를 참조할 때, S1440 단계에서, 플래그(flag)를 사용하여 다이렉트 모드와 머지 모드 중에서 어떤 모드를 사용할 것인지를 지시할 수도 있다. 플래그에 의해 두 모드 중 어느 한 모드가 지시된 경우의 구체적인 처리 방법에 관해서는 다이렉트 모드와 코딩 블록 머지를 통합한 경우의 후보에 관한 설명과 함께 후술한다.
도 15는 플래그를 사용하여 다이렉트 모드를 적용할지 코딩 블록 머지를 적용할지를 시그널링 하는 예를 개략적으로 도시한 것이다.
도 15를 참조하면, 플래그를 사용하는 경우에는 플래그가 지시하는 바에 따라서 다이렉트 모드를 적용할지 코딩 블록 머지를 적용할지를 결정할 수 있다(S1500). 예컨대, 플래그 값이 0인 경우에는 다이렉트 모드를 적용하고(S1510), 플래그 값이 1인 경우에는 코딩 블록 머지를 적용할 수 있다(S1520).
또한, 도 14의 S1440 단계에서 다이렉트 모드를 적용할지 코딩 블록 머지를 적용할지를 시그널링하는 경우에, 플래그를 사용하여 명시적으로 지시를 하지 않고, 다이렉트 모드가 적용될지 코딩 블록 머지가 적용될지 여부가 유도되도록 할 수도 있다.
도 16은 다이렉트 모드가 적용될지 코딩 블록 머지가 적용될지를 유도해내는 방법을 개략적으로 도시한 것이다.
도 16을 참조하면, 명시적인 지시 또는 시그널링 대신 유도(derivation)을 통해, 다이렉트 모드가 적용될지 코딩 블록 머지가 적용될지가 결정될 수 있다(S1600). 어떤 모드가 적용될지를 복호화기가 유도해 내기 위해, 주변 코딩 블록 예컨대 공간적 인접 블록(spatial neighbor block) 및/또는 시간적 인접 블록(temporal neighborblock)의 정보가 이용될 수 있다. 또한, 현재 코딩 블록이 속한 픽처의 통계 정보나 현재 코딩 블록이 속한 픽처보다 먼저 복호화된 픽처의 통계 정보 등이 사용될 수 있다.
유도된 결과에 따라서, 다이렉트 모드가 적용(S1610)되거나 코딩 블록 머지가 적용(S1620)될 수 있다.
한편, 도 6과 도 7을 참조하여 설명한 바와 같이, 다이렉트 모드와 머지 모드는 후보(candidate)를 구하는 방법에서 차이가 있다. 하지만, 두 모드를 통합하고 통합 모드에서 현재 블록의 움직임 정보를 결정할 수 있다.
통합 모드에서 현재 블록의 움직임 정보는 아래와 같은 다섯 후보 블록으로부터 결정될 수 있다. 즉, 다이렉트 모드에 사용되는 AMVP의 후보 블록과 머지 모드의 후보 블록을 통합할 수 있다.
통합된 모드의 후보 블록들
(1) 현재 블록의 좌측 영역에서 선택되는 블록 - 예컨대, 도 6의 610에서 선택되는 블록을 통합된 모드의 후보 블록으로 선택할 수 있다.
현재 블록의 좌측 영역에서 후보 블록을 선택하는 방법은 AMVP에 의해 후보를 선택하는 방법이 사용될 수 있다. 예컨대, 현재 블록의 좌측 영역에서 아래쪽 방향으로 혹은 위쪽 방향으로 검색하면서 첫 번째 가용(available) 블록을 선택할 수 있다.화면 내 예측 모드인 블록은 가용 블록이 아닌 것으로 보고, AMVP 후보에서 제외할 수 있다.
현재 블록의 좌측 영역에 있는 블록들 중에서 특정 블록을 통합 모드의 후보 블록으로 선택할 수도 있다. 예컨대, 좌측 하단의 코너 블록에 맞닿은 블록을 현재 블록의 좌측 영역에서 선택되는 통합 모드의 후보로 특정하여 사용할 수도 있다.
(2) 현재 블록의 상단 영역에서 선택되는 블록 - 예컨대, 도 6의 620에서 선택되는 블록을 통합 모드의 후보 블록으로 선택할 수 있다.
현재 블록의 상단 영역에서 후보 블록을 선택하는 방법은 AMVP에 의해 후보를 선택하는 방법이 사용될 수 있다. 예컨대, 현재 블록의 상단 영역에서 좌측 방향으로 혹은 우측 방향으로 검색하면서 첫 번째 가용 블록을 선택할 수 있다. 화면 내 예측 모드인 블록은 가용한 블록이 아닌 것으로 보고, AMVP 후보에서 제외할 수 있다.
현재 블록의 상단 영역에 있는 블록들 중에서 특정 블록을 통합 모드의 후보 블록으로 선택할 수도 있다. 예컨대, 상단 우측의 코너 블록에 맞닿은 블록을 현재 블록의 상단 영역에서 선택되는 통합 모드의 후보로 특정하여 사용할 수도 있다.
(3) 현재 블록의 코너 영역에서 선택되는 블록 - 예컨대, 도 6의 630, 640, 650에서 선택되는 블록을 통합된 모드의 후보 블록으로 선택할 수 있다.
현재 블록의 코너 영역에서 후보 블록을 선택하는 방법은 AMVP에 의해 후보를 선택하는 방법이 사용될 수 있다. 예컨대, 현재 블록의 코너 영역의 블록을 검색하면서 첫 번째 가용 블록을 선택할 수 있다. 화면 내 예측 모드인 블록은 가용한 블록이 아닌 것으로 보고, AMVP 후보에서 제외할 수 있다.
현재 블록의 코너 영역에 위치하는 특정 블록을 통합 모드의 후보 블록으로 선택할 수 있다. 예컨대, 현재 블록의 각 코너에 위치한 블록(예컨대, 도 6의 630, 640, 650)을 현재 블록의 좌측 영역에서 선택되는 통합 모드의 후보로 특정하여 사용할 수도 있다.
(4) 현재 블록의 동일 위치(co-located) 블록 - 현재 블록에 대한 공간적인 주변 블록뿐만 아니라, 시간적인 주변 블록을 후보로서 사용할 수도 있다. 예컨대, 현재 블록에 대한 동일 위치(co-located) 블록을 통합 모드의 후보로 사용할 수 있다. 동일 위치 블록에 대해서도 AMVP 후보를 선택하는 방법을 동일하게 적용하거나, 특정 참조 영상의 동일 위치 블록을 후보로서 사용할 수 있다.
(5) 상술한 후보들의 조합을 통해 유도되는 후보 - 예컨대, (1), (2) 및 (3)에서 유도된 후보들의 미디언(median) 값을 통합 모드의 후보로 사용할 수도 있다. 또한, 동일 위치 블록과 동일 리스트(L0 또는 L1)상의 동일하거나 상이한 참조 프레임에서 선택되는 움직임 벡터를 후보로서 유도할 수도 있고, 동일 위치 블록과 상이한 리스트상의 동일하거나 상이한 참조 프레임에서 선택되는 움직임 벡터를 추가적인 후보로 유도할 수도 있다.
상술한 통합 모드에 대한 후보들의 움직임 정보를 이용하여 예측을 하는 경우에, 예측의 방향에 관한 조건을 함께 적용하여, 이에 관한 정보를 전송할 수도 있다.
(1) L0 방향의 움직임 정보를 사용
(2) L1 방향의 움직임 정보를 사용
(3) L0과 L1을 조합한 리스트의 움직임 정보를 이용(예컨대, L0과 L1을 조합한 리스트를 이용하거나 L0 및 L1 움직임을 평균한 정보를 사용)
또한, 예를 들면, 다이렉트 모드와 머지 모드의 두 가지 특징을 모두 반영하기 위해, 다이렉트 모드를 결정하는데 사용하는 후보 블록의 수보다는 적고, 코딩 블록 머지를 결정하는데 사용하는 후보 블록의 수보다는 많은 수의 후보 블록 집합으로부터 현재 블록의 움직임 정보를 결정할 수도 있다. 이때, 현재 블록은 코딩 블록일 수도 있고, 예측 블록일 수도 있으며, 변환 블록일 수도 있다.
도 17은 본 발명에 따라서 통합 모드를 적용하는 경우에 대한 시그널링의 일 예를 개략적으로 나타내는 순서도이다. 도 17을 참조하면, 통합 모드를 적용하기 위해서, 먼저 AMVP/머지 플래그(merge_flag)를 통해 머지 모드를 적용할 것인지가 결정된다(S1710). AMV/머지 플래그는 머지 모드를 적용할 것인지 AMVP 모드를 적용할 것인지를 지시하는 플래그이다. 부호화기가 전송한 AMVP/머지 플래그에 기반해서, 복호화기에서 머지 모드를 적용할 것인지 AMVP 모드를 적용할 것인지가 결정될 수 있다. 예컨대, 플래그의 값이 0인 경우에는 AMVP 모드를 적용하고, 플래그의 값이 1인 경우에는 머지 모드를 적용하도록 할 수 있다. 이때, AMVP/머지 플래그 대신, 종래의 머지 플래그를 전송할 수도 있다. 이 경우에도, 머지 플래그의 값이 1인 경우에는 머지 모드를 적용하고, 머지 플래그의 값이 0인 경우에는 AMVP 모드를 적용하도록 할 수 있다.
이어서 통합 모드 후보 인덱스가 전송된다(S1710). 복호화기는 부호화기로부터 전송된 통합 모드 후보 인덱스를 통해, 앞서 AMVP/머지 플래그 또는 머지 플래그에 의해 지시된 모드(머지 모드 또는 AMVP모드)에 대한 최적의 후보를 확인할 수 있다.
머지 모드가 적용되는 경우에도, 통합 모드 후보 인덱스는 현재 블록의 좌측과 상단 영역에 있는 머지 후보뿐만 아니라 코너에 위치하는 후보와 참조 픽처에서 현재 블록과 동일한 위치의 블록까지 포함하는 통합 모드의 후보들 중에서, 어느 후보에 머지할 것인지를 지시할 수 있다. 따라서, 더 다양한 후보들의 움직임 정보를 활용할 수 있다.
복호화기는 통합 모드 후보 인덱스가 지시하는 후보에 대하여 AMVP/머지 플래그 또는 머지 플래그가 지시하는 모드를 적용해서 현재 블록의 움직임 정보를 유도할 수 있다.
한편, AMVP/머지 플래그 또는 머지 플래그(merge_flag)를 통해 머지 모드를 적용하는 것이 결정되면, 머지 후보와 예측 방향이 결정될 수 있다. 머지 후보와 예측 방향은 후보/방향 인덱스로 전송될 수 있다. 후보/방향 인덱스는 어떤 후보에 머지할 것인지를 지시하는 것 외에도, 예측이 단방향(L0 방향, L1)으로 이루어질지 양방향(bi-direction)으로 이루어질지를 지시할 수 있다. 이때, 후보/방향 인덱스가 지시하는 후보는 앞서 설명한 통합 모드의 후보들 중 하나일 수 있다.
또한, 머지 후보와 예측 방향 중 적어도 하나는 소정의 방식에 따라서 유도되거나, 미리 정해진 룰에 따라서 결정될 수도 있다. 유도되지 않거나 미리 정해지지 않는 정보는 부호화기로부터 복호화기로 전송될 수도 있다.
이때, 어떤 후보를 이용하여 머지 모드를 적용할 것인지를 지시하는 인덱스와 예측의 방향을 지시하는 인덱스를 별도로 전송할 수도 있다. 어떤 후보를 이용하여 머지 모드/다이렉트 모드를 적용할 것인지를 지시하는 경우에도, 상술한 바와 같이 현재 영역의 좌측과 상단 영역에 위치하는 후보들 중에서 어느 하나를 지시하지 않고, 현재 블록의 코너에 위치하는 후보와 동일 위치 블록의 후보까지 포함하는 후보들 중에서 어느 후보를 선택할 것인지를 지시할 수도 있다.
또한, 예측의 방향을 지시하는 경우에도, 단방향(uni-direction) 또는 양방향(bi-direction)인지 뿐만 아니라, 단방향인 경우에는 L0과 L1 중 어느 방향인지까지 지시할 수도 있다.
통합 모드의 후보뿐만 아니라 예측의 방향까지 지시할 수 있으므로, 더 세분화된 움직임 정보를 이용하여 현재 블록에 대한 예측을 수행할 수 있다.
여기서는 통합 모드 중 머지 모드를 사용하는 방법에 대해서 설명하였으나, 상술한 설명의 내용은 통합 모드 중 AMVP 모드를 사용하는 경우에도 동일하게 적용될 수 있다.
이하, 통합 모드에서 최적의 후보를 선택하는 방법에 대해서 설명한다.
도 18은 통합 모드의 후보 블록들이 선택되는 영역을 개략적으로 설명하는 도면이다.
상술한 바와 같이, 통합 모드의 후보 블록들은 (1) 현재 블록(1800)의 좌측 영역 A(1810), (2) 현재 블록(2000)의 상단 영역 B(1820), (3) 현재 블록(1800)의 코너 영역 C(1830, 1840, 1850), (4) 상기 (1) 내지 (3)의 조합, (5) 현재 블록에 대한 동일 위치(co-located) 블록 T(1860) 중에서 각각 선택될 수 있다.
머지 플래그를 통해서 머지 모드를 적용하는 것이 결정되면, (1) 내지 (5)의 통합 모드 후보 블록들 중에서 머지 모드를 적용할 후보 블록을 선택할 수 있다. 또한, 머지 플래그를 통해서 AMVP 모드(스킵 모드/다이렉트 모드)을 적용하는 것이 결정되면, (1) 내지 (5)의 통합 모드 후보 블록들 중에서 AMVP모드에서 현재 블록의 움직임 정보를 유도하는데 이용할 후보 블록을 선택할 수 있다.
이때, 통합 모드 후보를 이용하여 머지 모드를 적용하는 경우에는,
1) 종래의 머지 모드에서처럼 2개의 후보를 선택하고, 2개의 후보 블록을 MVC하여 하나의 후보에 현재 블록을 머지할 수 있다. MVC의 방법으로는 각 후보 블록의 움직임 벡터에 머지하는 경우에 대한 비용을 산출해서, 이를 기반으로 하나의 후보 블록을 선택하는 방법을 사용할 수도 있다. 이때, 2개의 후보 블록은 도 7의 경우와 같이, 현재 블록의 좌측 상단의 후보 블록과 상단 좌측의 후보 블록일 수도 있다. 이때, 현재 블록에 대한 공간적 주변 블록들뿐만 아니라, 시간적 주변 블록, 예컨대 동일 위치 블록 T(1860)가 후보로서 이용될 수 있다.
2) 2개의 후보 블록은 앞서 통합 모드의 후보 블록에 관한 설명 (1) 및 (2)에서 언급한 바와 같이 선택될 수도 있다. 예컨대, 현재 블록의 좌측 영역(1810)과 상단 영역(1820)에서 각각 AMVP 후보를 검색하는 방법으로 선택한 두 블록일 수 있다. 또한, 현재 블록의 좌측 영역(1810)과 우측 영역(1820)에 위치하는 특정 블록으로서, 좌측 하단의 블록(A’)과 상단 우측의 블록(B’)일 수도 있다. 현재 블록에 대한 동일 위치 블록 T(1860)도 함께 후보로서 이용될 수도 있다.
3) 또한, 종래의 머지 모드와 달리 현재 블록 주위에 공간적으로 위치하는 블록들을 모두 후보 블록으로 사용할 수 있다. 예컨대, 상술한 통합 모드의 후보 블록 (1)~(3)을 모두 후보 블록으로 사용할 수 있다. 아울러, 현재 블록에 대한 동일 위치 블록 역시 함께 후보로 이용될 수 있다. 이때, 이용하는 후보 블록의 개수에 제한을 두고, 해당 개수 내의 후보 블록들 중에서 하나의 후보 블록이 선택되도록 할 수도 있다. 이 경우에는, 이용 가능성 판단에 순서를 두고, 이 순서대로 판단하여 이용 가능하다고 판단된 순서대로 후보 리스트를 구성할 수도 있다. 예컨대, 상기 순서에 따라서 판단한 결과, 가장 먼저 이용 가능한 것으로 판단된 후보에게 후보 리스트의 가장 낮은 인덱스를 부여하고, 늦게 판단된 후보일수록 높은 인덱스를 부여하도록 할 수 있다.
구성된 후보 리스트를 기반으로, 앞서 설명한 바와 같이 최적의 후보를 선택하는 과정을 통해 머지 대상 후보를 골라낼 수 있다.
예컨대, 현재 블록 주위에 공간적으로 배치된 통합 모드의 후보 블록들을 앞서 설명한 통합 모드 후보 블록의 순서((1) 내지 (3))대로, 현재 블록(1800)의 좌측 영역(1810) → 현재 블록(1800)의 상단 영역(1820) → 현재 블록의 코너 영역(1830, 1840, 1850)의 순서로 이용 가능한 후보 블록을 찾을 수 있다. 이때, 현재 블록(1800)의 좌측 영역(1810)과 상단 영역(1820)에서 특정한 블록을 지정하여 사용하는 경우에는 A’ → B’ → 코너 블록(1830, 1840, 1850)의 순서로 이용가능성을 판단해서 후보 리스트를 구성할 수 있다. 또한, 코너 블록들의 경우에도 순서를 정하여 이용 가능성을 판단할 수 있다. 예컨대, 상단 영역이 검색된 뒤 인접한 코너 블록이 검색되도록 코너 블록(1830)부터 검색을 시작하여, 코너 블록(1830) → 코너 블록(1840) → 코너 블록(1850) 또는 코너 블록(1830) → 코너 블록(1850) → 코너 블록(1840)의 순서로 이용 가능성을 판단할 수도 있다.
상술한 순서대로 이용 가능한 후보 블록을 검색하였으나, 검색의 결과 이용할 수 없는(unavailable) 후보 블록이 있는 경우에는, 앞서 설명한 바와 같이 검색한 각 후보 블록을 이용하여 새로운 후보 블록을 선택하거나 생성할 수도 있다. 또한, 후보 리스트를 구성하여 최적의 후보를 선택하기 위한 후보 블록의 개수를 정하였으나, 이용 가능한 후보 블록의 개수가 후보 리스트를 구성하기 위한 후보 블록의 개수에 미치지 못하는 경우에도, 앞서 설명한 바와 같이 새로운 후보 블록을 선택하거나 생성할 수 있다.
한편, 통합 모드 후보를 이용하여 AMVP 모드를 적용하는 경우에도,
1) 머지 모드를 적용하는 경우처럼 현재 블록 주위에 공간적으로 위치하는 후보 블록들 중에서 2개의 후보를 선택하고, 2개의 후보 블록을 MVC하여 하나의 후보에 최적의 후보로 선택할 수 있다. MVC의 방법으로는 각 후보 블록의 MVP를 이용하는 경우에 대한 비용을 산출하고, 이를 기반으로 최적의 후보 블록을 선택하는 방법을 이용할 수도 있다. 이때, 현재 블록에 대한공간적 주변 블록들뿐만 아니라, 시간적 주변 블록, 예컨대 동일 위치 블록 T(1860)가 후보로서 이용될 수 있다.
2) 2개의 후보 블록은 앞서 통합 모드의 후보 블록에 관한 설명 (1) 및 (2)에서 언급한 바와 같이 선택될 수도 있다. 예컨대, 현재 블록의 좌측 영역(1810)과 상단 영역(1820)에서 각각 AMVP 후보를 검색하는 방법으로 선택한 두 블록일 수 있다. 또한, 현재 블록의 좌측 영역(1810)과 우측 영역(1820)에 위치하는 특정 블록으로서, 좌측 하단의 블록(A’)과 상단 우측의 블록(B’)일 수도 있다. 현재 블록에 대한 동일 위치 블록 T(1860)도 함께 후보로서 이용될 수 있다.
종래 2개의 후보 블록을 사용하던 머지 모드와 달리, 더 많은 후보 블록을 이용하던 AMVP모드의 경우에는 2개의 이용 가능한 후보 블록을 선택하기 위해 검색의 순서를 정할 수 있다. 예컨대, 코너 블록(1850)을 포함하는 현재 블록(1800)의 좌측 영역(1810)을 검색하여 하나의 후보 블록을 선택하고, 코너 블록(1830)을 포함하는 현재 블록(1800)의 상단 영역(1820)을 검색하여 하나의 후보 블록을 선택할 수 있다. 이때, 코너 블록(1840)을 현재 블록(1800)의 좌측 영역에 포함하여 검색할 수도 있고, 상단 영역에 포함하여 검색할 수도 있다. 따라서, 영역(1810, 1840, 1850)에서 하나의 후보 블록을 선택하고 영역(1820, 1830)에서 하나의 후보 블록을 선택할 수도 있고, 영역(1810, 1850)에서 하나의 후보 블록을 선택하고 영역(1820, 1830, 1840)에서 하나의 후보 블록을 선택할 수도 있다.
현재 블록(1800)의 좌측 영역(1810)과 상단 영역(1820)에서 특정한 블록을 지정하여 사용하는 경우에는, 예컨대 블록 A’와 코너 블록(1840, 1850)에서 하나의 후보 블록을 선택하고 블록 B’와 코너 블록(1830)에서 하나의 후보 블록을 선택하거나, 블록 A’와 코너 블록(1850)에서 하나의 후보 블록을 선택하고 블록 B’와 코너 블록(1830, 1840)에서 하나의 후보 블록을 선택할 수도 있다.
현재 블록을 기준으로 영역을 나누어 검색하지 않고, 영역 전체를 한 단위로 검색할 수도 있다. 예컨대, 코너 블록(1830)부터 코너 블록(1840)을 거쳐 코너 블록(1850)쪽으로 검색해 나갈 수 있다. 또한, 상단과 좌측의 코너 블록들부터 번갈아가며 검색해 나갈 수도 있다. 예컨대, 코너 블록(1830) → 코너 블록(1850) → 좌측 영역(1810) 또는 블록 A’ → 상단 영역(1820) 또는 블록 B’ → 코너 블록(1840)의 순서로 검색하면서 이용 가능한 블록 2개를 선착순으로 선택할 수 있다.
3) 현재 블록 주위에 공간적으로 위치하는 블록들을 모두 후보 블록으로 사용할 수도 있다. 예컨대, 상술한 통합 모드의 (1) ~ (3)에서 설명한 후보 블록(즉, 현재 블록의 상단 영역에서 선택된 후보 블록, 좌측 영역에서 선택된 후보 블록, 코너 영역에서 선택되거나 코너 영역에 있는 후보 블록)을 모두 후보 블록으로 사용할 수 있다. 아울러, 현재 블록에 대한 동일 위치 블록 역시 함께 후보로 이용될 수 있다.
이때, 이용하는 후보 블록의 개수에 제한을 두고, 해당 개수 내의 후보 블록들 중에서 하나의 후보 블록이 선택되도록 할 수도 있다. 이 경우에는, 이용 가능성 판단에 순서를 두고, 이용 가능한 것으로 판단된 순서대로 후보 리스트를 구성할 수도 있다. 후보 리스트를 기반으로 앞서 설명한 바와 같이 최적의 후보를 선택할 수 있다.
예컨대, 현재 블록 주위에 공간적으로 배치된 통합 모드의 후보 블록들을 앞서 설명한 통합 모드 후보 블록의 순서((1) 내지 (3))대로, 현재 블록(1800)의 좌측 영역(1810) → 현재 블록(1800)의 상단 영역(1820) → 현재 블록의 코너 영역(1830, 1840, 1850)의 순서로 이용 가능한 후보 블록을 찾을 수 있다. 현재 블록(1800)의 좌측 영역(1810)과 상단 영역(1820)에서 특정한 블록을 지정하여 사용하는 경우에는 A’ → B’ → 코너 블록(1830, 1840, 1850)의 순서로 이용가능성을 판단해서 선택될 수 있다. 또한, 코너 블록들의 경우에도 순서를 정하여 이용 가능성을 판단할 수 있다. 예컨대, 상단 영역이 검색된 뒤 인접한 코너 블록이 검색되도록 코너 블록(1830)부터 검색을 시작하여, 코너 블록(1830) → 코너 블록(1840) → 코너 블록(1850) 또는 코너 블록(1830) → 코너 블록(1850) → 코너 블록(1840)의 순서로 검색할 수 있다.
상술한 순서대로 후보 블록을 검색하였으나, 검색의 결과 이용할 수 없는(unavailable) 후보 블록이 있는 경우에는, 앞서 설명한 바와 같이 검색한 각 후보 블록을 이용하여 새로운 후보 블록을 선택하거나 생성할 수도 있다. 또한, 후보 리스트를 구성하여 최적의 후보를 선택하기 위한 후보 블록의 개수를 정하였으나, 이용 가능한 후보 블록의 개수가 후보 리스트를 구성하기 위한 후보 블록의 개수에 미치지 못하는 경우에도, 앞서 설명한 바와 같이 새로운 후보 블록을 선택하거나 생성할 수 있다.
도 19는 본 발명이 적용되는 부호화기에서 통합 모드를 적용하여 예측 후보를 생성하고 해당 정보를 전송하는 방법을 개략적으로 설명하는 순서도이다.
도 19를 참조하면, 부호화기는 현재 블록에 적용할 모드를 정하고 해당 모드를 통해 예측을 수행할 때 이용할 수 있는 후보들을 결정한다(S1910).
통합 모드의 후보들을 선택하는 방법은 상술한 바와 같다.
이어서 부호화기는 파라미터 셋을 구성한다(S1920). 파라미터 셋은 해당 정보에 관한 신택스 구조에 따라서 구성될 수 있으며, 현재 블록의 예측에 사용되는 통합 모드에 관한 정보와 상기 결정된 통합 모드의 후보들에 관한 정보 등을 포함하도록 구성될 수 있다.
부호화기는 구성된 파라미터 셋을 전송한다(S1930). 파라미터 셋의 정보는 부호화되어 비트스트림으로 복호화기에 전송될 수 있다.
도 20은 본 발명이 적용되는 복호화기에서 통합 모드를 적용하여 예측을 수행하는 방법을 개략적으로 설명하는 순서도이다.
도 20을 참조하면, 복호화기는 부호화기로부터 파라미터 셋을 수신한다(S2010). 파라미터 셋은 부호화되어 비트스트림으로 전송되며, 예측에 사용되는 통합 모드에 관한 정보와 통합 모드의 후보에 관한 정보 등을 포함한다.
복호화기는 수신한 파라미터 셋 등으로부터 현재 블록의 예측에 관한 정보를 얻을 수 있다(S2020). 복호화기는 부호화기로부터 파라미터 셋 등을 통해 전송된 정보를 기반으로 현재 블록에 대한 예측 모드를 결정할 수 있다. 예측 모드는 머지 모드와 AMVP 모드의 통합 모드일 수 있다. 머지 모드와 AMVP 모드 중 어느 모드를 적용할 것인지는 파라미터 셋에 포함된 플래그 등을 통해서 결정될 수 있다. 복호화기는 파라미터 셋 등으로부터 획득한 통합 모드의 후보에 관한 정보를 기반으로 적용할 예측 모드에 대한 최적의 후보를 결정할 수 있다. 통합 모드의 후보를 결정하는 방법은 앞서 설명한 바와 같다.
복호화기는 현재 블록에 대하여, 정해진 예측 모드, 예컨대 머지 모드 또는 AMVP 모드를 적용하고, 상기 결정된 최적 후보의 움직임 정보를 이용하여 현재 블록에 대한 예측을 수행할 수 있다(S2030).
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
지금까지 본 발명에 관한 설명에서 일 구성 요소가 타 구성 요소에 "연결되어"있다거나 "접속되어"있다고 언급된 때에는, 상기 일 다른 구성 요소가 상기 타 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 두 구성 요소 사이에 다른 구성 요소가 존재할 수도 있다고 이해되어야 한다. 반면에, 일 구성 요소가 타 구성 요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 두 구성 요소 사이에 다른 구성요소가 존재하지 않는 것으로 이해되어야 한다.

Claims (10)

  1. 영상 정보 복호화 장치에 의하여 수행되는 인터 예측 방법으로,
    현재 블록의 인터 예측에 관한 머지 플래그 및 머지 인덱스를 수신하는 단계;
    상기 머지 플래그를 기반으로 상기 현재 블록의 인터 예측 모드를 머지 모드로 도출하는 단계;
    상기 현재 블록의 주변 후보 블록들을 기반으로 상기 현재 블록의 움직임 정보 도출을 위한 머지 후보 리스트를 구성하는 단계;
    상기 머지 인덱스를 기반으로 상기 머지 후보 리스트로부터 특정 후보를 선택하는 단계; 및
    상기 선택된 특정 후보의 움직임 정보를 기반으로 상기 현재 블록의 상기 움직임 정보를 도출하는 단계를 포함하며,
    상기 인터 예측 모드가 상기 머지 모드인 경우에 대한 상기 후보 블록들은 상기 현재 블록의 공간적 주변 블록들인 좌측 주변 블록, 상측 주변 블록, 좌하측 코너 주변 블록, 좌상측 코너 주변 블록 및 우상측 코너 주변 블록과 시간적 주변 블록을 포함하고,
    상기 좌측 주변 블록은 상기 현재 블록의 좌측 경계에 인접한 좌측 주변 블록들 중 최하측 블록이고, 상기 최하측 블록은 상기 좌하측 코너 주변 블록의 상측 경계에 인접하고,
    상기 상측 주변 블록은 상기 현재 블록의 상측 경계에 인접한 상측 주변 블록들 중 최우측 블록이고, 상기 최우측 블록은 상기 우상측 코너 주변 블록의 좌측 경계에 인접하는 것을 특징으로 하는 인터 예측 방법.
  2. 제1항에 있어서, 상기 후보 블록들은 MVP(motion vector prediction) 모드에 대한 후보 블록들과 동일 영역에 위치하는 것을 특징으로 하는 인터 예측 방법.
  3. 삭제
  4. 제1항에 있어서, 상기 시간적 주변 블록은 참조 픽처 내 상기 현재 블록과 동일 위치에 있는 동일 위치 블록인 것을 특징으로 하는 인터 예측 방법.
  5. 제1항에 있어서,
    참조 픽처 리스트 0에 기반한 L0 예측, 참조 픽처 리스트 1에 기반한 L1 예측, 또는 쌍(bi) 예측 중 하나가 적용됨을 나타내는 인터 예측 타입 정보를 수신하는 단계를 더 포함하되,
    상기 인터 예측 타입 정보 및 상기 현재 블록의 상기 움직임 정보를 기반으로 상기 현재 블록에 대한 예측을 수행하는 것을 특징으로 하는 인터 예측 방법.
  6. 인터 예측을 수행하는 영상 정보 복호화 장치에 있어서,
    현재 블록의 인터 예측에 관한 머지 플래그 및 머지 인덱스를 수신하는 엔트로피 복호화부;
    상기 머지 플래그를 기반으로 상기 현재 블록의 인터 예측 모드를 머지 모드로 도출하고, 상기 현재 블록의 주변 후보 블록들을 기반으로 상기 현재 블록의 움직임 정보 도출을 위한 머지 후보 리스트를 구성하고, 상기 머지 인덱스를 기반으로 상기 머지 후보 리스트로부터 특정 후보를 선택하고, 상기 선택된 특정 후보의 움직임 정보를 기반으로 상기 현재 블록의 상기 움직임 정보를 도출하는 예측부를 포함하되,
    상기 인터 예측 모드가 상기 머지 모드인 경우에 대한 상기 후보 블록들은 상기 현재 블록의 공간적 주변 블록들인 좌측 주변 블록, 상측 주변 블록, 좌하측 코너 주변 블록, 좌상측 코너 주변 블록 및 우상측 코너 주변 블록과 시간적 주변 블록인 동일 위치 블록을 포함하고,
    상기 좌측 주변 블록은 상기 현재 블록의 좌측 경계에 인접한 좌측 주변 블록들 중 최하측 블록이고, 상기 최하측 블록은 상기 좌하측 코너 주변 블록의 상측 경계에 인접하고,
    상기 상측 주변 블록은 상기 현재 블록의 상측 경계에 인접한 상측 주변 블록들 중 최우측 블록이고, 상기 최우측 블록은 상기 우상측 코너 주변 블록의 좌측 경계에 인접하는 것을 특징으로 하는 영상 정보 복호화 장치.
  7. 삭제
  8. 제6항에 있어서,
    상기 엔트로피 복호화부는 참조 픽처 리스트 0에 기반한 L0 예측, 참조 픽처 리스트 1에 기반한 L1 예측, 또는 쌍(bi) 예측 중 하나가 적용됨을 나타내는 인터 예측 타입 정보를 더 수신하되,
    상기 예측부는 상기 인터 예측 타입 정보 및 상기 현재 블록의 상기 움직임 정보를 기반으로 상기 현재 블록에 대한 예측을 수행하는 것을 특징으로 하는 영상 정보 복호화 장치.
  9. 영상 정보 부호화 장치에 의하여 수행되는 영상 정보 부호화 방법으로,
    현재 블록의 인터 예측 모드를 결정하되, 상기 인터 예측 모드는 머지 모드인 단계;
    상기 현재 블록의 주변 후보 블록들을 기반으로 상기 현재 블록의 움직임 정보 도출을 위한 머지 후보 리스트를 구성하는 단계;
    상기 머지 후보 리스트로부터 특정 후보를 선택하는 단계;
    상기 선택된 특정 후보의 움직임 정보를 기반으로 상기 현재 블록의 상기 움직임 정보를 생성하는 단계;
    상기 머지 후보 리스트로부터 상기 선택된 특정 후보를 가리키는 머지 인덱스 정보를 생성하는 단계;
    상기 결정된 인터 예측 모드에 관한 머지 플래그 정보 및 상기 머지 인덱스 정보를 포함하는 영상 정보를 인코딩하는 단계를 포함하며,
    상기 인터 예측 모드가 상기 머지 모드인 경우에 대한 상기 후보 블록들은 상기 현재 블록의 공간적 주변 블록들인 좌측 주변 블록, 상측 주변 블록, 좌하측 코너 주변 블록, 좌상측 코너 주변 블록 및 우상측 코너 주변 블록과 시간적 주변 블록을 포함하고,
    상기 좌측 주변 블록은 상기 현재 블록의 좌측 경계에 인접한 좌측 주변 블록들 중 최하측 블록이고, 상기 최하측 블록은 상기 좌하측 코너 주변 블록의 상측 경계에 인접하고,
    상기 상측 주변 블록은 상기 현재 블록의 상측 경계에 인접한 상측 주변 블록들 중 최우측 블록이고, 상기 최우측 블록은 상기 우상측 코너 주변 블록의 상측 경계에 인접하는 것을 특징으로 하는 영상 정보 부호화 방법.
  10. 디지털 저장 매체로서, 청구항 9에 기재된 영상 정보 부호화 방법에 의해 인코딩된 상기 머지 플래그 정보 및 상기 머지 인덱스 정보를 포함하는 영상 정보가 저장된, 디지털 저장 매체.
KR1020187014364A 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치 KR101967817B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US37970810P 2010-09-02 2010-09-02
US61/379,708 2010-09-02
US41093910P 2010-11-08 2010-11-08
US61/410,939 2010-11-08
US41280510P 2010-11-12 2010-11-12
US61/412,805 2010-11-12
PCT/KR2011/006530 WO2012030193A2 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177020722A Division KR101861714B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197009733A Division KR102080892B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치

Publications (2)

Publication Number Publication Date
KR20180058233A KR20180058233A (ko) 2018-05-31
KR101967817B1 true KR101967817B1 (ko) 2019-04-11

Family

ID=45773417

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020137005490A KR101454133B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020197009733A KR102080892B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020177020722A KR101861714B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020207004745A KR102185707B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020147008942A KR101762819B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020187014364A KR101967817B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치

Family Applications Before (5)

Application Number Title Priority Date Filing Date
KR1020137005490A KR101454133B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020197009733A KR102080892B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020177020722A KR101861714B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020207004745A KR102185707B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR1020147008942A KR101762819B1 (ko) 2010-09-02 2011-09-02 영상 부호화 및 복호화 방법과 이를 이용한 장치

Country Status (11)

Country Link
US (7) US9165379B2 (ko)
EP (3) EP2613535B1 (ko)
KR (6) KR101454133B1 (ko)
CN (5) CN103081470B (ko)
ES (2) ES2967494T3 (ko)
FI (1) FI3907999T3 (ko)
HR (1) HRP20231669T1 (ko)
HU (1) HUE055116T2 (ko)
PL (2) PL3907999T3 (ko)
SI (1) SI3907999T1 (ko)
WO (1) WO2012030193A2 (ko)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103081470B (zh) * 2010-09-02 2016-08-03 Lg电子株式会社 编码和解码视频的方法和使用该方法的装置
CN105847831B (zh) 2010-11-23 2019-08-09 Lg电子株式会社 视频编码装置和视频解码装置
KR20120080122A (ko) * 2011-01-06 2012-07-16 삼성전자주식회사 경쟁 기반의 다시점 비디오 부호화/복호화 장치 및 방법
US9635383B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for computing a motion vector
US10171813B2 (en) * 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
WO2012117744A1 (en) 2011-03-03 2012-09-07 Panasonic Corporation Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
JP5982734B2 (ja) 2011-03-11 2016-08-31 ソニー株式会社 画像処理装置および方法
AU2011362447B2 (en) 2011-03-14 2015-09-24 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
ES2685945T3 (es) 2011-04-12 2018-10-15 Sun Patent Trust Procedimiento de codificación de video de movimiento, y aparato de codificación de video de movimiento
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
PL4007276T3 (pl) 2011-05-27 2023-12-11 Sun Patent Trust Sposób kodowania obrazów, urządzenie do kodowania obrazów, sposób dekodowania obrazów, urządzenie do dekodowania obrazów, i urządzenie do kodowania i dekodowania obrazów
US8989271B2 (en) 2011-05-31 2015-03-24 Panasonic Intellectual Property Corporation Of America Decoding method and apparatus with candidate motion vectors
US9313494B2 (en) 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
EP2728878B1 (en) * 2011-06-30 2020-02-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
WO2013005966A2 (ko) 2011-07-01 2013-01-10 한국전자통신연구원 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
KR20130004173A (ko) 2011-07-01 2013-01-09 한국항공대학교산학협력단 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
EP3487178A1 (en) 2011-08-03 2019-05-22 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
MX343471B (es) 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
CN102970526B (zh) * 2011-08-31 2016-12-14 华为技术有限公司 一种获得变换块尺寸的方法和模块
CN102957907B (zh) * 2011-08-31 2016-06-29 华为技术有限公司 一种变换块位置信息的获取方法和模块
ES2487993B1 (es) 2011-09-09 2015-09-29 Kt Corporation Procedimiento de obtención de un vector temporal predictor de movimiento, y aparato que utiliza el procedimiento
CA2850066C (en) 2011-10-05 2020-03-24 Panasonic Corporation An image coding and decoding method using prediction information candidates for prediction unit sub-blocks
GB2509670B (en) 2011-10-18 2018-12-05 Kt Corp Method for encoding image, method for decoding image, image encoder, and image decoder
WO2013057877A1 (ja) 2011-10-19 2013-04-25 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置
US9729873B2 (en) * 2012-01-24 2017-08-08 Qualcomm Incorporated Video coding using parallel motion estimation
SI3833023T1 (sl) * 2012-04-12 2022-06-30 Jvckenwood Corporation Konstruiranje seznama kandidatov za spajanje
WO2013157839A1 (ko) * 2012-04-17 2013-10-24 삼성전자 주식회사 인간의 시각 특성을 이용한 오프셋 값 결정 방법 및 장치
US9591312B2 (en) * 2012-04-17 2017-03-07 Texas Instruments Incorporated Memory bandwidth reduction for motion compensation in video coding
US10721487B2 (en) 2012-04-17 2020-07-21 Texas Instruments Incorporated Converting a bi-predicted merging candidate in a merging candidate list for a prediction unit of a picture
US20130301727A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Programmable and scalable integer search for video encoding
RS56675B1 (sr) * 2012-06-11 2018-03-30 Samsung Electronics Co Ltd Postupak kodiranja video zapisa koji dele sao parametar prema komponenti boje
US20130343459A1 (en) * 2012-06-22 2013-12-26 Nokia Corporation Method and apparatus for video coding
US10506253B2 (en) 2012-10-12 2019-12-10 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
US10158876B2 (en) * 2013-04-10 2018-12-18 Qualcomm Incorporated Backward view synthesis prediction
US20160286212A1 (en) * 2013-10-17 2016-09-29 Nippon Telegraph And Telephone Corporation Video encoding apparatus and method, and video decoding apparatus and method
TWI538487B (zh) * 2013-12-05 2016-06-11 財團法人工業技術研究院 螢幕視訊之預測編碼的方法與系統
BR112016017201B1 (pt) * 2014-01-29 2023-09-26 Hfi Innovation Inc Método de codificação e decodificação para precisão adaptativa de vetor de movimento de um bloco de dados de vídeo
GB2524476B (en) * 2014-03-14 2016-04-27 Canon Kk Method, device and computer program for optimizing transmission of motion vector related information when transmitting a video stream
US10715833B2 (en) * 2014-05-28 2020-07-14 Apple Inc. Adaptive syntax grouping and compression in video data using a default value and an exception value
KR102378459B1 (ko) * 2014-06-30 2022-03-24 한국전자통신연구원 움직임 병합 모드에서 시점 합성 예측 후보의 중복성 제거 장치 및 방법
US10182240B2 (en) * 2014-11-18 2019-01-15 Mediatek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
CN107005696B (zh) * 2014-11-27 2020-06-26 株式会社Kt 视频信号处理方法和设备
US10958927B2 (en) * 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
WO2016178485A1 (ko) * 2015-05-05 2016-11-10 엘지전자 주식회사 영상 코딩 시스템에서 코딩 유닛 처리 방법 및 장치
US9883137B2 (en) 2015-11-03 2018-01-30 Qualcomm Incorporated Updating regions for display based on video decoding mode
WO2017107072A1 (en) 2015-12-22 2017-06-29 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
CN116170584A (zh) * 2017-01-16 2023-05-26 世宗大学校产学协力团 影像编码/解码方法
US11172203B2 (en) * 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
CN115022632A (zh) 2017-10-18 2022-09-06 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
BR122022003522A8 (pt) * 2017-11-09 2023-03-28 Samsung Electronics Co Ltd Aparelho de decodificação de informações de movimento, e método para codificar informações de movimento
CN109922340B (zh) 2017-12-13 2021-10-15 华为技术有限公司 图像编解码方法、装置、系统及存储介质
KR102075208B1 (ko) * 2017-12-14 2020-02-10 전자부품연구원 참조 프레임을 적응적으로 제한하는 영상 부호화 방법 및 장치
US11128887B2 (en) 2018-03-19 2021-09-21 Kt Corporation Method and apparatus for processing video signal
WO2019209026A1 (ko) 2018-04-24 2019-10-31 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
US10587885B2 (en) * 2018-06-04 2020-03-10 Tencent America LLC Method and apparatus for merge mode with additional middle candidates in video coding
WO2020004931A1 (ko) * 2018-06-27 2020-01-02 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 처리 방법 및 장치
WO2020009390A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 처리 방법 및 장치
CN110868601B (zh) * 2018-08-28 2024-03-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
CN110868613B (zh) * 2018-08-28 2021-10-01 华为技术有限公司 基于历史候选列表的图像编码方法、图像解码方法及装置
CN112771872A (zh) 2018-09-11 2021-05-07 有限公司B1影像技术研究所 使用帧间预测的图像编码/解码方法和装置
US11695926B2 (en) 2018-09-21 2023-07-04 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding image, and recording medium for storing bitstream
CN117041592A (zh) 2018-11-08 2023-11-10 Oppo广东移动通信有限公司 图像信号编码/解码方法及其设备
US11539940B2 (en) 2018-11-12 2022-12-27 Hfi Innovation Inc. Method and apparatus of multi-hypothesis in video coding
WO2020171658A1 (ko) * 2019-02-21 2020-08-27 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
JP2022538064A (ja) * 2019-06-19 2022-08-31 エルジー エレクトロニクス インコーポレイティド デフォルト(default)マージモードに基づいて予測サンプルを導き出す映像デコーディング方法及びその装置
KR20210158401A (ko) 2019-06-19 2021-12-30 엘지전자 주식회사 결정된 예측 모드를 적용하여 예측 샘플들을 생성하는 영상 디코딩 방법 및 그 장치
JP2022538069A (ja) * 2019-06-19 2022-08-31 エルジー エレクトロニクス インコーポレイティド 現在ブロックに対して最終的に予測モードを選択できない場合、インター予測を行う映像デコーディング方法及びその装置
WO2023200255A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 Amvp(advanced motion vector prediction)-merge 모드에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1131637C (zh) * 2000-10-13 2003-12-17 北京算通数字技术研究中心有限公司 数据流索引文件生成及用该文件访问帧和切变镜头的方法
KR100378795B1 (ko) 2001-04-02 2003-04-03 엘지전자 주식회사 동영상에서 b픽쳐의 신축적인 다이렉트 모드 코딩 방법
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US7173971B2 (en) * 2002-11-20 2007-02-06 Ub Video Inc. Trailing artifact avoidance system and method
US8824553B2 (en) * 2003-05-12 2014-09-02 Google Inc. Video compression method
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
WO2006012383A2 (en) * 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
US8059720B2 (en) * 2004-11-30 2011-11-15 Humax Co., Ltd. Image down-sampling transcoding method and device
US7430238B2 (en) * 2004-12-10 2008-09-30 Micronas Usa, Inc. Shared pipeline architecture for motion vector prediction and residual decoding
WO2008127597A2 (en) * 2007-04-12 2008-10-23 Thomson Licensing Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
CN101415122B (zh) 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
US8213515B2 (en) * 2008-01-11 2012-07-03 Texas Instruments Incorporated Interpolated skip mode decision in video compression
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR100985268B1 (ko) * 2008-07-18 2010-10-04 엘지전자 주식회사 모션벡터 결정방법
EP2207357A1 (en) 2008-10-06 2010-07-14 Lg Electronics Inc. Method and apparatus for video coding using large macroblocks
JP2012504924A (ja) 2008-10-06 2012-02-23 エルジー エレクトロニクス インコーポレイティド ビデオ信号の処理方法及び装置
KR101452859B1 (ko) * 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
CN101909212B (zh) * 2010-08-05 2012-08-22 上海交通大学 可重构多媒体SoC的多标准宏块预测系统
CN103081470B (zh) * 2010-09-02 2016-08-03 Lg电子株式会社 编码和解码视频的方法和使用该方法的装置
SI3595303T1 (sl) * 2010-11-25 2022-01-31 Lg Electronics Inc. Postopek za dekodiranje informacije o sliki, naprava za dekodiranje, postopek za kodiranje informacije o sliki, naprava za kodiranje in pomnilniški medij
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
EP2654301A4 (en) * 2010-12-14 2016-02-17 M&K Holdings Inc METHOD FOR INTER-PREDICTIVE DECODING OF ENCODED FILMS
US8902982B2 (en) * 2011-01-17 2014-12-02 Samsung Electronics Co., Ltd. Depth map coding and decoding apparatus and method
JP5982734B2 (ja) * 2011-03-11 2016-08-31 ソニー株式会社 画像処理装置および方法
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
MX339141B (es) * 2011-06-30 2016-05-13 Panasonic Ip Corp America Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
KR101444675B1 (ko) * 2011-07-01 2014-10-01 에스케이 텔레콤주식회사 영상 부호화 및 복호화 방법과 장치
WO2013032074A1 (ko) * 2011-08-29 2013-03-07 주식회사 아이벡스피티홀딩스 머지 모드 움직임 정보 복호화 장치
US9280835B2 (en) * 2011-10-18 2016-03-08 Nokia Technologies Oy Method for coding and an apparatus based on a DC prediction value
JP5768662B2 (ja) * 2011-10-31 2015-08-26 富士通株式会社 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
JP5821542B2 (ja) * 2011-11-07 2015-11-24 富士通株式会社 動画像符号化装置、および動画像復号装置
KR101665921B1 (ko) * 2011-11-08 2016-10-12 가부시끼가이샤 도시바 이미지 부호화 방법, 이미지 복호화 방법, 이미지 부호화 장치 및 이미지 복호화 장치
US9906815B2 (en) * 2011-11-08 2018-02-27 Texas Instruments Incorporated Delayed duplicate I-picture for video coding
TWI607650B (zh) * 2011-12-28 2017-12-01 Jvc Kenwood Corp Motion picture decoding apparatus, motion picture decoding method, and motion picture decoding program
CN104041034B (zh) * 2012-01-19 2018-10-16 索尼公司 图像处理设备和方法
WO2013109124A1 (ko) * 2012-01-19 2013-07-25 삼성전자 주식회사 쌍방향 예측 및 블록 병합을 제한하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20150334389A1 (en) * 2012-09-06 2015-11-19 Sony Corporation Image processing device and image processing method
US9124899B2 (en) * 2012-09-28 2015-09-01 Sharp Laboratories Of America, Inc. Motion derivation and coding for scaling video
EP2903286A4 (en) * 2012-09-28 2016-05-25 Sony Corp IMAGE PROCESSING DEVICE AND METHOD
WO2014107853A1 (en) * 2013-01-09 2014-07-17 Mediatek Singapore Pte. Ltd. Methods for disparity vector derivation
CN112188207B (zh) * 2014-10-31 2023-10-20 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
US10785475B2 (en) * 2014-11-05 2020-09-22 Mediatek Singapore Pte. Ltd. Method and apparatus of video coding with prediction offset
US10462479B2 (en) * 2015-07-10 2019-10-29 Nec Corporation Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program
EP3357245A4 (en) * 2015-11-05 2019-03-13 MediaTek Inc. METHOD AND DEVICE OF INTERPRESSATION USING AN AVERAGE MOTION VECTOR FOR VIDEO CODING
KR20170072637A (ko) * 2015-12-17 2017-06-27 한국전자통신연구원 영상 부호화/복호화 방법 및 그 장치
WO2017122997A1 (ko) * 2016-01-11 2017-07-20 삼성전자 주식회사 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
US10798403B2 (en) * 2016-01-29 2020-10-06 Sharp Kabushiki Kaisha Prediction image generation device, video decoding device, and video coding device
EP3422724B1 (en) * 2017-06-26 2024-05-01 Nokia Technologies Oy An apparatus, a method and a computer program for omnidirectional video
CA3105474A1 (en) * 2017-07-03 2019-01-10 Industry-University Cooperation Foundation Hanyang University Method and device for decoding image by using partition unit including additional region
US10764605B2 (en) * 2018-02-14 2020-09-01 Qualcomm Incorporated Intra prediction for 360-degree video
TWI738081B (zh) * 2018-10-10 2021-09-01 聯發科技股份有限公司 視訊編碼系統中結合多重預測子用於區塊預測之方法和裝置
US10958900B2 (en) * 2018-12-06 2021-03-23 Qualcomm Incorporated Derivation of spatial-temporal motion vectors prediction in video coding
US11032574B2 (en) * 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Joint Collaborative Team on Video Coding of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd meeting , Geneva, 21-28, July, 2010, JCTVC-B205.*

Also Published As

Publication number Publication date
WO2012030193A3 (ko) 2012-05-24
KR102185707B1 (ko) 2020-12-02
KR102080892B1 (ko) 2020-02-24
EP2613535A2 (en) 2013-07-10
KR101861714B1 (ko) 2018-05-28
ES2879366T3 (es) 2021-11-22
FI3907999T3 (fi) 2023-12-14
US20150382013A1 (en) 2015-12-31
CN106412602A (zh) 2017-02-15
PL2613535T3 (pl) 2021-10-25
KR20190039620A (ko) 2019-04-12
CN106412603A (zh) 2017-02-15
KR101762819B1 (ko) 2017-07-28
ES2967494T3 (es) 2024-04-30
US9165379B2 (en) 2015-10-20
US10666969B2 (en) 2020-05-26
US20220124363A1 (en) 2022-04-21
EP3907999B1 (en) 2023-11-22
CN106412601B (zh) 2019-12-17
CN103081470B (zh) 2016-08-03
KR20130061721A (ko) 2013-06-11
US11245918B2 (en) 2022-02-08
US20170105021A1 (en) 2017-04-13
HRP20231669T1 (hr) 2024-03-15
WO2012030193A2 (ko) 2012-03-08
US10097854B2 (en) 2018-10-09
US20230239493A1 (en) 2023-07-27
KR20200020987A (ko) 2020-02-26
US9560374B2 (en) 2017-01-31
SI3907999T1 (sl) 2024-02-29
CN106412601A (zh) 2017-02-15
US20130156335A1 (en) 2013-06-20
EP4322530A1 (en) 2024-02-14
KR20140046091A (ko) 2014-04-17
CN105933713B (zh) 2019-03-19
CN106412603B (zh) 2019-08-06
US11653021B2 (en) 2023-05-16
CN106412602B (zh) 2019-11-15
CN103081470A (zh) 2013-05-01
EP2613535A4 (en) 2015-01-07
HUE055116T2 (hu) 2021-10-28
US20200252643A1 (en) 2020-08-06
CN105933713A (zh) 2016-09-07
KR20180058233A (ko) 2018-05-31
KR101454133B1 (ko) 2014-10-23
US20190007697A1 (en) 2019-01-03
EP3907999A1 (en) 2021-11-10
KR20170091752A (ko) 2017-08-09
EP2613535B1 (en) 2021-06-23
PL3907999T3 (pl) 2024-04-08

Similar Documents

Publication Publication Date Title
KR101967817B1 (ko) 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR102559063B1 (ko) 비디오 신호 처리 방법 및 장치
KR102125035B1 (ko) 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
KR101425772B1 (ko) 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR102498289B1 (ko) 인터 예측 방법 및 그 장치
KR102553843B1 (ko) 비디오 신호 처리 방법 및 장치
KR101961889B1 (ko) 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
KR101769085B1 (ko) 참조 유닛 결정 방법 및 장치
KR102546142B1 (ko) 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치
WO2012086963A1 (ko) 영상 부호화 및 복호화 방법과 이를 이용한 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right