KR102276264B1 - 비디오 이미지 처리 방법 및 장치 - Google Patents

비디오 이미지 처리 방법 및 장치 Download PDF

Info

Publication number
KR102276264B1
KR102276264B1 KR1020197035773A KR20197035773A KR102276264B1 KR 102276264 B1 KR102276264 B1 KR 102276264B1 KR 1020197035773 A KR1020197035773 A KR 1020197035773A KR 20197035773 A KR20197035773 A KR 20197035773A KR 102276264 B1 KR102276264 B1 KR 102276264B1
Authority
KR
South Korea
Prior art keywords
pixel
estimation
positions
optimal
rate distortion
Prior art date
Application number
KR1020197035773A
Other languages
English (en)
Other versions
KR20200002038A (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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20200002038A publication Critical patent/KR20200002038A/ko
Application granted granted Critical
Publication of KR102276264B1 publication Critical patent/KR102276264B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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/567Motion estimation based on rate distortion criteria

Landscapes

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

Abstract

본 개시의 실시예는 비디오 이미지 처리 장치 및 방법을 개시하여, 인코딩 속도를 개선할 뿐만 아니라 비디오 압축 성능도 보장하고, 계산 복잡도를 감소시킨다. 상기 방법에서는, 타깃 이미지 프레임에 대해 정수 움직임 추정을 수행하여, 상기 정수 화소 추정을 통해 획득된 최적 위치를 획득하고, 상기 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 획득하고, 상기 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하고, 상기 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치에 각각 대응하는 레이트 왜곡 비용에 따라, 상기 4개의 파티션에서 1/4 화소 추정에 사용되는 제1 파티션을 선택하고, 상기 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 상기 제1 파티션에서 1/4 화소 추정을 수행하여, 상기 1/4 화소 추정을 통해 획득된 최적 위치를 획득하고, 상기 1/4 화소 추정을 통해 획득된 최적 위치를 움직임 추정 결과로서 사용하여 움직임 보상을 수행한다.

Description

비디오 이미지 처리 방법 및 장치
본 출원은 2017년 10월 31일에 중국 국가 지적재산국에 출원된 "비디오 이미지 처리 방법 및 장치(METHOD FOR PROCESSING VIDEO IMAGE AND APPARATUS)"라는 명칭의 중국 특허출원 제201711050289.8호를 우선권으로 주장하며, 그 내용 전부는 인용에 의해 본 출원에 포함된다.
본 개시는 컴퓨터 기술 분야, 특히 비디오 이미지 처리에 관한 것이다.
비디오 압축 기술은 현재 빠르게 발전하고 있다. 미래 비디오의 발전 추세는 고화질, 고 프레임 레이트 및 고 압축 레이트이다. 일반적인 H.264 압축 프레임워크는 압축 원리에 있어 일부 제한이 있으며, 미래의 요구를 충족시킬 수 없다. 따라서, 고효율 비디오 코딩(high efficiency video coding, HEVC) 프로토콜이 필요에 따라 나타났다. 예를 들어, H.264 인코딩 유닛은 단지 16x16의 블록 크기를 적용할 수 있고, HEVC 인코딩 유닛은 128x128, 64x64 및 8x8과 같은 여러 블록 크기를 적용할 수 있다. 또한, H.264 인코딩 유닛에 대한 9개의 인트라 프레임 예측(intra-frame prediction) 방향이 있으며, HEVC 인코딩 유닛에 대한 35개의 인트라 프레임 예측 방법이 있을 수 있다. 또한, 인터 프레임 세그먼트화(inter-frame segmentation)를 위해, H.264 인코딩 유닛은 단지 직사각형 세그먼트화 방식을 적용할 수 있을 뿐이며, HEVC 인코딩 유닛은 비대칭 세그먼트화 방식을 더 적용할 수 있다. H.264 인코딩 유닛과 비교하여 HEVC 인코딩 유닛에 의해 전체 압축 레이트가 40% 향상될 수 있다.
종래의 HEVC 코딩에서, 대응하는 위치의 참조 화소(reference pixel)를 획득하기 위해, 먼저 정수 화소(integer pixel)에 기초한 보간을 수행할 필요가 있다. 따라서, 매칭될 화소의 수량이 많은 경우, 보간 횟수가 많다. 따라서 HEVC 인코딩 프로토콜은 고성능의 머신을 요구하며, 일반 머신은 실시간으로 인코딩할 수 없다. 따라서, 비디오 압축 성능이 불가피하게 감소된다.
이상을 고려하여, 사용자 자산 상태 발굴의 처리 효율을 향상시키기 위해, 본 개시의 실시예에 따른 데이터 처리 방법, 장치 및 서버가 제공된다.
전술한 목적을 달성하기 위해, 본 개시의 실시예는 다음의 기술적 방안을 제공한다.
일 측면에 따르면, 본 개시의 일 실시예에 따라 비디오 이미지 처리 방법이 제공되며, 상기 비디오 이미지 처리 방법은,
인코딩될 비디오 이미지로부터 타깃 이미지 프레임을 획득하는 단계;
상기 타깃 이미지 프레임에 대해 정수 움직임 추정(integer motion estimation)을 수행하여, 상기 정수 화소 추정을 통해 획득된 최적 위치를 획득하는 단계;
상기 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정(half pixel estimation)을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 획득하는 단계;
상기 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션(partition)으로 분할하는 단계 - 각각의 파티션은 1/4 보간(quarter interpolation)을 통해 획득된 2개의 1/4 화소 위치(quarter pixel location)를 포함함 -;
상기 4개의 파티션 내의 1/2 화소 위치로부터 최소 레이트 왜곡 비용(rate distortion cost)에 대응하는 위치를 선택하고, 상기 최소 레이트 왜곡 비용에 대응하는 위치가 속하는 상기 4개의 파티션 중 하나가 제1 파티션인 것으로 결정하는 단계;
상기 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 상기 제1 파티션에서 1/4 화소 추정을 수행하여, 상기 1/4 화소 추정을 통해 획득된 최적 위치를 획득하는 단계; 및
상기 1/4 화소 추정을 통해 획득된 최적 위치를 움직임 추정 결과로서 사용하여 움직임 보상(motion compensation)을 수행하는 단계를 포함한다.
다른 측면에 따르면, 본 개시의 일 실시예에 따라 비디오 이미지 처리 장치가 더 제공되며, 상기 비디오 이미지 처리 장치는,
인코딩될 비디오 이미지로부터 타깃 이미지 프레임을 획득하도록 구성된 이미지 획득 모듈;
상기 타깃 이미지 프레임에 대해 정수 움직임 추정을 수행하여, 상기 정수 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된 정수 화소 추정 모듈;
상기 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된 제1 분수 화소 추정 모듈;
상기 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성된 이미지 분할 모듈 - 각각의 파티션은 1/4 보간을 통해 획득된 2개의 1/4 화소 위치를 포함함 -;
상기 4개의 파티션 내의 1/2 화소 위치로부터 최소 레이트 왜곡 비용에 대응하는 위치를 선택하고, 상기 최소 레이트 왜곡 비용에 대응하는 위치가 속하는 상기 4개의 파티션 중 하나가 제1 파티션인 것으로 결정하도록 구성된 제1 파티션 획득 모듈;
상기 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 상기 제1 파티션에서 1/4 화소 추정을 수행하여, 상기 1/4 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된 제2 분수 화소 추정 모듈; 및
상기 1/4 화소 추정을 통해 획득된 최적 위치를 움직임 추정 결과로서 사용하여 움직임 보상을 수행하도록 구성된 움직임 보상 모듈을 포함한다.
또 다른 측면에 따르면, 본 개시의 일 실시예 따라 비디오 처리 장치가 제공되며, 상기 비디오 처리 장치는,
프로세서, 통신 인터페이스, 메모리, 및 통신 버스를 포함하고,
상기 프로세서, 상기 통신 인터페이스 및 상기 메모리는 상기 통신 버스를 통해 서로 통신하고, 상기 통신 인터페이스는 통신 모듈의 인터페이스이며;
상기 메모리는 프로그램 코드를 저장하고 상기 프로그램 코드를 상기 프로세서로 전송하도록 구성되고;
상기 프로세서는 상기 메모리 내의 상기 프로그램 코드의 명령어를 호출하여 제1 측면에 따른 방법을 수행하도록 구성된다.
또 다른 측면에 따르면, 본 개시의 일 실시예에 따라 저장 매체가 제공되며, 상기 저장 매체는 프로그램 코드를 저장하도록 구성되고, 상기 프로그램 코드는 제1 측면에 따른 방법을 수행하기 위한 것이다.
또 다른 측면에 따르면, 본 개시의 일 실시예에 따라 명령어를 포함하는 컴퓨터 프로그램 제품이 제공되며, 상기 컴퓨터 프로그램 제품은 컴퓨터에서 실행될 때, 제1 측면에 따른 방법을 수행하도록 상기 컴퓨터를 구성한다.
전술한 기술적 방안에 따르면, 본 개시의 실시예는 다음과 같은 이점이 있다는 것을 알 수 있다.
본 개시의 실시예에 따르면, 1/4 화소 추정은 1/2 화소 추정을 통해 회득된 최적 위치에 기초하여 제1 파티션 내에서 완료되고, 제1 파티션은 최소 레이트 왜곡 비용에 대응하는 위치가 속하는 파티션이다. 따라서, 1/4 화소 추정을 할 때 모든 영역에서 1/4 보간을 수행할 필요가 없고, 모든 영역에서 1/4 화소 위치 각각의 최소 레이트 왜곡 비용을 계산할 필요가 없다. 오히려, 최소 레이트 왜곡 비용은 단지 제1 파티션 내의 1/4 화소 위치에 대해 계산될 필요가 있다. 따라서, 비디오 압축 성능을 보장하면서 인코딩 속도가 효과적으로 향상되고 계산 복잡도가 감소될 수 있으며, 이에 따라 비디오 압축 시에 머신 성능에 대한 실시간 인코딩의 요구가 낮아진다.
본 개시의 실시예 또는 종래 기술에 따른 기술적 방안을 보다 명확하게 설명하기 위해, 이하에서는 본 개시의 실시예 또는 종래 기술에 적용될 도면을 간단하게 설명한다. 명백하게, 이하의 설명에서의 도면은 본 개시의 일부 실시예일 뿐이며, 다른 도면은 창의적인 노력없이, 제공된 도면에 기초하여 당업자에 의해 획득될 수 있다.
도 1은 본 발명의 일 실시예에 따른 비디오 이미지 처리 방법의 개략 흐름도이다.
도 2는 본 개시의 일 실시예에 따른 HEVC 인코딩 프레임워크의 개략 구조도이다.
도 3a는 본 개시의 일 실시예에 따른 1/2 화소 추정 프로세스에서 중심점 위치(central point location)와 주변 위치(surrounding location) 사이의 관계의 식별자의 개략도이다.
도 3b는 본 개시의 일 실시예에 따른 1/2 화소 추정 프로세스에서 계산점(calculation point)의 위치의 식별자의 개략도이다.
도 3c는 본 개시의 일 실시예에 따른 중심점 위치가 최적 위치인 경우에 4개의 파티션 블록의 식별자의 개략도이다.
도 3d는 본 개시의 일 실시예에 따른 1/2 화소 추정 프로세스에서 최적 위치가 최초의 4개의 지점 중 하나의 위치인 경우에 보충점 위치(supplemental point location)의 식별자의 개략도이다.
도 3e는 본 개시의 일 실시예에 따른 1/2 화소 추정 프로세스에서 최적 위치가 최초의 4개의 지점 중 하나의 위치가 아닌 경우에 보충점 위치의 식별자의 개략도이다.
도 3f는 본 개시의 일 실시예에 따른 1/4 화소 추정 이전의 중심점 위치와 주변 위치 사이의 관계의 식별자의 개략도이다.
도 4a는 본 개시의 일 실시예에 따른 비디오 이미지 처리 장치의 개략 구성도이다.
도 4b는 본 개시의 일 실시예에 따른 제1 분수 화소 추정 모듈의 개략 구성도이다.
도 4c는 본 개시의 일 실시예에 따른 다른 제1 분수 화소 추정 모듈의 개략 구성도이다.
도 4d는 본 개시의 일 실시예에 따른 제1 파티션 획득 모듈의 개략 구성도이다.
도 4e는 본 개시의 일 실시예에 따른 다른 제1 파티션 획득 모듈의 개략 구성도이다.
도 4f는 본 개시의 일 실시예에 따른 제2 분수 화소 추정 모듈의 개략 구성도이다.
도 5는 본 발명의 일 실시예에 따른 비디오 이미지 처리 방법이 적용되는 서버의 개략 구성도이다.
본 발명의 실시예에 따른 비디오 이미지 처리 방법 및 장치가 제공되어, 비디오 압축 성능을 보장하면서 인코딩 속도를 향상시키고 계산 복잡도를 낮춘다.
본 출원의 목적, 기술적 방안 및 이점을 보다 명확하게 하기 위해, 본 출원의 실시예에 따른 기술적 방안은 본 출원의 실시예에서의 도면과 관련하여 다음과 같이 명확하고 완전하게 설명될 것이다. 설명된 실시예는 모든 실시예가 아니라 본 출원에 따른 실시예의 일부일뿐임이 명백하다. 아무런 창의적 노력없이 본 출원의 실시예에 기초하여 당업자에 의해 획득된 다른 실시예는 본 출원의 보호 범위에 속한다.
본 발명의 명세서, 청구범위 및 첨부도면에서 용어 "포함하다(include, contain)" 및 이의 임의의 다른 변형은 비배타적인 포함을 포함하여, 일련의 유닛을 포함하는 프로세스, 방법, 시스템, 제품 또는 기기가 반드시 그러한 유닛으로 한정되는 것이 아니라, 그러한 프로세스, 방법, 제품 또는 기기에 명시적으로 열거되어 있지 않거나 고유한 다른 유닛을 포함할 수 있다.
이하, 상세한 설명이 제공된다.
본 발명의 일 실시예에 따른 비디오 이미지 처리 방법은 비디오 처리 기기에 적용될 수 있다. 비디오 처리 기기는 비디오 처리 능력을 갖는 중앙 처리 유닛(central processing unit, CPU) 또는 그래픽 처리 유닛(graphic processing unit, GPU)일 수 있다. 선택적으로, 비디오 처리 기기는 이동 전화 및 노트북 단말기와 같은 단말기로부터 선택될 수 있거나, 또는 서버로서 선택될 수 있다.
본 개시에서의 비디오 이미지 처리 방법의 실시예는 특히 고속 분수 화소 움직임 추정 및 움직임 보상에 적용될 수 있다. 예를 들어, 본 개시의 일 실시예에 따른 HEVC 코딩에서, 움직임 추정(motion estimation, ME)은 정수 움직임 추정, 1/2 움직임 추정(half motion estimation, HME) 및 1/4 움직임 추정(quarter motion estimation, QME)의 3가지 구성요소를 포함할 수 있다. HME 및 QME에서, 이미지는 정수 화소의 해상도를 갖기 때문에, 최적의 매칭 위치를 찾기 전에 압축 레이트를 향상시키기 위해 각각의 화소는 먼저 4배 확대될 필요가 있다. HME에서 이미지에 대해 2배의 확대가 필요하고, QME의 이미지에 대해 4배의 확대가 필요하다. 그러한 데이터가 존재하지 않기 때문에, 먼저 정수 화소에 기초한 보간을 수행하여, 대응하는 위치에서 참조 화소를 획득할 필요가 있다. 본 개시의 실시예에 따르면, 1/2 화소 추정 및 1/4 화소 추정은 서로 독립적이지 않다. 오히려, 1/4 화소 추정은 1/2 화소 추정에 기초하여 보간 범위가 감소된 후에 수행된다. 이에 따라, 인코딩 속도가 향상되고 계산 복잡도가 낮아진다. 도 1을 참조하면, 본 개시의 실시예에 의해 비디오 이미지 처리 방법이 제공되며, 상기 방법은 단계 101 내지 107을 포함할 수 있다.
단계 101에서, 타깃 이미지 프레임이 인코딩될 비디오 이미지로부터 획득된다.
본 개시의 일 실시예에서, 움직임 추정은 HEVC 인코딩 프레임워크에 기초하여 이미지 프레임에 대해 수행될 수 있다. 타깃 이미지 프레임이 먼저 추출된다. 예를 들어, 타깃 이미지 프레임은 프레임 버퍼로부터 판독될 수 있다. 프레임 버퍼는 디스플레이 버퍼이며, 특정 포맷의 데이터를 디스플레이 버퍼에 기록하는 것은 컨텐츠를 스크린에 출력하는 것을 의미한다. 프레임 버퍼는 시스템 메모리(내부 메모리)의 임의의 위치에 위치할 수 있고, 비디오 제어기는 프레임 버퍼에 액세스함으로써 스크린을 리프레시한다. 프레임 버퍼는 내부 메모리에 주소를 가지고 있다.
단계 102에서, 정수 움직임 추정이 타깃 이미지 프레임에 대해 수행되어, 정수 화소 추정을 통해 획득된 최적 위치를 획득한다.
본 개시의 하나의 실시예에서, 정수 움직임 추정은 타깃 이미지 프레임이 추출된 후에 타깃 이미지 프레임에 대해 수행되어, 정수 화소 추정을 통해 획득된 최적 위치가 획득될 수 있다. 최적 위치는 다수의 정수 화소 위치로부터 선택되며 또한 다수의 정수 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 정수 화소 위치이다. 정수 화소 추정 프로세스에서 각각의 정수 화소 위치에 대응하는 레이트 왜곡 비용이 계산될 필요가 있다. 최소 레이트 왜곡 비용에 대응하는 정수 화소 위치는 정수 화소 추정을 통해 획득된 최적 위치이다.
단계 103에서, 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정가 수행되어, 1/2 화소 추정을 통해 획득된 최적 위치를 획득한다.
본 개시의 하나의 실시예에서, 1/2 화소 추정은 단계 102에서 정수 움직임 추정이 완료된 후에 타깃 프레임에서 정수 화소 추정을 통해 획득된 최적 위치에 대해 수행되어, 1/2 화소 추정을 통해 획득된 최적 위치를 획득한다. 최적 위치는 다수의 1/2 화소 위치로부터 선택되고 또한 다수의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용 값을 갖는 1/2 화소 위치이다. 1/2 화소 추정 프로세스에서 각각의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 계산될 필요가 있다. 최소 레이트 왜곡 비용에 대응하는 1/2 화소 위치가 1/2 화소 추정을 통해 획득된 최적 위치이다.
본 개시의 일부 실시예에서, 1/2 보간으로 인한 계산량을 줄이기 위해, 1/2 보간을 위해 4개의 위치점(location point)이 선택될 수 있다. 구체적으로, 1/2 화소 추정을 통해 획득된 최적 위치를 획득하기 위해 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정이 수행되는 단계 103은 단계 A1 내지 A3을 포함한다.
단계 A1에서, 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치가 획득된다. 4개의 1/2 화소 위치는 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치이다.
단계 A2에서, 제1 최소 레이트 왜곡 비용에 대응하는 위치는 정수 화소 추정을 최득된 최적 위치 및 4개의 1/2 화소 위치로부터 선택된다.
단계 A3에서, 제1 최소 레이트 왜곡 비용에 대응하는 위치가 정수 화소 추정을 통해 획득된 최적 위치인 경우, 1/2 화소 추정을 통해 획득된 최적 위치가 정수 화소 추정을 통해 획득된 최적 위치로 결정된다.
전술한 단계 A1 내지 A3에서, 먼저 정수 화소 추정을 통해 획득된 최적 위치가 1/2 화소 추정에서 중심점 위치인 것을 일례로 든다. 4개의 화소 위치는 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에서 결정될 수 있고, 이에 따라 정수 화소 추정을 통해 획득된 최적 위치에 대해 수행된, 4개의 주변 위치의 1/2 보간의 결과가 획득될 수 있다. 보간 결과가 분석되어, 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치가 획득된다. 1/2 보간은 정수 화소 추정을 통해 획득된 최적 위치에 대한 보간에 의해 1/2 화소 위치가 획득되는 것을 의미한다. 단계 A2에서, 다음 5개의 화소 위치: 정수 화소 추정을 통해 획득된 최적 위치 및 4개의 1/2 화소 위치에서 레이트 왜곡 비용이 계산될 필요가 있다. 계산된 5개의 레이트 왜곡 비용 중에서 최소 레이트 왜곡 비용에 대응하는 위치가 선택된다. 본 개시의 하나의 실시예에서, 레이트 왜곡 비용을 계산하는 다수의 프로세스가 있기 때문에, 단계 A2에서, 최소 레이트 왜곡 비용은 "제1 최소 레이트 왜곡 비용"으로 정의된다. 단계 A3에서, 제1 최소 레이트 왜곡 비용에 대응하는 위치는 정수 화소 추정을 통해 획득된 최적 위치인 경우이다. 정수 화소 추정을 통해 획득된 최적 위치에 대한 보간을 수행함으로써 획득되는 4개의 1/2 화소 위치가 단계 A1에서 이미 획득되었으므로, 정수 화소 추정을 통해 획득된 최적 위치에 대한 1/2 보간은 완료되었다. 1/2 화소 추정을 통해 획득된 최적 위치는 정수 화소 추정을 통해 획득된 최적 위치이다.
본 개시의 일부 다른 실시예에서, 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정을 수행하여, 1/2 화소 추정을 통해 획득된 최적 위치를 획득하는 단계 103은 단계 A1, A2, A4, A5 및 A6 또는 A7을 포함한다.
단계 A1에서, 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치가 획득된다. 4개의 1/2 화소 위치는 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치이다.
단계 A2에서, 제1 최소 레이트 왜곡 비용에 대응하는 위치가 정수 화소 추정 을 통해 획득된 최적 위치, 및 4개의 1/2 화소 위치로부터 선택된다.
단계 A4에서, 제1 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치가 획득된다. 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치, 및 제1 1/2 화소 위치는 동일한 축 방향을 따라 위치하고, 제1 1/2 화소 위치는 4개의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 1/2 화소 위치이다.
단계 A5에서, 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치 및 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치로부터 선택된다.
단계 A6에서, 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 1/2 화소 추정을 통해 획득된 최적 위치가 제1 1/2 화소 위치로 결정된다.
단계 A7에서, 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제3 1/2 화소 위치인 경우, 1/2 화소 추정을 통해 획득된 최적 위치가 제3 1/2 화소 위치로 결정된다. 제3 1/2 화소 위치는 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 중에서 보다 적은 레이트 왜곡 비용을 갖는 1/2 화소 위치이다.
단계 A1 내지 A7에서, 4개의 화소 위치는 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 직접 왼쪽 및 바로 오른쪽으로 결정될 수 있으며, 이에 따라 정수 화소 추정을 통해 획득된 최적 위치에서 수행된, 4개의 주변 위치의 1/2 보간 결과가 획득된다. 1/2 보간의 결과를 분석하여, 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득한다. 1/2 보간은 정수 화소 추정을 통해 획득된 최적 위치에 대해 보간을 수행함으로써 1/2 화소 위치가 획득됨을 의미한다. 단계 A2에서, 다음 5개의 화소 위치: 정수 화소 추정을 통해 획득된 최적 위치 및 4개의 1/2 화소 위치의 레이트 왜곡 비용이 계산될 필요가 있다. 최소 레이트 왜곡 비용에 대응하는 위치는 5개의 레이트 왜곡 비용 중에서 선택된다. 본 개시의 일 실시예에서, 레이트 왜곡 비용을 계산하는 다수의 프로세스가 있기 때문에, 단계 A2에서 최소 레이트 왜곡 비용은 "제1 최소 레이트 왜곡 비용"으로 정의된다. 제1 최소 레이트 왜곡 비용에 대응하는 위치가 정수 화소 추정을 통해 획득된 최적 위치가 아닌 경우, 단계 A4 내지 A7이 수행되도록 트리거될 수 있고, 1/2 화소 추정을 통해 획득된 최적 위치가 다시 검색될 수 있다.
단계 A4에서, 4개의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 1/2 화소 위치는 "제1 1/2 화소 위치"로 정의되고, 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치가 획득된다. 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 및 제1 1/2 화소 위치는 동일한 축 방향을 따라 위치한다. 따라서, 보간을 통해 획득된 2개의 1/2 화소 위치 및 제1 1/2 화소는 가로축 또는 세로축의 축 방향을 따라 위치할 수 있다. 즉, 보간을 통해 획득된 2개의 1/2 화소 위치는 제1 1/2 화소 위치에 대해 수평 방향을 따르거나, 또는 보간을 통해 획득된 2개의 1/2 화소 위치는 제1 1/2 화소 위치에 대해 수직 방향을 따른다. 단계 A4에서 1/2 보간 결과가 획득된 후, 다음의 3개의 화소 위치: 제1 1/2 화소 위치 및 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치의 레이트 왜곡 비용이 계산될 필요가 있다. 최소 레이트 왜곡 비용에 대응하는 위치는 계산된 3개의 레이트 왜곡 비용으로부터 선택된다. 본 개시의 일 실시예에서, 레이트 왜곡 비용을 계산하는 다수의 프로세스가 있기 때문에, 단계 A5에서 최소 레이트 왜곡 비용은 "제2 최소 레이트 왜곡 비용"으로 정의된다. 그리고, 최소 레이트 왜곡 비용에 대응하는 상이한 위치에 따라 단계 A6 또는 A7이 개별적으로 수행된다.
단계 104에서, 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역이 4개의 파티션으로 분할된다.
본 발명의 일 실시예에서, 단계 103에서 1/2 화소 추정을 통해 획득된 최적 위치가 결정된 후, 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역(peripheral region)은 가로축 방향 및 세로축 방향을 따라 4개의 파티션으로 분할될 수 있다. 축 방향 및 종축 1/2 화소 추정을 통해 획득된 최적 위치는 분할의 중심점 역할을 한다. 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역은 중심점으로서 역할을 하는 1/2 화소 추정을 통해 획득된 최적 위치에 대해 8 방향에서의 1/4 화소 위치를 지칭한다. 8 방향은 위, 아래, 왼쪽, 오른쪽, 왼쪽 위, 오른쪽 위, 왼쪽 아래 및 오른쪽 아래이다. 1/2 보간의 결과는 1/2 화소 추정 프로세스에서 획득될 수 있음을 상기로부터 알 수 있다. 따라서 1/2 보간을 통해 획득된 1/2 화소 위치는 각각의 파티션에 포함될 수 있다.
본 개시의 일부 실시예에서, 단계 A1 내지 단계 A3을 수행하는 전술한 구현 시나리오에서, 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역이 4개의 파티션으로 분할되는 단계 104는 단계 B1을 포함한다.
단계 B1에서, 제1 최소 레이트 왜곡 비용에 대응하는 위치가 정수 화소 추정을 통해 획득된 최적 위치인 경우, 정수 화소 추정을 통해 획득된 최적 위치의 주변 영역은 4개의 파티션으로 분할된다. 각각의 파티션은 정수 화소 추정을 통해 획득된 최적 위치, 및 4개의 1/2 화소 위치 중 2개에 기초하여 정의된 구역으로부터 획득된다.
제1 최소 레이트 왜곡 비용에 대응하는 위치가 정수 화소 추정을 통해 획득된 최적 위치인 경우, 1/2 화소 추정을 통해 획득된 최적 위치가 정수 화소 추정을 통해 획득된 최적 위치인 것으로 결정된다. 4개의 파티션은 정수 화소 추정을 통해 획득된 최적 위치 주위의 분할을 통해 획득될 수 있다. 단계 A1에서의 1/2 보간 결과를 획득할 때, 4개의 1/2 화소 위치가 보간을 통해 획득된다. 따라서, 구역은 4개의 1/2 화소 위치 중 2개 및 제1 중심점 영역에 기초하여 분할될 수 있고, 분할된 구역은 독립된 파티션으로서 정의될 수 있다.
본 개시의 일부 실시예에서, 단계 A1, A2 및 A4 내지 A6을 수행하는 전술한 구현 시나리오에서, 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역이 4개의 파티션으로 분할되는 단계 104는 단계 C1 및 C2를 포함한다.
단계 C1에서, 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 제1 1/2 화소 위치에 인접한 제2 1/2 화소 위치가 획득된다. 제2 1/2 화소 위치는 제1 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 4개의 화소 위치 중에서 1/2 보간이 수행되지 않은 화소 위치이다.
단계 C2에서, 제1 1/2 화소 위치의 주변 영역은 4개의 파티션으로 분할된다. 각각의 파티션은 제1 1/2 화소 위치, 정수 화소 추정을 통해 획득된 최적 위치, 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 및 제2 1/2 화소 위치에 기초하여 분할된 구역으로부터 획득된다.
제2 최소 레이트 왜곡 비용에 대응하는 위치가 1/2 화소 위치인 경우, 1/2 화소 추정을 통해 획득된 최적 위치가 1/2 화소 위치인 것으로 결정되고, 보간은 제1 1/2 화소 위치 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중 3개에 대해서만 완료되었다. 이러한 경우에, 제1 1/2 화소 위치에 인접한 제2 1/2 화소 위치가 획득될 필요가 있다. 그 후, 1/2 화소 위치의 주변 영역은 4개의 파티션으로 분할된다. 전술한 단계 A4 및 C1에서 1/2 보간의 결과를 획득할 때, 4개의 1/2 화소 위치가 보간을 통해 획득되는데, 이는 정수 화소 추정을 통해 획득된 최적 위치, 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치, 및 제2 1/2 화소 위치이다. 구역(area)은 4개의 1/2 화소 위치 중 2개 및 제1 중심점 구역에 기초하여 분할될 수 있으며, 분할된 구역은 독립된 파티션으로서 정의될 수 있다.
본 개시의 일부 실시예에서, 단계 A1, A2, A4, A5 및 A7을 수행하는 전술한 구현 시나리오에서, 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역이 4개의 파티션으로 분할되는 단계 104는 단계 D1 및 D2를 포함한다.
단계 D1에서, 제2 최소 화소 왜곡 위치에 대응하는 위치가 제3 1/2 화소 위치인 경우, 제3 1/2 화소 위치에 인접한 2개의 제4 1/2 화소 위치가 획득된다. 2개의 제4 1/2 화소 위치는 제3 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중 보간이 수행되지 않은 화소 위치이다.
단계 D2에서, 제3 1/2 화소 위치의 주변 영역은 4개의 파티션으로 분할된다. 각각의 파티션은 제3 1/2 화소 위치, 제3 1/2 화소 위치에 인접한 4개의 1/2 화소 위치 중 2개 및 제2 1/2 화소 위치에 기초하여 분할된 구역으로부터 획득된다.
제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 1/2 화소 위치가 "제3 1/2 화소 위치"로 정의된다. 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제2 1/2 화소 위치인 경우, 제3 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중 2개에 대해서만 보간이 완료되었다. 이러한 경우에, 제3 1/2 화소 위치에 인접한 2개의 제4 1/2 화소 위치가 획득될 필요가 있다. 그 후, 제3 1/2 화소 위치의 주변 영역은 4개의 파티션으로 분할된다. 단계 A4에서, 단계 D1에서의 1/2 보간의 결과를 획득할 때, 4개의 1/2 화소 위치가 보간을 통해 획득되는데, 이는 제3 1/2 화소 위치에 인접한 4개의 1/2 화소 위치 중 2개 및 2개의 제4 1/2 화소 위치이다. 구역은 4개의 1/2 화소 위치 중 2개 및 제1 중심점 구역에 기초하여 분할될 수 있으며, 분할 구역은 독립된 파티션으로서 정의될 수 있다.
단계 105에서, 1/4 화소 추정을 위한 제1 파티션은, 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치에 각각 대응하는 레이트 왜곡 비용에 기초하여, 4개의 파티션으로부터 결정된다.
본 개시의 일 실시예에서, 단계 104에서 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역이 4개의 파티션으로 분할된다. 각각의 파티션은 1/4 보간을 통해 획득된 2개의 1/4 화소 위치를 포함한다. 따라서, 4개의 파티션 각각은 2개의 1/4 화소 위치를 포함한다. 레이트 왜곡 비용은 4개의 파티션에서 각각의 1/2 화소 위치에 대해 계산될 수 있다. 최소 레이트 왜곡 비용은 4개의 레이트 왜곡 비용 중에서 선택된다. 최소 레이트 왜곡 비용에 대응하는 위치가 속하는 파티션이 제1 파티션이다. 본 개시의 본 실시예에서, 1/4 화소 추정이 1/2 화소 추정에서 4개의 주변 화소의 비용에 따라 결정된 후, 보간은 제1 파티션의 위치점에서만 수행될 필요가 있다. 따라서, 1/4 화소 추정에 대한 보간 범위가 크게 감소된다. 따라서, 인코딩 속도를 향상시킬 수 있고, 계산 복잡도를 낮출 수 있다.
본 개시의 일부 실시예에서, 1/4 화소 추정을 위한 제1 파티션이, 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치에 각각 대응하는 레이트 왜곡 비용에 기초하여, 4개의 파티션으로부터 결정되는 단계 105는 다음 단계를 포함한다.
1/2 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 1/2 화소 위치는 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치로서 결정된다.
1/2 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 계산된다.
제1 파티션은 최적 위치 바로 위의 1/2 화소 위치에 대응하는 레이트 왜곡 비용의 크기와 최적 위치 바로 아래의 1/2 화소 위치에 대응하는 레이트 왜곡 비용의 크기 사이의 관계 및 최적 위치 바로 왼쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용의 크기와 최적 위치 바로 오른쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용의 크기 사이의 관계에 따라 결정된다.
이하에 설명을 위한 예를 제공한다. 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역은 오른쪽 위 구역, 왼쪽 위 영역, 오른쪽 아래 구역 및 왼쪽 아래 구역으로 분할된다. 최적 위치 바로 위의 1/2 화소 위치와 최적 위치 바로 아래의 1/2 화소 위치에 각각 대응하는 레이트 왜곡 비용의 값이 비교되고, 최적 위치의 바로 왼쪽의 1/2 화소 위치와 최적 위치의 바로 오른쪽의 1/2 화소 위치에 각각 대응하는 레이트 왜곡 비용의 값이 비교된다. 최적 위치 바로 위의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 최적 위치 바로 아래의 1/2 화소 위치에 대응하는 레이트 왜곡 비용 이하이고, 최적 위치 바로 왼쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 최적 위치 바로 오른쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용 이하인 경우, 제1 파티션은 왼쪽 위 구역인 것로 결정된다. 최적 위치 바로 위의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 최적 위치 바로 아래의 1/2 화소 위치에 대응하는 레이트 왜곡 비용 이하이고, 최적 위치 바로 왼쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 최적 위치 바로 오른쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용보다 큰 경우, 제1 파티션은 오른쪽 위 구역인 것로 결정된다. 최적 위치 바로 위의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 최적 위치 바로 아래의 1/2 화소 위치에 대응하는 레이트 왜곡 비용보다 크고, 최적 위치 바로 왼쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 최적 위치 바로 오른쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용 이하인 경우, 제1 파티션은 왼쪽 아래 구역인 것로 결정된다. 최적 위치 바로 위의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 최적 위치 바로 아래의 1/2 화소 위치에 대응하는 레이트 왜곡 비용보다 크고, 최적 위치 바로 왼쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용이 최적 위치 바로 오른쪽의 1/2 화소 위치에 대응하는 레이트 왜곡 비용보다 큰 경우, 제1 파티션은 오른쪽 아래 구역인 것로 결정된다.
단계 106에서, 1/4 화소 추정이 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 제1 파티션에서 수행되어, 1/4 화소 추정을 통해 획득된 최적 위치를 획득한다.
본 개시의 일 실시예에서, 전술한 단계에서 계산된 것은 1/2 화소 추정을 통해 획득된 최적 위치, 및 최소 레이트 왜곡 비용에 대응하는 위치가 속하는 제1 파티션이다. 따라서, QME가 HEVC 코딩에서 수행될 때, QME는 모든 구역이 아닌 제1 파티션에서만 수행될 필요가 있다. 따라서, 1/4 화소 추정의 보간 범위가 크게 감소된다. 인코딩 속도를 향상시킬 수 있고, 계산 복잡도를 낮출 수 있다.
본 개시의 일부 실시예에서, 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 1/4 화소 추정이 제1 파티션에서 수행되어, 1/4 화소 추정을 통해 획득된 최적 위치를 획득하는 단계 106은 단계 E1 내지 E3을 포함한다.
단계 E1에서, 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여, 제1 파티션 내의 3개의 주변 위치에서 1/4 보간이 수행되어, 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 3개의 1/4 화소 위치를 획득한다. 3개의 1/4 화소 위치는 제1 파티션에 있다.
단계 E2에서, 1/2 화소 추정을 통해 획득된 최적 위치 및 3개의 1/4 화소 위치로부터 제3 최소 레이트 왜곡 비용에 대응하는 위치가 선택된다.
단계 E3에서, 제3 최소 레이트 왜곡 비용에 대응하는 위치가 1/4 화소 추정을 통해 획득된 최적 위치인 것으로 결정된다.
전술한 단계 E1 내지 E3의 구현 시나리오하에서, 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 3개의 1/4 화소 위치를 획득하기 위해, 3개의 주변 위치에서만 1/4 보간이 제1 파티션에서 수행될 필요가 있다. 3개의 1/4 화소 위치는 제1 파티션에 있다. 단계 E1에서 1/4 보간이 완료된 후, 1/2 화소 추정을 통해 획득된 최적 위치 및 3개의 1/4 화소 위치인 4개의 화소 위치의 레이트 왜곡 비용이 계산될 필요가 있다. 최소 레이트 왜곡 비용에 대응하는 위치는 계산된 4개의 레이트 왜곡 비용으로부터 선택된다. 본 개시의 하나의 실시예에서, 레이트 왜곡 비용을 계산하는 다수의 프로세스가 있기 때문에, 단계 E2에서 최소 레이트 왜곡 비용은 "제3 최소 레이트 왜곡 비용"으로 정의된다. 그 후, 제3 최소 레이트 왜곡 비용에 대응하는 위치가 1/4 화소 추정을 통해 획득된 최적 위치로서의 역할을 할 수 있다.
단계 107에서, 1/4 화소 추정을 통해 획득된 최적 위치를 움직임 추정 결과로서 사용하여 움직임 보상이 수행된다.
본 개시의 하나의 실시예에서, 움직임 보상은 단계 106에서 1/4 화소 추정을 통해 획득된 최적 위치가 획득된 후에 1/4 화소 추정을 통해 획득된 최적 위치에 기초하여 수행될 수 있다. 움직임 보상의 방식은 관련 기술을 참조할 수 있다. 여기서는 세부사항을 설명하지 않는다. 움직임 보상이 완료된 후, 예측 인코딩이 수행될 수 있다. 비디오의 공간 상관성(spatial correlation) 및 시간적 상관성(temporal correlation )은 주로 예측 이미지 블록을 획득하기 위해, 인트라 프레임 예측 및 인터 프레임 예측에 의해 시간-공간 영역 리던던시 정보를 제거하기 위해 사용된다. 그런 다음, 예측 잔차 블록(prediction residual block)을 획득하기 위해, 예측 이미지 블록과 원본 이미지 블록의 차이가 획득된다. 그 후, 예측 잔차에 대해 이산 코사인 변환(discrete cosine transform, DCT) 및 양자화가 수행되어 양자화된 DCT 계수를 획득한다. 마지막으로, 양자화된 DCT 계수에 대해 엔트로피 인코딩이 수행되어 압축된 비트 스트림을 획득한다.
본 개시의 전술한 실시예의 설명으로부터, 본 개시의 실시예에서의 1/4 화소 추정이 1/2 화소 추정을 통해 획득된 최적 위치에 따라 제1 파티션에서 완료되고, 제1 파티션은 최소 레이트 왜곡 비용에 대응하는 위치가 속하는 파티션이다. 따라서, 1/4 화소 추정 동안에 모든 영역에서 1/4 보간을 수행할 필요가 없으며, 모든 영역에서 각각의 1/4 화소 위치의 최소 레이트 왜곡 비용을 계산할 필요가 없다. 오히려, 최소 레이트 왜곡 비용은 단지 제1 파티션에서 1/4 화소 위치에 대해 계산될 필요가 있다. 따라서, 비디오 압축 성능을 보장하면서 인코딩 속도가 효과적으로 향상되고 계산 복잡도가 감소될 수 있으며, 이에 따라 비디오 압축에서 머신 성능에 대한 실시간 인코딩의 요구가 낮아진다.
도 2에는 본 개시의 실시예에 따른 HEVC 인코딩 프레임워크의 개략 구조도이다. 먼저, HEVC 인코딩 프로세스를 상세히 설명한다. 이미지 프레임이 프레임 버퍼에서 판독된 다음 인코더에 전송된다. 인트라 프레임 예측 또는 인터 프레임 예측이 수행된 다음, 예측 값이 획득된다. 인트라 프레임 예측은 예측된 화소가 주변 화소를 참조하여 보간을 통해 획득되고, 공간 영역의 정보가 참조되는 것이다. 인터 프레임 예측은 타깃 블록과 가장 매칭되는 위치가 참조 프레임으로부터 발견되고, 시간 영역의 정보가 참조되는 것이다. 인터 프레임 예측은 움직임 추정(ME) 및 움직임 보상(motion compensation, MC)을 포함할 수 있다. 예측값이 획득된 후, 잔차를 획득하기 위해, 예측값과 입력 데이터 사이의 차이가 획득된다. 이어서, 이산 코사인 변환(DCT) 변환 및 양자화가 수행되어 잔차 계수를 획득한다. 그 후, 잔차 계수는 비트 스트림을 출력하기 위해, 엔트로피 인코딩 모듈에 전송된다. 또한, 잔차 계수에 대해 역양자화 및 역변환이 수행된 후, 재구성된 이미지에 대한 잔차 값이 획득되고, 잔차 값 및 인트라 프레임 예측 값 또는 인터 프레임 예측 값이 가산되어 재구성된 이미지를 획득한다. 재구성된 이미지는 인루프 필터링(in-loop filtering) 후에 참조 프레임 큐에 들어가고, 참조 이미지의 다음 프레임으로서의 역할을 하므로, 프레임마다 인코딩이 수행된다. 인루프 필터링은 디블로킹 필터(deblocking filter, DBF) 및 샘플 적응 오프셋(sample adaptive offset, SAO)을 포함할 수 있다.
HEVC 코딩에서, 세그먼트화가 더 미세하고 더 많은 방향이 제공되기 때문에 계산량이 크다. 높은 압축 성능을 얻으려면 전체 인코더를 최적화해야 한다. 일반적으로 인터 프레임 예측 및 인터 프레임 부분의 엔트로피 인코딩은 전체 계산량의 약 90%를 차지하고, 인트라 프레임 예측 및 인트라 프레임 부분의 엔트로피 인코딩은 8%를 차지하고, SAO 및 DB는 합계 1% 미만을 차지한다. ME 부분은 전체 계산량의 30% ~ 40%를 차지하며, 이러한 비율은 다른 부분이 최적화됨에 따라 증가한다.
ME는 세 부분: 정수 움직임 추정, 1/2 화소 추정(HME) 및 1/4 화소 추정(QME)을 포함한다.
압축 성능을 저하시키지 않으면서 움직임 추정 지점의 수량을 감소시키는 방안이 본 개시의 실시예에 따라 제공되어, 인코딩 속도를 향상시키고 계산의 복잡도를 줄인다. 이에 의해, 머신에서의 실시간 인코딩 요구가 비디오 압축에서 낮아진다.
본 개시의 하나의 실시예에서는, 다음 세 부분: 인코더 아키텍처 조정, HME 최적화 및 QHE 최적화가 포함된다. 먼저, 타깃 블록에 대한 재구성 데이터가 DB 및 SAO를 통해 처리된 후, 분수 화소 움직임 추정 동안에 필요한 보간 부분이 즉시 수행된다. 1/2 화소의 모든 방향에 대응하는 참조 화소 및 1/4 수평 방향으로 2개의 위치에서의 참조 화소가 보간을 통해 획득된다. 이어서, mv 값에 기초하여 인터 프레임 예측을 위한 1/2 화소 추정이 수행되고, 1/4 화소 추정에서의 mv 상태에 기초하여 보간이 수행되는지의 여부가 결정된다. 이에 의해, 반복 보간이 회피된다. 또한, 1/2 화소 추정 시에 4개의 주변 화소의 비용에 따라 1/4 화소 추정 동안에 어느 구역 위치 지점이 작동되는지가 결정되고, 최종 최종 1/4 화소 추정 동안에 3개의 지점만이 수행되어 원래의 8개 지점에 대한 압축 성능을 달성한다. 또한, 1/2 화소 추정 동안 완료된 위치 보충 전략(completed location supplementation strategy)이 설계된다. 4개 지점이 먼저 작동된다. 그 후, 프로세스가 종료되는지 또는 다른 위치 지점이 보충되는지가 결정된다.
도 2에 도시된 인코더 아키텍처에서, 전체 프레임의 모든 코딩 트리 유닛(coding tree unit, CTU)의 인코딩을 완료한 후, 전체 프레임의 DB가 수행된다. 이어서, 전체 프레임의 SAO가 수행된다. 마지막으로 참조 프레임 큐가 입력된다. 분수 화소 움직임 추정 동안에, 참조 화소가 존재하지 않으며, 보간은 mv 좌표에 따라 실시간으로 수행된다, 즉 "보간 및 연산"의 방식으로 수행된다. 필요한 위치에서 보간이 수행된 다음, 계산 및 비교를 통해 최적의 mv 위치가 획득된다.
본 개시의 하나의 실시예에서, 보간은 SAO 후에 처리되고, 그에 따라 다음 조정이 이루어진다. CTU가 인코딩된 후, DB 및 SAO는 즉시 수행되기 시작하고, 그런 다음 1/2 화소 위치에서 모든 참조 화소가 보간을 통해 획득된다. 보간은 CTU 블록을 단위로 수행되고, 각각의 위치는 이미지 버퍼에 대응한다. 애플리케이션에서, 이미지 버퍼는 mv의 1/2 화소 위치에 따라 선택되며, 대응하는 위치로 오프셋된다. 또한, 1/4 화소 수평 방향의 2개의 면이 보간을 통해 획득된다. mv의 1/4 화소 위치가 보간이 수행된 수평 방향의 위치가 아닌 경우, 보간이 실시간으로 수행된다.
이하에 본 발명의 하나의 실시예에 따라 HME를 최적화하는 프로세스를 설명한다. 도 3a에 도시된 것은 중심점과 8개의 주변 지점이 있다. 구체적으로, 실선으로 표시되는 정수 화소 위치, 점선(dotted line)으로 표시되는 1/2 화소 위치, 및 파선(dashed line)으로 표시되는 1/4 화소 위치인 3가지 유형의 화소 위치가 포함될 수 있다.
1/2 화소 추정은 미리 보간을 통해 수행되었다. 애플리케이션에서, 추정은 mv의 대응 좌표에 따라 선택되고, 최적 mv가 위치하는 위치는 비용에 기초하여 결정된다. 예를 들어, 옵션 중에서 최선의 것을 선택하기 위해 레이트 왜곡 비용이 사용될 수 있고, 대응하는 값은 간단히 비용으로 지칭된다. 최소 비용에 대응하는 mv가 최적의 mv이며, 비용은 식: cost=satd+lamda*bit로 구하며, 여기서 bit는 (mv-mvp)에 대응하는 비트를 나타낸다.
SATD는 Sum of Absolute Transformed Difference(절대 변환된 차이의 합)를 나타낸다. 아다마르 변환(hadamard transform) 후에 절대 값의 합을 획득하는 것이 왜곡을 계산하는 방법이다. 잔차 신호는 아다마르 변환을 거친 후, 요소의 절대 값의 합이 획득되며, 이는 SAD와 비교하여 계산량에 대한 정확도가 더 높다. lamda는 라그랑지 상수(Lagrange constant)이다. mvp는 움직임 벡터 예측을 나타내며, 프로토콜에 따라 그 값을 추론해야 한다. 실제 코딩 시에, 인코딩된 mvd, 즉 mvd=mv-mvp이다. 이 경우, 코드 요소가 절약될 수 있다.
1/2 화소 추정은 주로 다음 단계 1 내지 5를 포함한다.
단계 1에서, 중심점 및 4개의 위치, 즉 위, 아래, 왼쪽 및 오른쪽의 비용이 계산된다. 즉, 위치 0, 1, 2, 3 및 4의 비용이 계산된다. 이러한 위치는 도 3b에서 원이 있는 위치이다.
비용의 값을 비교함으로써, 최소 비용 및 최소 비용에 대응하는 위치가 발견된다.
단계 2에서, 최소 비용이 중심점, 즉 위치 0에 있는 경우, HME가 종료되고, 위치 1 및 2에 대응하는 비용이 비교되고, 위치 3 및 4에 대응하는 비용이 비교되고, 위치 5, 6, 7 및 8로 둘러싸인 영역은 중심 위치를 원래 좌표점으로 사용하여 4개의 파티션으로 분할된다. 분할은 표 1에 나타낸 바와 같이, 아래의 표에 따른다.
[표 1]
Figure 112019124861264-pct00001
도 3c에 도시 된 바와 같이, 4개의 파티션은 Z0, Z1, Z2 및 Z3에 대응한다. 1/4 화소 추정을위한 3개의 특정 지점이 파티션에 의해 지시될 수 있다. 확률의 관점에서, 3개 지점이 계산되는 한 모든 지점이 계산된다. 1/4 화소 추정을 위한 지점의 수량이 감소되고, 인코딩 속도가 향상된다.
최소 비용에 대응하는 위치가 중심점에 없는 경우, 프로세스는 단계 3으로 간다.
단계 3에서, 타깃 최적 위치에 따라 2개의 위치가 먼저 보충된다(즉, 최소 비용에 대응하는 위치가 각각의 위치에 대한 계산 후에 획득된다). 위치는 다음 규칙에 따라 보충된다. 이러한 위치는 도 3d와 같이 삼각형이 위치하는 위치이다.
최소 비용을 갖는 위치가 위치 1인 경우, 위치 5 및 6은 보충 및 조작되어야 한다.
최소 비용을 갖는 위치가 위치 2인 경우, 위치 7 및 8은 보충 및 조작되어야한다.
최소 비용을 갖는 위치가 위치 3인 경우, 위치 5 및 7은 보충 및 조작되어야 한다.
최소 비용을 갖는 위치가 위치 4인 경우, 위치 6 및 8은 보충 및 조작되어야 한다.
유의해야 할 것은, 본 개시의 일 실시예에서, 최소 비용은 1/2 화소 위치에 있고, 조작되지 않았으며 타깃 위치의 왼쪽, 오른쪽, 위, 또는 아래에 있는 위치가 그 후 선택된다. 즉, 보층된 위치는 조작되지 않은 위치이다. 예를 들어, 위치 1의 경우, 위치 5, 6 및 n1을 보충될 필요가 있다. 위치 5 또는 6이 최적일 수 있기 때문에, 위치 n1을 조작할 필요가 없을 수 있다. 따라서 위치 5와 6을 계산할 필요가 있다. 위치 1이 여전히 최적인 경우, 위치 n1이 보충된다. 그렇지 않으면, 단계 5에 따라 위치 보충이 수행된다.
그 후, 보충된 위치의 비용은 최소 비용을 갖는 위치와 비교된다. 이러한 방식으로 최적 위치를 찾는다. 최소 비용에 대응하는 위치가 변하지 않는 경우, 단계 4에 따라 하나의 위치가 보충되고, 비교가 추가로 수행된다. 그렇지 않으면 최소 비용으로 리프레시된 위치가 중심으로 사용되며, 단계 5에 따라 2개의 위치가 보충된다.
단계 4에서, 하나의 지점이 먼저 도 3d에 도시된 위치에 따라 보충된다.
즉, 최소 비용을 갖는 위치가 위치 1인 경우, 위치 n1이 보충 및 조작될 필요가 있다.
최소 비용을 갖는 위치가 위치 2인 경우, 위치 n2가 보충 및 조작될 필요가 있다.
최소 비용을 갖는 위치가 위치 3인 경우, 위치 n3이 보충 및 조작될 필요가 있다.
최소 비용을 갖는 위치가 위치 4인 경우, 위치 n4가 보충 및 조작될 필요가 있다.
단계 4에 따라 위치가 보충되는 경우, 최소 비용을 갖는 위치는 모두 1/2 화소 위치인 위치 1, 2, 3 또는 4이다.
그 후, 최소 비용을 갖는 위치가 중심이 되고, 단계 2에 따라 위치가 4개의 파티션 중 어느 것이 속하는지가 결정된다.
단계 5에서, 2개의 위치가 도 3e에 도시 된 위치에 따라 보충된다.
도 3e는 1/2 화소 추정을 통해 획득된 최적 위치가 제1 4개의 중 하나가 아닌 경우의 보충 위치의 식별자를 나타낸다. 타깃 최적 위치의 위, 아래, 왼쪽 및 오른쪽에 있는 네개의 위치가 모두 계산되도록 위치가 보충된다. 그리고, 1/4 화소 추정을 안내하기 위해, 타깃 최적 위치가 어느 파티션에 속하는지 결정된다. 보충될 위치는 아직 없는 위치에 따라 달라진다. 예를 들어, 타깃 최적 위치가 7인 경우, 위치 7의 위와 오른쪽에 있는 위치는 이미 계산된 반면, 위치 7의 왼쪽 및 아래에 있는 위치는 계산되지 않았다. 따라서 위치 p4 및 p5가 보충된다.
최소 비용을 갖는 위치가 위치 5인 경우, 위치 p0 및 p1이 보충 및 조작될 필요가 있으며, 여기서 대응하는 좌표는 (-4, -2) 및(-2, -4)이다.
최소 비용을 갖는 위치가 위치 6인 경우, 위치 p2 및 p3이 보충 및 조작될 필요가 있으며, 여기서 대응하는 좌표는 (2, -4) 및(4, -2)이다.
최소 비용을 갖는 위치가 위치 7인 경우, 위치 p4 및 p5가 보충 및 조작될 필요가 있으며, 여기서 대응하는 좌표는 (-4, 2) 및(-2, 4)이다.
최소 비용을 갖는 위치가 위치 8인 경우, 위치 p6 및 p7이 보충 및 조작될 필요가 있으며, 여기서 대응하는 좌표는 (2, 4) 및(4, 2)이다.
전술한 좌표는 정수 움직임 추정을 통해 획득된 최적 위치에 비례하며, 이는 1/2 화소 추정 을위한 원점이다. 원점의 위 또는 왼쪽에 있는 위치는 음의 좌표를 가지며, 원점의 아래 또는 오른쪽에 있는 위치는 양의 좌표를 갖는다.
그 후, 최소 비용을 갖는 위치가 중심이되고, 단계 2에 따라 위치가 4개의 파티션 중 어느 파티션에 속하는지가 결정된다.
모든 1/2 화소 추정은 단계 1 내지 5에서 설명된 전체 루프를 통해 구현될 수 있다.
이후 QME 최적화가 수행된다. 1/2 화소 추정을 통해 획득된 최적 위치의 8개의 주변 1/4 화소의 위치가 결정되고, 도 3f에서 별이 위치하는 곳으로 표시된다. 원은 1/2 화소 추정을 통해 획득된 최적 위치를 나타낸다.
1/2 화소 추정을 통해 획득된 최적 위치가 중심점인 것을 예로 든다. 각각의 파티션에 대해, HME에서 획득되고 최적 위치가 속하는 파티션을 지시하는 식별자와 함께, 1/4 화소 추정 동안에 단지 3개의 위치만이 조작된다. 1/2 화소가 조작되는 경우, 1/4 화소 추정의 최적 결과가 속하는 파티션이 예측된다. 이에 따라, 예측된 파티션에서 위치가 보충될 수 있다.
최적 위치가 0번째 파티션, 즉 z0에 속하는 경우, 위치 q5, q3 및 q1이 조작될 필요가 있다.
최적 위치가 1번째 파티션, 즉 z1에 속하는 경우, 위치 q6, q1 및 q4가 조작될 필요가 있다.
최적 위치가 2번째 파티션, 즉 z2에 속하는 경우, 위치 q7, q3 및 q2가 조작될 필요가 있다.
최적 위치가 3번째 파티션, 즉 z3에 속하는 경우, 위치 q8, q2 및 q4가 조작될 필요가 있다.
그 후, 비교가 수행된다. 최소 비용에 대응하는 mv 및 비용은 최적의 mv 및 최적 비용이다. QME가 종료된다.
본 개시의 하나의 실시예에 따르면, 인터 프레임 예측 동안, mv에 따라 참조 프레임의 대응하는 위치에서 화소가 판독된다. 보간될 필요가 있는 1/4 화소가 있는 경우, 잔차 등이계산되고 최종적으로 비트 스트림에 기록된다. 디코딩 단말기는 디코딩을 통해 mv를 획득하고, 화소는 동일한 방식으로 판독되며, 보간도 수행될 필요가 있을 수 있다. 그 후, 잔차 데이터를 추가함으로써 재구성된 이미지가 획득된다.
본 개시의 하나의 실시예에 따르면, 반복 보간이 회피된다. 보간 중에 많은 화소가 중첩된다. 예를 들어, 1/2 화소 중의 위치 5와 6은 데이터의 한 열만 다르며, 나머지 부분은 동일한다. 보간 중에, 타깃 예측 블록과 동일한 크기를 갖는 데이터가 보간된다. 블록이 클수록 중첩이 더 많다. 또한, 1/4 화소는 1/2 화소에 기초하여 보간된다. 보간 및 조작 방식에서, 보간은 결정되지 않은 위치로 인해 반복적으로 수행되며, 여기서 1/2 화소가 먼저 획득된 다음 1/4 화소가 보간을 통해 획득된다. 본 개시의 하아의 실시예에서, 보간은 반복되지 않고 각각의 위치에서 한 번 수행된다. 또한, 1/4 보간은 이미 존재하는 1/2 화소에 기초하여 수행되며, 2개의 위치는 이미 1/4 위치에 대해 조작되었다. 1/4 보간은 소수의 지점에서 수행되므로, 보간은 실시간으로 수행될 수 있다.
전술한 실시예로부터, 최적화없이, 1/2 화소 추정 및 1/4 화소 추정 모두가 8개의 위치에서 수행되고, 보간이 실시간으로 수행 된 다음, 움직임 검색이 수행된다는 것을 알 수 있다. 본 개시의 실시예에 따른 방안에서, 1/2 화소 추정 동안에, 4개의 위치가 조작될 확률은 35%이고, 7개의 위치가 조작될 확률은 40%이고, 8개의 위치가 조작될 확률은 25%이다. 4개의 위치, 7개의 위치 및 8개의 위치를 조작하기위한 확률은 8개의 위치가 조작되는 종래의 방식을 통해 최적 위치가 획득되는 경우에 대한 통계에 의해 계산된다. 4개의 위치를 조작하는 경우는 HME에서 단계 1이 수행된 후에 프로세스가 종료되는 것을 의미한다. 7개의 위치를 조작하는 경우는 최적 위치는 1, 2, 3 또는 4 위치이며 3개의 위치를 보충해야 한다는 것을 의미한다. 8개의 위치의 경우는 단계 5가 수행되는 것을 의미한다. HME에 대한 계산에서, 22.5%의 계산량이 절약될 수 있다. 1/4 화소 추정 동안, 단지 3개의 위치만이 조작되고, 계산에 있어 62.5%의 계산량이 절약될 수 있다. 또한 아키텍처가 조정되면, 반복 보간을 회피할 수 있다. 전체 인코딩 속도는 32.2% 향상되었으며 압축 성능 지수(bitrate distortion-rate, bd-rate)는 0.24% 감소했다. 따라서 이점이 현저하다.
본 개시의 실시예에 따른 전술한 방안의 더 나은 이해 및 구현을 위해, 이하에서는 대응하는 애플리케이션 시나리오를 예로 들어 설명한다.
전술한 방법 실시예는 간결한 설명을 위한 일련의 동작 조합으로서 언급되어있다. 당업자라면 일부 단계는 본 개시의 실시예에 따라 다른 시퀀스로 또는 동시에 수행될 수 있기 때문에, 본 개시가 기술된 동작의 시퀀스에 한정되지 않는다는 것을 알아야 한다. 또한, 당업자라면 본 명세서에서 기술된 모든 실시예가 예시적인 실시예이며, 관련된 동작 및 모듈이 본 개시에서 반드시 필요하지 않을 수도 있다는 것을 알아야 한다.
본 개시의 실시예에 따른 전술한 방안의 더 나은 구현을 용이하게 하기 위해, 이하에서는 전술한 방안을 구현하도록 구성된 관련 장치가 더 제공된다.
도 4a를 참조하면, 본 개시의 일 실시예에 따른 비디오 이미지 처리 장치(400)가 제공된다. 이 비디오 이미지 처리 장치(400)는 이미지 획득 모듈(401), 정수 화소 추정 모듈(402), 제1 분수 화소 추정 모듈(403), 이미지 분할 모듈(404), 제1 파티션 획득 모듈(405), 제2 분수 화소 추정 모듈(406), 및 움직임 보상 모듈(407)을 포함한다.
이미지 획득 모듈(401)은 인코딩될 비디오 이미지로부터 타깃 이미지 프레임을 획득하도록 구성된다.
정수 화소 추정 모듈(402)은 타깃 이미지 프레임에 대해 정수 움직임 추정을 수행하여, 정수 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된다.
제1 분수 화소 추정 모듈(403)은 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정을 수행하여, 1/2 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된다.
이미지 분할 모듈(404)은 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성된다.
제1 파티션 획득 모듈(405)은 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치에 각각 대응하는 레이트 왜곡 비용에 따라, 4개의 파티션으로부터 1/4 화소 추정을 위한 제1 파티션을 선택하도록 구성된다.
제2 분수 화소 추정 모듈(406)은 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 제1 파티션에서 1/4 화소 추정을 수행하여, 1/4 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된다.
움직임 보상 모듈(407)은 1/4 화소 추정을 통해 획득된 최적 위치를 움직임 추정 결과로서 사용하여 움직임 보상을 수행하도록 구성된다.
본 개시의 일부 실시예에서, 도 4b를 참조하면, 제1 분수 화소 추정 모듈(403)은 1/2 화소 획득 모듈(4031), 제1 비용 계산 모듈(4042) 및 제1 최적 위치 결정 모듈(4033)을 포함한다.
제1 1/2 화소 획득 모듈(4031)은 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득하도록 구성된다. 4개의 1/2 화소 위치는 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치이다.
제1 비용 계산 모듈(4032)은 정수 화소 추정을 통해 획득된 최적 위치 및 4개의 1/2 화소 위치로부터 제1 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된다.
제1 최적 위치 결정 모듈(4033)은 제1 최소 레이트 왜곡 비용에 대응하는 위치가 정수 화소 추정을 통해 획득된 최적 위치인 경우, 1/2 화소 추정을 통해 획득된 최적 위치를 정수 화소 추정을 통해 획득된 최적 위치로 결정하도록 구성된다.
또한, 본 개시의 일부 실시예에서, 제1 파티션 획득 모듈(405)은 구체적으로, 제1 최소 레이트 왜곡 비용에 대응하는 위치가 정수 화소 추정을 통해 획득된 최적 위치인 경우, 정수 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성된다.
본 개시의 일부 실시예에서, 도 4c를 참조하면, 제1 분수 화소 추정 모듈(403)은 제1 1/2 화소 획득 모듈(4031), 제1 비용 계산 모듈(4042), 제2 1/2 화소 획득 모듈(4034), 제2 비용 계산 모듈(4035) 및 제2 최적 위치 결정 모듈(4036)을 포함한다.
제1 1/2 화소 획득 모듈(4031)은 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득하도록 구성된다. 4개의 1/2 화소 위치는 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 아래에 있는 4개의 화소 위치이다.
제1 비용 계산 모듈(4032)은 정수 화소 추정을 통해 획득된 최적 위치 및 4개의 1/2 화소 위치로부터 제1 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된다.
제2 1/2 화소 획득 모듈(4034)은 제1 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치를 획득하도록 구성된다. 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치, 및 제1 1/2 화소 위치는 동일한 축 방향을 따라 위치하고, 제1 1/2 화소 위치는 4개의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 1/2 화소 위치이다.
제2 비용 계산 모듈(4035)은 제1 1/2 화소 위치 및 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치로부터 제2 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된다.
제2 최적 위치 결정 모듈(4036)은, 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 1/2 화소 추정을 통해 획득된 최적 위치를 제1 1/2 화소 위치로 결정하거나; 또는 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제3 1/2 화소 위치인 경우, 1/2 화소 추정을 통해 획득된 최적 위치를 제3 1/2 화소 위치로 결정하도록 구성된다. 제3 1/2 화소 위치는 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 중에서 더 작은 레이트 왜곡 비용을 갖는 1/2 화소 위치이다.
또한, 본 개시의 일부 실시예에서, 도 4d를 참조하면, 제1 파티션 획득 모듈(405)은 제3 1/2 화소 획득 모듈(4051) 및 제1 영역 분할 모듈(4052)을 포함한다.
제3 1/2 화소 획득 모듈(4051)은 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 제1 1/2 화소 위치에 인접한 제2 1/2 화소 위치를 획득하도록 구성된다. 제2 1/2 화소 위치는 제1 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중에서 1/2 보간이 수행되지 않은 화소 위치이다.
제1 영역 분할 모듈(4052)은 제1 1/2 화소 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성된다. 각각의 파티션은 다음 4개의 위치: 정수 화소 추정을 통해 획득된 최적 위치, 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 및 제2 1/2 화소 위치 중 하나를 포함한다.
본 개시의 일부 실시예에서, 도 4e를 참조하면, 제1 파티션 획득 모듈(405)은 제4 1/2 화소 획득 모듈(4053) 및 제2 영역 분할 모듈(4054)을 포함한다.
제4 1/2 화소 획득 모듈(4053)은 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제3 1/2 화소 위치인 경우, 제3 1/2 화소 위치에 인접한 2개의 제4 1/2 화소 위치를 획득하도록 구성된다. 2개의 제4 1/2 화소 위치는 제3 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중 보간이 수행되지 않은 화소 위치이다.
제2 영역 분할 모듈(4054)은 제3 1/2 화소 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성된다. 각각의 파티션은 다음 4개의 위치: 제3 1/2 화소 위치에 인접한 4개의 1/2 화소 위치 중 2개 및 2개의 제4 1/2 화소 위치 중 하나를 포함한다.
본 개시의 일부 실시예에서, 도 4f를 참조하면, 제2 분수 화소 추정 모듈(406)은 1/4 보간 모듈(4061), 제3 비용 계산 모듈(4062) 및 제3 최적 위치 결정 모듈(4033)을 포함한다.
1/4 보간 모듈(4061)은 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여, 제1 파티션의 3개의 주변 위치에서 1/4 보간을 수행하여, 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 3개의 1/4 화소 위치를 획득하도록 구성된다. 3개의 1/4 화소 위치는 제2 파티션 내에 있다.
제3 비용 계산 모듈(4062)은 1/2 화소 추정을 통해 획득된 최적 위치 및 3개의 1/4 화소 위치로부터 제3 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된다.
제3 최적 위치 결정 모듈(4063)은 제3 최소 레이트 왜곡 비용에 대응하는 위치를 1/4 화소 추정을 통해 획득된 최적 위치로 결정하도록 구성된다.
본 발명의 전술한 실시예의 설명으로부터, 본 발명의 실시예에서의 1/4 화소 추정이 1/2 화소 추정을 통해 획득된 최적 위치에 따라 제1 파티션에서 완료되고, 제1 파티션은 최소 레이트 왜곡 비용에 대응하는 위치가 속하는 파티션이다. 따라서, 1/4 화소 추정을 하는 동안에 모든 영역에서 1/4 보간을 수행할 필요가 없고, 모든 영역에서 1/4 화소 위치 각각의 최소 레이트 왜곡 비용을 계산할 필요는 없다. 오히려, 최소 레이트 왜곡 비용은 단지 제1 파티션에서 1/4 화소 위치에 대해 계산될 필요가 있을 뿐이다. 따라서, 비디오 압축 성능을 보장하면서 인코딩 속도가 효과적으로 향상되고 계산 복잡도가 감소될 수 있으며, 이에 따라 비디오 압축에서 머신 성능에 대한 실시간 인코딩의 요구가 낮아진다.
도 5는 본 개시의 일 실시예에 따른 서버의 개략 구성도이다. 서버(1100)는 상이한 구성 또는 성능으로 인해 크게 달라질 수 있다. 서버(1100)는 하나 이상의 중앙 처리 유닛(CPU)(1122)(예: 하나 이상의 프로세서), 메모리(1132) 및 하나 이상의 저장 매체(1130)(예: 하나 이상의 대용량 저장 기기)를 포함할 수 있다. 메모리(1132) 및 저장 매체(1130)는 일시적 스토리지 또는 영구적 스토리지일 수 있다. 저장 매체(1130)에 저장된 프로그램은 하나 이상의 모듈(도시되지 않음)을 포함할 수 있고, 각각의 모듈은 서버에 대한 일련의 명령어 및 작업(operation)을 포함할 수 있다. 또한, 중앙 처리 유닛(1122)은 저장 매체(1130)와 통신하고, 저장 매체(1130)에서의 일련의 명령어 및 작업을 서버(1100)상에서 실행하도록 구성될 수 있다.
서버(1100)는 하나 이상의 전원(1126), 하나 이상의 유선 또는 무선 네트워크 인터페이스(1150), 하나 이상의 입출력 인터페이스(1158) 및/또는 Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM 또는 FreeBSDTM과 같은 하나 이상의 운영체제(1141)를 더 포함할 수 있다. .
전술한 실시예에서 서버에 의해 수행 된 비디오 이미지 처리 방법의 단계는도 5에 도시 된 서버 구성에 기초할 수 있다.
또한, 본 개시의 일 실시예에 따라 저장 매체가 추가로 제공된다. 저장 매체는 프로그램 코드를 저장하도록 구성되며, 프로그램 코드는 전술한 실시예에 따른 방법을 수행하는 데 사용된다.
명령어를 포함하는 컴퓨터 프로그램 제품이 본 개시의 실시예에 따라 더 제공된다. 컴퓨터 프로그램 제품은 서버상에서 실행될 때, 전술한 실시예들에 따른 방법을 수행하도록 서버를 구성한다.
또한, 유의해야 할 것은, 전술한 장치 실시예는 단지 예시에 불과하다는 것이다. 별개의 부분으로 기술된 유닛은 물리적으로 분리될 수 있거나 물리적으로 분리되지 않을 수 있으며, 유닛으로 표시되는 부분은 물리적 유닛일 수도 물리적 유닛이 아닐 수도 있다. 즉, 유닛은 한 장소에 위치할 수도 있고, 복수의 네트워크 유닛에 분산될 수도 있다. 하나의 실시예에 따른 방안의 목적을 구현하기 위해, 실제 요건에 기초하여 그의 일부 모듈 또는 모든 모듈이 선택될 수 있다. 또한, 본 개시에서 제공되는 장치 실시예의 첨부도면에서, 모듈들 사이의 연결 관계는 모듈들이 서로 통신 연결을 갖는다 것을 나타내며, 이는 구체적으로 하나 이상의 통신 버스 또는 신호 케이블로서 구현될 수 있다. 당업자라면 창의적인 노력없이 목적을 이해하고 구현할 수 있을 것이다.
전술한 구현 방식의 설명에 기초하여, 당업자라면 본 개시가 필요한 범용 하드웨어와 함께 소프트웨어에 의해 구현될 수 있고, 또한 전용 집적회로, 전용 CPU, 전용 메모리, 전용 부품 등을 포함한, 전용 하드웨어에 의해 구현될 수도 있음을 명확하게 이해할 수 있을 것이다. 일반적으로, 컴퓨터 프로그램에 의해 수행될 수 있는 임의의 기능은 대응하는 하드웨어를 사용함여 쉽게 구현될 수 있다. 또한, 동일한 기능을 달성하기 위해 사용되는 구체적인 하드웨어 구성은 아날로그 회로, 디지털 회로 또는 전용 회로와 같은 다양한 형태일 수 있다. 본 개시의 경우, 대부분의 경우에 소프트웨어 프로그램 구현이 더 나은 구현 방식일 수 있다. 이러한 이해를 바탕으로, 본 개시의 기술적 방안에서 본질적이거나 기존 기술에 기여하는 부분은 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 플로피 디스크, USB 플래시 드라이브, 탈착 가능한 하드 디스크, 판독 전용 메모리(ROM, Read-Only Memory), 임의 접근 메모리(RAM, Random Access Memory), 자기 디스크 또는 컴퓨터의 광 디스크와 같은 판독 가능한 매체에 저장될 수 있다. 소프트웨어 제품은 컴퓨터 기기(개인용 컴퓨터, 서버, 네트워크 기기 등일 수 있음)에게 본 개시의 실시예에 기술된 방법을 수행하도록 명령하기 위한 여러 명령어를 포함한다.
이상에서 설명한 바와 같이, 전술한 실시예는 본 개시의 기술적 방안을 설명하기 위한 것이며, 본 개시를 한정하려는 것이 아니다. 본 개시가 전술한 실시예를 참조하여 상세하게 설명되었지만, 당업자라면 전술한 실시예에 기재된 기술적 방안에 대한 수정이 이루어질 수 있거나, 또는 그 기술적 특징 중 일부에 대한 동등한 대체가 이루어질 수 있으며, 그러한 수정 및 대체는 대응하는 기술적 방안 본 개시의 실시예의 기술적 방안의 사상 및 범위를 벗어나게 하지 않는다는 것을 이해해야 한다.

Claims (19)

  1. 비디오 처리 기기에 적용되는 비디오 이미지 처리 방법으로서,
    인코딩될 비디오 이미지로부터 타깃 이미지 프레임을 획득하는 단계;
    상기 타깃 이미지 프레임에 대해 정수 움직임 추정(integer motion estimation)을 수행하여, 상기 정수 화소 추정을 통해 획득된 최적 위치를 획득하는 단계;
    상기 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정(half pixel estimation)을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 획득하는 단계;
    상기 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션(partition)으로 분할하는 단계;
    상기 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치에 각각 대응하는 레이트 왜곡 비용(rate distortion cost)에 따라, 상기 4개의 파티션으로부터 1/4 화소 추정(quarter pixel estimation)을 위한 제1 파티션을 선택하는 단계;
    상기 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 상기 제1 파티션에서 1/4 화소 추정을 수행하여, 상기 1/4 화소 추정을 통해 획득된 최적 위치를 획득하는 단계; 및
    상기 1/4 화소 추정을 통해 획득된 최적 위치를 움직임 추정 결과로서 사용하여 움직임 보상(motion compensation)을 수행하는 단계
    를 포함하는 비디오 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 획득하는 단계는,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득하는 단계 - 상기 4개의 1/2 화소 위치는 상기 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치임 -;
    상기 정수 화소 추정을 통해 획득된 최적 위치 및 상기 4개의 1/2 화소 위치로부터 제1 최소 레이트 왜곡 비용에 대응하는 위치를 선택하는 단계; 및
    상기 제1 최소 레이트 왜곡 비용에 대응하는 위치가 상기 정수 화소 추정을 통해 획득된 최적 위치인 경우, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 상기 정수 화소 추정을 통해 획득된 최적 위치로 결정하는 단계를 포함하는, 비디오 이미지 처리 방법.
  3. 제2항에 있어서,
    상기 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하는 단계는,
    상기 제1 최소 레이트 왜곡 비용에 대응하는 위치가 상기 정수 화소 추정을 통해 획득된 최적 위치인 경우, 상기 정수 화소 추정을 통해 획득된 최적 위치의 주변 영역을 상기 4개의 파티션으로 분할하는 단계를 포함하고,
    상기 4개의 파티션 각각은 상기 정수 화소 추정을 통해 획득된 최적 위치, 및 상기 4개의 1/2 화소 위치 중 2개에 기초하여 정의된 구역으로부터 획득되는, 비디오 이미지 처리 방법.
  4. 제1항에 있어서,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 획득하는 단계는,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득하는 단계 - 상기 4개의 1/2 화소 위치는 상기 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치임 -;
    상기 정수 화소 추정을 통해 획득된 최적 위치 및 상기 4개의 1/2 화소 위치로부터 제1 최소 레이트 왜곡 비용에 대응하는 위치를 선택하는 단계;
    상기 제1 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치를 획득하는 단계 - 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 및 상기 제1 1/2 화소 위치는 동일한 축 방향을 따라 위치하고, 상기 제1 1/2 화소 위치는 상기 4개의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 1/2 화소 위치임 -;
    상기 제1 1/2 화소 위치 및 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치로부터 제2 최소 레이트 왜곡 비용에 대응하는 위치를 선택하는 단계; 및
    상기 제2 최소 레이트 왜곡 비용에 대응하는 위치가 상기 제1 1/2 화소 위치인 경우, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 상기 제1 1/2 화소 위치로 결정하는 단계를 포함하는, 비디오 이미지 처리 방법.
  5. 제1항에 있어서,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 획득하는 단계는,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득하는 단계 - 상기 4개의 1/2 화소 위치는 상기 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치임 -;
    상기 정수 화소 추정을 통해 획득된 최적 위치 및 상기 4개의 1/2 화소 위치로부터 제1 최소 레이트 왜곡 비용에 대응하는 위치를 선택하는 단계;
    상기 제1 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치를 획득하는 단계 - 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 및 상기 제1 1/2 화소 위치는 동일한 축 방향을 따라 위치하고, 상기 제1 1/2 화소 위치는 상기 4개의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 1/2 화소 위치임 -;
    상기 제1 1/2 화소 위치 및 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치로부터 제2 최소 레이트 왜곡 비용에 대응하는 위치를 선택하는 단계; 및
    상기 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제3 1/2 화소 위치인 경우, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 상기 제3 1/2 화소 위치로 결정하는 단계 - 상기 제3 1/2 화소 위치는 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 중에서 더 작은 레이트 왜곡 비용을 갖는 1/2 화소 위치임 -를 포함하는, 비디오 이미지 처리 방법.
  6. 제4항에 있어서,
    상기 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하는 단계는,
    상기 제2 최소 레이트 왜곡 비용에 대응하는 위치가 상기 제1 1/2 화소 위치인 경우, 상기 제1 1/2 화소 위치에 인접한 제2 1/2 화소 위치를 획득하는 단계 - 상기 제2 1/2 화소 위치는 상기 제1 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중에서 1/2 보간이 수행되지 않은 화소 위치임 -; 및
    상기 제1 1/2 화소 위치의 주변 영역을 4개의 파티션으로 분할하는 단계 - 상기 4개의 파티션 각각은 상기 제1 1/2 화소 위치, 상기 정수 화소 추정을 통해 획득된 최적 위치, 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치, 및 상기 제2 1/2 화소 위치에 기초하여 분할된 구역으로부터 획득됨 -를 포함하는, 비디오 이미지 처리 방법.
  7. 제5항에 있어서,
    상기 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하는 단계는,
    상기 제2 최소 레이트 왜곡 비용에 대응하는 위치가 상기 제3 1/2 화소 위치인 경우, 상기 제3 1/2 화소 위치에 인접한 2개의 제4 1/2 화소 위치를 획득하는 단계 - 상기 2개의 제4 1/2 화소 위치는 상기 제3 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중에서 보간이 수행되지 않은 화소 위치임 -; 및
    상기 제3 1/2 화소 위치의 주변 영역을 4개의 파티션으로 분할하는 단계 - 상기 4개의 파티션 각각은 상기 제3 1/2 화소 위치, 상기 제3 1/2 화소 위치에 인접한 4개의 1/2 화소 위치 중 2개, 및 상기 2개의 제4 1/2 화소 위치에 기초하여 분할된 구역으로부터 획득됨 -를 포함하는, 비디오 이미지 처리 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 상기 제1 파티션에서 1/4 화소 추정을 수행하여, 상기 1/4 화소 추정을 통해 획득된 최적 위치를 획득하는 단계는,
    상기 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여, 상기 제1 파티션 내의 3개의 주변 위치에서 1/4 보간을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 3개의 1/4 화소 위치를 획득하는 단계 - 상기 3개의 1/4 화소 위치는 상기 제1 파티션 내에 위치함 -;
    상기 1/2 화소 추정을 통해 획득된 최적 위치, 및 상기 3개의 1/4 화소 위치로부터 제3 최소 레이트 왜곡 비용에 대응하는 위치를 선택하는 단계; 및
    상기 제3 최소 레이트 왜곡 비용에 대응하는 위치를 상기 1/4 화소 추정을 통해 획득된 최적 위치로 결정하는 단계를 포함하는, 비디오 이미지 처리 방법.
  9. 비디오 이미지 처리 장치로서,
    인코딩될 비디오 이미지로부터 타깃 이미지 프레임을 획득하도록 구성된 이미지 획득 모듈;
    상기 타깃 이미지 프레임에 대해 정수 움직임 추정을 수행하여, 상기 정수 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된 정수 화소 추정 모듈;
    상기 정수 화소 추정을 통해 획득된 최적 위치에 대해 1/2 화소 추정을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된 제1 분수 화소 추정 모듈;
    상기 1/2 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성된 이미지 분할 모듈 - 상기 4개의 파티션 각각은 1/4 보간을 통해 획득된 2개의 1/4 화소 위치를 포함함 -;
    상기 4개의 파티션 내의 1/2 화소 위치로부터 최소 레이트 왜곡 비용에 대응하는 위치를 획득하고, 상기 최소 레이트 왜곡 비용에 대응하는 위치가 속하는 상기 4개의 파티션 중 하나를 제1 파티션으로 결정하도록 구성된 제1 파티션 획득 모듈;
    상기 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여 상기 제1 파티션에서 1/4 화소 추정을 수행하여, 상기 1/4 화소 추정을 통해 획득된 최적 위치를 획득하도록 구성된 제2 분수 화소 추정 모듈; 및
    상기 1/4 화소 추정을 통해 획득된 최적 위치를 움직임 추정 결과로서 사용하여 움직임 보상을 수행하도록 구성된 움직임 보상 모듈
    을 포함하는 비디오 이미지 처리 장치.
  10. 제9항에 있어서,
    상기 제1 분수 화소 추정 모듈은,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득하도록 구성된 제1 1/2 화소 획득 모듈 - 상기 4개의 1/2 화소 위치는 상기 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치임 -;
    상기 정수 화소 추정을 통해 획득된 최적 위치 및 상기 4개의 1/2 화소 위치로부터 제1 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된 제1 비용 계산 모듈; 및
    상기 제1 최소 레이트 왜곡 비용에 대응하는 위치가 상기 정수 화소 추정을 통해 획득된 최적 위치인 경우, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 상기 정수 화소 추정을 통해 획득된 최적 위치로 결정하도록 구성된 제1 최적 위치 결정 모듈을 포함하는, 비디오 이미지 처리 장치.
  11. 제10항에 있어서,
    상기 제1 파티션 획득 모듈은,
    상기 제1 최소 레이트 왜곡 비용에 대응하는 위치가 상기 정수 화소 추정을 통해 획득된 최적 위치인 경우, 상기 정수 화소 추정을 통해 획득된 최적 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성되고,
    상기 4개의 파티션 각각은 상기 정수 화소 추정을 통해 획득된 최적 위치, 및 상기 4개의 1/2 화소 위치 중 2개에 기초하여 정의된 구역으로부터 획득되는, 비디오 이미지 처리 장치.
  12. 제9항에 있어서,
    상기 제1 분수 화소 추정 모듈은,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득하도록 구성된 제1 1/2 화소 획득 모듈 - 상기 4개의 1/2 화소 위치는 상기 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치임 -;
    상기 정수 화소 추정을 통해 획득된 최적 위치 및 상기 4개의 1/2 화소 위치로부터 제1 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된 제1 비용 계산 모듈;
    상기 제1 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치를 획득하도록 구성된 제2 1/2 화소 획득 모듈 - 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 및 상기 제1 1/2 화소 위치는 동일한 축 방향을 따라 위치하고, 상기 제1 1/2 화소 위치는 상기 4개의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 1/2 화소 위치임 -;
    상기 제1 1/2 화소 위치 및 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치로부터 제2 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된 제2 비용 계산 모듈; 및
    상기 제2 최소 레이트 왜곡 비용에 대응하는 위치가 상기 제1 1/2 화소 위치인 경우, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 상기 제1 1/2 화소 위치로 결정하도록 구성된 제2 최적 위치 결정 모듈을 포함하는, 비디오 이미지 처리 장치.
  13. 제9항에 있어서,
    상기 제1 분수 화소 추정 모듈은,
    상기 정수 화소 추정을 통해 획득된 최적 위치에 인접한 4개의 1/2 화소 위치를 획득하도록 구성된 제1 1/2 화소 획득 모듈 - 상기 4개의 1/2 화소 위치는 상기 정수 화소 추정을 통해 획득된 최적 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치임 -;
    상기 정수 화소 추정을 통해 획득된 최적 위치 및 상기 4개의 1/2 화소 위치로부터 제1 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된 제1 비용 계산 모듈;
    상기 제1 최소 레이트 왜곡 비용에 대응하는 위치가 제1 1/2 화소 위치인 경우, 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치를 획득하도록 구성된 제2 1/2 화소 획득 모듈 - 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 및 상기 제1 1/2 화소 위치는 동일한 축 방향을 따라 위치하고, 상기 제1 1/2 화소 위치는 상기 4개의 1/2 화소 위치 중에서 최소 레이트 왜곡 비용을 갖는 1/2 화소 위치임 -;
    상기 제1 1/2 화소 위치 및 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치로부터 제2 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된 제2 비용 계산 모듈; 및
    상기 제2 최소 레이트 왜곡 비용에 대응하는 위치가 제3 1/2 화소 위치인 경우, 상기 1/2 화소 추정을 통해 획득된 최적 위치를 상기 제3 1/2 화소 위치로 결정하도록 구성된 제2 최적 위치 결정 모듈 - 상기 제3 1/2 화소 위치는 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치 중에서 더 작은 레이트 왜곡 비용을 갖는 1/2 화소 위치임 -을 포함하는, 비디오 이미지 처리 장치.
  14. 제12항에 있어서,
    상기 제1 파티션 획득 모듈은,
    상기 제2 최소 레이트 왜곡 비용에 대응하는 위치가 상기 제1 1/2 화소 위치인 경우, 상기 제1 1/2 화소 위치에 인접한 제2 1/2 화소 위치를 획득하도록 구성된 제3 1/2 화소 획득 모듈 - 상기 제2 1/2 화소 위치는 상기 제1 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중에서 1/2 보간이 수행되지 않은 화소 위치임 -; 및
    상기 제1 1/2 화소 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성된 제1 영역 분할 모듈 - 상기 4개의 파티션 각각은 상기 제1 1/2 화소 위치, 상기 정수 화소 추정을 통해 획득된 최적 위치, 상기 제1 1/2 화소 위치에 인접한 2개의 1/2 화소 위치, 및 상기 제2 1/2 화소 위치에 기초하여 분할된 구역으로부터 획득됨 -을 포함하는, 비디오 이미지 처리 장치.
  15. 제12항에 있어서,
    상기 제1 파티션 획득 모듈은,
    상기 제2 최소 레이트 왜곡 비용에 대응하는 위치가 상기 제3 1/2 화소 위치인 경우, 상기 제3 1/2 화소 위치에 인접한 2개의 제4 1/2 화소 위치를 획득하도록 구성된 제4 1/2 화소 획득 모듈 - 상기 2개의 제4 1/2 화소 위치는 상기 제3 1/2 화소 위치의 바로 위, 바로 아래, 바로 왼쪽 및 바로 오른쪽에 있는 4개의 화소 위치 중에서 보간이 수행되지 않은 화소 위치임 -; 및
    상기 제3 1/2 화소 위치의 주변 영역을 4개의 파티션으로 분할하도록 구성된 제2 영역 분할 모듈 - 상기 4개의 파티션 각각은 상기 제3 1/2 화소 위치, 상기 제3 1/2 화소 위치에 인접한 4개의 1/2 화소 위치 중 2개, 및 상기 2개의 제4 1/2 화소 위치에 기초하여 분할된 구역으로부터 획득됨 -을 포함하는, 비디오 이미지 처리 장치.
  16. 제9항 내지 제15항 중 어느 한 항에 있어서,
    상기 제2 분수 화소 추정 모듈은,
    상기 1/2 화소 추정을 통해 획득된 최적 위치에 기초하여, 상기 제1 파티션 내의 3개의 주변 위치에서 1/4 보간을 수행하여, 상기 1/2 화소 추정을 통해 획득된 최적 위치에 인접한 3개의 1/4 화소 위치를 획득하도록 구성된 1/4 보간 모듈 - 상기 3개의 1/4 화소 위치는 상기 제1 파티션 내에 위치함 -;
    상기 1/2 화소 추정을 통해 획득된 최적 위치, 및 상기 3개의 1/4 화소 위치로부터 제3 최소 레이트 왜곡 비용에 대응하는 위치를 선택하도록 구성된 제3 비용 계산 모듈; 및
    상기 제3 최소 레이트 왜곡 비용에 대응하는 위치를 상기 1/4 화소 추정을 통해 획득된 최적 위치로 결정하도록 구성된 제3 최적 위치 결정 모듈을 포함하는, 비디오 이미지 처리 장치.
  17. 비디오 처리 장치로서,
    프로세서;
    통신 인터페이스;
    메모리; 및
    통신 버스를 포함하고,
    상기 프로세서, 상기 통신 인터페이스 및 상기 메모리는 상기 통신 버스를 통해 서로 통신하고, 상기 통신 인터페이스는 통신 모듈의 인터페이스이며;
    상기 메모리는 프로그램 코드를 저장하고 상기 프로그램 코드를 상기 프로세서로 전송하도록 구성되고;
    상기 프로세서는 상기 메모리 내의 상기 프로그램 코드의 명령어를 호출하여 제1항 내지 제7항 중 어느 한 항에 따른 방법을 수행하도록 구성되는,
    비디오 처리 장치.
  18. 프로그램 코드를 저장하도록 구성된 저장 매체로서,
    상기 프로그램 코드는 제1항 내지 제7항 중 어느 한 항에 따른 방법을 수행하기 위한 것인,
    저장 매체.
  19. 명령어를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 프로그램 제품은 컴퓨터에서 실행될 때, 제1항 내지 제7항 중 어느 한 항에 따른 방법을 수행하도록 상기 컴퓨터를 구성하는,
    컴퓨터 프로그램 제품.
KR1020197035773A 2017-10-31 2018-09-05 비디오 이미지 처리 방법 및 장치 KR102276264B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711050289.8 2017-10-31
CN201711050289.8A CN109729363B (zh) 2017-10-31 2017-10-31 一种视频图像的处理方法和装置
PCT/CN2018/104073 WO2019085636A1 (zh) 2017-10-31 2018-09-05 一种视频图像的处理方法和装置

Publications (2)

Publication Number Publication Date
KR20200002038A KR20200002038A (ko) 2020-01-07
KR102276264B1 true KR102276264B1 (ko) 2021-07-12

Family

ID=66294470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197035773A KR102276264B1 (ko) 2017-10-31 2018-09-05 비디오 이미지 처리 방법 및 장치

Country Status (7)

Country Link
US (2) US10944985B2 (ko)
EP (1) EP3706420A4 (ko)
JP (1) JP6921461B2 (ko)
KR (1) KR102276264B1 (ko)
CN (1) CN109729363B (ko)
MA (1) MA50861A (ko)
WO (1) WO2019085636A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109729363B (zh) * 2017-10-31 2022-08-19 腾讯科技(深圳)有限公司 一种视频图像的处理方法和装置
CN112866719B (zh) * 2019-11-27 2022-09-23 北京博雅慧视智能技术研究院有限公司 一种针对avs2的快速分像素预测方法
EP4351136A1 (en) * 2021-05-28 2024-04-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Encoding method, decoding method, code stream, encoder, decoder and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164283A (zh) * 2011-05-30 2011-08-24 江苏大学 一种基于avs的亚像素运动估计方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757330B1 (en) * 2000-06-01 2004-06-29 Hewlett-Packard Development Company, L.P. Efficient implementation of half-pixel motion prediction
JP2006254349A (ja) 2005-03-14 2006-09-21 Toshiba Corp 動きベクトル検出方法、動きベクトル検出装置およびコンピュータ上で動きベクトル検出処理を実行するコンピュータプログラム
US20070217515A1 (en) 2006-03-15 2007-09-20 Yu-Jen Wang Method for determining a search pattern for motion estimation
CN101247523B (zh) * 2008-03-18 2010-09-08 上海华平信息技术股份有限公司 用于h.264编码器的半像素运动估计方法
JP4742325B2 (ja) * 2009-06-22 2011-08-10 カシオ計算機株式会社 動きベクトル検出装置、および、プログラム
CN104378642A (zh) * 2014-10-29 2015-02-25 南昌大学 一种基于cuda的h.264分数像素快速插值方法
US10462480B2 (en) * 2014-12-31 2019-10-29 Microsoft Technology Licensing, Llc Computationally efficient motion estimation
WO2017082443A1 (ko) * 2015-11-13 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
CN109729363B (zh) * 2017-10-31 2022-08-19 腾讯科技(深圳)有限公司 一种视频图像的处理方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164283A (zh) * 2011-05-30 2011-08-24 江苏大学 一种基于avs的亚像素运动估计方法

Also Published As

Publication number Publication date
KR20200002038A (ko) 2020-01-07
US20200053384A1 (en) 2020-02-13
EP3706420A1 (en) 2020-09-09
US20210235113A1 (en) 2021-07-29
JP2020520194A (ja) 2020-07-02
WO2019085636A1 (zh) 2019-05-09
EP3706420A4 (en) 2021-07-21
MA50861A (fr) 2020-09-09
US11589073B2 (en) 2023-02-21
US10944985B2 (en) 2021-03-09
CN109729363B (zh) 2022-08-19
CN109729363A (zh) 2019-05-07
JP6921461B2 (ja) 2021-08-18

Similar Documents

Publication Publication Date Title
JP7252282B2 (ja) 画像予測方法および関連装置
KR102173475B1 (ko) 픽처 예측 방법 및 픽처 예측 장치
CN111010568B (zh) 插值滤波器的训练方法、装置及视频图像编解码方法、编解码器
KR102276264B1 (ko) 비디오 이미지 처리 방법 및 장치
JP7346601B2 (ja) Mpmリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置
KR20200055139A (ko) 비디오 코딩을 위한 인터 예측 장치 및 방법을 위한 보간 필터
JP2024069559A (ja) 画像データ符号化/復号化方法及び装置
CN111448798A (zh) 基于块形状的视频编码和解码的方法和装置
JP2024056899A (ja) インター予測の方法および装置、並びに対応するエンコーダおよびデコーダ
CN116723328A (zh) 一种视频编码方法、装置、设备及存储介质
JPWO2013031071A1 (ja) 動画像復号装置、動画像復号方法、及び集積回路
WO2021003671A1 (en) Resolution-adaptive video coding
WO2021046692A1 (en) Resolution-adaptive video coding with conditional interpolation filters
CN111770338A (zh) 编码单元的索引值确定方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant