KR20110065092A - 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치 - Google Patents

회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치 Download PDF

Info

Publication number
KR20110065092A
KR20110065092A KR1020090121937A KR20090121937A KR20110065092A KR 20110065092 A KR20110065092 A KR 20110065092A KR 1020090121937 A KR1020090121937 A KR 1020090121937A KR 20090121937 A KR20090121937 A KR 20090121937A KR 20110065092 A KR20110065092 A KR 20110065092A
Authority
KR
South Korea
Prior art keywords
coefficient matrix
frequency coefficient
matrix
angle parameter
parameter
Prior art date
Application number
KR1020090121937A
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 KR1020090121937A priority Critical patent/KR20110065092A/ko
Priority to EP10836220.3A priority patent/EP2510691A4/en
Priority to CN2010800634990A priority patent/CN102754438A/zh
Priority to PCT/KR2010/008818 priority patent/WO2011071325A2/en
Priority to US12/964,114 priority patent/US8494296B2/en
Publication of KR20110065092A publication Critical patent/KR20110065092A/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Abstract

픽셀 도메인의 블록을 주파수 도메인으로 변환하여 생성된 제1 주파수 계수 매트릭스에 대해 행들 사이 및 열들 사이 중 적어도 하나의 부분적인 교환을 수행하고, 교환 결과 생성된 제2 주파수 계수 매트릭스를 부호화하는 영상 부호화, 복호화 방법 및 장치가 개시된다.
회전, 교환, 변환, 계수

Description

