KR20220104446A - 움직임 예측에 있어 탐색 범위 결정을 이용한 인코딩, 디코딩 장치 및 그 동작 방법 - Google Patents

움직임 예측에 있어 탐색 범위 결정을 이용한 인코딩, 디코딩 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20220104446A
KR20220104446A KR1020210006740A KR20210006740A KR20220104446A KR 20220104446 A KR20220104446 A KR 20220104446A KR 1020210006740 A KR1020210006740 A KR 1020210006740A KR 20210006740 A KR20210006740 A KR 20210006740A KR 20220104446 A KR20220104446 A KR 20220104446A
Authority
KR
South Korea
Prior art keywords
frame
search range
prediction
current
mode
Prior art date
Application number
KR1020210006740A
Other languages
English (en)
Other versions
KR102479714B1 (ko
Inventor
임장혁
Original Assignee
주식회사 엘지유플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스 filed Critical 주식회사 엘지유플러스
Priority to KR1020210006740A priority Critical patent/KR102479714B1/ko
Publication of KR20220104446A publication Critical patent/KR20220104446A/ko
Application granted granted Critical
Publication of KR102479714B1 publication Critical patent/KR102479714B1/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/11Selection of coding mode or of prediction mode among a plurality of spatial 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/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

일 실시 예에 따른 움직임 예측에 있어 탐색 범위를 결정을 위한 인코딩 방법은, 현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 단계; 상기 모드의 방향에 기초하여 상기 현재 프레임의 움직임 예측을 위한 탐색 범위를 결정하는 단계; 및 상기 탐색 범위에서 상기 현재 블록에 대한 움직임 예측을 수행하는 단계를 포함한다.

Description

움직임 예측에 있어 탐색 범위 결정을 이용한 인코딩, 디코딩 장치 및 그 동작 방법{APPARATUS FOR ENCODING AND DECODING IMAGE USING SEARCH RANGE DECISION FOR MOTION ESTIMATION, AND OPERATING METHOD THEREOF}
아래의 실시예들은 비디오 영상의 인코딩 및 디코딩에서 움직임 예측에 있어 탐색 범위를 결정하는 것에 관한 것으로, 보다 구체적으로는 이전 프레임에서 사용된 인트라 예측 모드(intra prediction mode)에 기초하여 탐색 범위를 결정하는 기술에 관한 것이다.
비디오 영상은 인코더에 의해 압축된 형태로 인코딩되고, 디코더에 의해 다시 복원된다. 인코더에서는 전송하려는 영상에서 중복 요소를 제거하여 효율적으로 인코딩을 수행한다. 중복 요소를 제거하기 위해 예측(prediction)이 사용된다. 인코더는 움직임 예측에서 현재 블록과 가장 근접한 값을 갖는 예측 블록을 참조 프레임에서 찾아 예측 블록과 현재 블록의 차이에 대한 정보를 인코딩한다.
관련 선행기술로, 한국 등록특허공보 10-1560186호(발명의 명칭: 움직임 예측에 있어 적응적 탐색 범위 결정을 이용한 부호화, 복호화 방법 및 장치, 출원인: 삼성전자 주식회사)가 있다. 해당 등록특허공보에는 현재 블록이 포함된 현재 프레임이 P프레임인 경우, 현재 프레임 이전에 부호화되고 복호화되는 프레임의 움직임 벡터와 인트라(intra)/인터(inter) 모드의 비율을 분석하여 참조 프레임의 시간적 탐색 범위와 공간적 탐색 범위 결정을 위한 부호화 및 복호화 방법 및 장치가 개시된다.
기존 움직임 예측에서는 참조 프레임의 고정된 탐색 범위 내에서 예측 블록을 생성하였다.
일 실시 예에 따른 장치는 인트라 예측 모드에 기초하여 결정된 탐색 범위에서 예측 블록을 생성하여 현재 블록과 예측 블록 사이의 오차를 줄이는 방법을 제공할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시 예에 따른 움직임 예측에 있어 탐색 범위를 결정을 위한 인코딩 방법은, 현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 단계; 상기 모드의 방향에 기초하여 상기 현재 프레임의 움직임 예측을 위한 탐색 범위를 결정하는 단계; 상기 탐색 범위에서 상기 현재 블록에 대한 움직임 예측을 수행하는 단계를 포함한다.
일 실시 예에 따르면, 상기 모드의 방향에 기초하여 상기 현재 프레임의 움직임 예측을 위한 탐색 범위를 결정하는 단계는, 상기 방향에 기초하여 상기 현재 블록을 포함하는 복수의 블록들을 결정하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 복수의 블록들의 개수는, 상기 모드의 종류에 관계없이 동일할 수 있다.
일 실시 예에 따르면, 상기 참조 프레임은 상기 현재 프레임 이전에 인코딩 및 디코딩되는 I 프레임(intra frame)이고, 상기 참조 프레임의 상기 움직임 예측은 인트라 예측(intra prediction)일 수 있다.
일 실시 예에 따르면, 상기 현재 프레임은 P 프레임(predicted frame)이고, 상기 현재 프레임의 상기 움직임 예측은 인터 예측(inter prediction)일 수 있다.
일 실시 예에 따른 움직임 예측에 있어 탐색 범위를 결정을 위한 디코딩 방법은, 현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 단계; 및 상기 모드의 방향에 기초하여 결정된 탐색 범위에 포함된 예측 블록을 생성하는 단계를 포함한다.
일 실시 예에 따르면, 상기 탐색 범위는, 상기 모드의 상기 방향에 기초하여 상기 현재 블록을 포함하는 복수의 블록들이 결정됨으로써 결정될 수 있다.
일 실시 예에 따르면, 상기 복수의 블록들의 개수는, 상기 모드의 종류에 관계없이 동일할 수 있다.
일 실시 예에 따르면, 상기 참조 프레임은 상기 현재 프레임 이전에 인코딩 및 디코딩되는 I 프레임(intra frame)이고, 상기 참조 프레임의 상기 움직임 예측은 인트라 예측(intra prediction)일 수 있다.
일 실시 예에 따르면, 상기 현재 프레임은 P 프레임(predicted frame)이고, 상기 현재 프레임의 상기 움직임 예측은 인터 예측(inter prediction)일 수 있다.
일 실시 예에 따른 움직임 예측에 있어 탐색 범위 결정을 위한 인코더는, 현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 예측 모드 분석부; 상기 모드의 방향에 기초하여 상기 현재 프레임의 움직임 예측을 위한 탐색 범위를 결정하는 탐색 범위 결정부; 및 상기 탐색 범위에서 상기 현재 블록에 대한 움직임 예측을 수행하는 예측부를 포함한다.
일 실시 예에 따르면, 상기 탐색 범위 결정부는, 상기 방향에 기초하여 상기 현재 블록을 포함하는 복수의 블록들을 결정할 수 있다.
일 실시 예에 따르면, 상기 복수의 블록들의 개수는, 상기 모드의 종류에 관계없이 동일할 수 있다.
일 실시 예에 따르면, 상기 참조 프레임은 상기 현재 프레임 이전에 인코딩 및 디코딩되는 I 프레임(intra frame)이고, 상기 참조 프레임의 상기 움직임 예측은 인트라 예측(intra prediction)일 수 있다.
일 실시 예에 따르면, 상기 현재 프레임은 P 프레임(predicted frame)이고, 상기 현재 프레임의 상기 움직임 예측은 인터 예측(inter prediction)일 수 있다.
일 실시 예에 따른 움직임 예측에 있어 탐색 범위 결정을 위한 디코더는, 현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 예측 모드 분석부; 및 상기 현재 프레임의 움직임 예측을 위한 탐색 범위에 포함된 예측 블록을 생성하는 예측 블록 생성부 - 상기 탐색 범위는 상기 모드의 방향에 기초하여 결정됨 -를 포함한다.
일 실시 예에 따르면, 상기 탐색 범위 결정부는, 상기 방향에 기초하여 상기 현재 블록을 포함하는 복수의 블록들을 결정할 수 있다.
일 실시 예에 따르면, 상기 복수의 블록들의 개수는, 상기 모드의 종류에 관계없이 동일할 수 있다.
일 실시 예에 따르면, 상기 참조 프레임은 상기 현재 프레임 이전에 인코딩 및 디코딩되는 I 프레임(intra frame)이고, 상기 참조 프레임의 상기 움직임 예측은 인트라 예측(intra prediction)일 수 있다.
일 실시 예에 따르면, 상기 현재 프레임은 P 프레임(predicted frame)이고, 상기 현재 프레임의 상기 움직임 예측은 인터 예측(inter prediction)일 수 있다.
일 실시 예에 따르면 인트라 예측 모드의 방향에 기초하여 탐색 범위를 조정함으로써 현재 블록의 예측 블록을 보다 정확하게 찾을 수 있다.
일 실시 예에 따르면 인트라 예측 모드의 방향을 고려한 탐색 범위 결정으로 개선된 화질을 제공할 수 있다.
도 1a는 일 예에 따른 움직임 예측에 있어 탐색 범위 결정을 위한 인코더의 구성도이다.
도 1b는 일 예에 따른 움직임 예측에 있어 탐색 범위 결정을 위한 디코더의 구성도이다.
도 2는 일 예에 따른 인트라 예측 모드에 기초하여 탐색 범위를 결정하는 인코더의 블록도이다.
도 3은 일 예에 따른 인트라 예측 모드에 기초하여 탐색 범위가 결정된 디코더의 블록도이다.
도 4a 및 도 4b는 일 예에 따른 움직임 예측을 설명하기 위한 도면이다.
도 5a 및 도 5b는 일 예에 따른 인트라 예측 모드를 설명하기 위한 도면이다.
도 6a 내지 도 6c는 일 예에 따른 인트라 예측 모드에 기초하여 탐색 범위를 결정하는 예시도이다.
도 7은 일 예에 따른 인트라 예측 모드에 기초하여 탐색 범위가 결정되는 것을 설명하기 위한 도면이다.
도 8은 일 예에 따른 인코더의 동작 방법을 나타내는 흐름도이다.
도 9는 일 예에 따른 디코더의 동작 방법을 나타내는 흐름도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
<인코더 및 디코더>
도 1a는 일 예에 따른 움직임 예측에 있어 탐색 범위 결정을 위한 인코더의 구성도이다.
도 1a를 참조하면, 일 실시 예에 따른 인코더는 움직임 예측부(110), 움직임 보상부(112), 인트라 예측 선택부(114), 인트라 예측 수행부(116), 변환부(118), 양자화부(120), 재배열부(122), 엔트로피 인코딩부(124), 역양자화부(126), 역변환부(128), 및 필터(130)를 포함한다.
도 1에서 일 실시예에 따른 인트라 예측 모드에 기초한 탐색 범위 결정은 움직임 예측부(110)에서 수행된다. 현재 프레임과 참조 프레임 간 인터 예측(inter prediction)에서, 움직임 예측부(110) 및 움직임 보상부(112)를 거쳐 움직임 벡터(motion vector)가 생기고, 현재 프레임 내에서 인트라 예측(intra prediction)에서, 인트라 예측 모드(intra prediction mode)가 생긴다.
움직임 예측부(110) 및 움직임 보상부(112)는 입력된 블록에 대해 움직임 예측 및 보상을 수행한다. 움직임 예측은 메모리에 저장되어 있는 이전의 참조 프레임을 이용하여 현재 블록을 예측하는 것을 말한다. 특히, 움직임 예측부(110)는 일 실시 예에 따른 움직임 예측에 있어 적응적으로 탐색 범위를 결정한다.
인트라 예측 선택부(114) 및 인트라 예측 수행부(116)는 입력된 블록에 대해 인트라 예측을 수행한다. 변환부(118) 및 양자화부(120)는 인터 예측 또는 인트라 예측 영상 정보 원 영상 데이터를 감산한 레지듀(residue)를 변환 및 양자화하여 양자화된 변환 계수들로 구성된 변환 블록을 출력한다. 엔트로피 인코딩부(124)는 변환 블록을 가변 길이 인코딩하여, 비트스트림으로 출력한다.
도 1b는 일 예에 따른 움직임 예측에 있어 탐색 범위 결정을 위한 디코더의 구성도이다.
도 1b를 참조하면, 일 실시예에 따른 디코더는 움직임 보상부(150), 인트라 예측부(152), 엔트로피 디코딩부(154), 재배열부(156), 역양자화부(158), 역변환부(160), 및 필터(162)를 포함한다. 도 1b의 움직임 보상부(150)에서, 일 실시 예에 따라 결정된 탐색 범위 내에서 선택된 예측 블록을 이용하여 움직임 보상이 수행된다.
입력된 비트스트림은 엔트로피 디코딩부(154)에서 디코딩되고, 역양자화부(158) 및 역변환부(160)에서 디코딩된 데이터를 역양자화하고 역변환하여 예측 영상 정보와 레지듀(residue)를 출력한다. 움직임 보상부(150)에서 예측 영상 정보와 레지듀를 이용하여 움직임 보상을 수행한다. 특히, 움직임 보상부(150)에서는 일 실시 예에 따라 인트라 예측 모드의 방향에 기초하여 결정된 탐색 범위에서 선택된 예측 블록을 이용하여 움직임 보상을 수행한다.
도 2는 일 예에 따른 인트라 예측 모드에 기초하여 탐색 범위를 결정하는 인코더의 블록도이다.
도 2를 참조하면, 일 실시 예에 따른 인코더(200)는 판단부(210), 예측 모드 분석부(220), 탐색 범위 결정부(230), 및 예측부(240)를 포함할 수 있다.
일 실시 예에 따르면, 판단부(210)는 현재 블록이 포함된 현재 프레임이 P 프레임(predicted frame)인지 판단하여, P 프레임임이 확인되면 일 실시 예에 따른 방법에 따라 탐색 범위가 결정된다. P 프레임이 아닌 경우에는 종래 알고리즘에 따라 탐색 범위가 결정될 수 있다.
비디오 인코딩, 디코딩에서 프레임의 종류에 대해 살펴보면, 프레임의 종류는 부호화(Coding) 방식과 관련이 있다. 동영상 압축기술에 적용되는 코딩 방식은, 화면 내 코딩인 인트라 프레임 코딩(Intra Frame Coding)과 화면간 코딩인 인터 프레임 코딩(Inter Frame Coding) 방식으로 나눌 수 있다.
인트라 프레임 코딩은 압축하고자 하는 프레임의 공간적 관계성을 이용하여 프레임을 압축하는 방식으로, 인트라 프레임 코딩을 통해 인코딩된 프레임을 I 프레임(intra frame)이라 한다. 인터 프레임 코딩의 경우 현재 프레임의 공간적 특성과 함께 주변 프레임과의 시간적 관계성을 동시에 고려하여 동영상을 압축하는 방식으로, 인터 프레임 코딩에는 P (Predictive) 프레임과 B (Bi-directional) 프레임이 있다. P 프레임은 이전 프레임과의 관계성을 고려하여 압축되는 프레임을 의미하고, B 프레임의 경우 2장의 프레임을 동시에 고려하여 압축되는 프레임을 의미한다. 하나의 프레임 그룹(group of pictures, GOP) 안에서, I 프레임이 가장 먼저 인트라 프레임 코딩되고, 그 다음 프레임 중 가장 먼저 나오는 P 프레임이 I 프레임으로부터 인터 프레임 코딩된다. P 프레임은 순방향으로만 움직임 보상(motion compensation)이 일어나며 이전 프레임들 중 I프레임 또는 P 프레임인 한 개의 프레임을 참조한다. B 프레임은 순방향, 역방향 양방향으로 움직임 보상이 일어나며, 이전 I 프레임 또는 P 프레임들 중 하나, 이후 I 프레임 또는 P 프레임들 중 하나를 참조한다.
일 실시예에 따른 방법과 장치는 P 프레임에 적용되는데, P 프레임의 경우 프레임 간격이 크고, 움직임이 큰 영상에 좀 더 민감하므로 화질을 크게 개선시킬 수 있다. 또한, P 프레임은 B 프레임보다 적은 프레임 수에도 B 프레임의 참조 프레임이 되기 때문에 화질을 크게 개선시키면서도 시스템 복잡도를 유지할 수 있다.
또한 일 실시예에 따른 방법과 장치는 슬라이스(slice) 단위로도 적용될 수 있다. 이하 설명에서는 일 실시예에 따라 프레임 관점에서 설명한다.
예측 모드 분석부(220)는 현재 블록이 포함된 P 프레임의 이전 프레임인 참조 프레임에서 사용된 인트라 예측 모드를 분석한다. 일 실시 예에 따르면 현재 프레임인 P프레임의 참조 프레임은 이전 프레임들 중 I 프레임 또는 P 프레임일 수 있다. 참조 프레임이 I 프레임인 일 실시예의 경우, 참조 프레임인 I 프레임에서 사용된 움직임 예측은 인트라 예측(intra prediction)이고 예측 모드 분석부(220)는 인트라 예측에서 사용된 모드를 분석할 수 있다.
비디오 인코딩, 디코딩 분야에서, 인트라 예측에는 다양한 알고리즘에 기초한 다양한 모드들이 사용될 수 있다. 인트라 예측의 구체적인 모드는 도 5 및 도 6에서 상세히 설명된다.
일 실시 예에 따르면, 참조 프레임의 인트라 예측에서 사용된 모드에 대한 정보가 메모리에 저장되어 있고, 예측 모드 분석부(220)는 메모리를 참조할 수 있다. 예측 모드 분석부(220)는 인트라 예측에서 사용된 모드를 참조하여 참조 프레임의 인트라 예측 방향에 대한 정보를 결정할 수 있다.
탐색 범위 결정부(230)에서는 참조 프레임의 인트라 예측에서 사용된 모드의 분석 결과에 따라 탐색 범위를 결정한다. 일 실시 예에 따르면, 탐색 범위 결정부(230)는 참조 프레임에서 현재 블록을 포함하는 복수 개의 블록들을 결정할 수 있다. 일 실시 예에 따르면 예측 모드 분석부(220)에서 분석한 인트라 예측 모드의 방향이 수직 방향(vertical)인 경우, 탐색 범위 결정부(230)는 참조 프레임에서 현재 블록을 포함하고, 세로 방향으로 긴 모양의 탐색 범위를 갖도록 복수의 블록들을 결정할 수 있다. 일 실시 예에 따르면 탐색 범위 결정부(230)는 모드의 종류에 관계없이 동일한 개수의 복수의 블록들을 결정할 수 있다.
일 실시 예에 따르면, 탐색 범위 결정부(230)는 탐색 범위 기본값과 동일한 개수의 블록들을 결정하여 움직임 예측 계산량을 동일하게 유지할 수 있다. 예를 들어, 탐색 범위 기본값이 4×4로 저장되어 있는 경우 탐색 범위 결정부(230)는 예측 모드 분석부(220)에서 분석한 인트라 예측 모드의 종류에 관계없이 16개의 블록을 결정하되, 인트라 예측 모드의 방향을 고려하여 결정할 수 있다.
예측부(240)는 탐색 범위 결정부(230)에서 결정한 탐색 범위 내에서 현재 블록과 가장 오차가 적은 예측 블록을 찾아 예측 블록의 위치를 나타내는 움직임 벡터와 현재 블록과 예측 블록의 차이를 나타내는 오차 데이터를 포함하는 예측 신호와 움직임 벡터를 생성할 수 있다.
도 3은 일 예에 따른 인트라 예측 모드에 기초하여 탐색 범위가 결정된 디코더의 블록도이다.
도 3을 참조하면, 일 실시예에 따른 디코더(300)는 판단부(310), 예측 모드 분석부(320), 및 예측 블록 생성부(330)를 포함할 수 있다.
일 실시 예에 따른 디코더(300)는 인코딩된 영상으로부터 비트스트림(bitstream)을 수신할 수 있다.
판단부(310)는 비트스트림이 엔트로피 인코딩(예: 도 1b의 엔트로피 인코딩(154)), 재배열(예: 도 1b의 재배열(156)), 역양자화(예: 도 1b의 역양자화(158)) 및 역변환(예: 도 1b의 역변환(160)) 과정을 거쳐 생성된 데이터에 기초하여, 현재 블록이 포함된 현재 프레임이 P 프레임인지 여부를 판단할 수 있다.
예측 모드 분석부(320)는 도 2의 예측 모드 분석부(220)와 동일한 방법으로 현재 블록이 포함된 P 프레임의 이전 프레임인 참조 프레임에서 사용된 인트라 예측 모드를 분석한다.
예측 블록 생성부(330)는 현재 블록이 포함된 P 프레임 이전에 인코딩되고 디코딩된 참조 프레임 내의 탐색 범위에 포함된 예측 블록을 생성한다. 탐색 범위는 참조 프레임에서 사용된 인트라 예측 모드의 방향을 고려하여 결정된 것일 수 있다.
도 4a 및 도 4b는 일 예에 따른 움직임 예측을 설명하기 위한 도면이다.
도 4a및 도 4b를 참조하면, 움직임 예측에서 탐색 범위에 대한 일 실시예가 도시되어 있다. 움직임 벡터는 현재 블록과 참조 프레임에서 가장 일치하는 영역을 현재 블록의 위치에 대한 상대적인 위치로 나타낸 위치 정보이다. 현재 블록(425)이 포함된 현재의 P 프레임(n)(410)에 대해 현재 프레임 이전에 인코딩 및 디코딩되는 프레임을 참조 프레임(n-1)(470)으로 선택한다. 일 실시 예에 따르면 도 4a에서, 현재 프레임(410)의 현재 블록(425) 위치에 해당하는 참조 프레임(470)에서의 현재 블록(485)이 도시되어 있고, 현재 블록(485)을 포함하는 탐색 범위(480)가 기본값(예: M×N)으로 설정되어 있을 수 있다.
일 실시 예에 따르면, 도 4b에 도 4a의 참조 프레임(470)에서의 현재 블록(485), 탐색 범위(480) 및 현재 프레임(410)의 현재 블록(425)과 가장 부합하는 블록(495)이 구체적으로 도시되어 있다. 참조 프레임(470)은 여러 블록들로 구성될 수 있고, 참조 프레임(470) 상 현재 프레임(410)에서 움직임 예측을 위한 현재 블록(425)과 동일한 위치에 있는 현재 블록(485)은 여러 블록들 중 하나일 수 있다. 일 실시 예에 따르면 현재 블록(425)의 움직임 예측을 위해 현재 블록(425)과 가장 부합하는 블록을 찾아 움직임 예측을 수행하는데, 움직임 벡터를 생성하기 위해 참조 프레임(470) 상의 탐색 범위(480)에서 현재 블록(485)과 가장 부합하는 블록(495)을 탐색한다.
일 실시 예에 따르면, 현재 블록과 가장 부합하는 블록(495)은 기본값의 탐색 범위(480)에는 포함되지 않을 수 있다. 일 실시 예에 따른 인트라 예측 모드의 방향을 고려하여 참조 프레임(470)의 탐색 범위를 조절하면 기본값의 탐색 범위일 때와는 달리 탐색 범위 내에 현재 블록과 가장 부합하는 블록(495)이 포함될 수 있다.
일 실시 예에 따르면 도 4b에서, 현재 블록(485)을 포함하는 탐색 범위(480)가 기본값(예: 5×5)으로 설정되어 있을 수 있다.
일 실시 예에 따르면, 현재 블록과 가장 부합하는 블록(495)은 기본값의 탐색 범위(480)에는 포함되지 않을 수 있다. 일 실시 예에 따른 인트라 예측 모드의 방향을 고려하여 참조 프레임(470)의 탐색 범위를 조절하면, 기본값의 탐색 범위를 사용한 도 4b의 경우와 블록 개수는 25개로 동일하게 유지되어 계산량은 동일하면서 탐색 범위 내에 현재 블록과 가장 부합하는 블록(495)이 포함될 수 있다.
도 5a 및 도 5b는 일 예에 따른 인트라 예측 모드를 설명하기 위한 도면이다.
도 5a를 참조하면, H.264 압축 표준에서의 인트라 예측 모드 중 방향과 관련된 모드들이 도시되어 있다.
H.264 압축 표준의 인트라 예측 모드에는 총 9 종류의 예측 모드가 있을 수 있고, 도 5a에 0부터 8까지의 숫자가 방향에 따라 도시되어 있다. 다만 2번 모드의 경우 평균값을 활용한 것으로 방향과 관련이 없는 인트라 예측 모드이므로 도 5a에서는 생략되었다. 일 실시 예에 따른 장치는 탐색 범위 결정시 참조 프레임의 인트라 예측 모드의 방향을 고려하므로, 도 5a에 도시된 2를 제외한 0~8번 모드의 방향을 고려할 수 있다.
도 5b를 참조하면, H.265 압축 표준에서의 인트라 예측 모드 중 방향과 관련된 모드들이 도시되어 있다.
H.265 압축 표준의 인트라 예측 모드는 블록의 사이즈에 따라 예측 모드의 개수가 달라질 수 있다. 블록의 사이즈가 4×4인 경우 17개, 16×16인 경우 3개, 나머지 경우 35개의 인트라 예측 모드가 있을 수 있다. 도 5b에는 35개의 인트라 예측 모드 중 2부터 34까지의 33개의 모드가 방향에 따라 도시되어 있고, 0번 모드는 Planar 모드, 1번 모드는 DC 모드로 방향성과 무관하다. 일 실시 예에 따른 장치는 탐색 범위 결정시 참조 프레임의 인트라 예측 모드의 방향을 고려하므로, 도 5b에 도시된 2번 내지 34번 모드의 방향을 고려할 수 있다.
도 6a 내지 도 6c는 일 예에 따른 인트라 예측 모드에 기초하여 탐색 범위를 결정하는 예시도이다.
도 6a를 참조하면, 일 실시 예에 따른 예측 모드 분석부(예: 도 2의 예측 모드 분석부(220) 또는 도 3의 예측 모드 분석부(320))에서 참조 프레임에서 사용된 인트라 예측 모드의 방향이 세로 방향인 경우의 탐색 범위가 도시되어 있다. 도 4a 및 도 4b에서 설명한 바와 같이, 참조 프레임(670a)은 현재 블록(685a)을 포함하고, 현재 블록(685a)과 가장 부합하는 블록(695a)을 찾기 위한 탐색 범위(680a)가 참조 프레임(670a) 내에서 결정된다.
일 실시 예에 따르면 현재 프레임 이전에 인코딩 및 디코딩된 참조 프레임(670a)의 인트라 예측에서 사용된 모드가 H.264 표준의 0번 모드(도 5a 참조) 또는 H.265 표준의 26번 모드(도 5b 참조)일 수 있다. 일 실시 예에 따른 탐색 범위 결정부(예: 도 2의 탐색 범위 결정부(230))는 예측 모드 분석부에서 분석된 인트라 예측 모드의 방향을 고려하여 탐색 범위를 조절할 수 있다. 예를 들어 탐색 범위(680a)는 현재 블록(685a)를 포함하고 세로 방향으로 긴 모양이 되도록 결정될 수 있다. 이 때 복수의 블록들의 개수는 기본값의 탐색 범위의 경우와 동일한 개수일 수 있다. 예를 들어 도 4b에서 설명한 바와 같이 탐색 범위는 5×5의 블록 개수를 갖도록 기본 값이 설정될 수 있고, 도 6a에 도시된 바와 같이 조절된 탐색 범위(680a)에서도 블록 개수는 동일하게 25개로 유지될 수 있다. 도 4b에서 설명한 기존 탐색 범위에는 포함되지 않던 현재 블록과 가장 부합하는 블록(695a)이 인트라 예측 모드의 방향을 고려한 탐색 범위(680a)에 포함되어 화질이 개선될 수 있다.
다양한 실시 예에 따르면, 도 6b와 도 6c에는 도 6a에서의 인트라 예측 모드가 아닌 다른 인트라 예측 모드가 참조 프레임에서 사용되었을 때의 탐색 범위가 도시되어 있다. 도 6b 및 도 6c와 관련하여 도 6a에서 설명한 바와 중복되는 부분은 생략한다.
도 6b를 참조하면, 일 실시 예에 따르면 참조 프레임(670b)에서의 인트라 예측 모드가 H.264의 1번 모드(도 5a 참조) 또는 H.265의 10번 모드(도 5b 참조)일 수 있고, 인트라 예측 모드의 방향을 고려하여 탐색 범위(680b)가 가로 방향으로 결정될 수 있다.
도 6c를 참조하면, 일 실시 예에 따르면 참조 프레임(670c)에서의 인트라 예측 모드가 H.264의 3번 모드(도 5a 참조) 또는 H.265의 34번 모드(도 5b 참조)일 수 있고, 인트라 예측 모드의 방향을 고려하여 탐색 범위(680c)가 대각선 방향으로 결정될 수 있다.
다양한 실시 예에 따른 인트라 예측 모드의 종류에 관계없이, 결정된 탐색 범위의 복수의 블록들의 개수는 모두 동일할 수 있다. 예를 들어 도 6a 내지 도 6c의 실시 예들에서 탐색 범위(680a, 680b, 680c)의 블록 개수들은 모두 25개로 동일하다.
도 7은 일 예에 따른 인트라 예측 모드에 기초하여 탐색 범위가 결정되는 것을 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시 예에 따른 프레임 그룹(group of pictures, GOP)(700)이 도시되어 있다. 일 실시 예에 따르면 프레임 그룹(700)은 IBBPBP 프레임의 순서로 프레임 넘버 1 내지 5의 총 5개의 프레임(710, 730, 750, 770, 790)을 포함할 수 있다.
일 실시 예에 따르면 프레임 넘버 1(710)이 I 프레임이므로 가장 먼저 인트라 프레임 코딩되고, 이후 P 프레임인 프레임 넘버 3(750)이 I 프레임(710)을 참조 프레임으로 하여 인터 프레임 코딩될 수 있다. 일 실시 예에 따른 I 프레임(710)에서 사용된 인트라 예측 모드는 H.264 표준에서의 1번 모드 또는 H.265 표준에서의 10번 모드일 수 있다.
일 실시 예에 따르면, 현재 프레임이 프레임 넘버 3(750)인 경우 프레임 넘버 3(750)의 움직임 예측을 위해 현재 블록(765)의 예측 블록 생성 단계에서 일 실시 예에 따른 방법이 사용될 수 있다. 일 실시 예에 따르면, 현재 프레임이 프레임 넘버 3(750)인 경우 참조 프레임은 프레임 넘버 1(710)이고, 현재 블록(755)과 가장 부합하는 블록(725)을 탐색하기 위해 참조 프레임(710) 상에서 탐색 범위가 결정되어야 한다. 탐색 범위는 현재 블록(755)과 동일한 위치에 있는 참조 프레임(710) 상의 현재 블록(715)을 포함하도록 결정되며, 일반적인 탐색 범위(717)는 고정된 모양으로 결정되어 가장 부합하는 블록(725)을 포함하지 못할 수 있다. 이 경우 탐색 범위(717) 내에서 탐색된 블록은 블록(725)에 비해 현재 블록(755)과 차이가 크기 때문에 화질 저하가 발생할 수 있다.
일 실시 예에 따르면, 예측 모드 분석부(예: 도 2의 예측 모드 분석부(220) 또는 도 3의 예측 모드 분석부(320))는 참조 프레임(710)에서 사용된 인트라 예측 모드가 H.264 표준의 1번 모드라고 분석할 수 있고, 탐색 범위 결정부(예: 도 2의 탐색 범위 결정부(230))는 H.264 표준의 1번 모드의 방향(예: 수평 방향, 도 5a 참조)을 고려하여 탐색 범위를 결정할 수 있다. 일 실시 예에 따르면, 참조 프레임(710)에서의 인트라 예측 모드의 방향을 고려하여 결정된 탐색 범위(719)는 일반적인 탐색 범위(717)와 사이즈는 동일하나 모양이 변경되어 현재 블록과 가장 부합하는 블록(725)을 포함할 수 있고, 화질이 개선될 수 있다.
일 실시 예에 따르면 P 프레임인 프레임 넘버 3(750)이 인터 프레임 코딩되고, 이후 P 프레임인 프레임 넘버 5(770)이 프레임 넘버 3(750)을 참조 프레임으로 하여 인터 프레임 코딩되는 경우에도 일 실시 예에 따른 방법이 사용될 수 있다.
일 실시 예에 따르면, 현재 프레임이 프레임 넘버 5(790)인 경우 참조 프레임은 프레임 넘버 3(730)이고, 현재 블록(795)과 가장 부합하는 블록(755)을 탐색하기 위해 참조 프레임(750) 상에서 탐색 범위가 결정되어야 한다. 탐색 범위는 현재 블록(795)과 동일한 위치에 있는 참조 프레임(750) 상의 현재 블록(765)을 포함하도록 결정되며, 일반적인 탐색 범위(767)는 고정된 모양으로 결정되어 가장 부합하는 블록(755)을 포함하지 못할 수 있다.
일 실시 예에 따르면, 현재 프레임(790)이 속한 프레임 그룹(700)의 I 프레임(710)의 인트라 예측에서 사용된 모드(예: H.264 표준의 1번 모드)의 방향(예: 수평 방향)를 고려하여 탐색 범위가 결정될 수 있다. 일 실시 예에 따르면, 프레임 그룹의 I 프레임에서 사용된 인트라 예측 모드를 고려하여 결정된 탐색 범위(769)는 일반적인 탐색 범위(767)와 사이즈는 동일하나 모양이 변경되어 현재 블록과 가장 부합하는 블록(755)을 포함할 수 있고, 화질이 개선될 수 있다.
<인코딩 방법 및 디코딩 방법>
도 8은 일 예에 따른 인코더의 동작 방법을 나타내는 흐름도이다.
도 8을 참조하면, 단계 810에서 현재 블록이 포함된 현재 프레임이 P 프레임(predicted frame)인지를 판단한다. 단계 810은 일 실시 예에 따른 인코더(예: 도 2의 인코더(200))의 판단부(예: 도 2의 판단부(210))에서 수행될 수 있다. 현재 블록이 포함된 프레임이 P프레임이 아닌 경우에는 동작 815에서 기존 움직임 탐색 범위 결정 알고리즘을 사용하여 탐색 범위가 결정될 수 있다.
일 실시 예에 따르면, 단계 820에서 P 프레임인 현재 프레임 이전에 인코딩 및 디코딩된 참조 프레임이 I 프레임(intra frame)인지 확인한다. 일 실시 예에 따르면 도 7에서 설명한 바와 같이 GOP가 IBPBP(예: 도 7의 GOP(700))이고 현재 프레임이 P 프레임이고 참조 프레임이 I 프레임일 수 있다(예: 도 7의 현재 프레임이 750인 경우). 참조 프레임이 I 프레임인 경우 단계 830에서 참조 프레임의 인트라 예측에서 사용된 모드가 분석될 수 있다.
일 실시 예에 따르면, 도 7에서 설명한 바와 같이 GOP가 IBPBP(예: 도 7의 GOP(700))이고 현재 프레임이 P 프레임이고 참조 프레임도 P 프레임일 수 있다(예: 도 7의 현재 프레임이 790인 경우). 참조 프레임이 I 프레임이 아닌 경우 단계 825에서 현재 프레임(예: 도 7의 프레임(790))이 포함된 GOP(예: 도 7의 GOP(700))의 I 프레임(예: 도 7의 프레임 넘버 1(710))의 인트라 예측에서 사용된 모드가 분석될 수 있다.
단계 830 또는 단계 825는 일 실시 예에 따른 인코더(예: 도 2의 인코더(200))의 예측 모드 분석부(예: 도 2의 예측 모드 분석부(220))에서 수행될 수 있다.
일 실시 예에 따르면, 단계 840에서 인트라 예측에서 사용된 모드의 방향에 기초하여 탐색 범위가 결정될 수 있다. 일 실시 예에 따르면 단계 825 또는 단계 830에서 분석된 인트라 예측에서 사용된 모드의 방향이 이용될 수 있다. 예를 들어 도 7a 내지 도 7c에서 설명한 바와 같이, 인트라 예측에서 사용된 모드가 H.264 표준의 1번 모드(도 5a 참조)인 경우 탐색 범위는 수평 방향으로 확장되어 결정될 수 있다. 다만 탐색 범위의 크기는 기존값과 동일하게 유지되어 움직임 예측의 계산량은 동일하게 유지될 수 있다. 또한, 탐색 범위의 크기는 단계 825 또는 단계 830에서 분석된 인트라 예측 모드의 종류에 상관없이 동일하게 유지될 수 있다. 일 실시 예에 따르면 단계 840은 일 실시 예에 따른 인코더의 탐색 범위 결정부(예: 도 2의 탐색 범위 결정부(230))에 의해 수행될 수 있다.
일 실시 예에 따르면, 단계 850에서 단계 840에서 결정된 탐색 범위에서 움직임 예측이 수행될 수 있다. 구체적으로, 인트라 예측 모드의 방향을 고려한 예측 범위 내에서 현재 블록과 가장 오차가 적은 예측 블록을 찾아 예측 블록을 나타내는 움직임 벡터와, 현재 블록과 예측 블록의 차이를 나타내는 오차 데이터를 포함하는 예측 신호가 생성될 수 있다. 단계 850은 일 실시 예에 따른 인코더의 예측부(예: 도 2의 예측부(240))에서 수행될 수 있다.
도 9는 일 예에 따른 디코더의 동작 방법을 나타내는 흐름도이다.
도 9를 참조하면, 단계 930에서, 참조 프레임의 움직임 예측에서 사용된 모드가 분석될 수 있다. 도 8의 단계 825 및 단계 830에서 설명한 바와 같이, 참조 프레임이 I프레임인 경우 I 프레임의 인트라 예측에서 사용된 모드가 분석될 수 있고, 참조 프레임이 P프레임인 경우 현재 프레임이 속한 GOP의 I 프레임에서 사용된 인트라 예측 모드가 분석될 수 있다. 단계 930은 일 실시 예에 따른 예측 모드 분석부(예: 도 3의 예측 모드 분석부(320))에서 수행될 수 있다.
일 실시 예에 따른 디코더(예: 도 3의 디코더(300))는 단계 930 이전에 인코딩된 영상으로부터 비트스트림(bitstream)을 수신하고, 비트스트림이 엔트로피 인코딩(예: 도 1b의 엔트로피 인코딩(154)), 재배열(예: 도 1b의 재배열(156)), 역양자화(예: 도 1b의 역양자화(158)) 및 역변환(예: 도 1b의 역변환(160)) 과정을 거쳐 생성된 데이터에 기초하여, 현재 블록이 포함된 현재 프레임이 P 프레임인지 여부를 판단할 수 있다.
일 실시 예에 따르면, 단계 940에서, 탐색 범위 내에서 현재 블록에 가장 부합하는 예측 블록이 생성된다. 예측 블록은 일 실시 예에 따른 인코더에서 현재 블록이 포함된 P 프레임 이전에 인코딩 및 디코딩된 프레임의 인트라 예측에서 사용된 모드의 방향에 기초하여 결정된 탐색 범위 내에 포함된다. 단계 940은 일 실시 예에 따른 예측 블록 생성부(예: 도 3의 예측 블록 생성부(330))에서 수행될 수 있다.
일 실시 예에 따르면, 단계 950에서, 생성된 예측 블록을 이용하여 현재 블록이 복원된다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (21)

  1. 움직임 예측에 있어 탐색 범위를 결정을 위한 인코딩 방법에 있어서,
    현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 단계;
    상기 모드의 방향에 기초하여 상기 현재 프레임의 움직임 예측을 위한 탐색 범위를 결정하는 단계; 및
    상기 탐색 범위에서 상기 현재 블록에 대한 움직임 예측을 수행하는 단계;
    를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 모드의 방향에 기초하여 상기 현재 프레임의 움직임 예측을 위한 탐색 범위를 결정하는 단계는,
    상기 방향에 기초하여 상기 현재 블록을 포함하는 복수의 블록들을 결정하는 단계
    를 포함하는,
    방법.
  3. 제2항에 있어서,
    상기 복수의 블록들의 개수는,
    상기 모드의 종류에 관계없이 동일한,
    방법.
  4. 제1항에 있어서,
    상기 참조 프레임은 상기 현재 프레임 이전에 인코딩 및 디코딩되는 I 프레임(intra frame)이고,
    상기 참조 프레임의 상기 움직임 예측은 인트라 예측(intra prediction)인
    방법.
  5. 제1항에 있어서,
    상기 현재 프레임은 P 프레임(predicted frame)이고,
    상기 현재 프레임의 상기 움직임 예측은 인터 예측(inter prediction)인,
    방법.
  6. 움직임 예측에 있어 탐색 범위를 결정을 위한 디코딩 방법에 있어서,
    현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 단계; 및
    상기 모드의 방향에 기초하여 결정된 탐색 범위에 포함된 예측 블록을 생성하는 단계
    를 포함하는,
    방법.
  7. 제6항에 있어서,
    상기 탐색 범위는,
    상기 모드의 상기 방향에 기초하여 상기 현재 블록을 포함하는 복수의 블록들이 결정됨으로써 결정되는,
    방법.
  8. 제7항에 있어서,
    상기 복수의 블록들의 개수는,
    상기 모드의 종류에 관계없이 동일한,
    방법.
  9. 제6항에 있어서,
    상기 참조 프레임은 상기 현재 프레임 이전에 인코딩 및 디코딩되는 I 프레임(intra frame)이고,
    상기 참조 프레임의 상기 움직임 예측은 인트라 예측(intra prediction)인
    방법.
  10. 제6항에 있어서,
    상기 현재 프레임은 P 프레임(predicted frame)이고,
    상기 현재 프레임의 상기 움직임 예측은 인터 예측(inter prediction)인,
    방법.
  11. 움직임 예측에 있어 탐색 범위 결정을 위한 인코더에 있어서,
    현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 예측 모드 분석부;
    상기 모드의 방향에 기초하여 상기 현재 프레임의 움직임 예측을 위한 탐색 범위를 결정하는 탐색 범위 결정부; 및
    상기 탐색 범위에서 상기 현재 블록에 대한 움직임 예측을 수행하는 예측부;
    를 포함하는,
    인코더.
  12. 제11항에 있어서,
    상기 탐색 범위 결정부는,
    상기 방향에 기초하여 상기 현재 블록을 포함하는 복수의 블록들을 결정하는,
    인코더.
  13. 제12항에 있어서,
    상기 복수의 블록들의 개수는,
    상기 모드의 종류에 관계없이 동일한,
    인코더.
  14. 제11항에 있어서,
    상기 참조 프레임은 상기 현재 프레임 이전에 인코딩 및 디코딩되는 I 프레임(intra frame)이고,
    상기 참조 프레임의 상기 움직임 예측은 인트라 예측(intra prediction)인
    인코더.
  15. 제11항에 있어서,
    상기 현재 프레임은 P 프레임(predicted frame)이고,
    상기 현재 프레임의 상기 움직임 예측은 인터 예측(inter prediction)인,
    인코더.
  16. 움직임 예측에 있어 탐색 범위 결정을 위한 디코더에 있어서,
    현재 블록이 포함된 현재 프레임의 이전 프레임인 참조 프레임의 움직임 예측에서 사용된 모드를 분석하는 예측 모드 분석부; 및
    상기 현재 프레임의 움직임 예측을 위한 탐색 범위에 포함된 예측 블록을 생성하는 예측 블록 생성부 - 상기 탐색 범위는 상기 모드의 방향에 기초하여 결정됨 -
    를 포함하는,
    디코더.
  17. 제16항에 있어서,
    상기 탐색 범위 결정부는,
    상기 방향에 기초하여 상기 현재 블록을 포함하는 복수의 블록들을 결정하는,
    디코더.
  18. 제17항에 있어서,
    상기 복수의 블록들의 개수는,
    상기 모드의 종류에 관계없이 동일한,
    디코더.
  19. 제16항에 있어서,
    상기 참조 프레임은 상기 현재 프레임 이전에 인코딩 및 디코딩되는 I 프레임(intra frame)이고,
    상기 참조 프레임의 상기 움직임 예측은 인트라 예측(intra prediction)인
    디코더.
  20. 제16항에 있어서,
    상기 현재 프레임은 P 프레임(predicted frame)이고,
    상기 현재 프레임의 상기 움직임 예측은 인터 예측(inter prediction)인,
    디코더.
  21. 하드웨어와 결합되어 제1항 내지 제10항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020210006740A 2021-01-18 2021-01-18 움직임 예측에 있어 탐색 범위 결정을 이용한 인코딩, 디코딩 장치 및 그 동작 방법 KR102479714B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210006740A KR102479714B1 (ko) 2021-01-18 2021-01-18 움직임 예측에 있어 탐색 범위 결정을 이용한 인코딩, 디코딩 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210006740A KR102479714B1 (ko) 2021-01-18 2021-01-18 움직임 예측에 있어 탐색 범위 결정을 이용한 인코딩, 디코딩 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20220104446A true KR20220104446A (ko) 2022-07-26
KR102479714B1 KR102479714B1 (ko) 2022-12-21

Family

ID=82609794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210006740A KR102479714B1 (ko) 2021-01-18 2021-01-18 움직임 예측에 있어 탐색 범위 결정을 이용한 인코딩, 디코딩 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102479714B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012222460A (ja) * 2011-04-05 2012-11-12 Canon Inc 動画像符号化装置、動画像符号化方法及びプログラム
KR20200126954A (ko) * 2020-01-21 2020-11-09 한국전자통신연구원 인터 예측 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012222460A (ja) * 2011-04-05 2012-11-12 Canon Inc 動画像符号化装置、動画像符号化方法及びプログラム
KR20200126954A (ko) * 2020-01-21 2020-11-09 한국전자통신연구원 인터 예측 방법 및 그 장치

Also Published As

Publication number Publication date
KR102479714B1 (ko) 2022-12-21

Similar Documents

Publication Publication Date Title
JP5422168B2 (ja) 動画像符号化方法および動画像復号化方法
JP4898467B2 (ja) 可変ブロックサイズ動き予測のための符号化モードの決定方法及び装置
JP5442568B2 (ja) スキップマクロブロックコード化
US8995778B2 (en) Method and apparatus for encoding/decoding high resolution images
KR102283725B1 (ko) 이미지 인코딩 방법 및 장치, 그리고 이미지 디코딩 방법 및 장치
JP5271271B2 (ja) 動きベクトル・トラッキングを利用した映像の符号化、復号化方法及び装置
US20140307780A1 (en) Method for Video Coding Using Blocks Partitioned According to Edge Orientations
US20090168884A1 (en) Method and Apparatus For Reusing Available Motion Information as a Motion Estimation Predictor For Video Encoding
US8340188B2 (en) Method and device for motion vector estimation in video transcoding using union of search areas
US9838709B2 (en) Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
US8559519B2 (en) Method and device for video encoding using predicted residuals
US20120320985A1 (en) Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
US20110249748A1 (en) Methods and devices for incorporating deblocking into encoded video
KR101170799B1 (ko) 영상 압축 방법 및 그 장치와 영상 복원 방법 및 그 장치
US20170006290A1 (en) Video encoding device and video encoding method
EP2343900A1 (en) Method and device for motion vector estimation in video transcoding using full-resolution residuals
KR102479714B1 (ko) 움직임 예측에 있어 탐색 범위 결정을 이용한 인코딩, 디코딩 장치 및 그 동작 방법
CA2726973C (en) Method and device for motion vector estimation in video transcoding using union of search areas
KR101841352B1 (ko) 참조 프레임 선택 방법 및 그 장치
JP5788952B2 (ja) 動画像復号化方法
JP5890933B1 (ja) 動画像復号化方法
KR101525325B1 (ko) 인트라 예측 모드 결정 방법 및 그 장치
JP5887020B1 (ja) 動画像復号化方法
JP5864022B2 (ja) 動画像復号化方法
JP5864023B2 (ja) 予測ベクトルの算出方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right