KR20200016879A - 영상을 부호화/복호화 하는 방법 및 그 장치 - Google Patents

영상을 부호화/복호화 하는 방법 및 그 장치 Download PDF

Info

Publication number
KR20200016879A
KR20200016879A KR1020197038082A KR20197038082A KR20200016879A KR 20200016879 A KR20200016879 A KR 20200016879A KR 1020197038082 A KR1020197038082 A KR 1020197038082A KR 20197038082 A KR20197038082 A KR 20197038082A KR 20200016879 A KR20200016879 A KR 20200016879A
Authority
KR
South Korea
Prior art keywords
image
coding unit
information
residual signal
decoding apparatus
Prior art date
Application number
KR1020197038082A
Other languages
English (en)
Other versions
KR102594362B1 (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 KR20200016879A publication Critical patent/KR20200016879A/ko
Application granted granted Critical
Publication of KR102594362B1 publication Critical patent/KR102594362B1/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/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

일 실시예에 따라, 영상을 부호화 하는 방법에 있어서, 영상을 압축하였을 때의 주관적 화질을 결정하는 단계; 영상을 압축하는 정도를 나타내는 압축강도들 중 주관적 화질이 달라지게 되는 적어도 하나의 압축강도를 결정하는 단계; 결정된 압축강도에 따른 압축 정보에 기초하여 영상의 잔차 신호를 압축함으로써 영상을 부호화 하는 단계를 포함하고, 주관적 화질은 DNN(Deep Neural Network)을 이용하여 프레임 별로 결정되는 것을 특징으로 하는 영상 부호화 방법이 제공될 수 있다. 영상 부호화 방법에 따라 부호화된 정보를 획득하여 영상을 복호화 하기 위한 영상 복호화 방법, 및 영상 복호화 방법을 수행할 수 있는 영상 복호화 장치가 제공될 수 있다.

Description

영상을 부호화/복호화 하는 방법 및 그 장치
일 실시예에 따른 방법 및 장치는 영상의 부호화 또는 복호화 과정에서 예측을 효율적으로 수행하기 위한 발명이다.
영상을 부호화 하는 과정에서 이용되는 잔차샘플은 변환 및 양자화 될 수 있으며, 이러한 변환 및 양자화 과정을 거친 신호는 다시 역변환 및 역양자화 된 신호를 이용한 복원 과정이 수행될 수 있다. 이에 따라, 복원된 신호는 복호화 과정에서 이용될 수 있는 샘플값들로서 버퍼에 저장될 수 있다.
변환 및 양자화 과정에서 따르면 공간영역에서 주파수영역으로 변환된 신호가 양자화됨으로써 오차가 생길 수 있으며 이러한 오차에 의해 복호화된 영상의 화질열화가 발생할 수 있다. 또한 이러한 화질 열화를 줄이기 위하여 많은 데이터를 부호화하는 경우 영상의 압축 효율이 저하될 수 있다.
일 실시예에 따라, 영상을 부호화 하는 방법에 있어서, 영상을 압축하였을 때의 주관적 화질을 결정하는 단계; 영상을 압축하는 정도를 나타내는 압축강도들 중 주관적 화질이 달라지게 되는 적어도 하나의 압축강도를 결정하는 단계;적어도 하나의 압축강도로 영상을 압축하는 과정에 이용되는 압축 정보에 기초하여 영상의 잔차 신호를 압축함으로써 영상을 부호화 하는 단계를 포함하고, 주관적 화질은 DNN(Deep Neural Network)을 이용하여 영상에 포함되는 프레임에 대하여 결정된 것을 특징으로 하는 영상 부호화 방법이 제공될 수 있다.
일 실시예에 따라, 영상을 복호화 하는 방법에 있어서 적어도 하나의 압축 강도로 영상이 압축되는 과정에서 이용된 압축 정보를 비트스트림으로부터 획득하는 단계; 압축 정보에 기초하여 오토인코더로부터 잔차 신호를 획득하는 단계; 및 획득된 잔차 신호를 이용하여 영상을 복호화 하는 단계를 포함하고, 적어도 하나의 압축 강도는 DNN을 이용하여 획득된 주관적 화질이 변경되는 압축 강도들 중 적어도 하나인 것을 특징으로 하는 영상 복호화 방법이 제공될 수 있다.
일 실시예에 따라, 영상을 복호화 하는 장치에 있어서, 적어도 하나의 압축 강도로 영상이 압축되는 과정에서 이용된 압축 정보를 비트스트림으로부터 획득하는 획득부; 및 압축 정보에 기초하여 오토인코더로부터 잔차 신호를 획득하고, 획득된 잔차 신호를 이용하여 영상을 복호화 하는 복호화부를 포함하고, 적어도 하나의 압축 강도는 DNN을 이용하여 획득된 주관적 화질이 변경되는 압축 강도들 중 적어도 하나인 것을 특징으로 하는 영상 복호화 장치가 제공될 수 있다.
일 실시예에 따라 DNN을 이용한 영상의 부호화 또는 복호화 과정을 수행함으로써 영상의 부호화 또는 복호화 효율을 향상시킬 수 있다.
도 1a는 일 실시예에 따라 DNN을 이용하여 영상을 부호화하는 영상 부호화 장치에 대한 블록도이다.
도 1b는 일 실시예에 따라 DNN을 이용하여 영상을 복호화하는 영상 복호화 장치에 대한 블록도이다.
도 2a는 일 실시예에 따라 영상 부호화 장치가 주관적 화질의 변곡점에 기초하여 영상을 부호화 하는 방법에 대한 흐름도이다.
도 2b는 일 실시예에 따라 영상 복호화 장치가 주관적 화질의 변곡점에 기초하여 영상을 부호화 하는 방법에 대한 흐름도이다.
도 3은 일 실시예에 따라 영상을 압축하는 과정에서 영상의 객관적 화질 및 주관적 화질이 달라지는 것을 도시한다.
도 4a는 일 실시예에 따라 영상 부호화 장치가 영상의 주관적 화질을 결정하기 위하여 이용할 수 있는 심층 컨볼루셔널 신경망을 도시한 것이다.
도 4b는 일 실시예에 따라 영상 부호화 장치가 영상의 주관적 화질을 결정하기 위하여 원본 신호와 관련된 다양한 정보를 이용하는 심층 컨볼루셔널 신경망을 도시한 것이다.
도 5a는 일 실시예에 따라 부호화부에 포함된 오토인코더(autoencoder)의 동작을 설명하기 위한 블록도이다.
도 5b는 일 실시예에 따른 오토인코더의 설계 구조를 설명하기 위한 도면이다.
도 5c 내지 5h는 다양한 CNN의 구조를 나타내는 도면이다.
도 6a는 일 실시예에 따라 오토인코더를 이용하여 영상을 부호화 및 복호화 하는 부호화부의 블록도를 도시한다.
도 6b는 일 실시예에 따라 오토인코더를 이용하여 영상을 복호화 하는 복호화부의 블록도를 도시한다.
도 7a는 일 실시예에 따라 부호화부가 오토인코더의 입력과 출력에 수행할 수 있는 전처리(pre-processing) 및 후처리(post-processing) 과정을 도시한다.
도 7b는 일 실시예에 따라 복호화부가 오토인코더의 출력에 수행할 수 있는 후처리(post-processing) 과정을 도시한다.
도 8은 일 실시예에 따라 전처리부 또는 후처리부에 의해 전처리 또는 후처리 된 결과를 도시한다.
도 9는 일 실시예에 따라 부호화부 또는 복호화부에 의해 잔차신호의 확대 또는 축소될 수 있는 특징을 설명하기 위한 도면이다.
도 10은 일 실시예에 따라 현재 부호화 단위가 분할되어 적어도 하나의 부호화 단위가 결정되는 과정을 도시한다.
도 11은 일 실시예에 따라 비-정사각형의 형태인 부호화 단위가 분할되어 적어도 하나의 부호화 단위가 결정되는 과정을 도시한다.
도 12는 일 실시예에 따라 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 부호화 단위가 분할되는 과정을 도시한다.
도 13은 일 실시예에 따라 홀수개의 부호화 단위들 중 소정의 부호화 단위가 결정되는 방법을 도시한다.
도 14는 일 실시예에 따라 현재 부호화 단위가 분할되어 복수개의 부호화 단위들이 결정되는 경우, 복수개의 부호화 단위들이 처리되는 순서를 도시한다.
도 15는 일 실시예에 따라 소정의 순서로 부호화 단위가 처리될 수 없는 경우, 현재 부호화 단위가 홀수개의 부호화 단위로 분할되는 것으로 결정되는 과정을 도시한다.
도 16은 일 실시예에 따라 제1 부호화 단위가 분할되어 적어도 하나의 부호화 단위가 결정되는 과정을 도시한다.
도 17은 일 실시예에 따라 제1 부호화 단위가 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위가 소정의 조건을 만족하는 경우, 제2 부호화 단위가 분할될 수 있는 형태가 제한되는 것을 도시한다.
도 18은 일 실시예에 따라 분할 형태 정보가 4개의 정사각형 형태의 부호화 단위로 분할하는 것을 나타낼 수 없는 경우, 정사각형 형태의 부호화 단위가 분할되는 과정을 도시한다
도 19는 일 실시예에 따라 복수개의 부호화 단위들 간의 처리 순서가 부호화 단위의 분할 과정에 따라 달라질 수 있음을 도시한 것이다.
도 20은 일 실시예에 따라 부호화 단위가 재귀적으로 분할되어 복수개의 부호화 단위가 결정되는 경우, 부호화 단위의 형태 및 크기가 변함에 따라 부호화 단위의 심도가 결정되는 과정을 도시한다.
도 21은 일 실시예에 따라 부호화 단위들의 형태 및 크기에 따라 결정될 수 있는 심도 및 부호화 단위 구분을 위한 인덱스(part index, 이하 PID)를 도시한다.
도 22는 일 실시예에 따라 픽쳐에 포함되는 복수개의 소정의 데이터 단위에 따라 복수개의 부호화 단위들이 결정된 것을 도시한다.
도 23은 일 실시예에 따라 픽쳐에 포함되는 기준 부호화 단위의 결정 순서를 결정하는 기준이 되는 프로세싱 블록을 도시한다.
발명의 실시를 위한 최선의 형태
일 실시예에 따라, 영상을 부호화 하는 방법에 있어서, 영상을 압축하였을 때의 주관적 화질을 결정하는 단계; 영상을 압축하는 정도를 나타내는 압축강도들 중 주관적 화질이 달라지게 되는 적어도 하나의 압축강도를 결정하는 단계;적어도 하나의 압축강도로 영상을 압축하는 과정에 이용되는 압축 정보에 기초하여 영상의 잔차 신호를 압축함으로써 영상을 부호화 하는 단계를 포함하고, 주관적 화질은 DNN(Deep Neural Network)을 이용하여 영상에 포함되는 프레임에 대하여 결정된 것을 특징으로 하는 영상 부호화 방법이 제공될 수 있다.
일 실시예에 따라, 영상 부호화 방법의 주관적 화질을 결정하는 단계는, 복수개의 레이어를 이용하는 DNN을 이용하여 획득된 기계 학습 결과에 기초하여 주관적 화질을 결정하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 부호화 방법의 주관적 화질을 결정하는 단계는
복수개의 레이어마다 적어도 하나의 필터 커널을 이용하여 적어도 하나의 컨볼루션 이미지를 결정하는 단계; 및 적어도 하나의 컨볼루션 이미지에 대한 풀링(pooling)을 수행하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 부호화 방법의 주관적 화질을 결정하는 단계는, 프레임들과 관련된 샘플값, 히스토그램, 움직임 정보 중 적어도 하나를 DNN의 입력값으로 이용하여 프레임에 대하여 체감 화질을 결정하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 부호화 방법의 영상을 부호화 하는 단계는 적어도 하나의 압축강도로 영상이 압축된 경우, 압축된 영상의 양자화 파라미터(Quantization Parameter)를 포함하는 압축 정보를 이용하여 영상의 잔차 신호를 압축하는 단계; 및 압축된 잔차 신호를 포함하는 비트스트림을 생성하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 부호화 방법의 영상의 잔차 신호를 압축하는 단계는, 오토인코더(Deep Autoencoder)에 잔차 신호를 입력하는 단계; 및 오토인코더에 포함되는 적어도 하나의 히든 레이어(hidden layer) 중 압축 및 환원 과정에서 공통으로 이용되는 히든 레이어로부터 압축된 잔차 신호를 획득하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 부호화 방법의 압축된 잔차 신호를 획득하는 단계는, 압축 정보에 기초하여 압축 및 환원 과정에서 공통으로 이용되는 히든 레이어의 노드 개수를 결정하는 단계; 및 결정된 노드 개수를 가지는 히든 레이어로부터 압축된 잔차 신호를 획득하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 부호화 방법의 잔차 신호를 입력하는 단계는, 잔차 신호의 크기 및 분포에 대한 전처리(pre-processing)를 수행하는 단계; 및 전처리(pre-processing)된 잔차 신호를 오토인코더에 입력하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 부호화 방법은 전처리 방법을 나타내는 정보를 포함하는 비트스트림을 생성하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 영상을 복호화 하는 방법에 있어서 적어도 하나의 압축 강도로 영상이 압축되는 과정에서 이용된 압축 정보를 비트스트림으로부터 획득하는 단계; 압축 정보에 기초하여 오토인코더로부터 잔차 신호를 획득하는 단계; 및 획득된 잔차 신호를 이용하여 영상을 복호화 하는 단계를 포함하고, 적어도 하나의 압축 강도는 DNN을 이용하여 획득된 주관적 화질이 변경되는 압축 강도들 중 적어도 하나인 것을 특징으로 하는 영상 복호화 방법이 제공될 수 있다.
일 실시예에 따라, 영상 복호화 방법의 영상을 복호화 하는 단계는 적어도 하나의 압축강도로 압축된 영상의 양자화 파라미터를 포함하는 압축 정보를 이용하여 영상의 잔차 신호를 획득하는 단계; 및 압축된 잔차 신호를 포함하는 비트스트림을 생성하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 복호화 방법의 잔차 신호를 획득하는 단계는 압축 정보에 기초하여 결정된 노드 개수를 포함하는 히든 레이어에 비트스트림으로부터 획득된 정보를 입력하여 잔차 신호를 획득하는 단계를 포함하고, 노드 개수는 오토인코더에서 수행되는 압축 및 환원 과정에서 공통으로 이용되는 히든 레이어의 노드 개수인 것을 특징으로 할 수 있다.
일 실시예에 따라, 영상 복호화 방법의 영상을 복호화 하는 단계는, 획득된 잔차 신호의 크기 및 분포에 대한 후처리(post-processing)를 수행하는 단계; 및 후처리된 잔차 신호를 이용하여 영상을 복호화 하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상 복호화 방법의 후처리를 수행하는 단계는 후처리 방법을 나타내는 정보를 비트스트림으로부터 획득하는 단계; 및 획득된 후처리 방법을 나타내는 정보에 기초하여 후처리를 수행하는 단계를 포함할 수 있다.
일 실시예에 따라, 영상을 복호화 하는 장치에 있어서, 적어도 하나의 압축 강도로 영상이 압축되는 과정에서 이용된 압축 정보를 비트스트림으로부터 획득하는 획득부; 및 압축 정보에 기초하여 오토인코더로부터 잔차 신호를 획득하고, 획득된 잔차 신호를 이용하여 영상을 복호화 하는 복호화부를 포함하고, 적어도 하나의 압축 강도는 DNN을 이용하여 획득된 주관적 화질이 변경되는 압축 강도들 중 적어도 하나인 것을 특징으로 하는 영상 복호화 장치가 제공될 수 있다.
발명의 실시를 위한 형태
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
이하, "영상"은 비디오의 정지영상와 같은 정적 이미지이거나 동영상, 즉 비디오 그 자체와 같은 동적 이미지를 나타낼 수 있다.
이하 "신호" 또는 "샘플"은, 영상의 샘플링 위치에 할당된 데이터로서 프로세싱 대상이 되는 데이터를 의미한다. 예를 들어, 공간영역의 영상에서 픽셀값, 변환 영역 상의 변환 계수들이 샘플들일 수 있다. 이러한 적어도 하나의 샘플들을 포함하는 단위를 블록이라고 정의할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1a는 일 실시예에 따라 DNN을 이용하여 영상을 부호화하는 영상 부호화 장치(100)에 대한 블록도이다.
일 실시예에 따라 영상 부호화 장치(100)는 영상을 부호화 하여 압축하기 위한 과정을 수행할 수 있는 부호화부(110) 및 부호화된 영상과 관련된 정보를 포함하는 비트스트림을 생성할 수 있는 비트스트림 생성부(120)를 포함할 수 있다.
일 실시예에 따라 부호화부(110)는 메모리 및/또는 저장 장치에 저장된 프로그램 명령(program command)을 실행할 수 있다. 부호화부(110)는 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 장치(Graphics Processing Unit; GPU)등을 포함하는 적어도 하나의 프로세서(processor)를 포함할 수 있다.
일 실시예에 따라 비트스트림 생성부(120)는 부호화부(110)에 의해 부호화된 정보를 복호화 장치 측에서 복호화 과정에서 이용할 수 있도록 영상을 압축한 결과 및 압축에 이용된 다양한 정보들을 포함하는 비트스트림을 생성할 수 있다.
도 2a는 일 실시예에 따라 영상 부호화 장치(100)가 주관적 화질의 변곡점에 기초하여 영상을 부호화 하는 방법에 대한 흐름도이다. 일 실시예에 따라 주관적 화질이란 영상의 화질을 평가하는 다양한 평가 항목 중 하나인 사용자가 영상을 보고 체감할 수 있는 화질에 해당할 수 있다.
S200단계에서 영상 부호화 장치(100)의 부호화부(110)는 일 실시예에 따라 영상을 압축하였을 때의 주관적 화질을 결정할 수 있다. 일 실시예에 따라 영상의 화질은 객관적 화질 평가 및 주관적 화질 평가에 의해 결정될 수 있다. 객관적 화질 평가는 원본 영상 대비 화질 열화의 평균 오차를 이용하여 PSNR(Peak Signal to Noise Ratio)를 측정함으로써 수행될 수 있다. 일 실시예에 따라 PSNR은 수학식1을 통해 계산될 수 있다.
Figure pct00001
MAX란 영상 신호의 최대값일 수 있고 dB단위일 수 있다. MSE(Mean Square Error)는 원본 영상과 압축 영상 간의 오차의 제곱합을 의미할 수 있다.
이와 같이, 수학적 공식에 의해 화질 수준을 도출해 내는 방식을 객관적 화질 평가 방법이라고 한다. 그러나, 때때로 객관적 화질 평가 방법은 사람이 느끼는 주관적 체감 품질을 직접적으로 대변하지 못할 수 있다. 따라서, 사람이 느끼는 체감 품질을 비교적 정확하게 수치화한 "주관적 화질 평가"의 방법이 활용될 수 있다. 영상의 인지 품질을 측정하는 방법에 대한 연구는 활발하게 진행되어 왔으며, 이하에서 설명되는 바와 같이 다양하게 존재할 수 있으나 이에 국한되는 것은 아니다.
예를 들어, 주관적 화질은 참조 영상(즉, 손상되기 이전 영상)의 정보를 이용하는 정도에 따라, 참조 영상의 모든 정보를 이용하는 전 참조법(Full-Reference; FR), 참조 영상에서 추출된 일부 정보를 이용하는 감소 참조법(Reduced-Reference; RR), 참조 영상 정보를 전혀 이용하지 않는 무참조법(No-Reference; NR) 등을 통해 평가될 수 있다. 또한, 주관적 화질은 복원된 영상 신호를 이용하지 않고 복원되기 이전의 비트스트림 정보 혹은 복원 과정에서 발생하는 파라미터 등을 이용하여 예측 및 평가될 수 있다.
예를 들어, 주관적 화질은 VMAF(Video Multimethod Assesment Fusion) 점수(score)에 기반하여 측정될 수도 있다. VMAF는 주관적 화질을 측정하기 위한 도구(tool)로서, 시각 정보 무결성(Visual Information Fidelity; VIF), 상세 손실 메트릭(Detail Loss Metric; DLM) 및 움직임 예측(Motion Estimation)과 같은 요소에 기초하여 주관적 화질을 평가한다.
또한, 예를 들어, 주관적 화질 평가는 MOS(Mean Opinion Score)값에 의해 결정될 수 있다. 이러한 MOS 테스트는 사용자의 주관적 체감 품질을 직접적으로 대변할 수 있는 값을 결정하여 비교하기 위하여 수행될 수 있으며, 특정 영상을 사용자에게 직접 보여주고 사용자가 느낀 체감 품질을 나타내는 점수를 직접 결정하도록 함으로써 측정할 수 있다.
일 실시예에 따라 영상 부호화 장치(100)의 부호화부(110)는 부호화 하려는 영상의 주관적 화질을 평가하기 위하여 DNN(Deep Neural Network)를 이용할 수 있다. 일 실시예에 따라 부호화부(110)가 결정하는 주관적 화질이란 영상의 압축강도에 따라 달라지는 VMAF 점수 또는 MOS값일 수 있다.
일 실시예에 따라 부호화부(110)는 DNN을 통한 영상의 주관적 화질 결정 과정을 수행하기 위하여 다양한 종류의 영상을 통한 학습 과정이 수행된 DNN을 이용할 수 있다. 일 실시예에 따라 부호화부(110)는 학습된 DNN을 이용하여 부호화 하려는 영상의 특성들에 기초한 주관적 화질 결정 과정을 수행할 수 있다. 주관적 화질 결정 과정에서 이용되는 영상의 특성은 영상을 구성하는 프레임의 명도(brightness), 색상(hue), 채도(saturation), 대비(contrast), 히스토그램(histogram), 공간 주파수 응답 특성, 색도좌표(chromaticity coordinate), 움직임 정보, 비트레이트(bit rate), 해상도, 화면비 등을 포함할 수 있다. 일 실시예에 따라 다양한 영상에 대한 미리 결정된 체감특성 값(VMAF, MOS 등)에 기초하여 DNN이 학습될 수 있고, 이러한 DNN은 미리 결정된 체감특성 값과 해당 영상에 포함되는 적어도 하나의 프레임마다의 특성을 고려하여 부호화 하려는 영상의 주관적 화질을 결정할 수 있다.
S202단계에서 영상 부호화 장치(100)의 부호화부(110)는 영상을 압축하는 정도를 나타내는 압축강도들 중 주관적 화질이 달라지게 되는 적어도 하나의 압축강도를 결정할 수 있다.
도 3은 일 실시예에 따라 영상을 압축하는 과정에서 영상의 객관적 화질 및 주관적 화질이 달라지는 것을 도시한다.
일 실시예에 따라 부호화부(110)는 영상을 부호화 하기 위하여 미리 결정된 다양한 압축강도로 영상을 압축할 수 있다. 영상을 압축함에 따라 화질저하가 발생할 수 있으며 화질 저하 여부는 객관적 화질 평가 및 주관적 화질 평가에 의해 결정될 수 있다. 일 실시예에 따라 압축강도란 원본 영상에 비하여 손실되는 데이터량이 얼마나 되는지에 따라 결정될 수 있으며, 무손실 압축이 아닌 손실압축을 통한 압축률을 의미할 수 있다. 이러한 압축강도는 시간적 및 공강적 중복성을 제거하는 예측 과정, 인지 시각 기반의 변환 과정 및 양자화 과정, 및 엔트로피 부호화 과정에서 이용되는 다양한 정보를 포함할 수 있다.
도 3을 참조하면 압축강도가 증가함에 따라 영상의 객관적 화질은 저하될 수 있다. 영상의 객관적 화질은 PSNR, 비트레이트 등을 고려한 다양한 정보를 통해 결정될 수 있다. 예를 들면, PSNR이 동일하더라도 비트레이트가 높은 영상이 더 좋은 객관적 화질의 영상인 것으로 결정될 수 있다.
일 실시예에 따라 부호화부(110)는 영상을 구성하는 프레임마다 압축강도에 대응하는 주관적 화질을 결정할 수 있다. 부호화부(110)는 DNN을 이용하여 부호화 하려는 영상에 포함된 프레임에 대한 주관적 화질을 결정할 수 있다. 부호화부(110)에 결정된 주관적 화질은 VMAF 점수 또는 MOS값에 대응하는 정보일 수 있으며, 특정 압축강도 범위 내에서는 일정한 값을 가지는 값일 수 있다. 도 3을 참조하면, 객관적 화질(300)은 압축강도가 커질수록 저하되는 특성을 가지는 것에 반해, 주관적 화질(310)은 압축강도가 변하더라도 변하지 않는 범위가 존재할 수 있다. 이는 실제 사용자가 영상을 보았을 때 체감하는 화질의 변화에 대한 역치가 존재하므로 해당 역치만큼의 영상 압축강도 변화가 없는 범위 내에서는 압축된 영상들이 서로 동일한 주관적 화질을 가지는 영상인 것으로 판단될 수 있다. 일 실시예에 따라 도 3을 참조하면, 압축강도가 a이상 b미만의 범위에서 압축강도가 커질수록 객관적 화질(300)은 저하되지만, 주관적 화질(310)은 p값으로 일정할 수 있다. 이와 유사하게, 압축강도가 b이상 c미만 또는 c이상 d미만의 범위에서는 압축강도가 커질수록 객관적 화질(300)은 저하되지만, 주관적 화질(310)는 각각 q 또는 r값으로 일정할 수 있다. 일 실시예에 따라 주관적 화질(310)의 범위는 1 내지 N(N>1)의 범위일 수 있다.
일 실시예에 따라 부호화부(110)는 DNN에 의해 결정된 영상의 주관적 화질이 변하는 압축강도를 결정할 수 있다. 도 3을 참조하면 연속적으로 변화되는 객관적 화질(300)과 달리 주관적 화질의 경우 소정의 압축강도 범위 내에서는 일정한 화질인 것으로 결정될 수 있으며, 특정 압축강도에 이르는 경우 주관적 화질이 변화될 수 있으며 이러한 변화는 불연속적 변화일 수 있다. 즉, 부호화부(110)는 영상을 구성하는 복수개의 프레임 중 하나에 대하여 압축강도 대비 주관적 화질을 결정할 수 있으며, 소정 범위 내에서의 주관적 화질이 일정하게 유지되다가 불연속적으로 주관적 화질이 변화하게 되는 압축강도를 결정할 수 있다. 도 3을 참조하면 압축강도가 a이상 b미만일 경우 주관적 화질이 p일 수 있으나 압축강도가 b로 증가하면 p 였던 주관적 화질은 불연속적으로 변화하여 q의 값을 변화될 수 있다. 주관적 화질이 b이상 c미만인 구간에서 주관적 화질은 q로 일정하게 유지될 수 있다.
이에 따라 사용자가 실질적으로 압축된 영상을 시청할 경우 체감하는 화질이 동일하게 유지되면서 효율적으로 영상이 압축되기 위하여, 영상 부호화 장치(100)는 주관적 화질이 동일하게 유지되는 압축강도 구간 내에서 가장 큰 압축강도를 이용하여 영상을 압축할 수 있다. 즉, 도 3을 참조하면 영상 부호화 장치(100)는 주관적 화질을 q로 결정하여 특정 프레임을 효율적으로 압축하기 위하여 b이상 c미만의 압축강도 중 가장 큰 압축강도를 영상 부호화 과정에서 이용될 압축강도로서 결정할 수 있다. 부호화부(110)는 각 프레임마다 압축강도에 기초하여 부호화되었을 때의 주관적 화질을 결정할 수 있고, 주관적 화질이 변화되는 적어도 하나의 압축강도(예를 들면, 도 3의 a, b, c, d 등)를 결정할 수 있다.
S204단계에서 영상 부호화 장치(100)는 일 실시예에 따라 적어도 하나의 압축강도로 영상을 압축하는 과정에 이용되는 압축정보에 기초하여 영상의 잔차신호를 압축함으로써 영상을 부호화 할 수 있다. 부호화부(110)는 S202단계에서 주관적 화질이 변화되는 적어도 하나의 압축강도들을 결정할 수 있고, 결정된 적어도 하나의 압축강도를 이용하여 각각의 프레임을 부호화할 수 있다. 영상 부호화 장치(100)의 비트스트림 생성부(120)는 이러한 부호화 정보들을 포함하는 비트스트림을 생성하여 복호화 단으로 전달할 수 있다.
일 실시예에 따라 영상 부호화 장치(100)는 복수개의 레이어를 포함하는 신경망인 DNN으로서, 심층 컨볼루셔널 신경망(Deep Convolutional Neural Networks)을 이용하여 주관적 화질을 결정할 수 있다.
도 4a는 일 실시예에 따라 영상 부호화 장치(100)가 영상의 주관적 화질을 결정하기 위하여 이용할 수 있는 심층 컨볼루셔널 신경망을 도시한 것이다.
일 실시예에 따라 부호화부(110)는 입력된 원본 영상에 포함되는 복수개의 프레임들 각각에 대하여 주관적 화질을 결정할 수 있다. 프레임마다 주관적 화질을 결정하기 위하여 복수개의 레이어를 포함하는 심층 컨볼루셔널 신경망을 이용할 수 있다. 도 4a를 참조하면 복수개의 히든 레이어(L1, L2, L3, L4) 각각에서 각 프레임에 포함된 샘플값에 대한 컨볼루션 연산이 수행될 수 있다. 컨볼루션 연산이 마지막 레이어(예를 들면, L4)에서 수행되었을 때 생성되는 적어도 하나의 특성 맵(feature map)을 완전 연결 레이어(fully connected layer)에 적용하여 분류함으로써 주관적 화질을 결정할 수 있다.
일 실시예에 따른 심층 컨볼루셔널 신경망은 지도 학습(supervised learning)을 통해 입력 영상의 주관적 화질을 결정할 수 있다. 지도 학습이란, 알고리즘을 통해 정해진 답을 찾는 것이 목적이다. 따라서, 지도 학습에 기초한 심층 컨볼루셔널 신경망은 훈련용 데이터(training data)로부터 함수를 추론해내는 형태의 모델일 수 있다. 지도 학습에서는 트레이닝에 라벨링된 샘플(labeled sample; 목표 출력 값이 있는 데이터)을 사용한다.
지도 학습 알고리즘은 일련의 학습 데이터와 그에 상응하는 목표 출력 값을 수신하고, 입력되는 데이터에 대한 실제 출력 값과 목표 출력 값을 비교하는 학습을 통해 오류를 찾아내고, 해당 결과를 근거로 모델을 수정하게 된다. 즉, 일 실시예에 따른 심층 컨볼루셔널 신경망에 특정 입/출력 데이터 셋을 제공하여 학습을 시키면, 제공된 입/출력 데이터 셋의 데이터 패턴을 학습하여 입력 영상의 주관적 화질을 예측하는 모델을 생성하게 된다. 일 실시예에 따른 심층 컨볼루셔널 신경망의 입력 데이터 셋은 컨텐츠 별 입력 영상이며, 출력 데이터 셋은 입력 영상에 대한 주관적 화질(예를 들어, VMAF 점수 또는 MOS 값)일 수 있다. 이처럼, 지도 학습에 기초한 심층 컨볼루셔널 신경망은 수많은 학습 데이터의 학습을 통해, 심층 컨볼루셔널 신경망의 파라미터를 최적화하게 된다.
도 4b는 일 실시예에 따라 영상 부호화 장치(100)가 영상의 주관적 화질을 결정하기 위하여 원본 신호와 관련된 다양한 정보를 이용하는 심층 컨볼루셔널 신경망을 도시한 것이다.
일 실시예에 따라 부호화부(110)는 원본 영상의 프레임들을 구성하는 샘플값, 각 프레임의 히스토그램, 움직임 정보 등을 포함하는 다양한 정보를 심층 신경망의 입력값으로서 이용할 수 있다.
일 실시예에 따라 부호화부(110)는 입력된 원본 영상에 포함되는 복수개의 프레임들 각각에 대하여 주관적 화질을 결정할 수 있으며, 각 프레임과 관련된 다양한 정보를 복수개의 히든 레이어를 포함하는 심층 컨볼루셔널 신경망에 입력값으로 결정할 수 있다. 예를 들면, 부호화부(110)는 프레임에 포함되는 샘플값, 히스토그램, 움직임 정보, 명도, 색상, 채도, 대비, 공간 주파수 응답 특성, 색도좌표, 움직임 정보, 해상도, 화면비 등을 신경망의 입력으로서 이용할 수 있다.
도 4b를 참조하면 부호화부(110)는 프레임 단위로 주관적 화질을 결정하기 위하여 각 프레임의 샘플값, 히스토그램, 움직임 정보 등을 복수개의 컨볼루션 레이어의 입력값으로서 이용할 수 있다. 복수개의 히든 레이어(L1, L2, L3, L4) 각각에서 각 프레임에 포함된 샘플값에 대한 컨볼루션 연산이 수행될 수 있다. 컨볼루션 연산이 마지막 히든 레이어(예를 들면, L4)에서 수행되었을 때 생성되는 적어도 하나의 특성 맵을 완전 연결 레이어에 적용하여 분류함으로써 주관적 화질을 결정할 수 있다.
일 실시예에 따라 주관적 화질을 결정하기 위하여 이용되는 다양한 정보들은, 서로 다른 구조를 가지는 심층 컨볼루션 신경망의 입력으로서 결정될 수 있다. 심층 컨볼루션 신경망은 다양한 개수의 히든 레이어를 포함하고 있을 수 있고, 부호화부(110)는 다양한 개수의 히든 레이어를 포함하는 심층 컨볼루셔널 신경망을 이용하여 주관적 화질을 결정할 수 있다. 예를 들면, 부호화부(110)는 프레임의 샘플값을 A개의 히든 레이어를 이용하여 컨볼루션 연산을 수행할 수 있고, 프레임의 히스토그램을 B개의 히든 레이어를 이용하여 컨볼루션 연산을 수행할 수 있고, 움직임 정보를 C개의 히든 레이어를 이용하여 컨볼루션 연산을 수행할 수 있다. 즉, 컨볼루션 연산하려는 정보의 종류가 상이한 경우, 부호화부(110)는 각 정보의 종류마다 다른 개수의 히든 레이어들을 이용하여 컨볼루션 연산을 수행할 수 있다. 다만 히든 레이어의 개수 및 심층 컨볼루셔널 신경망의 입력은 상술한 실시예로 한정하여 해석되어서는 안되고, 원본 영상과 관련된 다양한 정보들이 서로 다른 히든 레이어의 입력으로 이용될 수 있는 특징을 당업자가 용이하게 이용할 수 있는 범위 내로 광범위하게 해석되어야만 한다.
각각의 정보들에 대한 컨볼루션 연산이 최종 레이어에서 수행된 후, 부호화부(110)는 혼합 레이어(fusion layer)에서 모든 정보들에 대한 컨볼루션 연산을 수행할 수 있다. 다양한 정보들에 대한 컨볼루션 연산 결과를 포함하는 혼합 레이어에서는 컨볼루션 연산이 수행되기 위하여, 부호화부(110)는 각 정보들에 대한 소정의 연산 과정을 거칠 수 있다. 예를 들면, 각 정보들에 대한 컨볼루션 연산이 최종적으로 수행된 결과를 연결(concatenate), 가중치를 적용, 패딩(padding)과 같은 연산이 수행될 수 있다.
일 실시예에 따라 부호화부(110)는 컨볼루션 레이어에서의 컨볼루션 연산결과에 대한 풀링(pooling) 과정을 수행할 수 있다. 즉, 각 히든 레이어에서의 컨볼루션 연산이 수행된 결과의 정보량을 줄이기 위하여 단순화 또는 압축 과정이 필요하며 부호화부(110)는 풀링(pooling) 또는 서브샘플링(subsampling)의 과정을 통해 컨볼루션 결과를 단순화 시킬 수 있다. 부호화부(110)는 풀링 과정을 위한 풀링 레이어가 컨볼루션 레이어 사이에 존재하는 심층 컨볼루셔널 신경망을 이용할 수 있다. 일 실시예에 따라 부호화부(110)는 풀링 레이어에서 맥스 풀링(max pooling) 과정을 수행함으로써 컨볼루션 결과에 대한 단순화 과정을 수행할 수 있다.
일 실시예에 따라 부호화부(110)는 심층 신경망을 이용하여 원본 영상에 포함된 프레임들 각각에 대한 주관적 화질을 결정하여 주관적 화질이 변화하는 압축강도를 결정할 수 있고, 결정된 압축강도에 대한 양자화 파라미터(Quantization Parameter), 비트레이트 등이 결정될 수 있다. 즉, 소정의 주관적 화질로 영상을 압축하기 위하여 필요한 소정의 정보들인 양자화 파라미터, 비트레이트, 율-왜곡 비용(Rate Distortion cost), 비트심도, 데이터 단위의 크기 등이 부호화부(110)에 의해 결정될 수 있다. 부호화부(110)에 의해 결정된 상술한 다양한 정보를 압축강도와 관련된 정보인 압축정보로서 이용하여 영상을 부호화할 수 있다.
도 5a는 일 실시예에 따라 부호화부(500)에 포함된 오토인코더(autoencoder)(504)의 동작을 설명하기 위한 블록도이다. 도 5a의 부호화부(500)는 도 1a의 부호화부(110)에 대응하는 구조이다.
부호화부(500)는 영상을 부호화 하기 위해 필요한 다양한 동작을 수행할 수 있다. 도 5a를 참조하면 일 실시예에 따라 부호화부(500)는 주관적 화질이 변경되는 압축강도로 영상을 부호화하는 과정에서 이용되는 압축정보를 생성하는 압축정보 생성부(502), 압축정보 생성부(502)에 의해 생성된 압축 정보에 기초하여 잔차신호를 압축(compress)하는 과정을 수행하고 다시 원래대로 환원(decompress)시키는 오토인코더 (504), 및 압축된 잔차신호를 엔트로피 부호화할 수 있는 엔트로피 부호화부(506)를 포함할 수 있다.
일 실시예에 따라 오토인코더(504)는 소정의 정보를 자동적으로 압축할 수 있으며, 네트워크 구조로서 복수개의 레이어를 포함할 수 있다. 오토인코더에 포함된 복수개의 레이어는, 압축 및 환원이 수행되는 복수개의 레이어들로 구성될 수 있다. 이러한 복수개의 레이어들은 압축 및 환원 수행과정에서 공통적으로 이용되는 히든 레이어를 기준으로 대칭적인 구조를 가진다. 도 5a를 참조하면, L1, L2, L3, L4, L5의 레이어를 포함하는 오토인코더(504)는 레이어 L3를 기준으로 대칭적인 구조를 가진다. 즉, 오토인코더(504)는 레이어 L3를 기준으로, 레이어 L2 및 L4의 노드 개수가 동일하고, 레이어 L1 및 L5의 노드 개수가 동일한 대칭적 구조이다. 일 실시예에 따라 압축 및 환원 수행과정에서 공통적으로 이용되는 히든 레이어는 오토인코더에 포함된 복수개의 레이어 중 가장 적은 수의 노드를 포함하는 레이어일 수 있다.
일 실시예에 따라 오토인코더(504)는 압축하기 위한 신호를 입력 받을 수 있다. 도 5a를 참조하면 L1에 입력된 잔차신호는 L1, L2, L3를 거치면서 압축될 수 있고, 압축된 잔차신호는 L3, L4, L5를 거치면서 복호화될 수 있다. 레이어 L3에서는 가장 압축된 신호가 얻어질 수 있다. 레이어 L3는 오토인코더(504) 네트워크 내에서 가장 적은 개수의 뉴런으로 이루어져 있으므로, "병목(bottleneck)" 레이어라고 지칭되기도 한다. 일 실시예에 따라 오토인코더(504)에서 수행되는 잔차신호 압축 및 환원 과정을 통해 환원된 잔차신호가 생성될 수 있으나, 이러한 환원된 잔차신호와 원본 잔차신호 간의 차이가 발생할 수 있다. 일 실시예에 따라 영상 부호화 장치(100)는 이러한 오토인코더의 입력과 출력의 차이를 오류로 설정하고 역전파(backpropagation)시킴으로써 오토인코더(504)를 학습시킬 수 있다. 일 실시예에 따라 오토인코더(504)는 입력된 잔차신호와 복원된 잔차신호가 서로 같아지도록 학습될 수 있다.
일 실시예에 따라 오토인코더(504)는 복수개의 레이어 각각에 가중치를 설정할 수 있으며, 이러한 가중치는 압축 및 환원 수행과정에서 공통적으로 이용되는 히든 레이어를 기준으로 대칭적일 수 있다. 이에 따라 압축 과정에서 이용되는 레이어와 환원 과정에서 이용되는 레이어는 가중치가 동일할 수 있다.
이하에서는 설명상의 편의를 위해 압축 및 환원 수행과정에서 공통적으로 이용되는 히든 레이어는 공통레이어로 지칭하도록 한다.
일 실시예에 따라 엔트로피 부호화부(506)는 공통레이어까지 압축이 수행된 잔차신호를 오토인코더(504)로부터 획득할 수 있고, 획득된 정보에 기초하여 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화부(506)가 수행할 수 있는 엔트로피 부호화 방법은 비디오 부호화/복호화 기술 분야에서 수행될 수 있는 다양한 무손실 압축 기법이 포함될 수 있다. 엔트로피 부호화부(506)는 심볼의 발생 확률에 근거한 다양한 이진 산술 부호화 방법 중 하나(예를 들면, CABAC(Context-based Adaptive Binary Arithmetic Coding)를 당업자가 용이하게 실시할 수 있는 범위 내에서 수행할 수 있다.
일 실시예에 따라 부호화부(500)는 압축강도에 따라 압축을 수행하는 과정에서 이용된 압축정보로서 양자화 파라미터를 이용하여 영상의 잔차신호를 압축할 수 있다. 일 실시예에 따라 부호화부(500)는 주관적 화질이 변경되는 압축강도에 따라 압축하기 위하여 양자화 파라미터를 결정할 수 있으며, 이러한 양자화 파라미터에 기초하여 변환(transformation), 양자화(quantization) 과정 및 이에 반대되는 역변환, 역양자화 과정을 수행할 수 있다.
일 실시예에 따라 부호화부(500)는 양자화 파라미터에 기초하여 변환, 양자화 과정에 대신 오토인코더(504)를 이용하여 잔차신호를 압축하는 과정을 수행할 수도 있다. 오토인코더(504)는 압축정보 생성부(502)로부터 획득한 압축 정보인 양자화 파라미터에 기초하여 잔차신호의 압축을 수행할 수 있다.
일 실시예에 따라 오토인코더(504)를 이용한 잔차신호 압축과정을 수행하는 경우, 공간 성분을 주파수 성분으로 변환하여 양자화를 수행하는 부호화 과정과는 달리 엔트로피 부호화에 입력되는 성분이 특정한 방향으로 모이는 결과를 얻을 수 있다. 즉, 잔차신호를 주파수 변환시킨 경우 저주파성분으로 갈수록 0이 아닌 변환 계수가 많을 수는 있더라도 0인 변환 계수들이 0이 아닌 변환 계수들 사이에 존재하므로, 소정의 스캔 방법을 통한 0이 아닌 변환 계수 검출과정이 필요하다. 이에 반해 영상 부호화 장치(100)의 부호화부(500)는 오토인코더(504)를 이용한 잔차신호 압축 수행 시 특정한 방향(예를 들면, 좌상측)에 모인 압축 잔차신호(508)를 획득할 수 있다.
일 실시예에 따라 부호화부(500)는 잔차신호의 압축률에 대응하는 미리 결정된 양자화 파라미터와 압축정보 생성부(502)에 의해 생성된 양자화 파라미터를 비교하여 잔차신호에 대한 부호화를 수행할 수 있다.
일 실시예에 따라 부호화부(500)는 압축정보 생성부(502)에 의해 생성된 압축정보에 기초하여 오토인코더(504)를 구성하는 복수개의 레이어를 결정할 수 있다. 일 실시예 따라 부호화부(500)는 오토인코더(504)를 구성하는 레이어의 개수 및 레이어에 포함되는 노드의 개수를 결정할 수 있다. 일 실시예에 따라 압축정보에 기초하여 오토인코더(504)의 공통레이어의 노드 개수가 결정됨으로써, 공통 레이어를 포함하는 복수개의 히든 레이어에 기초하여 잔차신호의 압축 및 환원 과정이 수행될 수 있다.
일 실시예에 따라 비트스트림 생성부(120)는 오토인코더(504)의 레이어의 개수, 각 레이어에 포함되는 노드의 개수 등을 나타내는 오토인코더정보를 포함하는 비트스트림을 생성할 수 있다. 일 실시예에 따라 비트스트림 생성부(120)는 오토인코더(504)의 공통 레이어에 포함되는 노드 개수를 나타내는 오토인코더정보를 포함하는 비트스트림을 생성하여 복호화단으로 전달할 수 있다. 다만 오토인코더정보에 대한 상술한 특징은 일 실시예에 불과하며, 당업자가 용이하게 실시할 수 있는 범위 내에서 부호화부(110)에 의해 이용된 오토인코더(504)의 특징을 나타내는 정보가 다양하게 포함될 수 있는 것으로 해석되어야 한다.
도 5b는 일 실시예에 따른 오토인코더의 설계 구조를 설명하기 위한 도면이다.
도 5b를 참조하면, 오토인코더(504)는 인코딩 네트워크(512)와 디코딩 네트워크(518)로 구성된다. 이 때, 인코딩 네트워크(512)는 도 5a에서 상술한 레이어 L1, L2 및 L3 를 포함할 수 있고, 디코딩 네트워크(518)는 도 5a에서 상술한 레이어 L3, L4 및 L5 를 포함할 수 있다.
오토인코더(504)는 자율 학습(un-supervised learning)에 기반한 학습을 수행할 수 있다. 따라서, 오토인코더(504)는 기대값을 제공받을 필요 없이, 단지 입력 데이터만을 통해 네트워크 또는 레이어의 가중치 파라미터 값을 결정할 수 있다.
오토인코더(504)의 인코딩 네트워크(512)는 입력 신호(510)에서 차원을 축소해 나감으로써(즉, 의미 있는 특징을 추출함으로써) 압축 신호를 생성하는 압축 네트워크로 이해될 수 있다. 반대로, 오토인코더(504)의 디코딩 네트워크(518)는 인코딩 네트워크(512)에 의해 압축된 압축 신호를 복원함으로써 입력 신호(510)에 근사한 출력 신호(520)를 생성하는 복원 네트워크로 이해될 수 있다. 이처럼, 오토인코더(504)는 CNN(Convolutional Neural Network) 레이어를 포함하는 구성으로 설계되어 원본 신호에 근사한 복원 신호를 출력할 수 있다. 다양한 CNN의 구조에 대해서는 도 5c 내지 5h 를 통해 후술하기로 한다.
일 실시예에 따라, 오토인코더(504)의 인코딩 네트워크(512) 및 디코딩 네트워크(518)는 CNN 레이어와 FC(Fully Connected) 레이어의 조합으로 구성될 수도 있다.
예를 들어, 오토인코더(504)에서 중간 결과(즉, 압축 신호)가 DCT(Discrete Cosine Transform) 결과의 신호 분포와 같아지도록 설계되기 위해서는, 인코딩 네트워크(512) 및 디코딩 네트워크(518)가 FC 레이어를 포함하는 것이 바람직할 수 있다. 이하에서는 CNN 레이어와 FC 레이어를 포함하는 오토인코더(504)의 구성에 대해 설명하기로 한다.
일 실시예에 따른 오토인코더(504)는 인코딩 네트워크(512)를 통해, 입력 신호(510)를 압축한 제 1 압축 신호(514)를 생성할 수 있다.
일 실시예에 따른 오토인코더(504)는 제 1 압축 신호(514)에 소정의 가중치 매트릭스를 적용하여 제 2 압축 신호(516)를 생성할 수 있다. 이 때, 소정의 가중치 매트릭스는 제 1 압축 신호(514)가 DCT 결과의 신호 분포와 같아지도록 만드는 매트릭스일 수 있다. 따라서, 소정의 가중치 매트릭스는 학습을 통해 결정될 수 있다. 예를 들어, 오토인코더(504)은 소정의 가중치 매트릭스를 적용하여 생성한 제 2 압축 신호(516)를 제 1 압축 신호(514)의 DCT 결과와 비교함으로써 손실(loss)을 계산할 수 있다. 여기서, 소정의 가중치 매트릭스의 계수는 손실이 최소화되도록 하는 값으로 결정(즉, 학습)될 수 있다.
DCT는 코사인 고유 벡터(Cosine Eigen Vector)를 기저 벡터(basis vector)로 사용하여 영상의 신호 성분을 사영(projection)하는 과정이므로, 일 실시예에 따른 제 2 압축 신호(516)는 제 1 압축 신호(514)에 비해 신호의 분포를 집중시킬 수 있는 효과가 있다. 즉, 일 실시예에 따른 소정의 가중치 매트릭스는, 인코딩 네트워크(512)를 통해 이미 압축된 압축 신호를 '공간(spatial) 영역에서의 픽셀 분포의 집중'이라는 측면에서 추가로 압축하기 위한 매트릭스일 수 있다. 따라서, 소정의 가중치 매트릭스는 영상의 신호 분포를 집중시키기 위한 다양한 매트릭스 중 하나인 것으로 이해할 수 있다. 상술한 실시예에서는, 소정의 가중치 매트릭스를 적용한 결과가 DCT 결과의 신호 분포와 유사한 결과를 낳는다고 설명하였으나, 반드시 이에 한정될 필요는 없으며, DST(Discrete Sine Transform), KLT(Karhuhen-Loeve Transform) 등의 변환 결과의 신호 분포와 유사한 결과를 낳아도 되는 것으로 이해할 수 있다.
일 실시예에 따라, 오토인코더(504)에서 중간 결과(즉, 압축 신호)가 DCT 결과의 신호 분포와 같아지도록 설계되기 위해서는 FC 레이어를 이용하는 것이 바람직할 수 있다.
일 실시예에 따른 제 2 압축 신호(516)는 잔차 신호의 압축된 신호일 수 있다. 일 실시예에 따른 제 2 압축 신호(516)는 엔트로피 부호화부(506)에 입력되어 엔트로피 부호화될 수 있다. 엔트로피 부호화 과정에 대해서는 도 5a에서 전술하였으므로 자세한 설명은 생략하기로 한다.
일 실시예에 따른 오토인코더(504)는 디코딩 네트워크(518)를 통해, 제 2 압축 신호(516)를 복원한 출력 신호(520)를 생성하여 출력할 수 있다. 일 실시예에 따른 영상 부호화 장치(100)는 입력 신호(510)와 출력 신호(520)의 차이를 손실(loss)로 설정하고 역전파시킴으로써 오토인코더(504)를 학습시킬 수 있다. 일 실시예에 따른 오토인코더(504)는 입력 신호(510)와 출력 신호(520)가 서로 같아지도록 학습될 수 있다.
즉, 도 5b를 참조하면, 오토인코더(504)는 제 1 손실 및 제 2 손실의 합을 이용하여 학습되도록 설계된 네트워크일 수 있다. 이 때, 제 1 손실은 입력 신호(510)와 출력 신호(520) 사이의 에러에 해당하는 손실일 수 있다. 다시 말해, 제 1 손실은 입력 신호(510)를 오토인코더(504)를 통해 압축 및 환원함으로써 계산되는 손실일 수 있다. 그리고, 제 2 손실은 제 1 압축 신호(514) 및 제 2 압축 신호(516) 사이의 에러에 해당하는 손실일 수 있다. 다시 말해, 제 2 손실은 오토인코더(504)에 의해 압축된 제 1 압축 신호(514)의 신호 분포를 집중시킴으로써 계산되는 손실일 수 있다. 일 실시예에 따른 오토인코더(504)는 압축된 신호의 에너지를 블록의 좌상단에 집중시키도록 만들어 결과적으로 DCT의 에너지 집중도보다 더 좋은 성능을 내도록 학습될 수 있다.
도 5c 내지 5h는 다양한 CNN의 구조를 나타내는 도면이다.
도 5c를 참조하면, 일 실시예에 따른 기본 CNN의 구조가 도시된다.
도 5c를 참조하면, CNN(532)의 입력 레이어를 통해 입력 데이터(530)가 입력되고 CNN(532)의 출력 레이어를 통해 출력 데이터(534)가 출력된다. CNN(532)의 입력 레이어와 출력 레이어 사이에는 다수의 히든 레이어가 포함될 수 있다. 히든 레이어를 이루는 각 레이어는 컨볼루션 레이어 및 서브 샘플링 레이어를 포함할 수 있다. 컨볼루션 레이어는 컨볼루션 필터를 이용하여 각 레이어에 입력된 영상 데이터에 컨볼루션 연산을 수행하고, 특징 맵을 생성한다. 이때, 특징 맵은 입력 데이터(530)의 다양한 특징이 표현된 영상 데이터를 의미한다. 서브 샘플링 레이어는 샘플링 또는 풀링(pooling)을 통해 특징 맵의 크기를 감소시킨다. CNN(620)의 출력 레이어는 특징 맵에 표현된 다양한 특징을 조합하여 영상 데이터의 클래스(class)를 분류한다. 이때, 출력 레이어는 완전 연결 레이어로 구성될 수 있다.
일 실시예에 따른 CNN의 구조(예컨대, 히든 레이어의 수, 각 레이어에서의 필터의 수와 크기 등)는 미리 결정되며, 각 레이어에서의 필터(특히, 컨볼루션 필터)의 가중치 매트릭스(weight matrix)는 이미 어느 클래스에 속할지 정답이 알려진 데이터들을 이용하여 적절한 값으로 산정된다. 이와 같이 이미 정답이 알려진 데이터들은 '학습 데이터'로서 사용된다. 이 때, 필터의 가중치 매트릭스를 결정하는 과정은 곧 '학습'을 의미한다.
예를 들어, CNN(532)의 구조에서, 각 레이어 당 필터의 개수는 64개일 수 있으며, 각 필터의 크기는 3x3일 수 있다. 또한, 예를 들어, CNN(532)의 구조에서 총 레이어의 개수는 10개로 이루어질 수 있다. 그러나, 상술한 실시예는 단지 예시를 위한 것에 불과하며, 히든 레이어의 수, 각 레이어에서의 필터의 수와 크기 등은 다양한 형태에 따라 변경 실시될 수 있다.
도 5d를 참조하면, 다른 실시예에 따른 CNN의 구조가 도시된다.
도 5d의 CNN(540)은 복수개의 평행(parallel)한 레이어들로 구성된 네트워크일 수 있다. 즉, 복수개의 컨볼루션 레이어와 풀링 레이어가 나란히 배열될 수 있다. CNN(540)에서 이전 레이어로부터 출력된 결과는 분리된 복수개의 평행 레이어들에 입력될 수 있다. 분리된 복수개의 평행 레이어들은 각각 상이한 필터를 적용할 수 있다. 예를 들어, 분리된 복수개의 평행 레이어들은 1x1 컨볼루션으로 차원을 줄인 후 3x3, 5x5 등의 컨볼루션을 적용할 수 있다. 다른 레이어에서는 3x3 맥스 풀링을 수행한 후 컨볼루션을 적용할 수도 있다. 1x1 컨볼루션만을 적용하는 레이어는 초기 정보를 유지하는 아이덴티티 루프로서의 기능을 할 수 있다. 컨볼루션을 수행한 복수개의 평행 레이어들은 최종적으로 병합(concatenation)되어 현재 레이어의 계산 결과로서 출력될 수 있다. CNN(540)에 따르면 레이어가 항상 순차적으로 스택(stack)될 필요가 없다. CNN(540)의 구조는 비순차적으로 최적화된 구조의 네트워크가 순차적인 구조의 네트워크보다 오류가 적을 수 있다는 점에 기반한다.
도 5e를 참조하면, 다른 실시예에 따른 CNN의 구조가 도시된다.
도 5e의 CNN(550)은 스킵 레이어(skip layer)의 개념을 사용한 네트워크이다. CNN(550)은 과거 레이어의 입력이 현재 레이어의 출력과 더해지는 구조를 갖는다. CNN(550)에서 과거 레이어와 현재 레이어의 출력이 더해진 결과는 다음 레이어의 입력이 될 수 있다. 일반적인 CNN 구조에서는 다수의 레이어에서 컨볼루션과 풀링 과정을 거치면서 결과값의 크기가 지나치게 작아질 수 있다. 이 경우, 결과값의 정교한(detail) 정보가 사라질 수 있다. CNN(550)은 컨볼루션과 풀링 과정에서 과거의 결과를 재활용함으로써 정교한 부분을 보강할 수 있는 효과가 있다.
도 5f를 참조하면, 다른 실시예에 따른 CNN의 구조가 도시된다.
도 5f의 CNN(560)은 도 5e의 CNN(550)과 마찬가지로 스킵 레이어의 개념을 사용한 네트워크이다. 다만, CNN(560)은 과거의 결과가 임의 위치의 레이어의 입력으로 더해질 수 있다는 점에서 CNN(550)에 비해 레이어들 사이의 관계가 조밀(dense)한 특징을 갖는다. 더 나아가, CNN(560)은 과거 레이어가 컨볼루션 연산을 통해 계산한 결과를 임의 위치의 레이어의 입력 자체로 사용할 수도 있다.
도 5g를 참조하면, 다른 실시예에 따른 CNN의 구조가 도시된다.
도 5g의 CNN(570)은 다층 해상도(multi-resolution)의 피라미드(pyramid) 구조를 사용한 네트워크이다. CNN(570)은 직전의 컨볼루션 레이어의 결과를 여러 단계의 피라미드로 나눌 수 있다. 예를 들어, 1단계에서는 해상도가 스케일링되지 않고, 2단계에는 해상도가 1/2 x 1/2로 스케일링되고, 3단계에서는 해상도가 1/4 x 1/4로 스케일링될 수 있다. 이렇게 얻어진 여러 단계의 결과는 병합(concatenation)되어 완전 연결 레이어(fully connected layer)의 입력으로 사용될 수 있다. 컨볼루션 레이어는 영상의 크기에 영향을 받지 않지만, 완전 연결 레이어(fully connected layer)는 입력 영상의 크기에 제한을 받기 때문에 일반적인 네트워크에서는 입력 영상의 크기가 고정이 될 수 밖에 없었다. 그러나, CNN(570)과 같이 여러 단계의 피라미드 레벨에서 출력되는 특징들을 완전 연결 레이어의 입력으로 사용하고, 피라미드의 출력을 영상의 크기에 관계 없이 사전에 미리 정하면 더 이상 영상의 크기에 제한을 받지 않을 수 있다.
도 5h를 참조하면, 다른 실시예에 따른 CNN의 구조가 도시된다.
도 5h의 CNN(580)은 비선형 함수(ReLu) 이전 또는 이후에 배치 정규화(batch normalization)을 수행하는 구조를 갖는 네트워크이다. 배치 정규화 레이어는 히든 레이어의 앞 단에 위치하며 입력들의 분포를 조절하는 역할을 한다. 또한, 배치 정규화 레이어는 네트워크 내에 흡수된 레이어이므로 역전파(back-propagation)를 통해 관련 변수(스케일, 시프트)를 최적화할 수 있다. 입력의 분포를 개선하는 방식은 각 레이어로 입력되는 데이터에 대하여 평균을 0, 분산을 1로 정규화를 하고, 스케일 변수(γ)를 곱하고, 시프트 변수(β)만큼 더해주는 방식일 수 있다. 이 때, 스케일과 시프트 변수는 학습을 통해 결정될 수 있다. CNN(680)은 컨볼루션 결과를 정규화함으로써 그래디언트 배니싱(gradient vanishing) 또는 그래디언트 익스플로딩(gradient exploding)과 같은 문제점을 방지할 수 있다. 또한, 배치 정규화를 통해 학습 시간이 단축될 수 있으며, 학습의 정확도 개선될 수 있다.
개시된 실시예에서는, 도 5c 내지 5h를 통해 상술한 다양한 구조의 CNN이 적용될 수 있음은 물론이며, 이들의 가능한 조합들 또는 기 공지된 학습 네트워크와의 조합도 적용될 수 있다. 따라서, 상술한 다양한 구조의 CNN은 단지 설명의 편의를 위한 예시에 불과하며, 본 실시예에서는 다양한 방식의 변경된 구조를 갖는 CNN이 사용될 수 있음에 유의하여야 한다.
도 6a는 일 실시예에 따라 오토인코더(604)를 이용하여 영상을 부호화 및 복호화 하는 부호화부(600)의 블록도를 도시한다.
일 실시예에 따라 부호화부(600)는 입력된 영상의 원본신호(602)에 포함되는 블록들을 기준으로 예측을 수행할 수 있는 예측수행부(610), 예측신호와 원본신호(602)의 차이에 해당하는 잔차신호의 크기를 압축하거나 환원시킬 수 있는 오토인코더(604), 오토인코더(604)에 의해 압축된 잔차신호에 기초하여 엔트로피 부호화를 수행할 수 있는 엔트로피 부호화부(606), 오토인코더(604)에 의해 압축 및 환원된 잔차신호 및 예측수행부(610)에 의해 결정된 예측신호에 기초하여 복원신호가 결정된 경우 복원 신호에 대한 인루프(in-loop) 필터링을 수행하는 필터링부(608)를 포함할 수 있다.
일 실시예에 따라 오토인코더(604)는 원본신호(602)와 예측수행부(610)의 DPB(decoded picture buffer)에 저장된 참조픽쳐를 이용한 화면간 예측 또는 화면내 예측을 수행하여 획득한 예측신호와의 차이에 해당하는 잔차신호를 압축할 수 있다.
일 실시예에 따른 오토인코더(604)를 구성하는 복수의 레이어들 및 복수의 네트워크 노드들의 구조는 부호화부(600)에서 결정된 압축 정보에 기초하여 결정될 수 있다. 예를 들어, 부호화부(600)에서 결정된 압축 정보가 높은 압축 강도를 나타낼수록 오토인코더(604)를 구성하는 레이어들 및 네트워크 노드들의 개수는 증가할 수 있다. 한편, 압축 정보가 부호화부(600)에서 결정된 주관적 화질(예를 들면, VMAF 점수 또는 MOS 값)에 기초하여 정해질 수 있음은 도 2a를 통해 전술한 바와 같다.
도 5a에서 상술한 바와 같이 오토인코더(604)는 입력된 잔차신호에 대한 압축 및 환원 과정을 복수개의 레이어를 통해 수행할 수 있다. 오토인코더(604)에 의해 압축 및 환원 과정에서 공통적으로 이용되는 레이어인 공통레이어까지 잔차신호가 압축된 경우, 부호화부(600)는 공통레이어까지 압축된 잔차신호를 엔트로피 부호화부(606)의 입력으로서 이용하여 엔트로피 부호화를 수행할 수 있다.
일 실시예에 따라 오토인코더(604)는 복수개의 레이어를 거치면서 입력된 잔차신호에 대한 압축 및 환원 과정을 수행함으로써 환원 잔차신호를 획득할 수 있다. 이러한 환원 잔차신호는 예측수행부(610)에 의해 결정되는 예측신호에 기초하여 복원신호를 결정하기 위하여 이용될 수 있다. 환원 잔차신호 및 예측신호에 의해 결정되는 복원신호는 필터링부(608)를 통해 인루프 필터링(예를 들면, 디블록킹 필터링(deblocking filtering), SAO필터링 등)이 수행될 수 있다. 필터링된 환원 잔차신호는 예측수행부(610)의 DPB에 저장될 수 있으며 이후 예측과정에서 참조될 수 있다.
도 7a는 일 실시예에 따라 부호화부(700)가 오토인코더(708)의 입력과 출력에 수행할 수 있는 전처리(pre-processing) 및 후처리(post-processing) 과정을 도시한다.
일 실시예에 따라 부호화부(700)는 오토인코더(708)를 이용한 잔차신호의 압축 및 환원 과정에서 전처리 및 후처리과정을 수행함으로써 오토인코더(708)의 입력 및 출력을 변형할 수 있다.
도 7a를 참조하면 일 실시예에 따라 부호화부(700)는 주관적 화질이 변경되는 압축강도로 영상을 부호화하는 과정에서 이용되는 압축정보를 생성하는 압축정보 생성부(704), 잔차신호(702)에 대한 전처리를 수행하는 전처리부(706), 압축정보 생성부(704)에 의해 생성된 압축 정보에 기초하여 잔차신호를 압축하는 과정을 수행하고 다시 원래대로 환원시키는 오토인코더(708), 및 압축된 잔차신호를 엔트로피 부호화할 수 있는 엔트로피 부호화부(710), 오토인코더(708)에 의해 환원된 잔차신호에 대한 후처리를 수행하는 후처리부(712)를 포함할 수 있다. 압축정보 생성부(704), 오토인코더(708), 엔트로피 부호화부(710)에 대한 설명은 도 5a에서 상술하였으므로 자세한 설명은 생략하기로 한다.
일 실시예에 따라 원본 신호에서 예측 신호를 차분하여 결정되는 잔차신호는 값의 크기가 작고, 다이나믹레인지(dynamic range)가 특정 구간으로 밀집되는 특성이 있다. 전처리부(706)는 오토인코더(708)에 입력되는 잔차신호에 전처리를 수행하여 오토인코더(708)에 입력되는 신호의 크기 및 다이나믹레인지를 오토인코더(708)의 효율적인 압축 및 환원이 가능한 신호로 변경할 수 있다. 일 실시예에 따라 전처리부(706)는 정규화(normalization) 및 히스토그램 평활화(histogram equalization) 등의 전처리를 수행하여 잔차신호의 크기 또는 다이나믹 레인지를 변경할 수 있다.
일 실시예에 따라 전처리된 잔차신호를 오토인코더(708)에 입력함으로써 출력되는 환원 잔차신호는 후처리부(712)에 의해 후처리 과정이 수행될 수 있다. 일 실시예에 따라 후처리 과정은 전처리부(706)에서 수행한 전처리 과정과 유사하거나 반대되는 과정일 수 있다. 즉, 후처리부(712)는 후처리를 통해 전처리되기 전의 원본 잔차신호로 복원하기 위한 과정을 수행할 수 있다. 부호화부(700)는 후처리부(712)에서의 오토인코더(708)에서 출력된 환원 잔차신호에 대한 후처리 결과(714)와 예측신호를 이용하여 복원신호를 결정할 수 있다.
일 실시예에 따라 영상 부호화 장치(100)의 후처리부(712)는 미리 결정된 후처리 수행 방법을 이용하여 후처리를 수행할 수 있다. 일 실시예에 따라 후처리부(712)는 미리 결정된 조건에 기초하여 결정된 복수개의 후처리 수행 방법 중 하나에 따라 후처리를 수행할 수 있다. 일 실시예에 따라 미리 결정된 조건은 후처리부(712)에 입력되는 신호의 크기 및 분포 등에 대한 조건일 수 있으며, 후처리부(712)는 미리 결정된 조건에 대응하는 방법에 기초하여 후처리를 수행할 수 있다.
일 실시예에 따라 영상 부호화 장치(100)의 후처리부(712)는 미리 결정된 방법에 기초하여 후처리를 수행할 수 있으며, 미리 결정된 방법은 미리 결정된 전처리 수행 방법에 대응하는 방법으로서 전처리부(706)에서 수행된 전처리 방법에 대응하는 방법일 수 있다. 일 실시예에 따라 전처리부(706)는 입력 신호의 크기는 1/n배 축소하고 분포는 n배 넓어지는 방법으로 전처리를 수행하고, 후처리부(712)는 입력 신호의 크기는 n배 확대하고 분포는 1/n배 축소되는 방법으로 후처리를 수행하는 것으로 미리 결정할 수 있다.
일 실시예에 따라 전처리 수행 방법에 대한 정보, 후처리 과정에서 이용되는 미리 결정된 조건, 전처리 수행 방법에 대응하는 미리 결정된 후처리 수행 방법 중 적어도 하나가 별도의 서버(미도시)를 통해 공유될 수 있다. 일 실시예에 따라 영상 부호화 장치(100)의 전처리부(706)에 의해 수행된 전처리 수행 방법을 서버(미도시)로 전송할 수 있다. 이후 복호화 측의 후처리 과정에서, 복호화 측에서는 서버로부터 획득된 정보에 기초하여 전처리 수행 방법에 대한 정보, 후처리 과정에서 이용되는 미리 결정된 조건, 전처리 수행 방법에 대응하는 미리 결정된 후처리 수행 방법 중 적어도 하나를 결정할 수 있다.
일 실시예에 따라 비트스트림 생성부(120)는 오토인코더(504)의 레이어의 개수, 각 레이어의 노드 개수 등을 나타내는 오토인코더정보, 전처리 수행방법 및 후처리 수행 방법을 포함하는 비트스트림을 생성할 수 있다. 일 실시예에 따라 오토인코더정보와 전처리 또는 후처리 수행방법과 관련된 비트스트림은 서로 구분되는 NAL 유닛에 포함되는 것일 수 있다.
일 실시예에 따라 비트스트림 생성부(120)는 이후에 포함되는 소정의 개수의 NAL유닛들은 오토인코더정보에 관련된 NAL 유닛과 전처리 수행방법과 관련된 NAL 유닛임을 나타내는 헤더정보를 포함하는 비트스트림을 생성할 수 있다. 비트스트림 생성부(120)는 헤더정보를 포함하는 비트스트림 이후에 오토인코더정보에 관련된 NAL 유닛과 전처리 수행방법과 관련된 NAL 유닛을 포함시킴으로써, 이후의 NAL 유닛에는 다양한 실시예를 통해 상술된 오토인코더(504), 전처리부(706)에서 수행되는 데이터 처리 방법을 포함하는 정보가 포함된 것임을 나타낼 수 있다.
도 8은 일 실시예에 따라 전처리부(706) 또는 후처리부(712)에 의해 전처리 또는 후처리 된 결과를 도시한다.
일 실시예에 따라 전처리부(706)에 의해 전처리된 신호는 전처리되기 전의 신호보다 다이나믹 레인지가 넓어지고, 소정 범위의 신호의 절대값이 변경(예를 들면, 소정값 이하의 크기의 신호를 확대)된 신호일 수 있고, 후처리부(712)에 의해 후처리된 신호는 후처리되기 전의 신호보다 다이나믹 레인지가 좁아지고, 소정 범위의 신호의 절대값이 변경(예를 들면, 소정값 이상의 크기의 신호를 축소)된 신호일 수 있다. 일 실시예에 따라 전처리부(706) 및 후처리부(712)에 의해 수행되는 전처리 및 후처리 과정은 서로 반대되는 과정일 수 있다.
일 실시예에 따라 부호화부(110)에 수행될 수 있는 과정으로서 상술한 다양한 실시예들은 영상의 부호화 과정에서 이용될 수 있는 다양한 데이터 단위들을 기준으로 수행될 수 있다. 일 실시예에 따라 부호화부(110)는 비디오, 시퀀스, 프레임, 슬라이스, 슬라이스 세그먼트, 최대부호화단위, 부호화단위, 예측단위, 변환단위, 프로세싱 단위 등을 포함하는 다양한 데이터 단위를 이용하여 영상을 부호화 하는 과정을 수행할 수 있다. 일 실시예에 따라 부호화부(110)는 전처리 및 후처리 과정을 프레임 마다 수행할 수 있다. 일 실시예에 따라 부호화부(110)는 오토인코더에 의한 압축 및 환원 과정을 부호화단위, 예측단위 또는 변환단위에 기초하여 수행할 수 있다. 일 실시예에 따라 부호화부(110)는 프레임마다 주관적 화질을 결정할 수 있다. 부호화부(110)는 주관적 화질에 기초하여 결정된 적어도 하나의 압축 강도로 영상을 압축할 때 이용한 압축정보를 포함하는 비트스트림을 슬라이스마다 생성할 수 있다. 일 실시예에 따라 부호화부(110)는 오토인코더에 입력되는 잔차신호의 해상도를 변경하는 과정을 부호화 단위마다 수행할 수 있다. 다만 부호화부(110)가 소정의 과정을 수행하는 데 이용하는 데이터단위들은 상술한 실시예들에 의해 한정하여 해석되어서는 안되고, 당업자가 이용할 수 있는 범위 내에서 다양한 데이터 단위들이 이용될 수 있는 것으로 해석될 수 있다. 영상 부호화 장치(100)가 이용할 수 있는 다양한 데이터 단위들의 특징은 이하의 도 10 내지 도 23을 통해 후술하도록 한다.
이하에서는 영상 부호화 장치(100)에 의해 부호화된 신호를 획득하여 영상을 복호화 할 수 있는 영상 복호화 장치에 대하여 설명하도록 한다.
도 1b는 일 실시예에 따라 DNN을 이용하여 영상을 복호화하는 영상 복호화 장치(150)에 대한 블록도이다.
일 실시예에 따라 영상 복호화 장치(150)는 영상을 복호화 하여 복원하기 위한 과정을 수행할 수 있는 복호화부(160) 및 부호화된 영상과 관련된 정보를 포함하는 비트스트림을 획득할 수 있는 비트스트림 획득부(170)를 포함할 수 있다.
일 실시예에 따라 복호화부(160)는 메모리 및/또는 저장 장치에 저장된 프로그램 명령(program command)을 실행할 수 있다. 복호화부(160)는 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 장치(Graphics Processing Unit; GPU)등을 포함하는 적어도 하나의 프로세서(processor)를 포함할 수 있다.
일 실시예에 따라 비트스트림 획득부(170)는 복호화부(160)가 복호화 과정에서 이용할 수 있도록 부호화된 영상에 관련된 정보 및 부호화에 이용된 다양한 정보들을 포함하는 비트스트림을 획득할 수 있다.
도 2b는 일 실시예에 따라 영상 복호화 장치(150)가 주관적 화질의 변곡점에 기초하여 영상을 부호화 하는 방법에 대한 흐름도이다. 일 실시예에 따라 주관적 화질이란 영상의 화질을 평가하는 다양한 평가 항목 중 하나인 사용자가 영상을 보고 체감할 수 있는 화질에 해당할 수 있다.
S210단계에서 영상 복호화 장치(150)의 비트스트림 획득부(170)는 적어도 하나의 압축 강도로 영상이 압축되는 과정에서 이용된 압축 정보를 비트스트림으로부터 획득할 수 있다.
일 실시예에 따라 획득된 압축 정보는 복호화하려는 영상이 압축되는 과정에서 어떤 압축 강도가 이용되었는지를 나타내는 정보일 수 있다. 일 실시예에 따라 압축 정보가 나타낼 수 있는 적어도 하나의 압축 강도는 영상을 압축하였을 때의 주관적 화질에 기초하여 결정된 것일 수 있다.
일 실시예에 따라 영상 복호화 장치(150)의 비트스트림 획득부(170)는 주관적 화질이 달라지는 적어도 하나의 압축강도를 이용하여 영상을 부호화할 때 이용된 압축 정보를 포함하는 비트스트림을 획득할 수 있다. 복호화부(160)는 획득된 압축 정보를 이용하여 DNN를 이용하여 주관적 화질이 결정된 영상을 복호화할 수 있다. 일 실시예에 따라 획득된 압축 정보에서 나타내는 적어도 하나의 압축 강도는 주관적 화질(예를 들면, VMAF 점수 또는 MOS값)이 달라지는 압축 강도일 수 있다.
도 3은 일 실시예에 따라 영상을 압축하는 과정에서 영상의 객관적 화질 및 주관적 화질이 달라지는 것을 도시한다.
일 실시예에 따라 복호화부(160)는 영상을 부호화 하기 위하여 미리 결정된 다양한 압축강도로 영상을 압축할 수 있다. 영상을 압축함에 따라 화질저하가 발생할 수 있으며 화질 저하 여부는 객관적 화질 평가 및 주관적 화질 평가에 의해 결정될 수 있다. 일 실시예에 따라 압축강도란 원본 영상에 비하여 손실되는 데이터량이 얼마나 되는지에 따라 결정될 수 있으며, 무손실 압축이 아닌 손실압축을 통한 압축률을 의미할 수 있다. 이러한 압축강도는 시간적 및 공강적 중복성을 제거하는 예측 과정, 인지 시각 기반의 변환 과정 및 양자화 과정, 및 엔트로피 부호화 과정에서 이용되는 다양한 정보를 포함할 수 있다. 영상 복호화 장치(150)가 이용하는 압축 정보가 결정되는 과정에 대하여는 영상 부호화 장치(100)와 관련하여 도 3, 도 4a 및 도 4b를 통해 상술하였으므로 자세한 설명은 생략한다.
S212단계에서 영상 복호화 장치(150)는 일 실시예에 따라 비트스트림으로부터 획득한 압축정보에 기초하여 영상의 잔차신호를 복호화 할 수 있으며, 복호화부(160)는 오토인코더를 이용한 잔차신호 복호화 과정을 수행할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 복수개의 레이어를 포함하는 신경망인 DNN으로서, 심층 컨볼루셔널 신경망(Deep Convolutional Neural Networks)을 이용하여 주관적 화질을 결정할 수 있다.
도 5a는 일 실시예에 따라 부호화부(500)에 포함된 오토인코더(504)의 동작을 설명하기 위한 블록도이다. 도 5a의 오토인코더(504)는 잔차신호를 압축 및 환원시키기 위한 복수개의 레이어를 포함하는 네트워크 구조를 가진다. 복호화부(160)는 비트스트림으로부터 획득한 압축된 잔차신호를 환원시키기 위한 동작이 수행되어야 하며, 일 실시예에 따라 복호화부(160)에 포함되는 오토인코더는 부호화부(500)의 오토인코더(504)의 네트워크 구조에 대응하는 구조를 가질 수 있다. 일 실시예에 따라 복호화부(160)의 오토인코더는 부호화부(500)의 오토인코더(504)의 환원을 위한 레이어들을 이용하여 잔차신호를 환원할 수 있다. 복호화부(160)의 오토인코더의 동작에 대한 설명은, 부호화부(500)의 오토인코더(504)의 동작과 관련하여 도 5a에서 상술하였으므로 자세한 설명은 생략한다.
일 실시예에 따라 비트스트림 획득부(170)는 오토인코더(504)의 레이어의 개수, 각 레이어에 포함되는 노드의 개수 등을 나타내는 오토인코더정보를 비트스트림으로부터 획득할 수 있다. 일 실시예에 따라 복호화부(160)는 오토인코더(504)의 공통 레이어에 포함되는 노드 개수를 나타내는 오토인코더정보를 비트스트림으로부터 획득하여 오토인코더(504)를 이용한 복호화 과정을 수행할 수 있다. 다만 오토인코더정보에 대한 상술한 특징은 일 실시예에 불과하며, 당업자가 용이하게 실시할 수 있는 범위 내에서 복호화부(160)에 의해 이용될 오토인코더(504)의 특징을 나타내는 정보가 다양하게 포함될 수 있는 것으로 해석되어야 한다.
도 6b는 일 실시예에 따라 오토인코더(624)를 이용하여 영상을 복호화 하는 복호화부(620)의 블록도를 도시한다.
일 실시예에 따라 영상 복호화 장치(150)의 비트스트림 획득부(170)에 의해 획득되는 잔차신호(621)를 엔트로피 복호화하는 엔트로피 복호화부(622), 획득된 잔차신호의 크기를 환원시킬 수 있는 오토인코더(624), 복원될 영상에 포함되는 블록을 기준으로 예측을 수행할 수 있는 예측수행부(626), 오토인코더(624)에 의해 환원된 잔차신호 및 예측수행부(626)에 의해 결정된 예측신호에 기초하여 복원신호가 결정된 경우, 복원신호에 대한 인루프(in-loop) 필터링을 수행하는 필터링부(628)를 포함할 수 있다.
도 5a 및 도 5b에서 상술한 바와 같이 오토인코더(624)는 DCT 결과와 같이 신호 분포가 집중된 압축 신호에 대한 환원 과정을 복수개의 레이어를 통해 수행할 수 있다. 일 실시예에 따라 오토인코더(624)는 복수개의 레이어를 거치면서 입력된 잔차신호(즉, 압축 신호)에 대한 환원 과정을 수행함으로써 환원 잔차신호를 획득할 수 있다. 이러한 환원 잔차신호는 예측수행부(626)에 의해 결정되는 예측신호에 기초하여 복원신호를 결정하기 위하여 이용될 수 있다. 환원 잔차신호 및 예측신호에 의해 결정되는 복원신호는 필터링부(628)를 통해 인루프 필터링(예를 들면, 디블록킹 필터링(deblocking filtering), SAO필터링 등)이 수행될 수 있다. 필터링된 환원 잔차신호는 예측수행부(626)의 DPB에 저장될 수 있으며 이후 예측과정에서 참조될 수 있다.
부호화부(600) 내에서 오토인코더(604)의 네트워크 구조가 압축 정보에 기초하여 결정되듯이, 복호화부(620) 내의 오토인코더(624)의 네트워크 구조도 마찬가지로 압축 정보에 기초하여 결정될 수 있다. 일 실시예에 따라, 복호화부(600)는 비트스트림으로부터 획득한 압축 정보에 기초하여 오토인코더(624)의 네트워크 구조를 결정할 수 있다. 일 실시예에 따른 압축 정보는 양자화 파라미터, 비트레이트 등의 정보를 포함할 수 있다. 일 실시예에 따른 압축 정보는 부호화부(600)에서 결정된 주관적 화질(예를 들면, VMAF 점수 또는 MOS 값)에 기초하여 결정될 수 있다.
일 실시예에 따른 오토인코더(624)를 구성하는 복수의 레이어들 및 복수의 네트워크 노드들의 구조는 부호화부(600)의 오토인코더(604)의 네트워크 구조와 대응할 수 있다.
도 7b는 일 실시예에 따라 복호화부(750)가 오토인코더(756)의 출력에 수행할 수 있는 후처리(post-processing) 과정을 도시한다.
일 실시예에 따라 복호화부(750)는 오토인코더(756)를 이용한 잔차신호의 압축 및 환원 과정에서 전처리 및 후처리과정을 수행함으로써 오토인코더(708)의 입력 및 출력을 변형할 수 있다.
도 7b를 참조하면 일 실시예에 따라 복호화부(750)는 수신된 비트스트림으로부터 잔차신호(752) 및 압축 정보를 획득하기 위하여 엔트로피 복호화를 수행하는 엔트로피 복호화부(754), 비트스트림으로부터 획득된 압축 정보에 기초하여 잔차신호를 압축하는 과정을 수행하고 다시 원래대로 환원시키는 오토인코더(756), 및 오토인코더(756)에 의해 환원된 잔차신호에 대한 후처리)를 수행하는 후처리부(758)를 포함할 수 있다. 오토인코더(756), 엔트로피 복호화부(754)에 대한 설명은 도 5a, 도 6b에서 상술하였으므로 자세한 설명은 생략하기로 한다.
일 실시예에 따라 전처리된 잔차신호를 오토인코더(756)에 입력함으로써 출력되는 환원 잔차신호는 후처리부(756)에 의해 후처리 과정이 수행될 수 있다. 일 실시예에 따라 후처리 과정은 부호화부(700)의 전처리부(706)에서 수행한 전처리 과정과 유사하거나 반대되는 과정일 수 있다. 즉, 후처리부(756)는 후처리를 통해 전처리되기 전의 원본 잔차신호로 복원하기 위한 과정을 수행할 수 있다. 복호화부(750)는 후처리부(756)에서의 오토인코더(756)에서 출력된 환원 잔차신호에 대한 후처리 결과와 예측신호를 이용하여 복원신호를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 비트스트림으로부터 전처리의 수행 방법과 관련된 정보를 획득할 수 있고, 복호화부(750)는 획득된 정보에 기초하여 전처리 과정에 대응하는 후처리 과정을 환원 잔차신호에 수행할 수 있다. 일 실시예에 따라 전처리의 수행 방법과 관련된 정보는 잔차신호의 크기의 변경방법, 잔차신호의 분포의 변경방법, 전처리부(706)에서 이용된 필터 세트(예를 들면, 전처리 과정에서 이용된 분포 모델, 전처리 과정에서 이용된 테이블 정보) 등의 정보를 포함할 수 있다.
일 실시예에 따라 후처리부(756)에 의해 후처리된 신호는 후처리되기 전의 신호보다 다이나믹 레인지가 좁아지고, 소정 범위의 신호의 절대값이 변경(예를 들면, 소정값 이상의 크기의 신호를 축소)된 신호일 수 있다. 일 실시예에 따라 후처리부(756)에 의해 수행되는 후처리 과정은 부호화 과정에서 수행된 전처리 과정과 서로 반대되는 과정일 수 있다.
일 실시예에 따라 영상 복호화 장치(150)의 후처리부(756)는 미리 결정된 후처리 수행 방법을 이용하여 후처리를 수행할 수 있다. 일 실시예에 따라 후처리부(756)는 미리 결정된 조건에 기초하여 결정된 복수개의 후처리 수행 방법 중 하나에 따라 후처리를 수행할 수 있다. 일 실시예에 따라 미리 결정된 조건은 후처리부(756)에 입력되는 신호의 크기 및 분포 등에 대한 조건일 수 있으며, 후처리부(756)는 미리 결정된 조건에 대응하는 방법에 기초하여 후처리를 수행할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)의 후처리부(756)은 미리 결정된 방법에 기초하여 후처리를 수행할 수 있으며, 미리 결정된 방법은 미리 결정된 전처리 수행 방법에 대응하는 방법으로서 전처리부(706)에서 수행된 전처리 방법에 대응하는 방법일 수 있다. 일 실시예에 따라 전처리부(706)는 입력 신호의 크기는 1/n배 축소하고 분포는 n배 넓어지는 방법으로 전처리를 수행하고, 후처리부(756)는 입력 신호의 크기는 n배 확대하고 분포는 1/n배 축소되는 방법으로 후처리를 수행하는 것으로 미리 결정할 수 있다.
일 실시예에 따라 전처리 수행 방법에 대한 정보, 후처리 과정에서 이용되는 미리 결정된 조건, 전처리 수행 방법에 대응하는 미리 결정된 후처리 수행 방법 중 적어도 하나가 별도의 서버(미도시)를 통해 공유될 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 서버(미도시)로부터 획득한 정보에 기초하여 전처리 수행 방법에 대한 정보, 후처리 과정에서 이용되는 미리 결정된 조건, 전처리 수행 방법에 대응하는 미리 결정된 후처리 수행 방법 중 적어도 하나를 결정할 수 있다.
일 실시예에 따라 비트스트림 획득부(170)는 이후에 포함되는 소정의 개수의 NAL유닛들은 오토인코더정보에 관련된 NAL 유닛과 후처리 수행방법과 관련된 NAL 유닛임을 나타내는 헤더정보를 비트스트림으로부터 획득할 수 있다. 비트스트림 획득부(170)는 헤더정보를 비트스트림으로부터 획득한 후, 오토인코더정보에 관련된 NAL 유닛과 후처리 수행방법과 관련된 NAL 유닛을 획득할 수 있다. 복호화부(160)는 헤더정보 획득에 따라 획득되는 NAL 유닛에 포함되는 오토인코더(624) 또는 후처리부(756)에서 수행되는 데이터 처리 방법을 이용하여 오토인코더(624) 또는 후처리부(756)를 이용한 복호화를 수행할 수 있다. 일 실시예에 따라 후처리 수행방법은 영상 부호화 장치(100)가 수행한 전처리 수행 방법에 대응하는 방법으로서 복호화부(160)가 수행할 후처리 과정에 필요한 정보를 포함할 수 있다.
도 9는 일 실시예에 따라 부호화부(900) 또는 복호화부(920)에 의해 잔차신호의 확대 또는 축소될 수 있는 특징을 설명하기 위한 도면이다.
일 실시예에 따라 부호화부(900)는 예측을 수행하여 획득된 예측신호와 원본신호(902)의 차이에 해당하는 잔차신호의 해상도를 줄일 수 있는 잔차신호 축소부(903) 및 잔차신호 축소부(903)에 의해 해상도가 축소된 잔차신호를 압축하거나 환원시킬 수 있는 오토인코더(904)를 포함할 수 있다.
일 실시예에 따라 복호화부(920)는 비트스트림으로부터 획득한 잔차신호의 환원을 수행함으로써 환원 잔차신호를 획득할 수 있는 오토인코더(924) 및 오토인코더(924)에 의해 출력된 잔차신호의 해상도를 증가시킬 수 있는 잔차신호 확대부(925)를 포함할 수 있다.
일 실시예에 따라 잔차신호 축소부(903)는 오토인코더(904)에 입력될 잔차신호의 해상도를 축소시킴으로써 오토인코더(904)의 효율을 증가시킬 수 있다. 오토인코더(904)에 입력되는 정보량을 효율적으로 줄임으로써 오토인코더의 효율이 증가될 수 있다. 일 실시예에 따라 잔차신호 축소부(903)는 DNN을 이용한 다운샘플링(down-sampling) 과정을 수행함으로써 잔차신호의 해상도를 줄일 수 있다. 잔차신호 확대부(925)는 오토인코더(924)에 의해 출력되는 잔차신호의 해상도를 확대시킴으로써, 부호화 과정에서 축소된 잔차신호의 해상도를 복원할 수 있다. 일 실시예에 따라 잔차신호 확대부(925)는 DNN을 이용한 업샘플링(up-sampling) 과정을 수행함으로써 잔차신호의 해상도를 확대시킬 수 있다.
일 실시예에 따라 잔차신호 축소부(903) 및 잔차신호 확대부(925)에서 이용되는 DNN은 다운샘플링 및 업샘플링을 수행하는 과정에서 생성되는 정보를 공유하여 학습된 네트워크 구조를 가질 수 있다.
일 실시예에 따라 잔차신호 축소부(903)에서 이용되는 다운샘플링을 위한 DNN은 다운샘플링에 의해 발생하는 손실(loss)을 나타내는 적어도 하나의 손실정보의 합이 최소화되도록 다운샘플링을 위한 DNN이 학습될 수 있다. 나아가, 적어도 하나의 손실정보 중 일부는 압축영상이 복호화 된 후 업샘플링이 수행됨으로써 복원된 영상과 다운샘플링이 수행되기 전의 원본 영상 간의 비교 결과에 기초하여 결정될 수 있고, 비교 결과는 업샘플링을 위한 DNN의 학습 과정에서 이용되는 것일 수 있다.
일 실시예에 따라 잔차신호 확대부(925)에서 이용되는 업샘플링을 위한 DNN은 압축영상이 복호화 된 후 업샘플링이 수행됨으로써 복원된 영상과 다운샘플링이 수행되기 전의 원본 영상 간의 비교에 의해 결정되는 적어도 하나의 손실정보의 합이 최소화되도록 학습될 수 있다. 나아가, 적어도 하나의 손실정보 중 일부는 다운샘플링을 위한 DNN의 학습 과정에서 이용될 수 있다.
일 실시예에 따라 복호화부(160)에 수행될 수 있는 과정으로서 상술한 다양한 실시예들은 영상의 복호화 과정에서 이용될 수 있는 다양한 데이터 단위들을 기준으로 수행될 수 있다. 일 실시예에 따라 복호화부(160)는 비디오, 시퀀스, 프레임, 슬라이스, 슬라이스 세그먼트, 최대부호화단위, 부호화단위, 예측단위, 변환단위, 프로세싱 단위 등을 포함하는 다양한 데이터 단위를 이용하여 영상을 복호화 하는 과정을 수행할 수 있다. 일 실시예에 따라 복호화부(160)는 후처리 과정을 프레임마다 수행할 수 있다. 일 실시예에 따라 복호화부(160)는 오토인코더에 의한 환원 과정을 부호화단위, 예측단위 또는 변환단위에 기초하여 수행할 수 있다. 복호화부(160)는 주관적 화질에 기초하여 결정된 적어도 하나의 압축 강도로 영상을 압축할 때 이용한 압축정보를 슬라이스마다 비트스트림으로부터 획득할 수 있다. 일 실시예에 따라 복호화부(160)는 오토인코더에서 출력되는 잔차신호의 해상도를 변경하는 과정을 부호화 단위마다 수행할 수 있다. 다만 복호화부(160)가 소정의 과정을 수행하는 데 이용하는 데이터단위들은 상술한 실시예들에 의해 한정하여 해석되어서는 안되고, 당업자가 이용할 수 있는 범위 내에서 다양한 데이터 단위들이 이용될 수 있는 것으로 해석될 수 있다.
영상 복호화 장치(150)가 이용할 수 있는 다양한 데이터 단위들의 특징은 이하의 도 10 내지 도 23을 통해 후술하도록 한다.
한편, 일 실시예에 따른 심층 컨볼루셔널 신경망 및 오토인코더는, 소프트웨어 모듈로 구현될 수 있다. 소프트웨어 모듈(예를 들어, 명령어(instruction)를 포함하는 프로그램 모듈)로 구현되는 경우, 심층 컨볼루셔널 신경망 및 오토인코더는 컴퓨터로 읽을 수 있는 판독 가능한 기록매체에 저장될 수 있다.
또한, 심층 컨볼루셔널 신경망 및 오토인코더는 하드웨어 칩 형태로 집적되어 전술한 부호화부(110) 또는 복호화부(160)의 일부가 될 수도 있다. 예를 들어, 심층 컨볼루셔널 신경망 및 오토인코더는 인공 지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예를 들어, CPU 또는 애플리케이션 프로세서) 또는 그래픽 전용 프로세서(예를 들어, GPU)의 일부로 제작될 수도 있다.
또한, 심층 컨볼루셔널 신경망 및 오토인코더는 다운로드 가능한 소프트웨어 형태로 제공될 수도 있다. 컴퓨터 프로그램 제품은 제조사 또는 전자 마켓을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션)을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사 또는 전자 마켓의 서버, 또는 중계 서버의 저장매체가 될 수 있다.
이하, 도 10 내지 도 23을 참조하여 일 실시예에 따른 영상의 데이터 단위를 결정하는 방법이 상술된다.
도 10은 일 실시예에 따라 영상 복호화 장치(150)가 현재 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 블록 형태 정보를 이용하여 부호화 단위의 형태를 결정할 수 있고, 분할 형태 정보를 이용하여 부호화 단위가 어떤 형태로 분할되는지를 결정할 수 있다. 즉, 영상 복호화 장치(150)가 이용하는 블록 형태 정보가 어떤 블록 형태를 나타내는지에 따라 분할 형태 정보가 나타내는 부호화 단위의 분할 방법이 결정될 수 있다.
일 실시예에 따라, 영상 복호화 장치(150)는 현재 부호화 단위가 정사각형 형태임을 나타내는 블록 형태 정보를 이용할 수 있다. 예를 들어 영상 복호화 장치(150)는 분할 형태 정보에 따라 정사각형의 부호화 단위를 분할하지 않을지, 수직으로 분할할지, 수평으로 분할할지, 4개의 부호화 단위로 분할할지 등을 결정할 수 있다. 도 10을 참조하면, 현재 부호화 단위(1000)의 블록 형태 정보가 정사각형의 형태를 나타내는 경우, 복호화부(1030)는 분할되지 않음을 나타내는 분할 형태 정보에 따라 현재 부호화 단위(1000)와 동일한 크기를 가지는 부호화 단위(1010a)를 분할하지 않거나, 소정의 분할방법을 나타내는 분할 형태 정보에 기초하여 분할된 부호화 단위(1010b, 1010c, 1010d 등)를 결정할 수 있다.
도 10을 참조하면 영상 복호화 장치(150)는 일 실시예에 따라 수직방향으로 분할됨을 나타내는 분할 형태 정보에 기초하여 현재 부호화 단위(1000)를 수직방향으로 분할한 두개의 부호화 단위(1010b)를 결정할 수 있다. 영상 복호화 장치(150)는 수평방향으로 분할됨을 나타내는 분할 형태 정보에 기초하여 현재 부호화 단위(1000)를 수평방향으로 분할한 두개의 부호화 단위(1010c)를 결정할 수 있다. 영상 복호화 장치(150)는 수직방향 및 수평방향으로 분할됨을 나타내는 분할 형태 정보에 기초하여 현재 부호화 단위(1000)를 수직방향 및 수평방향으로 분할한 네개의 부호화 단위(1010d)를 결정할 수 있다. 다만 정사각형의 부호화 단위가 분할될 수 있는 분할 형태는 상술한 형태로 한정하여 해석되어서는 안되고, 분할 형태 정보가 나타낼 수 있는 다양한 형태가 포함될 수 있다. 정사각형의 부호화 단위가 분할되는 소정의 분할 형태들은 이하에서 다양한 실시예를 통해 구체적으로 설명하도록 한다.
도 11은 일 실시예에 따라 영상 복호화 장치(150)가 비-정사각형의 형태인 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위가 비-정사각형 형태임을 나타내는 블록 형태 정보를 이용할 수 있다. 영상 복호화 장치(150)는 분할 형태 정보에 따라 비-정사각형의 현재 부호화 단위를 분할하지 않을지 소정의 방법으로 분할할지 여부를 결정할 수 있다. 도 11을 참조하면, 현재 부호화 단위(1100 또는 1150)의 블록 형태 정보가 비-정사각형의 형태를 나타내는 경우, 영상 복호화 장치(150)는 분할되지 않음을 나타내는 분할 형태 정보에 따라 현재 부호화 단위(1100 또는 1150)와 동일한 크기를 가지는 부호화 단위(1110 또는 1160)를 분할하지 않거나, 소정의 분할방법을 나타내는 분할 형태 정보에 따라 기초하여 분할된 부호화 단위(1120a, 1120b, 1130a, 1130b, 1130c, 1170a, 1170b, 1180a, 1180b, 1180c)를 결정할 수 있다. 비-정사각형의 부호화 단위가 분할되는 소정의 분할 방법은 이하에서 다양한 실시예를 통해 구체적으로 설명하도록 한다.
일 실시예에 따라 영상 복호화 장치(150)는 분할 형태 정보를 이용하여 부호화 단위가 분할되는 형태를 결정할 수 있고, 이 경우 분할 형태 정보는 부호화 단위가 분할되어 생성되는 적어도 하나의 부호화 단위의 개수를 나타낼 수 있다. 도 11를 참조하면 분할 형태 정보가 두개의 부호화 단위로 현재 부호화 단위(1100 또는 1150)가 분할되는 것을 나타내는 경우, 영상 복호화 장치(150)는 분할 형태 정보에 기초하여 현재 부호화 단위(1100 또는 1150)를 분할하여 현재 부호화 단위에 포함되는 두개의 부호화 단위(1120a, 11420b, 또는 1170a, 1170b)를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)가 분할 형태 정보에 기초하여 비-정사각형의 형태의 현재 부호화 단위(1100 또는 1150)를 분할하는 경우, 비-정사각형의 현재 부호화 단위(1100 또는 1150)의 긴 변의 위치를 고려하여 현재 부호화 단위를 분할할 수 있다. 예를 들면, 영상 복호화 장치(150)는 현재 부호화 단위(1100 또는 1150)의 형태를 고려하여 현재 부호화 단위(1100 또는 1150)의 긴 변을 분할하는 방향으로 현재 부호화 단위(1100 또는 1150)를 분할하여 복수개의 부호화 단위를 결정할 수 있다.
일 실시예에 따라, 분할 형태 정보가 홀수개의 블록으로 부호화 단위를 분할하는 것을 나타내는 경우, 영상 복호화 장치(150)는 현재 부호화 단위(1100 또는 1150)에 포함되는 홀수개의 부호화 단위를 결정할 수 있다. 예를 들면, 분할 형태 정보가 3개의 부호화 단위로 현재 부호화 단위(1100 또는 1150)를 분할하는 것을 나타내는 경우, 영상 복호화 장치(150)는 현재 부호화 단위(1100 또는 1150)를 3개의 부호화 단위(1130a, 1130b, 1130c, 1180a, 1180b, 1180c)로 분할할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위(1100 또는 1150)에 포함되는 홀수개의 부호화 단위를 결정할 수 있으며, 결정된 부호화 단위들의 크기 모두가 동일하지는 않을 수 있다. 예를 들면, 결정된 홀수개의 부호화 단위(1130a, 1130b, 1130c, 1180a, 1180b, 1180c) 중 소정의 부호화 단위(1130b 또는 1180b)의 크기는 다른 부호화 단위(1130a, 1130c, 1180a, 1180c)들과는 다른 크기를 가질 수도 있다. 즉, 현재 부호화 단위(1100 또는 1150)가 분할되어 결정될 수 있는 부호화 단위는 복수의 종류의 크기를 가질 수 있고, 경우에 따라서는 홀수개의 부호화 단위(1130a, 1130b, 1130c, 1180a, 1180b, 1180c)가 각각 서로 다른 크기를 가질 수도 있다.
일 실시예에 따라 분할 형태 정보가 홀수개의 블록으로 부호화 단위가 분할되는 것을 나타내는 경우, 영상 복호화 장치(150)는 현재 부호화 단위(1100 또는 1150)에 포함되는 홀수개의 부호화 단위를 결정할 수 있고, 나아가 영상 복호화 장치(150)는 분할하여 생성되는 홀수개의 부호화 단위들 중 적어도 하나의 부호화 단위에 대하여 소정의 제한을 둘 수 있다. 도 11을 참조하면 영상 복호화 장치(150)는 현재 부호화 단위(1100 또는 1150)가 분할되어 생성된 3개의 부호화 단위(1130a, 1130b, 1130c, 1180a, 1180b, 1180c)들 중 중앙에 위치하는 부호화 단위(1130b, 1180b)에 대한 복호화 과정을 다른 부호화 단위(1130a, 1130c, 1180a, 1180c)와 다르게 할 수 있다. 예를 들면, 영상 복호화 장치(150)는 중앙에 위치하는 부호화 단위(1130b, 1180b)에 대하여는 다른 부호화 단위(1130a, 1130c, 1180a, 1180c)와 달리 더 이상 분할되지 않도록 제한하거나, 소정의 횟수만큼만 분할되도록 제한할 수 있다.
도 12는 일 실시예에 따라 영상 복호화 장치(150)가 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 부호화 단위를 분할하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 정사각형 형태의 제1 부호화 단위(1200)를 부호화 단위들로 분할하거나 분할하지 않는 것으로 결정할 수 있다. 일 실시예에 따라 분할 형태 정보가 수평 방향으로 제1 부호화 단위(1200)를 분할하는 것을 나타내는 경우, 영상 복호화 장치(150)는 제1 부호화 단위(1200)를 수평 방향으로 분할하여 제2 부호화 단위(1210)를 결정할 수 있다. 일 실시예에 따라 이용되는 제1 부호화 단위, 제2 부호화 단위, 제3 부호화 단위는 부호화 단위 간의 분할 전후 관계를 이해하기 위해 이용된 용어이다. 예를 들면, 제1 부호화 단위를 분할하면 제2 부호화 단위가 결정될 수 있고, 제2 부호화 단위가 분할되면 제3 부호화 단위가 결정될 수 있다. 이하에서는 이용되는 제1 부호화 단위, 제2 부호화 단위 및 제3 부호화 단위의 관계는 상술한 특징에 따르는 것으로 이해될 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 결정된 제2 부호화 단위(1210)를 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 부호화 단위들로 분할하거나 분할하지 않는 것으로 결정할 수 있다. 도 12를 참조하면 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1200)를 분할하여 결정된 비-정사각형의 형태의 제2 부호화 단위(1210)를 적어도 하나의 제3 부호화 단위(1220a, 1220b, 1220c, 1220d 등)로 분할하거나 제2 부호화 단위(1210)를 분할하지 않을 수 있다. 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 획득할 수 있고 영상 복호화 장치(150)는 획득한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1200)를 분할하여 다양한 형태의 복수개의 제2 부호화 단위(예를 들면, 1210)를 분할할 수 있으며, 제2 부호화 단위(1210)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1200)가 분할된 방식에 따라 분할될 수 있다. 일 실시예에 따라, 제1 부호화 단위(1200)가 제1 부호화 단위(1200)에 대한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제2 부호화 단위(1210)로 분할된 경우, 제2 부호화 단위(1210) 역시 제2 부호화 단위(1210)에 대한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제3 부호화 단위(예를 들면, 1220a, 1220b, 1220c, 1220d 등)으로 분할될 수 있다. 즉, 부호화 단위는 부호화 단위 각각에 관련된 분할 형태 정보 및 블록 형태 정보 중 적어도 하나에 기초하여 재귀적으로 분할될 수 있다. 따라서 비-정사각형 형태의 부호화 단위에서 정사각형의 부호화 단위가 결정될 수 있고, 이러한 정사각형 형태의 부호화 단위가 재귀적으로 분할되어 비-정사각형 형태의 부호화 단위가 결정될 수도 있다. 도 12를 참조하면, 비-정사각형 형태의 제2 부호화 단위(1210)가 분할되어 결정되는 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d) 중 소정의 부호화 단위(예를 들면, 가운데에 위치하는 부호화 단위 또는 정사각형 형태의 부호화 단위)는 재귀적으로 분할될 수 있다. 일 실시예에 따라 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d) 중 하나인 정사각형 형태의 제3 부호화 단위(1220c)는 수평 방향으로 분할되어 복수개의 제4 부호화 단위로 분할될 수 있다. 복수개의 제4 부호화 단위 중 하나인 비-정사각형 형태의 제4 부호화 단위(1240)는 다시 복수개의 부호화 단위들로 분할될 수 있다. 예를 들면, 비-정사각형 형태의 제4 부호화 단위(1240)는 홀수개의 부호화 단위(1250a, 1250b, 1250c)로 다시 분할될 수도 있다.
부호화 단위의 재귀적 분할에 이용될 수 있는 방법에 대하여는 다양한 실시예를 통해 후술하도록 한다.
일 실시예에 따라 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제3 부호화 단위(1220a, 1220b, 1220c, 1220d 등) 각각을 부호화 단위들로 분할하거나 제2 부호화 단위(1210)를 분할하지 않는 것으로 결정할 수 있다. 영상 복호화 장치(150)는 일 실시예에 따라 비-정사각형 형태의 제2 부호화 단위(1210)를 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d)로 분할할 수 있다. 영상 복호화 장치(150)는 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d) 중 소정의 제3 부호화 단위에 대하여 소정의 제한을 둘 수 있다. 예를 들면 영상 복호화 장치(150)는 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d) 중 가운데에 위치하는 부호화 단위(1220c)에 대하여는 더 이상 분할되지 않는 것으로 제한하거나 또는 설정 가능한 횟수로 분할되어야 하는 것으로 제한할 수 있다. 도 12를 참조하면, 영상 복호화 장치(150)는 비-정사각형 형태의 제2 부호화 단위(1210)에 포함되는 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d)들 중 가운데에 위치하는 부호화 단위(1220c)는 더 이상 분할되지 않거나, 소정의 분할 형태로 분할(예를 들면 4개의 부호화 단위로만 분할하거나 제2 부호화 단위(1210)가 분할된 형태에 대응하는 형태로 분할)되는 것으로 제한하거나, 소정의 횟수로만 분할(예를 들면 n회만 분할, n>0)하는 것으로 제한할 수 있다. 다만 가운데에 위치한 부호화 단위(1220c)에 대한 상기 제한은 단순한 실시예들에 불과하므로 상술한 실시예들로 제한되어 해석되어서는 안되고, 가운데에 위치한 부호화 단위(1220c)가 다른 부호화 단위(1220b, 1220d)와 다르게 복호화 될 수 있는 다양한 제한들을 포함하는 것으로 해석되어야 한다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위를 분할하기 위해 이용되는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 현재 부호화 단위 내의 소정의 위치에서 획득할 수 있다.
도 13은 일 실시예에 따라 영상 복호화 장치(150)가 홀수개의 부호화 단위들 중 소정의 부호화 단위를 결정하기 위한 방법을 도시한다. 도 13을 참조하면, 현재 부호화 단위(1300)의 블록 형태 정보 및 분할 형태 정보 중 적어도 하나는 현재 부호화 단위(1300)에 포함되는 복수개의 샘플 중 소정 위치의 샘플(예를 들면, 가운데에 위치하는 샘플(1340))에서 획득될 수 있다. 다만 이러한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나가 획득될 수 있는 현재 부호화 단위(1300) 내의 소정 위치가 도 13에서 도시하는 가운데 위치로 한정하여 해석되어서는 안되고, 소정 위치에는 현재 부호화 단위(1300)내에 포함될 수 있는 다양한 위치(예를 들면, 최상단, 최하단, 좌측, 우측, 좌측상단, 좌측하단, 우측상단 또는 우측하단 등)가 포함될 수 있는 것으로 해석되어야 한다. 영상 복호화 장치(150)는 소정 위치로부터 획득되는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 획득하여 현재 부호화 단위를 다양한 형태 및 크기의 부호화 단위들로 분할하거나 분할하지 않는 것으로 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위가 소정의 개수의 부호화 단위들로 분할된 경우 그 중 하나의 부호화 단위를 선택할 수 있다. 복수개의 부호화 단위들 중 하나를 선택하기 위한 방법은 다양할 수 있으며, 이러한 방법들에 대한 설명은 이하의 다양한 실시예를 통해 후술하도록 한다.
일 실시예에 따라 영상 복호화 장치(150) 는 현재 부호화 단위를 복수개의 부호화 단위들로 분할하고, 소정 위치의 부호화 단위를 결정할 수 있다.
도 13은 일 실시예에 따라 영상 복호화 장치(150)가 홀수개의 부호화 단위들 중 소정 위치의 부호화 단위를 결정하기 위한 방법을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 홀수개의 부호화 단위들 중 가운데에 위치하는 부호화 단위를 결정하기 위하여 홀수개의 부호화 단위들 각각의 위치를 나타내는 정보를 이용할 수 있다. 도 13을 참조하면, 영상 복호화 장치(150)는 현재 부호화 단위(1300)를 분할하여 홀수개의 부호화 단위들(1320a, 1320b, 1320c)을 결정할 수 있다. 영상 복호화 장치(150)는 홀수개의 부호화 단위들(1320a, 1320b, 1320c)의 위치에 대한 정보를 이용하여 가운데 부호화 단위(1320b)를 결정할 수 있다. 예를 들면 영상 복호화 장치(150)는 부호화 단위들(1320a, 1320b, 1320c)에 포함되는 소정의 샘플의 위치를 나타내는 정보에 기초하여 부호화 단위들(1320a, 1320b, 1320c)의 위치를 결정함으로써 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다. 구체적으로, 영상 복호화 장치(150)는 부호화 단위들(1320a, 1320b, 1320c)의 좌측 상단의 샘플(1330a, 1330b, 1330c)의 위치를 나타내는 정보에 기초하여 부호화 단위(1320a, 1320b, 1320c)의 위치를 결정함으로써 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다.
일 실시예에 따라 부호화 단위(1320a, 1320b, 1320c)에 각각 포함되는 좌측 상단의 샘플(1330a, 1330b, 1330c)의 위치를 나타내는 정보는 부호화 단위(1320a, 1320b, 1320c)의 픽쳐 내에서의 위치 또는 좌표에 대한 정보를 포함할 수 있다. 일 실시예에 따라 부호화 단위(1320a, 1320b, 1320c)에 각각 포함되는 좌측 상단의 샘플(1330a, 1330b, 1330c)의 위치를 나타내는 정보는 현재 부호화 단위(1300)에 포함되는 부호화단위(1320a, 1320b, 1320c)들의 너비 또는 높이를 나타내는 정보를 포함할 수 있고, 이러한 너비 또는 높이는 부호화 단위(1320a, 1320b, 1320c)의 픽쳐 내에서의 좌표 간의 차이를 나타내는 정보에 해당할 수 있다. 즉, 영상 복호화 장치(150)는 부호화 단위(1320a, 1320b, 1320c)의 픽쳐 내에서의 위치 또는 좌표에 대한 정보를 직접이용하거나 좌표간의 차이값에 대응하는 부호화 단위의 너비 또는 높이에 대한 정보를 이용함으로써 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다.
일 실시예에 따라, 상단 부호화 단위(1320a)의 좌측 상단의 샘플(1330a)의 위치를 나타내는 정보는 (xa, ya) 좌표를 나타낼 수 있고, 가운데 부호화 단위(1320b)의 좌측 상단의 샘플(1330b)의 위치를 나타내는 정보는 (xb, yb) 좌표를 나타낼 수 있고, 하단 부호화 단위(1320c)의 좌측 상단의 샘플(1330c)의 위치를 나타내는 정보는 (xc, yc) 좌표를 나타낼 수 있다. 영상 복호화 장치(150)는 부호화 단위(1320a, 1320b, 1320c)에 각각 포함되는 좌측 상단의 샘플(1330a, 1330b, 1330c)의 좌표를 이용하여 가운데 부호화 단위(1320b)를 결정할 수 있다. 예를 들면, 좌측 상단의 샘플(1330a, 1330b, 1330c)의 좌표를 오름차순 또는 내림차순으로 정렬하였을 때, 가운데에 위치하는 샘플(1330b)의 좌표인 (xb, yb)를 포함하는 부호화 단위(1320b)를 현재 부호화 단위(1300)가 분할되어 결정된 부호화 단위(1320a, 1320b, 1320c) 중 가운데에 위치하는 부호화 단위로 결정할 수 있다. 다만 좌측 상단의 샘플(1330a, 1330b, 1330c)의 위치를 나타내는 좌표는 픽쳐 내에서의 절대적인 위치를 나타내는 좌표를 나타낼 수 있고, 나아가 상단 부호화 단위(1320a)의 좌측 상단의 샘플(1330a)의 위치를 기준으로, 가운데 부호화 단위(1320b)의 좌측 상단의 샘플(1330b)의 상대적 위치를 나타내는 정보인 (dxb, dyb)좌표, 하단 부호화 단위(1320c)의 좌측 상단의 샘플(1330c)의 상대적 위치를 나타내는 정보인 (dxc, dyc)좌표를 이용할 수도 있다. 또한 부호화 단위에 포함되는 샘플의 위치를 나타내는 정보로서 해당 샘플의 좌표를 이용함으로써 소정 위치의 부호화 단위를 결정하는 방법이 상술한 방법으로 한정하여 해석되어서는 안되고, 샘플의 좌표를 이용할 수 있는 다양한 산술적 방법으로 해석되어야 한다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위(1300)를 복수개의 부호화 단위(1320a, 1320b, 1320c)로 분할할 수 있고, 부호화 단위(1320a, 1320b, 1320c)들 중 소정의 기준에 따라 부호화 단위를 선택할 수 있다. 예를 들면, 영상 복호화 장치(150)는 부호화 단위(1320a, 1320b, 1320c) 중 크기가 다른 부호화 단위(1320b)를 선택할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 상단 부호화 단위(1320a)의 좌측 상단의 샘플(1330a)의 위치를 나타내는 정보인 (xa, ya) 좌표, 가운데 부호화 단위(1320b)의 좌측 상단의 샘플(1330b)의 위치를 나타내는 정보인 (xb, yb) 좌표, 하단 부호화 단위(1320c)의 좌측 상단의 샘플(1330c)의 위치를 나타내는 정보인 (xc, yc) 좌표를 이용하여 부호화 단위(1320a, 1320b, 1320c) 각각의 너비 또는 높이를 결정할 수 있다. 영상 복호화 장치(150)는 부호화 단위(1320a, 1320b, 1320c)의 위치를 나타내는 좌표인 (xa, ya), (xb, yb), (xc, yc)를 이용하여 부호화 단위(1320a, 1320b, 1320c) 각각의 크기를 결정할 수 있다.
일 실시예에 따라, 영상 복호화 장치(150)는 상단 부호화 단위(1320a)의 너비를 xb-xa로 결정할 수 있고 높이를 yb-ya로 결정할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 가운데 부호화 단위(1320b)의 너비를 xc-xb로 결정할 수 있고 높이를 yc-yb로 결정할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 하단 부호화 단위의 너비 또는 높이는 현재 부호화 단위의 너비 또는 높이와 상단 부호화 단위(1320a) 및 가운데 부호화 단위(1320b)의 너비 및 높이를 이용하여 결정할 수 있다. 영상 복호화 장치(150)는 결정된 부호화 단위(1320a, 1320b, 1320c)의 너비 및 높이에 기초하여 다른 부호화 단위와 다른 크기를 갖는 부호화 단위를 결정할 수 있다. 도 13을 참조하면, 영상 복호화 장치(150)는 상단 부호화 단위(1320a) 및 하단 부호화 단위(1320c)의 크기와 다른 크기를 가지는 가운데 부호화 단위(1320b)를 소정 위치의 부호화 단위로 결정할 수 있다. 다만 상술한 영상 복호화 장치(150)가 다른 부호화 단위와 다른 크기를 갖는 부호화 단위를 결정하는 과정은 샘플 좌표에 기초하여 결정되는 부호화 단위의 크기를 이용하여 소정 위치의 부호화 단위를 결정하는 일 실시예에 불과하므로, 소정의 샘플 좌표에 따라 결정되는 부호화 단위의 크기를 비교하여 소정 위치의 부호화 단위를 결정하는 다양한 과정이 이용될 수 있다.
다만 부호화 단위의 위치를 결정하기 위하여 고려하는 샘플의 위치는 상술한 좌측 상단으로 한정하여 해석되어서는 안되고 부호화 단위에 포함되는 임의의 샘플의 위치에 대한 정보가 이용될 수 있는 것으로 해석될 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위의 형태를 고려하여, 현재 부호화 단위가 분할되어 결정되는 홀수개의 부호화 단위들 중 소정 위치의 부호화 단위를 선택할 수 있다. 예를 들면, 현재 부호화 단위가 너비가 높이보다 긴 비-정사각형 형태라면 영상 복호화 장치(150)는 수평 방향에 따라 소정 위치의 부호화 단위를 결정할 수 있다. 즉, 영상 복호화 장치(150)는 수평 방향으로 위치를 달리 하는 부호화 단위들 중 하나를 결정하여 해당 부호화 단위에 대한 제한을 둘 수 있다. 현재 부호화 단위가 높이가 너비보다 긴 비-정사각형 형태라면 영상 복호화 장치(150)는 수직 방향에 따라 소정 위치의 부호화 단위를 결정할 수 있다. 즉, 영상 복호화 장치(150)는 수직 방향으로 위치를 달리 하는 부호화 단위들 중 하나를 결정하여 해당 부호화 단위에 대한 제한을 둘 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 짝수개의 부호화 단위들 중 소정 위치의 부호화 단위를 결정하기 위하여 짝수개의 부호화 단위들 각각의 위치를 나타내는 정보를 이용할 수 있다. 영상 복호화 장치(150)는 현재 부호화 단위를 분할하여 짝수개의 부호화 단위들을 결정할 수 있고 짝수개의 부호화 단위들의 위치에 대한 정보를 이용하여 소정 위치의 부호화 단위를 결정할 수 있다. 이에 대한 구체적인 과정은 도 13에서 상술한 홀수개의 부호화 단위들 중 소정 위치(예를 들면, 가운데 위치)의 부호화 단위를 결정하는 과정에 대응하는 과정일 수 있으므로 생략하도록 한다.
일 실시예에 따라, 비-정사각형 형태의 현재 부호화 단위를 복수개의 부호화 단위로 분할한 경우, 복수개의 부호화 단위들 중 소정 위치의 부호화 단위를 결정하기 위하여 분할 과정에서 소정 위치의 부호화 단위에 대한 소정의 정보를 이용할 수 있다. 예를 들면 영상 복호화 장치(150)는 현재 부호화 단위가 복수개로 분할된 부호화 단위들 중 가운데에 위치하는 부호화 단위를 결정하기 위하여 분할 과정에서 가운데 부호화 단위에 포함된 샘플에 저장된 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용할 수 있다.
도 13을 참조하면 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 현재 부호화 단위(1300)를 복수개의 부호화 단위들(1320a, 1320b, 1320c)로 분할할 수 있으며, 복수개의 부호화 단위들(1320a, 1320b, 1320c) 중 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다. 나아가 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나가 획득되는 위치를 고려하여, 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다. 즉, 현재 부호화 단위(1300)의 블록 형태 정보 및 분할 형태 정보 중 적어도 하나는 현재 부호화 단위(1300)의 가운데에 위치하는 샘플(1340)에서 획득될 수 있으며, 상기 블록 형태 정보 및 상기 분할 형태 정보 중 적어도 하나에 기초하여 현재 부호화 단위(1300)가 복수개의 부호화 단위들(1320a, 1320b, 1320c)로 분할된 경우 상기 샘플(1340)을 포함하는 부호화 단위(1320b)를 가운데에 위치하는 부호화 단위로 결정할 수 있다. 다만 가운데에 위치하는 부호화 단위로 결정하기 위해 이용되는 정보가 블록 형태 정보 및 분할 형태 정보 중 적어도 하나로 한정하여 해석되어서는 안되고, 다양한 종류의 정보가 가운데에 위치하는 부호화 단위를 결정하는 과정에서 이용될 수 있다.
일 실시예에 따라 소정 위치의 부호화 단위를 식별하기 위한 소정의 정보는, 결정하려는 부호화 단위에 포함되는 소정의 샘플에서 획득될 수 있다. 도 13을 참조하면, 영상 복호화 장치(150)는 현재 부호화 단위(1300)가 분할되어 결정된 복수개의 부호화 단위들(1320a, 1320b, 1320c) 중 소정 위치의 부호화 단위(예를 들면, 복수개로 분할된 부호화 단위 중 가운데에 위치하는 부호화 단위)를 결정하기 위하여 현재 부호화 단위(1300) 내의 소정 위치의 샘플(예를 들면, 현재 부호화 단위(1300)의 가운데에 위치하는 샘플)에서 획득되는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용할 수 있다. . 즉, 영상 복호화 장치(150)는 현재 부호화 단위(1300)의 블록 블록 형태를 고려하여 상기 소정 위치의 샘플을 결정할 수 있고, 영상 복호화 장치(150)는 현재 부호화 단위(1300)가 분할되어 결정되는 복수개의 부호화 단위(1320a, 1320b, 1320c)들 중, 소정의 정보(예를 들면, 블록 형태 정보 및 분할 형태 정보 중 적어도 하나)가 획득될 수 있는 샘플이 포함된 부호화 단위(1320b)를 결정하여 소정의 제한을 둘 수 있다. 도 13을 참조하면 일 실시예에 따라 영상 복호화 장치(150)는 소정의 정보가 획득될 수 있는 샘플로서 현재 부호화 단위(1300)의 가운데에 위치하는 샘플(1340)을 결정할 수 있고, 영상 복호화 장치(150)는 이러한 샘플(1340)이 포함되는 부호화 단위(1320b)를 복호화 과정에서의 소정의 제한을 둘 수 있다. 다만 소정의 정보가 획득될 수 있는 샘플의 위치는 상술한 위치로 한정하여 해석되어서는 안되고, 제한을 두기 위해 결정하려는 부호화 단위(1320b)에 포함되는 임의의 위치의 샘플들로 해석될 수 있다.
일 실시예에 따라 소정의 정보가 획득될 수 있는 샘플의 위치는 현재 부호화 단위(1300)의 형태에 따라 결정될 수 있다. 일 실시예에 따라 블록 형태 정보는 현재 부호화 단위의 형태가 정사각형인지 또는 비-정사각형인지 여부를 결정할 수 있고, 형태에 따라 소정의 정보가 획득될 수 있는 샘플의 위치를 결정할 수 있다. 예를 들면, 영상 복호화 장치(150)는 현재 부호화 단위의 너비에 대한 정보 및 높이에 대한 정보 중 적어도 하나를 이용하여 현재 부호화 단위의 너비 및 높이 중 적어도 하나를 반으로 분할하는 경계 상에 위치하는 샘플을 소정의 정보가 획득될 수 있는 샘플로 결정할 수 있다. 또다른 예를 들면, 영상 복호화 장치(150)는 현재 부호화 단위에 관련된 블록 형태 정보가 비-정사각형 형태임을 나타내는 경우, 현재 부호화 단위의 긴 변을 반으로 분할하는 경계에 인접하는 샘플 중 하나를 소정의 정보가 획득될 수 있는 샘플로 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위를 복수개의 부호화 단위로 분할한 경우, 복수개의 부호화 단위들 중 소정 위치의 부호화 단위를 결정하기 위하여, 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 부호화 단위에 포함된 소정 위치의 샘플에서 획득할 수 있고, 영상 복호화 장치(150)는 현재 부호화 단위가 분할되어 생성된 복수개의 부호화 단위들을 복수개의 부호화 단위 각각에 포함된 소정 위치의 샘플로부터 획득되는 분할 형태 정보 및 블록 형태 정보 중 적어도 하나를 이용하여 분할할 수 있다. 즉, 부호화 단위는 부호화 단위 각각에 포함된 소정 위치의 샘플에서 획득되는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용하여 재귀적으로 분할될 수 있다. 부호화 단위의 재귀적 분할 과정에 대하여는 도 12를 통해 상술하였으므로 자세한 설명은 생략하도록 한다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정할 수 있고, 이러한 적어도 하나의 부호화 단위가 복호화되는 순서를 소정의 블록(예를 들면, 현재 부호화 단위)에 따라 결정할 수 있다.
도 14는 일 실시예에 따라 영상 복호화 장치(150)가 현재 부호화 단위를 분할하여 복수개의 부호화 단위들을 결정하는 경우, 복수개의 부호화 단위들이 처리되는 순서를 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보에 따라 제1 부호화 단위(1400)를 수직 방향으로 분할하여 제2 부호화 단위(1410a, 1410b)를 결정하거나 제1 부호화 단위(1400)를 수평 방향으로 분할하여 제2 부호화 단위(1430a, 1430b)를 결정하거나 제1 부호화 단위(1400)를 수직 방향 및 수평 방향으로 분할하여 제2 부호화 단위(1450a, 1450b, 1450c, 1450d)를 결정할 수 있다.
도 14를 참조하면, 영상 복호화 장치(150)는 제1 부호화 단위(1400)를 수직 방향으로 분할하여 결정된 제2 부호화 단위(1410a, 1410b)를 수평 방향(1410c)으로 처리되도록 순서를 결정할 수 있다. 영상 복호화 장치(150)는 제1 부호화 단위(1400)를 수평 방향으로 분할하여 결정된 제2 부호화 단위(1430a, 1430b)의 처리 순서를 수직 방향(1430c)으로 결정할 수 있다. 영상 복호화 장치(150)는 제1 부호화 단위(1400)를 수직 방향 및 수평 방향으로 분할하여 결정된 제2 부호화 단위(1450a, 1450b, 1450c, 1450d)를 하나의 행에 위치하는 부호화 단위들이 처리된 후 다음 행에 위치하는 부호화 단위들이 처리되는 소정의 순서(예를 들면, 래스터 스캔 순서((raster scan order) 또는 z 스캔 순서(z scan order)(1450e) 등)에 따라 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 부호화 단위들을 재귀적으로 분할할 수 있다. 도 14를 참조하면, 영상 복호화 장치(150)는 제1 부호화 단위(1400)를 분할하여 복수개의 부호화 단위들(1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, 1450d)을 결정할 수 있고, 결정된 복수개의 부호화 단위들(1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, 1450d) 각각을 재귀적으로 분할할 수 있다. 복수개의 부호화 단위들(1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, 1450d)을 분할하는 방법은 제1 부호화 단위(1400)를 분할하는 방법에 대응하는 방법이 될 수 있다. 이에 따라 복수개의 부호화 단위들(1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, 1450d)은 각각 독립적으로 복수개의 부호화 단위들로 분할될 수 있다. 도 14를 참조하면 영상 복호화 장치(150)는 제1 부호화 단위(1400)를 수직 방향으로 분할하여 제2 부호화 단위(1410a, 1410b)를 결정할 수 있고, 나아가 제2 부호화 단위(1410a, 1410b) 각각을 독립적으로 분할하거나 분할하지 않는 것으로 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 좌측의 제2 부호화 단위(1410a)를 수평 방향으로 분할하여 제3 부호화 단위(1420a, 1420b)로 분할할 수 있고, 우측의 제2 부호화 단위(1410b)는 분할하지 않을 수 있다.
일 실시예에 따라 부호화 단위들의 처리 순서는 부호화 단위의 분할 과정에 기초하여 결정될 수 있다. 다시 말해, 분할된 부호화 단위들의 처리 순서는 분할되기 직전의 부호화 단위들의 처리 순서에 기초하여 결정될 수 있다. 영상 복호화 장치(150)는 좌측의 제2 부호화 단위(1410a)가 분할되어 결정된 제3 부호화 단위(1420a, 1420b)가 처리되는 순서를 우측의 제2 부호화 단위(1410b)와 독립적으로 결정할 수 있다. 좌측의 제2 부호화 단위(1410a)가 수평 방향으로 분할되어 제3 부호화 단위(1420a, 1420b)가 결정되었으므로 제3 부호화 단위(1420a, 1420b)는 수직 방향(1420c)으로 처리될 수 있다. 또한 좌측의 제2 부호화 단위(1410a) 및 우측의 제2 부호화 단위(1410b)가 처리되는 순서는 수평 방향(1410c)에 해당하므로, 좌측의 제2 부호화 단위(1410a)에 포함되는 제3 부호화 단위(1420a, 1420b)가 수직 방향(1420c)으로 처리된 후에 우측 부호화 단위(1410b)가 처리될 수 있다. 상술한 내용은 부호화 단위들이 각각 분할 전의 부호화 단위에 따라 처리 순서가 결정되는 과정을 설명하기 위한 것이므로, 상술한 실시예에 한정하여 해석되어서는 안되고, 다양한 형태로 분할되어 결정되는 부호화 단위들이 소정의 순서에 따라 독립적으로 처리될 수 있는 다양한 방법으로 이용되는 것으로 해석되어야 한다.
도 15는 일 실시예에 따라 영상 복호화 장치(150)가 소정의 순서로 부호화 단위가 처리될 수 없는 경우, 현재 부호화 단위가 홀수개의 부호화 단위로 분할되는 것임을 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 획득된 블록 형태 정보 및 분할 형태 정보에 기초하여 현재 부호화 단위가 홀수개의 부호화 단위들로 분할되는 것을 결정할 수 있다. 도 15를 참조하면 정사각형 형태의 제1 부호화 단위(1500)가 비-정사각형 형태의 제2 부호화 단위(1510a, 1510b)로 분할될 수 있고, 제2 부호화 단위(1510a, 1510b)는 각각 독립적으로 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)로 분할될 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 제2 부호화 단위 중 좌측 부호화 단위(1510a)는 수평 방향으로 분할하여 복수개의 제3 부호화 단위(1520a, 1520b)를 결정할 수 있고, 우측 부호화 단위(1510b)는 홀수개의 제3 부호화 단위(1520c, 1520d, 1520e)로 분할할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 제3 부호화 단위들(1520a, 1520b, 1520c, 1520d, 1520e)이 소정의 순서로 처리될 수 있는지 여부를 판단하여 홀수개로 분할된 부호화 단위가 존재하는지를 결정할 수 있다. 도 15를 참조하면, 영상 복호화 장치(150)는 제1 부호화 단위(1500)를 재귀적으로 분할하여 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)를 결정할 수 있다. 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여, 제1 부호화 단위(1500), 제2 부호화 단위(1510a, 1510b) 또는 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)가 분할되는 형태 중 홀수개의 부호화 단위로 분할되는지 여부를 결정할 수 있다. 예를 들면, 제2 부호화 단위(1510a, 1510b) 중 우측에 위치하는 부호화 단위가 홀수개의 제3 부호화 단위(1520c, 1520d, 1520e)로 분할될 수 있다. 제1 부호화 단위(1500)에 포함되는 복수개의 부호화 단위들이 처리되는 순서는 소정의 순서(예를 들면, z-스캔 순서(z-scan order)(1530))가 될 수 있고, 영상 복호화 장치(150)는 우측 제2 부호화 단위(1510b)가 홀수개로 분할되어 결정된 제3 부호화 단위(1520c, 1520d, 1520e)가 상기 소정의 순서에 따라 처리될 수 있는 조건을 만족하는지를 판단할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 제1 부호화 단위(1500)에 포함되는 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)가 소정의 순서에 따라 처리될 수 있는 조건을 만족하는지를 결정할 수 있으며, 상기 조건은 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)의 경계에 따라 제2 부호화 단위(1510a, 1510b)의 너비 및 높이 중 적어도 하나를 반으로 분할되는지 여부와 관련된다. 예를 들면 비-정사각형 형태의 좌측 제2 부호화 단위(1510a)의 높이를 반으로 분할하여 결정되는 제3 부호화 단위(1520a, 1520b)는 조건을 만족하지만, 우측 제2 부호화 단위(1510b)를 3개의 부호화 단위로 분할하여 결정되는 제3 부호화 단위(1520c, 1520d, 1520e)들의 경계가 우측 제2 부호화 단위(1510b)의 너비 또는 높이를 반으로 분할하지 못하므로 제3 부호화 단위(1520c, 1520d, 1520e)는 조건을 만족하지 못하는 것으로 결정될 수 있고, 영상 복호화 장치(150)는 이러한 조건 불만족의 경우 스캔 순서의 단절(disconnection)로 판단하고, 판단 결과에 기초하여 우측 제2 부호화 단위(1510b)는 홀수개의 부호화 단위로 분할되는 것으로 결정할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 홀수개의 부호화 단위로 분할되는 경우 분할된 부호화 단위들 중 소정 위치의 부호화 단위에 대하여 소정의 제한을 둘 수 있으며, 이러한 제한 내용 또는 소정 위치 등에 대하여는 다양한 실시예를 통해 상술하였으므로 자세한 설명은 생략하도록 한다.
도 16은 일 실시예에 따라 영상 복호화 장치(150)가 제1 부호화 단위(1600)를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다. 일 실시예에 따라 영상 복호화 장치(150)는 수신부(210)를 통해 획득한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1600)를 분할할 수 있다. 정사각형 형태의 제1 부호화 단위(1600)는 4개의 정사각형 형태를 가지는 부호화 단위로 분할되거나 또는 비-정사각형 형태의 복수개의 부호화 단위로 분할할 수 있다. 예를 들면 도 16을 참조하면, 블록 형태 정보가 제1 부호화 단위(1600)는 정사각형임을 나타내고 분할 형태 정보가 비-정사각형의 부호화 단위로 분할됨을 나타내는 경우 영상 복호화 장치(150)는 제1 부호화 단위(1600)를 복수개의 비-정사각형의 부호화 단위들로 분할할 수 있다. 구체적으로, 분할 형태 정보가 제1 부호화 단위(1600)를 수평 방향 또는 수직 방향으로 분할하여 홀수개의 부호화 단위를 결정하는 것을 나타내는 경우, 영상 복호화 장치(150)는 정사각형 형태의 제1 부호화 단위(1600)을 홀수개의 부호화 단위들로서 수직 방향으로 분할되어 결정된 제2 부호화 단위(1610a, 1610b, 1610c) 또는 수평 방향으로 분할되어 결정된 제2 부호화 단위(1620a, 1620b, 1620c)로 분할할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 제1 부호화 단위(1600)에 포함되는 제2 부호화 단위(1610a, 1610b, 1610c, 1620a, 1620b, 1620c)가 소정의 순서에 따라 처리될 수 있는 조건을 만족하는지를 결정할 수 있으며, 상기 조건은 제2 부호화 단위(1610a, 1610b, 1610c, 1620a, 1620b, 1620c)의 경계에 따라 제1 부호화 단위(1600)의 너비 및 높이 중 적어도 하나를 반으로 분할되는지 여부와 관련된다. 도 16를 참조하면 정사각형 형태의 제1 부호화 단위(1600)를 수직 방향으로 분할하여 결정되는 제2 부호화 단위(1610a, 1610b, 1610c)들의 경계가 제1 부호화 단위(1600)의 너비를 반으로 분할하지 못하므로 제1 부호화 단위(1600)는 소정의 순서에 따라 처리될 수 있는 조건을 만족하지 못하는 것으로 결정될 수 있다. 또한 정사각형 형태의 제1 부호화 단위(1600)를 수평 방향으로 분할하여 결정되는 제2 부호화 단위(1620a, 1620b, 1620c)들의 경계가 제1 부호화 단위(1600)의 너비를 반으로 분할하지 못하므로 제1 부호화 단위(1600)는 소정의 순서에 따라 처리될 수 있는 조건을 만족하지 못하는 것으로 결정될 수 있다. 영상 복호화 장치(150)는 이러한 조건 불만족의 경우 스캔 순서의 단절(disconnection)로 판단하고, 판단 결과에 기초하여 제1 부호화 단위(1600)는 홀수개의 부호화 단위로 분할되는 것으로 결정할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 홀수개의 부호화 단위로 분할되는 경우 분할된 부호화 단위들 중 소정 위치의 부호화 단위에 대하여 소정의 제한을 둘 수 있으며, 이러한 제한 내용 또는 소정 위치 등에 대하여는 다양한 실시예를 통해 상술하였으므로 자세한 설명은 생략하도록 한다.
일 실시예에 따라, 영상 복호화 장치(150)는 제1 부호화 단위를 분할하여 다양한 형태의 부호화 단위들을 결정할 수 있다.
도 16을 참조하면, 영상 복호화 장치(150)는 정사각형 형태의 제1 부호화 단위(1600), 비-정사각형 형태의 제1 부호화 단위(1630 또는 1650)를 다양한 형태의 부호화 단위들로 분할할 수 있다.
도 17은 일 실시예에 따라 영상 복호화 장치(150)가 제1 부호화 단위(1700)가 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위가 소정의 조건을 만족하는 경우 제2 부호화 단위가 분할될 수 있는 형태가 제한되는 것을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 수신부(210)를 통해 획득한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 정사각형 형태의 제1 부호화 단위(1700)를 비-정사각형 형태의 제2 부호화 단위(1710a, 1710b, 1720a, 1720b)로 분할하는 것으로 결정할 수 있다. 제2 부호화 단위(1710a, 1710b, 1720a, 1720b)는 독립적으로 분할될 수 있다. 이에 따라 영상 복호화 장치(150)는 제2 부호화 단위(1710a, 1710b, 1720a, 1720b) 각각에 관련된 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 복수개의 부호화 단위로 분할하거나 분할하지 않는 것을 결정할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 수직 방향으로 제1 부호화 단위(1700)가 분할되어 결정된 비-정사각형 형태의 좌측 제2 부호화 단위(1710a)를 수평 방향으로 분할하여 제3 부호화 단위(1712a, 1712b)를 결정할 수 있다. 다만 영상 복호화 장치(150)는 좌측 제2 부호화 단위(1710a)를 수평 방향으로 분할한 경우, 우측 제2 부호화 단위(1710b)는 좌측 제2 부호화 단위(1710a)가 분할된 방향과 동일하게 수평 방향으로 분할될 수 없도록 제한할 수 있다. 만일 우측 제2 부호화 단위(1710b)가 동일한 방향으로 분할되어 제3 부호화 단위(1714a, 1714b)가 결정된 경우, 좌측 제2 부호화 단위(1710a) 및 우측 제2 부호화 단위(1710b)가 수평 방향으로 각각 독립적으로 분할됨으로써 제3 부호화 단위(1712a, 1712b, 1714a, 1714b)가 결정될 수 있다. 하지만 이는 영상 복호화 장치(150)가 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1700)를 4개의 정사각형 형태의 제2 부호화 단위(1730a, 1730b, 1730c, 1730d)로 분할한 것과 동일한 결과이며 이는 영상 복호화 측면에서 비효율적일 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 수평 방향으로 제1 부호화 단위(11300)가 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위(1720a 또는 1720b)를 수직 방향으로 분할하여 제3 부호화 단위(1722a, 1722b, 1724a, 1724b)를 결정할 수 있다. 다만 영상 복호화 장치(150)는 제2 부호화 단위 중 하나(예를 들면 상단 제2 부호화 단위(1720a))를 수직 방향으로 분할한 경우, 상술한 이유에 따라 다른 제2 부호화 단위(예를 들면 하단 부호화 단위(1720b))는 상단 제2 부호화 단위(1720a)가 분할된 방향과 동일하게 수직 방향으로 분할될 수 없도록 제한할 수 있다.
도 18은 일 실시예에 따라 분할 형태 정보가 4개의 정사각형 형태의 부호화 단위로 분할하는 것을 나타낼 수 없는 경우, 영상 복호화 장치(150)가 정사각형 형태의 부호화 단위를 분할하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1800)를 분할하여 제2 부호화 단위(1810a, 1810b, 1820a, 1820b 등)를 결정할 수 있다. 분할 형태 정보에는 부호화 단위가 분할될 수 있는 다양한 형태에 대한 정보가 포함될 수 있으나, 다양한 형태에 대한 정보에는 정사각형 형태의 4개의 부호화 단위로 분할하기 위한 정보가 포함될 수 없는 경우가 있다. 이러한 분할 형태 정보에 따르면, 영상 복호화 장치(150)는 정사각형 형태의 제1 부호화 단위(1800)를 4개의 정사각형 형태의 제2 부호화 단위(1830a, 1830b, 1830c, 1830d)로 분할하지 못한다. 분할 형태 정보에 기초하여 영상 복호화 장치(150)는 비-정사각형 형태의 제2 부호화 단위(1810a, 1810b, 1820a, 1820b 등)를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 비-정사각형 형태의 제2 부호화 단위(1810a, 1810b, 1820a, 1820b 등)를 각각 독립적으로 분할할 수 있다. 재귀적인 방법을 통해 제2 부호화 단위(1810a, 1810b, 1820a, 1820b 등) 각각이 소정의 순서대로 분할될 수 있으며, 이는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1800)가 분할되는 방법에 대응하는 분할 방법일 수 있다.
예를 들면 영상 복호화 장치(150)는 좌측 제2 부호화 단위(1810a)가 수평 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1812a, 1812b)를 결정할 수 있고, 우측 제2 부호화 단위(1810b)가 수평 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1814a, 1814b)를 결정할 수 있다. 나아가 영상 복호화 장치(150)는 좌측 제2 부호화 단위(1810a) 및 우측 제2 부호화 단위(1810b) 모두 수평 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1816a, 1816b, 1816c, 1816d)를 결정할 수도 있다. 이러한 경우 제1 부호화 단위(1800)가 4개의 정사각형 형태의 제2 부호화 단위(1830a, 1830b, 1830c, 1830d)로 분할된 것과 동일한 형태로 부호화 단위가 결정될 수 있다.
또 다른 예를 들면 영상 복호화 장치(150)는 상단 제2 부호화 단위(1820a)가 수직 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1822a, 1822b)를 결정할 수 있고, 하단 제2 부호화 단위(1820b)가 수직 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1824a, 1824b)를 결정할 수 있다. 나아가 영상 복호화 장치(150)는 상단 제2 부호화 단위(1820a) 및 하단 제2 부호화 단위(1820b) 모두 수직 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1822a, 1822b, 1824a, 1824b)를 결정할 수도 있다. 이러한 경우 제1 부호화 단위(1800)가 4개의 정사각형 형태의 제2 부호화 단위(1830a, 1830b, 1830c, 1830d)로 분할된 것과 동일한 형태로 부호화 단위가 결정될 수 있다.
도 19는 일 실시예에 따라 복수개의 부호화 단위들 간의 처리 순서가 부호화 단위의 분할 과정에 따라 달라질 수 있음을 도시한 것이다.
일 실시예에 따라 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보에 기초하여 제1 부호화 단위(1900)를 분할할 수 있다. 블록 형태 정보가 정사각형 형태를 나타내고, 분할 형태 정보가 제1 부호화 단위(1900)가 수평 방향 및 수직 방향 중 적어도 하나의 방향으로 분할됨을 나타내는 경우, 영상 복호화 장치(150)는 제1 부호화 단위(1900)를 분할하여 제2 부호화 단위(예를 들면, 1910a, 1910b, 1920a, 1920b, 1930a, 1930b, 1930c, 1930d 등)를 결정할 수 있다. 도 19를 참조하면 제1 부호화 단위1900)가 수평 방향 또는 수직 방향만으로 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위(1910a, 1910b, 1920a, 1920b)는 각각에 대한 블록 형태 정보 및 분할 형태 정보에 기초하여 독립적으로 분할될 수 있다. 예를 들면 영상 복호화 장치(150)는 제1 부호화 단위(1900)가 수직 방향으로 분할되어 생성된 제2 부호화 단위(1910a, 1910b)를 수평 방향으로 각각 분할하여 제3 부호화 단위(1916a, 1916b, 1916c, 1916d)를 결정할 수 있고, 제1 부호화 단위(1900)가 수평 방향으로 분할되어 생성된 제2 부호화 단위(1920a, 1920b)를 수평 방향으로 각각 분할하여 제3 부호화 단위(1926a, 1926b, 1926c, 1926d)를 결정할 수 있다. 이러한 제2 부호화 단위(1910a, 1910b, 1920a, 1920b)의 분할 과정은 도 17과 관련하여 상술하였으므로 자세한 설명은 생략하도록 한다.
일 실시예에 따라 영상 복호화 장치(150)는 소정의 순서에 따라 부호화 단위를 처리할 수 있다. 소정의 순서에 따른 부호화 단위의 처리에 대한 특징은 도 14과 관련하여 상술하였으므로 자세한 설명은 생략하도록 한다. 도 19를 참조하면 영상 복호화 장치(150)는 정사각형 형태의 제1 부호화 단위(1900)를 분할하여 4개의 정사각형 형태의 제3 부호화 단위(1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, 1926d)를 결정할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 제1 부호화 단위(1900)가 분할되는 형태에 따라 제3 부호화 단위(1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, 1926d)의 처리 순서를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 수직 방향으로 분할되어 생성된 제2 부호화 단위(1910a, 1910b)를 수평 방향으로 각각 분할하여 제3 부호화 단위(1916a, 1916b, 1916c, 1916d)를 결정할 수 있고, 영상 복호화 장치(150)는 좌측 제2 부호화 단위(1910a)에 포함되는 제3 부호화 단위(1916a, 1916b)를 수직 방향으로 먼저 처리한 후, 우측 제2 부호화 단위(1910b)에 포함되는 제3 부호화 단위(1916c, 1916d)를 수직 방향으로 처리하는 순서(1917)에 따라 제3 부호화 단위(1916a, 1916b, 1916c, 1916d)를 처리할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 수평 방향으로 분할되어 생성된 제2 부호화 단위(1920a, 1920b)를 수직 방향으로 각각 분할하여 제3 부호화 단위(1926a, 1926b, 1926c, 1926d)를 결정할 수 있고, 영상 복호화 장치(150)는 상단 제2 부호화 단위(1920a)에 포함되는 제3 부호화 단위(1926a, 1926b)를 수평 방향으로 먼저 처리한 후, 하단 제2 부호화 단위(1920b)에 포함되는 제3 부호화 단위(1926c, 1926d)를 수평 방향으로 처리하는 순서(1927)에 따라 제3 부호화 단위(1926a, 1926b, 1926c, 1926d)를 처리할 수 있다.
도 19를 참조하면, 제2 부호화 단위(1910a, 1910b, 1920a, 1920b)가 각각 분할되어 정사각형 형태의 제3 부호화 단위(1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, 1926d)가 결정될 수 있다. 수직 방향으로 분할되어 결정된 제2 부호화 단위(1910a, 1910b) 및 수평 방향으로 분할되어 결정된 제2 부호화 단위(1920a, 1920b)는 서로 다른 형태로 분할된 것이지만, 이후에 결정되는 제3 부호화 단위(1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, 1926d)에 따르면 결국 동일한 형태의 부호화 단위들로 제1 부호화 단위(1900)가 분할된 결과가 된다. 이에 따라 영상 복호화 장치(150)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 상이한 과정을 통해 재귀적으로 부호화 단위를 분할함으로써 결과적으로 동일한 형태의 부호화 단위들을 결정하더라도, 동일한 형태로 결정된 복수개의 부호화 단위들을 서로 다른 순서로 처리할 수 있다.
도 20은 일 실시예에 따라 부호화 단위가 재귀적으로 분할되어 복수개의 부호화 단위가 결정되는 경우, 부호화 단위의 형태 및 크기가 변함에 따라 부호화 단위의 심도가 결정되는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 부호화 단위의 심도를 소정의 기준에 따라 결정할 수 있다. 예를 들면 소정의 기준은 부호화 단위의 긴 변의 길이가 될 수 있다. 영상 복호화 장치(150)는 현재 부호화 단위의 긴 변의 길이가 분할되기 전의 부호화 단위의 긴 변의 길이보다 2n (n>0) 배로 분할된 경우, 현재 부호화 단위의 심도는 분할되기 전의 부호화 단위의 심도보다 n만큼 심도가 증가된 것으로 결정할 수 있다. 이하에서는 심도가 증가된 부호화 단위를 하위 심도의 부호화 단위로 표현하도록 한다.
도 20을 참조하면, 일 실시예에 따라 정사각형 형태임을 나타내는 블록 형태 정보(예를 들면 블록 형태 정보는 ′0: SQUARE′를 나타낼 수 있음)에 기초하여 영상 복호화 장치(150)는 정사각형 형태인 제1 부호화 단위(2000)를 분할하여 하위 심도의 제2 부호화 단위(2002), 제3 부호화 단위(2004) 등을 결정할 수 있다. 정사각형 형태의 제1 부호화 단위(2000)의 크기를 2Nx2N이라고 한다면, 제1 부호화 단위(2000)의 너비 및 높이를 1/21배로 분할하여 결정된 제2 부호화 단위(2002)는 NxN의 크기를 가질 수 있다. 나아가 제2 부호화 단위(2002)의 너비 및 높이를 1/2크기로 분할하여 결정된 제3 부호화 단위(2004)는 N/2xN/2의 크기를 가질 수 있다. 이 경우 제3 부호화 단위(2004)의 너비 및 높이는 제1 부호화 단위(2000)의 1/22배에 해당한다. 제1 부호화 단위(2000)의 심도가 D인 경우 제1 부호화 단위(2000)의 너비 및 높이의 1/21배인 제2 부호화 단위(2002)의 심도는 D+1일 수 있고, 제1 부호화 단위(2000)의 너비 및 높이의 1/22배인 제3 부호화 단위(2004)의 심도는 D+2일 수 있다.
일 실시예에 따라 비-정사각형 형태를 나타내는 블록 형태 정보(예를 들면 블록 형태 정보는, 높이가 너비보다 긴 비-정사각형임을 나타내는 ′1: NS_VER′ 또는 너비가 높이보다 긴 비-정사각형임을 나타내는 ′2: NS_HOR′를 나타낼 수 있음)에 기초하여, 영상 복호화 장치(150)는 비-정사각형 형태인 제1 부호화 단위(2010 또는 2020)를 분할하여 하위 심도의 제2 부호화 단위(2012 또는 2022), 제3 부호화 단위(2014 또는 2024) 등을 결정할 수 있다.
영상 복호화 장치(150)는 Nx2N 크기의 제1 부호화 단위(2010)의 너비 및 높이 중 적어도 하나를 분할하여 제2 부호화 단위(예를 들면, 2002, 2012, 2022 등)를 결정할 수 있다. 즉, 영상 복호화 장치(150)는 제1 부호화 단위(2010)를 수평 방향으로 분할하여 NxN 크기의 제2 부호화 단위(2002) 또는 NxN/2 크기의 제2 부호화 단위(2022)를 결정할 수 있고, 수평 방향 및 수직 방향으로 분할하여 N/2xN 크기의 제2 부호화 단위(2012)를 결정할 수도 있다.
일 실시예에 따라 영상 복호화 장치(150)는 2NxN 크기의 제1 부호화 단위(2020) 의 너비 및 높이 중 적어도 하나를 분할하여 제2 부호화 단위(예를 들면, 2002, 2012, 2022 등)를 결정할 수도 있다. 즉, 영상 복호화 장치(150)는 제1 부호화 단위(2020)를 수직 방향으로 분할하여 NxN 크기의 제2 부호화 단위(2002) 또는 N/2xN 크기의 제2 부호화 단위(2012)를 결정할 수 있고, 수평 방향 및 수직 방향으로 분할하여 NxN/2 크기의 제2 부호화 단위(2022)를 결정할 수도 있다.
일 실시예에 따라 영상 복호화 장치(150)는 NxN 크기의 제2 부호화 단위(2002) 의 너비 및 높이 중 적어도 하나를 분할하여 제3 부호화 단위(예를 들면, 2004, 2014, 2024 등)를 결정할 수도 있다. 즉, 영상 복호화 장치(150)는 제2 부호화 단위(2002)를 수직 방향 및 수평 방향으로 분할하여 N/2xN/2 크기의 제3 부호화 단위(2004)를 결정하거나 N/22xN/2 크기의 제3 부호화 단위(2014)를 결정하거나 N/2xN/22 크기의 제3 부호화 단위(2024)를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 N/2xN 크기의 제2 부호화 단위(2012)의 너비 및 높이 중 적어도 하나를 분할하여 제3 부호화 단위(예를 들면, 2004, 2014, 2024 등)를 결정할 수도 있다. 즉, 영상 복호화 장치(150)는 제2 부호화 단위(2012)를 수평 방향으로 분할하여 N/2xN/2 크기의 제3 부호화 단위(2004) 또는 N/2xN/22 크기의 제3 부호화 단위(2024)를 결정하거나 수직 방향 및 수평 방향으로 분할하여 N/22xN/2 크기의 제3 부호화 단위(2014)를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 NxN/2 크기의 제2 부호화 단위(2014)의 너비 및 높이 중 적어도 하나를 분할하여 제3 부호화 단위(예를 들면, 2004, 2014, 2024 등)를 결정할 수도 있다. 즉, 영상 복호화 장치(150)는 제2 부호화 단위(2012)를 수직 방향으로 분할하여 N/2xN/2 크기의 제3 부호화 단위(2004) 또는 N/22xN/2 크기의 제3 부호화 단위(2014)를 결정하거나 수직 방향 및 수평 방향으로 분할하여 N/2xN/22크기의 제3 부호화 단위(2024)를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 정사각형 형태의 부호화 단위(예를 들면, 2000, 2002, 2004)를 수평 방향 또는 수직 방향으로 분할할 수 있다. 예를 들면, 2Nx2N 크기의 제1 부호화 단위(2000)를 수직 방향으로 분할하여 Nx2N 크기의 제1 부호화 단위(2010)를 결정하거나 수평 방향으로 분할하여 2NxN 크기의 제1 부호화 단위(2020)를 결정할 수 있다. 일 실시예에 따라 심도가 부호화 단위의 가장 긴 변의 길이에 기초하여 결정되는 경우, 2Nx2N 크기의 제1 부호화 단위(2000, 2002 또는 2004)가 수평 방향 또는 수직 방향으로 분할되어 결정되는 부호화 단위의 심도는 제1 부호화 단위(2000, 2002 또는 2004)의 심도와 동일할 수 있다.
일 실시예에 따라 제3 부호화 단위(2014 또는 2024)의 너비 및 높이는 제1 부호화 단위(2010 또는 2020)의 1/22배에 해당할 수 있다. 제1 부호화 단위(2010 또는 2020)의 심도가 D인 경우 제1 부호화 단위(2010 또는 2020)의 너비 및 높이의 1/2배인 제2 부호화 단위(2012 또는 2014)의 심도는 D+1일 수 있고, 제1 부호화 단위(2010 또는 2020)의 너비 및 높이의 1/22배인 제3 부호화 단위(2014 또는 2024)의 심도는 D+2일 수 있다.
도 21은 일 실시예에 따라 부호화 단위들의 형태 및 크기에 따라 결정될 수 있는 심도 및 부호화 단위 구분을 위한 인덱스(part index, 이하 PID)를 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 정사각형 형태의 제1 부호화 단위(2100)를 분할하여 다양한 형태의 제2 부호화 단위를 결정할 수 있다. 도 21를 참조하면, 영상 복호화 장치(150)는 분할 형태 정보에 따라 제1 부호화 단위(2100)를 수직 방향 및 수평 방향 중 적어도 하나의 방향으로 분할하여 제2 부호화 단위(2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, 2106d)를 결정할 수 있다. 즉, 영상 복호화 장치(150)는 제1 부호화 단위(2100)에 대한 분할 형태 정보에 기초하여 제2 부호화 단위(2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, 2106d)를 결정할 수 있다.
일 실시예에 따라 정사각형 형태의 제1 부호화 단위(2100)에 대한 분할 형태 정보에 따라 결정되는 제2 부호화 단위(2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, 2106d)는 긴 변의 길이에 기초하여 심도가 결정될 수 있다. 예를 들면, 정사각형 형태의 제1 부호화 단위(2100)의 한 변의 길이와 비-정사각형 형태의 제2 부호화 단위(2102a, 2102b, 2104a, 2104b)의 긴 변의 길이가 동일하므로, 제1 부호화 단위(2100)와 비-정사각형 형태의 제2 부호화 단위(2102a, 2102b, 2104a, 2104b)의 심도는 D로 동일하다고 볼 수 있다. 이에 반해 영상 복호화 장치(150)가 분할 형태 정보에 기초하여 제1 부호화 단위(2100)를 4개의 정사각형 형태의 제2 부호화 단위(2106a, 2106b, 2106c, 2106d)로 분할한 경우, 정사각형 형태의 제2 부호화 단위(2106a, 2106b, 2106c, 2106d)의 한 변의 길이는 제1 부호화 단위(2100)의 한 변의 길이의 1/2배 이므로, 제2 부호화 단위(2106a, 2106b, 2106c, 2106d)의 심도는 제1 부호화 단위(2100)의 심도인 D보다 한 심도 하위인 D+1의 심도일 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 높이가 너비보다 긴 형태의 제1 부호화 단위(2110)를 분할 형태 정보에 따라 수평 방향으로 분할하여 복수개의 제2 부호화 단위(2112a, 2112b, 2114a, 2114b, 2114c)로 분할할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 너비가 높이보다 긴 형태의 제1 부호화 단위(2120)를 분할 형태 정보에 따라 수직 방향으로 분할하여 복수개의 제2 부호화 단위(2122a, 2122b, 2124a, 2124b, 2124c)로 분할할 수 있다.
일 실시예에 따라 비-정사각형 형태의 제1 부호화 단위(2110 또는 2120)에 대한 분할 형태 정보에 따라 결정되는 제2 부호화 단위(2112a, 2112b, 2114a, 2114b, 2116a, 2116b, 2116c, 2116d)는 긴 변의 길이에 기초하여 심도가 결정될 수 있다. 예를 들면, 정사각형 형태의 제2 부호화 단위(2112a, 2112b)의 한 변의 길이는 높이가 너비보다 긴 비-정사각형 형태의 제1 부호화 단위(2110)의 한 변의 길이의 1/2배이므로, 정사각형 형태의 제2 부호화 단위(2102a, 2102b, 2104a, 2104b)의 심도는 비-정사각형 형태의 제1 부호화 단위(2110)의 심도 D보다 한 심도 하위의 심도인 D+1이다.
나아가 영상 복호화 장치(150)가 분할 형태 정보에 기초하여 비-정사각형 형태의 제1 부호화 단위(2110)를 홀수개의 제2 부호화 단위(2114a, 2114b, 2114c)로 분할할 수 있다. 홀수개의 제2 부호화 단위(2114a, 2114b, 2114c)는 비-정사각형 형태의 제2 부호화 단위(2114a, 2114c) 및 정사각형 형태의 제2 부호화 단위(2114b)를 포함할 수 있다. 이 경우 비-정사각형 형태의 제2 부호화 단위(2114a, 2114c)의 긴 변의 길이 및 정사각형 형태의 제2 부호화 단위(2114b)의 한 변의 길이는 제1 부호화 단위(2110)의 한 변의 길이의 1/2배 이므로, 제2 부호화 단위(2114a, 2114b, 2114c)의 심도는 제1 부호화 단위(2110)의 심도인 D보다 한 심도 하위인 D+1의 심도일 수 있다. 영상 복호화 장치(150)는 제1 부호화 단위(2110)와 관련된 부호화 단위들의 심도를 결정하는 상기 방식에 대응하는 방식으로, 너비가 높이보다 긴 비-정사각형 형태의 제1 부호화 단위(2120)와 관련된 부호화 단위들의 심도를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 분할된 부호화 단위들의 구분을 위한 인덱스(PID)를 결정함에 있어서, 홀수개로 분할된 부호화 단위들이 서로 동일한 크기가 아닌 경우, 부호화 단위들 간의 크기 비율에 기초하여 인덱스를 결정할 수 있다. 도 21를 참조하면, 홀수개로 분할된 부호화 단위들(2114a, 2114b, 2114c) 중 가운데에 위치하는 부호화 단위(2114b)는 다른 부호화 단위들(2114a, 2114c)와 너비는 동일하지만 높이가 다른 부호화 단위들(2114a, 2114c)의 높이의 두 배일 수 있다. 즉, 이 경우 가운데에 위치하는 부호화 단위(2114b)는 다른 부호화 단위들(2114a, 2114c)의 두 개를 포함할 수 있다. 따라서, 스캔 순서에 따라 가운데에 위치하는 부호화 단위(2114b)의 인덱스(PID)가 1이라면 그 다음 순서에 위치하는 부호화 단위(2114c)는 인덱스가 2가 증가한 3일수 있다. 즉 인덱스의 값의 불연속성이 존재할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 이러한 분할된 부호화 단위들 간의 구분을 위한 인덱스의 불연속성의 존재 여부에 기초하여 홀수개로 분할된 부호화 단위들이 서로 동일한 크기가 아닌지 여부를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위로부터 분할되어 결정된 복수개의 부호화 단위들을 구분하기 위한 인덱스의 값에 기초하여 특정 분할 형태로 분할된 것인지를 결정할 수 있다. 도 21를 참조하면 영상 복호화 장치(150)는 높이가 너비보다 긴 직사각형 형태의 제1 부호화 단위(2110)를 분할하여 짝수개의 부호화 단위(2112a, 2112b)를 결정하거나 홀수개의 부호화 단위(2114a, 2114b, 2114c)를 결정할 수 있다. 영상 복호화 장치(150)는 복수개의 부호화 단위 각각을 구분하기 위하여 각 부호화 단위를 나타내는 인덱스(PID)를 이용할 수 있다. 일 실시예에 따라 PID는 각각의 부호화 단위의 소정 위치의 샘플(예를 들면, 좌측 상단 샘플)에서 획득될 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 부호화 단위의 구분을 위한 인덱스를 이용하여 분할되어 결정된 부호화 단위들 중 소정 위치의 부호화 단위를 결정할 수 있다. 일 실시예에 따라 높이가 너비보다 긴 직사각형 형태의 제1 부호화 단위(2110)에 대한 분할 형태 정보가 3개의 부호화 단위로 분할됨을 나타내는 경우 영상 복호화 장치(150)는 제1 부호화 단위(2110)를 3개의 부호화 단위(2114a, 2114b, 2114c)로 분할할 수 있다. 영상 복호화 장치(150)는 3개의 부호화 단위(2114a, 2114b, 2114c) 각각에 대한 인덱스를 할당할 수 있다. 영상 복호화 장치(150)는 홀수개로 분할된 부호화 단위 중 가운데 부호화 단위를 결정하기 위하여 각 부호화 단위에 대한 인덱스를 비교할 수 있다. 영상 복호화 장치(150)는 부호화 단위들의 인덱스에 기초하여 인덱스들 중 가운데 값에 해당하는 인덱스를 갖는 부호화 단위(2114b)를, 제1 부호화 단위(2110)가 분할되어 결정된 부호화 단위 중 가운데 위치의 부호화 단위로서 결정할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 분할된 부호화 단위들의 구분을 위한 인덱스를 결정함에 있어서, 부호화 단위들이 서로 동일한 크기가 아닌 경우, 부호화 단위들 간의 크기 비율에 기초하여 인덱스를 결정할 수 있다. 도 21를 참조하면, 제1 부호화 단위(2110)가 분할되어 생성된 부호화 단위(2114b)는 다른 부호화 단위들(2114a, 2114c)와 너비는 동일하지만 높이가 다른 부호화 단위들(2114a, 2114c)의 높이의 두 배일 수 있다. 이 경우 가운데에 위치하는 부호화 단위(2114b)의 인덱스(PID)가 1이라면 그 다음 순서에 위치하는 부호화 단위(2114c)는 인덱스가 2가 증가한 3일수 있다. 이러한 경우처럼 균일하게 인덱스가 증가하다가 증가폭이 달라지는 경우, 영상 복호화 장치(150)는 다른 부호화 단위들과 다른 크기를 가지는 부호화 단위를 포함하는 복수개의 부호화 단위로 분할된 것으로 결정할 수 있다, 일 실시예에 따라 분할 형태 정보가 홀수개의 부호화 단위로 분할됨을 나타내는 경우, 영상 복호화 장치(150)는 홀수개의 부호화 단위 중 소정 위치의 부호화 단위(예를 들면 가운데 부호화 단위)가 다른 부호화 단위와 크기가 다른 형태로 현재 부호화 단위를 분할할 수 있다. 이 경우 영상 복호화 장치(150)는 부호화 단위에 대한 인덱스(PID)를 이용하여 다른 크기를 가지는 가운데 부호화 단위를 결정할 수 있다. 다만 상술한 인덱스, 결정하고자 하는 소정 위치의 부호화 단위의 크기 또는 위치는 일 실시예를 설명하기 위해 특정한 것이므로 이에 한정하여 해석되어서는 안되며, 다양한 인덱스, 부호화 단위의 위치 및 크기가 이용될 수 있는 것으로 해석되어야 한다.
일 실시예에 따라 영상 복호화 장치(150)는 부호화 단위의 재귀적인 분할이 시작되는 소정의 데이터 단위를 이용할 수 있다.
도 22는 일 실시예에 따라 픽쳐에 포함되는 복수개의 소정의 데이터 단위에 따라 복수개의 부호화 단위들이 결정된 것을 도시한다.
일 실시예에 따라 소정의 데이터 단위는 부호화 단위가 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용하여 재귀적으로 분할되기 시작하는 데이터 단위로 정의될 수 있다. 즉, 현재 픽쳐를 분할하는 복수개의 부호화 단위들이 결정되는 과정에서 이용되는 최상위 심도의 부호화 단위에 해당할 수 있다. 이하에서는 설명 상 편의를 위해 이러한 소정의 데이터 단위를 기준 데이터 단위라고 지칭하도록 한다.
일 실시예에 따라 기준 데이터 단위는 소정의 크기 및 형태를 나타낼 수 있다. 일 실시예에 따라, 기준 부호화 단위는 MxN의 샘플들을 포함할 수 있다. 여기서 M 및 N은 서로 동일할 수도 있으며, 2의 승수로 표현되는 정수일 수 있다. 즉, 기준 데이터 단위는 정사각형 또는 비-정사각형의 형태를 나타낼 수 있으며, 이후에 정수개의 부호화 단위로 분할될 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 픽쳐를 복수개의 기준 데이터 단위로 분할할 수 있다. 일 실시예에 따라 영상 복호화 장치(150)는 현재 픽쳐를 분할하는 복수개의 기준 데이터 단위를 각각의 기준 데이터 단위에 대한 분할 정보를 이용하여 분할할 수 있다. 이러한 기준 데이터 단위의 분할 과정은 쿼드 트리(quad-tree)구조를 이용한 분할 과정에 대응될 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 픽쳐에 포함되는 기준 데이터 단위가 가질 수 있는 최소 크기를 미리 결정할 수 있다. 이에 따라, 영상 복호화 장치(150)는 최소 크기 이상의 크기를 갖는 다양한 크기의 기준 데이터 단위를 결정할 수 있고, 결정된 기준 데이터 단위를 기준으로 블록 형태 정보 및 분할 형태 정보를 이용하여 적어도 하나의 부호화 단위를 결정할 수 있다.
도 22를 참조하면, 영상 복호화 장치(150)는 정사각형 형태의 기준 부호화 단위(2200)를 이용할 수 있고, 또는 비-정사각형 형태의 기준 부호화 단위(2202)를 이용할 수도 있다. 일 실시예에 따라 기준 부호화 단위의 형태 및 크기는 적어도 하나의 기준 부호화 단위를 포함할 수 있는 다양한 데이터 단위(예를 들면, 시퀀스(sequence), 픽쳐(picture), 슬라이스(slice), 슬라이스 세그먼트(slice segment), 최대부호화단위 등)에 따라 결정될 수 있다.
일 실시예에 따라 영상 복호화 장치(150)의 수신부(210)는 기준 부호화 단위의 형태에 대한 정보 및 기준 부호화 단위의 크기에 대한 정보 중 적어도 하나를 상기 다양한 데이터 단위마다 비트스트림으로부터 획득할 수 있다. 정사각형 형태의 기준 부호화 단위(2200)에 포함되는 적어도 하나의 부호화 단위가 결정되는 과정은 도 10의 현재 부호화 단위(300)가 분할되는 과정을 통해 상술하였고, 비-정사각형 형태의 기준 부호화 단위(2200)에 포함되는 적어도 하나의 부호화 단위가 결정되는 과정은 도 11의 현재 부호화 단위(1100 또는 1150)가 분할되는 과정을 통해 상술하였으므로 자세한 설명은 생략하도록 한다.
일 실시예에 따라 영상 복호화 장치(150)는 소정의 조건에 기초하여 미리 결정되는 일부 데이터 단위에 따라 기준 부호화 단위의 크기 및 형태를 결정하기 위하여, 기준 부호화 단위의 크기 및 형태를 식별하기 위한 인덱스를 이용할 수 있다. 즉, 수신부(210)는 비트스트림으로부터 상기 다양한 데이터 단위(예를 들면, 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트, 최대부호화단위 등) 중 소정의 조건(예를 들면 슬라이스 이하의 크기를 갖는 데이터 단위)을 만족하는 데이터 단위로서 슬라이스, 슬라이스 세그먼트, 최대부호화 단위 등 마다, 기준 부호화 단위의 크기 및 형태의 식별을 위한 인덱스만을 획득할 수 있다. 영상 복호화 장치(150)는 인덱스를 이용함으로써 상기 소정의 조건을 만족하는 데이터 단위마다 기준 데이터 단위의 크기 및 형태를 결정할 수 있다. 기준 부호화 단위의 형태에 대한 정보 및 기준 부호화 단위의 크기에 대한 정보를 상대적으로 작은 크기의 데이터 단위마다 비트스트림으로부터 획득하여 이용하는 경우, 비트스트림의 이용 효율이 좋지 않을 수 있으므로, 기준 부호화 단위의 형태에 대한 정보 및 기준 부호화 단위의 크기에 대한 정보를 직접 획득하는 대신 상기 인덱스만을 획득하여 이용할 수 있다. 이 경우 기준 부호화 단위의 크기 및 형태를 나타내는 인덱스에 대응하는 기준 부호화 단위의 크기 및 형태 중 적어도 하나는 미리 결정되어 있을 수 있다. 즉, 영상 복호화 장치(150)는 미리 결정된 기준 부호화 단위의 크기 및 형태 중 적어도 하나를 인덱스에 따라 선택함으로써, 인덱스 획득의 기준이 되는 데이터 단위에 포함되는 기준 부호화 단위의 크기 및 형태 중 적어도 하나를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 하나의 최대 부호화 단위에 포함하는 적어도 하나의 기준 부호화 단위를 이용할 수 있다. 즉, 영상을 분할하는 최대 부호화 단위에는 적어도 하나의 기준 부호화 단위가 포함될 수 있고, 각각의 기준 부호화 단위의 재귀적인 분할 과정을 통해 부호화 단위가 결정될 수 있다. 일 실시예에 따라 최대 부호화 단위의 너비 및 높이 중 적어도 하나는 기준 부호화 단위의 너비 및 높이 중 적어도 하나의 정수배에 해당할 수 있다. 일 실시예에 따라 기준 부호화 단위의 크기는 최대부호화단위를 쿼드 트리 구조에 따라 n번 분할한 크기일 수 있다. 즉, 영상 복호화 장치(150)는 최대부호화단위를 쿼드 트리 구조에 따라 n 번 분할하여 기준 부호화 단위를 결정할 수 있고, 다양한 실시예들에 따라 기준 부호화 단위를 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 분할할 수 있다.
도 23은 일 실시예에 따라 픽쳐(2300)에 포함되는 기준 부호화 단위의 결정 순서를 결정하는 기준이 되는 프로세싱 블록을 도시한다.
일 실시예에 따라 영상 복호화 장치(150)는 픽쳐를 분할하는 적어도 하나의 프로세싱 블록을 결정할 수 있다. 프로세싱 블록이란, 영상을 분할하는 적어도 하나의 기준 부호화 단위를 포함하는 데이터 단위로서, 프로세싱 블록에 포함되는 적어도 하나의 기준 부호화 단위는 특정 순서대로 결정될 수 있다. 즉, 각각의 프로세싱 블록에서 결정되는 적어도 하나의 기준 부호화 단위의 결정 순서는 기준 부호화 단위가 결정될 수 있는 다양한 순서의 종류 중 하나에 해당할 수 있으며, 각각의 프로세싱 블록에서 결정되는 기준 부호화 단위 결정 순서는 프로세싱 블록마다 상이할 수 있다. 프로세싱 블록마다 결정되는 기준 부호화 단위의 결정 순서는 래스터 스캔(raster scan), Z 스캔(Z-scan), N 스캔(N-scan), 우상향 대각 스캔(up-right diagonal scan), 수평적 스캔(horizontal scan), 수직적 스캔(vertical scan) 등 다양한 순서 중 하나일 수 있으나, 결정될 수 있는 순서는 상기 스캔 순서들에 한정하여 해석되어서는 안 된다.
일 실시예에 따라 영상 복호화 장치(150)는 프로세싱 블록의 크기에 대한 정보를 획득하여 영상에 포함되는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있다. 영상 복호화 장치(150)는 프로세싱 블록의 크기에 대한 정보를 비트스트림으로부터 획득하여 영상에 포함되는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있다. 이러한 프로세싱 블록의 크기는 프로세싱 블록의 크기에 대한 정보가 나타내는 데이터 단위의 소정의 크기일 수 있다.
일 실시예에 따라 영상 복호화 장치(150)의 수신부(210)는 비트스트림으로부터 프로세싱 블록의 크기에 대한 정보를 특정의 데이터 단위마다 획득할 수 있다. 예를 들면 프로세싱 블록의 크기에 대한 정보는 영상, 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트 등의 데이터 단위로 비트스트림으로부터 획득될 수 있다. 즉 수신부(210)는 상기 여러 데이터 단위마다 비트스트림으로부터 프로세싱 블록의 크기에 대한 정보를 획득할 수 있고 영상 복호화 장치(150)는 획득된 프로세싱 블록의 크기에 대한 정보를 이용하여 픽쳐를 분할하는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있으며, 이러한 프로세싱 블록의 크기는 기준 부호화 단위의 정수배의 크기일 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 픽쳐(2300)에 포함되는 프로세싱 블록(2302, 2312)의 크기를 결정할 수 있다. 예를 들면, 영상 복호화 장치(150)는 비트스트림으로부터 획득된 프로세싱 블록의 크기에 대한 정보에 기초하여 프로세싱 블록의 크기를 결정할 수 있다. 도 23을 참조하면, 영상 복호화 장치(150)는 일 실시예에 따라 프로세싱 블록(2302, 2312)의 가로크기를 기준 부호화 단위 가로크기의 4배, 세로크기를 기준 부호화 단위의 세로크기의 4배로 결정할 수 있다. 영상 복호화 장치(150)는 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 기준 부호화 단위가 결정되는 순서를 결정할 수 있다.
일 실시예에 따라, 영상 복호화 장치(150)는 프로세싱 블록의 크기에 기초하여 픽쳐(2300)에 포함되는 각각의 프로세싱 블록(2302, 2312)을 결정할 수 있고, 프로세싱 블록(2302, 2312)에 포함되는 적어도 하나의 기준 부호화 단위의 결정 순서를 결정할 수 있다. 일 실시예에 따라 기준 부호화 단위의 결정은 기준 부호화 단위의 크기의 결정을 포함할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 비트스트림으로부터 적어도 하나의 프로세싱 블록에 포함되는 적어도 하나의 기준 부호화 단위의 결정 순서에 대한 정보를 획득할 수 있고, 획득한 결정 순서에 대한 정보에 기초하여 적어도 하나의 기준 부호화 단위가 결정되는 순서를 결정할 수 있다. 결정 순서에 대한 정보는 프로세싱 블록 내에서 기준 부호화 단위들이 결정되는 순서 또는 방향으로 정의될 수 있다. 즉, 기준 부호화 단위들이 결정되는 순서는 각각의 프로세싱 블록마다 독립적으로 결정될 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 특정 데이터 단위마다 기준 부호화 단위의 결정 순서에 대한 정보를 비트스트림으로부터 획득할 수 있다. 예를 들면, 수신부(210)는 기준 부호화 단위의 결정 순서에 대한 정보를 영상, 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트, 프로세싱 블록 등의 데이터 단위로마다 비트스트림으로부터 획득할 수 있다. 기준 부호화 단위의 결정 순서에 대한 정보는 프로세싱 블록 내에서의 기준 부호화 단위 결정 순서를 나타내므로, 결정 순서에 대한 정보는 정수개의 프로세싱 블록을 포함하는 특정 데이터 단위 마다 획득될 수 있다.
영상 복호화 장치(150)는 일 실시예에 따라 결정된 순서에 기초하여 적어도 하나의 기준 부호화 단위를 결정할 수 있다.
일 실시예에 따라 수신부(210)는 비트스트림으로부터 프로세싱 블록(2302, 2312)과 관련된 정보로서, 기준 부호화 단위 결정 순서에 대한 정보를 획득할 수 있고, 영상 복호화 장치(150)는 상기 프로세싱 블록(2302, 2312)에 포함된 적어도 하나의 기준 부호화 단위를 결정하는 순서를 결정하고 부호화 단위의 결정 순서에 따라 픽쳐(2300)에 포함되는 적어도 하나의 기준 부호화 단위를 결정할 수 있다. 도 23을 참조하면, 영상 복호화 장치(150)는 각각의 프로세싱 블록(2302, 2312)과 관련된 적어도 하나의 기준 부호화 단위의 결정 순서(2304, 2314)를 결정할 수 있다. 예를 들면, 기준 부호화 단위의 결정 순서에 대한 정보가 프로세싱 블록마다 획득되는 경우, 각각의 프로세싱 블록(2302, 2312)과 관련된 기준 부호화 단위 결정 순서는 프로세싱 블록마다 상이할 수 있다. 프로세싱 블록(2302)과 관련된 기준 부호화 단위 결정 순서(2304)가 래스터 스캔(raster scan)순서인 경우, 프로세싱 블록(2302)에 포함되는 기준 부호화 단위는 래스터 스캔 순서에 따라 결정될 수 있다. 이에 반해 다른 프로세싱 블록(2312)과 관련된 기준 부호화 단위 결정 순서(2314)가 래스터 스캔 순서의 역순인 경우, 프로세싱 블록(2312)에 포함되는 기준 부호화 단위는 래스터 스캔 순서의 역순에 따라 결정될 수 있다.
영상 복호화 장치(150)는 일 실시예에 따라, 결정된 적어도 하나의 기준 부호화 단위를 복호화할 수 있다. 영상 복호화 장치(150)는 상술한 실시예를 통해 결정된 기준 부호화 단위에 기초하여 영상을 복호화 할 수 있다. 기준 부호화 단위를 복호화 하는 방법은 영상을 복호화 하는 다양한 방법들을 포함할 수 있다.
일 실시예에 따라 영상 복호화 장치(150)는 현재 부호화 단위의 형태를 나타내는 블록 형태 정보 또는 현재 부호화 단위를 분할하는 방법을 나타내는 분할 형태 정보를 비트스트림으로부터 획득하여 이용할 수 있다. 블록 형태 정보 또는 분할 형태 정보는 다양한 데이터 단위와 관련된 비트스트림에 포함될 수 있다. 예를 들면, 영상 복호화 장치(150)는 시퀀스 파라미터 세트(sequence parameter set), 픽쳐 파라미터 세트(picture parameter set), 비디오 파라미터 세트(video parameter set), 슬라이스 헤더(slice header), 슬라이스 세그먼트 헤더(slice segment header)에 포함된 블록 형태 정보 또는 분할 형태 정보를 이용할 수 있다. 나아가, 영상 복호화 장치(150)는 최대 부호화 단위, 기준 부호화 단위, 프로세싱 블록마다 비트스트림으로부터 블록 형태 정보 또는 분할 형태 정보에 대응하는 신택스를 비트스트림으로부터 획득하여 이용할 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.

