KR20190033771A - 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법 - Google Patents

영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법 Download PDF

Info

Publication number
KR20190033771A
KR20190033771A KR1020170122339A KR20170122339A KR20190033771A KR 20190033771 A KR20190033771 A KR 20190033771A KR 1020170122339 A KR1020170122339 A KR 1020170122339A KR 20170122339 A KR20170122339 A KR 20170122339A KR 20190033771 A KR20190033771 A KR 20190033771A
Authority
KR
South Korea
Prior art keywords
slice
sub
data
image
slices
Prior art date
Application number
KR1020170122339A
Other languages
English (en)
Inventor
김두현
이철우
유기원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170122339A priority Critical patent/KR20190033771A/ko
Priority to PCT/KR2018/011330 priority patent/WO2019059736A1/ko
Publication of KR20190033771A publication Critical patent/KR20190033771A/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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • 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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream

Landscapes

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

Abstract

엔트로피 인코딩은 서브 슬라이스 단위로 수행하고 나머지 처리는 슬라이스 단위로 수행함으로써 영상의 평균 화질을 향상시킬 수 있고, 에러가 발생한 경우에는 서브 슬라이스 단위로 데이터를 초기화 및 복구함으로써 에러 발생으로 인한 화질 저하를 최소화할 수 있는 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법을 제공한다.
일 실시예에 따른 영상 인코딩 장치는, 입력 영상을 복수의 슬라이스로 분할하는 슬라이스 분배기; 상기 복수의 슬라이스를 각각 복수의 서브 슬라이스로 분할하는 서브 슬라이스 분배기; 및 상기 입력 영상의 데이터를 상기 슬라이스 단위로 처리하여 상기 입력 영상의 데이터에 대한 예측값을 결정하고, 상기 예측값을 이용하여 심볼을 생성하고, 상기 심볼에 대해 상기 서브 슬라이스 단위로 엔트로피 인코딩을 수행하여 상기 입력 영상에 대한 비트스트림을 출력하는 인코딩 모듈;을 포함한다.

Description

