KR20180040514A - 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 - Google Patents
부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 Download PDFInfo
- Publication number
- KR20180040514A KR20180040514A KR1020177032548A KR20177032548A KR20180040514A KR 20180040514 A KR20180040514 A KR 20180040514A KR 1020177032548 A KR1020177032548 A KR 1020177032548A KR 20177032548 A KR20177032548 A KR 20177032548A KR 20180040514 A KR20180040514 A KR 20180040514A
- Authority
- KR
- South Korea
- Prior art keywords
- pixels
- block
- code
- cost
- candidate
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 장치가 개시된다. 부호화 장치는, 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 선택부, 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 생성된 복수의 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부, 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부 및, 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 코드워드 중 일 코드워드를 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 부호화부를 포함한다.
Description
본 발명은 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법에 관한 것으로, 보다 상세하게는 압축 성능을 향상시킬 수 있는 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법에 관한 것이다.
최근 다양한 분야에서 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 증가하고 있다. 고행사도, 고품질의 영상을 제공하기 위해서는 영상 데이터의 데이터량이 증가한다. 따라서, 기존 영상 데이터 처리 방식과 비교할 때 고해상도, 고품질의 영상을 제공하기 위한 영상 데이터의 전송 비용과 저장 비용은 증가하게 된다. 영상 데이터가 고해상도, 고품질화됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.
한편, 종래의 H.264, HEVC 등을 기반으로 하는 부호화/복호화 기술은 변환 계수 블록의 논-제로 변환 계수를 포함하는 픽셀의 부호(sign) 정보를 각 픽셀 당 1개의 비트를 할당하는 방식으로 압축을 수행하였다. 그러나, 종래의 이러한 방식에 따르면 변환 계수 블록 내에서 선택된 적어도 하나의 논-제로 변환 계수를 포함하는 픽셀의 부호 정보를 모두 압축하여 복호화 장치에 시그널링해야하므로 압축 효율이 낮다는 문제가 있었다.
따라서, 변환 계수 블록에 있어서 0이 아닌 정수 값을 갖는 각 픽셀의 변환 계수의 부호(또는 차분 모션 벡터)를 효율적으로 압축하기 위한 솔루션을 제안하고자 한다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 논-제로 변환 계수의 부호를 나타내는 데에 필요한 비트 수를 줄여 부호화 및 복호화 성능을 향상시킬 수 있는 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른, 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 장치는 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 선택부, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부, 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부 및 상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 부호화부를 포함한다.
또한, 상기 선택부는 상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
또한, 상기 부호화부는 상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화할 수 있다.
또한, 상기 부호화부는 상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당할 수 있다.
또한, 상기 역변환부는 상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하고, 상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성할 수 있다.
또한, 상기 코스트 산출부는 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출할 수 있다.
또한, 상기 코스트 산출부는 상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출할 수 있다.
한편, 본 발명의 일 실시 예에 따른, 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 방법은 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 단계, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하는 단계, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 단계, 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 단계 및, 상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 단계를 포함한다.
또한, 상기 선택하는 단계는 상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
또한, 상기 부호화하는 단계는 상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화할 수 있다.
또한, 상기 부호화하는 단계는 상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당할 수 있다.
또한, 상기 후보 복원 블록들을 생성하는 단계는, 상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하는 단계 및, 상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성하는 단계를 포함할 수 있다.
또한, 상기 코스트를 각각 산출하는 단계는 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출할 수 있다.
또한, 상기 코스트를 각각 산출하는 단계는 상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출할 수 있다.
또한, 본 발명의 일 실시 예에 따른 영상 프레임을 포함하는 비트 스트림을 복호화하기 위한 복호화 장치는 영상 프레임을 구성하는 변환 계수 블록에서 선택된 복수의 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된 코드워드를 파싱하는 파싱부, 영상 프레임을 구성하는 변환 계수 블록에서, 복호화할 복수의 픽셀을 선택하는 선택부, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부, 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부 및, 상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정하는 복호화부를 포함한다.
또한, 상기 선택부는 상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
또한, 상기 복호화부는 상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당할 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 논-제로 변환 계수의 픽셀 값의 부호를 나타내는 정보의 크기를 절약하여 동영상 압축 성능을 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타낸 블록도,
도 2는 본 발명의 일 실시 예에 따른 부호화 프로세스를 나타낸 블록도,
도 3은 본 발명의 일 실시 예에 따른 부호화 장치에서 원본 부호에 대응되는 코드워드를 시그널링하는 프로세스를 설명하기 위한 흐름도,
도 4는 본 발명의 일 실시 예에 따라 부호화할 부호 후보를 선택하는 방법을 설명하기 위한 도면,
도 5는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타낸 블록도,
도 6은 본 발명의 일 실시 예에 따른 복호화 장치에서 원본 부호를 결정하는 프로세스를 설명하기 위한 흐름도,
도 7 및 도 8은 본 발명의 다양한 실시 예에 따른 바운더리 매칭 코스트를 계산하는 방법을 설명하기 위한 도면,
도 9는 본 발명의 일 실시 예에 따라 산출된 코스트를 기준으로 부호 후보를 정렬하는 방법을 설명하기 위한 도면,
도 10은 본 발명의 일 실시 예에 따라 부호 후보를 결정하고 시그널링하는 방법을 설명하기 위한 도면,
도 11A 내지 도 11E는 본 발명의 일 실시 예에 따라 각 부호 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면,
도 12A 내지 도 12D는 본 발명의 다른 실시 예에 따라 각 부호 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면,
도 13 내지 도 16은 본 발명의 일 실시 예에 따른 MVD 부호를 코드워드로 부호화하기 위한 방법을 설명하기 위한 도면,
도 17은 본 발명의 다른 실시 예에 따른 부호화 장치의 간략화된 블록도,
도 18은 본 발명의 다른 실시 예에 따른 복호화 장치의 간략화된 블록도,
도 19는 본 발명의 일 실시 예에 따른 부호화 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시 예에 따른 부호화 프로세스를 나타낸 블록도,
도 3은 본 발명의 일 실시 예에 따른 부호화 장치에서 원본 부호에 대응되는 코드워드를 시그널링하는 프로세스를 설명하기 위한 흐름도,
도 4는 본 발명의 일 실시 예에 따라 부호화할 부호 후보를 선택하는 방법을 설명하기 위한 도면,
도 5는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타낸 블록도,
도 6은 본 발명의 일 실시 예에 따른 복호화 장치에서 원본 부호를 결정하는 프로세스를 설명하기 위한 흐름도,
도 7 및 도 8은 본 발명의 다양한 실시 예에 따른 바운더리 매칭 코스트를 계산하는 방법을 설명하기 위한 도면,
도 9는 본 발명의 일 실시 예에 따라 산출된 코스트를 기준으로 부호 후보를 정렬하는 방법을 설명하기 위한 도면,
도 10은 본 발명의 일 실시 예에 따라 부호 후보를 결정하고 시그널링하는 방법을 설명하기 위한 도면,
도 11A 내지 도 11E는 본 발명의 일 실시 예에 따라 각 부호 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면,
도 12A 내지 도 12D는 본 발명의 다른 실시 예에 따라 각 부호 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면,
도 13 내지 도 16은 본 발명의 일 실시 예에 따른 MVD 부호를 코드워드로 부호화하기 위한 방법을 설명하기 위한 도면,
도 17은 본 발명의 다른 실시 예에 따른 부호화 장치의 간략화된 블록도,
도 18은 본 발명의 다른 실시 예에 따른 복호화 장치의 간략화된 블록도,
도 19는 본 발명의 일 실시 예에 따른 부호화 방법을 설명하기 위한 흐름도이다.
발명의 실시를 위한 최선의 형태
-
발명의 실시를 위한 형태
본 발명에 대하여 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어일 수 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조 번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명하도록 한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성 요소를 모두 도시하고 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 “제1”, “제2” 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성 요소들을 서로 구별하기 위하여 사용하는 것이며, 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안될 것이다. 일 예로, 이러한 서수와 결합된 구성 요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한 해석되어서는 안된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다름을 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, “포함하다” 또는 “구성하다” 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시 예에서 “모듈”, “유닛”, “부(part)” 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성 요소를 지칭하기 위한 용어이며, 이러한 구성 요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수도 있다. 또한, 복수의 “모듈”, “유닛”, “부(part)” 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
이하에서는 도면을 참조하여 본 발명에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타낸 블록도이다. 도 1을 참조하면, 부호화 장치(100)는 선택부(110), 역변환부(120), 코스트 산출부(130) 및 부호화부(140)를 포함한다.
선택부(110)는 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 구성이다. 선택부(110)는 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
역변환부(120)는 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성한다. 즉, 연변환부(120)는 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 제거하고, 부호가 제거된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호(+ or -)의 조합에 대한 모든 경우의 수(number of cases)만큼의 부호 후보군을 생성할 수 있다.
예를 들어, 선택부(110)에서 선택된 픽셀의 개수가 2개라면, 각 픽셀에 대해 할당 가능한 부호의 조합은 (+, +), (+, -), (-, +), (-, -)이 가능하며, 이에 따라 4개의 부호 후보군이 생성될 수 있다. 마찬가지로, 선택된 픽셀의 개수가 5개라면, 25개의 부호 조합이 가능하며, 이에 따라 25개의 부호 후보군이 생성될 수 있다.
역변환부(120)는 생성된 복수의 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환(inverse transform)을 수행하여 후보 복원 블록들을 생성할 수 있다.
코스트 산출부(130)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출한다. 구체적으로, 코스트 산출부(130)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀의 픽셀값의 코릴레이션(co-relation)에 기초하여 각 후보 복원 블록에 대한 매칭 에러(matching error)를 계산할 수 있다.
코릴레이션(co-relation)에 기초한 매칭 에러(matching error)는 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀의 픽셀값 간의 차이에 기초하여 특정 코스트로 산출될 수 있다. 이때 산출되는 코스트를 바운더리 매칭 코스트(boundary matching cost)라고도 명명할 수 있다.
부호화부(140)는 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 각 부호 후보군에 할당된 코드워드 중 일 코드워드를 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화한다. 여기서, 코드워드는 0, 10, 110, 1110과 같은 단항 코드(unary code)로 구현될 수 있다. 다만, 코드워드의 구현 방식에는 제한이 없으며 VLC 코드를 포함한 다양한 방식으로 구현 가능하다.
이때, 부호화부(140)는 가장 작은 코스트를 가지는 부호군에 대하여 코드워드 ‘0’을 할당할 수 있으며, 코스트가 작은 순서대로, ‘0’, ‘10’, ‘110’ ‘1110’ 등과 같은 코드워드를 할당할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 부호화 프로세스를 나타낸 블록도이다.
부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드 중 최적인 모드로 부호화를 수행하고 비트 스트림(bit stream)을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환된다. 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다.
인트라 모드인 경우, 부호화 장치(100)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 부호화 장치(100)는 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다.
한편, 입력 블록과 생성된 예측 블록이 감산기에 의해 차분되어 잔여 블록(residual block)이 생성되며, 잔여 블록에 대해 변환(transform)이 수행되어, 변환 계수(transform coefficient)가 출력된다. 이때, 입력된 변환 계수가 양자화 파라미터에 의해 양자화되어 양자화된 계수(quantized coefficient)가 출력될 수 있다.
부호화부(140)는 양자화를 통해 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로, 심볼(symbol)을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력할 수 있다.
여기서, 심볼이란 부호화/복호화 대상 구문 요소(syntax element) 및 부호화 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 부호화 파라미터는 부호화 및 복호화에 필요한 매개변수로서, 구문 요소와 같이 부호화 장치(100)에서 부호화되어 복호화 장치(200)로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 부호화하거나 복호화할 때 필요한 정보를 의미한다. 부호화 파라미터는 예를 들어 인트라/인터 예측 모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다.
엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 부호화부(140)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 부호화부(140)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 또한 부호화부(140)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.
양자화된 계수는 역양자화되고 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기를 통해 예측 블록과 더해져서 복원 블록이 생성될 수 있다.
복원 블록은 필터를 거치고, 필터는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터를 거친 복원 블록은 참조 영상 버퍼에 저장될 수 있다.
한편, 본원에서 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 동작, 복수의 부호 후보군을 생성하는 동작 및 코스트를 산출하는 동작은 변환 및 양자화 단계와 역양자화 및 역변환 단계의 사이(21)에서 수행될 수 있으며, 역변환을 수행하여 후보 복원 블록을 생성하는 동작은 역변환 단계에서 수행될 수 있다.
이때, 선택부(110), 코스트 산출부(130)는 변환 및 양자화 단계와 역양자화 및 역변환 단계의 사이(21)에서 동작이 수행되도록 구성될 수 있으며, 선택부(110) 및 코스트 산출부(130)가 역변환부(140) 내에서 동작이 수행되도록 구성되는 경우 선택부(110) 및 코스트 산출부(130)는 다른 구성요소와 구분하여 역변환부(140)로 통칭될 수도 있다.
도 3은 본 발명의 일 실시 예에 따른 부호화 장치에서 원본 부호에 대응되는 코드워드를 시그널링하는 프로세스를 설명하기 위한 흐름도이다.
먼저, 부호화할 부호(sign) 후보를 선택한다(S41). 여기서, 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
이후, 부호 후보들에 해당하는 코스트를 산출한다(S42). 코스트는 선택된 복수의 부호 후보군에 따라 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 산출될 수 있다. 이때, 코스트는 생성된 후보 복원 블록과 인접한 기 복원된 타 블록 간의 경계에 있어서의 픽셀 값 차이를 기초로 하는 방식(바운더리 매칭 코스트) 또는, 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 방식(배리언스 코스트)에 의해 산출될 수 있다.
이후, 정렬된 부호 후보에 코드워드(codeword)를 할당한다(S43). 정렬된 부호 후보군에는 서로 다른 기 설정된 코드워드가 할당되며, 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여는 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드가 할당될 수 있다. 가장 적은 비트수로 이루어진 코드워드는 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된다. 특히, 가장 작은 코스트를 가지는 후보군에 대하여는 코드워드 ‘0’을 할당할 수 있다.
이후, 원본 부호에 대응되는 코드워드를 시그널링한다(S44).
도 4는 본 발명의 일 실시 예에 따라 부호화할 부호 후보를 선택하는 방법을 설명하기 위한 도면이다. 선택부(110)는 부호화할 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택할 특정 영역을 지정할 수 있다. 여기서, 선택되는 논-제로 변환 계수를 포함하는 복수의 픽셀은 해당 픽셀의 변환 계수의 부호 정보를 코드워드로 부호화하기 위한 픽셀에 해당한다. 도 4에 도시된 바와 같이, 선택부(110)는 DCT(Discrete Cosine Transform) 및 양자화가 수행된 변환 계수 블록에 있어서 에너지가 상대적으로 집중된 DC 성분 영역(31)을 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택할 영역으로 지정할 수 있다.
선택부(110)는 지정된 영역(31)에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다. 바람직하게는, 선택부(110)는 지정된 영역(31)에서 3개 내지 5개의 픽셀을 선택할 수 있다. 다만, 선택되는 픽셀 개수는 변환계수 블록의 다양한 조건에 따라 달라질 수 있으며, 하기 표는 인트라 CU 및 인터 CU에 있어서, 휘도 성분, 색차 성분 및 TU 사이즈에 따른 가장 효율적인 선택 개수를 나타낸 것이다.
TU 사이즈 | 인트라 CU | 인터 CU | |
휘도(Luma) 성분 | 4X4 | Not Used | up to 5 |
8X8 | up to 3 | up to 5 | |
16X16 | up to 4 | up to 5 | |
32X32 | up to 4 | up to 5 | |
색차(Chroma) 성분 | 4X4 | up to 3 | up to 5 |
8X8 | up to 3 | up to 5 | |
16X16 | up to 3 | up to 5 |
도 5는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타낸 블록도이다. 도 5를 참조하면, 복호화 장치(200)는 파싱부(210), 선택부(220), 역변환부(230), 코스트 산출부(240) 및 복호화부(250)를 포함한다.
파싱부(210)는 영상 프레임을 구성하는 변환 계수 블록에서 선택된 복수의 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된 코드워드를 파싱하는 구성이다.
선택부(220)는 영상 프레임을 구성하는 변환 계수 블록에서, 복호화할 복수의 픽셀을 선택하는 구성이다. 복호화 장치(200)의 선택부(220)는 부호화 장치(100)의 선택부(110)와 그 동작이 동일하다. 선택부(220)는 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
역변환부(230)는 선택부(220)에서 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 후보군을 생성하고, 생성된 복수의 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성한다. 역변환부(230)의 동작은 부호화 장치(100)의 역변환부(120)의 동작과 동일하며, 부호화 장치(100)의 역변환부(120)의 동작은 도 1에서 설명한 바 있으므로, 구체적인 설명은 생략하기로 한다.
코스트 산출부(240)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 구성이다. 코스트 산출부(240) 또한 부호화 장치(100)의 코스트 산출부(130)와 그 동작이 동일하므로 구체적인 설명은 생략하기로 한다.
복호화부(250)는 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정한다. 복호화부(250)는 부호화 장치(100)의 부호화부(140)에 반대되는 동작을 수행하여 영상 프레임을 포함하는 비트 스트림을 복호화한다.
도 6은 본 발명의 일 실시 예에 따른 복호화 장치에서 원본 부호를 결정하는 프로세스를 설명하기 위한 흐름도이다. 복호화 장치(200)의 복호화 프로세스는 도 4에서 설명한 부호화 장치(100)의 부호화 프로세스와 반대 순서로 구성될 수 있다.
먼저, 부호화 장치로부터 수신된 비트 스트림으로부터, 논-제로 변환 계수들의 부호(sign) 정보를 포함하는 코드워드를 파싱한다(S610).
이하, 부호 정보를 포함하지 않는 논-제로 변환 계수들로부터 부호화할 부호 후보를 선택하는 동작(S620), 선택된 부호 후보들에 대해 코스트를 산출하는 동작(S630), 산출된 코스트를 기준으로 부호 후보를 정렬하는 동작(S640) 및 정렬된 부호 후보에 대하여 코드워드를 할당하는 동작(S650)은 도 4에서 설명한 부호화 장치(100)와 동일하므로 구체적인 내용은 생략한다.
이후, 파싱된 코드워드에 해당하는 부호 후보를 원본 부호로 결정한다(S660). 원본 부호로 결정된 부호 후보에 따라, 부호를 포함하지 않는 논-제로 변환 계수에 대하여 부호를 할당할 수 있다.
한편, S620 단계 내지 S650 단계의 동작은 코드워드가 파싱된 후 S610 단계 전에 미리 수행될 수도 있다.
도 7 및 도 8은 본 발명의 다양한 실시 예에 따라 코스트를 산출하는 방법을 설명하기 위한 도면이다.
도 7의 일 실시 예에 따르면, 코스트 산출부(130)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀 값과 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀 값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출할 수 있다.
구체적으로, 도 7에 도시된 바와 같이, 부호화 장치(100)의 선택부(110)는 변환 계수 블록에서 기 설정된 개수의 픽셀을 선택하기 위한 영역을 설정할 수 있다. 여기서, 기 설정되는 영역은 DCT(Discrete Cosine Transform) 및 양자화가 수행된 변환 계수 블록에 있어서 에너지가 상대적으로 집중된 DC 성분 영역임이 바람직하다. 도 7에 도시된 실시 예에서는 변환 계수 블록의 제 1행 및 제1 열에 존재하는 픽셀(a ~ n)들이 기 설정된 개수의 픽셀을 선택하기 위한 영역으로 설정되었다.
역변환부(120)는 해당 영역(a ~ n)에서 선택된 기 설정된 개수의 픽셀의 각각의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 생성된 각각의 부호 후보군에 따른 부호가 할당된 변환 계수 블록에 대해 역변환을 수행한 후보 복원 블록을 생성할 수 있다.
이때, 코스트 산출부(130)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀 값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀 값 차이를 기초로 코스트를 각각 산출할 수 있다. 도 7에 나타난 일 실시 예에서, 코스트 산출부(130)는 생성된 각각의 후보 복원 블록의 a ~ n 픽셀 영역 중 선택된 픽셀의 픽셀 값과 선택된 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀(A ~ N)과의 픽셀 값 차이를 기초로 바운더리 매칭 에러(boundary matching error) 값을 계산하여 코스트를 산출할 수 있다. 이러한 방식에 따라 산출된 코스트를 바운더리 매칭 코스트(boundary matching cost)라 명명하기로 한다.
구체적으로, 일 실시 예에 따른 바운더리 매칭 코스트는 다음과 같은 식에 의해 산출될 수 있다.
또한, 다른 실시 예에 따른 바운더리 매칭 코스트는 다음과 같은 식에 의해 산출될 수도 있다.
즉, 본원의 부호화 장치(100)는 변환 계수 블록에서 기 복원된 타 블록과 경계에 있는 픽셀들이 부호 후보군을 생성할 픽셀들로 선택되었을 때, 변환 계수 블록과 기 복원된 타 블록 간의 경계에서 맞닿아 있는 픽셀들 간의 픽셀 값 차이에 기초하여 바운더리 매칭 코스트를 산출할 수 있다. 여기서, 바운더리 매칭 코스트가 가장 작은 후보 복원 블록이 부호가 제거되기 전의 원본 변환 계수 블록일 확률이 가장 높으며, 이에 따라 부호화부(140)는 바운더리 매칭 코스트가 가장 작은 후보 복원 블록의 부호 후보군에 대하여, 기 설정된 코드워드 중 가장 작은 비트수로 이루어진 코드워드를 부호 정보로 부호화할 수 있다.
한편, 도 8은 본 발명의 다른 실시 예에 따라 코스트를 산출하는 방법을 도시한 것이다.
도 8에 도시된 바와 같이, 코스트 산출부(130)는 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀 값 차이를 기초로 하는 배리언스 값을 계산하여 코스트를 산출할 수도 있다. 이러한 방식에 따라 산출된 코스트를 배리언스 코스트(variance cost)라 명명하기로 한다.
구체적으로, 일 실시 예에 따른 배리언스 코스트는 다음과 같은 식에 의해 산출될 수 있다.
즉, 코스트 산출부(130)는 후보 복원 블록 내의 각 픽셀들의 픽셀 값 간의 유사도를 나타내는 척도로서 배리언스 코스트를 산출할 수 있으며 배리언스 코스트가 가장 작은 후보 복원 블록이 부호가 제거되기 전의 원본 변환 계수 블록일 확률이 가장 높으며, 이에 따라 부호화부(140)는 배리언스 코스트가 가장 작은 후보 복원 블록의 부호 후보군에 대하여, 기 설정된 코드워드 중 가장 작은 비트수로 이루어진 코드워드를 부호 정보로 부호화할 수 있다.
결론적으로, 도 7 및 8의 실시 예 모두 변환 계수 블록에 있어서, 서로 인접한 픽셀들 간에는 픽셀 값의 유사도가 크다는 점에 기초하여 유사도를 나타내는 지표인 코스트를 이용하여 확률적으로 부호 정보를 부호화 및 복호화하는 것이다.
도 9는 본 발명의 일 실시 예에 따라 산출된 코스트를 기준으로 부호(sign) 후보를 정렬하는 방법을 설명하기 위한 도면이다.
부호화부(140)는 복수의 부호 후보군에 따른 후보 복원 블록에 대하여 산출된 코스트를 기준으로 부호 후보군을 정렬할 수 있다. 이때, 부호화부(140)는 코스트를 기준으로 내림차순 또는 오름차순으로 부호 후보군을 정렬할 수 있다.
도 9는 변환 계수 블록에서, 2개의 논-제로 변환 계수가 선택된 경우, 선택된 각 논-제로 변환 계수들에 할당 가능한 부호의 조합인 (+, +), (+, -), (-, +), (-, -)에 대응되는 후보 복원 블록에서 산출된 코스트를 기준으로, 부호 후보군을 정렬할 것이다. 도 9에 도시된 바와 같이, (-, -)의 부호 후보군에 대하여 산출된 코스트가 21로 가장 작으며, 도 7 또는 8에 도시된 방식에 따라 코스트가 산출되는 경우 부호화부(140)는 코스트가 가장 작은 (-, -)의 부호 후보군이 원본 변환 계수 블록의 부호 정보일 확률이 가장 높다고 판단할 수 있다. 이때, 부호화부(140)는 가장 작은 코스트를 갖는 (-, -)의 부호 후보군이 가장 위쪽에 정렬되도록 부호 후보군을 정렬할 수 있다.
도 10은 본 발명의 일 실시 예에 따라 sign 후보를 결정하고 시그널링하는 방법을 설명하기 위한 도면이다.
도 10에 도시된 바와 같이, 부호화부(140)는 각각의 부호 후보군에 대하여 서로 다른 단항 코드(unary code)를 할당할 수 있다. 이때, 부호화부(140)는 가장 작은 코스트를 갖는 (-, -) 부호 후보군에 대하여 코드워드 '0'을 할당할 수 있으며, 두 번째로 작은 코스트를 갖는 (+, +) 부호 후보군에 대하여 코드워드 '10'을 할당할 수 있다. 마찬가지로, 부호화부(140)는 세 번째로 작은 코스트를 갖는 (+, -) 부호 후보군에 대하여 코드워드 '110'을 할당할 수 있으며, 가장 큰 코스트를 갖는 (-, +) 부호 후보군에 대하여 코드워드 '1110'을 할당할 수 있다. 이때, (-, -) 부호 후보군에 대하여는 코드워드 '1110'에서 0을 생략하여, '111'을 할당할 수도 있다.
다만, 코드워드의 구현 방식은 이에 한정되지 않으며, 단항 코드가 아닌 VLC 코드를 포함한 다양한 방식으로 구현 가능함은 앞서 설명한 바와 같다.
도 11A 내지 도 11E는 본 발명의 일 실시 예에 따라 각 sign 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면이다.
도 11A는 4X4 크기의 TU에서 논-제로 변환 계수를 포함하는 두 개의 픽셀(111, 112)의 부호 정보를 코드워드로 부호화하기 위한 방법을 도시한 것이다. 도 11A의 (a)에 도시된 TU에서 부호 정보를 부호화하기 위한 두 개의 픽셀(111, 112)이 선택되면, 역변환부(120)는 선택된 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 부호 후보군 (+, +), (+, -), (-, +) 및 (-, -)을 생성한다. 여기서, 각 부호 후보군에 해당하는 픽셀들(111, 112)의 논-제로 변환 계수의 조합은 (+8, +2), (+8, -2), (-8, +2) 및 (-8, -2)가 된다.
이때, 각 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대하여 역변환을 수행하여 후보 복원 블록들을 생성할 수 있음은 앞서 설명한 바와 같다. 이 경우, 각각의 변환 계수 블록에 대하여 총 4번의 역변환이 수행되어야 한다. 그러나, 도 11A 내지 도 11E의 실시 예에 따르면, 역변환의 리니어(linear)한 성질을 이용하여 역변환이 수행되는 횟수를 줄일 수 있다.
도 11A의 (b)와 같이, 역변환부(120)는 선택된 픽셀 중 일 픽셀(111)을 제외한 나머지 논-제로 변환 계수를 갖는 픽셀들(113, 114, 115)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성할 수 있다. 역변환부(120)는 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C1을 생성할 수 있다.
이와 마찬가지로, 도 11A의 (c)와 같이 역변환부(120)는 선택된 픽셀 중 다른 픽셀(112)을 제외한 나머지 논-제로 변환 계수를 갖는 픽셀들(113, 114, 115)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성할 수 있다. 역변환부(120)는 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C2를 생성할 수 있다.
또한, 도 11A의 (d)와 같이 역변환부(120)는 선택된 픽셀들(111, 112)을 제외한 나머지 논-제로 변환 계수들을 갖는 픽셀들(113, 114, 115)의 변환 계수 값만 유지하고, 선택된 픽셀들(111, 112)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성할 수 있다. 역변환부(120)는 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C3를 생성할 수 있다.
도 11B에 도시된 바와 같이, 부호 후보군 (+, +)에 따라 논-제로 변환 계수들(111, 112)에 부호가 할당된 변환 계수 블록에 대하여 역변환이 수행되어 생성된 후보 복원 블록은 C3+C1+C2와 같다.
도 11C에 도시된 바와 같이, 부호 후보군 (+, -)에 따라 논-제로 변환 계수들(111, 112)에 부호가 할당된 변환 계수 블록에 대하여 역변환이 수행되어 생성된 후보 복원 블록은 C3+C1-C2와 같다.
도 11D에 도시된 바와 같이, 부호 후보군 (-, +)에 따라 논-제로 변환 계수들(111, 112)에 부호가 할당된 변환 계수 블록에 대하여 역변환이 수행되어 생성된 후보 복원 블록은 C3-C1+C2와 같다.
도 11E에 도시된 바와 같이, 부호 후보군 (-, -)에 따라 논-제로 변환 계수들(111, 112)에 부호가 할당된 변환 계수 블록에 대하여 역변환이 수행되어 생성된 후보 복원 블록은 C3-C1-C2와 같다.
즉, 도 11A의 (b), (c) 및 (d)에 도시된 방식으로 세 번의 역변환을 수행하여 산출된 C1, C2 및 C3를 이용하여 각각의 부호 후보군 (+, +), (+, -), (-, +) 및 (-, -)에 따른 후보 복원 블록들을 생성할 수 있다. 이와 같은 실시 예에 따르면, 4번 수행되어야 하는 역변환 횟수가 3번으로 감소하게 되므로 부호화 장치(100)의 부하를 줄이고, 연산속도를 개선할 수 있다.
도 12A 내지 도 12D는 본 발명의 다른 실시 예에 따라 각 부호 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면이다.
도 12A는 4X4 크기의 TU에서 논-제로 변환 계수를 포함하는 두 개의 픽셀(121, 122)의 부호 정보를 코드워드로 부호화하기 위한 방법을 도시한 것이다. 도 12A의 (a)에 도시된 TU에서 부호 정보를 부호화하기 위한 두 개의 픽셀(121, 122)(부호 제거)이 선택되면, 역변환부(120)는 선택된 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 부호 후보군 (+, +), (+, -), (-, +) 및 (-, -)을 생성한다. 여기서, 각 부호 후보군에 해당하는 픽셀들(121, 122)의 논-제로 변환 계수의 조합은 (+8, +2), (+8, -2), (-8, +2) 및 (-8, -2)가 된다.
도 12A 내지 도 12D의 실시 예 역시, 역변환의 리니어(linear)한 성질을 이용하여 역변환이 수행되는 횟수를 줄인 것이다.
도 12A의 (b)와 같이, 역변환부(120)는 부호 후보군 (+, +)에 따라 논-제로 변환 계수들(121, 122)에 부호가 할당된 변환 계수 블록에 대하여 역변환을 수행하여 후보 복원 블록 A1을 생성할 수 있다.
또한, 도 12A의 (c)와 같이 역변환부(120)는 선택된 픽셀 중 일 픽셀(122)의 변환 계수 값만을 유지하고, 나머지 논-제로 변환 계수들을 갖는 픽셀들(121, 123, 124, 125)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성하고, 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C1을 생성할 수 있다.
이와 마찬가지로, 도 12A의 (d)와 같이 역변환부(120)는 선택된 픽셀 중 다른 픽셀(121)의 변환 계수 값만을 유지하고, 나머지 논-제로 변환 계수들을 갖는 픽셀들(122, 123, 124, 125)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성하고, 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C1을 생성할 수 있다.
이때, 역변환부(120)는 복원 블록 A1, C1 및 C2를 이용하여, (+, -), (-, -) 및 (-, +) 부호 후보군에 대한 복원 블록 A2, A3 및 A4를 각각 생성할 수 있다.
구체적으로, 도 12B에 도시된 바와 같이 역변환부(120)는 복원 블록 A1에서 복원 블록 C1의 각 픽셀 값을 2배 곱한 복원 블록을 빼서 (+, -) 부호 후보군에 대한 복원 블록 A2를 생성할 수 있다.
마찬가지로, 도 12C에 도시된 바와 같이 역변환부(120)는 복원 블록 A2에서 복원 블록 C2의 각 픽셀 값을 2배 곱한 복원 블록을 빼서 (-, -) 부호 후보군에 대한 복원 블록 A3을 생성할 수 있다.
또한, 도 12D에 도시된 바와 같이 역변환부(120)는 복원 블록 A3와 복원 블록 C1의 각 픽셀 값을 2배 곱한 복원 블록을 더해 (-, +) 부호 후보군에 대한 복원 블록 A4-를 생성할 수 있다.
즉, 도 12A의 (b), (c) 및 (d)에 도시된 방식으로 부호 후보군 (+, +)에 따른 변환 계수 블록을 역변환하여 생성된 후보 복원 블록 A-1 및 도 12A의 (c) 및 (d)에 도시된 방식으로 역변환을 수행하여 산출된 C1 및 C2를 이용하여 각각의 부호 후보군 (+, -), (-, -) 및 (-, +)에 따른 후보 복원 블록들을 생성할 수 있다. 이와 같은 실시 예 역시, 4번 수행되어야 하는 역변환 횟수가 3번으로 감소하게 되므로 부호화 장치(100)의 부하를 줄이고, 연산속도를 개선할 수 있다.
도 13 내지 도 16은 본 발명의 일 실시 예에 따른 MVD 부호를 코드워드로 부호화하기 위한 방법을 설명하기 위한 도면이다.
본 발명의 기술적 사상은 부호화 장치(100)에서 전송되는 비트 스트림 중 모션 예측으로 구해진 모션 벡터(PMV: Predicted Motion Vector)와 PMV를 시작점으로 하여 탐색된 실제 모션 벡터(MV: Motion Vector)와의 차이를 계산한 모션 벡터 차(MVD: Motion Vector Difference)의 부호를 압축하는 기술에도 적용 가능하다. 인트라 프레임(intra frame) 압축방법에서는 영상 주변의 블록으로부터 가장 유사한 프레딕터(predictor)를 생성하고, 이를 현재 부호화하고자 하는 블록에서 생성된 프레딕터를 빼서, 잔차 변환(residual transform)을 수행한다. 인터 프레임 압축방법은 이전 프레임 또는 이후 프레임을 참조(reference) 프레임으로 하여 프레딕터를 생성한다. 이때, 인터 프레임 압축방법에서는 블록을 매칭하여 가장 유사한 블록에 대한 MVD의 x, y 값을 결정하고, 이를 디코더로 전송하게 되는데, MVD 값에 대한 부호를 압축하는 방식에 있어서도 본 발명의 기술적 사상이 확장될 수 있다.
도 13에 따르면, 부호화 장치(100)의 모션 예측부(미도시)는 현재 PU(Prediction Unit)의 MVD 값에 대하여 (+, +), (+, -), (-, +) 및 (-, -) 총 4가지의 부호 후보군을 생성할 수 있다. 모션 예측부는 도 14에 도시된 바와 같이, 생성된 복수의 부호 후보군에 따라 참조되는 프레딕터 및 잔차(residual) 블록을 더하여 총 4개의 모션 벡터를 생성하고, 각각의 모션 벡터에 대하여 코스트를 산출하여 가장 코스트가 작은 MVD의 부호 후보군에 기 설정된 코드워드를 할당하여, 부호정보가 없는 MVD 값과 함께 디코더로 전송할 수 있다. 코스트를 산출하는 방식은 도 7 및 도 8에 도시된 방식과 동일하다.
도 15는 부호화부(140)가 MVD에 할당 가능한 부호의 조합인 (+, +), (+, -), (-, +), (-, -)에 대응되는 예측 블록에서 산출된 코스트를 기준으로, 부호 후보군을 정렬한 것이다. 도 15에 도시된 바와 같이, (+, -)의 부호 후보군에 대하여 산출된 코스트가 25로 가장 작으며, 부호화부(140)는 코스트가 가장 작은 (+, -)의 부호 후보군이 원본 블록의 부호 정보일 확률이 가장 높다고 판단할 수 있다. 이때, 부호화부(140)는 가장 작은 코스트를 갖는 (+, -)의 부호 후보군이 가장 위쪽에 정렬되도록 부호 후보군을 정렬할 수 있다.
도 16에 도시된 바와 같이, 부호화부(140)는 각각의 부호 후보군에 대하여 서로 다른 단항 코드(unary code)를 할당할 수 있다. 이때, 부호화부(140)는 가장 작은 코스트를 갖는 (+, -) 부호 후보군에 대하여 코드워드 '0'을 할당할 수 있으며, 두 번째로 작은 코스트를 갖는 (-, -) 부호 후보군에 대하여 코드워드 '10'을 할당할 수 있다. 마찬가지로, 부호화부(140)는 세 번째로 작은 코스트를 갖는 (-, +) 부호 후보군에 대하여 코드워드 '110'을 할당할 수 있으며, 가장 큰 코스트를 갖는 (+, +) 부호 후보군에 대하여 코드워드 '1110'을 할당할 수 있다. 이때, (-, -) 부호 후보군에 대하여는 코드워드 '1110'에서 0을 생략하여, '111'을 할당할 수도 있다.
도 17은 본 발명의 다른 실시 예에 따른 부호화 장치의 간략화된 블록도이다.
본 발명의 다른 실시 예에 따른 부호화 장치(100)는 통신부(301), 프로세서(302) 및 메모리(303)를 포함할 수 있다.
통신부(301)는 와이파이 칩, 블루투스 칩, 무선 통신 칩 등을 포함할 수 있으며, 부호화 장치(300)는 통신부(301)를 통해 복호화 장치(400) 등을 포함한 외부 장치와 통신을 수행할 수 있다. 특히, 통신부(301)는 복호화 장치(200)로 부호화된 비트 스트림을 전송할 수 있다.
메모리(303)는 부호화 어플리케이션을 저장할 수 있다. 구체적으로, 메모리(303)는 본 명세서에 기술되어 있는 것과 같은 단계들 또는 동작들을 수행하도록 프로세서(302)를 구성하는 명령어들을 포함하는 컴퓨터 프로그램 또는 어플리케이션을 포함할 수 있다. 예를 들어, 부호화 어플리케이션은 본 명세서에 기술되어 있는 코드워드 할당 프로세스에 따라 비트 스트림을 부호화하고 부호화된 비트 스트림을 출력할 수 있다. 부호화 어플리케이션은, 본 명세서에 기술되어 있는 프로세서들 중 하나 이상의 프로세스를 사용하여, 입력 시퀀스를 엔트로피 부호화하고 비트 스트림을 출력할 수 있다. 부호화 어플리케이션은 콤팩트 디스크, 플래시 메모리 장치, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독가능 매체 상에 저장될 수도 있다.
도 18은 본 발명의 다른 실시 예에 따른 복호화 장치의 간략화된 블록도이다.
본 발명의 다른 실시 예에 따른 복호화 장치(400)는 통신부(401), 프로세서(402) 및 메모리(403)를 포함할 수 있다.
통신부(401)는 부호화 장치(300)와 마찬가지로 다양한 유형의 통신방식에 따라 외부 장치와 통신을 수행할 수 있으며, 특히 부호화 장치(300)로부터 부호화된 비트 스트림을 수신할 수 있다.
메모리(403)는 본 명세서에 기술되어 있는 것과 같은 단계들 또는 동작들을 수행하도록 프로세서(402)를 구성하는 명령어들을 포함하는 컴퓨터 프로그램 또는 어플리케이션을 포함할 수 있다. 예를 들어, 복호화 어플리케이션은, 본 명세서에 기술되어 있는 코드워드 할당 프로세스에 따라 부호화되어 있는 비트 스트림을 수신하고, 본 명세서에 기술된 바와 같이, 비트 스트림을 디코딩하기 위해 부호화된 코드워드를 파싱하고, 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정할 수 있다. 복호화 어플리케이션은 콤팩트 디스크, 플래시 메모리 장치, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독가능 매체 상에 저장되어 있을 수 있다
도 19는 본 발명의 일 실시 예에 따른 부호화 방법을 설명하기 위한 흐름도이다.
먼저, 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택한다(S1910). 이때, 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
이 후, 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성한다(S1920).
이 후, 생성된 복수의 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성한다(S1930). 이때, 후보 복원 블록들을 생성하는 일 실시 예로서, 변환 계수 블록 중 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 변환 계수 블록 중 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성할 수 있다. 이후, 생성된 복원 블록들의 합 또는 차를 통해 후보 복원 블록을 생성할 수 있다.
이 후, 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출한다(S1940). 이때, 코스트는 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)일 수 있다. 또는, 코스트는 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)일 수 있다.
이 후, 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 코드워드 중 일 코드워드를 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화한다(S1950). 이때, 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 가장 적은 비트수로 이루어진 코드워드를 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화할 수 있다. 일 실시 예에 따르면, 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 '0'을 할당할 수 있다.
상술한 다양한 실시 예에 따른 제어 방법은 프로그램으로 구현되어 다양한 기록 매체에 저장될 수 있다. 즉, 각종 프로세서에 의해 처리되어 상술한 다양한 제어 방법을 실행할 수 있는 컴퓨터 프로그램이 기록 매체에 저장된 상태로 사용될 수도 있다.
일 예로, 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 단계, 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하는 단계, 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 단계, 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 단계 및 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 코드워드 중 일 코드워드를 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
Claims (15)
- 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 장치에 있어서,
영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 선택부;
상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환(inverse transform)을 수행하여 후보 복원 블록들을 생성하는 역변환부;
상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부; 및
상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 부호화부;를 포함하는 부호화 장치. - 제1항에 있어서,
상기 선택부는,
상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택하는, 부호화 장치. - 제1항에 있어서,
상기 부호화부는,
상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화하는, 부호화 장치. - 제3항에 있어서,
상기 부호화부는,
상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당하는, 부호화 장치. - 제1항에 있어서,
상기 역변환부는,
상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하고, 상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성하는, 부호화 장치. - 제1항에 있어서,
상기 코스트 산출부는,
상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출하는, 부호화 장치. - 제1항에 있어서,
상기 코스트 산출부는,
상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출하는, 부호화 장치. - 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 방법에 있어서,
영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 단계;
상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하는 단계;
상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 단계;
상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 단계; 및
상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 단계를 포함하는 부호화 방법. - 제8항에 있어서,
상기 선택하는 단계는,
상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택하는, 부호화 방법. - 제8항에 있어서,
상기 부호화하는 단계는,
상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화하는, 부호화 방법. - 제10항에 있어서,
상기 부호화하는 단계는,
상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당하는, 부호화 방법. - 제8항에 있어서,
상기 후보 복원 블록들을 생성하는 단계는,
상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하는 단계; 및
상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성하는 단계;를 포함하는, 부호화 방법. - 제8항에 있어서,
상기 코스트를 각각 산출하는 단계는,
상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출하는, 부호화 방법. - 제8항에 있어서,
상기 코스트를 각각 산출하는 단계는,
상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출하는, 부호화 방법. - 영상 프레임을 포함하는 비트 스트림을 복호화하기 위한 복호화 장치에 있어서,
영상 프레임을 구성하는 변환 계수 블록에서 선택된 복수의 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된 코드워드를 파싱하는 파싱부;
영상 프레임을 구성하는 변환 계수 블록에서, 복호화할 복수의 픽셀을 선택하는 선택부;
상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부;
상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부; 및
상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정하는 복호화부;를 포함하는 복호화 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562216570P | 2015-09-10 | 2015-09-10 | |
US62/216,570 | 2015-09-10 | ||
PCT/KR2016/008441 WO2017043769A1 (ko) | 2015-09-10 | 2016-08-01 | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180040514A true KR20180040514A (ko) | 2018-04-20 |
Family
ID=58240924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177032548A KR20180040514A (ko) | 2015-09-10 | 2016-08-01 | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10547872B2 (ko) |
EP (1) | EP3300366A4 (ko) |
KR (1) | KR20180040514A (ko) |
CN (1) | CN108028930A (ko) |
WO (1) | WO2017043769A1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180176582A1 (en) * | 2016-12-21 | 2018-06-21 | Qualcomm Incorporated | Low-complexity sign prediction for video coding |
US10701391B2 (en) * | 2017-03-23 | 2020-06-30 | Qualcomm Incorporated | Motion vector difference (MVD) prediction |
EP3769527A1 (en) * | 2018-03-26 | 2021-01-27 | Huawei Technologies Co., Ltd. | A video image encoder, a video image decoder and corresponding methods for motion information coding |
US10873765B2 (en) * | 2018-03-29 | 2020-12-22 | Apple Inc. | Techniques for high efficiency entropy coding of video data |
WO2020141159A2 (en) * | 2019-01-02 | 2020-07-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Unified transform type signaling and transform type dependent transform coefficient level coding |
US20220014743A1 (en) * | 2019-06-10 | 2022-01-13 | Xris Corporation | Method for encoding/decoding image signal and device therefor |
WO2020255578A1 (ja) * | 2019-06-19 | 2020-12-24 | ソニー株式会社 | 画像処理装置および方法 |
CN118474369A (zh) * | 2019-11-11 | 2024-08-09 | Lg电子株式会社 | 编码设备、解码设备和数据发送设备 |
CN113242429B (zh) * | 2021-05-11 | 2023-12-05 | 杭州网易智企科技有限公司 | 视频编码模式决策方法、装置、设备及存储介质 |
US20230094825A1 (en) * | 2021-09-28 | 2023-03-30 | Qualcomm Incorporated | Motion vector difference sign prediction for video coding |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862371B2 (en) | 2001-12-31 | 2005-03-01 | Hewlett-Packard Development Company, L.P. | Method of compressing images of arbitrarily shaped objects |
KR100714706B1 (ko) * | 2005-09-26 | 2007-05-04 | 삼성전자주식회사 | 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치 |
US8130828B2 (en) * | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
EP2154894A1 (en) * | 2008-08-15 | 2010-02-17 | Thomson Licensing | Video coding with coding of the locations of significant coefficients in a block of coefficients |
KR101306834B1 (ko) | 2008-09-22 | 2013-09-10 | 에스케이텔레콤 주식회사 | 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법 |
JP5001964B2 (ja) * | 2009-02-18 | 2012-08-15 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
WO2011099080A1 (ja) | 2010-02-12 | 2011-08-18 | 富士通株式会社 | 画像符号化装置及び画像復号装置 |
GB2492333B (en) | 2011-06-27 | 2018-12-12 | British Broadcasting Corp | Video encoding and decoding using transforms |
US9008184B2 (en) | 2012-01-20 | 2015-04-14 | Blackberry Limited | Multiple sign bit hiding within a transform unit |
-
2016
- 2016-08-01 CN CN201680052504.5A patent/CN108028930A/zh not_active Withdrawn
- 2016-08-01 EP EP16844589.8A patent/EP3300366A4/en not_active Withdrawn
- 2016-08-01 US US15/744,597 patent/US10547872B2/en not_active Expired - Fee Related
- 2016-08-01 WO PCT/KR2016/008441 patent/WO2017043769A1/ko active Application Filing
- 2016-08-01 KR KR1020177032548A patent/KR20180040514A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
US20180220159A1 (en) | 2018-08-02 |
EP3300366A4 (en) | 2018-06-20 |
CN108028930A (zh) | 2018-05-11 |
US10547872B2 (en) | 2020-01-28 |
EP3300366A1 (en) | 2018-03-28 |
WO2017043769A1 (ko) | 2017-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180040514A (ko) | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 | |
US11750841B2 (en) | Methods and apparatuses for coding transform blocks | |
US10687058B2 (en) | Method and apparatus for coding of intra prediction mode | |
KR101937213B1 (ko) | 인트라 예측 모드 부호화/복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체 | |
CN110024392B (zh) | 用于视频译码的低复杂度符号预测 | |
TWI658702B (zh) | 資料編碼及解碼 | |
US9357185B2 (en) | Context optimization for last significant coefficient position coding | |
CN111083476B (zh) | 编码和解码视频数据的方法及视频数据编码器和解码器 | |
US10531102B2 (en) | Encoding device, decoding device, and encoding and decoding method thereof | |
KR102231417B1 (ko) | 영상 정보 시그널링 방법 및 장치와 이를 이용한 디코딩 방법 및 장치 | |
KR102020101B1 (ko) | 비디오 코덱에서 신택스 요소 인코딩을 위한 방법 및 장치 | |
US8526750B2 (en) | Method and apparatus for encoding/decoding image by using adaptive binarization | |
CN112272298A (zh) | 转换系数编解码的方法及装置 | |
JP2005160089A (ja) | αチャンネル映像のための符号化ブロックパターン生成装置及び方法とそれを利用したαチャンネル映像符号化/復号化装置及び方法 | |
TWI789668B (zh) | 脈絡適應性二進制算術寫碼用參數化體系決定技術 | |
JP2024533258A (ja) | ビデオ符号化における変換係数の残差符号予測の改良 | |
JP2021005867A (ja) | 符号化装置、復号装置、及びプログラム |