Claims (15)

  1. 영상을 부호화 하는 방법에 있어서,
    상기 영상을 압축하였을 때의 주관적 화질을 결정하는 단계;
    상기 영상을 압축하는 정도를 나타내는 압축강도들 중 주관적 화질이 달라지게 되는 적어도 하나의 압축강도를 결정하는 단계;
    상기 결정된 압축강도에 따른 압축 정보에 기초하여 상기 영상의 잔차 신호를 압축함으로써 상기 영상을 부호화 하는 단계를 포함하고,
    상기 주관적 화질은 DNN(Deep Neural Network)을 이용하여 프레임 별로 결정되는 것을 특징으로 하는 영상 부호화 방법.
  2. 제 1 항에 있어서, 상기 주관적 화질을 결정하는 단계는,
    복수개의 레이어를 이용하는 DNN을 이용하여 획득된 기계 학습 결과에 기초하여 상기 주관적 화질을 결정하는 단계를 포함하는 영상 부호화 방법.
  3. 제 2 항에 있어서, 상기 주관적 화질을 결정하는 단계는
    상기 복수개의 레이어마다 적어도 하나의 필터 커널을 이용하여 적어도 하나의 컨볼루션 이미지를 결정하는 단계; 및
    상기 적어도 하나의 컨볼루션 이미지에 대한 풀링(pooling)을 수행하는 단계를 포함하는 영상 부호화 방법.
  4. 제 1 항에 있어서, 상기 주관적 화질을 결정하는 단계는,
    상기 프레임과 관련된 샘플값, 히스토그램, 움직임 정보 중 적어도 하나를 DNN의 입력값으로 이용하여 상기 프레임에 대하여 상기 주관적 화질을 결정하는 단계를 포함하는 영상 부호화 방법.
  5. 제 1 항에 있어서, 상기 영상을 부호화 하는 단계는
    상기 적어도 하나의 압축강도로 상기 영상이 압축된 경우, 압축된 영상의 양자화 파라미터(Quantization Parameter)를 포함하는 상기 압축 정보를 이용하여 상기 영상의 잔차 신호를 압축하는 단계; 및
    상기 압축된 잔차 신호를 포함하는 비트스트림을 생성하는 단계를 포함하는 영상 부호화 방법.
  6. 제 5 항에 있어서, 상기 영상의 잔차 신호를 압축하는 단계는,
    오토인코더(Deep Autoencoder)에 상기 잔차 신호를 입력하는 단계; 및
    상기 오토인코더에 포함되는 적어도 하나의 히든 레이어(hidden layer) 중 압축 및 환원 과정에서 공통으로 이용되는 히든 레이어로부터 상기 압축된 잔차 신호를 획득하는 단계를 포함하는 영상 부호화 방법.
  7. 제 6 항에 있어서,
    상기 오토인코더는 제 1 손실(loss) 및 제 2 손실의 합을 이용하여 학습되도록 설계된 네트워크이고,
    상기 제 1 손실은 상기 잔차 신호를 상기 오토인코더를 통해 압축 및 환원함으로써 계산되는 손실이고,
    상기 제 2 손실은 상기 오토인코더에 의해 압축된 잔차 신호의 신호 분포를 집중시킴으로써 계산되는 손실인, 영상 부호화 방법.
  8. 제 6 항에 있어서, 상기 압축된 상기 잔차 신호를 획득하는 단계는,
    상기 압축 정보에 기초하여 상기 압축 및 환원 과정에서 공통으로 이용되는 히든 레이어의 노드 개수를 결정하는 단계; 및
    상기 결정된 노드 개수를 가지는 히든 레이어로부터 상기 압축된 잔차 신호를 획득하는 단계를 포함하는 영상 부호화 방법.
  9. 제 6 항에 있어서, 상기 잔차 신호를 입력하는 단계는,
    상기 잔차 신호의 크기 및 분포에 대한 전처리(pre-processing)를 수행하는 단계; 및
    상기 전처리(pre-processing)된 잔차 신호를 상기 오토인코더에 입력하는 단계를 포함하는 영상 부호화 방법.
  10. 영상을 복호화 하는 방법에 있어서,
    적어도 하나의 압축 강도에 따른 압축 정보를 비트스트림으로부터 획득하는 단계;
    상기 압축 정보에 기초하여 오토인코더로부터 잔차 신호를 획득하는 단계; 및
    상기 획득된 잔차 신호를 이용하여 상기 영상을 복호화 하는 단계를 포함하고,
    상기 적어도 하나의 압축 강도는 DNN을 이용하여 획득된 주관적 화질이 변경되는 압축 강도들 중 적어도 하나인 것을 특징으로 하는 영상 복호화 방법.
  11. 제 10 항에 있어서, 상기 영상을 복호화 하는 단계는
    상기 적어도 하나의 압축강도로 압축된 상기 영상의 양자화 파라미터를 포함하는 상기 압축 정보를 이용하여 상기 영상의 잔차 신호를 획득하는 단계; 및
    상기 압축된 잔차 신호를 포함하는 비트스트림을 생성하는 단계를 포함하는 영상 복호화 방법.
  12. 제 10 항에 있어서, 상기 잔차 신호를 획득하는 단계는
    상기 압축 정보에 기초하여 결정된 노드 개수를 포함하는 히든 레이어에 상기 비트스트림으로부터 획득된 정보를 입력하여 잔차 신호를 획득하는 단계를 포함하고,
    상기 노드 개수는 오토인코더에서 수행되는 압축 및 환원 과정에서 공통으로 이용되는 히든 레이어의 노드 개수인 것을 특징으로 하는 영상 복호화 방법.
  13. 제 12항에 있어서, 상기 영상을 복호화 하는 단계는,
    상기 획득된 잔차 신호의 크기 및 분포에 대한 후처리(post-processing)를 수행하는 단계; 및
    상기 후처리된 잔차 신호를 이용하여 상기 영상을 복호화 하는 단계를 포함하는 영상 복호화 방법.
  14. 제 13 항에 있어서, 상기 후처리를 수행하는 단계는
    상기 후처리 방법을 나타내는 정보를 상기 비트스트림으로부터 획득하는 단계; 및
    상기 획득된 후처리 방법을 나타내는 정보에 기초하여 상기 후처리를 수행하는 단계를 포함하는 영상 부호화 방법.
  15. 영상을 복호화 하는 장치에 있어서,
    적어도 하나의 압축 강도에 따른 압축 정보를 비트스트림으로부터 획득하는 획득부; 및
    상기 압축 정보에 기초하여 오토인코더로부터 잔차 신호를 획득하고, 상기 획득된 잔차 신호를 이용하여 상기 영상을 복호화 하는 복호화부를 포함하고,
    상기 적어도 하나의 압축 강도는 DNN을 이용하여 획득된 주관적 화질이 변경되는 압축 강도들 중 적어도 하나인 것을 특징으로 하는 영상 복호화 장치.