영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법{IMAGE ENCODING APPARATUS, IMAGE DECODING APPARATUS, IMAGE ENCODING METHOD, IMAGE DECODING METHOD}
영상 데이터를 인코딩하는 영상 인코딩 장치 및 영상 인코딩 방법과, 인코딩된 데이터를 디코딩하는 영상 디코딩 장치 및 영상 디코딩 방법에 관한 것이다.
영상의 압축 기술이 발전함에 따라 대용량 고화질의 영상을 다양한 기기에서 시청할 수 있게 되었다. 영상 데이터는 소정의 데이터 압축 표준에 따라 인코딩될 수 있고, 인코딩된 영상 데이터는 비트스트림 형태로 전송될 수 있다.
영상 데이터를 무선으로 전송하는 경우에는, 전송 환경에 따라 데이터 전송에 에러가 발생할 수 있다. 데이터 전송에 에러가 발생한 경우 송신단에 영상 데이터의 재전송을 요청하게 되면, 시간 지연이 발생할 수 있다. 이러한 시간 지연을 방지하기 위해 수신단에서 에러를 복원할 수 있는바, 복원하는 방식에 따라 디스플레이 장치에 출력되는 영상의 화질에 차이가 생긴다.
따라서, 전송된 영상 데이터에 에러가 발생한 경우 이를 효과적으로 복원할 수 있는 방법에 관한 연구가 필요하다.
엔트로피 인코딩은 서브 슬라이스 단위로 수행하고 나머지 처리는 슬라이스 단위로 수행함으로써 영상의 평균 화질을 향상시킬 수 있고, 에러가 발생한 경우에는 서브 슬라이스 단위로 데이터를 초기화 및 복구함으로써 에러 발생으로 인한 화질 저하를 최소화할 수 있는 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법을 제공한다.
일 실시예에 따른 영상 인코딩 장치는, 입력 영상을 복수의 슬라이스로 분할하는 슬라이스 분배기; 상기 복수의 슬라이스를 각각 복수의 서브 슬라이스로 분할하는 서브 슬라이스 분배기; 및 상기 입력 영상의 데이터를 상기 슬라이스 단위로 처리하여 상기 입력 영상의 데이터에 대한 예측값을 결정하고, 상기 예측값을 이용하여 심볼을 생성하고, 상기 심볼에 대해 상기 서브 슬라이스 단위로 엔트로피 인코딩을 수행하여 상기 입력 영상에 대한 비트스트림을 출력하는 인코딩 모듈;을 포함한다.
상기 영상 인코딩 장치는, 상기 복수의 서브 슬라이스를 구분하기 위한 구분 마커를 생성하고, 상기 출력된 비트스트림에서 상기 복수의 서브 슬라이스에 대한 데이터가 시작되는 위치마다 상기 구분 마커를 삽입하는 마커 생성기;를 더 포함할 수 있다.
상기 인코딩 모듈은, 상기 예측값의 결정 대상인 현재 블록과 동일한 슬라이스에 포함되는 적어도 하나의 주변 블록의 정보를 참조하여 상기 현재 블록의 예측값을 결정할 수 있다.
상기 인코딩 모듈은, 상기 현재 블록의 데이터와 상기 결정된 예측값을 차분하여 생성된 잔차 데이터에 주파수 변환을 수행하여 변환 계수를 생성하고, 상기 변환 계수에 양자화를 수행하여 양자화된 계수 형태의 상기 심볼을 생성할 수 있다.
상기 인코딩 모듈은, 상기 심볼에 역양자화 및 역양자화를 수행하여 잔차 데이터를 복원하고, 상기 잔차 데이터와 상기 예측값을 이용하여 복원 데이터를 생성할 수 있다.
상기 복원 데이터를 저장하는 메모리;를 더 포함하고, 상기 인코딩 모듈은, 현재 블록의 데이터에 대한 예측값을 결정할 때, 상기 메모리에 저장된 복원 데이터 중 주변 블록에 대한 복원 데이터를 참조할 수 있다.
상기 인코딩 모듈은, 현재 블록에 대해 엔트로피 인코딩을 수행할 때 상기 현재 블록과 동일한 서브 슬라이스에 포함되는 적어도 하나의 주변 블록의 정보를 참조할 수 있다.
상기 서브 슬라이스 분배기는, 상기 복수의 서브 슬라이스의 개수에 관한 파라미터에 기초하여 상기 복수의 슬라이스를 분할할 수 있다.
일 실시예에 따른 영상 디코딩 장치는, 입력된 비트스트림에서 슬라이스 시작 코드를 검출하여 복수의 슬라이스를 구분하는 슬라이스 구분기; 상기 입력된 비트스트림에서 구분 마커를 검출하여 복수의 서브 슬라이스를 구분하는 서브 슬라이스 구분기; 상기 입력된 비트스트림에 대해 에러를 검사하고, 상기 에러가 검출된 서브 슬라이스의 데이터를 초기화하는 에러 검출기; 상기 에러가 검출되지 않은 비트스트림을 디코딩하여 복원 영상을 생성하는 디코딩 모듈; 및 상기 에러가 검출된 서브 슬라이스의 데이터를 복구하여 복구 영상을 생성하는 영상 복구기;를 포함한다.
상기 복수의 슬라이스는 각각 복수의 서브 슬라이스를 포함할 수 있다.
상기 영상 복구기는, 상기 에러가 검출된 서브 슬라이스와 인접한 주변 슬라이스에 포함되는 복수의 블록 중 상기 에러가 검출된 서브 슬라이스와의 경계에 위치하는 블록의 데이터를 복구할 수 있다.
상기 디코딩 모듈은, 상기 에러가 검출되지 않은 비트스트림에 대해 상기 서브 슬라이스 단위로 엔트로피 디코딩을 수행하여 양자화된 계수 형태의 심볼을 생성할 수 있다.
상기 디코딩 모듈은, 상기 심볼에 대해 역양자화 및 역변환을 수행하여 잔차 신호를 복원하고, 상기 슬라이스 단위로 수행된 예측에 의해 결정된 예측값과 상기 잔차 신호를 합산하여 복원 블록을 생성할 수 있다.
일 실시예에 따른 영상 인코딩 방법은, 입력 영상을 복수의 슬라이스로 분할하고; 상기 복수의 슬라이스를 각각 복수의 서브 슬라이스로 분할하고; 상기 입력 영상의 데이터를 상기 슬라이스 단위로 처리하여 상기 입력 영상의 데이터에 대한 예측값을 결정하고; 상기 예측값을 이용하여 심볼을 생성하고; 상기 심볼에 대해 상기 서브 슬라이스 단위로 엔트로피 인코딩을 수행하여 상기 입력 영상에 대한 비트스트림을 출력하는 것;을 포함한다.
상기 영상 인코딩 방법은, 상기 복수의 서브 슬라이스를 구분하기 위한 구분 마커를 생성하고; 상기 입력 영상에 대한 비트스트림에서 상기 복수의 서브 슬라이스에 대한 데이터가 시작되는 위치마다 상기 구분 마커를 삽입하는 것;을 더 포함할 수 있다.
상기 예측값을 결정하는 것은, 현재 블록의 데이터에 대한 예측값을 결정할 때, 상기 현재 블록과 동일한 슬라이스에 포함되는 적어도 하나의 주변 블록의 정보를 참조할 수 있다.
상기 심볼을 생성하는 것은, 상기 현재 블록의 데이터와 상기 결정된 예측값을 차분하여 잔차 데이터를 생성하고; 상기 잔차 데이터에 주파수 변환을 수행하여 변환 계수를 생성하고; 상기 변환 계수에 양자화를 수행하여 양자화된 계수 형태의 상기 심볼을 생성하는 것;을 포함할 수 있다.
상기 영상 인코딩 방법은, 상기 심볼에 역양자화 및 역양자화를 수행하여 잔차 데이터를 복원하고; 상기 복원된 잔차 데이터와 상기 예측값을 이용하여 복원 데이터를 생성하는 것;을 더 포함할 수 있다.
상기 영상 인코딩 방법은, 상기 복원 데이터를 저장하는 것;을 더 포함하고, 상기 예측값을 결정하는 것은, 현재 블록의 데이터에 대한 예측값을 결정할 때, 상기 저장된 복원 데이터 중 주변 블록에 대한 복원 데이터를 참조하는 것;을 포함할 수 있다.
상기 엔트로피 인코딩을 수행하는 것은, 현재 블록에 대해 엔트로피 인코딩을 수행할 때 현재 블록과 동일한 서브 슬라이스에 포함되는 적어도 하나의 주변 블록의 정보를 참조하는 것;을 포함할 수 있다.
일 실시예에 따른 영상 디코딩 방법은, 입력된 비트스트림에서 슬라이스 시작 코드를 검출하여 복수의 슬라이스를 구분하고; 상기 입력된 비트스트림에서 구분 마커를 검출하여 복수의 서브 슬라이스를 구분하고; 상기 입력된 비트스트림에 대해 에러를 검사하고; 상기 에러가 검출된 서브 슬라이스의 데이터를 초기화하고; 상기 에러가 검출되지 않은 비트스트림을 디코딩하여 복원 영상을 생성하고; 상기 에러가 검출된 서브 슬라이스의 데이터를 복구하여 복구 영상을 생성하는 것;을 포함한다.
상기 에러가 검출된 서브 슬라이스와 인접한 주변 슬라이스에 포함되는 복수의 블록 중 상기 에러가 검출된 서브 슬라이스와의 경계에 위치하는 블록의 데이터를 복구하는 것;을 더 포함할 수 있다.
상기 복원 영상을 생성하는 것은, 상기 에러가 검출되지 않은 비트스트림에 대해 상기 서브 슬라이스 단위로 엔트로피 디코딩을 수행하여 양자화된 계수 형태의 심볼을 생성하는 것;을 포함할 수 있다.
상기 복원 영상을 생성하는 것은, 상기 심볼에 대해 역양자화 및 역변환을 수행하여 잔차 신호를 복원하고; 상기 슬라이스 단위로 수행된 예측에 의해 결정된 예측값과 상기 잔차 신호를 합산하여 복원 블록을 생성하는 것;을 포함할 수 있다.
일 측면에 따른 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법에 의하면, 엔트로피 인코딩은 서브 슬라이스 단위로 수행하고 나머지 처리는 슬라이스 단위로 수행함으로써 영상의 평균 화질을 향상시킬 수 있고, 에러가 발생한 경우에는 서브 슬라이스 단위로 데이터를 초기화 및 복구함으로써 에러 발생으로 인한 화질 저하를 최소화할 수 있다.
도 1은 송신 장치와 수신 장치가 영상 데이터를 주고 받는 예시를 나타낸 도면이다.
도 2는 영상의 인코딩 또는 디코딩 시에 독립적으로 처리되는 단위를 나타낸 도면이다.
도 3은 특정 슬라이스에 에러가 발생한 경우에 에러의 영향 범위를 나타낸 도면이다.
도 4는 일 실시예에 따른 영상 인코딩 장치의 제어 블록도이다.
도 5 및 도 6은 일 실시예에 따른 영상 인코딩 장치에 의해 분할되는 슬라이스 예시를 나타내는 도면이다.
도 7은 일 실시예에 따른 영상 인코딩 장치에 있어서 인코딩 모듈의 구성이 구체화된 제어 블록도이다.
도 8은 일 실시예에 따른 영상 인코딩 장치가 블록 단위로 인코딩을 수행하는 동작의 예시를 나타내는 도면이다.
도 9는 일 실시예에 따른 영상 인코딩 장치에서 생성하는 비트스트림 데이터의 예시를 나타낸 도면이다.
도 10은 일 실시예에 따른 영상 디코딩 장치의 제어 블록도이다.
도 11은 일 실싱예에 따른 영상 디코딩 장치의 디코딩 모듈이 구체화된 제어 블록도이다.
도 12 및 도 13은 일 실시예에 따른 영상 디코딩 장치가 에러를 복원하는 방법의 예시를 나타낸 도면이다.
도 14는 슬라이스 단위로 에러를 복구하는 경우의 에러 영향 범위를 나타낸 도면이다.
도 15는 일 실시예에 따른 영상 인코딩 방법에 대한 순서도이다.
도 16은 일 실시예에 따른 영상 디코딩 방법에 대한 순서도이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재'라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재'가 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 각 단계들을 식별하기 위해 사용되는 것으로 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하, 첨부된 도면을 참조하여 일 측면에 따른 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법에 관한 실시예를 상세하게 설명한다.
도 1은 송신 장치와 수신 장치가 영상 데이터를 주고 받는 예시를 나타낸 도면이고, 도 2는 영상의 인코딩 또는 디코딩 시에 독립적으로 처리되는 단위를 나타낸 도면이고, 도 3은 특정 슬라이스에 에러가 발생한 경우에 에러의 영향 범위를 나타낸 도면이다.
도 1을 참조하면, 송신 장치(10)는 무선 전송 환경에서 영상 데이터를 전송하기 위해 일정 압축 표준에 따라 영상 데이터를 압축하고, 비트스트림 형태로 수신 장치(20)에 전송할 수 있다. 수신 장치(20)는 수신된 영상 데이터를 디코딩하여 디스플레이 장치(30)에 영상을 출력한다.
이러한 무선 전송 환경에서는 송신 장치(10)와 수신 장치(20) 사이에 존재하는 장애물, 무선 통신 네트워크 상황의 변화 등 다양한 변수로 인해 패킷 손실(Packet Loss), 패킷 변형(Packet Corruption) 등이 발생하여 데이터 전송에 에러가 발생할 수 있다.
수신 장치(20)에서 에러를 검출하고 에러가 검출된 데이터를 복구할 수 있다. 그러나, 출력 영상에서 데이터가 복구된 영역은 에러가 발생하지 않은 영역에 비해 화질이 떨어지게 된다.
영상 압축 기술에서는, 영상을 계층적으로 정의하고 정의된 계층에 따라 독립적으로 처리할 수 있다. 후술하는 실시예에서 영상은 동영상과 정지 영상을 모두 포함할 수 있고, 동영상과 정지 영상은 프레임으로 구성될 수 있다.
도 2를 참조하면, 하나의 프레임은 슬라이스로 정의되는 더 작은 단위로 분할될 수 있다. 즉, 하나의 프레임은 복수의 슬라이스로 구성될 수 있다. 하나의 플레임을 구성하는 복수의 슬라이스는 영상 압축 표준에 따라 다양한 방식으로 분할될 수 있다.
각각의 슬라이스는 독립적으로 처리될 수 있다. 여기서, 독립적으로 된다는 것은, 단일 슬라이스에 대한 인코딩 및 디코딩 시에 다른 슬라이스에 포함된 정보를 참조하지 않는 것을 의미할 수 있다. 따라서, 슬라이스 #1, 슬라이스 #2, 슬라이스 #4, ..., 슬라이스 #N은 각각 독립적으로 처리되고, 인코딩 및 디코딩 시에 다른 슬라이스에 포함된 정보를 이용할 수 없다.
인코딩 및 디코딩이 수행되는 영상의 최소 처리 단위는 블록(Block)이라 할 수 있다. 단일 슬라이스는 적어도 하나의 블록을 포함할 수 있다. 예를 들어, 블록은 코딩 트리 유닛(Coding Tree Unit), 예측 유닛(Prediction Unit), 변환 유닛(Transform Unit) 일 수 있다.
일 예로, 블록은 8x8 픽셀, 16x16 픽셀 등과 같이 복수의 픽셀 집합으로 정의될 수 있으나, 이는 예시에 해당할 뿐 영상 인코딩 장치(100)의 실시예에서 블록이 반드시 2차원 픽셀 배열로 구성되어야 하는 것은 아니다.
영상 압축은 영상을 전송하기 위해 그 데이터량을 줄이는 것이다. 이를 위해, 영상을 블록 단위로 인코딩 및 디코딩함에 있어서, 주변 블록 정보를 이용할 수 있다. 따라서, 주변 블록이 디코딩 되어야 현재 처리 대상인 블록에 대한 인코딩 또는 디코딩이 가능하게 된다. 전술한 바와 같이, 각각의 슬라이스는 독립적으로 처리되므로, 같은 슬라이스내에 있는 주변 블록의 정보만 이용할 수 있다. 따라서, 하나의 프레임을 구성하는 슬라이스의 수가 적을수록 이용할 주변 블록의 범위가 넓어져 평균 화질이 향상된다.
도 3의 예시와 같이, 슬라이스 #2에 에러가 발생한 경우, 수신 장치(20)는 발생된 에러를 검출하고, 슬라이스 #2의 데이터는 폐기 또는 초기화할 수 있다.
각각의 슬라이스는 독립적으로 처리되므로, 슬라이스 #2를 제외한 나머지 슬라이스는 정상적으로 디코딩되고, 에러가 발생한 슬라이스 #2는 주변 슬라이스 정보 또는 주변 프레임 정보를 이용하여 복원할 수 있다.
단일 슬라이스 내의 일부 블록에만 에러가 발생한 경우라도, 슬라이스 단위로 처리가 되기 때문에 해당 슬라이스의 전체 데이터가 폐기된다. 따라서, 하나의 프레임을 구성하는 슬라이스의 수가 많을수록 단일 슬라이스의 크기가 작아져 에러 발생으로 인한 화질 저하가 좁은 영역에서 나타날 수 있다.
일 실시예에 따른 영상 인코딩 장치 및 영상 디코딩 장치는, 단일 슬라이스를 더 작은 단위의 서브 슬라이스로 분할하고, 슬라이스 단위로 처리되는 단계와 서브 슬라이스 단위로 처리되는 단계를 다르게 적용함으로써 영상의 평균 화질은 향상시키고 에러 발생 시의 화질 저하는 최소화시킬 수 있다.
도 4는 일 실시예에 따른 영상 인코딩 장치의 제어 블록도이고, 도 5 및 도 6은 일 실시예에 따른 영상 인코딩 장치에 의해 분할되는 슬라이스 예시를 나타내는 도면이다.
도 4를 참조하면, 일 실시예에 따른 영상 인코딩 장치(100)는 입력된 영상을 인코딩하는 인코딩 모듈(110), 입력된 영상을 복수의 슬라이스로 분할하는 슬라이스 분배기(120), 단일 슬라이스를 서브 슬라이스로 분배하는 서브 슬라이스 분배기(130) 및 인코딩 모듈(110)로부터 출력되는 비트스트림에 서브 슬라이스를 구분하는 구분 마커를 삽입하는 마커 생성기(140)를 포함한다.
영상 인코딩 장치(100)의 동작을 명확히 설명하기 위해, 구성요소를 인코딩 모듈(110), 슬라이스 분배기(120), 서브 슬라이스 분배기(130) 및 마커 생성기(140)로 구분하였으나, 이들 구성요소들이 물리적으로 반드시 분리되는 것은 아니다. 인코딩 모듈(110), 슬라이스 분배기(120), 서브 슬라이스 분배기(130) 및 마커 생성기(140)는 단일 프로세서와 단일 메모리에 의해 구현되는 것도 가능하고, 복수의 프로세서와 복수의 메모리가 집적된 단일 칩에 의해 구현되는 것도 가능하다. 후자의 경우, 각각의 구성요소가 프로세서와 메모리를 공유할 수 있다.
슬라이스 분배기(120)는 슬라이스 설정 파라미터에 따라 입력 영상을 복수의 슬라이스로 분할할 수 있다. 슬라이스 설정 파라미터는 슬라이스의 개수 또는 모양과 같은 정보를 포함할 수 있다. 슬라이스 설정 파라미터는 설계자 또는 사용자에 의해 설정될 수도 있고, 외부로부터 입력되는 정보에 의해 설정될 수도 있으며, 영상 인코딩 장치(100)가 설정하는 것도 가능하다.
서브 슬라이스 분배기(130)도 마찬가지로 서브 슬라이스 설정 파라미터에 기초하여 입력 영상을 복수의 서브 슬라이스로 분할할 수 있고, 서브 슬라이스 설정 파라미터는 서브 슬라이스의 개수 또는 모양과 같은 정보를 포함할 수 있다. 서브 슬라이스는 슬라이스보다 작은 단위이며, 일 예로, 단일 슬라이스의 크기는 단일 서브 슬라이스의 크기의 정수배일 수 있다. 즉, 서브 슬라이스 분배기(130)는 각각의 슬라이스를 서브 슬라이스 단위로 분할할 수 있다.
인코딩 모듈(110)은 엔트로피 인코딩을 수행하여 영상 데이터를 비트스트림 형태로 변환할 수 있다. 인코딩 모듈(110)은 서브 슬라이스 단위로 엔트로피 인코딩을 수행하고, 엔트로피 인코딩 이전의 예측, 변환, 양자화 등의 심볼을 생성하기 위한 과정은 슬라이스 단위로 수행할 수 있다. 이하, 인코딩 모듈(110)이 서브 슬라이스 단위/슬라이스 단위로 처리하는 동작을 구체적으로 설명한다.
도 5의 예시를 참조하면, 슬라이스 분배기(120)는 하나의 프레임을 N개(N은 1 이상의 정수)의 슬라이스로 분할하고, 서브 슬라이스 분배기(130)는 각각의 슬라이스를 n개(n은 1 이상의 정수)의 서브 슬라이스로 분할할 수 있다. 슬라이스 분배기(120)와 서브 슬라이스 분배기(130)는 입력 영상을 구성하는 복수의 프레임에 대해 슬라이스 분할 및 서브 슬라이스 분할을 수행할 수 있다.
전술한 바와 같이, 인코딩 모듈(110)은 엔트로피 인코딩 이외의 동작은 슬라이스 단위로 수행할 수 있다. 따라서, N개의 슬라이스를 각각 독립적으로 처리할 수 있고, 동일 슬라이스에 포함되는 블록들은 서로 참조 대상이 될 수 있다.
서브 슬라이스가 반드시 프레임의 세로 방향을 따라 1차원으로 분할되어야 하는 것은 아니고, 도 6의 예시와 같이, 2차원적으로 분할되는 것도 가능하다. 서브 슬라이스의 분할 방식은 서브 슬라이스 설정 파라미터에 의해 결정되며, 영상 인코딩 장치(100)의 실시예에서는 그 배열, 개수 모양 등에 제한을 두지 않는다.
도 7은 일 실시예에 따른 영상 인코딩 장치에 있어서 인코딩 모듈의 구성이 구체화된 제어 블록도이며, 도 8은 일 실시예에 따른 영상 인코딩 장치가 블록 단위로 인코딩을 수행하는 동작의 예시를 나타내는 도면이고, 도 9는 일 실시예에 따른 영상 인코딩 장치에서 생성하는 비트스트림 데이터의 예시를 나타낸 도면이다.
인코딩 모듈(110)은 입력 영상의 데이터를 상기 슬라이스 단위로 처리하여 상기 입력 영상의 데이터에 대한 예측값을 결정하고, 예측값을 이용하여 심볼을 생성하고, 심볼에 대해 상기 서브 슬라이스 단위로 엔트로피 인코딩을 수행하여 입력 영상에 대한 비트스트림을 출력한다.
도 7을 참조하면, 인코딩 모듈(110)은 예측기(111), 감산기(112), 변환기(113), 양자화기(114), 엔트로피 인코더(115), 역양자화기(116), 역변환기(117), 가산기(118), 필터(119) 및 메모리(119a)를 포함할 수 있다.
예측기(111)는 슬라이스 분배기(120)에 의해 분할된 슬라이스 단위를 기준으로, 입력 영상에 대한 예측을 수행한다. 즉, 각각의 슬라이스마다 독립적으로 예측을 수행할 수 있다.
일 실시예에 따른 영상 인코딩 장치(100)는 인트라프레임(Intraframe) 방식 또는 인터프레임(Interframe) 방식으로 영상을 인코딩할 수 있다. 인트라프레임 방식에서는 프레임 단위로 압축을 수행하고, 인터프레임 방식에서는 이전 프레임의 정보를 이용하여 압축을 수행한다.
따라서, 인트라프레임 방식을 적용하는 경우, 예측기(111)는 프레임 내 예측을 수행한다. 인터프레임 방식을 적용하는 경우, 예측기(111)는 프레임 간 예측을 수행한다. 즉, 이전 프레임 또는 이후 프레임과 같이 시간적으로 인접한 주변 프레임으로부터 현재의 프레임을 예측한다. 후술하는 실시예에서는 인트라프레임 방식을 적용하는 경우를 인트라 모드라 하기로 하고, 인터프레임 방식을 적용하는 경우를 인터 모드라 하기로 한다.
인트라 모드인 경우, 예측기(111)는 현재 처리 대상인 블록과 공간적으로 인접한 주변 블록의 정보를 참조하여 예측 블록을 생성할 수 있다. 참조 대상이 되는 블록을 참조 블록이라 할 수 있다.
구체적으로, 예측기(111)는 현재 블록의 주변에 이미 복원된 블록의 픽셀값을 참조하여 현재 블록의 샘플들에 대한 예측값을 결정할 수 있다. 예측 블록은 예측값들로 구성된 블록을 의미한다. 따라서, 예측 블록을 생성한다는 것은 해당 블록에 대한 예측값을 결정한다는 것을 의미할 수 있다.
당해 실시예에서, 샘플은 영상의 샘플링 위치에 할당된 데이터로서 처리 대상이 되는 데이터를 의미한다. 예를 들어, 공간 영역의 영상에서 픽셀값, 변환 영역 상의 변환 계수들이 샘플에 해당할 수 있다.
슬라이스 분배기(120)가 전술한 도 5의 예시와 같이 프레임을 분할한 경우를 예로 들어 설명한다. 도 8을 참조하면, 동일 슬라이스(S1)에 포함되는 서브 슬라이스 #1(SS11)과 서브 슬라이스 #2(SS12)는 각각 복수의 블록으로 구성될 수 있다. 예를 들어, 현재 블록이 B43인 경우, 그 주변 블록(B32, B33, B34, B42, B44, B52, B53, B54) 중 이미 복원된 블록의 픽셀값을 이용하여 예측값을 결정할 수 있다. 여기서, 이용 가능한 주변 블록은 영상 압축 방식 또는 순서에 따라 달라질 수 있고, 도 8은 일 예시에 불과하다.
주변 블록 중 B32, B33, B34는 현재 블록 B43와 다른 서브 슬라이스에 속하지만, 예측값 결정 단계에서는 서브 슬라이스들이 독립적으로 처리되지 않고 상호 참조 가능하기 때문에 현재 블록 B43에 대한 예측값 결정 시에 서브 슬라이스 #1에 포함되는 블록들의 정보도 참조할 수 있다. 따라서, 서브 슬라이스 단위로 처리하는 경우에 비해 영상의 평균 화질이 향상될 수 있다.
인터 모드인 경우, 예측기(111)는 이미 인코딩 과정을 거치고 다시 복원된 이전 프레임에서 현재 블록과 가장 매치가 잘 되는 영역(참조 블록)을 찾아 움직임 벡터를 구함으로써 움직임을 예측할 수 있다. 여기서, 움직임 벡터는 2차원 벡터일 수 있고, 현재 블록과 참조 블록 사이의 오프셋을 나타낼 수 있다. 예측기(111)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측값을 결정하고 예측 블록을 생성할 수 있다.
감산기(112)는 현재 블록과 예측 블록을 차분하여 잔차 블록(residual block)을 생성할 수 있다. 즉, 현재 블록의 데이터와 예측 블록의 데이터를 차분하여 잔차 데이터를 생성할 수 있다.
변환기(113)는 생성된 잔차 블록 또는 잔차 데이터를 공간 영역에서 주파수 영역으로 변환한다. 변환기(113)는 이산 사인 변환(Discrete Sine Transform), 이산 코사인 변환(Discrete Cosine Transform), 하다마드 변환(Hadamard Transform) 등과 같이 공간 영역의 영상 신호를 주파수 영역으로 변환하는 기법을 사용할 수 있다.
변환기(113)는 전술한 주파수 변환을 수행하여 변환 계수를 출력할 수 있다.
양자화기(114)는 변환기(113)로부터 출력된 변환 계수를 양자화 파라미터(Quantization paremeter)에 따라 양자화하여 양자화된 계수(Quantized coefficient) 형태의 심볼(Symbol)을 출력할 수 있다.
양자화기(114)로부터 출력된 심볼은 엔트로피 인코더(115) 뿐만 아니라 역양자화기(116)에도 입력될 수 있다.
역양자화기(116)는 양자화된 계수를 역 양자화(Inverse Quantization)하여 주파수 계수를 복원할 수 있다. 이 때, 양자화기(114)가 사용한 양자화 파라미터에 기초하여 역 양자화를 수행할 수 있다.
역변환기(117)는 복원된 주파수 계수를 주파수 영역에서 공간 영역으로 역변환(Inverse Transform)하여 잔차 블록을 복원할 수 있다. 역변환기(117)는 변환기(113)가 수행한 주파수 변환 기법에 대한 역변환을 수행할 수 있다.
가산기(118)는 복원된 잔차 블록에 예측기(111)에서 생성한 예측 블록을 가산하여 입력 영상에 대한 복원 블록을 생성할 수 있다. 생성된 복원 블록은 메모리(119a)에 저장되어 예측기(111)의 참조 블록으로 사용될 수 있다.
생성된 복원 블록은 필터(119)에서 필터링된 후에 메모리(119a)에 저장될 수 있다. 필터(119)는 블록 간의 경계에 생긴 블록 왜곡을 제거하는 디블록킹 필터(Deblocking Filter), 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋 값을 더해주는 샘플 적응적 오프셋 필터(Sample Adaptive Offset Filter) 및 복원된 영상과 원래 영상을 비교한 값을 기초로 필터링을 수행하는 적응적 루프 필터(Adaptive Loop Filter) 중 적어도 하나의 필터를 포함할 수 있다.
엔트로피 인코더(115)는 양자화기(114)로부터 출력된 양자화된 계수에 대해 엔트로피 인코딩을 수행하여 비트스트림을 출력할 수 있다.
엔트로피 인코딩은 다양한 값을 갖는 심볼을 입력 받아 통계적 중복성을 제거하면서, 디코딩 가능한 비트스트림으로 표현하는 기법이다.
심볼이란 인코딩/디코딩 대상 구문 요소(syntax element) 및 코딩 파라미터(coding parameter), 잔차 신호(residual signal)의 값 등을 의미한다.
인코딩 파라미터는 인코딩 및 디코딩에 필요한 매개변수로서, 구문 요소와 같이 인코딩 장치에서 인코딩되어 디코딩 장치로 전달되는 정보뿐만 아니라, 인코딩 혹은 디코딩 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 인코딩하거나 디코딩할 때 필요한 정보를 의미한다.
인코딩 파라미터는 예를 들어 인트라/인터 모드, 움직임 벡터, 참조 영상 색인, 코딩 블록 패턴, 잔차 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다.
엔트로피 인코더(115)는 양자화된 계수에 대해 CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding) 또는 Exponential Golomb 등의 기법을 적용하여 엔트로피 인코딩을 수행할 수 있다. 또한, 양자화된 계수 뿐만 아니라 영상을 디코딩하는데 필요한 추가적인 정보를 함께 엔트로피 인코딩하는 것도 가능하다.
예를 들어, 엔트로피 인코더(115)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같이 엔트로피 인코딩을 수행하기 위한 테이블이 저장될 수 있다. 엔트로피 인코더(115)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 인코딩을 수행할 수 있다.
또한, 엔트로피 인코더(115)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼 또는 빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 인코딩을 수행할 수도 있다.
엔트로피 인코딩에 따르면, 높은 발생 확률을 갖는 심볼에 적은 수의 비트를 할당하고, 낮은 발생 확률을 갖는 심볼에 많은 수의 비트를 할당하여 심볼을 표현할 수 있다. 이로써, 인코딩 대상 심볼들에 대한 비트열의 크기가 감소되고 영상 인코딩의 압축 성능이 높아질 수 있다.
예를 들어, 엔트로피 인코더(115)가 CABAC 기법을 적용하는 경우, 이진화되지 않은 심볼을 이진화하여 빈으로 변환하고, 주변 블록 및 현재 블록의 인코딩 정보 혹은 이전 단계에서 인코딩된 심볼 또는 빈의 정보를 이용하여 문맥 모델을 결정할 수 있다. 엔트로피 인코더(115)는 결정된 문맥 모델에 따라 빈의 발생 확률을 예측하여 빈의 산술 부호화(Arithmetic Encoding)를 수행함으로써 비트스트림을 생성할 수 있다. 이 때, 문맥 모델 결정 후 다음 심볼 또는 빈의 문맥 모델을 위해 인코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.
엔트로피 인코더(115)는 서브 슬라이스 분배기(130)에 의해 분할된 서브 슬라이스 단위를 기준으로 엔트로피 인코딩을 수행할 수 있다. 따라서, 서브 슬라이스는 엔트로피 슬라이스라 지칭할 수도 있다.
엔트로피 인코더(115)는 다른 서브 슬라이스의 정보를 참조하지 않고 각각의 서브 슬라이스를 독립적으로 처리하여 엔트로피 인코딩을 수행할 수 있다. 따라서, 엔트로피 인코딩 수행 시에는 동일한 서브 슬라이스에 포함된 주변 블록의 정보만을 참조하고, 동일한 슬라이스에 속하더라도 서로 다른 서브 슬라이스에 포함된 블록들 간에는 서로 참조하지 않고 독립적으로 처리될 수 있다.
마커 생성기(140)는 엔트로피 인코더(115)가 생성한 비트스트림에 서브 슬라이스를 구분하기 위한 구분 마커를 생성하여 삽입할 수 있다. 구체적으로, 마커 생성기(140)는 비트스트림에서 복수의 서브 슬라이스에 대한 데이터가 시작되는 위치마다 구분 마커를 삽입할 수 있다. 일 예로, 구분 마커는 특징 이진수의 열을 포함할 수 있다.
도 9를 참조하면, 영상 인코딩 장치(100)가 생성한 비트스트림은 각각의 슬라이스(S1, S2, ..., SN)에 대한 정보를 포함하고, 단일 슬라이스에 대한 비트스트림은 슬라이스 시작코드, 슬라이스 헤더정보, 서브 슬라이스를 구분하는 구분 마커, 서브 슬라이스를 구성하는 블록들에 대한 데이터를 포함할 수 있다.
예를 들어, 슬라이스 #1에 대한 비트스트림은 슬라이스 시작코드, 슬라이스 헤더정보, 서브 슬라이스 #1의 구분 마커 1, 서브 슬라이스 #1을 구성하는 블록들에 대한 인코딩 데이터, 서브 슬라이스 #2의 구분 마커 2, 서브 슬라이스 #2를 구성하는 블록들에 대한 인코딩 데이터를 포함하고, 같은 방식으로 서브 슬라이스 #n의 구분 마커 n, 서브 슬라이스 #n을 구성하는 블록들에 대한 인코딩 데이터를 포함할 수 있다.
인코딩 모듈(110)은 전술한 동작을 수행하는 프로그램이 저장된 메모리 및 저장된 프로그램을 실행하는 프로세서를 포함할 수 있다. 인코딩 모듈(110)에 포함되는 각각의 구성요소들이 물리적으로 분리되거나 구분되어야 하는 것은 아닌바, 이들은 메모리와 프로세서를 공유할 수 있다. 예를 들어, 전술한 인코딩 모듈(110)의 동작을 수행하는 프로그램이 단일 메모리에 저장될 수 있고, 단일 프로세서가 저장된 프로그램을 실행하여 전술한 인코딩 모듈(110)의 동작을 수행할 수 있다.
영상 인코딩 장치(100)는 송신 장치(10)에 포함될 수 있다. 영상 인코딩 장치(100)에서 생성한 입력 영상의 비트스트림은 송신 장치(10)로부터 수신 장치(20)로 전송된다. 수신 장치(20)에는 전송된 비트스트림을 디코딩하는 영상 디코딩 장치가 포함될 수 있다.
도 10은 일 실시예에 따른 영상 디코딩 장치의 제어 블록도이고, 도 11은 일 실싱예에 따른 영상 디코딩 장치의 디코딩 모듈이 구체화된 제어 블록도이다.
도 10을 참조하면, 일 실시예에 따른 영상 디코딩 장치(200)는 슬라이스 구분기(210), 서브 슬라이스 구분기(220), 에러 검출기(250), 디코딩 모듈(230) 및 영상 복구기(240)를 포함한다.
영상 디코딩 장치(200)에 포함되는 각각의 구성요소들이 물리적으로 분리되거나 구분되어야 하는 것은 아닌바, 이들은 메모리와 프로세서를 공유할 수 있다. 예를 들어, 후술하는 동작을 수행하는 프로그램이 단일 메모리에 저장될 수 있고, 단일 프로세서가 저장된 프로그램을 실행하여 영상 디코딩 장치(200) 각각의 동작을 수행할 수 있다.
슬라이스 구분기(210)는 입력된 비트스트림으로부터 슬라이스 시작코드를 검출하여 프레임을 구성하는 복수의 슬라이스를 각각 구분하고, 서브 슬라이스 구분기(220)는 단일 슬라이스에 대한 비트스트림으로부터 구분 마커를 검출하여 단일 슬라이스를 구성하는 복수의 서브 슬라이스를 각각 구분할 수 있다.
에러 검출기(250)는 입력된 비트스트림의 에러를 검사한다. 전술한 바와 같이, 전송 환경에 따라 영상 인코딩 장치(100)로부터 영상 디코딩 장치(200)로 비트스트림이 전송되는 과정에서 에러가 발생할 수 있다. 발생되는 에러의 종류는 데이터의 한 비트만 변경되는 단일 비트 에러(Single-Bit Error), 2개 이상의 연속적인 비트가 변경되는 버스트 에러(Burst Error) 등이 있다.
에러 검출기(250)는 패리티 비트(Parity Bit)라 불리는 중복 비트를 데이터 단위에 덧붙이는 패리티 검사(Parity Check), 모든 바이트의 짝수 패리티를 모아 데이터 단위로 만들어 데이터 블록의 가장 뒤에 추가하는 2차원 패리티 검사, 2진 나눗셈을 이용하는 순환중복검사(CRC: Cyclical Redundancy Check), 상위 계층 프로토콜에서 사용하는 검사합(Checksum) 등과 같은 방식을 적용하여 에러를 검출할 수 있다. 다만, 전술한 방식들은 예시에 불과하고 영상 디코딩 장치(200)의 실시예가 이에 한정되는 것은 아니다. 따라서, 전술한 예시들 외에 다른 방식을 적용하여 에러를 검출할 수 있음은 물론이다.
에러 검출기(250)는 각각의 서브 슬라이스마다 에러를 검사할 수 있다. 에러 검출기(250)는 에러가 검출된 서브 슬라이스에 대한 비트스트림 데이터를 폐기 또는 초기화할 수 있다. 에러가 검출된 서브 슬라이스에 대한 데이터는 영상 복구기(240)에서 복구될 수 있다. 즉, 영상 복구기(240)는 에러가 검출된 서브 슬라이스에 대한 복구 영상을 생성할 수 있다.
에러 검출기(250)가 서브 슬라이스 단위로 에러를 검사하고 데이터를 초기화하기 때문에, 슬라이스 단위로 에러를 검출하고 데이터를 초기화하는 경우와 비교하여 에러 발생 시에 나타나는 화질 저하를 감소시킬 수 있다. 이와 관련된 동작은 후술하기로 한다.
디코딩 모듈(230)은 입력된 비트스트림을 디코딩하여 영상을 복원할 수 있다. 이하, 도 10을 참조하여 구체적으로 설명한다.
도 11을 참조하면, 디코딩 모듈(230)은 엔트로피 디코더(231), 역양자화기(232), 역변환기(233), 가산기(234), 필터(235), 메모리(236) 및 예측기(37)를 포함할 수 있다.
엔트로피 디코더(231)는 입력된 비트스트림을 확률 분포에 따라 엔트로피 디코딩하여 양자화된 계수 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 디코딩은 2진수의 열을 입력 받아 각 심볼들을 생성하는 방법이다.
예를 들어, 영상 인코딩 장치(100)에서 엔트로피 인코딩을 수행하기 위해 CAVLC 등의 가변 길이 부호화(VLC: Variable Length Coding)가 사용된 경우에, 엔트로피 디코더(231)도 영상 인코딩 장치(100)에서 사용한 VLC 테이블과 동일한 VLC를 저장하고 이를 이용하여 엔트로피 디코딩을 수행할 수 있다.
또한, 영상 인코딩 장치(100)에서 엔트로피 인코딩을 수행하기 위해 CABAC을 사용한 경우에는, 엔트로피 디코더(231)도 이에 대응하여 CABAC를 사용한 엔트로피 디코딩을 수행할 수 있다.
구체적으로, CABAC을 이용하여 엔트로피 디코딩을 수행하는 경우, 엔트로피 디코더(231)는 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 블록 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼 또는 빈의 정보를 이용하여 문맥 모델을 결정할 수 있다. 결정된 문맥 모델에 따라 빈의 발생 확률을 예측하여 빈의 산술 디코딩을 수행하고 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 또한, 문맥 모델 결정 후 다음 심볼 또는 빈의 문맥 모델을 위해, 디코딩된 심볼 또는 빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.
엔트로피 디코더(231)에서 출력되는 양자화된 계수를 처리하는 동작은, 인코딩 모듈(110)이 양자화된 계수를 다시 역양자화, 역변환, 가산 등을 하여 복원 블록을 생성하는 동작과 유사하다.
엔트로피 디코더(231)에서 출력되는 양자화된 계수는 역양자화기(232)에 입력되어 역양자화되고, 역 양자화된 주파수 계수는 역변환기(233)에 입력되어 주파수 영역에서 공간 영역으로 역변환될 수 있다. 이로써, 역변환기(233)는 복원된 잔차 블록 또는 복원된 잔차 데이터를 생성할 수 있다.
역양자화기(232)는 영상 인코딩 장치(100)에서 제공된 양자화 파라미터를 기초로 역양자화를 수행할 수 있고, 역변환기(233)는 영상 인코딩 장치(100)의 변환기(113)가 수행한 주파수 변환에 대한 역변환을 수행할 수 있다.
한편, 엔트로피 디코더(231)는 디코딩된 정보 중 예측 블록을 생성하기 위한 정보를 예측기(237)에 전달할 수 있다. 예측기(237)는 엔트로피 디코더(231)로부터 제공된 예측 블록 생성에 관련된 정보와 메모리(236)로부터 제공된 이미 복원된 블록 또는 프레임 정보에 기초하여 예측 블록을 생성할 수 있다.
현재 블록에 대한 예측 모드가 인트라 모드인 경우, 예측기(237)는 현재 프레임 내의 주변 블록의 픽셀 정보를 참조하여 예측 블록을 생성할 수 있다.
현재 블록에 대한 예측 모드가 인터 모드인 경우, 예측기(237)는 현재 프레임의 주변 프레임(이전 프레임 또는 이후 프레임)에 포함된 픽셀 정보를 참조하여 예측 블록을 생성할 수 있다. 이 때, 예측기(237)는 영상 인코딩 장치(100)에서 제공된 현재 블록의 인터프레임 예측에 필요한 움직임 정보(ex. 움직임 벡터, 참조 프레임 인덱스 등)를 이용하여 인터프레임 예측을 수행할 수 있다.
예측기(237)가 예측 블록을 생성하기 위해 주변 정보를 참조함에 있어서, 슬라이스 단위를 기준으로 할 수 있다. 동일 슬라이스에 포함된 블록들은 각 블록에 대한 예측 블록 생성 시에 상호 참조 대상이 될 수 있다. 따라서, 서로 다른 서브 슬라이스에 속하는 블록 간이더라도 동일 슬라이스에 속하는 경우에는, 상호 참조 대상이 될 수 있다.
가산기(234)는 역변환기(233)로부터 출력되는 잔차 블록과 예측기(237)로부터 출력되는 예측 블록을 합산하여 복원 블록을 생성할 수 있다.
필터(235)는 디블로킹 필터링, 적응적 오프셋 필터링 또는 적응적 루프 필터링을 적용하여 복원 블록을 필터링할 수 있고, 필터링된 복원 블록은 메모리(236)에 저장하여 예측 블록의 생성에 사용될 수 있다.
도 12 및 도 13은 일 실시예에 따른 영상 디코딩 장치가 에러를 복원하는 방법의 예시를 나타낸 도면이고, 도 14는 슬라이스 단위로 에러를 복구하는 경우의 에러 영향 범위를 나타낸 도면이다.
도 12의 예시를 참조하면, 비트스트림 형태로 수신된 영상에서 서브 슬라이스 #1의 데이터에 에러가 검출된 경우, 서브 슬라이스 #1의 데이터는 초기화된다.
영상 복구기(240)는 주변 프레임 정보, 주변 서브 슬라이스 정보 등을 이용하여 서브 슬라이스 #1의 영상을 복구할 수 있다. 영상 복구기(240)는 압축 영상 데이터에 발생한 에러를 복구하는 다양한 기술 중 적어도 하나를 적용하여 서브 슬라이스의 영상을 복구할 수 있다.
영상 복구기(240)에서 수행하는 영상의 복구 또는 영상의 복구는 에러가 발생하여 초기화된 데이터를 다른 정보들을 이용하여 복구하거나 에러의 영향을 받은 데이터를 다른 정보들을 이용하여 보완하는 것을 의미할 수 있다.
에러가 검출되지 않은 나머지 서브 슬라이스들에 대한 비트스트림은 디코딩 모듈(230)에서 디코딩되어 복원 영상으로 출력될 수 있다.
한편, 에러가 검출된 서브 슬라이스 #1과 인접한 서브 슬라이스 #2는 에러가 검출되지 않았으므로, 서브 슬라이스 #2에 대한 비트스트림은 디코딩 모듈(230)에서 디코딩될수 있다.
다만, 서브 슬라이스 #2에 대한 비트스트림의 디코딩 시에, 서브 슬라이스 #1의 데이터 초기화로 인해 참조 블록이 부족한 경우가 발생할 수 있다. 따라서, 영상 디코딩 장치(200)의 다른 예시에 따르면, 도 14에 도시된 바와 같이 영상 복구기(240)가 서브 슬라이스 #2에 대한 디코딩 데이터, 주변 서브 슬라이스 정보 또는 주변 프레임 정보 등을 이용하여 서브 슬라이스 #2의 영상을 복구하는 것도 가능하다. 이 때, 복구되는 데이터는 서브 슬라이스 #2에 포함된 블록 중 서브 슬라이스 #1와의 경계에 위치하는 블록의 데이터일 수 있다.
에러가 검출된 서브 슬라이스 #1과 인접하지 않은 나머지 서브 슬라이스들은 정상적으로 디코딩되어 서브 슬라이스 영상으로 복원되고, 복구된 서브 슬라이스 #1의 영상, 복구된 서브 슬라이스 #2의 영상 및 나머지 서브 슬라이스들의 영상이 출력 영상을 구성할 수 있다.
에러의 검출과 초기화를 서브 슬라이스 단위가 아닌 슬라이스 단위로 수행하게 되면, 도 14에 도시된 바와 같이, 서브 슬라이스 #1의 데이터에만 에러가 발생한 경우라도 슬라이스 #1 전체의 데이터를 초기화하고 슬라이스 #1 전체의 영상을 복구해야한다. 따라서, 에러 발생으로 인한 화질 저하가 나타나는 영역이 크다.
반면에, 일 실시예에 따른 영상 디코딩 장치(200)에 의하면, 에러가 검출된 서브 슬라이스 #1과 그와 인접한 서브 슬라이스 #2의 일부 영역만 에러의 영향을 받고 나머지 서브 슬라이스들은 독립적으로 처리되어 에러의 영향을 받지 않으므로 에러 발생으로 인한 화질 저하를 최소화할 수 있다.
에러 발생 환경과 고압출률 전송 환경을 각각 조성하고, 각각의 경우에 대해 영상 인코딩 장치(100)에서 영상 디코딩 장치(200)로 영상의 비트스트림을 전송하고 디스플레이 장치(30)에 출력되는 영상을 캡쳐하면, 캡쳐된 두 영상의 블로킹 아티팩트의 크기가 다르게 나타남을 확인할 수 있다.
전술한 실시예에 따른 영상 인코딩 장치(100) 및 영상 디코딩 장치(200)에 의하면, 영상의 압축 효율을 높일 수 있다. 따라서, 엔트로피 코딩 효율이 높은 특정 패턴의 영상을 입력 영상으로 하여 영상 인코딩 장치(100)에서 인코딩한 비트스트림을 영상 디코딩 장치(200)에서 디코딩하여 디스플레이 장치(30)에 출력하면, 소정의 가로 줄무늬가 발생함을 확인할 수 있다.
이하, 일 실시예에 따른 영상 인코딩 방법 및 영상 디코딩 방법에 대해 설명한다. 일 실시예에 따른 영상 인코딩 방법에는 전술한 실시예에 따른 영상 인코딩 장치(100)가 적용될 수 있고, 영상 디코딩 방법에는 전술한 실시예에 따른 영상 디코딩 장치(200)가 적용될 수 있다. 따라서, 앞서 설명한 도 1 내지 도 14의 내용은 일 실시예에 따른 영상 인코딩 방법 및 영상 디코딩 방법에도 적용될 수 있다.
도 15는 일 실시예에 따른 영상 인코딩 방법에 대한 순서도이다.
영상 인코딩 장치(100)에 영상이 입력되면, 도 15에 도시된 바와 같이, 입력된 영상을 복수의 슬라이스로 분할한다(310). 입력 영상은 동영상일수도 있고, 정지영상일 수도 있다. 어느 경우이든 입력 영상은 프레임으로 구성될 수 있다. 슬라이스 분배기(120)는 슬라이스 설정 파라미터에 따라 입력 영상을 슬라이스 단위로 분할할 수 있다. 슬라이스 설정 파라미터는 슬라이스의 개수 또는 모양과 같은 정보를 포함할 수 있다. 슬라이스 설정 파라미터는 설계자 또는 사용자에 의해 설정될 수도 있고, 외부로부터 입력되는 정보에 의해 설정될 수도 있으며, 영상 인코딩 장치(100)가 설정하는 것도 가능하다.
서브 슬라이스 분배기(30)는 입력 영상을 복수의 서브 슬라이스로 분할할 수 있다(311). 서브 슬라이스 분배기(130)는 서브 슬라이스 설정 파라미터에 기초하여 입력 영상을 서브 슬라이스 단위로 분할할 수 있고, 서브 슬라이스 설정 파라미터는 서브 슬라이스의 개수 또는 모양과 같은 정보를 포함할 수 있다. 서브 슬라이스는 슬라이스보다 작은 단위이며, 일 예로, 단일 슬라이스의 크기는 단일 서브 슬라이스의 크기의 정수배일 수 있다.
일 예로, 슬라이스 분배기(120)는 하나의 프레임을 N개(N은 1 이상의 정수)의 슬라이스로 분할하고, 서브 슬라이스 분배기(130)는 각각의 슬라이스를 n개(n은 1 이상의 정수)의 서브 슬라이스로 분할할 수 있다(도 5 참조).
예측기(111)가 입력 영상에 대한 예측을 수행하여 예측 블록을 생성한다(312). 예측기(111)는 현재 처리 대상인 블록과 공간적으로 인접한 주변 블록의 정보를 참조하여 예측 블록을 생성할 수 있다. 예측기(111)는 각각의 슬라이스마다 독립적으로 예측을 수행한다. 따라서, 현재 블록과 다른 슬라이스에 속하는 블록들의 정보는 참조할 수 없으나, 서로 다른 서브 슬라이스에 속하더라도 동일한 슬라이스에 속하는 블록들의 정보는 참조할 수 있다.
감산기(112)는 현재 블록과 예측 블록을 차분하여 잔차 블록을 생성한다(313).
변환기(113)는 주파수 변환을 수행하여, 잔차 블록을 공간 영역에서 주파수 영역으로 변환한다(314). 변환기(113)는 주파수 변환을 수행하여 변환 계수를 출력할 수 있다.
양자화기(315)는 출력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수를 출력한다(315).
양자화기(315)로부터 출력된 양자화된 계수는 엔트로피 인코더(115)와 역양자화기(318a)로 입력된다.
역양자화기(116)는 양자화된 계수를 역 양자화하여(319a) 주파수 계수를 복원할 수 있다. 이 때, 양자화기(114)가 사용한 양자화 파라미터에 기초하여 역 양자화를 수행할 수 있다.
역변환기(117)는 복원된 주파수 계수를 주파수 영역에서 공간 영역으로 역변환(319b)하여 잔차 블록을 복원할 수 있다. 역변환기(117)는 변환기(113)가 수행한 주파수 변환 기법에 대한 역변환을 수행할 수 있다.
가산기(118)는 복원된 잔차 블록에 예측기(111)에서 생성한 예측 블록을 가산하여 입력 영상에 대한 복원 블록을 생성한다(319c). 생성된 복원 블록은 메모리(119a)에 저장되어 예측기(111)의 참조 블록으로 사용될 수 있다.
또한, 필터(119)에서 필터링된 후에 메모리(119a)에 저장될 수도 있다. 필터(119)는 디블로킹 필터링, 샘플 적응적 오프셋 필터링 또는 적응적 루프 필터링을 적용하여 복원 블록을 필터링할 수 있다.
엔트로피 인코더(115)는 양자화기(114)로부터 출력된 양자화된 계수에 대해 엔트로피 인코딩을 수행한다(316). 엔트로피 인코더(115)는 서브 슬라이스 단위를 기준으로 엔트로피 인코딩을 수행할 수 있다. 따라서, 엔트로피 인코더(115)는 다른 서브 슬라이스의 정보를 참조하지 않고 각각의 서브 슬라이스를 독립적으로 처리하여 엔트로피 인코딩을 수행할 수 있다.
마커 생성기(140)는 엔트로피 인코더(115)가 생성한 비트스트림에 서브 슬라이스를 구분하기 위한 구분 마커를 생성하여 삽입한다(317). 일 예로, 구분 마커는 특징 이진수의 열을 포함할 수 있다.
영상 인코딩 장치(100)는 각각의 서브 슬라이스마다 구분 마커가 삽입된 비트스트림을 출력한다(318). 일 예로, 출력된 비트스트림은 도 8과 같은 구조를 가질 수 있다. 출력된 비트스트림은 송신 장치(10)를 통해 수신 장치(20)로 전송될 수 있다.
도 15의 실시예에 따르면, 엔트로피 인코딩을 제외한 과정에서는 서브 슬라이스 단위가 아닌 슬라이스 단위로 독립 처리하기 때문에, 참조할 수 있는 주변 정보가 많아지고, 이로 인해 영상의 평균 화질이 향상될 수 있다.
도 16은 일 실시예에 따른 영상 디코딩 방법에 대한 순서도이다.
송신 장치(10)로부터 전송된 비트스트림이 영상 디코딩 장치(200)에 입력되면, 도 16에 도시된 바와 같이 슬라이스 구분기(210)가 입력된 비트스트림으로부터 슬라이스 시작코드를 검출하여 프레임을 구성하는 복수의 슬라이스를 각각 구분하고(330), 서브 슬라이스 구분기(220)가 단일 슬라이스에 대한 비트스트림으로부터 구분 마커를 검출하여 단일 슬라이스를 구성하는 복수의 서브 슬라이스를 각각 구분할 수 있다(331).
에러 검출기(250)는 입력된 비트스트림의 에러를 검출한다(332). 에러 검출기(250)는 각각의 서브 슬라이스마다 에러를 검출할 수 있다. 에러 검출기(250)는 에러가 검출된 서브 슬라이스에 대한 비트스트림 데이터를 폐기 또는 초기화할 수 있다. 영상 복구기(240)는 에러가 검출된 서브 슬라이스 영상을 복구할 수 있다(338).
에러가 검출되지 않은 서브 슬라이스에 대한 비트스트림은 엔트로피 디코더(231)에 입력된다.
엔트로피 디코더(231)는 입력된 비트스트림을 확률 분포에 따라 엔트로피 디코딩할 수 있다(333). 엔트로피 디코더(231)는 엔트로피 디코딩을 수행하여 양자화된 계수 형태의 심볼을 포함한 심볼들을 생성할 수 있다.
역양자화기(232)는 양자화된 계수에 대해, 영상 인코딩 장치(100)에서 제공된 양자화 파라미터를 기초로 역양자화를 수행한다(334). 역양자화를 통해 주파수 계수가 출력될 수 있다.
역변환기(233)는 주파수 계수에 대해 영상 인코딩 장치(100)의 변환기(113)가 수행한 주파수 변환에 대한 역변환을 수행한다(335). 역변환을 통해 잔차 블록이 생성될 수 있다.
가산기(234)는 잔차 블록과 예측기(237)로부터 출력되는 예측 블록을 이용하여 복원 블록을 생성한다(337). 여기서, 예측기(237)는 엔트로피 디코더(231)로부터 제공된 예측 블록 생성에 관련된 정보와 메모리(236)로부터 제공된 이미 복원된 블록 또는 프레임 정보에 기초하여 예측 블록을 생성할 수 있다.
또한, 생성된 복원 블록에 디블로킹 필터링, 적응적 오프셋 필터링 또는 적응적 루프 필터링을 수행한 후 메모리(236)에 저장하여 예측 블록의 생성에 사용하는 것도 가능하다.
영상 디코딩 장치(200)는 에러가 검출되지 않은 서브 슬라이스에 대한 복원 블록들과 복구된 서브 슬라이스 영상으로 이루어진 복원 영상을 출력한다(339).
한편, 에러가 검출된 서브 슬라이스와 인접한 서브 슬라이스에 대한 비트스트림의 디코딩 시에, 에러가 검출된 서브 슬라이스의 데이터 초기화로 인해 참조 블록이 부족한 경우가 발생할 수 있다. 따라서, 일 실시예에 따른 영상 디코딩 방법은 에러가 검출된 서브 슬라이스와 인접한 서브 슬라이스의 디코딩 데이터, 주변 서브 슬라이스 정보 또는 주변 프레임 정보 등을 이용하여 에러가 검출된 서브 슬라이스와 인접한 서브 슬라이스의 영상을 복구하는 것을 더 포함하는 것도 가능하다.
도 16의 실시예에 따르면, 에러가 검출된 서브 슬라이스 및 그와 인접한 서브 슬라이스의 일부 영역만 에러의 영향을 받고 나머지 서브 슬라이스들은 독립적으로 처리되어 에러의 영향을 받지 않으므로 에러 발생으로 인한 화질 저하를
상기의 설명은 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다.
따라서, 상기에 개시된 실시예 및 첨부된 도면들은 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 기술적 사상의 범위가 한정되는 것은 아니다. 그 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 권리범위에 포함되는 것으로 해석되어야 할 것이다.
전술한 실시예에 따른 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법에 의하면, 엔트로피 인코딩만 서브 슬라이스 단위로 수행하고 나머지 처리는 슬라이스 단위로 수행함으로써 영상의 평균 화질을 향상시킬 수 있고, 에러가 발생한 경우에는 서브 슬라이스 단위로 데이터를 초기화 및 복구함으로써 에러 발생으로 인한 화질 저하를 최소화할 수 있다.
100: 영상 인코딩 장치
200: 영상 디코딩 장치
110: 인코딩 모듈
120: 슬라이스 분배기
130: 서브 슬라이스 분배기
140: 마커 생성기