회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치{Method and apparatus for encoding and decoding image by using rotational transform}
본 발명은 영상 부호화, 복호화 방법 및 장치에 관한 것으로, 보다 상세히는 픽셀 도메인의 영상을 주파수 도메인으로 변환하여 생성된 계수들을 부호화, 복호화하는 방법 및 장치에 관한 것이다.
대부분의 영상 부호화, 복호화 방법 및 장치는 영상 압축을 위해 픽셀 도메인의 영상을 주파수 도메인으로 변환하여 부호화한다. 이산 코사인 변환은 영상 또는 음성 압축에 사용되는 널리 알려진 기술이다. 최근 몇 년간 더 효율적인 코딩 방식을 찾기 위한 많은 시도들이 있었다. 오디오 코딩에서는, 파라메트릭 코딩이 DCT보다 더 나은 결과를 보여주고 있고, 2차원(2D) 데이터에 대하여는, KLT(Karhunen Loeve Transform) 계수들이 최소 비트 크기를 가지지만, 오버헤드 정보의 크기가 매우 커진다는 문제점이 있다.
본 발명이 해결하고자 하는 기술적 과제는 영상을 부호화, 복호화 하는 방법 및 장치를 제공하는데 있고, 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 영상 부호화 방법은 현재 블록을 이산 코사인 변환하여 제1 주파수 계수 매트릭스를 생성하는 단계; 상기 현재 블록이 인트라 예측된 블록인지 여부에 기초해 앵글 파라미터를 결정하는 단계; 상기 결정된 앵글 파라미터에 기초해 상기 제1 주파수 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환을 수행하여 제2 주파수 계수 매트릭스를 생성하는 단계; 상기 제2 주파수 계수 매트릭스를 양자화하는 단계; 및 상기 앵글 파라미터에 대한 정보 및 상기 제2 주파수 계수 매트릭스를 엔트로피 부호화하는 단계를 포함하고, 상기 앵글 파라미터는 상기 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터인 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 앵글 파라미터를 결정하는 단계는 상기 현재 블록의 인트라 예측 방향에 기초해 앵글 파라미터를 결정하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 앵글 파라미터를 결정하는 단계는 상기 현재 블록의 인트라 예측 방향에 기초해 복수의 매트릭스 중 상기 행들 사이의 부분적인 교환을 수행하기 위한 제1 매트릭스 및 상기 열들 사이의 부분적인 교환을 수행하기 위한 제2 매트릭스를 선택하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 제2 주파수 계수 매트릭스를 생성하는 단계는 상기 제1 주파수 계수 매트릭스의 좌측에 상기 선택된 제1 매트릭스를 곱하고, 상기 제1 주파수 계수 매트릭스의 우측에 상기 선택된 제2 매트릭스를 곱하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 앵글 파라미터는 오일러 앵글에 대한 파라미터인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 영상 복호화 방법은 소정의 앵글 파라미터에 대한 정보 및 제2 주파수 계수 매트릭스를 엔트로피 복호화하는 단계; 상기 엔트로피 복호화된 앵글 파라미터에 대한 정보 및 현재 블록이 인트라 예측된 블록인지 여부에 기초해 상기 앵글 파라미터를 결정하는 단계; 상기 엔트로피 복호화된 제2 주파수 계수 매트릭스를 역양자화하는 단계; 상기 결정된 앵글 파라미터에 기초해 상기 제2 주파수 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환을 수행하여 제1 주파수 계수 매트릭스를 생성하는 단계; 및 상기 제1 주파수 계수 매트릭스를 역이산 코사인 변환하여 상기 현재 블록을 복원하는 단계를 포함하고, 상기 앵글 파라미터는 상기 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 영상 부호화 장치는 현재 블록을 이산 코사인 변환하여 제1 주파수 계수 매트릭스를 생성하고, 상기 현재 블록이 인트라 예측된 블록인지 여부에 기초해 결정된 앵글 파라미터에 기초해 상기 제1 주파수 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환 을 수행하여 제2 주파수 계수 매트릭스를 생성하는 주파수변환부; 상기 제2 주파수 계수 매트릭스를 양자화하는 양자화부; 및 상기 앵글 파라미터에 대한 정보 및 상기 제2 주파수 계수 매트릭스를 엔트로피 부호화하는 엔트로피부호화부를 포함하고, 상기 앵글 파라미터는 상기 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 영상 복호화 장치는 소정의 앵글 파라미터에 대한 정보 및 제2 주파수 계수 매트릭스를 엔트로피 복호화하는 엔트로피복호화부; 상기 엔트로피 복호화된 제2 주파수 계수 매트릭스를 역양자화하는 역양자화부; 및 상기 엔트로피 복호화된 앵글 파라미터에 대한 정보 및 현재 블록이 인트라 예측된 블록인지 여부에 기초해 결정된 앵글 파라미터에 기초해 상기 제2 주파수 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환을 수행하여 제1 주파수 계수 매트릭스를 생성하고, 상기 제1 주파수 계수 매트릭스를 역이산 코사인 변환하여 소정의 블록을 복원하는 역주파수변환부를 포함하고, 상기 앵글 파라미터는 상기 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위해 본 발명은 상기 영상 부호화 방법 및 영상 복호화 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한 다.
도 1 은 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 최대 부호화 단위 분할부(110), 부호화 심도 결정부(120), 영상 데이터 부호화부(130) 및 부호화 정보 부호화부(140)를 포함한다.
최대 부호화 단위 분할부(110)는 최대 크기의 부호화 단위인 최대 부호화 단위에 기반하여 현재 프레임 또는 현재 슬라이스를 분할할 수 있다. 현재 프레임 또는 현재 슬라이스를 적어도 하나의 최대 부호화 단위로 분할할 수 있다.
본 발명의 일 실시예에 따르면, 최대 부호화 단위 및 심도를 이용해 부호화 단위가 표현될 수 있다. 전술한 바와 같이 최대 부호화 단위는 현재 프레임의 부호화 단위 중 크기가 가장 큰 부호화 단위를 나타내며, 심도는 부호화 단위가 계층적으로 축소된 정도를 나타낸다. 심도가 커지면서, 부호화 단위는 최대 부호화 단위로부터 최소 부호화 단위까지 축소될 수 있으며, 최대 부호화 단위의 심도는 최소 심도로 정의되고, 최소 부호화 단위의 심도는 최대 심도로 정의될 수 있다. 최대 부호화 단위는 심도가 커짐에 따라 심도별 부호화 단위의 크기는 감소하므로, k 심도의 서브 부호화 단위는 k보다 큰 심도의 복수 개의 서브 부호화 단위를 포함할 수 있다.
부호화되는 프레임의 크기가 커짐에 따라, 더 큰 단위로 영상을 부호화하면 더 높은 영상 압축률로 영상을 부호화할 수 있다. 그러나, 부호화 단위를 크게 하고, 그 크기를 고정시켜버리면, 계속해서 변하는 영상의 특성을 반영하여 효율적으 로 영상을 부호화할 수 없다.
예를 들어, 바다 또는 하늘에 대한 평탄한 영역을 부호화할 때에는 부호화 단위를 크게 할수록 압축률이 향상될 수 있으나, 사람들 또는 빌딩에 대한 복잡한 영역을 부호화할 때에는 부호화 단위를 작게 할수록 압축률이 향상된다.
이를 위해 본 발명의 일 실시예는 프레임 또는 슬라이스마다 상이한 크기의 최대 영상 부호화 단위를 설정하고, 최대 심도를 설정한다. 최대 심도는 부호화 단위가 축소될 수 있는 최대 횟수를 의미하므로, 최대 심도에 따라 최대 영상 부호화 단위에 포함된 최소 부호화 단위 크기를 가변적으로 설정할 수 있게 된다. 최대 심도는 프레임 또는 슬라이스마다 상이하게 결정되거나, 각각의 최대 부호화 단위마다 상이하게 결정될 수도 있다.
부호화 심도 결정부(120)는 최대 영상 부호화 단위의 분할 형태를 결정한다. 분할 형태는 R-D 코스트(Rate-Distortion Cost) 계산에 기초해 결정될 수 있다. 결정된 최대 영상 부호화 단위의 분할 형태는 부호화 정보 부호화부(140)로 출력되고, 최대 부호화 단위별 영상 데이터는 영상 데이터 부호화부(130)로 출력된다.
최대 부호화 단위는 상이한 심도에 따라 상이한 크기의 서브 부호화 단위로 분할될 수 있고, 최대 부호화 단위에 포함된 상이한 크기의 서브 부호화 단위들은 상이한 크기의 처리 단위에 기초해 예측 또는 주파수 변환될 수 있다. 다시 말해, 영상 부호화 장치(100)는 영상 부호화를 위한 복수의 처리 단계들을 다양한 크기 및 다양한 형태의 처리 단위에 기초해 수행할 수 있다. 영상 데이터의 부호화를 위해서는 예측, 주파수 변환, 엔트로피 부호화 등의 처리 단계를 거치는데, 모든 단 계에 걸쳐서 동일한 크기의 처리 단위가 이용될 수도 있으며, 단계별로 상이한 크기의 처리 단위를 이용할 수 있다.
예를 들어, 영상 부호화 장치(100)는 소정의 부호화 단위를 예측하기 위해, 부호화 단위와 다른 처리 단위를 선택할 수 있다.
부호화 단위의 크기가 2Nx2N(단, N은 양의 정수)인 경우, 예측을 위한 처리 단위는 2Nx2N, 2NxN, Nx2N, NxN 등일 수 있다. 다시 말해, 부호화 단위의 높이 또는 너비 중 적어도 하나를 반분하는 형태의 처리 단위를 기반으로 움직임 예측이 수행될 수도 있다. 이하, 예측의 기초가 되는 처리 단위는 '예측 단위'라 한다.
예측 모드는 인트라 모드, 인터 모드 및 스킵 모드 중 적어도 하나일 수 있으며, 특정 예측 모드는 특정 크기 또는 형태의 예측 단위에 대해서만 수행될 수 있다. 예를 들어, 인트라 모드는 정방형인 2Nx2N, NxN 크기의 예측 단위에 대해서만 수행될 수 있다. 또한, 스킵 모드는 2Nx2N 크기의 예측 단위에 대해서만 수행될 수 있다. 부호화 단위 내부에 복수의 예측 단위가 있다면, 각각의 예측 단위에 대해 예측을 수행하여 부호화 오차가 가장 작은 예측 모드가 선택될 수 있다.
또한, 영상 부호화 장치(100)는 부호화 단위와 다른 크기의 처리 단위에 기초해 영상 데이터를 주파수 변환할 수 있다. 부호화 단위의 주파수 변환을 위해서 부호화 단위보다 작거나 같은 크기의 데이터 단위를 기반으로 주파수 변환이 수행될 수 있다. 이하, 주파수 변환의 기초가 되는 처리 단위를 '변환 단위'라 한다.
부호화 심도 결정부(120)는 라그랑지 곱(Lagrangian Multiplier) 기반의 율-왜곡 최적화 기법(Rate-Distortion Optimization)을 이용해 최대 부호화 단위에 포 함된 서브 부호화 단위들을 결정할 수 있다. 다시 말해, 최대 부호화 단위가 어떠한 형태의 복수의 서브 부호화 단위로 분할되는지 결정할 수 있는데, 여기서 복수의 서브 부호화 단위는 심도에 따라 크기가 상이하다. 그런 다음, 영상 데이터 부호화부(130)는 부호화 심도 결정부(120)에서 결정된 분할 형태에 기초해 최대 부호화 단위를 부호화하여 비트스트림을 출력한다.
부호화 정보 부호화부(140)는 부호화 심도 결정부(120)에서 결정된 최대 부호화 단위의 부호화 모드에 대한 정보를 부호화한다. 최대 부호화 단위의 분할 형태에 대한 정보, 최대 심도에 대한 정보 및 심도별 서브 부호화 단위의 부호화 모드에 대한 정보를 부호화하여 비트스트림을 출력한다. 서브 부호화 단위의 부호화 모드에 대한 정보는 서브 부호화 단위의 예측 단위에 대한 정보, 예측 단위별 예측 모드 정보, 서브 부호화 단위의 변환 단위에 대한 정보 등을 포함할 수 있다.
최대 부호화 단위의 분할 형태에 대한 정보는 각각의 부호화 단위에 대해 분할 여부를 나타내는 정보일 수 있다. 예를 들어, 최대 부호화 단위를 분할하여 부호화하는 경우, 최대 부호화 단위에 대해 분할 여부를 나타내는 정보를 부호화하고, 최대 부호화 단위를 분할하여 생성된 서브 부호화 단위를 다시 분할하여 부호화하는 경우에도, 각각의 서브 부호화 단위에 대해서 분할 여부를 나타내는 정보를 부호화한다. 분할 여부를 나타내는 정보는 분할 여부를 나타내는 플래그 정보일 수 있다.
최대 부호화 단위마다 상이한 크기의 서브 부호화 단위가 존재하고, 각각의 서브 부호화 단위마다 부호화 모드에 관한 정보가 결정되어야 하므로, 하나의 최대 부호화 단위에 대해서는 적어도 하나의 부호화 모드에 관한 정보가 결정될 수 있다.
영상 부호화 장치(100)는 심도가 커짐에 따라 최대 부호화 단위를 높이 및 너비를 반분하여 서브 부호화 단위를 생성할 수 있다. 즉, k 심도의 부호화 단위의 크기가 2Nx2N이라면, k+1 심도의 부호화 단위의 크기는 NxN 이다.
따라서, 일 실시예에 따른 영상 부호화 장치(100)는 영상의 특성을 고려한 최대 부호화 단위의 크기 및 최대 심도를 기반으로, 각각의 최대 부호화 단위마다 최적의 분할 형태를 결정할 수 있다. 영상 특성을 고려하여 가변적으로 최대 부호화 단위의 크기를 조절하고, 상이한 심도의 서브 부호화 단위로 최대 부호화 단위를 분할하여 영상을 부호화함으로써, 다양한 해상도의 영상을 보다 효율적으로 부호화할 수 있다.
도 2 는 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 영상 복호화 장치(200)는 영상 데이터 획득부(210), 부호화 정보 추출부(220) 및 영상 데이터 복호화부(230)를 포함한다.
영상 관련 데이터 획득부(210)는 영상 복호화 장치(200)가 수신한 비트스트림을 파싱하여, 최대 부호화 단위별로 영상 데이터를 획득하여 영상 데이터 복호화부(230)로 출력한다. 영상 데이터 획득부(210)는 현재 프레임 또는 슬라이스에 대한 헤더로부터 현재 프레임 또는 슬라이스의 최대 부호화 단위에 대한 정보를 추출할 수 있다. 다시 말해, 비트스트림을 최대 부호화 단위로 분할하여, 영상 데이터 복호화부(230)가 최대 부호화 단위마다 영상 데이터를 복호화하게 한다.
부호화 정보 추출부(220)는 영상 복호화 장치(200)가 수신한 비트열을 파싱하여, 현재 프레임에 대한 헤더로부터 최대 부호화 단위, 최대 심도, 최대 부호화 단위의 분할 형태, 서브 부호화 단위의 부호화 모드에 관한 정보를 추출한다. 분할 형태 및 부호화 모드에 관한 정보는 영상 데이터 복호화부(230)로 출력된다.
최대 부호화 단위의 분할 형태에 대한 정보는 최대 부호화 단위에 포함된 심도에 따라 상이한 크기의 서브 부호화 단위에 대한 정보를 포함할 수 있다. 분할 형태에 대한 정보는 각각의 부호화 단위에 대해 부호화된 분할 여부를 나타내는 정보(예를 들어, 플래그 정보)일 수 있다.
부호화 모드에 관한 정보는 서브 부호화 단위별 예측 단위에 대한 정보, 예측 모드에 대한 정보 및 변환 단위에 대한 정보 등을 포함할 수 있다.
영상 데이터 복호화부(230)는 부호화 정보 추출부에서 추출된 정보에 기초하여 각각의 최대 부호화 단위의 영상 데이터를 복호화하여 현재 프레임을 복원한다.
최대 부호화 단위의 분할 형태에 대한 정보에 기초하여, 영상 데이터 복호화부(230)는 최대 부호화 단위에 포함된 서브 부호화 단위를 복호화할 수 있다. 복호화 과정은 인트라 예측 및 움직임 보상을 포함하는 움직임 예측 과정, 및 주파수 역변환 과정을 포함할 수 있다.
영상 데이터 복호화부(230)는, 서브 부호화 단위의 예측을 위해, 서브 부호화 단위별 예측 단위에 대한 정보 및 예측 모드에 대한 정보에 기초해 인트라 예측 또는 인터 예측을 수행할 수 있다. 또한, 영상 데이터 복호화부(230)는, 서브 부 호화 단위의 변환 단위에 대한 정보에 기초해 서브 부호화 단위마다 주파수 역변환을 수행할 수 있다.
도 3 은 본 발명의 일 실시예에 따른 계층적 부호화 단위를 도시한다.
도 3을 참조하면, 본 발명에 따른 계층적 부호화 단위는 너비x높이가 64x64인 부호화 단위부터, 32x32, 16x16, 8x8, 및 4x4를 포함할 수 있다. 정사각형 형태의 부호화 단위 이외에도, 너비x높이가 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4, 4x8인 부호화 단위들이 존재할 수 있다.
도 3을 참조하면, 해상도가 1920x1080인 영상 데이터(310)에 대해서, 최대 부호화 단위의 크기는 64x64, 최대 심도가 2로 설정되어 있다.
또 다른 해상도가 1920x1080인 영상 데이터(320)에 대해서 최대 부호화 단위의 크기는 64x64, 최대 심도가 4로 설정되어 있다. 해상도가 352x288인 비디오 데이터(330)에 대해서 최대 부호화 단위의 크기는 16x16, 최대 심도가 2로 설정되어 있다.
해상도가 높거나 데이터량이 많은 경우 압축률 향상뿐만 아니라 영상 특성을 정확히 반영하기 위해 부호화 사이즈의 최대 크기가 상대적으로 큰 것이 바람직하다. 따라서, 영상 데이터(330)에 비해, 해상도가 높은 영상 데이터(310 및 320)는 최대 부호화 단위의 크기가 64x64로 선택될 수 있다.
최대 심도는 계층적 부호화 단위에서 총 계층수를 나타낸다. 영상 데이터(310)의 최대 심도는 2이므로, 영상 데이터(310)의 부호화 단위(315)는 장축 크기가 64인 최대 부호화 단위로부터, 심도가 증가함에 따라 장축 크기가 32, 16인 서브 부호화 단위들까지 포함할 수 있다.
반면, 영상 데이터(330)의 최대 심도는 2이므로, 영상 데이터(330)의 부호화 단위(335)는 장축 크기가 16인 최대 부호화 단위들로부터, 심도가 증가함에 따라 장축 크기가 8, 4인 부호화 단위들까지 포함할 수 있다.
영상 데이터(320)의 최대 심도는 4이므로, 비디오 데이터(320)의 부호화 단위(325)는 장축 크기가 64인 최대 부호화 단위로부터, 심도가 증가함에 따라 장축 크기가 32, 16, 8, 4인 서브 부호화 단위들까지 포함할 수 있다. 심도가 증가할수록 더 작은 서브 부호화 단위에 기초해 영상을 부호화하므로 보다 세밀한 장면을 포함하고 있는 영상을 부호화하는데 적합해진다.
도 4 는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 부호화부를 도시한다.
인트라 예측부(410)는 현재 프레임(405) 중 인트라 모드의 예측 단위에 대해 인트라 예측을 수행하고, 움직임 추정부(420) 및 움직임 보상부(425)는 인터 모드의 예측 단위에 대해 현재 프레임(405) 및 참조 프레임(495)을 이용해 인터 예측 및 움직임 보상을 수행한다.
인트라 예측부(410), 움직임 추정부(420) 및 움직임 보상부(425)로부터 출력된 예측 단위에 기초해 레지듀얼 값들이 생성되고, 생성된 레지듀얼 값들은 주파수 변환부(430) 및 양자화부(440)를 거쳐 양자화된 변환 계수로 출력된다.
양자화된 변환 계수는 역양자화부(460), 주파수 역변환부(470)를 통해 다시 레지듀얼 값으로 복원되고, 복원된 레지듀얼 값들은 디블로킹부(480) 및 루프 필터 링부(490)를 거쳐 후처리되어 참조 프레임(495)으로 출력된다. 양자화된 변환 계수는 엔트로피 부호화부(450)를 거쳐 비트스트림(455)으로 출력될 수 있다.
본 발명의 일 실시예에 따른 영상 부호화 방법에 따라 부호화하기 위해, 영상 부호화부(400)의 구성 요소들인 인트라 예측부(410), 움직임 추정부(420), 움직임 보상부(425), 주파수 변환부(430), 양자화부(440), 엔트로피 부호화부(450), 역양자화부(460), 주파수 역변환부(470), 디블로킹부(480) 및 루프 필터링부(490)는 모두 최대 부호화 단위, 심도에 따른 서브 부호화 단위, 예측 단위 및 변환 단위에 기초해 영상 부호화 과정들을 처리한다.
도 5는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 복호화부를 도시한다.
비트스트림(505)이 파싱부(510)를 거쳐 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화 정보가 파싱된다. 부호화된 영상 데이터는 엔트로피 복호화부(520) 및 역양자화부(530)를 거쳐 역양자화된 데이터로 출력되고, 주파수 역변환부(540)를 거쳐 레지듀얼 값들로 복원된다. 레지듀얼 값들은 인트라 예측부(550)의 인트라 예측의 결과 또는 움직임 보상부(560)의 움직임 보상 결과와 가산되어 부호화 단위 별로 복원된다. 복원된 부호화 단위는 디블로킹부(570) 및 루프 필터링부(580)를 거쳐 다음 부호화 단위 또는 다음 프레임의 예측에 이용된다.
본 발명의 일 실시예에 따른 영상 복호화 방법에 따라 복호화하기 위해 영상 복호화부(400)의 구성 요소들인 파싱부(510), 엔트로피 복호화부(520), 역양자화 부(530), 주파수 역변환부(540), 인트라 예측부(550), 움직임 보상부(560), 디블로킹부(570) 및 루프 필터링부(580)가 모두 최대 부호화 단위, 심도에 따른 서브 부호화 단위, 예측 단위 및 변환 단위에 기초해 영상 복호화 과정들을 처리한다.
특히, 인트라 예측부(550), 움직임 보상부(560)는 최대 부호화 단위 및 심도를 고려하여 서브 부호화 단위 내의 예측 단위 및 예측 모드를 결정하며, 주파수 역변환부(540)는 변환 단위의 크기를 고려하여 주파수 역변환을 수행한다.
도 6은 본 발명의 일 실시예에 따른 최대 부호화 단위, 서브 부호화 단위 및 예측 단위를 도시한다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100) 및 영상 복호화 장치(200)는 영상 특성을 고려하여 부호화, 복호화를 수행하기 위해 계층적인 부호화 단위를 이용한다. 최대 부호화 단위 및 최대 심도는 영상의 특성에 따라 적응적으로 설정되거나, 사용자의 요구에 따라 다양하게 설정될 수 있다.
본 발명의 일 실시예에 따른 부호화 단위의 계층 구조(600)는 최대 부호화 단위(610)의 높이 및 너비가 64이며, 최대 심도가 4인 경우를 도시한다. 부호화 단위의 계층 구조(600)의 세로축을 따라서 심도가 증가하고, 심도의 증가에 따라 서브 부호화 단위(620 내지 650)의 높이 및 너비가 축소된다. 또한, 부호화 단위의 계층 구조(600)의 가로축을 따라, 최대 부호화 단위(610) 및 서브 부호화 단위(620 내지 650)의 예측 단위가 도시되어 있다.
최대 부호화 단위(610)는 심도가 0이며, 부호화 단위의 크기, 즉 높이 및 너비가 64x64이다. 세로축을 따라 심도가 증가하며, 크기 32x32인 심도 1의 서브 부 호화 단위(620), 크기 16x16인 심도 2의 서브 부호화 단위(630), 크기 8x8인 심도 3의 서브 부호화 단위(640), 크기 4x4인 심도 4의 서브 부호화 단위(650)가 존재한다. 크기 4x4인 심도 4의 서브 부호화 단위(650)는 최소 부호화 단위이다.
도 6을 참조하면, 각각의 심도별로 가로축을 따라 예측 단위의 예시들이 도시되어 있다. 즉, 심도 0의 최대 부호화 단위(610)의 예측 단위는, 크기 64x64의 부호화 단위(610)와 동일하거나 작은 크기인 크기 64x64의 예측 단위(610), 크기 64x32의 예측 단위(612), 크기 32x64의 예측 단위(614), 크기 32x32의 예측 단위(616)일 수 있다.
심도 1의 크기 32x32의 부호화 단위(620)의 예측 단위는, 크기 32x32의 부호화 단위(620)와 동일하거나 작은 크기인 크기 32x32의 예측 단위(620), 크기 32x16의 예측 단위(622), 크기 16x32의 예측 단위(624), 크기 16x16의 예측 단위(626)일 수 있다.
심도 2의 크기 16x16의 부호화 단위(630)의 예측 단위는, 크기 16x16의 부호화 단위(630)와 동일하거나 작은 크기인 크기 16x16의 예측 단위(630), 크기 16x8의 예측 단위(632), 크기 8x16의 예측 단위(634), 크기 8x8의 예측 단위(636)일 수 있다.
심도 3의 크기 8x8의 부호화 단위(640)의 예측 단위는, 크기 8x8의 부호화 단위(640)와 동일하거나 작은 크기인 크기 8x8의 예측 단위(640), 크기 8x4의 예측 단위(642), 크기 4x8의 예측 단위(644), 크기 4x4의 예측 단위(646)일 수 있다.
마지막으로, 심도 4의 크기 4x4의 부호화 단위(650)는 최소 부호화 단위이며 최대 심도의 부호화 단위이고, 예측 단위는 크기 4x4의 예측 단위(650)이다.
도 7은 본 발명의 일 실시예에 따른, 부호화 단위 및 변환 단위를 도시한다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100) 및 영상 복호화 장치(200)는, 최대 부호화 단위 그대로 부호화하거나, 최대 부호화 단위 보다 작거나 같은 서브 부호화 단위로 최대 부호화 단위를 분할하여 부호화한다. 부호화 과정 중 주파수 변환을 위한 변환 단위의 크기는 각각의 부호화 단위보다 크지 않은 변환 단위로 선택된다. 예를 들어, 현재 부호화 단위(710)가 64x64 크기일 때, 32x32 크기의 변환 단위(720)를 이용하여 주파수 변환이 수행될 수 있다.
도 8a 및 8b는 본 발명의 일 실시예에 따른, 부호화 단위, 예측 단위 및 주파수 변환 단위의 분할 형태를 도시한다.
도 8a는 본 발명의 일 실시예에 따른 부호화 단위 및 예측 단위를 도시한다.
도 8a의 좌측은 최대 부호화 단위(810)를 부호화하기 위해 본 발명의 일 실시예에 따른 영상 부호화 장치(100)가 선택한 분할 형태를 도시한다. 영상 부호화 장치(100)는 다양한 형태로 최대 부호화 단위(810)를 분할하고, 부호화한 다음 다양한 분할 형태의 부호화 결과를 R-D 코스트에 기초해 비교하여 최적의 분할 형태를 선택한다. 최대 부호화 단위(810)를 그대로 부호화하는 것이 최적일 경우에는 도 8a 및 8b와 같이 최대 부호화 단위(810)를 분할하지 않고 최대 부호화 단위(800)를 부호화할 수도 있다.
도 8a의 좌측을 참조하면, 심도 0인 최대 부호화 단위(810)를 심도 1 이상의 서브 부호화 단위로 분할하여 부호화한다. 최대 부호화 단위(810)를 네 개의 심도 1의 서브 부호화 단위로 분할한 다음, 전부 또는 일부의 심도 1의 서브 부호화 단위를 다시 심도 2의 서브 부호화 단위로 분할한다.
심도 1의 서브 부호화 단위 중 우측 상부에 외치한 서브 부호화 단위 및 좌측 하부에 위치한 서브 부호화 단위가 심도 2 이상의 서브 부호화 단위로 분할되었다. 심도 2 이상의 서브 부호화 단위 중 일부는 다시 심도 3 이상의 서브 부호화 단위로 분할될 수 있다.
도 8b의 우측은 최대 부호화 단위(810)에 대한 예측 단위의 분할 형태를 도시한다.
도 8a의 우측을 참조하면, 최대 부호화 단위에 대한 예측 단위(860)는 최대 부호화 단위(810)와 상이하게 분할될 수 있다. 다시 말해, 서브 부호화 단위들 각각에 대한 예측 단위는 서브 부호화 단위보다 작을 수 있다.
예를 들어, 심도 1의 서브 부호화 단위 중 우측 하부에 외치한 서브 부호화 단위(854)에 대한 예측 단위는 서브 부호화 단위(854)보다 작을 수 있다. 심도 2의 서브 부호화 단위들(814, 816, 818, 828, 850, 852) 중 일부 서브 부호화 단위(815, 816, 850, 852)에 대한 예측 단위는 서브 부호화 단위보다 작을 수 있다.
또한, 심도 3의 서브 부호화 단위(822, 832, 848)에 대한 예측 단위는 서브 부호화 단위보다 작을 수 있다. 예측 단위는 각각의 서브 부호화 단위를 높이 또는 너비 방향으로 반분한 형태일 수도 있고, 높이 및 너비 방향으로 4분한 형태일 수도 있다.
도 8b는 본 발명의 일 실시예에 따른 예측 단위 및 변환 단위를 도시한다.
도 8b의 좌측은 도 8a의 우측에 도시된 최대 부호화 단위(810)에 대한 예측 단위의 분할 형태를 도시하고, 도 8b의 우측은 최대 부호화 단위(810)의 변환 단위의 분할 형태를 도시한다.
도 8b의 우측을 참조하면, 변환 단위(870)의 분할 형태는 예측 단위(860)와 상이하게 설정될 수 있다.
예를 들어, 심도 1의 부호화 단위(854)에 대한 예측 단위가 높이를 반분한 형태로 선택되더라도, 변환 단위는 심도 1의 부호화 단위(854)의 크기와 동일한 크기로 선택될 수 있다. 마찬가지로, 심도 2의 부호화 단위(814, 850)에 대한 예측 단위가 심도 2의 부호화 단위(814, 850)의 높이를 반분한 형태로 선택되더라도 변환 단위는 심도 2의 부호화 단위(814, 850)의 원래 크기와 동일한 크기로 선택될 수 있다.
예측 단위보다 더 작은 크기로 변환 단위가 선택될 수도 있다. 예를 들어, 심도 2의 부호화 단위(852)에 대한 예측 단위가 너비를 반분한 형태로 선택된 경우에 변환 단위는 예측 단위보다 더 작은 크기인 높이 및 너비를 반분한 형태로 선택될 수 있다.
도 9는 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다.
도 9에 도시된 영상 부호화 장치(900)는 도 1의 영상 부호화 장치(100) 또는 도 4의 전술한 영상 부호화부(400)에 포함되어 후술하는 영상 부호화 과정들을 수행하는 모듈일 수 있다. 도 9를 참조하면, 본 발명의 일 실시예에 따른 영상 부호 화 장치(900)는 주파수변환부(910), 양자화부(920) 및 엔트로피부호화부(930)를 포함한다.
주파수변환부(910)는 현재 블록을 입력받아 주파수 도메인으로 변환한다. 주파수 도메인으로 변환은 이산 코사인 변환(Discrete Cosine Transform)일 수 있으며, 현재 블록은 레지듀얼 블록일 수 있다. 또한, 현재 블록은 도 7 또는 8b와 관련하여 전술한 변환 단위의 블록일 수 있다. 변환 결과 픽셀 도메인의 현재 블록은 주파수 도메인의 계수들로 변환된다. 픽셀 도메인의 현재 블록을 이산 코사인 변환하여 이산 코사인 계수들을 포함하는 매트릭스를 생성한다.
또한, 본 발명에 따른 주파수변환부(910)는 이산 코사인 계수 매트릭스의 행들 사이 및 열들 사이 중 적어도 하나를 부분적으로 교환하는 후처리를 수행하는 바, 도 10을 참조하여 상세히 설명한다.
도 10은 본 발명의 일 실시예에 따른 주파수변환부(910)를 도시한다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 주파수변환부(910)는 주파수변환수행부(1010), 앵글 파라미터 결정부(1020) 및 ROT수행부(1020)를 포함한다.
주파수변환수행부(1010)는 픽셀 도메인의 현재 블록을 변환하여 주파수 도메인의 제1 주파수 계수 매트릭스를 생성한다. 전술한 바와 같이 이산 코사인 변환을 수행하여 이산 코사인 계수들을 포함하는 제1 주파수 계수 매트릭스를 생성할 수 있다.
앵글 파라미터 결정부(1020)는 회전변환(Rotational Transform) 즉, 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 앵글 파라미터를 결정한다. 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 기초해 앵글 파라미터를 결정할 수 있다. 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 기초해 상이한 범위의 'ROT_index'에 대응되는 회전변환 매트릭스를 선택할 수 있다. 도 12a-12i를 참조하여 후술한다.
ROT수행부(1030)는 주파수변환수행부(1010)에서 생성된 제1 주파수 계수 매트릭스를 입력받아, 본 발명에 따른 회전변환을 수행하여 제2 주파수 계수 매트릭스를 생성한다. 제1 주파수 계수 매트릭스의 행들 사이 및 열들 사이 중 적어도 하나를 부분적으로 교환하여 제2 주파수 계수 매트릭스를 생성한다. 도 11a 및 11c를 참조하여 회전변환에 대해 상세히 설명한다.
도 11a 내지 11c는 본 발명의 일 실시예에 따른 회전변환을 도시한다.
도 11a 내지 11c는 제1 주파수 계수 매트릭스의 행들 사이 및 열들 사이의 교환에 대하여 설명한다. 본 발명에 따른 ROT수행부(1030)는 제1 주파수 계수 매트릭스의 행들 사이 및 열들 사이 중 적어도 하나의 부분적인 교환을 수행한다.
본 발명에서 행들 사이의 부분적인 교환 또는 열들 사이의 부분적인 교환이란, 특정 행 또는 열의 값들을 무조건 1:1로 교환하는 것이 아니라 삼각 함수와 같은 특정 함수를 이용해 두 행들 또는 열들 사이의 값을 부분적으로 교환하는 것을 의미한다.
예를 들어, 두 개의 행 A와 B의 교환은 파라미터 a의 값에 따라 다음 수학식 1과 같이 정의될 수 있다.
행 A(new) = cos(a) * 행 A(old) + sin(a) * 행 B(old)
행 B(new) = sin(a) * 행 A(old) + cos(a) * 행 B(old)
수학식 1을 참조하면, 파라미터 a는 각(angle)의 역할을 함을 알 수 있다. 수학식 1의 a는 앵글 파라미터의 예시일 뿐이며, 본 발명에서는 DCT 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터를 앵글 파라미터라고 정의할 수 있다.
파라미터 a의 값이 0도인 경우, 교환이 일어나지 않는 경우를 의미한다. 또한, 파라미터 a의 값이 90도인 경우, 행들 사이의 전부 교환이 일어나는 경우를 의미한다.
또한, 파라미터 a의 값이 90도보다 크고 180도보다 작은 값을 가지는 경우, 행들 사이의 교환과 함께 엘레먼트 값의 부호(sign)가 변경되는 경우를 나타낸다. 파라미터 a의 값이 180도인 경우, 행들 사이의 교환이 일어나지는 않지만 각각의 행에 포함된 엘레먼트들의 부호가 모두 변경된다. 본 발명에 따른 열들 사이의 부분적인 교환도 상기 행들 사이의 부분적인 교환과 동일한 방식으로 정의될 수 있다.
도 11a는 4x4 주파수 계수 매트릭스를 회전변환하는 경우를 도시한다. 도 11a를 참조하면, 제1 주파수 계수 매트릭스의 행들 사이의 부분적인 교환에 세 개의 앵글 파라미터
Figure 112009076109523-PAT00001
,
Figure 112009076109523-PAT00002
,
Figure 112009076109523-PAT00003
가 사용되며, 열들 사이의 부분적인 교환에 세 개의 앵글 파라미터
Figure 112009076109523-PAT00004
,
Figure 112009076109523-PAT00005
,
Figure 112009076109523-PAT00006
이 사용된다.
또한, 도 11b는 8x8 주파수 계수 매트릭스를 회전변환하는 경우를 도시한다. 도 2의 경우에는,
Figure 112009076109523-PAT00007
,
Figure 112009076109523-PAT00008
,
Figure 112009076109523-PAT00009
,
Figure 112009076109523-PAT00010
,
Figure 112009076109523-PAT00011
,
Figure 112009076109523-PAT00012
이 행들 사이의 부분적인 교환에 이용되고 있으며,
Figure 112009076109523-PAT00013
,
Figure 112009076109523-PAT00014
,
Figure 112009076109523-PAT00015
,
Figure 112009076109523-PAT00016
,
Figure 112009076109523-PAT00017
,
Figure 112009076109523-PAT00018
가 열들 사이의 부분적인 교환에 이용되고 있다.
도 11c는 16x16 이상 크기의 주파수 계수 매트릭스를 회전변환하는 경우를 도시한다.
도 11a, 11b와 관련하여 전술한 바와 같이 제1 주파수 계수 매트릭스의 크기가 커질 수록 앵글 파라미터의 개수는 증가한다. 도 11a의 4x4 제1 주파수 계수 매트릭스를 회전변환하기 위해서는 6개의 앵글 파라미터가 필요하며, 도 11b의 8x8 제1 주파수 계수 매트릭스를 회전변환하기 위해서는 모두 12개의 앵글 파라미터가 필요하다.
제1 주파수 계수 매트릭스를 회전변환하여 제2 주파수 계수 매트릭스를 생성하여 양자화, 엔트로피 부호화함으로써 압축률을 향상시키더라도, 앵글 파라미터의 개수가 증가하여 오버헤드가 증가한다면 전체 데이터량은 줄지 않는다. 따라서, 1소정 크기, 예를 들어, 16x16 이상 크기의 제1 주파수 계수 매트릭스를 회전변환할 때에는 계수 샘플링(sampling)을 이용한다.
다시 말해, ROT 수행부(920)는 도 11c에 도시된 바와 같이 제1 주파수 계수 매트릭스(1110)의 일부 계수들만 포함하는 샘플링된 주파수 계수 매트릭스(1120)를 선택한 다음, 선택된 주파수 계수 매트릭스(1120)에 대해 회전변환을 수행한다. 제1 주파수 계수 매트릭스(1110)의 나머지 부분(1130)에 대해서는 회전변환을 수행하지 않는다.
큰 크기의 주파수 계수 매트릭스에 대해서도 회전변환의 효과가 온전히 발생하기 위해서는 선택된 주파수 계수 매트릭스(1120)에 포함된 계수들은 영상 데이터의 압축에 영향을 미치는 계수들이어야 한다. 따라서, ROT 수행부(920)는 '0'이 아닌 값을 가질 확률이 높은 낮은 주파수 성분에 대한 계수들만 선택하여 회전변환을 수행한다.
이산 코사인 변환과 같은 일반적인 주파수 계수 매트릭스에서는 매트릭스의 좌측 상부에 낮은 주파수 성분에 대한 계수들이 포함되어 있으므로, ROT수행부(920)는 도 11c에 도시된 바와 같이 제1 주파수 계수 매트릭스(1110)의 좌측 상부에 위치한 계수들만을 선택하여 회전변환을 수행한다. 도 11c에 도시된 실시예에서는 ROT 수행부(920)에서 8x8 크기의 주파수 계수 매트릭스(1120)를 도 11b에 도시된 회전변환과 동일한 방법으로 회전변환한다.
도 11a 내지 11c와 관련하여 전술한 바와 같이 제1 주파수 계수 매트릭스의 행들 사이 및 열들 사이 중 적어도 하나의 부분적인 교환은 앵글 파라미터에 기초해 수행된다. 그런데, 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 따라 특정 앵글 파라미터가 보다 더 높은 압축율을 나타내는 것이 실험에 의해 증명되어 있다. 현재 블록이 인트라 예측에 따라 예측된 경우와 인터 예측에 따라 예측된 경우 서로 상이한 앵글 파라미터를 적용하면 회전변환의 효율을 보다 높일 수 있으며, 인트라 예측에 따라 예측된 경우에도 인트라 예측 방향에 따라 서 로 상이한 앵글 파라미터를 적용하면 회전변환의 효율을 보다 높일 수 있다.
따라서, ROT 수행부(920)는 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 기초해 서로 상이한 회전변환 매트릭스를 수학식 3과 같이 곱하여 제1 주파수 계수 매트릭스를 회전변환할 수 있다. 역ROT 수행부(1720)와 관련하여 상세히 후술한다.
다시 도 11a에 도시된 4x4 주파수 계수 매트릭스의 회전변환을 살펴보면, 앵글 파라미터
Figure 112009076109523-PAT00019
,
Figure 112009076109523-PAT00020
,
Figure 112009076109523-PAT00021
의 적용 순서에 따라 서로 다른 결과가 도출된다. 즉 세 앵글 파라미터들은 서로 독립적인 것이 아니다. 앵글 파라미터
Figure 112009076109523-PAT00022
을 먼저 적용하고 앵글 파라미터
Figure 112009076109523-PAT00023
를 적용한 경우와 앵글 파라미터
Figure 112009076109523-PAT00024
을 먼저 적용하고 앵글 파라미터
Figure 112009076109523-PAT00025
를 적용하는 경우에 교환 결과 생성되는 제2 주파수 계수 매트릭스는 상이하다. 이에 대해 도 14를 참조하여 상세히 설명한다.
도 14는 본 발명의 일 실시예에 따른 오일러 앵글을 도시한다.
도 14를 참조하면, 본 발명에 따른 매트릭스의 행들 사이 또는 열들 사이의 교환은 3차원 상의 좌표축의 회전과 유사함을 알 수 있다. 즉, 3개의 행들 또는 열들이 각각 3차원 좌표 상의 X, Y, Z 축에 대응한다.
3차원 상의 좌표축의 회전에 있어서도, 어느 축을 먼저 회전하는가에 따라 결과가 달라진다. 따라서, 3차원 상의 좌표축의 회전을 나타내는 방식에 대하여 많은 시도가 있었으며, 그 중 대표적인 것이 오일러의 앵글(Euler Angles)이다.
도 14에서
Figure 112009076109523-PAT00026
,
Figure 112009076109523-PAT00027
,
Figure 112009076109523-PAT00028
의 세 각(angle)은 오일러의 앵글을 나타내고 있다. 도 14에서 X, Y, Z 축은 회전 전의 좌표축들을 나타내고, X', Y', Z'축은 회전 후의 좌표축들을 나타낸다. N축은 XY 평면과 X'Y' 평면의 교선(intersection)이다. N축을 line of nodes라고 부른다.
Figure 112009076109523-PAT00029
는 Z축을 회전축으로 하는 X축과 N축 사이의 각도이다. 각
Figure 112009076109523-PAT00030
는 N축을 회전축으로 하는 Z축과 Z'축 사이의 각도이다. 각
Figure 112009076109523-PAT00031
는 Z'축을 회전축으로 하는 N축과 X'축 사이의 각도이다.
오일러 앵글을 적용한 좌표축의 회전을 매트릭스 형태로 나타내면 다음 수학식 2와 같다.
Figure 112009076109523-PAT00032
Figure 112009076109523-PAT00033
Figure 112009076109523-PAT00034
첫번째 매트릭스는 Z'축을 회전축으로 하는 회전(rotation around Z')을 나타낸다. 두번째 매트릭스는 N축을 회전축으로 하는 회전(rotation around N)을 나타낸다. 세번째 매트릭스는 Z축을 회전축으로 하는 회전(rotation around Z)을 나타낸다.
본 발명에서는 매트릭스의 행들 사이와 열들 사이의 교환을 오일러의 앵글을 사용하는 좌표축의 회전으로 나타내는 것이 바람직하다.
다시 도 9 및 10을 참조하면, 주파수변환부(910)의 ROT수행부(1030)에서 제1 주파수 계수 매트릭스를 회전변환하여 생성된 제2 주파수 계수 매트릭스는 양자화부(920)에 입력된다.
양자화부(920)는 제2 주파수 계수 매트릭스에 포함된 계수들을 소정의 양자화 스텝에 따라 양자화하고, 엔트로피부호화부(930)는 양자화된 제2 주파수 계수 매트릭스는 엔트로피 부호화한다. 엔트로피 부호화는 CABAC(Context-Adaptive Binary Arithmetic Coding) 또는 CAVLC(Context-Adaptive Variable Length Coding)에 따라 수행된다. 제1 주파수 계수 매트릭스의 크기가 커서 일부의 계수만 포함하는 매트릭스(1120)에 대해서만 회전변환을 수행한 경우에는 회전변환된 일부의 계수를 포함하는 매트릭스(1120) 및 회전변환되지 않은 나머지 부분(1130)을 포함하는 전체 매트릭스(1110)를 양자화하고, 엔트로피 부호화한다.
또한, 엔트로피부호화부(930)는 주파수변환부(910)에서 회전변환에 이용된 앵글 파라미터에 대한 정보도 엔트로피 부호화한다. 도 12a 내지 12i와 관련하여 후술하는 바와 같이 현재 블록이 인트라 예측에 따라 예측되었는지 여부 및 인트라 예측 방향에 따라 서로 다른 범위의 'ROT_index'에 대응되는 회전변환 매트릭스를 이용해 현재 블록을 회전변환한다. 따라서, 앵글 파라미터에 대한 정보 즉, 어떤 회전변환 매트릭스를 이용해 현재 블록을 회전변환했는지 나타내는 정보를 엔트로피 부호화할 때에도 전체 범위의 'ROT_index'를 부호화할 필요가 없다.
도 12a 내지 12i에 도시된 실시예에서 제1 범위(예를 들어, 0~8 범위)의 'ROT_index'만 엔트로피 부호화할 수 있다. 복호화하는 측에서는 엔트로피 부호화된 'ROT_index'를 엔트로피 복호화하고, 현재 블록이 제1 방향으로 인트라 예측되었으면, 복호화된 'ROT_index'에 소정값(예를 들어, 9)을 더하여 제2 범위(예를 들어 9~17 범위)의 'ROT_index'에 대응되는 회전변환 매트릭스를 이용하여 현재 블록 을 역회전변환할 수 있기 때문이다. 마찬가지로, 현재 블록이 제2 방향으로 인트라 예측되었으면, 복호화된 'ROT_index'에 소정값(예를 들어, 18)을 더하여 제3 범위(예를 들어, 18~26 범위)의 'ROT_index'에 대응하는 회전변환 매트릭스를 이용하여 현재 블록을 역회전변환할 수 있다.
영상 부호화 장치(900)가 회전변환에 이용하는 앵글 파라미터의 후보들을 효율적으로 결정하는 방법은 다음과 같다.
영상 부호화 장치(900)가 압축을 효율적으로 수행하기 위한 최적의 앵글 파라미터를 찾는 것은 파라미터에 대한 강한 논-스무스 의존성(strongly non-smooth dependence on parameters)을 가지는 고전적인 멀티 파라미터 문제(multi parameter problem)이다. 이러한 문제를 해결하기 위하여 몬테 카를로 방법(Monte Carlo Method)이 사용된다. 몬테 카를로 방법에 있어서의 랜덤 포인트의 생성에는 레머의 난수 시퀀스(Lemer's random sequence number)가 이용될 수 있다. 레머의 시퀀스을 사용함에 의해 파라미터로 사용되는 앵글 파라미터 자체를 저장하거나 전송하는 대신, 시퀀스 번호를 나타내는 하나의 정수만을 저장하거나 전송할 수 있게 된다. 여기서, 시퀀스 번호는 전술한 'ROT_index'일 수 있다. 따라서, 회전변환에 이용된 앵글 파라미터를 디코더 측에 알리기 위하여 필요한 오버헤드가 감소된다.
즉, 최적의 앵글 파라미터 조합을 결정하기 위해 고려해야 하는 사항들은 다음과 같다.
1. DCT 변환 매트릭스의 가역 변환
2. 더 효율적인 코딩을 위한 에너지의 재배치
3. 레머의 수를 사용한 부가되는 정보의 최소화
다시, 도 11a 내지 11c를 참조하면, 제1 주파수 계수 매트릭스에서 회전에 의하여 수정되는 부분은 검은색으로, 수정되지 않는 부분은 흰색으로 나타내고 있다. 도 11a의 4x4 주파수 계수 매트릭스에서는 6개의 앵글 파라미터들이 행 사이와 열사이의 교환에 따른 15개의 계수들의 수정을 나타내고 있다. 도 11b의 8x8 주파수 계수 매트릭스에서는 12개의 앵글 파라미터들이 60개의 계수들의 수정에 관계된다.
도 11a를 참조하면, 행들 사이의 교환을 위해서 3개의 앵글 파라미터가 필요하며, 열들 사이의 교환을 위해서 다시 3개의 앵글 파라미터가 필요함을 알 수 있다. 따라서, 4x4 블록에 있어서는 6개의 앵글 파라미터들이 필요하다.
도 11b를 참조하면, 행들 사이의 교환을 위해서 12개의 앵글 파라미터들이 필요하고, 열들 사이의 교환을 위해서 12개의 앵글 파라미터들이 필요하다. 따라서, 8x8 블록에 있어서는 모두 12개의 앵글 파라미터들이 필요하다.
본 발명의 일 실시예에 따른 영상 부호화 장치(900)의 전술한 회전변환은 다음과 같은 단계들을 통해 수행될 수 있다.
1단계 - 직교 트랜스폼 패밀리 파라미터화 (Orthogonal transform family parameterization)
2단계 - 몬테 카를로 방법 (Monte Carlo method)
3단계 - 레머의 의사 난수 (Lemer's pseudo-random numbers)
4단계 - 최적화된 앵글 파라미터를 위한 변역의 로컬라이제이션 (Localization of diapason for optimal angle parameters)
5단계 - 준최적화된 베이시스 (Quasi-ptimal basis)
전술한 바와 같이 회전변환을 이용해 영상의 압축률을 향상시키더라도, 추가되는 파라미터의 수가 너무 많아진다면, 차라리 압축을 사용하지 않고 비디오 신호 자체를 전송하는 것이 나을 수도 있다. 예를 들어, 4x4 주파수 계수 매트릭스에서 이미지 신호를 압축하여 거의 0에 가까운 크기로 만들었다고 하더라도 16개의 추가적인 파라미터를 필요로 한다면, 회전변환을 수행할 필요가 없을 수도 있다. 왜냐하면 이것은 16개의 픽셀 값들을 그대로 디코더로 전송하는 것이 더 효율적일 수 있기 때문이다. 따라서, 영상 신호를 압축함과 동시에 추가되는 오버헤드를 최소화하는 것이 바람직함을 알 수 있다.
이를 위해, ROT 수행부(1020)는 다음과 같은 단계들을 오버헤드를 최소화하면서 최적의 앵글 파라미터를 찾아낸다.
<1단계 - 직교 변환 패밀리 파라미터화>
현재의 회전변환을 최적화하기 위하여 베이시스를 고유하게 기술하는 파라미터의 집합을 결정할 필요가 있다. 베이시스는 회전변환을 위한 매트릭스에 의해 표현된다.
베이시스 수정의 주된 방법으로서 베이시스 회전을 선택한다. 본 발명에서 베이시스의 회전은 앵글 파라미터를 사용하여 수행된다. 앵글 파라미터를 이용한 베이시스의 회전을 이용하는 것이 신규한 아이디어이다. 본 발명에서 상기 앵글 파라미터는 오일러의 앵글인 것이 바람직하다. 하지만, 매트릭스의 행들 사이 및 열들 사이 중 적어도 하나의 부분적인 교환의 정도를 나타내는 것이라면 어느 것이나 본 발명에 따른 앵글 파라미터가 될 수 있을 것이며, 따라서, 본 발명에 따른 앵글 파라미터는 오일러의 앵글에 한정되지 않는다. 이하에서는 오일러의 앵글을 사용한 실시예를 설명한다.
오일러의 앵글 회전은 제1 주파수 계수 매트릭스(D)의 좌측곱(Rhorizontal) 및 우측 곱(Rvertical)을 사용하여 다음 수학식 3과 같이 정의된다.
D' = Rhorizontal x D x Rvertical
(D'은 회전변환된 제2 주파수 계수 매트릭스이다.)
매트릭스 Rhorizontal은 제1 주파수 계수 매트릭스 D의 행들 사이의 교환을 수행한다. 매트릭스 Rvertical는 제1 주파수 계수 매트릭스 D의 열들 사이의 교환을 수행한다.
앵글 파라미터에 따라 회전변환 매트릭스가 결정되는 바, 4x4 블록에 있어서의 매트릭스 Rhorizontal의 일 예는 다음 수학식 4와 같다.
Figure 112009076109523-PAT00035
Rhorizontal = ,
A = cos
Figure 112009076109523-PAT00036
cos
Figure 112009076109523-PAT00037
- sin
Figure 112009076109523-PAT00038
cos
Figure 112009076109523-PAT00039
sin
Figure 112009076109523-PAT00040
,
B = -sin
Figure 112009076109523-PAT00041
cos
Figure 112009076109523-PAT00042
- cos
Figure 112009076109523-PAT00043
cos
Figure 112009076109523-PAT00044
sin ,
C = sin
Figure 112009076109523-PAT00046
sin
Figure 112009076109523-PAT00047
,
D = cos
Figure 112009076109523-PAT00048
sin
Figure 112009076109523-PAT00049
+ sin
Figure 112009076109523-PAT00050
cos
Figure 112009076109523-PAT00051
cos
Figure 112009076109523-PAT00052
,
E = -sin
Figure 112009076109523-PAT00053
sin
Figure 112009076109523-PAT00054
+ cos
Figure 112009076109523-PAT00055
cos
Figure 112009076109523-PAT00056
cos
Figure 112009076109523-PAT00057
,
F = -sin
Figure 112009076109523-PAT00058
cos
Figure 112009076109523-PAT00059
,
G = sin
Figure 112009076109523-PAT00060
sin
Figure 112009076109523-PAT00061
,
H = cos
Figure 112009076109523-PAT00062
sin
Figure 112009076109523-PAT00063
,
I = cos
Figure 112009076109523-PAT00064
상기 수학식 4에서
Figure 112009076109523-PAT00065
,
Figure 112009076109523-PAT00066
,
Figure 112009076109523-PAT00067
는 오일러 앵글이다.
따라서, 4x4 주파수 계수 매트릭스의 경우 오일러의 앵글들은 6개의 파라미터
Figure 112009076109523-PAT00068
,
Figure 112009076109523-PAT00069
, ... ,
Figure 112009076109523-PAT00070
의 집합에 의하여 15개의 주파수 계수들의 수정을 기술한다. 8x8 주파수 계수 매트릭스에 대하여는 12 개의 오일러 앵글들
Figure 112009076109523-PAT00071
,
Figure 112009076109523-PAT00072
, ... ,
Figure 112009076109523-PAT00073
이 60개의 주파수 계수들의 수정을 기술한다.
<2단계 - 몬테 카를로 방법 (Monte Carlo method)>
자유도가 6개의 앵글 파라미터(8x8 주파수 계수 매트릭스의 경우 12개의 앵글 파라미터)로 감소된 후, 우리는 최적화의 문제를 비트 절약의 관점에서 살펴볼 필요가 있다. 즉, 앵글 파라미터들의 집합을 선택하는 방법을 최적화하여야 한다.
이러한 최적화 문제에는 파라미터의 고차원 도메인(6 또는 12개의 앵글 파라 미터)이 사용된다는 점과 이미지의 압축이 사용된 파라미터들에 논-스무스(non-smooth)하게 의존한다는 점에 어려움이 있다. 이러한 문제들은 전통적으로 몬테 카를로 방법에 의하여 해결되었다.
몬테 카를로 방법의 핵심을 요약하면 다수의 시도를 행하는 것이다. 즉, 여러 포인트들에서의 압축률을 측정하고 가장 좋은 포인트를 선택하는 것이다. 몬테 카를로 방법에서는 다차원 도메인에서의 랜덤 포인트의 품질(quality)이 매우 중요하다(특히 차원이 증가함에 따라 더 중요하다). 이러한 애플리케이션에서는 균일한 그리드(uniform grid) 포인트보다는 의사 랜덤(pseudo-random) 포인트가 더 선호된다는 것이 알려져 있다. 간단하게 2D 케이스를 살펴보면 도 13과 같다.
도 15는 본 발명의 일 실시예에 따른 의사 랜덤(pseudo-random) 포인트를 도시한다.
도 15의 좌측에는 균일한 그리드 포인트가 도시되어 있으며, 우측에는 의사 랜덤에 의한 처음 16개의 포인트들이 도시되어 있다.
균일한 그리드 포인트를 사용하는 경우, 몬테 카를로 방법의 16번의 포인트에도 불구하고 첫 번째 파라미터(및 두 번째 파라미터)에 대하여 단지 4개의 다른 값들만이 검사되고 있다. 반면, 의사 랜덤 포인트를 사용하는 경우, 16번의 포인트에 의하여 첫 번째 파라미터(및 두 번째 파라미터)에 대하여 16개의 서로 다른 값들을 검사하고 있다. 즉, 의사 랜덤 포인트를 사용하는 경우, 16개의 포인트들에 대하여 첫번째 파라미터와 두번째 파라미터의 다양한 값들에 대하여 충분히 살펴볼 수 있게 된다. 특히, 파라미터의 수가 증가함에 따라, 몬테 카를로 방식에 있어서 균일 그리드 포인트보다는 의사 랜덤 포인트를 사용하는 것이 유리함을 쉽게 알 수 있을 것이다.
<3단계 - 레머의 의사 난수 (Lemer's pseudo-random numbers)>
의사 난수 시퀀스(pseudo-random sequence)를 생성하는 방식에는 여러가지가 있다. 가장 효율적인 방식의 하나의 레머의 수를 사용하는 것이다. 이는 인공적으로 생성되는 수열이며, 균일하게 분포된 실제의 난수에 가장 가까운 성질을 가지고 있다. 레머의 수열을 생성하는 알고리즘을 잘 알려져 있으므로, 본 명세서에서는 상세한 설명을 생략한다. 본 발명에서 목적하는 바를 만족하기 위해서는, 적어도 1013 개의 반복되지 않는 포인트들을 제공하여야 한다. 레머의 수열은 생성 알고리즘이 알려져 있는 인공적인 수열이므로, 디코더 측에서 쉽게 재계산할 수 있다.
레머의 수열을 사용함에 의하여, 앵글 파라미터들의 조합을 하나의 정보(즉, 랜덤 시퀀스 상의 번호)를 사용하여 코딩할 수 있다. 6차원(4x4 주파수 계수 매트릭스의 경우) 또는 12차원(8x8 주파수 계수 매트릭스의 경우) 파라미터 도메인에서 앵글 파라미터의 조합에 대응되는 랜덤 포인트를 생성하고, 이를 이용하여 압축을 수행하여 압축률을 측정한 후, 최적의 포인트를 선택한다. 앵글 파라미터의 집합 자체를 저장하거나 전송하는 대신, 상기 최적의 파라미터 포인트가 대응되는 레머 시퀀스의 번호를 저장하거나 전송하면 된다.
만일, 몬테 카를로 방법에서 2p 개의 포인트 즉, 앵글 파라미터의 조합에 대한 회전변환을 수행하였다면, p 비트의 정보만을 오버헤드로서 가지게 된다.
<4단계 - 최적화된 앵글 파라미터를 위한 변역의 로컬라이제이션 (Localization of diapason for optimal angle parameters)>
본 발명의 발명자들은 실험을 통하여 최적화된 회전 앵글은 0도 근처 또는 180도(π 라디안) 근처의 값을 가진다는 것을 발견하였다. 이는 주파수 도메인으로의 변환 베이시스, 예를 들어, 이산 코사인 변환 베이시스가 이미 거의 최적화된 상태라는 것을 나타낸다.
따라서, 본 발명에 따른 앵글 파라미터들은 부분적인 열들 사이 및 행들 사이 중 적어도 하나의 부분적인 교환(오일러 앵글의 경우 0도 근처의 앵글)을 수행하거나, 부분적인 교환 및 베이시스 엘레먼트의 부호의 변경(오일러 앵글의 경우 180도 근처의 앵글)을 수행할 필요가 있을 뿐이다. 즉, 본 발명에서 사용되는 파라미터들의 변역(diapason)은 도메인의 특정 부분에 한정되는데 이를 로컬라이제이션(localization)이라고 한다.
파라미터의 변역에 대한 로컬라이제이션을 수행함에 의하여, 오버헤드에 대한 비트 수가 감소하게 된다. 도 13에서 검사하여야 하는 포인트가 특정 부분에 한정되는 경우를 가정해보면, 최적의 앵글 파라미터 조합을 찾기 위해 검사해야 하는 포인트의 개수가 적어진다.
또한, 검사하는 포인트의 수가 고정되어 있다면(즉, 오버헤드로 사용하는 비트 수가 고정되어 있는 경우), 로컬라이제이션이 적용되는 경우 더 좁은 앵글의 범위 내에서 더 많은 포인트를 검사할 수 있게 되므로 압축률이 더 증가하게 된다.
<5단계 - 준최적화된 베이시스 (Quasi-optimal basis)>
상기 1단계 내지 4단계의 구현에 의하여 모든 블록(4x4 또는 8x8 또는 그 이상 크기의 블록)에 대한 최적화된 베이시스를 선택하는 것이 가능해진다. 높은 비트 레이트에서는 블록당 8 또는 10 바이트의 오버헤드가 추가될 수 있다. 비트 레이트가 낮아지는 경우, 준최적화된 베이시스를 선택하는 것이 바람직하다.
준최적화된 베이시스란 하나의 슬라이스 또는 픽처에 포함된 모든 변환 단위 또는 일부 변환 단위들의 집합에 대하여 동일한 회전을 적용하는 것을 의미한다. 각각의 블록에 대하여 최적화된 회전을 적용한다면 이미지 자체에 대한 압축률은 상승하겠지만 오버헤드가 증가하게 된다.
하나의 변환 단위, 하나의 변환 단위 집합, 하나의 슬라이스, 하나의 픽처 중 어느 단위에 대하여 동일한 회전을 적용할 것인지에 대하여는 다양한 실험에 의하여 결정될 수 있다.
낮은 비트 레이트에서는 주파수 도메인으로 변환 후에 주파수 계수 매트릭스의 많은 부분에서 양자화 계수 값이 0이 된다. 따라서, 그러한 주파수 계수 매트릭스들에 대하여는 굳이 회전 변환을 적용해 회전 앵글 값에 대한 부가 정보를 전송할 필요가 없다.
요컨대, 본 발명의 일 실시예에 따른 영상 부호화 장치(900)는 몬테 카를로 방법을 이용해 복수의 앵글 파라미터 조합에 대해 회전변환을 수행하고, 양자화 및 엔트로피 부호화하는 과정을 반복 수행하여 최적의 앵글 파라미터 조합을 결정한다. 또한, 결정된 최적의 앵글 파라미터 조합에 대한 정보로서 앵글 파라미터 그대로가 아닌 앵글 파라미터 조합에 대응되는 레머의 의사 난수 시퀀스의 번호를 부 호화한다. 이때, 로컬라이제이션과 준최적화된 베이시스를 이용하면, 보다 높은 효율로 앵글 파라미터에 대한 정보를 부호화할 수 있다.
도 16은 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다.
도 16에 도시된 영상 복호화 장치(1600)는 도 2의 영상 복호화 장치(200) 또는 도 5의 전술한 영상 복호화부(400)에 포함되어 후술하는 영상 복호화 과정들을 수행하는 모듈일 수 있다. 도 14를 참조하면, 본 발명의 일 실시예에 따른 영상 복호화 장치(1600)는 엔트로피복호화부(1610), 역양자화부(1620) 및 역주파수변환부(1630)를 포함한다.
엔트로피복호화부(1610)는 비트스트림을 수신하고, 소정 블록의 제2 주파수 계수 매트릭스를 엔트로피 복호화한다. 제2 주파수 계수 매트릭스는 소정 블록을 주파수 도메인으로 변환하여 생성된 제1 주파수 계수 매트릭스에 대해 회전변환을 수행하여 생성된 매트릭스이다. 또한, 엔트로피복호화부(1610)는 역회전변환을 위해 회전변환에 이용된 앵글 파라미터에 대한 정보를 복호화할 수 있다. 앵글 파라미터에 대한 정보는 현재 블록의 역회전변환에 이용되는 역회전변환 매트릭스 'ROT_index'에 대한 정보일 수 있다. 엔트로피 복호화는 엔트로피부호화부(930)와 마찬가지로 CABAC 또는 CAVLC에 따라 수행된다.
역양자화부(1620)는 엔트로피복호화부(1610)에서 엔트로피 복호화된 제2 주파수 계수 매트릭스를 역양자화한다. 부호화 시에 이용된 양자화 스텝에 따라 역양자화를 수행한다.
역주파수변환부(1630)는 제2 주파수 계수 매트릭스에 대해 역회전변환을 수 행하여 제1 주파수 계수 매트릭스를 생성하고, 제1 주파수 계수 매트릭스를 역주파수변환한다. 엔트로피복호화부(1610)에서 엔트로피 복호화된 앵글 파라미터에 대한 정보 즉, 'ROT_index'에 대한 정보에 기초해 현재 블록의 역회전변환에 이용될 회전변환 매트릭스를 선택하고, 선택된 회전변환 매트릭스에 따라 제2 주파수 계수 매트릭스에 대해 역회전변환을 수행한다. 도 17을 참조하여 상세히 설명한다.
도 17은 본 발명의 일 실시예에 따른 역주파수변환부(1630)를 도시한다.
도 17을 참조하면, 본 발명의 일 실시예에 따른 역주파수변환부(1630)는 앵글파라미터결정부(1710), ROT수행부(1710) 및 역주파수변환수행부(1730)를 포함한다.
앵글파라미터결정부(1710)는 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 기초해 역회전변환에 이용될 회전변환 매트릭스를 선택한다. 엔트로피 복호화부(1610)에서 엔트로피 복호화된 앵글 파라미터에 대한 정보 즉, 'ROT_index'에 대한 정보를 참고하여, 현재 블록이 인트라 예측에 따라 예측되었는지 여부 및 인트라 예측 방향을 고려하여 최종적으로 역회전변환에 이용될 회전변환 매트릭스를 선택한다. 도 12a 내지 12i를 참조하여 상세히 설명한다.
도 12a 내지 12i는 본 발명의 일 실시예에 따른 회전변환 매트릭스들을 도시한다.
도 12a 내지 12i는 제2 주파수 계수 매트릭스의 역회전변환에 이용되는 앵글 파라미터에 따른 회전변환 매트릭스들을 도시한다. 도 12a 내지 12i의 회전변환 매트릭스들은 역회전변환을 위해 제2 주파수 계수 매트릭스의 좌측 및 우측에 곱해 지는 Rhorizontal의 역행열 및 Rvertical의 역행렬일 수 있다. 'ROT_idx'에 따라 구분되는 각각의 행은 모두 96 개의 값들로 채워져있으며, 이 중 최초 32 개의 값은 4x4 역회전 변환에 이용되는 Rhorizontal의 역행렬 및 Rvertical의 역행렬에 대한 값들이며, 나머지 64 개의 값은 8x8 역회전변환에 이용되는 Rhorizontal의 역행렬 및 Rvertical의 역행렬에 대한 값들이다.
앵글파라미터결정부(1710)는 전체 27개의 회전변환 매트릭스들 중에서 하나를 선택할 수 있다. 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 기초해 회전변환 매트릭스를 선택할 수 있다.
예를 들어, 현재 블록이 인트라 예측에 따라 예측되지 않았거나, 제1 방향(예를 들어, 수직방향) 또는 제2 방향(예를 들어, 수평 방향)으로 인트라 예측되지 않았다면, 'ROT_index'가 제1 범위(예를 들어, 0~8 범위)인 회전변환 매트릭스들 중 하나를 선택할 수 있다. 그러나, 현재 블록이 인트라 예측되었고, 인트라 예측 방향이 제1 방향인 경우에는 'ROT_index'가 제2 범위(예를 들어, 9~17 범위)인 회전변환 매트릭스들 중 하나를 선택할 수 있다. 또한, 현재 블록이 인트라 예측되었고, 인트라 예측 방향이 제2 방향인 경우에는 'ROT_index'가 제3 범위(예를 들어, 18~26 범위)인 회전변환 매트릭스들 중 하나를 선택할 수 있다.
현재 블록이 제1 방향으로 인트라 예측되었으면, 엔트로피복호화부(1610)에서 엔트로피 복호화된 제1 범위(예를 들어, 0~8 범위) 중 하나의 'ROT_index' 값에 소정값(예를 들어, 9)을 가산하여, 'ROT_index'가 제2 범위(예를 들어, 9~17 범위) 인 회전변환 매트릭스들 중 하나를 선택하고, 현재 블록이 제2 방향으로 인트라 예측되었으면, 엔트로피복호화부(1610)에서 엔트로피 복호화된 제1 범위(예를 들어, 0~8 범위) 중 하나의 'ROT_index' 값에 소정값(예를 들어, 18)을 가산하여, 'ROT_index'가 제3 범위(예를 들어, 18~26 범위)인 회전변환 매트릭스들 중 하나를 선택한다.
역ROT수행부(1720)는 역양자화부(1620)로부터 수신된 역양자화된 제2 주파수 계수 매트릭스를 역회전변환한다. 도 11a 내지 11c관련하여 전술한 회전변환을 역으로 수행한다. 이때, 앵글파라미터결정부(1710)에서 선택된 회전변환 매트릭스에 따라 역회전변환을 수행할 수 있다. 앵글파라미터결정부(1710)에서 선택된 회전변환 매트릭스에 기초해 제2 주파수 계수 매트릭스의 행들 사이 및 열들 사이 중 적어도 하나의 부분적인 교환을 수행하여 제1 주파수 계수 매트릭스를 생성한다.
도 13a 및 13b는 본 발명의 일 실시예에 따른 역회전변환을 위한 구문을 도시한다.
도 13a 및 13b는 도 12a 내지 12i의 회전변환 매트릭스들 중 하나를 이용해 역회전변환을 수행하는 구문을 도시하는 바, 도 13a는 4x4 역회전변환에 대한 구문을 도시하고, 도 13b는 8x8 역회전변환에 대한 구문을 도시한다.
도 13a를 참조하면, 역ROT 수행부(1720)는 앵글 파라미터 결정부(1710)에서 결정된 앵글 파라미터에 따라 도 12a 내지 12i의 회전변환 매트릭스들 중 하나를 선택하여 제2 주파수 계수 매트릭스를 역회전변환한다.
전술한 바와 같이 현재 블록이 인트라 예측에 따라 예측되지 않았거나, 제1 방향(예를 들어, 수직 방향) 또는 제2 방향(예를 들어, 수평 방향)으로 인트라 예측되지 않았다면, 제1 범위(예를 들어, 0~8 범위)의 'ROT_index' 중 하나에 대응되는 회전변환 매트릭스에 따라 역회전변환을 수행한다. 현재 블록이 제1 방향으로 인트라 예측되었다면, 제2 범위(예를 들어, 9~17 범위)의 'ROT_index' 중 하나에 대응되는 회전변환 매트릭스에 따라 역회전변환을 수행하고, 현재 블록이 제2 방향으로 인트라 예측되었다면, 제3 범위(예를 들어, 18~26 범위)의 'ROT_index' 중 하나에 대응되는 회전변환 매트릭스에 따라 역회전변환을 수행한다. 역회전변환에 이용될 회전변환 매트릭스가 특정되면, 'for (n=0;n<13;n+4)' 루프를 통해 현재 블록의 열들을 부분적으로 교환하고, 'for (n=0;n<4;n++)' 루프를 통해 현재 블록의 행들을 부분적으로 교환한다.
역ROT 수행부(1720)는 현재 블록이 인트라 예측에 따라 예측되었는지 여부 및 인트라 예측 방향에 기초해 앵글파라미터결정부(1710)에서 선택된 0~8 또는 9~17 또는 18~26 중 하나의 범위의 'ROT_index' 회전변환 매트릭스에 기초해 제2 주파수 계수 매트릭스를 역회전변환할 수 있다.
'ROT_MATRIX[p][q]'는 도 12a 내지 12i에 도시된 매트릭스 중 소정의 'ROT_index=p'인 회전변환 매트릭스의 k 번째 값을 의미하고, r(i, j)은 제1 주파수 계수 매트릭스 중 i 행, j 열의 계수를 의미한다. 'ROT_SCALE'는 '8192'일 수 있다.
마찬가지로, 도 13b를 참조하면, 역ROT 수행부(1720)는 'for (n=0;n<64;n+8)' 루프를 통해 현재 블록의 열들을 부분적으로 교환하고, 'for (n=0;n<8;n++)' 루프를 통해 현재 블록의 행들을 부분적으로 교환한다.
제1 주파수 계수 매트릭스(1110) 중 일부의 계수만 포함하는 매트릭스(1120)에 대해 회전변환이 수행된 경우에는 일부의 계수만 포함하는 매트릭스(1120)를 역주파수 도메인으로 변환하여 제1 주파수 계수 매트릭스(1110)를 생성한다.
역주파수변환수행부(1730)는 역ROT수행부(1720)로부터 제1 주파수 계수 매트릭스를 수신하고, 수신된 제1 주파수 계수 매트릭스를 역주파수변환한다. 이산 코사인 변환을 역으로 수행함으로써 제1 주파수 계수 매트릭스를 역주파수변환할 수 있다. 역주파수변환 결과 픽셀 도메인의 소정의 블록이 복원된다.
도 18은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 18을 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치는 단계 1810에서 현재 블록을 주파수 도메인으로 변환하여 제1 주파수 계수 매트릭스를 생성한다. 현재 블록을 입력받아 이산 코사인 변환하여 이산 코사인 계수들을 포함하는 제1 주파수 계수 매트릭스를 생성한다.
단계 1820에서 영상 부호화 장치는 현재 블록이 인트라 예측된 블록인지 여부에 기초해 앵글 파라미터를 결정한다. 현재 블록이 인트라 예측된 경우와 인터 예측된 경우에 따라 상이한 회전변환 매트릭스를 선택할 수 있고, 현재 블록의 인트라 예측된 경우에도 현재 블록의 인트라 예측 방향에 따라 상이한 회전변환 매트릭스를 선택할 수도 있다. 다시 말해, 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 기초해 도 12a 내지 12i의 0~8 또는 9~17 또는 18~26 범위 의 'ROT_index'에 대응되는 회전변환 매트릭스를 선택할 수 있다. 회전변환 매트릭스는 수학식 3과 관련하여 전술한 Rhorizontal 및 Rvertical일 수 있다.
단계 1830에서 영상 부호화 장치는 단계 1820에서 결정된 앵글파라미터에 기초해 제1 주파수 계수 매트릭스의 행들 사이 및 열들 사이 중 적어도 하나의 부분적인 교환을 수행하여 제2 주파수 계수 매트릭스를 생성한다. 단계 1820에서 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 기초해 결정된 회전변환 매트릭스에 기초해 제1 주파수 계수 매트릭스를 회전변환한다.
제1 주파수 계수 매트릭스의 크기가 큰 경우(예를 들어, 16x16 이상의 크기)에는 제1 주파수 계수 매트릭스에서 일부의 계수들만 포함하는 매트릭스를 선택하고, 선택된 일부의 계수들만 포함하는 매트릭스를 회전변환할 수 있다. 일부의 계수들만 포함하는 매트릭스를 선택함에 있어, 낮은 주파수 성분에 대한 계수들만 포함하는 매트릭스를 선택할 수도 있다.
단계 1840에서 영상 부호화 장치는 단계 1830에서 생성된 제2 주파수 계수 매트릭스를 양자화한다. 제2 주파수 계수 매트릭스를 소정의 양자화 스텝에 따라 양자화한다.
단계 1850에서 영상 부호화 장치는 단계 1840에서 양자화된 제2 주파수 계수 매트릭스를 엔트로피 부호화한다. CABAC 또는 CAVLC에 따라 엔트로피 부호화한다. 또한, 영상 부호화 장치는 단계 1850에서 행들 사이 및 열들 사이 중 적어도 하나의 부분적인 교환에 이용된 앵글 파라미터에 대한 정보도 엔트로피 부호화한다. 도 12a 내지 12i의 회전변환 매트릭스 중 역회전변환에 이용되는 하나의 매트릭스를 특정하기 위한 'ROT_index'에 대한 정보를 엔트로피 부호화한다. 영상 부호화 장치가 제1 범위(예를 들어, 0~8 범위)의 'ROT_index' 값만 엔트로피 부호화하면, 복호화하는 측에서는 현재 블록이 인트라 예측에 따라 예측되었는지 여부 및 인트라 예측 방향에 따라 제2 범위(예를 들어, 9~17 범위) 또는 제3 범위(예를 들어, 18~26 범위)의 'ROT_index'를 이용해 역회전변환할 수 있다.
도 19는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 19를 참조하면, 단계 1910에서 본 발명의 일 실시예에 따른 영상 복호화 장치는 현재 블록에 대한 비트스트림을 수신하고, 앵글 파라미터에 대한 정보 및 제2 주파수 계수 매트릭스를 엔트로피 복호화한다. 제2 주파수 계수 매트릭스는 제1 주파수 계수 매트릭스의 전부 또는 일부가 회전변환된 매트릭스이다. 앵글 파라미터에 대한 정보는 도 12a내지 12i의 'ROT_index'에 대한 정보일 수 있다.
단계 1920에서 영상 복호화 장치는 단계 1810에서 엔트로피 복호화된 앵글 파라미터에 대한 정보에 기초해 제2 주파수 계수 매트릭스의 역회전변환에 이용된 앵글 파라미터를 결정한다. 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 따라 앵글 파라미터를 결정할 수 있다.
현재 블록이 수직 방향 또는 수평 방향으로 인트라 예측된 블록이면, 상이한 범위의 'ROT_index'에 대응되는 회전변환 매트릭스를 선택한다. 현재 블록이 수직 방향으로 인트라 예측된 블록이면, 엔트로피 복호화된 'ROT_index' 값에 소정값(예 를 들어, 9)를 가산한 'ROT_index'에 대응되는 회전변환 매트릭스를 선택하고, 현재 블록이 수평 방향으로 인트라 예측된 블록이면, 엔트로피 복호화된 'ROT_index'에 소정값(예를 들어, 18)을 가산한 'ROT_index'에 대응되는 회전변환 매트릭스를 선택할 수 있다.
단계 1930에서 영상 복호화 장치는 제2 주파수 계수 매트릭스를 역양자화한다. 영상 부호화 시에 이용된 양자화 스텝에 따라 제2 주파수 계수 매트릭스의 계수들을 역양자화한다.
단계 1940에서 영상 복호화 장치는 단계 1930에서 역양자화된 제2 주파수 계수 매트릭스에 대해 행들 사이 및 열들 사이 중 적어도 하나의 부분적인 교환을 수행하여 제1 주파수 계수 매트릭스를 생성한다. 단계 1920에서 결정된 앵글 파라미터에 따라 제2 주파수 계수 매트릭스를 역회전변환한다. 단계1920에서 현재 블록이 인트라 예측된 블록인지 여부 및 인트라 예측 방향에 따라 선택된 회전변환 매트릭스에 기초해 제2 주파수 계수 매트릭스를 역회전변환한다.
전술한 바와 같이 부호화 과정에서 제1 주파수 계수 매트릭스의 일부 계수들만 포함하는 매트릭스가 회전변환된 경우에는 일부 계수들만 포함하는 매트릭스를 역회전변환하여 제1 주파수 계수 매트릭스를 생성한다.
단계 1950에서 영상 복호화 장치는 단계 1940에서 생성된 제1 주파수 계수 매트릭스를 역주파수변환한다. 제1 주파수 계수 매트릭스를 역이산 코사인 변환하여 픽셀 도메인의 블록을 복원한다.
전술한 바와 같이 본 발명의 일 실시예에 따른 영상 부호화, 복호화 방법 및 장치들은 강력한 수학적 기초에 근거하여, 주파수 계수 매트릭스를 보다 높은 압축률로 부호화할 수 있어 전체 영상 부호화의 압축률을 크게 향상시킬 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
예를 들어, 본 발명의 예시적인 실시예에 따른 영상 부호화 장치, 영상 복호화 장치, 영상 부호화부 및 영상 복호화부는 도 1, 2, 4, 5, 9, 10, 16 및 17에 도시된 바와 같은 장치의 각각의 유닛들에 커플링된 버스, 상기 버스에 결합된 적어도 하나의 프로세서를 포함할 수 있다. 또한, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 결합되어, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다.
도 2는 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다.
도 3은 본 발명의 일 실시예에 따른 계층적 부호화 단위를 도시한다.
도 4는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 부호화부를 도시한다.
도 5는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 복호화부를 도시한다.
도 6은 본 발명의 일 실시예에 따른 최대 부호화 단위, 서브 부호화 단위 및 예측 단위를 도시한다.
도 7은 본 발명의 일 실시예에 따른, 부호화 단위 및 변환 단위를 도시한다.
도 8a 및 8b는 본 발명의 일 실시예에 따른, 부호화 단위, 예측 단위 및 변환 단위의 분할 형태를 도시한다.
도 9는 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다.
도 10은 본 발명의 일 실시예에 따른 주파수변환부를 도시한다.
도 11a 내지 11c는 본 발명의 일 실시예에 따른 회전변환을 도시한다.
도 12a 내지 12i는 본 발명의 일 실시예에 따른 회전변환 매트릭스들을 도시한다.
도 13a 내지 13b는 본 발명의 일 실시예에 따른 역회전변환 구문(syntax)를 도시한다.
도 14는 본 발명의 일 실시예에 따른 오일러 앵글을 도시한다.
도 15은 본 발명의 일 실시예에 따른 의사 랜덤(pseudo-random) 포인트를 도시한다.
도 16는 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다.
도 17는 본 발명의 일 실시예에 따른 역주파수변환부를 도시한다.
도 18은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 19은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.

Claims (21)

  1. 영상 부호화 방법에 있어서,
    현재 블록을 이산 코사인 변환하여 제1 주파수 계수 매트릭스를 생성하는 단계;
    상기 현재 블록이 인트라 예측된 블록인지 여부에 기초해 앵글 파라미터를 결정하는 단계;
    상기 결정된 앵글 파라미터에 기초해 상기 제1 주파수 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환을 수행하여 제2 주파수 계수 매트릭스를 생성하는 단계;
    상기 제2 주파수 계수 매트릭스를 양자화하는 단계; 및
    상기 앵글 파라미터에 대한 정보 및 상기 제2 주파수 계수 매트릭스를 엔트로피 부호화하는 단계를 포함하고,
    상기 앵글 파라미터는 상기 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터인 것을 특징으로 하는 영상 부호화 방법.
  2. 제 1 항에 있어서, 상기 앵글 파라미터를 결정하는 단계는
    상기 현재 블록의 인트라 예측 방향에 기초해 앵글 파라미터를 결정하는 단계를 포함하는 것을 특징인 것으로 하는 영상 부호화 방법.
  3. 제 2 항에 있어서, 상기 앵글 파라미터를 결정하는 단계는
    상기 현재 블록의 인트라 예측 방향에 기초해 복수의 매트릭스 중 상기 행들 사이의 부분적인 교환을 수행하기 위한 제1 매트릭스 및 상기 열들 사이의 부분적인 교환을 수행하기 위한 제2 매트릭스를 선택하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  4. 제 3 항에 있어서, 상기 제2 주파수 계수 매트릭스를 생성하는 단계는
    상기 제1 주파수 계수 매트릭스의 좌측에 상기 선택된 제1 매트릭스를 곱하고, 상기 제1 주파수 계수 매트릭스의 우측에 상기 선택된 제2 매트릭스를 곱하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  5. 제 1 항에 있어서, 상기 앵글 파라미터는
    오일러 앵글에 대한 파라미터인 것을 특징으로 하는 영상 부호화 방법.
  6. 영상 복호화 방법에 있어서,
    소정의 앵글 파라미터에 대한 정보 및 제2 주파수 계수 매트릭스를 엔트로피 복호화하는 단계;
    상기 엔트로피 복호화된 앵글 파라미터에 대한 정보 및 현재 블록이 인트라 예측된 블록인지 여부에 기초해 상기 앵글 파라미터를 결정하는 단계;
    상기 엔트로피 복호화된 제2 주파수 계수 매트릭스를 역양자화하는 단계;
    상기 결정된 앵글 파라미터에 기초해 상기 제2 주파수 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환을 수행하여 제1 주파수 계수 매트릭스를 생성하는 단계; 및
    상기 제1 주파수 계수 매트릭스를 역이산 코사인 변환하여 상기 현재 블록을 복원하는 단계를 포함하고,
    상기 앵글 파라미터는 상기 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터인 것을 특징으로 하는 영상 복호화 방법.
  7. 제 6 항에 있어서, 상기 앵글 파라미터를 결정하는 단계는
    상기 현재 블록의 인트라 예측 방향에 기초해 앵글 파라미터를 결정하는 단계를 포함하는 것을 특징인 것으로 하는 영상 복호화 방법.
  8. 제 7 항에 있어서, 상기 앵글 파라미터를 결정하는 단계는
    상기 현재 블록의 인트라 예측 방향에 기초해 복수의 매트릭스 중 상기 행들 사이의 부분적인 교환을 수행하기 위한 제1 매트릭스 및 상기 열들 사이의 부분적인 교환을 수행하기 위한 제2 매트릭스를 선택하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  9. 제 8 항에 있어서, 상기 제1 주파수 계수 매트릭스를 생성하는 단계는
    상기 제2 주파수 계수 매트릭스의 좌측에 상기 선택된 제1 매트릭스를 곱하 고, 상기 제2 주파수 계수 매트릭스의 우측에 상기 선택된 제2 매트릭스를 곱하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  10. 제 6 항에 있어서, 상기 앵글 파라미터는
    오일러 앵글에 대한 파라미터인 것을 특징으로 하는 영상 복호화 방법.
  11. 영상 부호화 장치에 있어서,
    현재 블록을 이산 코사인 변환하여 제1 주파수 계수 매트릭스를 생성하고, 상기 현재 블록이 인트라 예측된 블록인지 여부에 기초해 결정된 앵글 파라미터에 기초해 상기 제1 주파수 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환을 수행하여 제2 주파수 계수 매트릭스를 생성하는 주파수변환부;
    상기 제2 주파수 계수 매트릭스를 양자화하는 양자화부; 및
    상기 앵글 파라미터에 대한 정보 및 상기 제2 주파수 계수 매트릭스를 엔트로피 부호화하는 엔트로피부호화부를 포함하고,
    상기 앵글 파라미터는 상기 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터인 것을 특징으로 하는 영상 부호화 장치.
  12. 제 11 항에 있어서, 상기 주파수변환부는
    상기 현재 블록의 인트라 예측 방향에 기초해 앵글 파라미터를 결정하는 것을 특징인 것으로 하는 영상 부호화 장치.
  13. 제 12 항에 있어서, 상기 주파수변환부는
    상기 현재 블록의 인트라 예측 방향에 기초해 복수의 매트릭스 중 상기 행들 사이의 부분적인 교환을 수행하기 위한 제1 매트릭스 및 상기 열들 사이의 부분적인 교환을 수행하기 위한 제2 매트릭스를 선택하는 것을 특징으로 하는 영상 부호화 장치.
  14. 제 13 항에 있어서, 상기 주파수변환부는
    상기 제1 주파수 계수 매트릭스의 좌측에 상기 선택된 제1 매트릭스를 곱하고, 상기 제1 주파수 계수 매트릭스의 우측에 상기 선택된 제2 매트릭스를 곱하는 것을 특징으로 하는 영상 부호화 장치.
  15. 제 11 항에 있어서, 상기 앵글 파라미터는
    오일러 앵글에 대한 파라미터인 것을 특징으로 하는 영상 부호화 장치.
  16. 영상 복호화 장치에 있어서,
    소정의 앵글 파라미터에 대한 정보 및 제2 주파수 계수 매트릭스를 엔트로피 복호화하는 엔트로피복호화부;
    상기 엔트로피 복호화된 제2 주파수 계수 매트릭스를 역양자화하는 역양자화부; 및
    상기 엔트로피 복호화된 앵글 파라미터에 대한 정보 및 현재 블록이 인트라 예측된 블록인지 여부에 기초해 결정된 앵글 파라미터에 기초해 상기 제2 주파수 계수 매트릭스의 행들 사이와 열들 사이의 부분적인 교환을 수행하여 제1 주파수 계수 매트릭스를 생성하고, 상기 제1 주파수 계수 매트릭스를 역이산 코사인 변환하여 소정의 블록을 복원하는 역주파수변환부를 포함하고,
    상기 앵글 파라미터는 상기 행들 사이 및 열들 사이의 부분적인 교환의 정도를 나타내는 파라미터인 것을 특징으로 하는 영상 복호화 장치.
  17. 제 16 항에 있어서, 상기 역주파수변환부는
    상기 현재 블록의 인트라 예측 방향에 기초해 앵글 파라미터를 결정하는 것을 특징인 것으로 하는 영상 복호화 장치.
  18. 제 17 항에 있어서, 상기 역주파수변환부는
    상기 현재 블록의 인트라 예측 방향에 기초해 복수의 매트릭스 중 상기 행들 사이의 부분적인 교환을 수행하기 위한 제1 매트릭스 및 상기 열들 사이의 부분적인 교환을 수행하기 위한 제2 매트릭스를 선택하는 것을 특징으로 하는 영상 복호화 장치.
  19. 제 18 항에 있어서, 상기 역주파수변환부는
    상기 제2 주파수 계수 매트릭스의 좌측에 상기 선택된 제1 매트릭스를 곱하 고, 상기 제2 주파수 계수 매트릭스의 우측에 상기 선택된 제2 매트릭스를 곱하는 것을 특징으로 하는 영상 복호화 장치.
  20. 제 16 항에 있어서, 상기 앵글 파라미터는
    오일러 앵글에 대한 파라미터인 것을 특징으로 하는 영상 복호화 장치.
  21. 제 1 항 내지 제 10 항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020090121937A 2009-12-09 2009-12-09 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치 KR20110065092A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020090121937A KR20110065092A (ko) 2009-12-09 2009-12-09 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
EP10836220.3A EP2510691A4 (en) 2009-12-09 2010-12-09 METHOD AND APPARATUS FOR ENCODING AND DECODING AN IMAGE USING ROTATIONAL TRANSFORMATION
CN2010800634990A CN102754438A (zh) 2009-12-09 2010-12-09 用于通过使用转动变换来对图像编码和解码的方法和设备
PCT/KR2010/008818 WO2011071325A2 (en) 2009-12-09 2010-12-09 Method and apparatus for encoding and decoding image by using rotational transform
US12/964,114 US8494296B2 (en) 2009-12-09 2010-12-09 Method and apparatus for encoding and decoding image by using rotational transform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090121937A KR20110065092A (ko) 2009-12-09 2009-12-09 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20110065092A true KR20110065092A (ko) 2011-06-15

Family

ID=44082079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090121937A KR20110065092A (ko) 2009-12-09 2009-12-09 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치

Country Status (5)

Country Link
US (1) US8494296B2 (ko)
EP (1) EP2510691A4 (ko)
KR (1) KR20110065092A (ko)
CN (1) CN102754438A (ko)
WO (1) WO2011071325A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013157825A1 (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
WO2019009618A1 (ko) * 2017-07-04 2019-01-10 삼성전자 주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039590A (ja) * 2010-07-16 2012-02-23 Sony Corp 画像処理装置、画像処理方法、及びプログラム
US20120320972A1 (en) * 2011-06-16 2012-12-20 Samsung Electronics Co., Ltd. Apparatus and method for low-complexity optimal transform selection
US9699461B2 (en) * 2015-08-14 2017-07-04 Blackberry Limited Scaling in perceptual image and video coding
WO2017061671A1 (ko) * 2015-10-08 2017-04-13 엘지전자 주식회사 영상 코딩 시스템에서 적응적 변환에 기반한 영상 코딩 방법 및 장치
ITUB20155295A1 (it) 2015-10-16 2017-04-16 Torino Politecnico Apparatuses and methods for encoding and decoding images
US10154288B2 (en) * 2016-03-02 2018-12-11 MatrixView, Inc. Apparatus and method to improve image or video quality or encoding performance by enhancing discrete cosine transform coefficients
EP3711297B1 (en) 2017-11-21 2024-02-14 Huawei Technologies Co., Ltd. Image and video processing apparatuses and methods
CN109255824A (zh) * 2018-08-21 2019-01-22 同济大学 基于dct的防窜货编解码方法
EP3817390A4 (en) * 2019-07-10 2021-09-29 Guangdong Oppo Mobile Telecommunications Corp., Ltd. IMAGE COMPONENT PREDICTION METHOD, CODER, DECODER AND STORAGE MEDIUM
US11375219B2 (en) * 2019-09-24 2022-06-28 Tencent America LLC Coding method and system with improved dynamic internal bit depth

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146053B1 (en) * 2000-05-10 2006-12-05 International Business Machines Corporation Reordering of compressed data
US6907079B2 (en) * 2002-05-01 2005-06-14 Thomson Licensing S.A. Deblocking filter conditioned on pixel brightness
US7167560B2 (en) * 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media
JP4594688B2 (ja) * 2004-06-29 2010-12-08 オリンパス株式会社 画像符号化処理方法、画像復号化処理方法、動画圧縮処理方法、動画伸張処理方法、画像符号化処理プログラム、画像符号化装置、画像復号化装置、画像符号化/復号化システム、拡張画像圧縮伸張処理システム
KR101088375B1 (ko) 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
KR100809686B1 (ko) * 2006-02-23 2008-03-06 삼성전자주식회사 이산 여현 변환을 이용한 영상 리사이징 방법 및 장치
US8428133B2 (en) * 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
KR101496324B1 (ko) * 2007-10-17 2015-02-26 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR101370288B1 (ko) * 2007-10-24 2014-03-05 삼성전자주식회사 이미지 신호의 압축 방법 및 장치

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013157825A1 (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
US9571841B2 (en) 2012-04-16 2017-02-14 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
US10057579B2 (en) 2012-04-16 2018-08-21 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
US10448018B2 (en) 2012-04-16 2019-10-15 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
US10455233B2 (en) 2012-04-16 2019-10-22 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
US10455234B2 (en) 2012-04-16 2019-10-22 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
US10455232B2 (en) 2012-04-16 2019-10-22 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
US10477213B2 (en) 2012-04-16 2019-11-12 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
US10924742B2 (en) 2012-04-16 2021-02-16 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
US11553183B2 (en) 2012-04-16 2023-01-10 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image
WO2019009618A1 (ko) * 2017-07-04 2019-01-10 삼성전자 주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Also Published As

Publication number Publication date
US20110135212A1 (en) 2011-06-09
WO2011071325A3 (en) 2011-11-10
CN102754438A (zh) 2012-10-24
EP2510691A4 (en) 2014-06-04
US8494296B2 (en) 2013-07-23
EP2510691A2 (en) 2012-10-17
WO2011071325A2 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
KR20110045949A (ko) 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
KR20110065092A (ko) 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
JP6023260B2 (ja) 大きいサイズの変換単位を利用した映像復号化方法及び装置
CN107820098B (zh) 对视频编码的方法和设备以及对视频解码的方法和设备
EP2996342B1 (en) Method and apparatus for encoding and decoding image by using large transform unit
KR20110112224A (ko) 부호화 모드에 대한 정보를 부호화, 복호화하는 방법 및 장치
KR20110017303A (ko) 회전변환을 이용한 영상 부호화, 복호화 방법 및 장치
KR20140071297A (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101564944B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR20150045979A (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR20130041039A (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR20130041038A (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application