KR1020197038082A 2017-07-06 2018-02-06 영상을 부호화/복호화 하는 방법 및 그 장치 KR102594362B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/KR2017/007267 WO2019009449A1 (ko) 2017-07-06 2017-07-06 영상을 부호화/복호화 하는 방법 및 그 장치
KRPCT/KR2017/007267 2017-07-06
PCT/KR2018/001540 WO2019009489A1 (ko) 2017-07-06 2018-02-06 영상을 부호화/복호화 하는 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20200016879A true KR20200016879A (ko) 2020-02-17
KR102594362B1 KR102594362B1 (ko) 2023-10-26

Family

ID=64950158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197038082A KR102594362B1 (ko) 2017-07-06 2018-02-06 영상을 부호화/복호화 하는 방법 및 그 장치

Country Status (5)

Country Link
US (1) US11095894B2 (ko)
EP (1) EP3624452A4 (ko)
KR (1) KR102594362B1 (ko)
CN (1) CN110832860B (ko)
WO (2) WO2019009449A1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102352077B1 (ko) 2020-08-31 2022-01-18 주식회사 핀그램 고속 동영상 부호화 방법 및 시스템
KR20220027435A (ko) * 2020-08-27 2022-03-08 한국전자기술연구원 인코딩, 디코딩 장치 및 방법
WO2022139438A1 (ko) * 2020-12-22 2022-06-30 인텔렉추얼디스커버리 주식회사 딥러닝 기반 이미지 코딩 방법 및 장치
WO2022177382A1 (ko) * 2021-02-22 2022-08-25 삼성전자 주식회사 Ai를 이용하는 영상의 부호화 및 복호화 장치 및 이에 의한 영상의 부호화 및 복호화 방법
US11455706B2 (en) 2020-09-15 2022-09-27 Samsung Electronics Co., Ltd. Electronic apparatus, control method thereof and electronic system
KR20220146860A (ko) * 2021-04-26 2022-11-02 (주)이포즌 제품 이상 탐지 방법
US11863756B2 (en) 2021-02-22 2024-01-02 Samsung Electronics Co., Ltd. Image encoding and decoding apparatus and method using artificial intelligence
US11863783B2 (en) 2021-02-22 2024-01-02 Samsung Electronics Co., Ltd. Artificial intelligence-based image encoding and decoding apparatus and method

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018165753A1 (en) * 2017-03-14 2018-09-20 University Of Manitoba Structure defect detection using machine learning algorithms
US10970363B2 (en) * 2017-10-17 2021-04-06 Microsoft Technology Licensing, Llc Machine-learning optimization of data reading and writing
WO2019118539A1 (en) * 2017-12-14 2019-06-20 Interdigital Vc Holdings, Inc. Deep learning based image partitioning for video compression
CN111492655A (zh) 2017-12-14 2020-08-04 交互数字Vc控股公司 用于视频压缩的基于纹理的分区决定
EP3528432B1 (en) * 2018-02-16 2020-09-02 Nokia Solutions and Networks Oy Method and apparatus for monitoring a telecommunication network
CN111712830B (zh) * 2018-02-21 2024-02-09 罗伯特·博世有限公司 使用深度传感器的实时对象检测
EP3537346A1 (en) * 2018-03-09 2019-09-11 Tata Consultancy Services Limited Method and system for incorporating regression into stacked auto encoder (sae)
CN108416327B (zh) * 2018-03-28 2022-04-29 京东方科技集团股份有限公司 一种目标检测方法、装置、计算机设备及可读存储介质
CN112313603B (zh) 2018-06-28 2024-05-17 索尼公司 编码装置、编码方法、解码装置、解码方法和程序
JP7351299B2 (ja) 2018-07-03 2023-09-27 ソニーグループ株式会社 符号化装置、符号化方法、復号装置、復号方法、プログラム
US10685282B2 (en) * 2018-07-25 2020-06-16 WaveOne Inc. Machine-learning based video compression
US11109065B2 (en) * 2018-09-26 2021-08-31 Google Llc Video encoding by providing geometric proxies
US10999606B2 (en) * 2019-01-08 2021-05-04 Intel Corporation Method and system of neural network loop filtering for video coding
JP2020150516A (ja) * 2019-03-15 2020-09-17 シャープ株式会社 画像復号装置及び画像符号化装置
CN110046551B (zh) * 2019-03-18 2021-04-20 中国科学院深圳先进技术研究院 一种人脸识别模型的生成方法及设备
JP7205328B2 (ja) * 2019-03-19 2023-01-17 富士通株式会社 推定プログラム、推定装置および推定方法
US11729406B2 (en) * 2019-03-21 2023-08-15 Qualcomm Incorporated Video compression using deep generative models
US11388416B2 (en) * 2019-03-21 2022-07-12 Qualcomm Incorporated Video compression using deep generative models
JP7141007B2 (ja) * 2019-05-10 2022-09-22 日本電信電話株式会社 符号化装置、符号化方法及びプログラム
CN110349230A (zh) * 2019-07-15 2019-10-18 北京大学深圳研究生院 一种基于深度自编码器的点云几何压缩的方法
US11445222B1 (en) 2019-09-30 2022-09-13 Isize Limited Preprocessing image data
IL270116A (en) * 2019-10-23 2021-04-29 De Identification Ltd A system and method for identifying and protecting against cyber attacks against classification systems
KR102245682B1 (ko) * 2019-11-11 2021-04-27 연세대학교 산학협력단 영상 압축 장치, 이의 학습 장치 및 방법
US11341316B2 (en) * 2019-12-05 2022-05-24 Netflix, Inc. Techniques for compressing images to achieve a target quality level
EP3846478B1 (en) * 2020-01-05 2023-09-20 Isize Limited Processing image data
JP2021118403A (ja) * 2020-01-23 2021-08-10 キヤノン株式会社 画像処理装置、その制御方法、プログラム並びに画像処理システム
US11388415B2 (en) 2020-05-12 2022-07-12 Tencent America LLC Substitutional end-to-end video coding
WO2021231072A1 (en) * 2020-05-15 2021-11-18 Amazon Technologies, Inc. Iterative media object compression algorithm optimization using decoupled calibration of perceptual quality algorithms
US11544562B2 (en) 2020-05-15 2023-01-03 Amazon Technologies, Inc. Perceived media object quality prediction using adversarial annotations for training and multiple-algorithm scores as input
US11527019B2 (en) 2020-05-15 2022-12-13 Amazon Technologies, Inc. Iterative media object compression algorithm optimization using decoupled calibration of perceptual quality algorithms
CN111787323B (zh) * 2020-05-23 2021-09-03 清华大学 一种基于对抗学习的可变比特率生成式压缩方法
US11900640B2 (en) * 2020-07-15 2024-02-13 Tencent America LLC Method and apparatus for substitutional neural residual compression
US11532077B2 (en) 2020-08-17 2022-12-20 Netflix, Inc. Techniques for computing perceptual video quality based on brightness and color components
US11557025B2 (en) * 2020-08-17 2023-01-17 Netflix, Inc. Techniques for training a perceptual quality model to account for brightness and color distortions in reconstructed videos
US11582470B2 (en) * 2020-09-03 2023-02-14 Tencent America LLC Method and apparatus for multi-scale neural image compression with intra-prediction residuals
FR3114933B1 (fr) * 2020-10-06 2023-10-13 Fond B Com Procédé et dispositif électronique de décodage d’un flux de données, et programme d’ordinateur associé
US20210144377A1 (en) * 2020-11-19 2021-05-13 Intel Corporation Method and system of video coding with content adaptive quantization
US11850968B2 (en) * 2021-03-23 2023-12-26 Ford Global Technologies, Llc Electrified vehicle control based on validated battery cell voltages compressed and encrypted using artificial intelligence
CN113660600B (zh) * 2021-06-24 2022-11-01 南京邮电大学 一种室内定位系统及数据处理方法
WO2023055153A1 (ko) * 2021-09-29 2023-04-06 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
CN114399440B (zh) * 2022-01-13 2022-12-13 马上消费金融股份有限公司 图像处理方法、图像处理网络训练方法、装置及电子设备
WO2023155032A1 (zh) * 2022-02-15 2023-08-24 华为技术有限公司 图像处理方法和图像处理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075884A (en) * 1996-03-29 2000-06-13 Sarnoff Corporation Method and apparatus for training a neural network to learn and use fidelity metric as a control mechanism
KR20170000767A (ko) * 2015-06-24 2017-01-03 삼성전자주식회사 신경망, 신경망 학습 방법 및 이미지 신호 처리 튜닝 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3788997B2 (ja) 1993-12-22 2006-06-21 キヤノン株式会社 画像信号処理装置
JP2795147B2 (ja) * 1993-12-24 1998-09-10 日本電気株式会社 画質評価装置
KR100601846B1 (ko) * 2003-06-14 2006-07-19 에스케이 텔레콤주식회사 동영상 압축 부호화기의 왜곡 최적화 장치 및 방법
GB2539845B (en) * 2015-02-19 2017-07-12 Magic Pony Tech Ltd Offline training of hierarchical algorithms
US10007977B2 (en) * 2015-05-11 2018-06-26 Netflix, Inc. Techniques for predicting perceptual video quality
US10034005B2 (en) * 2015-06-05 2018-07-24 Sony Corporation Banding prediction for video encoding
WO2017036370A1 (en) * 2015-09-03 2017-03-09 Mediatek Inc. Method and apparatus of neural network based processing in video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075884A (en) * 1996-03-29 2000-06-13 Sarnoff Corporation Method and apparatus for training a neural network to learn and use fidelity metric as a control mechanism
KR20170000767A (ko) * 2015-06-24 2017-01-03 삼성전자주식회사 신경망, 신경망 학습 방법 및 이미지 신호 처리 튜닝 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Aditay Tripathi et al, Asymmetic stacked autoencoder, 2017 International Joint Conference on Neural Networks (IJCNN) (2017.05.01.) 1부.* *
Reza Rassool, VMAF reproducibility: Validating a perceptual practical video quality metric, 2017 IEEE International Symposium on Broadband Multimedia Systems and Broadcasting (BMSB) (2017.06.07.)* *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220027435A (ko) * 2020-08-27 2022-03-08 한국전자기술연구원 인코딩, 디코딩 장치 및 방법
KR102352077B1 (ko) 2020-08-31 2022-01-18 주식회사 핀그램 고속 동영상 부호화 방법 및 시스템
US11455706B2 (en) 2020-09-15 2022-09-27 Samsung Electronics Co., Ltd. Electronic apparatus, control method thereof and electronic system
WO2022139438A1 (ko) * 2020-12-22 2022-06-30 인텔렉추얼디스커버리 주식회사 딥러닝 기반 이미지 코딩 방법 및 장치
WO2022177382A1 (ko) * 2021-02-22 2022-08-25 삼성전자 주식회사 Ai를 이용하는 영상의 부호화 및 복호화 장치 및 이에 의한 영상의 부호화 및 복호화 방법
US11863756B2 (en) 2021-02-22 2024-01-02 Samsung Electronics Co., Ltd. Image encoding and decoding apparatus and method using artificial intelligence
US11863783B2 (en) 2021-02-22 2024-01-02 Samsung Electronics Co., Ltd. Artificial intelligence-based image encoding and decoding apparatus and method
KR20220146860A (ko) * 2021-04-26 2022-11-02 (주)이포즌 제품 이상 탐지 방법