Claims (19)

  1. 입력 영상을 복수의 슬라이스로 분할하는 슬라이스 분배기;
    상기 복수의 슬라이스를 각각 복수의 서브 슬라이스로 분할하는 서브 슬라이스 분배기; 및
    상기 입력 영상의 데이터를 상기 슬라이스 단위로 처리하여 상기 입력 영상의 데이터에 대한 예측값을 결정하고, 상기 예측값을 이용하여 심볼을 생성하고, 상기 심볼에 대해 상기 서브 슬라이스 단위로 엔트로피 인코딩을 수행하여 상기 입력 영상에 대한 비트스트림을 출력하는 인코딩 모듈;을 포함하는 영상 인코딩 장치.
  2. 제 1 항에 있어서,
    상기 복수의 서브 슬라이스를 구분하기 위한 구분 마커를 생성하고, 상기 출력된 비트스트림에서 상기 복수의 서브 슬라이스에 대한 데이터가 시작되는 위치마다 상기 구분 마커를 삽입하는 마커 생성기;를 더 포함하는 영상 인코딩 장치.
  3. 제 1 항에 있어서,
    상기 인코딩 모듈은,
    상기 예측값의 결정 대상인 현재 블록과 동일한 슬라이스에 포함되는 적어도 하나의 주변 블록의 정보를 참조하여 상기 현재 블록의 예측값을 결정하는 영상 인코딩 장치.
  4. 제 3 항에 있어서,
    상기 인코딩 모듈은,
    상기 현재 블록의 데이터와 상기 결정된 예측값을 차분하여 잔차 데이터를 생성하고, 상기 잔차 데이터에 주파수 변환을 수행하여 변환 계수를 생성하고, 상기 변환 계수에 양자화를 수행하여 양자화된 계수 형태의 상기 심볼을 생성하는 영상 인코딩 장치.
  5. 제 4 항에 있어서,
    상기 인코딩 모듈은,
    상기 심볼에 역양자화 및 역양자화를 수행하여 잔차 데이터를 복원하고, 상기 잔차 데이터와 상기 예측값을 이용하여 복원 데이터를 생성하는 영상 인코딩 장치.
  6. 제 5 항에 있어서,
    상기 복원 데이터를 저장하는 메모리;를 더 포함하고,
    상기 인코딩 모듈은,
    현재 블록의 데이터에 대한 예측값을 결정할 때, 상기 메모리에 저장된 복원 데이터 중 주변 블록에 대한 복원 데이터를 참조하는 영상 인코딩 장치.
  7. 제 1 항에 있어서,
    상기 인코딩 모듈은,
    현재 블록에 대해 엔트로피 인코딩을 수행할 때 상기 현재 블록과 동일한 서브 슬라이스에 포함되는 적어도 하나의 주변 블록의 정보를 참조하는 영상 인코딩 장치.
  8. 제 1 항에 있어서,
    상기 서브 슬라이스 분배기는,
    상기 복수의 서브 슬라이스의 개수에 관한 파라미터에 기초하여 상기 복수의 슬라이스를 분할하는 영상 인코딩 장치.
  9. 입력 영상을 복수의 슬라이스로 분할하고;
    상기 복수의 슬라이스를 각각 복수의 서브 슬라이스로 분할하고;
    상기 입력 영상의 데이터를 상기 슬라이스 단위로 처리하여 상기 입력 영상의 데이터에 대한 예측값을 결정하고;
    상기 예측값을 이용하여 심볼을 생성하고;
    상기 심볼에 대해 상기 서브 슬라이스 단위로 엔트로피 인코딩을 수행하여 상기 입력 영상에 대한 비트스트림을 출력하는 것;을 포함하는 영상 인코딩 방법.
  10. 제 9 항에 있어서,
    상기 복수의 서브 슬라이스를 구분하기 위한 구분 마커를 생성하고;
    상기 입력 영상에 대한 비트스트림에서 상기 복수의 서브 슬라이스에 대한 데이터가 시작되는 위치마다 상기 구분 마커를 삽입하는 것;을 더 포함하는 영상 인코딩 방법.
  11. 제 9 항에 있어서,
    상기 예측값을 결정하는 것은,
    현재 블록의 데이터에 대한 예측값을 결정할 때, 상기 현재 블록과 동일한 슬라이스에 포함되는 적어도 하나의 주변 블록의 정보를 참조하는 영상 인코딩 방법.
  12. 제 11 항에 있어서,
    상기 심볼을 생성하는 것은,
    상기 현재 블록의 데이터와 상기 결정된 예측값을 차분하여 잔차 데이터를 생성하고;
    상기 잔차 데이터에 주파수 변환을 수행하여 변환 계수를 생성하고;
    상기 변환 계수에 양자화를 수행하여 양자화된 계수 형태의 상기 심볼을 생성하는 것;을 포함하는 영상 인코딩 방법.
  13. 제 12 항에 있어서,
    상기 심볼에 역양자화 및 역양자화를 수행하여 잔차 데이터를 복원하고;
    상기 복원된 잔차 데이터와 상기 예측값을 이용하여 복원 데이터를 생성하는 것;을 더 포함하는 영상 인코딩 방법.
  14. 제 13 항에 있어서,
    상기 복원 데이터를 저장하는 것;을 더 포함하고,
    상기 예측값을 결정하는 것은,
    현재 블록의 데이터에 대한 예측값을 결정할 때, 상기 저장된 복원 데이터 중 주변 블록에 대한 복원 데이터를 참조하는 것;을 포함하는 영상 인코딩 방법.
  15. 제 9 항에 있어서,
    상기 엔트로피 인코딩을 수행하는 것은,
    현재 블록에 대해 엔트로피 인코딩을 수행할 때 현재 블록과 동일한 서브 슬라이스에 포함되는 적어도 하나의 주변 블록의 정보를 참조하는 것;을 포함하는 영상 인코딩 방법.
  16. 입력된 비트스트림에서 슬라이스 시작 코드를 검출하여 복수의 슬라이스를 구분하고;
    상기 입력된 비트스트림에서 구분 마커를 검출하여 복수의 서브 슬라이스를 구분하고;
    상기 입력된 비트스트림에 대해 에러를 검사하고;
    상기 에러가 검출된 서브 슬라이스의 데이터를 초기화하고;
    상기 에러가 검출되지 않은 비트스트림을 디코딩하여 복원 영상을 생성하고;
    상기 에러가 검출된 서브 슬라이스의 데이터를 복구하여 복구 영상을 생성하는 것;을 포함하는 영상 디코딩 방법.
  17. 제 16 항에 있어서,
    상기 에러가 검출된 서브 슬라이스와 인접한 주변 슬라이스에 포함되는 복수의 블록 중 상기 에러가 검출된 서브 슬라이스와의 경계에 위치하는 블록의 데이터를 복구하는 것;을 더 포함하는 영상 디코딩 방법.
  18. 제 16 항에 있어서,
    상기 복원 영상을 생성하는 것은,
    상기 에러가 검출되지 않은 비트스트림에 대해 상기 서브 슬라이스 단위로 엔트로피 디코딩을 수행하여 양자화된 계수 형태의 심볼을 생성하는 것;을 포함하는 영상 디코딩 방법.
  19. 제 18 항에 있어서,
    상기 복원 영상을 생성하는 것은,
    상기 심볼에 대해 역양자화 및 역변환을 수행하여 잔차 신호를 복원하고;
    상기 슬라이스 단위로 수행된 예측에 의해 결정된 예측값과 상기 잔차 신호를 합산하여 복원 블록을 생성하는 것;을 포함하는 영상 디코딩 방법.
