KR20230147901A - 영상 부호화/복호화 방법 및 장치 - Google Patents

영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20230147901A
KR20230147901A KR1020220046826A KR20220046826A KR20230147901A KR 20230147901 A KR20230147901 A KR 20230147901A KR 1020220046826 A KR1020220046826 A KR 1020220046826A KR 20220046826 A KR20220046826 A KR 20220046826A KR 20230147901 A KR20230147901 A KR 20230147901A
Authority
KR
South Korea
Prior art keywords
video
motion vector
block
unit
prediction information
Prior art date
Application number
KR1020220046826A
Other languages
English (en)
Inventor
유기원
김두현
최범귀
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020220046826A priority Critical patent/KR20230147901A/ko
Priority to PCT/KR2023/002103 priority patent/WO2023200101A1/ko
Publication of KR20230147901A publication Critical patent/KR20230147901A/ko

Links

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/513Processing of motion vectors
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream

Landscapes

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

Abstract

본 개시의 다양한 실시예는 인터 예측 정보를 이용하여 영상 신호를 부호화/복호화하는 영상 부호화/복호화 방법 및 장치에 관한 것이다. 이를 위한 영상 제공 장치는 영상 신호를 입력받고; 제1 움직임 벡터를 포함하는 제1 움직임 예측 정보 및 제2 움직임 벡터를 포함하는 제2 움직임 예측 정보 중 적어도 하나를 상기 영상 신호의 현재 블록에 대한 인터 예측 정보로 이용하여 상기 영상 신호를 비트스트림으로 부호화하고; 상기 부호화된 비트스트림을 영상 수신 장치에게 출력하는 동작들을 포함하고; 상기 영상 신호를 비트스트림으로 부호화하는 동작은 제1 참조 픽처에 대한 상기 제1 움직임 벡터를 추정하고, 상기 현재 블록의 적어도 하나의 주변 블록으로부터 제2 움직임 벡터 후보 리스트를 획득하고, 상기 제2 움직임 벡터 후보 리스트에 기초하여 상기 제2 움직임 벡터를 획득하는 동작들을 포함할 수 있다.

Description