Also Published As

Publication number Publication date
EP3624452A1 (en) 2020-03-18
CN110832860A (zh) 2020-02-21
KR102594362B1 (ko) 2023-10-26
US11095894B2 (en) 2021-08-17
CN110832860B (zh) 2024-04-09
WO2019009489A1 (ko) 2019-01-10
US20200145661A1 (en) 2020-05-07
WO2019009449A1 (ko) 2019-01-10
EP3624452A4 (en) 2020-03-18

Similar Documents

Publication Publication Date Title
KR102594362B1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
KR102285737B1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
KR102553147B1 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
JP7110370B2 (ja) ビデオ符号化のための機械学習モデルの量子化パラメータに適用される非線形関数の使用
US10986356B2 (en) Method for encoding/decoding image and device therefor
CN107005712B (zh) 使用优化函数执行基于图形的预测的方法和装置
JP5391290B2 (ja) テクスチャレベルに基づく量子化調整
JP2009533902A (ja) Dcシフトアーチファクトに対する量子化調整
JP2010514246A (ja) 画像圧縮及び伸張
WO2009092681A1 (en) Prediction-based image processing
US10123021B2 (en) Image encoding apparatus for determining quantization parameter, image encoding method, and program
US10148963B2 (en) Methods of and apparatus for encoding data arrays
KR20200035879A (ko) 문맥-적응적 엔트로피 모델을 사용하는 영상 처리를 위한 방법 및 방법
US7706440B2 (en) Method for reducing bit rate requirements for encoding multimedia data
US7702165B2 (en) Device, method, and program for image coding
CN105706447A (zh) 动画图像编码设备、动画图像解码设备、动画图像编码方法、动画图像解码方法以及程序
JP6080077B2 (ja) 画像符号化方法及び画像符号化装置
JP5812806B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US20230044603A1 (en) Apparatus and method for applying artificial intelligence-based filtering to image
Saeedi et al. Content adaptive pre-filtering for video compression
Jánosi Two-Stage Overfitting of Neural Network-Based Video Coding In-Loop Filter
JPH0993585A (ja) 動きベクトル検出装置及び動きベクトル検出方法
KR20210061298A (ko) 인지 특성에 기반한 영상 처리 및 인지 화질 향상 방법 및 장치
JP5298082B2 (ja) 適応的に直交変換係数の走査順序を決定する符号化装置及び復号装置
Cosman et al. Combining vector quantization and histogram equalization

Legal Events

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