KR1020170122339A 2017-09-22 2017-09-22 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법 KR20190033771A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170122339A KR20190033771A (ko) 2017-09-22 2017-09-22 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법
PCT/KR2018/011330 WO2019059736A1 (ko) 2017-09-22 2018-09-21 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170122339A KR20190033771A (ko) 2017-09-22 2017-09-22 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법

Publications (1)

Publication Number Publication Date
KR20190033771A true KR20190033771A (ko) 2019-04-01

Family

ID=65811412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170122339A KR20190033771A (ko) 2017-09-22 2017-09-22 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법

Country Status (2)

Country Link
KR (1) KR20190033771A (ko)
WO (1) WO2019059736A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242145A1 (ko) * 2019-05-24 2020-12-03 디지털인사이트주식회사 적응적 파라미터 셋을 사용하는 비디오 코딩 방법 및 장치
WO2021107624A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 픽처의 분할 구조에 기반한 영상/비디오 코딩 방법 및 장치
WO2021107622A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
WO2021107623A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 인코딩/디코딩 방법 및 장치
WO2021107621A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩을 위한 슬라이스 및 타일 구성

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050076943A (ko) * 2004-01-26 2005-07-29 엘지전자 주식회사 비디오 디코더의 에러 은닉 장치 및 방법
US9215473B2 (en) * 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
KR101625910B1 (ko) * 2011-10-19 2016-05-31 한국전자통신연구원 영상 분할을 이용한 영상 처리 방법 및 장치
KR101273497B1 (ko) * 2012-06-07 2013-06-17 인하대학교 산학협력단 무선 네트워크에서 블록 버퍼를 이용한 최대크기 프레임의 데이터 블록 전송 시스템
KR101760018B1 (ko) * 2013-12-27 2017-07-24 한국전자통신연구원 영상 데이터 통신 방법 및 영상 데이터 통신 장치

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242145A1 (ko) * 2019-05-24 2020-12-03 디지털인사이트주식회사 적응적 파라미터 셋을 사용하는 비디오 코딩 방법 및 장치
US11190769B2 (en) 2019-05-24 2021-11-30 Digitalinsights Inc. Method and apparatus for coding image using adaptation parameter set
US11575898B2 (en) 2019-05-24 2023-02-07 Digitalinsights Inc. Method and apparatus for coding image using adaptation parameter set
WO2021107624A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 픽처의 분할 구조에 기반한 영상/비디오 코딩 방법 및 장치
WO2021107622A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
WO2021107623A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 인코딩/디코딩 방법 및 장치
WO2021107621A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩을 위한 슬라이스 및 타일 구성
US11956450B2 (en) 2019-11-28 2024-04-09 Lg Electronics Inc. Slice and tile configuration for image/video coding
US12022127B2 (en) 2019-11-28 2024-06-25 Lg Electronics Inc. Image/video coding method and apparatus on basis of picture division structure