영상 부호화/복호화 방법 및 장치 {VIDEO ENCODING/DECODING METHOD AND APPARATUS}
본 개시의 다양한 실시예들은 인터 예측 정보를 이용하여 영상 신호를 부호화/복호화하는 방법 및 장치에 관한 것으로서, 보다 상세하게는 영상 신호의 현재 블록의 적어도 하나의 주변 블록으로부터 획득한 움직임 벡터 후보 리스트 및 기 추정된 제1 움직임 벡터에 기초하여 제2 움직임 벡터를 획득하고 현재 블록에 대한 움직임 예측 정보로 이용함으로써 영상 신호를 부호화/복호화하는 방법 및 장치에 관한 것이다.
HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 네트워크를 통해 영상 데이터를 전송하거나 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율, 저지연의 개선된 영상 부호화/복호화 기술이 요구된다.
영상을 부호화/복호화함에 있어서, 이웃 픽처들과의 시공간적 상관성을 인터 예측 정보로 이용하여 영상 신호의 현재 픽처를 압축하는 인터 압축 기술의 경우, 양방향 움직임 예측을 통해 영상 신호를 부호화하면 압축 성능을 개선시킬 수 있으나, 이를 위해 적어도 두번의 움직임 정보 예측이 필요하고 이는 연산량, 구현부하 및 소비전력을 증가시킬 수 있다.
본 개시의 다양한 실시예들은 영상 신호의 현재 블록을 압축하는 인터 압축 기술에 있어서, 연산량을 증가시키거나 움직임 추정 모듈을 추가 구현하지 않아도 양방향 움직임 예측이 가능하고 영상의 압축 성능을 개선시킬 수 있는 영상 부호화/복호화 방법 및 장치를 제공하는데 있다.
본 개시의 다양한 실시예들은 기 추정된 제1 움직임 벡터에 기초하여, 영상 신호의 현재 블록의 적어도 하나의 주변 블록으로부터 획득한 움직임 벡터 후보 리스트 중에서 제2 움직임 벡터를 획득하고, 현재 블록에 대한 움직임 예측 정보로 이용함으로써 영상 신호를 부호화/복호화하는 방법 및 장치를 제공하는데 있다.
본 개시의 일 실시예에 따르면 영상 제공 장치는 영상 신호를 입력받는 영상 입력부; 제1 움직임 벡터를 포함하는 제1 움직임 예측 정보 및 제2 움직임 벡터를 포함하는 제2 움직임 예측 정보 중 적어도 하나를 상기 영상 신호의 현재 블록에 대한 인터 예측 정보로 이용하여 상기 영상 신호를 비트스트림으로 부호화하는 영상 부호화부; 및 상기 부호화된 비트스트림을 영상 수신 장치에게 출력하는 영상 출력부를 포함하고; 상기 영상 부호화부는 제1 참조 픽처에 대한 상기 제1 움직임 벡터를 추정하고, 상기 현재 블록의 적어도 하나의 주변 블록으로부터 제2 움직임 벡터 후보 리스트를 획득하고, 상기 제2 움직임 벡터 후보 리스트에 기초하여 상기 제2 움직임 벡터를 획득할 수 있다.
또한, 본 개시의 일 실시예에 따르면 영상 제공 방법은, 영상 신호를 입력받는 동작; 제1 움직임 벡터를 포함하는 제1 움직임 예측 정보 및 제2 움직임 벡터를 포함하는 제2 움직임 예측 정보 중 적어도 하나를 상기 영상 신호의 현재 블록에 대한 인터 예측 정보로 이용하여 상기 영상 신호를 비트스트림으로 부호화하는 동작; 및 상기 부호화된 비트스트림을 영상 수신 장치에게 출력하는 동작을 포함하고; 상기 영상 신호를 비트스트림으로 부호화하는 동작은 제1 참조 픽처에 대한 상기 제1 움직임 벡터를 추정하는 동작; 상기 현재 블록의 적어도 하나의 주변 블록으로부터 제2 움직임 벡터 후보 리스트를 획득하는 동작; 및 상기 제2 움직임 벡터 후보 리스트에 기초하여 상기 제2 움직임 벡터를 획득하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 기 추정된 제1 움직임 벡터에 기초하여, 영상 신호의 현재 블록의 적어도 하나의 주변 블록으로부터 획득한 움직임 벡터 후보 리스트 중에서 제2 움직임 벡터를 획득하고 현재 블록에 대한 양방향 움직임 예측 정보로 이용하여 영상 신호를 부호화 함으로써, 움직임 예측 과정에서 소요되는 연산량, 구현 부하 및 소비전력을 증가시키지 않으면서 영상을 고효율, 저지연으로 압축할 수 있고 압축 성능을 개선시킬 수 있다. 구체적으로, 양방향 움직임 예측을 위한 제2 움직임 벡터를 획득하기 위해, 현재 블록과의 블록 매칭 연산을 2번 반복하거나 움직임 추정 모듈을 추가 구현하지 않아도, 제2 움직임 벡터를 현재 블록의 적어도 하나의 주변 블록의 움직임 예측 정보로부터 직접 유도함으로써 연산 및 구현 복잡도를 낮추면서 영상의 압축 성능을 개선시킬 수 있다.
본 개시의 다양한 실시예들에 따르면, 저지연, 고화질로 영상 스트리밍 서비스를 제공할 수 있으므로, 사용자 장치들간에 자유롭게 고화질 영상을 공유할 수 있는 차별화된 시청 경험을 제공할 수 있고, 저지연, 고화질로 플레이 가능한 클라우드 게이밍 경험을 제공할 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 일 실시예에 따른 영상 신호를 부호화/복호화하는 시스템을 개략적으로 도시한다.
도 2는 본 개시의 일 실시예에 따른 영상 제공 장치 및 영상 수신 장치의 개략적인 블록도이다.
도 3은 본 개시의 일 실시예에 따른 영상 제공 장치의 영상 부호화부의 개략적인 블록도이다.
도 4는 본 개시의 일 실시예에 따른 영상 수신 장치의 영상 복호화부의 개략적인 블록도이다.
도 5는 본 개시의 일 실시예에 따른 영상 부호화 방법의 개략적인 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 픽처의 분할된 블록들을 도시한다.
도 7은 본 개시의 일 실시예에 따른 움직임 벡터 후보 리스트를 획득하기 위한, 현재 블록의 적어도 하나의 주변 블록들을 도시한다.
이하에서는 도면을 참조하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면의 설명과 관련하여, 동일하거나 유사한 구성요소에 대해서는 동일하거나 유사한 참조 부호가 사용될 수 있다. 또한, 도면 및 관련된 설명에서는, 잘 알려진 기능 및 구성에 대한 설명이 명확성과 간결성을 위해 생략될 수 있다.
도 1은 본 개시의 일 실시예에 따른 영상 신호를 부호화/복호화하는 시스템을 개략적으로 도시한다.
도 1을 참조하면, 영상 신호를 부호화/복호화하는 시스템(100)은 영상 제공 장치(110) 및 영상 수신 장치(120)를 포함할 수 있다.
영상 제공 장치(110)는 비디오 및 이미지를 포함하는 영상 신호를 스트리밍 형태로 네트워크(130)를 통해 영상 수신 장치(120)에게 제공하고, 영상 수신 장치(120)는 영상 제공 장치(110)로부터 영상 신호를 수신하여 재생할 수 있다. 영상 제공 장치(110)는 영상 신호 내에 중복된 정보를 시각적으로 감지하지 못할 정도로 제거하여 압축함으로써 영상 신호를 부호화할 수 있다. 영상 제공 장치(110)는 소정의 압축률 범위 내에서 영상 신호를 부호화함으로써, 영상 신호를 효율적으로 저장, 전송 및 관리할 수 있다. 상기 영상 신호는 스크린 미러링 영상, 화상 회의 영상 및 게임 영상을 포함하는 실시간 부호화 영상을 포함할 수 있다.
영상 제공 장치(110)는 TV, PC, 스마트폰, 태블릿, 셋톱박스, 게임 콘솔, 서버 등 다양한 영상 소스 장치를 포함할 수 있고, 영상 수신 장치(120)는 TV, 스마트폰, 태블릿, PC 등 다양한 영상 재생 장치를 포함할 수 있다. 영상 제공 장치(110) 및 영상 수신 장치(120)가 특정 유형의 장치에 제한되지 않음은 당업자에게 자명하다.
영상 제공 장치(110) 및 영상 수신 장치(120)는 네트워크(130)를 통해 영상 신호를 송수신할 수 있다. 다양한 실시예에 따르면, 영상 제공 장치(110) 및 영상 수신 장치(120)를 연결하는 네트워크(130)는 WiFi(Wireless Fidelity) 등과 같은 근거리 통신 네트워크와 셀룰러 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크를 포함할 수 있고, IP 통신 프로토콜 기반으로 통신할 수 있다. 상기 셀룰러 네트워크는 GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), CDMA(Code Division Multiple Access), TDMA(Time Division Multiplexing Access), 5G, LTE(Long Term Evolution) 및 LTE-A(LTE Advance)를 포함할 수 있다. 네트워크(130)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(130)는 인터넷과 같은 공용 네트워크 및 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(130)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(130)는 사물 등 분산된 구성 요소들 간에 정보를 주고받아 처리하는 IoT(Internet of Things, 사물인터넷) 망을 지원할 수 있다.
도 2는 본 개시의 일 실시예에 따른 영상 제공 장치 및 영상 수신 장치의 개략적인 블록도이다.
도 2를 참조하면, 영상 제공 장치(110)는 영상 입력부(111), 영상 부호화부(112) 및 영상 출력부(113)를 포함할 수 있다. 영상 제공 장치(110)는 메모리(미도시), 프로세서(미도시) 및 통신부(미도시)를 더 포함할 수 있다. 영상 제공 장치(110)는 도시된 구성요소 외에 추가적인 구성요소를 포함하거나, 도시된 구성요소 중 적어도 하나를 생략할 수 있다.
일 실시예에 따르면, 상기 메모리는 하나 이상의 명령어들(instructions)을 포함하는 프로그램 또는 설정 정보와 같은 데이터를 저장할 수 있다. 상기 메모리는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 상기 메모리는 상기 프로세서의 요청에 따라 저장된 데이터를 제공할 수 있다.
일 실시예에 따르면, 상기 통신부는 다른 시스템들 또는 장치와의 통신을 위한 인터페이스를 제공할 수 있다. 상기 통신부는 네트워크(130)를 통한 통신을 가능하게 하는 네트워크 인터페이스 카드 또는 무선 송/수신부를 포함할 수 있다. 상기 통신부는 무선 망에 접속하기 위한 신호 처리를 수행할 수 있다. 상기 무선 망은, 예를 들어, 무선랜, 또는 셀룰러 망(예: LTE(Long Term Evolution)) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 통신부 및 상기 메모리와 전기적으로 연결되고, 상기 메모리에 저장된 프로그램을 이용하여 영상 제공 장치(110)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 상기 프로세서는 영상 입력부(111), 영상 부호화부(112) 및 영상 출력부(113)에 대응하는 적어도 하나의 명령어를 실행할 수 있다. 상기 프로세서는 중앙처리장치(CPU), 그래픽처리장치(GPU), MCU(Micro Controller Unit), 센서 허브, 보조 프로세서(Supplementary Processor), 통신 프로세서(Communication Processor), 애플리케이션 프로세서(Application Processor), ASIC(Application Specific Integrated Circuit), 또는 FPGA(Field Programmable Gate Arrays) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다.
일 실시예에 따르면, 영상 입력부(111)는 영상 신호를 입력 받을 수 있다. 상기 영상 신호는 영상 제공 장치(110)의 외부로부터 수신되거나, 영상 제공 장치(110)에 내장된 것일 수 있다. 영상 입력부(111)는 상기 통신부를 제어하여, 유선 또는 무선 방식으로 외부로부터 영상 신호를 수신할 수 있다.
일 실시예에 따르면, 영상 부호화부(112)는 영상 입력부(110)에 의해 입력된 영상 신호를 부호화할 수 있다. 영상 부호화부(112)는 압축 및 부호화 효율을 위하여 예측, 변환, 양자화 등 일련의 절차를 수행할 수 있다. 영상 부호화부(112)는 부호화된 영상 신호(또는 부호화된 데이터)를 비트스트림(bitstream) 형태로 영상 출력부(113)에게 제공할 수 있다.
일 실시예에 따르면, 영상 출력부(113)는 부호화된 영상 신호를 네트워크(130)를 통해 영상 수신 장치(120)에게 송신하도록 상기 통신부를 제어할 수 있다. 또는, 영상 출력부(113)는 부호화된 영상 신호를 디지털 저장매체를 통해 영상 수신 장치(120)에게 전달할 수 있다. 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다.
영상 수신 장치(120)는 영상 입력부(121), 영상 복호화부(122) 및 영상 출력부(123)를 포함할 수 있다. 영상 출력부(123)는 디스플레이부를 포함할 수 있고, 디스플레이부는 별개의 디바이스 또는 외부 컴포넌트로 구성될 수도 있다. 영상 수신 장치(120)는 메모리(미도시), 프로세서(미도시) 및 통신부(미도시)를 더 포함할 수 있다. 영상 수신 장치(120)는 도시된 구성요소 외에 추가적인 구성요소를 포함하거나, 도시된 구성요소 중 적어도 하나를 생략할 수 있다.
일 실시예에 따르면, 상기 메모리는 하나 이상의 명령어들(instructions)을 포함하는 프로그램 또는 설정 정보와 같은 데이터를 저장할 수 있다. 상기 메모리는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 상기 메모리는 상기 프로세서의 요청에 따라 저장된 데이터를 제공할 수 있다.
일 실시예에 따르면, 상기 통신부는 다른 시스템들 또는 장치와의 통신을 위한 인터페이스를 제공할 수 있다. 상기 통신부는 네트워크(130)를 통한 통신을 가능하게 하는 네트워크 인터페이스 카드 또는 무선 송/수신부를 포함할 수 있다. 상기 통신부는 무선 망에 접속하기 위한 신호 처리를 수행할 수 있다. 상기 무선 망은, 예를 들어, 무선랜, 또는 셀룰러 망(예: LTE(Long Term Evolution)) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 통신부 및 상기 메모리와 전기적으로 연결되고, 상기 메모리에 저장된 프로그램을 이용하여 영상 수신 장치(120)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 상기 프로세서는 영상 입력부(121), 영상 복호화부(122) 및 영상 출력부(123)에 대응하는 적어도 하나의 명령어를 실행할 수 있다. 상기 프로세서는 중앙처리장치(CPU), 그래픽처리장치(GPU), MCU(Micro Controller Unit), 센서 허브, 보조 프로세서(Supplementary Processor), 통신 프로세서(Communication Processor), 애플리케이션 프로세서(Application Processor), ASIC(Application Specific Integrated Circuit), 또는 FPGA(Field Programmable Gate Arrays) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다.
일 실시예에 따르면, 영상 입력부(121)는 영상 신호를 입력 받을 수 있다. 영상 입력부(121)는 네트워크(130)를 통해 영상 제공 장치(110)로부터 영상 신호를 수신하도록 상기 통신부를 제어할 수 있다. 영상 입력부(121)는 상기 통신부를 제어하여, 유선 또는 무선 방식으로 영상 제공 장치(110)로부터 영상 신호를 수신할 수 있다. 또는, 영상 입력부(121)는 영상 신호를 디지털 저장매체를 통해 영상 제공 장치(110)로부터 획득할 수 있다. 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다.
일 실시예에 따르면, 영상 복호화부(122)는 영상 부호화부(112)의 동작에 대응하는 역양자화, 역변환, 예측 등 일련의 절차를 수행하여 영상 신호를 복호화할 수 있다.
일 실시예에 따르면, 영상 출력부(123)는 복호화된 영상 신호를 렌더링할 수 있다. 렌더링된 영상 신호는 상기 디스플레이부를 통해 디스플레이될 수 있다.
영상 제공 장치(110) 및 영상 수신 장치(120)는 도시된 구성요소 외에 추가적인 구성요소를 포함하거나, 도시된 구성요소 중 적어도 하나를 생략할 수 있다.
도 3은 본 개시의 일 실시예에 따른 영상 제공 장치의 영상 부호화부의 개략적인 블록도이다.
도 3을 참조하면, 영상 부호화부(112)는 예측부(310), 변환부(320), 양자화부(330), 엔트로피 인코딩부(340) 및 인루프 필터링부(350)를 포함할 수 있다. 영상 부호화부(112)는 도시된 구성요소 외에 추가적인 구성요소를 포함하거나, 도시된 구성요소 중 적어도 하나를 생략할 수 있다. 영상 부호화부(112)를 구성하는 복수의 구성부들의 전부 또는 적어도 일부는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어, 인코더 또는 프로세서)로 구현될 수 있다. 또한, 영상 부호화부(112)는 메모리를 더 포함할 수 있다. 상기 메모리는 디지털 저장 매체에 의하여 구현될 수 있고, 부호화 과정에서 복호화된 픽처를 버퍼링하는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 영상 부호화부(112)는 입력된 영상 신호(또는, 픽처/프레임)를 하나 이상의 처리 유닛(PU: Processing Unit)으로 분할할 수 있다. 일 예로, 상기 처리 유닛은 코딩 유닛(CU: Coding Unit)이라고 불릴 수 있다. 코딩 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit) 또는 최대 코딩 유닛(LCU: Largest Coding Unit)을 QT/BT/TT (Quad-Tree/Binary-Tree/Ternary-Tree) 구조에 따라 재귀적으로(recursively) 분할함으로써 획득될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조, 바이너리 트리 구조 및/또는 터너리 트리 구조를 기반으로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다. 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 개시에 따른 부호화 절차가 수행될 수 있다. 상기 부호화 절차는 후술하는 예측, 변환 및 양자화 등의 절차를 포함할 수 있다. 다른 예로, 상기 부호화 절차의 처리 유닛은 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다. 상기 예측 유닛 및 상기 변환 유닛은 각각 상기 최종 코딩 유닛으로부터 분할 또는 파티셔닝될 수 있다. 상기 예측 유닛은 샘플 예측의 단위일 수 있고, 상기 변환 유닛은 변환 계수를 유도하는 단위 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 단위일 수 있다. 본 개시에서 픽셀은 하나의 픽처(또는 영상)를 구성하는 최소 단위를 의미할 수 있다. 또한, 샘플은 픽셀에 대응하는 용어로서 사용될 수 있고, 픽셀 또는 픽셀의 값을 나타낼 수 있다.
일 실시예에 따르면, 예측부(310)는 현재 블록(처리 대상 블록)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(Predicted Block)을 생성할 수 있다. 예측부(310)는 현재 블록 또는 CU 단위로 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있다. 예측부(310)는 현재 블록의 예측에 관한 다양한 정보를 생성하여 엔트로피 인코딩부(340)로 전달할 수 있다. 예측에 관한 정보는 엔트로피 인코딩부(340)에서 인코딩되어 비트스트림 형태로 출력될 수 있다.
일 실시예에 따르면, 인트라 예측부(311)는 현재 픽처 내의 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 참조되는 샘플들은 인트라 예측 모드 및/또는 인트라 예측 기법에 따라 상기 현재 블록의 주변(neighbor)에 위치할 수 있고, 또는 떨어져서 위치할 수도 있다.
일 실시예에 따르면, 인터 예측부(312)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 예측 정보를 블록, 서브블록 또는 샘플 단위로 예측할 수 있다. 상기 움직임 예측 정보는 참조 픽처 식별자(또는 인덱스) 및 움직임 벡터(MV: Motion Vector)를 포함할 수 있다. 상기 움직임 예측 정보는 인터 예측 방향(L0 방향, L1 방향 등) 정보를 더 포함할 수 있다.
일 실시예에 따르면, 인터 예측부(312)는 적어도 하나의 움직임 예측 정보를 인터 예측 정보로 이용하여 현재 블록에 대한 예측된 블록을 유도할 수 있다. 예를 들어, 인터 예측부(312)는 제1 움직임 벡터(MVL0)를 포함하는 제1 움직임 예측 정보 및 제2 움직임 벡터(MVL1)를 포함하는 제2 움직임 예측 정보 중 적어도 하나를 영상 신호의 현재 블록에 대한 인터 예측 정보로 이용하여 현재 블록에 대한 예측된 블록을 유도할 수 있다. 인터 예측부(312)는 제1 참조 픽처에 대한 상기 제1 움직임 벡터(MVL0)를 추정할 수 있다. 인터 예측부(312)는 상기 현재 블록의 적어도 하나의 주변 블록으로부터 제2 움직임 벡터 후보 리스트를 획득할 수 있고, 상기 제2 움직임 벡터 후보 리스트에 기초하여 상기 제2 움직임 벡터를 획득할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처에 존재하는 시간적 주변 블록(temporal neighboring block)을 적어도 하나 포함할 수 있다. 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(colPic : collocated Picture), 콜 픽처 등으로 불릴 수 있다. 콜 픽처 상에서 현재 블록과 위치가 동일한 시간적 주변 블록은 동일 위치 참조 블록(collocated reference block), 콜 블록, 동일 위치 CU(colCU) 등으로 불릴 수 있다. 픽처의 분할된 블록들 및 현재 블록의 적어도 하나의 주변 블록들은 이하 도 6 및 도 7을 참조하여 후술한다.
일 실시예에 따르면, 인터 예측부(312)는 상기 제2 움직임 벡터 후보 리스트 중 참조 픽처가 상기 제1 참조 픽처와 동일하고, 상기 제1 움직임 벡터와의 차이값이 가장 큰 움직임 벡터를 상기 제2 움직임 벡터로 획득할 수 있다. 인터 예측부(312)가 상기 제2 움직임 벡터를 획득하는 예시를 이하 도 5, 표 1 및 표 2를 통해 구체적으로 후술한다.
예측부(310)를 통해 생성된 예측 신호는 복원 신호를 생성하기 위해 이용되거나 레지듀얼 신호를 생성하기 위해 이용될 수 있다. 입력 영상 신호(원본 블록)에서 예측 신호(예측된 블록)를 감산하여 생성된 레지듀얼 신호(residual signal, 잔여 블록)는 변환부(320)로 전송될 수 있다.
일 실시예에 따르면, 변환부(320)는 레지듀얼 신호에 변환 기법을 적용하여 변환 계수들(transform coefficients)을 생성할 수 있다. 예를 들어, 변환 기법은 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen-Loeve Transform), GBT(Graph-Based Transform), 또는 CNT(Conditionally Non-linear Transform) 중 적어도 하나를 포함할 수 있다. 여기서, GBT는 픽셀 간의 관계 정보를 그래프로 표현한다고 할 때 이 그래프로부터 얻어진 변환을 의미한다. CNT는 이전에 복원된 모든 픽셀(all previously reconstructed pixel)을 이용하여 예측신호를 생성하고 그에 기초하여 획득되는 변환을 의미한다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
일 실시예에 따르면, 양자화부(330)는 변환 계수들을 양자화하여 엔트로피 인코딩부(340)로 전송할 수 있다. 엔트로피 인코딩부(340)는 양자화된 신호(양자화된 변환 계수들에 관한 정보)를 인코딩하여 비트스트림으로 출력할 수 있다. 상기 양자화된 변환 계수들에 관한 정보는 레지듀얼 정보라고 불릴 수 있다. 양자화부(330)는 계수 스캔 순서(scan order)를 기반으로 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있고, 상기 1차원 벡터 형태의 양자화된 변환 계수들을 기반으로 상기 양자화된 변환 계수들에 관한 정보 등을 생성할 수도 있다. 일 실시예에 따르면, 엔트로피 인코딩부(340)는 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 다양한 인코딩 방법을 수행할 수 있다.
일 실시예에 따르면, 인루프 필터링부(350)는 부호화 과정의 결과 영상에 대해 필터링을 적용함으로써 압축 열화를 복원할 수 있다. 예를 들어 인루프 필터링부(350)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있다. 상기 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset), 적응적 루프 필터(adaptive loop filter), 양방향 필터(bilateral filter) 등을 포함할 수 있다. 수정된 복원 픽처는 상기 메모리에 저장되고 예측부(310)에서 참조 픽처로 사용될 수 있다.
상기 메모리는 현재 픽처 내 움직임 예측 정보가 도출된(또는 인코딩된) 블록의 움직임 예측 정보 및/또는 이미 복원된 픽처 내 블록들의 움직임 예측 정보를 저장할 수 있다. 상기 저장된 움직임 예측 정보는 공간적 주변 블록의 움직임 예측 정보 또는 시간적 주변 블록의 움직임 예측 정보로 활용하기 위하여 인터 예측부(312)에 전달될 수 있다. 상기 메모리는 현재 픽처 내 복원된 블록들의 복원 샘플들을 저장할 수 있고, 저장된 복원 샘플들은 인트라 예측부(311)에 전달될 수 있다.
도 4는 본 개시의 일 실시예에 따른 영상 수신 장치의 영상 복호화부의 개략적인 블록도이다.
도 4를 참조하면, 영상 복호화부(122)는 엔트로피 디코딩부(410), 역양자화부(420), 역변환부(430), 예측부(440), 가산부(450) 및 필터링부(460)를 포함할 수 있다. 영상 복호화부(122)는 도시된 구성요소 외에 추가적인 구성요소를 포함하거나, 도시된 구성요소 중 적어도 하나를 생략할 수 있다. 영상 복호화부(122)를 구성하는 복수의 구성부들의 전부 또는 적어도 일부는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어, 디코더 또는 프로세서)로 구현될 수 있다. 또한, 영상 복호화부(122)는 메모리를 더 포함할 수 있다. 상기 메모리는 디지털 저장 매체에 의하여 구현될 수 있고, 복호화된 픽처를 버퍼링하는 버퍼를 포함할 수 있다.
영상 복호화부(122)는 도 3을 참조하여 전술한 영상 부호화부(112)에서 수행된 프로세스에 대응하는 프로세스를 수행함으로써 영상 신호를 복원할 수 있다. 예를 들어, 영상 복호화부(122)는 영상 부호화부(112)에서 적용된 처리 유닛을 이용하여 복호화를 수행할 수 있다. 따라서 복호화 처리 유닛은 예를 들어 코딩 유닛일 수 있다. 코딩 유닛은 코딩 트리 유닛이거나 또는 최대 코딩 유닛을 분할하여 획득될 수 있다.
일 실시예에 따르면, 엔트로피 디코딩부(410)는 비트스트림을 파싱하여 영상 복원(또는 픽처 복원)에 필요한 정보를 도출할 수 있다. 예를 들어, 엔트로피 디코딩부(410)는 지수 골롬, CAVLC 또는 CABAC 등의 디코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 영상 복원에 필요한 레지듀얼에 관한 양자화된 변환 계수들에 관한 정보 등을 출력할 수 있다. 엔트로피 디코딩부(410)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(440)로 제공되고, 엔트로피 디코딩부(410)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수들 및 관련 파라미터 정보는 역양자화부(420)로 입력될 수 있다. 또한, 엔트로피 디코딩부(410)에서 디코딩된 정보 중 필터링에 관한 정보는 필터링부(460)로 제공될 수 있다.
일 실시예에 따르면, 역양자화부(420)는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 출력할 수 있다. 역양자화부(420)는 양자화된 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 이 경우 상기 재정렬은 영상 부호화부(112)에서 수행된 계수 스캔 순서에 기반하여 수행될 수 있다. 역양자화부(420)는 양자화 파라미터(예를 들어 양자화 스텝 사이즈 정보)를 이용하여 양자화된 변환 계수들에 대한 역양자화를 수행하고, 변환 계수들(transform coefficient)을 획득할 수 있다.
일 실시예에 따르면, 역변환부(430)는 변환 계수들을 역변환하여 레지듀얼 신호(레지듀얼 블록)를 획득할 수 있다
일 실시예에 따르면, 예측부(440)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(440)는 엔트로피 디코딩부(410)로부터 출력된 상기 예측에 관한 정보를 기반으로 상기 현재 블록에 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있고, 구체적인 인트라/인터 예측 모드(예측 기법)를 결정할 수 있다. 인트라 예측부(441)는 현재 픽처 내의 샘플들을 참조하여 현재 블록을 예측할 수 있다. 인터 예측부(442)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 인트라 예측부(441) 및 인터 예측부(442) 각각의 동작은 영상 부호화부(112)의 인트라 예측부(311) 및 인터 예측부(312) 각각의 동작에 대응된다.
일 실시예에 따르면, 가산부(450)는 역변환부(430로부터 획득된 레지듀얼 신호를 예측부(440)로부터 출력된 예측 신호(예측된 블록)에 더함으로써 복원 신호(복원 픽처, 복원 블록)를 생성할 수 있다.
일 실시예에 따르면, 필터링부(460)는 복원 신호에 필터링을 적용하여 화질을 향상시킬 수 있다. 예를 들어, 필터링부(460)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 상기 수정된 복원 픽처를 상기 메모리에 저장할 수 있다. 상기 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset), 적응적 루프 필터(adaptive loop filter), 양방향 필터(bilateral filter) 등을 포함할 수 있다. 상기 메모리에 저장된 복원 픽처는 예측부(440)에서 참조 픽처로 사용될 수 있다. 상기 메모리는 현재 픽처 내 움직임 예측 정보가 도출된(또는 디코딩된) 블록의 움직임 예측 정보 및/또는 이미 복원된 픽처 내 블록들의 움직임 예측 정보를 저장할 수 있다. 상기 저장된 움직임 예측 정보는 공간적 주변 블록의 움직임 예측 정보 또는 시간적 주변 블록의 움직임 예측 정보로 활용하기 위하여 인터 예측부(442)에 전달될 수 있다. 상기 메모리는 현재 픽처 내 복원된 블록들의 복원 샘플들을 저장할 수 있고, 저장된 복원 샘플들은 인트라 예측부(441)에 전달될 수 있다.
도 5는 본 개시의 일 실시예에 따른 영상 부호화 방법의 개략적인 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 픽처의 분할된 블록들을 도시한다.
도 7은 본 개시의 일 실시예에 따른 움직임 벡터 후보 리스트를 획득하기 위한, 현재 블록의 적어도 하나의 주변 블록들을 도시한다.
일 실시예에 따르면, 영상 제공 장치(110)는 영상 신호를 입력받을 수 있다.
도 6을 참조하면, 영상 제공 장치(110)는 입력된 영상 신호(또는 픽처/프레임)를 하나 이상의 처리 유닛(PU: Processing Unit) 또는 블록으로 분할하여 부호화할 수 있다. 도시된 예에서, 입력된 픽처(예. 352x288 크기의 픽처)는 정방형 블록들로 분할될 수 있다(610). 도시된 예에서 정방형 블록은 16x16, 32x32, 64x64, 128x128 등 다양한 사이즈를 가질 수 있으나, 특정 사이즈에 제한되지 않음은 당업자에게 자명하다. 각각의 정방형 블록은 정방형 또는 비정방형 소블록들로 재귀적으로 분할될 수 있다(620).
도 5를 참조하면, 일 실시예에 따른 동작 510에서, 영상 제공 장치(110)는 시간적으로 이미 복호화된 제1 참조 픽처에서, 부호화하려는 현재 블록과 가장 유사한 참조 블록을 탐색하고, 상기 참조 블록으로부터 현재 블록에 대한 제1 움직임 예측 정보를 추정할 수 있다. 상기 제1 움직임 예측 정보는 상기 제1 참조 픽처 식별자(또는 참조 픽처 인덱스)(RefIdxL0) 및 상기 참조 블록에 대한 제1 움직임 벡터(MVL0)를 포함할 수 있다. 움직임 벡터는 현재 블록에 대한 방향 성분 및 크기 성분을 포함할 수 있다. 예를 들어, 탐색된 참조 블록은 RefIdxL0=0, MVL0=(5,-4) 값을 가질 수 있다.
동작 520에서, 영상 제공 장치(110)는 현재 블록의 적어도 하나의 주변 블록으로부터 제2 움직임 벡터 후보 리스트를 획득할 수 있다. 상기 적어도 하나의 주변 블록은 상기 현재 블록의 공간적 주변 블록 및 시간적 주변 블록을 적어도 하나 포함할 수 있다. 상기 제2 움직임 벡터 후보 리스트를 구성할 경우, L0 방향의 움직임 벡터 및 L1 방향의 움직임 벡터 중 적어도 하나를 포함하여 구성할 수 있다.
상기 공간적 주변 블록은 상기 현재 블록의 좌측, 상단, 좌하단 코너, 좌상단 코너 및 우상단 코너를 적어도 하나 포함하는 위치의 주변 블록일 수 있다. 상기 시간적 주변 블록은 상기 현재 블록이 위치한 현재 픽처와 상이하고 시간적으로 이미 복호화된 콜 픽처에 위치하는 적어도 하나의 주변 블록일 수 있다. 영상 제공 장치(110)가 상기 공간적 주변 블록 및 상기 시간적 주변 블록에서 특정 후보 블록을 선택 또는 배제하는 등 상기 제2 움직임 벡터 후보 리스트를 구성할 수 있는 개수 및 방법이 다양할 수 있음은 당업자에게 자명하다. 도 7은 현재 블록(710)에 대한, 좌측의 주변 블록(A0, A1), 상단의 주변 블록(B0, B1, B2) 및 시간적 주변 블록(T1, T2)을 포함하는 7개의 주변 블록들을 예시적으로 도시한다. 도시된 예에서, 영상 제공 장치(110)는 7개의 주변 블록 모두를 제2 움직임 벡터 후보 리스트로 구성할 수 있다. 또는, 영상 제공 장치(110)는 좌측 주변 블록, 상단 주변 블록 및 시간적 주변블록 중 각각 1개를 선택하여 최종 3개의 제2 움직임 벡터 후보 리스트를 구성할 수도 있다.
다시 도 5를 참조하면, 동작 530에서, 영상 제공 장치(110)는 상기 제2 움직임 벡터 후보 리스트에 기초하여 제2 움직임 벡터를 획득할 수있다. 하기 표 1의 조건을 참조하면, 영상 제공 장치(110)는 상기 제2 움직임 벡터 후보 리스트 중 참조 픽처가 상기 제1 참조 픽처와 동일하고, 상기 제1 움직임 벡터와의 차이값이 가장 큰 움직임 벡터를 상기 제2 움직임 벡터로 획득할 수있다.

