KR101534033B1 - 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 - Google Patents

주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR101534033B1
KR101534033B1 KR1020150029249A KR20150029249A KR101534033B1 KR 101534033 B1 KR101534033 B1 KR 101534033B1 KR 1020150029249 A KR1020150029249 A KR 1020150029249A KR 20150029249 A KR20150029249 A KR 20150029249A KR 101534033 B1 KR101534033 B1 KR 101534033B1
Authority
KR
South Korea
Prior art keywords
frequency
block
coefficient
unit
information
Prior art date
Application number
KR1020150029249A
Other languages
English (en)
Other versions
KR20150032277A (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 에스케이텔레콤 주식회사
Priority to KR1020150029249A priority Critical patent/KR101534033B1/ko
Publication of KR20150032277A publication Critical patent/KR20150032277A/ko
Application granted granted Critical
Publication of KR101534033B1 publication Critical patent/KR101534033B1/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Landscapes

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

Abstract

본 발명의 실시예는 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
본 발명의 일 실시예는, 주파수 마스크 테이블을 이용하여 주파수변환블록을 마스킹하여 마스크된 주파수변환블록을 생성하고 마스크된 주파수변환블록 및 마스크하는데 사용된 주파수 마스크 테이블에 대한 정보를 부호화하고 복호단에서는 주파수 마스크 테이블에 대한 정보를 추출하여 비트스트림에 기록된 마스크된 양자화 주파수 계수열을 추출하고 추출된 주파수 마스크 테이블에 대한 정보를 사용하여 마스크된 양자화 주파수 계수열로부터 비트스트림에 기록되지 않은 위치의 양자화 주파수 계수들을 모두 0으로 설정하여 양자화 주파수 계수열을 생성하고 상기 생성된 양자화 주파수 계수열을 역 스캔하여 양자화된 주파수변환블록을 생성하여 복호화하는 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치를 제공한다.

Description

주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치{Frequency Transform Block Coding Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same}
본 발명의 실시예는 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 잔차신호의 주파수변환 블록을 부호화하고 복호화하는 데 있어서, 주파수변환 블록을 잔차 블록의 주파수 계수의 위치에 따른 비부호화 정보를 포함하는 주파수 마스크 테이블을 이용하여 영상 압축 효율을 향상시키는 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상의 부호화/복호화 방법 및 장치에 관한 것이다.
MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 더욱 우수하고 뛰어난 비디오 압축 기술을 개발하였다. 이 새로운 표준안은 H.264/AVC(Advanced video Coding)이라 호칭하고 MPEG-4 Part 10 AVC와 ITU-T Recommendation H.264로 공동 발표되었다.
H.264/AVC(이하 'H.264'라 약칭함) 표준안에서는 다양한 형태의 서브 블록을 갖는 매크로블록 단위로 인트라/인터 예측과정을 수행하여 잔차신호를 생성하며, 생성된 잔차신호에 대해 4x4 단위의 주파수변환 단위에 대해 주파수변환, 양자화, 엔트로피 부호화 등의 과정을 거쳐 부호화를 수행하게 된다.
최근에는 영상의 초고해상도에 대한 요구에 맞추어 영상 압축 기술이 개발되고 있으며, MPEG과 VCEG 국제표준기구는 JCT라는 이름으로 공동으로 HEVC 동영상 부호화 표준을 개발하고 있다. 이러한 초고해상도 압축에 있어서는 기존 영상 압축기술에서 많이 사용하여 왔던 4x4 및 8x8 주파수단위 외에도 16x16 등 큰 주파수변환단위가 영상 압축 효율 향상에 많은 도움이 된다는 것이 실험을 통해 증명되어 왔다. 하지만 이러한 16x16을 기존의 방법대로 전체를 한번에 스캐닝하여 부호화하면 영상의 특성에 따른 효율적인 주파수 계수 부호화 및 이러한 부호화 장치의 고안 및 구현이 어려운 문제가 있다.
이러한 문제점을 해결하기 위해 본 발명의 일 실시예는, 잔차 블록의 주파수 계수의 위치에 따른 비부호화 정보를 포함하는 주파수 마스크 테이블을 이용하여 영상의 특성을 반영하여 주파수변환 블록을 부호화함으로써 영상의 압축 효율을 향상시키고 구현을 용이하게 하는데 주된 목적이 있다.
본 발명의 일 실시예는, 비트스트림에 포함된 양자화된 주파수 계수열을 변환 단위의 크기로 복호화하는 방법에 있어서, 변환 단위 내에서의 0이 아닌 마지막 계수의 위치를 나타내는 위치 정보를 포함하는 상기 비트스트림으로부터 상기 위치 정보를 추출하는 단계; 상기 추출된 위치 정보에 근거하여, 스캔 순서에서 상기 0이 아닌 마지막 계수보다 선행하는 위치의 계수들을 상기 비트스트림으로부터 유도하여 상기 변환 단위의 크기를 갖는 변환 블록을 생성하는 단계; 및 상기 생성된 변환 블록을 역양자화 및 역변환하는 단계를 포함하는 것을 특징으로 하는 복호화 방법을 제공한다.
상기 변환 블록을 생성하는 단계는, 상기 스캔 순서에서 상기 0이 아닌 마지막 계수보다 후행하는 위치의 계수를 0으로 설정한다.
또한, 상기 변환 블록을 생성하는 단계는, 상기 스캔 순서에서 상기 0이 아닌 마지막 계수보다 선행하는 위치의 계수가 0인지 여부를 나타내는 값을 상기 비트스트림으로부터 추출하는 단계; 상기 추출된 값이 제1값이면, 상기 비트스트림으로부터 해당 위치의 계수를 유도하는 단계; 및 상기 추출된 값이 제2값이면, 상기 해당 위치의 계수를 0으로 설정하는 단계를 포함할 수 있다.
한편, 상기 위치 정보 및 상기 각 계수가 0인지 여부를 나타내는 값은 산술 부호화 방법에 의해 부호화된 값일 수 있다.
상기 변환 단위는 2n*2n (n은 일정 범위 내의 자연수)의 블록 크기를 가지며, 8*8보다 큰 블록 크기를 포함할 수 있으며, 상기 n은 2 이상 5 이하의 범위 내의 값일 수 있다.
상기 위치 정보 및 상기 각 계수가 0인지 여부를 나타내는 값은 주파수 마스크 테이블로 정의되어 상기 비트스트림에 포함될 수 있다.
본 발명의 다른 실시예는, 비트스트림에 포함된 양자화된 주파수 계수열을 변환 단위의 크기로 복호화하는 장치에 있어서, 변환 단위 내에서의 0이 아닌 마지막 계수의 위치를 나타내는 위치 정보를 포함하는 상기 비트스트림으로부터 상기 위치 정보를 추출하고, 상기 추출된 위치 정보에 근거하여, 스캔 순서에서 상기 0이 아닌 마지막 계수보다 선행하는 위치의 계수들을 상기 비트스트림으로부터 유도하여 상기 변환 단위의 크기를 갖는 변환 블록을 생성하는 복호화부; 상기 생성된 변환 블록을 역양자화하는 역양자화부; 및 상기 역양자화된 변환 블록을 역변환하는 역변환부를 포함하는 것을 특징으로 하는 복호화 장치를 제공한다.
상기 복호화부는, 상기 스캔 순서에서 상기 0이 아닌 마지막 계수보다 후행하는 위치의 계수를 0으로 설정한다.
상기 복호화부, 상기 스캔 순서에서 상기 0이 아닌 마지막 계수보다 선행하는 위치의 계수가 0인지 여부를 나타내는 값을 상기 비트스트림으로부터 추출하고, 상기 추출된 값이 제1값이면 상기 비트스트림으로부터 해당 위치의 계수를 유도하고, 상기 추출된 값이 제2값이면 상기 해당 위치의 계수를 0으로 설정할 수 있다.
한편, 상기 위치 정보 및 상기 각 계수가 0인지 여부를 나타내는 값은 산술 부호화 방법에 의해 부호화된 값일 수 있다.
상기 변환 단위는 2n*2n (n은 일정 범위 내의 자연수)의 블록 크기를 가지며, 8*8보다 큰 블록 크기를 포함할 수 있으며, 상기 n은 2 이상 5 이하의 범위 내의 값일 수 있다.
상기 위치 정보 및 상기 각 계수가 0인지 여부를 나타내는 값은 주파수 마스크 테이블로 정의되어 상기 비트스트림에 포함될 수 있다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 주파수변환 블록을 잔차 블록의 주파수 계수의 위치에 따른 비부호화 정보를 포함하는 주파수 마스크 테이블을 이용하여 영상의 특성을 반영하여 부호화함으로써 영상의 압축 효율을 향상시키는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 주파수변환 블록 부호화 장치(200)를 도시한 도면이다.
도 3은 8X8 주파수 변환블록에 대한 주파수 마스크 테이블의 예를 도시한 도면이다.
도 4a는 8x8 크기의 주파수변환단위에 있어서 양자화된 잔차 주파수변환 블록을 예시한 도면이고, 도 4b는 주파수마스크부(210)가 도 4a의 양자화된 주파수변환 블록을 도 3의 주파수 마스크 테이블로 마스킹한 결과를 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 주파수 마스크 테이블을 생성하여 슬라이스를 부호화하는 흐름도를 예시한 도면이다.
도 6a는 도 3의 주파수 마스크 테이블의 계수를 지그재그 스캔한 모습을 도시한 것이고, 도 6b는 스캔한 후의 주파수 마스크 계수열을 도시한 도면이다.
도 7은 도 6의 주파수 마스크 계수를 부호화하는 예를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 9는 본 발명의 일 실시예에 따른 주파수계수열 복호화 장치(900)의 구성을 간략하게 나타낸 블록 구성도이다.
도 10은 주파수 마스크 테이블에 따라 슬라이스를 복호화하는 플로우챠트를 예시한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 주파수변환 블록 부호화 장치(1100)를 도시한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성될 수 있으며, 각 픽처들은 프레임 또는 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 영상을 부호화하는 장치로서, 인트라 예측부(110), 인터 예측부(120), 감산부(130), 변환 및 양자화부(140), 부호화부(150), 역 양자화 및 역 변환부(160), 가산부(170), 프레임 메모리(180)를 포함하여 구성될 수 있다.
부호화하고자 하는 입력 영상은 매크로 블록(Macro Block) 단위로 입력이 되는데, 본 발명에서, 매크로 블록은 M×N 형태이며 M과 N은 각 2n의 크기를 가지며, M과 N이 동일하거나 다를 수 있다. 따라서, H.264의 매크로 블록과 동일하거나 클 수도 있다.
인트라 예측부(110)는 현재 매크로 블록을 예측하기 위하여 인접 화소를 이용하여 예측 블록을 생성한다. 즉, 인트라 예측부(110)는 이미 부호화 과정을 거치고 복원된, 현재 매크로 블록의 인접 화소들을 이용하여 인트라 예측부 (110)의 모드에 따라 예측 블록을 생성한다.
인터 예측부(120)는 현재 매크로 블록을 예측하기 위하여 다른 프레임을 이용하여 예측 블록을 생성한다. 즉, 인터 예측부(120)는 이미 부호화 과정을 거치고 복원된 이전 프레임에서 인터 예측부(120)의 모드에 따라 움직임 추정을 통해 움직임 벡터를 생성하고 움직임 벡터를 이용한 움직임 보상 과정에서 예측 블록을 생성한다.
감산부(130)는 현재 블록에서 예측 블록을 감산하여 잔차 블록(Residual Block)을 생성한다. 즉, 감산부(130)는 현재 블록의 화소값과 인트라 예측부(110) 또는 인터 예측부(120)에서 생성된 예측 블록의 화소값을 감산하여 잔차 블록을 생성한다.
변환 및 양자화부(140)는 감산부(130)에서 생성된 잔차 블록을 주파수 계수로 변환하고 양자화 한다. 즉, 변환 및 양자화부는(140)는 감산부(130)에 의해 생성된 잔차 블록의 잔차 계수를 주파수 계수를 갖는 잔차 블록을 생성하고 생성된 주파수 계수의 잔차 블록을 양자화 하는데, 이때 사용되는 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform) 등과 같은 공간 영역의 화상 신호를 주파수 영역으로 변환하는 기법이 사용되고, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스 (Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법을 이용할 수 있다.
부호화부(150)는 변환 및 양자화부(140)에 의해 변환되고 양자화된 잔차 블록을 부호화하여 부호화 데이터를 생성할 수 있다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술을 사용할 수 있을 것이다.
또한, 부호화부(150)는 양자화 주파수 계수들을 부호화한 비트열뿐만 아니라 부호화된 비트열을 복호화하는 데 필요한 다양한 정보들을 부호화 데이터에 포함시킬 수 있다. 즉, 부호화 데이터는 부호화된 블록 형태(CBP: Coded Block Pattern), 델타 양자화 계수(Delta Quantization Parameter) 및 양자화 주파수 계수가 부호화 된 비트열이 포함되는 제 1 필드와 예측에 필요한 정보(예를 들어, 인트라 예측의 경우 인트라 예측 모드 또는 인터 예측의 경우 움직임 벡터 등)를 위한 비트가 포함되는 제 2 필드를 포함할 수 있다.
이때, H.264와는 달리 본 발명에서는 양자화된 주파수계수의 잔차블록을 부호화하는 데 있어서 잔차 블록의 주파수 계수의 위치에 따른 '비부호화' 정보를 포함하는 주파수 마스크 테이블을 이용하여 상기 양자화된 주파수블록을 스캔하여 부호화한다. 이와 관련한 내용에 대해서는 후술하는 과정에서 도 2를 통해 상세히 설명한다.
역양자화 및 역변환부(160)는 변환 및 양자화부(140)에 의해 변환 및 양자화된 잔차 블록을 역 양자화(Inverse Quantization)하고 역 변환(Inverse Transform)하여 잔차 블록을 복원(Reconstruction)한다. 역 양자화와 역 변환은 변환 및 양자화부(140)가 수행한 변환 과정과 양자화 과정을 역으로 수행함으로써 이루어질 수 있다. 즉, 역양자화 및 역변환부(160)는 변환 및 양자화부(140)로부터 발생되어 전달되는 변환 및 양자화에 관한 정보(예를 들어, 변환 및 양자화 타입에 대한 정보)를 이용하여 변환 및 양자화부(140)가 변환 및 양자화한 방식을 역으로 수행하여 역 양자화 및 역 변환을 수행할 수 있다.
가산부(170)는 인트라 예측부(110) 또는 인터 예측부(120)에서 생성된 예측 블록과 역 양자화 및 역 변환부(160)에 의해 생성된 잔차 블록을 가산하여 복원된 블록을 생성한다.
프레임 메모리(180)는 가산부(170)에서 복원된 블록을 저장하여 인트라 혹은 인터 예측 수행 시 예측 블록을 생성하기 위해 참조블록으로 사용된다.
도 2는 본 발명의 일 실시예에 따른 주파수변환 블록 부호화 장치(200)를 도시한 도면이며, 도 1의 부호화부(150)는 본 발명의 일 실시예에 따른 주파수변환 블록 부호화 장치(200)를 포함할 수 있다.
주파수변환 블록 부호화 장치(200)는 독립적인 하드웨어 또는 소프트웨어 모듈로서 존재하는 움직임 보상 장치가 될 수 있다.
본 발명의 일 실시예에 따른 주파수변환 블록 부호화 장치(200)는 주파수마스크부(210), 주파수스캔부(220), 마스크블록 부호화부(230) 및 테이블정보 부호화부(240)를 포함한다.
주파수마스크부(210)는 주파수 마스크 테이블을 이용하여 양자화된 주파수변환블록을 마스킹하여 마스크된 주파수변환블록을 생성한다.
주파수스캔부(220)는 마스크된 주파수변환블록을 스캔하여 마스크된 주파수계수열을 생성한다.
마스크블록 부호화부(230)는 마스크된 주파수계수열을 부호화한다.
테이블정보 부호화부(240)는 양자화된 주파수변환블록을 마스크하는데 사용된 주파수 마스크 테이블에 대한 정보를 부호화한다.
도 3은 8X8 주파수 변환블록에 대한 주파수 마스크 테이블의 예를 도시한 도면이다.
도 3과 같은 주파수 마스크 테이블은 NxM (N은 M과 같거나 다를 수 있다) 크기의 모든 주파수변환블록에 대해 정의될 수 있다. 주파수 마스크 테이블의 값들은 주파수변환블록의 해당 주파수계수 위치에서 부호화되어 발생하는 비트스트림에 해당 주파수 계수를 부호화하는가 또는 부호화하지 않는가를 나타내는 정보를 표시한다. 주파수 변환블록은 블록의 왼쪽위에서 오른쪽아래로 갈수록 저주파계수에서 고주파계수로 진행한다(주파수 마스크 테이블도 동일하게 왼쪽위에서 오른쪽아래로 갈수록 저주파계수에서 고주파계수로 진행). 도 3의 주파수 마스크 테이블에서 '1' 해당하는 부분의 경우는 주파수변환블록의 해당하는 위치의 주파수계수가 엔트로피 부호화되어 비트스트림에 출력되며, '0' 해당하는 부분의 경우는 주파수변환블록의 해당하는 위치의 주파수계수가 엔트로피 부호화되지 않고 주파수계수가 '0'으로 설정된다.
도 4a는 8x8 크기의 주파수변환단위에 있어서 양자화된 잔차 주파수변환 블록을 예시한 도면이고, 도 4b는 주파수마스크부(210)가 도 4a의 양자화된 주파수변환 블록을 도 3의 주파수 마스크 테이블로 마스킹한 결과를 도시한 도면이다. 종래에는, 도 4a의 잔차 주파수변환 블록은 지그재그 스캐닝 등의 스캐닝 방법으로 64 개의 양자화된 주파수 계수로 구성된 주파수계수열을 구성하여 이를 모두 부호화한다.
본 발명의 일 실시예로서 주파수마스크부(210)가 도 3의 주파수 마스크 테이블을 이용하여 도 4a의 양자화된 잔차 주파수변환 블록을 마스킹하면, 주파수스캔부(220)는 도 3의 주파수 마스크 테이블에서 '1'로 표현된 6 개의 주파수 위치만을 스캐닝하고, 마스크블록 부호화부(230)가 6 개의 주파수 위치만이 스캐닝된 계수열을 부호화함으로써 압축 효율을 향상시킬 수 있다. 따라서 도 4a의 양자화된 주파수변환 블록을 도 3의 주파수 마스크 테이블로 마스킹하면 도 4b와 같은 결과가 나올 수 있다.
마스크블록 부호화부(230)는 마스크된 주파수계수열을 부호화함에 있어서, 부호화부(150)와 유사하게 부호화 기술로서 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술을 사용할 수 있을 것이다.
한편, 주파수마스크부(210)는 하나 이상의 주파수변환단위를 포함하는 블록, 매크로블록, 픽처 및 슬라이스 중에서 어느 하나의 영상 단위에 대하여 복수개의 주파수 마스크 테이블 중에서 율-왜곡을 비교하여 부호화비용이 가장 적은 주파수 마스크 테이블을 사용하여 마스크된 주파수변환블록을 생성할 수 있다.
또한, 주파수마스크부(210)는 하나 이상의 주파수변환단위를 포함하는 블록, 매크로블록, 픽처 및 슬라이스 중에서 어느 하나의 영상 단위를 구성하고 있는 주파수변환단위의 크기가 복수개인 경우 각 주파수변환단위에 대하여 율-왜곡을 비교하여 부호화비용이 가장 적은 주파수 마스크 테이블을 사용하여 마스크된 주파수변환블록을 생성할 수 있다.
주파수스캔부(220)는 슬라이스 또는 픽처별로 동일한 주파수 마스크 테이블을 사용하여 마스크된 주파수변환블록을 생성할 수 있다.
테이블정보 부호화부(240)는 주파수 마스크 테이블을 스캔하여 부호화할 수 있다.
테이블정보 부호화부(240)는 주파수 마스크 테이블을 압축효율의 향상을 위해 각 주파수변환단위에 대해 하나씩 보내지 않고 여러 개의 주파수변환단위에 대해 공통으로 하나를 보내는 방법으로 비트스트림에 부호화할 수 있다.
일 실시예로, 테이블정보 부호화부(240)는 슬라이스의 헤더 정보에 하나의 주파수 마스크 테이블을 포함함으로써 영상 부호화 장치뿐만 아니라 영상 복호화 장치에서 한 슬라이스에 있는 모든 주파수변환 블록이 마스킹될 때 해당 주파수 마스크 테이블을 사용할 수 있다.
또 다른 실시예로, 테이블정보 부호화부(240)는 픽쳐의 헤더 정보에 하나의 주파수 마스크 테이블을 포함함으로써 영상 부호화 장치뿐만 아니라 영상 복호화 장치에서 한 슬라이스의 모든 주파수변환 블록이 마스킹될 때 해당 주파수 마스크 테이블을 사용할 수 있다.
또 다른 실시예로 테이블정보 부호화부(240)는 슬라이스헤더에 여러 개의 주파수 마스크 테이블과 그 식별정보(예컨대 인덱스)를 포함하고, 각 매크로블록 혹은 여러 개의 주파수변환단위를 포함하는 블록마다 해당하는 주파수 마스크 테이블의 인덱스를 부호화하여 비트스트림에 출력할 수 있다.
또 다른 실시예로 테이블정보 부호화부(240)는 픽쳐 헤더에 여러 개의 주파수 마스크 테이블과 그 인덱스를 포함하고, 각 매크로블록 혹은 여러 개의 주파수변환단위를 포함하는 블록마다 해당하는 주파수 마스크 테이블의 인덱스를 부호화하여 비트스트림에 출력할 수 있다.
또 다른 실시예로 테이블정보 부호화부(240)는 시퀀스 헤더에 여러 개의 주파수 마스크 테이블과 그 인덱스를 포함하고, 각 매크로블록 혹은 여러 개의 주파수변환단위를 포함하는 블록마다 해당하는 주파수 마스크 테이블의 인덱스를 부호화하여 비트스트림에 출력할 수 있다.
본 실시예에서 주파수마스크부(210)는 마스킹에 사용될 주파수 마스크 테이블을 생성하기 위하여(기설정된 다양한 주파수 마스크 테이블의 집합으로부터 생성될 수 있음) 주파수 마스크 테이블을 공유하는 영상 부호화 단위 (픽쳐, 슬라이스, 매크로블록, 주파수변환 단위 집합)에 대해 여러 주파수 마스크 테이블을 이용하여 RD (비트-율 왜곡) 측면에서 가장 좋은 주파수 마스크 테이블을 선정할 수 있으며, 테이블정보 부호화부(240)는 해당하는 영상 단위에 대해 하나의 주파수 마스크 테이블을 부호화하여 비트스트림에 출력함으로써 압축률을 향상시킬 수 있다.
도 11은 본 발명의 다른 실시예에 따른 주파수변환 블록 부호화 장치(1100)를 도시한 도면이다.
본 발명의 다른 실시예에 따른 주파수변환 블록 부호화 장치(1100)는 주파수마스크부(1110), 주파수스캔부(1120), 마스크블록 부호화부(1130) 및 테이블정보 부호화부(1140)를 포함한다.
도 11에서와 같이, 주파수변환 블록 부호화 장치(1100)에서 주파수스캔부(1120)와 주파수마스크부(1110)의 처리 순서가 도 2의 주파수스캔부(220)와 주파수마스크부(210)의 처리 순서의 반대일 수도 있다.
주파수스캔부(1120)는 양자화된 주파수변환블럭을 스캔하여 주파수계수열을 생성한다. 주파수스캔부(1120)는 도 4a와 같은 양자화된 주파수변환블럭을 스캔하여 주파수계수열을 생성한다.
주파수마스크부(1110)는 주파수 마스크테이블을 스캔하고, 스캔된 주파수마스크열에 의해 주파수계수열을 마스크하여 마스크된 주파수계수열을 생성한다. 주파수마스크부(1110)는 도 3과 같은 주파수 마스크테이블을 스캔하고, 스캔된 주파수마스크열의 '1'에 해당하는 위치의 주파수계수열만 마스크하여 마스크된 주파수계수열을 생성한다.
마스크블록 부호화부(1130)는 생성된 마스크된 주파수계수열을 엔트로피부호화한다. 마스크블록 부호화부(1130)의 마스크블록 부호화부(230)의 동작과 유사하므로 상세한 설명은 생략한다.
테이블정보 부호화부(1140)는 사용된 주파수 마스크 테이블에 대한 정보를 부호화할 수 있으며, 스캔된 주파수 마스크 테이블을 부호화할 수 있다. 이외의 테이블정보 부호화부(1140)의 동작은 테이블정보 부호화부(240)의 동작과 유사하므로 상세한 설명은 생략한다.
도 5는 본 발명의 실시예에 따른 주파수 마스크 테이블을 생성하여 슬라이스를 부호화하는 흐름도를 예시한 도면이다. 도 5는 슬라이스의 주파수 변환 블록의 크기가 일정한 경우이다.
본 발명의 실시예에 따르면 슬라이스를 구성하는 주파수변환블록의 크기가 하나 보다 많으면 주파수마스크부(210)는 각각의 주파수변환블록 크기에 대하여 율-왜곡 측면에서 최소의 부호화비용을 갖는 최적의 주파수 마스크 테이블을 생성하고 최적의 주파수 마스크 테이블을 이용하여 마스크된 주파수변환블록을 생성하고, 주파수스캔부(220)는 마스크된 주파수변환블록을 스캔하여 마스크된 주파수계수열을 생성하고, 마스크블록 부호화부(230)는 주파수스캔부(220)에서 생성된 마스크된 주파수계수열을 부호화하며, 테이블정보 부호화부(240)는 양자화된 주파수변환블록을 마스크하는데 사용된 주파수 마스크 테이블에 대한 정보(주파수 마스크 테이블 또는 주파수 마스크 테이블 식별정보일 수 있음)를 부호화할 수 있다. 본 실시예에서 주파수 마스크 테이블은 다양한 크기의 주파수변환 블록(4x4, 4x8, 8x4, 8x8, 8x16, 16x8, 16x16, 16x32, 32x16, 32x32, 64x32, 32x64, 64x64)에 대해 각각 설정될 수 있다. 또한 각각의 크기의 주파수변환 블록에 대하여 다양한 형태의 주파수 마스크 테이블이 설정될 수 있고 주파수마스크부(210)가 이들 중에서 하나의 주파수 마스크 테이블을 선택하여 사용할 수 있다.
테이블 부호화부(240)는 주파수 마스크 테이블을 스캐닝하여 주파수마스크 계수열을 만들고 주파수마스크 계수열을 엔트로피 부호화하여 부호화할 수 있다.
도 6a는 도 3의 주파수 마스크 테이블의 계수를 지그재그 스캔한 모습을 도시한 것이고, 도 6b는 스캔한 후의 주파수 마스크 계수열을 도시한 도면이다.
본 실시예에서 주파수 마스크 테이블의 계수 스캐닝은 종전의 영상 부호화에서 주파수계수 블록을 부호화하는데 사용되는 방법과 동일 또는 유사한 방법으로서 지그재그 스캐닝, 수평 스캐닝, 수직 스캐닝 등의 방법을 적용할 수 있다.
본 발명의 실시예에 따른 주파수 마스크 계수열을 엔트로피 부호화하는 방법으로서는 가변길이부호화 방법, 산술부호화방법 등의 방법을 사용하여 부호화할 수 있으나 본 발명이 이에 한정되지는 않는다.
본 실시예에서 주파수 마스크 계수열을 엔트로피 부호화하는 방법으로는 '0'은 비트 값 0으로 '1'은 비트 값 1로 부호화할 수 있다.
본 실시예에서 주파수 마스크 계수열을 엔트로피 부호화하는 방법으로서는 MPEG-4의 4x4 CAVLC(Context Adaptive Variable Length Coding)와 유사한 방법으로서, 주파수 마스크 계수 열이 높은 주파수에서 시작해서 낮은 주파수로 끝날 때, 영상의 특성으로서 주파수 마스크 계수열의 후반부에 0이 집중된다는 점에 착안하여 뒤에서 시작해서 처음으로 주파수 마스크 계수 '1'이 나오는 위치 정보를 부호화하고, 계속 저주파 방향으로 진행하여 주파수 마스크 계수 '0'과 '1'을 부호화할 수 있다.
도 7은 도 6의 주파수 마스크 계수를 부호화하는 예를 도시한 도면이다.
도 6의 주파수 마스크 계수 열은 도 7과 같이 기록할 수 있다. 도 7에서 먼저 뒤에서 시작해서 처음으로 주파수 마스크 계수 '1'이 나오는 위치 정보인 5('000101': 64개의 계수 위치를 기록하기 위해 6 비트 사용한 경우)를 기록하고 계속 저주파 방향으로 진행하여 주파수 마스크 계수 '11111'을 기록한다. 따라서 비트스트림에는 '00010111111' 이 기록되어 주파수 마스크 테이블을 효율적으로 부호화할 수 있다.
여기서, 뒤에서 시작해서 처음으로 주파수 마스크 계수 '1'이 나오는 위치 정보는 확률에 근거하여 가변길이 부호화, 산술부호화 방법 등으로 부호화할 수 있다.
본 발명의 실시예에 따른 양자화 방법에 의하면, 양자화 단계에서 주파수 마스크 테이블을 사용하여 값이 '1'인 주파수 계수 위치만 양자화하고, 스캐닝하여 주파수 마스크 계수열을 생성하여 계산의 복잡성을 줄일 수 있다. 즉, 주파수마스크부(210)는 사용하는 주파수 마스크 테이블에 대한 정보를 변환 및 양자화부(140)로 전송하고, 변환 및 양자화부(140)는 주파수변환블록을 양자화할 때 주파수 마스크 테이블을 사용하여 값이 '1'인 주파수 계수 위치만 양자화할 수 있다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(800)는 복호화부(810), 역 양자화 및 역 변환부(820), 인트라 예측부(830), 인터 예측부(840), 가산부(850), 프레임 메모리(860)를 포함하여 구성될 수 있다.
복호화부(810)는 부호화 데이터를 복호화하여 블록 복호화에 필요한 정보를 추출할 수 있다. 즉, 복호화부(810)는 부호화 데이터를 복호화하여 주파수 마스크 테이블 정보를 추출하고 추출된 주파수 마스크 테이블 정보를 사용하여 양자화 주파수계수열을 추출하고, 양자화 주파수 계수열을 역 스캐닝하여 양자화 주파수 계수를 갖는 잔차 블록을 생성할 수 있다. 이때, 복호화부(810)는 부호화 데이터에 포함된 제 1 필드에서 부호화된 잔차 블록을 추출하여 복호화할 수 있고, 부호화 데이터에 포함된 제 2 필드에서 예측에 필요한 정보를 추출할 수 있으며, 추출된 예측에 필요한 정보를 인트라 예측부(830) 또는 인터 예측부(840)로 전달하여, 해당 예측부가 영상 부호화 장치(100)의 해당 예측부와 동일한 방식으로 현재 블록을 예측하도록 할 수 있다.
역 양자화 및 역 변환부(820)는 잔차 블록을 역 양자화하여 역 양자화된 잔차 블록을 생성하고 생성된 양자화 블록을 역 트랜스폼하여 잔차 블록을 생성한다.
인트라 예측부(830)는 복호화부(810)로부터 전달되는 인트라 예측에 필요한 정보를 이용하여 현재 블록에 대한 예측 블록을 생성한다.
인터 예측부(830)는 복호화부(810)로부터 전달되는 인터 예측에 필요한 정보를 이용하여 현재 블록에 대한 예측 블록을 생성한다.
가산부(850)는 역 변환 잔차 블록과 예측 블록을 가산하여 현재 블록을 복원한다. 가산부(850)에 의해 복원된 현재 블록은 프레임 메모리(860)로 전달되어, 예측부에서 다른 블록을 예측하는 데 활용될 수 있다.
프레임 메모리(860)는 복원된 영상을 저장하여 인트라 및 인터 예측 블록 생성을 가능하게 한다.
한편, 복호화부(810)는 부호화 데이터를 복호화하여 변환 및 양자화된 잔차 블록뿐만 아니라 복호화에 필요한 정보들을 복호화하거나 추출할 수 있다. 복호화에 필요한 정보들은 부호화 데이터 내의 부호화된 비트열을 복호화하는 데 필요한 정보들을 말하며, 예를 들어 블록 타입에 대한 정보, 예측 모드가 인트라 예측 모드인 경우에는 인트라 예측 모드에 대한 정보, 예측 모드가 인터 예측 모드인 경우에는 움직임 벡터에 대한 정보, 변환 및 양자화 타입에 대한 정보 등이 될 수 있으며, 이외의 다양한 정보들이 될 수도 있다.
도 9는 본 발명의 일 실시예에 따른 주파수 계수열 복호화 장치(900)의 구성을 간략하게 나타낸 블록 구성도이다. 도 8의 복호화부(810)는 본 발명의 일 실시예에 따른 주파수 계수열 복호화 장치(900)를 포함할 수 있다.
본 발명의 일 실시예에 따른 주파수 계수열 복호화 장치(900)는 주파수계수열 추출부(910), 테이블정보 추출부(920) 및 양자화계수열 생성부(930)을 포함한다.
테이블정보 추출부(920)는 비트스트림으로부터 주파수 마스크 테이블에 대한 정보를 추출한다. 여기서, 주파수 마스크 테이블에 대한 정보는 주파수 마스크 테이블이거나 주파수 마스크 테이블 식별정보일 수 있으며, 주파수 마스크 테이블은 슬라이스 또는 픽처별로 동일한 것일 수 있으며, 하나 이상의 주파수변환단위를 포함하는 블록마다 주파수 마스크 테이블이 다를 수 있다. 여기서, 주파수 마스크 테이블에 대한 정보는 매크로블록 또는 하나 이상의 주파수변환단위를 포함하는 블록마다 해당 주파수 마스크 테이블에 대한 식별정보일 수 있다.
주파수계수열 추출부(910)는 주파수 마스크 테이블을 사용하여 비트스트림에 기록된 마스크된 양자화 주파수 계수열을 추출한다. 주파수계수열 추출부(910)는 주파수 마스크 테이블을 사용하여 마스크된 양자화 주파수 계수열로부터 비트스트림에 기록되지 않은 위치의 양자화 주파수 계수들을 모두 0으로 설정하여 양자화 주파수 계수열을 만든다. 여기서 주파수계수열 추출부(910)가 사용하는 주파수 마스크 테이블은 슬라이스 또는 픽처별로 동일한 것일 수 있으며, 하나 이상의 주파수변환단위를 포함하는 블록마다 주파수 마스크 테이블이 다를 수 있다.
양자화계수열 생성부(930)는 주파수계수열 추출부(910)에서 생성된 양자화 주파수 계수열을 역 스캔하여 양자화된 주파수변환 블록을 생성한다.
본 발명의 다른 실시예에 따른 주파수 계수열 복호화 장치(900)에서는 주파수계수열 추출부(910) 및 양자화계수열 생성부(930)의 동작이 조금 다를 수 있다.
즉, 테이블정보 추출부(920)는 비트스트림으로부터 주파수 마스크 테이블에 대한 정보를 추출한 후에, 본 발명의 다른 실시예에 따른 주파수계수열 추출부(910)는 주파수계수열 추출부(910)는 주파수 마스크 테이블을 사용하여 비트스트림에 기록된 마스크된 양자화 주파수 계수열을 추출한 후에 마스크된 양자화 주파수 계수열을 역스캔하여 마스크된 주파수변환블록을 생성한다.
양자화계수열 생성부(930)는 주파수변환단위의 크기의 블록의 저주파 영역에 주파수계수열 추출부(910)에서 생성된 마스크된 주파수변환블록의 계수를 채우고 상기의 주파수변환단위의 크기의 블록의 나머지 영역의 주파수계수를 모두 0으로 설정하여 양자화된 주파수변환 블록을 생성한다.
도 10은 주파수 마스크 테이블에 따라 슬라이스를 복호화하는 플로우챠트를 예시한 도면이다.
도 10에 도시하듯이, 슬라이스의 복호화는 비트스트림으로부터 슬라이스 헤더에 있는 주파수 마스크 테이블(FMi)을 수신하는 단계(S1010), 수신한 주파수 마스크 테이블을 이용하여 비트스트림으로부터 양자화 주파수계수열을 복원하고 역 스캔하여 양자화된 주파수변환 블록을 생성하여 복호화한다(S1020).
한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 1의 영상 부호화 장치(100)의 부호화데이터(비트스트림) 출력단을 도 8의 영상 복호화 장치(800)의 부호화 데이터(비트스트림) 입력단에 연결함으로써 구현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는, 현재 블록을 예측하여 예측 블록을 생성하고 상기 현재 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하고 상기 잔차 블록을 변환 및 양자화하여 주파수변환블록을 생성하고 주파수 마스크 테이블을 이용하여 상기 주파수변환블록을 마스킹하여 마스크된 주파수변환블록을 생성하고 상기 마스크된 주파수변환블록 및 마스크하는데 사용된 주파수 마스크 테이블에 대한 정보를 부호화하는 영상 부호화기; 및 비트스트림으로부터 주파수 마스크 테이블에 대한 정보를 추출하여 상기 비트스트림에 기록된 마스크된 양자화 주파수 계수열을 추출하고 추출된 주파수 마스크 테이블에 대한 정보를 사용하여 마스크된 양자화 주파수 계수열로부터 비트스트림에 기록되지 않은 위치의 양자화 주파수 계수들을 모두 0으로 설정하여 양자화 주파수 계수열을 생성하고 상기 생성된 양자화 주파수 계수열을 역 스캔하여 양자화된 주파수변환블록을 생성하여 복호화하는 영상 복호화기를 포함한다.
여기서 영상 부호화기는 본 발명의 일 실시예에 따른 영상 부호화 장치(100)로 구현 가능하며, 영상 복호화기는 본 발명의 일 실시예에 따른 영상 복호화 장치(800)로 구현 가능하다.
한편, 본 발명의 일 실시예에 따른 영상 부호화 방법은, 현재 블록을 예측하여 예측 블록을 생성하는 예측단계(S1110), 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성하는 감산단계(S1120), 잔차 블록을 변환 및 양자화하여 주파수변환블록을 생성하는 변환 및 양자화단계(S1130) 및 주파수 마스크 테이블을 이용하여 상기 주파수변환블록을 마스킹하여 마스크된 주파수변환블록을 생성하고 상기 마스크된 주파수변환블록 및 마스크하는데 사용된 주파수 마스크 테이블에 대한 정보를 부호화하는 부호화단계(S1140)를 포함한다.
여기서, 예측단계(S1110)는 예측기(110 또는 120)의 동작에 대응되며, 감산단계(S1120)는 감산부(130)의 동작에 대응되며, 변환 및 양자화단계(S1130)는 변환 및 양자화부(140)의 동작에 대응되며, 부호화단계(S1140)는 부호화부(150)의 동작에 대응되므로 상세한 설명은 생략한다.
한편, 본 발명의 일 실시예에 따른 영상 복호화 방법은, 비트스트림으로부터 주파수 마스크 테이블에 대한 정보를 추출하여 상기 비트스트림에 기록된 마스크된 양자화 주파수 계수열을 추출하고 추출된 주파수 마스크 테이블을 사용하여 마스크된 양자화 주파수 계수열로부터 비트스트림에 기록되지 않은 위치의 양자화 주파수 계수들을 모두 0으로 설정하여 양자화 주파수 계수열을 생성하고 상기 생성된 양자화 주파수 계수열을 역 스캔하여 양자화된 주파수변환 블록을 생성하는 복호화단계(S1210), 주파수변환블록을 역 양자화 및 역 변환하여 잔차 블록을 복원하는 역양자화 및 역변환단계(S1220), 현재 블록을 예측하여 예측 블록을 생성하는 예측단계(S1230) 및 복원되는 잔차 블록과 예측 블록을 가산하여 현재 블록을 복원하는 가산단계(S1240)를 포함한다.
여기서, 복호화단계(S1210)는 복호화부(810)의 동작에 대응되며, 역양자화 및 역변환단계(S1220)는 역양자화 및 역변환부(820)의 동작에 대응되며, 예측단계(S1230)는 예측부(830 또는 840)의 동작에 대응되며, 가산단계(S1240)는 가산부(850)의 동작에 대응되므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 주파수변환블록 부호화 방법은, 주파수 마스크 테이블을 이용하여 주파수변환블록을 마스킹하여 마스크된 주파수변환블록을 생성하는 주파수마스크단계(S1310), 마스크된 주파수변환블록을 스캔하여 마스크된 주파수계수열을 생성하는 주파수스캔단계(S1320), 마스크된 주파수계수열을 부호화하는 마스크블록 부호화단계(S1330) 및 주파수변환블록을 마스크하는데 사용된 주파수 마스크 테이블에 대한 정보를 부호화하는 테이블정보 부호화단계(S1340)를 포함한다.
여기서, 주파수마스크단계(S1310)는 주파수마스크부(210)의 동작에 대응되며, 주파수스캔단계(S1320)는 주파수스캔부(220)의 동작에 대응되며, 마스크블록 부호화단계(S1330)는 마스크블록 부호화부(230)의 동작에 대응되며, 테이블정보 부호화단계(S1340)는 테이블정보 부호화부(240)의 동작에 대응되므로 상세한 설명은 생략한다.
본 발명의 다른 실시예에 따른 주파수변환블록 부호화 방법은, 주파수변환블록을 스캔하여 주파수계수열을 생성하는 주파수스캔단계(S1410), 주파수 마스크 테이블을 스캔하고 스캔된 주파수마스크 테이블을 이용하여 상기 주파수계수열을 마스크하여 마스크된 주파수계수열을 생성하는 주파수마스크단계(S1420), 상기 마스크된 주파수계수열을 부호화하는 마스크블록 부호화단계(S1430) 및 상기 주파수변환블록을 마스크하는데 사용된 주파수 마스크 테이블에 대한 정보를 부호화하는 테이블정보 부호화단계(S1440)를 포함한다.
여기서, 주파수마스크단계(S1420)는 주파수마스크부(1110)의 동작에 대응되며, 주파수스캔단계(S1410)는 주파수스캔부(1120)의 동작에 대응되며, 마스크블록 부호화단계(S1430)는 마스크블록 부호화부(1130)의 동작에 대응되며, 테이블정보 부호화단계(S1440)는 테이블정보 부호화부(1140)의 동작에 대응되므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 본 발명의 일 실시예에 따른 영상 부호화 방법과 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합하여 구현함으로써 실현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 현재 블록을 예측하여 예측 블록을 생성하고 상기 현재 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하고 상기 잔차 블록을 변환 및 양자화하여 주파수변환블록을 생성하고 주파수 마스크 테이블을 이용하여 상기 주파수변환블록을 마스킹하여 마스크된 주파수변환블록을 생성하고 상기 마스크된 주파수변환블록 및 마스크하는데 사용된 주파수 마스크 테이블에 대한 정보를 부호화하는 영상 부호화단계 및 비트스트림으로부터 주파수 마스크 테이블에 대한 정보를 추출하여 상기 비트스트림에 기록된 마스크된 양자화 주파수 계수열을 추출하고 추출된 주파수 마스크 테이블에 대한 정보를 사용하여 마스크된 양자화 주파수 계수열로부터 비트스트림에 기록되지 않은 위치의 양자화 주파수 계수들을 모두 0으로 설정하여 양자화 주파수 계수열을 생성하고 상기 생성된 양자화 주파수 계수열을 역 스캔하여 양자화된 주파수변환블록을 생성하여 복호화하는 영상 복호화단계를 포함한다.
여기서 영상 부호화단계는 본 발명의 일 실시예에 따른 영상 부호화 단계로 구현 가능하며, 영상 복호화단계는 본 발명의 일 실시예에 따른 영상 복호화 단계로 구현 가능하다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 영상을 부호화하고 복호화하는 기술 분야에 적용되어, 주파수변환블록을 주파수영역으로 분할하여 주파수영역 부호화정보를 부호화함으로써, 0이 아닌 주파수가 저주파에 집중하는 일반적인 영상의 특성을 고려하여 효율적으로 부호화 효율을 높일 수 있는 매우 유용한 발명이다.

Claims (10)

  1. 영상을 복호화하는 장치에 있어서,
    변환 단위 내에서의 0이 아닌 마지막 계수의 위치를 나타내는 위치 정보를 포함하는 상기 비트스트림으로부터 상기 위치 정보를 추출하고, 상기 추출된 위치 정보에 근거하여, 스캔 순서에서 상기 0이 아닌 마지막 계수보다 선행하는 위치의 계수들을 상기 비트스트림으로부터 유도하여 상기 변환 단위의 크기를 갖는 변환 블록을 생성하는 복호화부;
    상기 생성된 변환 블록을 역양자화하는 역양자화부;
    상기 역양자화된 변환 블록을 역변환하여 잔차블록을 생성하는 역변환부;
    인트라 예측을 통해 예측블록을 생성하는 예측부; 및
    상기 예측블록과 상기 잔차블록을 가산하는 가산부를 포함하되,
    상기 복호화부는,
    상기 스캔 순서에서 상기 0이 아닌 마지막 계수보다 선행하는 위치의 계수가 0인지 여부를 나타내는 값을 상기 비트스트림으로부터 추출하고,
    상기 추출된 값이 제1값이면, 상기 비트스트림으로부터 해당 위치의 계수를 유도하고,
    상기 추출된 값이 제2값이면, 상기 해당 위치의 계수를 0으로 설정하는 것을 특징하는 것을 영상 복호화 장치.
  2. 제1항에 있어서,
    상기 복호화부는, 상기 스캔 순서에서 상기 0이 아닌 마지막 계수보다 후행하는 위치의 계수를 0으로 설정하는 것을 특징으로 하는 영상 복호화 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 위치 정보 및 상기 각 계수가 0인지 여부를 나타내는 값은 산술 부호화 방법에 의해 부호화된 값인 것을 특징으로 하는 영상 복호화 장치.
  5. 제1항에 있어서,
    상기 변환 단위는 2n*2n (n은 일정 범위 내의 자연수)의 블록 크기를 가지며, 8*8보다 큰 블록 크기를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  6. 제5항에 있어서,
    상기 n은 2 이상 5 이하의 범위 내의 값인 것을 특징으로 하는 영상 복호화 장치.
  7. 제1항에 있어서,
    상기 위치 정보 및 상기 각 계수가 0인지 여부를 나타내는 값은 주파수 마스크 테이블로 정의되어 상기 비트스트림에 포함된 것을 특징으로 하는 영상 복호화 장치.
  8. 영상을 복호화하는 방법에 있어서,
    인트라 예측을 통해 예측블록을 생성하는 단계;
    변환 단위 내에서의 0이 아닌 마지막 계수의 위치를 나타내는 위치 정보를 포함하는 상기 비트스트림으로부터 상기 위치 정보를 추출하고, 상기 추출된 위치 정보에 근거하여, 스캔 순서에서 상기 0이 아닌 마지막 계수보다 선행하는 위치의 계수들을 상기 비트스트림으로부터 유도하여 상기 변환 단위의 크기를 갖는 변환 블록을 생성하는 단계;
    상기 생성된 변환 블록을 역양자화하는 단계;
    상기 역양자화된 변환 블록을 역변환하여 잔차블록을 생성하는 단계; 및
    상기 예측블록과 상기 잔차블록을 가산하는 단계를 포함하되,
    상기 변환 블록을 생성하는 단계는, 상기 스캔 순서에서 상기 0이 아닌 마지막 계수보다 후행하는 위치의 계수를 0으로 설정하는 것을 특징으로 하는 영상 복호화 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 변환 블록을 생성하는 단계는,
    상기 스캔 순서에서 상기 0이 아닌 마지막 계수보다 선행하는 위치의 계수가 0인지 여부를 나타내는 값을 상기 비트스트림으로부터 추출하는 단계;
    상기 추출된 값이 제1값이면, 상기 비트스트림으로부터 해당 위치의 계수를 유도하는 단계; 및
    상기 추출된 값이 제2값이면, 상기 해당 위치의 계수를 0으로 설정하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
KR1020150029249A 2015-03-02 2015-03-02 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 KR101534033B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150029249A KR101534033B1 (ko) 2015-03-02 2015-03-02 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150029249A KR101534033B1 (ko) 2015-03-02 2015-03-02 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140141176A Division KR101543304B1 (ko) 2014-10-17 2014-10-17 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150032277A KR20150032277A (ko) 2015-03-25
KR101534033B1 true KR101534033B1 (ko) 2015-07-10

Family

ID=53025519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150029249A KR101534033B1 (ko) 2015-03-02 2015-03-02 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101534033B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3038196A1 (fr) * 2015-06-29 2016-12-30 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
CN112840655B (zh) * 2018-10-08 2023-12-01 寰发股份有限公司 图像与视频编解码中最后有效系数的编解码方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009170992A (ja) * 2008-01-11 2009-07-30 Sony Corp 画像処理装置およびその方法、並びにプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009170992A (ja) * 2008-01-11 2009-07-30 Sony Corp 画像処理装置およびその方法、並びにプログラム

Also Published As

Publication number Publication date
KR20150032277A (ko) 2015-03-25

Similar Documents

Publication Publication Date Title
KR101483179B1 (ko) 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR102462009B1 (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR101997604B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101943049B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101673028B1 (ko) 영상 부호화/복호화 장치 및 방법
KR101955374B1 (ko) 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치
US11997268B2 (en) Method and device for subband coding frequency conversion unit, and method and device for image encoding/decoding using same
KR20100035104A (ko) 임펄스 신호를 고려한 영상 부호화/복호화 장치 및 방법
KR101943058B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101534033B1 (ko) 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101997599B1 (ko) 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치
KR101525202B1 (ko) 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101543304B1 (ko) 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101494322B1 (ko) 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101453750B1 (ko) 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101943425B1 (ko) 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치
KR101369161B1 (ko) 예측 방향 전환 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR20160083832A (ko) 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
KR20180090975A (ko) 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 5