Also Published As

Publication number Publication date
WO2019059736A1 (ko) 2019-03-28

Similar Documents

Publication Publication Date Title
US11838558B2 (en) Methods, devices and systems for parallel video encoding and decoding
US11438601B2 (en) Method for encoding/decoding image and device using same
US9445114B2 (en) Method and device for determining slice boundaries based on multiple video encoding processes
JP2024052919A (ja) 映像復号化方法
CN106170092B (zh) 用于无损编码的快速编码方法
KR20190033771A (ko) 영상 인코딩 장치, 영상 디코딩 장치, 영상 인코딩 방법 및 영상 디코딩 방법
US10382768B2 (en) Method and apparatus for transform coefficient coding of non-square blocks
EP2661886B1 (en) Coding of residual data in predictive compression
EP2661893B1 (en) Coding of residual data in predictive compression
WO2006087430A1 (en) Error concealment
US20150092862A1 (en) Modified hevc transform tree syntax
US11889089B2 (en) Method for encoding/decoding image and device using same
US10778985B2 (en) Method and apparatus for intra prediction in video coding system
CN110868587A (zh) 一种视频图像预测方法及装置
CN111277841B (zh) 一种在视频通信中执行错误隐藏的方法和设备
WO2018152749A1 (en) Coding block bitstream structure and syntax in video coding systems and methods
JP2022548351A (ja) マージ候補リストを構築するための方法
US20070150786A1 (en) Method for coding, method for decoding, device for coding and device for decoding video data
US10742979B2 (en) Nonlinear local activity for adaptive quantization
US8204130B2 (en) Video encoding apparatus and method
WO2012119784A1 (en) Method and device for encoding image data, and method and device for decoding image data
KR102020953B1 (ko) 카메라 영상의 복호화 정보 기반 영상 재 부호화 방법 및 이를 이용한 영상 재부호화 시스템
JP2023515321A (ja) 最大変換サイズ及び残差符号化方法のシグナリング
CN110612725B (zh) 处理设备及其控制方法
EP3576408A1 (en) Adaptive transformation and coefficient scan order for video coding