(RefIdxL0 == RefidxL1) && ArgMax|MVL0 - MVL1|
하기 표 2는 영상 제공 장치(110)가 도 7에 도시된 현재 블록(710)의 주변 블록들 중, A0, A1, B0, B1, T1에 대응하는 주변 블록들의 L1 방향의 움직임 벡터(MVL1)를 포함하여 제2 움직임 벡터 후보 리스트로 구성한 경우, 상기 제2 움직임 벡터 후보 리스트에 기초하여 제2 움직임 벡터를 획득하는 과정에서의 조건값들을 도시한다.
MVL1 후보 리스트 RefIdxL0==RefIdxL1 |MVL0-MVL1|
A0 블록 (RefIdx=0, MV=(5,-2)) TRUE 2
A1 블록 (RefIdx=0, MV=(5,-3)) TRUE 1
B0 블록 (RefIdx=1, MV=(10,-5)) FALSE 6
B1 블록 (RefIdx=0, MV=(-3,-2)) TRUE 10
T1 블록 (RefIdx=1, MV=(9,3)) FALSE 11
현재 블록의 상기 제1 움직임 예측 정보는 RefIdxL0=0, MVL0=(5,-4)이고, 상기 제2 움직임 벡터 후보 리스트는 A0 블록, A1 블록, B0 블록, B1 블록, T1 블록의 움직임 예측 정보들로 구성될 수 있다. 현재 블록과 상기 제2 움직임 벡터 후보 리스트에 대응하는 주변 블록들 간의 참조 픽처 동일 여부 및 MVL0(제1 움직임 벡터)와의 거리 차이를 계산한 결과, 영상 제공 장치(110)는 B1 블록의 움직임 벡터를 상기 제2 움직임 벡터(MVL1)로 결정할 수 있다. 표 2를 참조하여 상술한 예시에서, MVL0와 MVL1 간의 거리 차이는 동일한 방향 성분의 거리(즉, 크기 성분의 차이값의 절대값)들의 합으로 계산하였으나, 벡터 간의 차이값을 계산할 수 있는 방법이 이에 제한되지 않음은 당업자에게 자명하다.
동작 540에서, 영상 제공 장치(110)는 상기 제1 움직임 벡터를 포함하는 제1 움직임 예측 정보 및 상기 제2 움직임 벡터를 포함하는 제2 움직임 예측 정보 중 적어도 하나를 상기 현재 블록에 대한 인터 예측 정보로 이용하여 상기 현재 블록을 비트스트림으로 부호화할 수 있다. 영상 제공 장치(110)는 다른 인트라/인터 예측 모드들과의 비교를 통해, 상기 현재 블록의 예측을 위한 최종 모드로, 상기 제1 움직임 예측 정보 및 상기 제2 움직임 예측 정보 중 적어도 하나를 현재 블록에 대한 인터 예측 정보로 이용하는 모드를 결정한 경우, 상기 결정된 모드에 기초하여 현재 블록을 비트스트림으로 부호화할 수 있다. 상기 제1 움직임 예측 정보는 상기 제1 참조 픽처 식별자 및 상기 제1 움직임 벡터를 포함하고, 상기 제2 움직임 예측 정보는 상기 제1 참조 픽처 식별자 및 상기 제2 움직임 벡터를 포함할 수 있다.
일 실시예에 따르면, 영상 제공 장치(110)는 부호화된 현재 블록을 포함하는 영상 신호를 영상 수신 장치(120)에게 출력할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 디스플레이 장치, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 문서에서 사용되는 '및/또는'이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다,' '가지다,' '구성되다' 등의 용어는 본 개시 상에 기재된 특징, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다.
본 문서의 다양한 실시예들에서 사용된 용어 "~부" 또는 "~모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. "~부" 또는 "~모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, "~부" 또는 "~모듈"은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들에서 사용된 용어 “~할 경우”는 문맥에 따라 “~할 때”, 또는 “~할 시” 또는 “결정하는 것에 응답하여” 또는 “검출하는 것에 응답하여”를 의미하는 것으로 해석될 수 있다. 유사하게, “~라고 결정되는 경우” 또는 “~이 검출되는 경우”는 문맥에 따라 “결정 시” 또는 “결정하는 것에 응답하여”, 또는 “검출 시” 또는 “검출하는 것에 응답하여”를 의미하는 것으로 해석될 수 있다.
본 문서를 통해 설명된 영상 제공 장치(110) 및 영상 수신 장치(120)에 의해 실행되는 프로그램은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 프로그램은 컴퓨터로 읽을 수 있는 명령어들을 수행할 수 있는 모든 시스템에 의해 수행될 수 있다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 저장 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(Read-Only Memory), RAM(Random-Access Memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 저장 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 컴퓨터 프로그램은 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (14)

  1. 영상 제공 장치에 있어서,
    영상 신호를 입력받는 영상 입력부;
    제1 움직임 벡터를 포함하는 제1 움직임 예측 정보 및 제2 움직임 벡터를 포함하는 제2 움직임 예측 정보 중 적어도 하나를 상기 영상 신호의 현재 블록에 대한 인터 예측 정보로 이용하여 상기 영상 신호를 비트스트림으로 부호화하는 영상 부호화부; 및
    상기 부호화된 비트스트림을 영상 수신 장치에게 출력하는 영상 출력부를 포함하고;
    상기 영상 부호화부는
    제1 참조 픽처에 대한 상기 제1 움직임 벡터를 추정하고, 상기 현재 블록의 적어도 하나의 주변 블록으로부터 제2 움직임 벡터 후보 리스트를 획득하고, 상기 제2 움직임 벡터 후보 리스트에 기초하여 상기 제2 움직임 벡터를 획득하는, 영상 제공 장치.
  2. 제 1항에 있어서,
    상기 영상 부호화부는
    상기 제2 움직임 벡터 후보 리스트 중 참조 픽처가 상기 제1 참조 픽처와 동일하고, 상기 제1 움직임 벡터와의 차이값이 가장 큰 움직임 벡터를 상기 제2 움직임 벡터로 획득하는, 영상 제공 장치.
  3. 제 2항에 있어서,
    상기 제1 움직임 예측 정보 및 상기 제2 움직임 예측 정보는
    상기 제1 움직임 벡터 및 상기 제2 움직임 벡터에 대한 상기 제1 참조 픽처 식별자를 각각 더 포함하는, 영상 제공 장치.
  4. 제 1항에 있어서,
    상기 적어도 하나의 주변 블록은
    상기 현재 블록의 공간적 주변 블록 및 시간적 주변 블록을 적어도 하나 포함하는, 영상 제공 장치.
  5. 제 4항에 있어서,
    상기 공간적 주변 블록은 상기 현재 블록의 좌측, 상단, 좌하단 코너, 좌상단 코너 및 우상단 코너를 적어도 하나 포함하는 위치의 주변 블록이고;
    상기 시간적 주변 블록은 상기 현재 블록이 위치한 현재 픽처와 상이하고 시간적으로 이미 복호화된 콜 픽처에 위치하는 적어도 하나의 주변 블록인, 영상 제공 장치.
  6. 제 1항에 있어서,
    상기 영상 신호는
    스크린 미러링 영상, 화상 회의 영상 및 게임 영상을 포함하는 실시간 부호화 영상인, 영상 제공 장치.
  7. 제 1항에 있어서,
    상기 영상 제공 장치는
    네트워크를 통해 데이터를 송수신하는 통신부를 더 포함하고;
    상기 영상 출력부는
    상기 부호화된 비트스트림을 상기 영상 수신 장치에게 송신하도록 상기 통신부를 제어하는, 영상 제공 장치.
  8. 영상 제공 방법에 있어서,
    영상 신호를 입력받는 동작;
    제1 움직임 벡터를 포함하는 제1 움직임 예측 정보 및 제2 움직임 벡터를 포함하는 제2 움직임 예측 정보 중 적어도 하나를 상기 영상 신호의 현재 블록에 대한 인터 예측 정보로 이용하여 상기 영상 신호를 비트스트림으로 부호화하는 동작; 및
    상기 부호화된 비트스트림을 영상 수신 장치에게 출력하는 동작을 포함하고;
    상기 영상 신호를 비트스트림으로 부호화하는 동작은
    제1 참조 픽처에 대한 상기 제1 움직임 벡터를 추정하는 동작;
    상기 현재 블록의 적어도 하나의 주변 블록으로부터 제2 움직임 벡터 후보 리스트를 획득하는 동작; 및
    상기 제2 움직임 벡터 후보 리스트에 기초하여 상기 제2 움직임 벡터를 획득하는 동작을 포함하는, 방법.
  9. 제 8항에 있어서,
    상기 제2 움직임 벡터를 획득하는 동작은
    상기 제2 움직임 벡터 후보 리스트 중 참조 픽처가 상기 제1 참조 픽처와 동일하고, 상기 제1 움직임 벡터와의 차이값이 가장 큰 움직임 벡터를 상기 제2 움직임 벡터로 획득하는, 방법..
  10. 제 9항에 있어서,
    상기 제1 움직임 예측 정보 및 상기 제2 움직임 예측 정보는
    상기 제1 움직임 벡터 및 상기 제2 움직임 벡터에 대한 상기 제1 참조 픽처 식별자를 각각 더 포함하는, 방법.
  11. 제 8항에 있어서,
    상기 적어도 하나의 주변 블록은
    상기 현재 블록의 공간적 주변 블록 및 시간적 주변 블록을 적어도 하나 포함하는, 방법.
  12. 제 11항에 있어서,
    상기 공간적 주변 블록은 상기 현재 블록의 좌측, 상단, 좌하단 코너, 좌상단 코너 및 우상단 코너를 적어도 하나 포함하는 위치의 주변 블록이고;
    상기 시간적 주변 블록은 상기 현재 블록이 위치한 현재 픽처와 상이하고 시간적으로 이미 복호화된 콜 픽처에 위치하는 적어도 하나의 주변 블록인, 방법.
  13. 제 8항에 있어서,
    상기 영상 신호는
    스크린 미러링 영상, 화상 회의 영상 및 게임 영상을 포함하는 실시간 부호화 영상인, 방법.
  14. 제 8항에 있어서,
    상기 영상 제공 방법은
    네트워크를 통해 데이터를 송수신하는 동작을 더 포함하고;
    상기 부호화된 비트스트림을 상기 영상 수신 장치에게 출력하는 동작은
    상기 부호화된 비트스트림을 네트워크를 통해 상기 영상 수신 장치에게 송신하는, 방법.
KR1020220046826A 2022-04-15 2022-04-15 영상 부호화/복호화 방법 및 장치 KR20230147901A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220046826A KR20230147901A (ko) 2022-04-15 2022-04-15 영상 부호화/복호화 방법 및 장치
PCT/KR2023/002103 WO2023200101A1 (ko) 2022-04-15 2023-02-14 영상 부호화/복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220046826A KR20230147901A (ko) 2022-04-15 2022-04-15 영상 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230147901A true KR20230147901A (ko) 2023-10-24

Family

ID=88329766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220046826A KR20230147901A (ko) 2022-04-15 2022-04-15 영상 부호화/복호화 방법 및 장치

Country Status (2)

Country Link
KR (1) KR20230147901A (ko)
WO (1) WO2023200101A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101891192B1 (ko) * 2012-10-19 2018-08-23 연세대학교 산학협력단 영상 부호화 방법 및 장치
SG11201703454XA (en) * 2014-11-18 2017-06-29 Mediatek Inc Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
CN116915980A (zh) * 2016-11-29 2023-10-20 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
CN112544082B (zh) * 2018-07-18 2023-12-15 寰发股份有限公司 一种视频编解码的帧间预测方法及装置
CA3121409A1 (en) * 2018-11-29 2020-06-04 Huawei Technologies Co., Ltd. Encoder, decoder and corresponding methods of most probable mode list construction for blocks with multi-hypothesis prediction

Also Published As

Publication number Publication date
WO2023200101A1 (ko) 2023-10-19

Similar Documents

Publication Publication Date Title
KR102542000B1 (ko) 히스토리 기반 영상 코딩 방법 및 그 장치
AU2011308653B2 (en) Intra smoothing filter for video coding
EP3849182B1 (en) Restriction of prediction units in b slices to uni-directional inter prediction
EP2727353B1 (en) Video coding using adaptive motion vector resolution
KR20210148049A (ko) 영상 정보 부호화 방법 및 복호화 방법
JP7141463B2 (ja) インター予測モードに基づいた映像処理方法およびそのための装置
US20150071357A1 (en) Partial intra block copying for video coding
CN113812148A (zh) 用于视频译码的参考图片重采样和帧间译码工具
US11997300B2 (en) Method and apparatus for video encoding/decoding using IBC mode, and method for transmitting bitstream
KR20170058838A (ko) 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
CN114128261A (zh) 用于视频译码的组合的帧间和帧内预测模式
CN111602395B (zh) 用于视频译码的量化组
US11172212B2 (en) Decoder-side refinement tool on/off control
JP7423647B2 (ja) 異なるクロマフォーマットを使用した三角予測ユニットモードでのビデオコーディング
KR102592642B1 (ko) 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
KR20200139830A (ko) 영상 코딩 시스템에서 lut를 기반으로 도출된 mvd를 사용하는 영상 디코딩 방법 및 그 장치
US20200244966A1 (en) Method and apparatus for decoding image by using transform according to block size in image coding system
US20200154103A1 (en) Image processing method on basis of intra prediction mode and apparatus therefor
KR102594692B1 (ko) 크로마 성분에 대한 영상 디코딩 방법 및 그 장치
JP2022543608A (ja) 画像デコード方法及びその装置
KR20230147901A (ko) 영상 부호화/복호화 방법 및 장치
JP7504925B2 (ja) ビデオコーディングのための組み合わされたインターおよびイントラ予測モード
US20220345694A1 (en) Image encoding/decoding method and apparatus using quantization matrix, and method for transmitting bitstream
CN115176465A (zh) 基于叶节点的重新配置的预测模式类型来执行预测的图像编码/解码方法和设备以及比特流传输方法
JP2023519704A (ja) 映像デコーディング方法及びその装置