KR100679027B1 - Dc 성분의 손실 없이 영상을 코딩하는 방법 및 장치 - Google Patents
Dc 성분의 손실 없이 영상을 코딩하는 방법 및 장치 Download PDFInfo
- Publication number
- KR100679027B1 KR100679027B1 KR1020050005030A KR20050005030A KR100679027B1 KR 100679027 B1 KR100679027 B1 KR 100679027B1 KR 1020050005030 A KR1020050005030 A KR 1020050005030A KR 20050005030 A KR20050005030 A KR 20050005030A KR 100679027 B1 KR100679027 B1 KR 100679027B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- frame
- coding
- average
- result
- 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/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
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- 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
-
- 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
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 영상의 직류 성분을 손실 없이 압축하고 압축 해제하는 방법 및 장치에 관한 것이다.
본 발명에 따른 하나의 프레임을 복수의 블록으로 분할하여 부호화하는 동영상/정지영상 부호화 방법은, 상기 블록을 구성하는 화소들의 평균을 계산하는 단계; 상기 상기 화소들을 상기 계산된 평균만큼 다운 시프팅하는 단계; 상기 다운 시프팅된 화소들을 손실 부호화하는 단계; 및 상기 손실 부호화된 결과 및 상기 계산된 평균 값을 무손실 부호화하는 단계를 포함한다.
동영상, 정지영상, DCT 변환, 양자화, DC 성분, 블록 평균
Description
도 1은 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 도시한 블록도.
도 2는 잔여 프레임이 블록 단위로 분할 되는 예를 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 정지영상 부호화기의 구성을 나타낸 블록도.
도 4는 도 1에 대응되는 본 발명의 일 실시예에 따른 동영상 복호화기의 구성을 도시한 블록도.
도 5는 복원된 잔여 블록으로부터 잔여 프레임을 복원하는 예를 나타낸 블록도.
도 6은 도 3에 대응되는 본 발명의 일 실시예에 따른 정지영상 복호화기의 구성을 도시한 블록도.
도 7a는 DCT 변환을 위해 입력되는 영상 블록의 예를 나타낸 도면.
도 7b는 양자화 테이블의 일 예를 나타낸 도면.
도 8a 내지 도 8c는 종래 기술에 따라 도 7a가 단계별로 변화되는 과정을 나타낸 도면.
도 9a 내지 도 9c는 본 발명의 일 실시예에 따라 도 7a가 단계별로 변화되는 과정을 나타낸 도면.
(도면의 주요부분에 대한 부호 설명)
100: 동영상 부호화기 101, 201: 샘플링부
110, 210: 블록 분할부 120, 220: 다운 시프팅부
130, 230: DCT 변환부 140, 240: 양자화부
150, 250: 엔트로피 부호화부 180: 모션 추정부
190, 360: 모션 보상부 200: 정지영상 부호화기
300: 동영상 복호화기 310, 410: 엔트로피 복호화부
160, 320, 420: 역 양자화부 170, 330, 430: 역 DCT 변환부
340, 440: 업 시프팅 부 350, 450: 블록 조립부
본 발명은 정지영상(still picture) 또는 동영상(moving picture) 압축 방법에 관한 것으로, 영상(picture)의 직류 성분(이하, DC 성분이라 함)을 손실 없이 압축하고 압축 해제하는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 예를 들면 640*480의 해상도를 갖는 24 bit 트루 컬러의 이미지는 한 프레임당 640×480×24 bit의 용량 다시 말해서 약 7.37Mbit의 데이터가 필요하다. 이를 초당 30 프레임으로 전송하는 경우에는 221Mbit/sec의 대역폭을 필요로 하며, 90분 동안 상영되는 영화를 저장하려면 약 1200G bit의 저장공간을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
이러한 데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy)을 없애는 것이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 없앰으로서 데이터를 압축할 수 있다. 데이터 압축의 종류는 소스 데이터의 손실 여부와, 각각의 프레임에 대해 독립적으로 압축하는 지 여부와, 압축과 복원에 필요한 시간이 동일한 지 여부에 따라 각각 손실/무손실 압축, 프레임 내/프레임간 압축, 대칭/비대칭 압축으로 나눌 수 있다. 이 밖에도 압축 복원 지연 시간이 50ms를 넘지 않는 경우에는 실시간 압축으로 분류하고, 프레임들의 해상도가 다양한 경우는 스케일러블 압축으로 분류한다. 문자 데이터나 의학용 데이터 등의 경우에는 무손실 압축이 이용되며, 멀티미디어 데이터의 경우에는 주로 손실 압축이 이용된다. 한편 공간적 중복을 제거하기 위해서는 프레임 내 압축이 이용되며 시간적 중복을 제거하기 위해서는 프레임간 압축이 이용된다.
상기 공간적 중복을 제거하는 방법으로써 가장 많이 사용되는 기술이 이산 코사인 변환(Distcrete Cosine Transform; 이하 DCT라 함)이다. 이산 코사인 변환은 입력된 영상 프레임을 주파수 영역의 프레임으로 변환함으로써 DCT 계수를 생성하는 과정을 포함한다. 이 후, 상기 생성된 DCT 계수는 양자화 과정을 거치면서 손실 부호화된다.
그러나, 이와 같은 종래의 영상 부호화 방법을 이용하면, 상기 손실 부호화된 결과를 역양자화하여 복호화하는 과정에서 발생하는 화상정보의 유실로 인하여, 바람직하지 못한 블록 인위성(block artifact) 효과가 발생하게 된다는 문제점이 있다. 이러한 블록 인위성 효과란, 이미 잘 알려진 바와 같이, 복호화된 화상의 단위 블록간의 미세한 밝기 차이로 인하여 블록간의 경계가 눈에 띄는 현상을 의미한다. 이는 블록 단위의 DCT 변환 및 양자화 과정에서 화면을 잘게 나눈 것이 시청자의 눈에 띄는 현상으로서, 이러한 블록킹 효과의 주요 원인은 DCT 계수의 DC 성분이 양자화/역양자화를 거치면서 그 성분의 일부가 유실되기 때문이다. 이러한 블록 인위성 효과는 시각적 화질, 특히 주관적 화질 면에서 악영향을 미친다.
본 발명은 이러한 문제의 해결 수단으로서, 영상을 DCT 변환하기 전에 레벨 시프팅(Level shifting)을 수행하는 방법을 제안하고자 한다. 다만, 이러한 레벨 시프팅과 관련하여, 특허 제162201호(발명의 명칭: 영상데이타의 직류성분-차분펄스 부호변조 시스템)는 DCT 변환을 수행하기 이전에 일률적으로 영상의 화소 레벨을 128만큼 다운 시프팅하는 기술을 게시하고 있다.
상기 특허 제162201호(이하, '201 특허라 함)의 동작 과정을 간략히 살펴 보면, 다음과 같다. 먼저, 영상의 부호화의 과정은, 부호화 대상인 영상을 8x8 블록 단위로 나누어 입력하는 단계와, 상기 블록의 화소 레벨을 전체 레벨(0~255)의 중간 값인 128만큼 낮추는(즉, 감산하는) 단계와, 상기 레벨을 낮춘 블록에 대하여 DCT 변환 후 양자화하는 단계와, 소정의 순서에 따라서 스캐닝(Zig-zag 스캐닝, Alternative 스캐닝 등)을 한 후 가변 길이 부호화를 수행하여 비트스트림을 생성하는 단계를 포함한다.
그리고, 상기 부호화 과정에 대응되는 복호화 과정은, 입력된 비트스트림에 대하여 역 가변 길이 부호화를 수행하는 단계와, 상기 스캐닝 방식에 따라서 역 양자화를 수행하고 역 DCT 변환을 수행하는 단계와, 역 DCT 변환 결과 생성되는 계수의 전체 레벨을 128만큼 높이는(즉, 가산하는) 단계와, 생성되는 8x8 블록들을 배열하여 영상을 복원하는 단계를 포함한다.
그러나, '201 특허는 입력 화소들에 대해 일률적으로 128만큼 다운 시프팅을 수행하고, 이산코사인변환 후 양자화를 수행하여 부호화 효율을 높을 수 있을지는 모르지만, DC 성분의 일부 손실로 인한 화질의 열화 및 블록 인위성 효과가 여전히 발생하는 문제점을 내포하고 있다.
본 발명은 상기한 문제점을 고려하여 창안된 것으로, 정지영상/동영상의 압축에 있어 DCT 변환을 하기 전에 적절한 레벨 시프팅을 수행하여 DC 성분을 손실없이 부호화/복호화하는 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 블록 인위성 효과를 감소시킴으로써 시각적 화질을 향상시키는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 하나의 프레임을 복수의 블록으로 분할하여 부호화하는 동영상/정지영상 부호화 방법은, 상기 블록을 구성하는 화소들의 평균을 계산하는 단계; 상기 상기 화소들을 상기 계산된 평균만큼 다운 시프팅하는 단계; 상기 다운 시프팅된 화소들을 손실 부호화하는 단계; 및 상기 손실 부호화된 결과 및 상기 계산된 평균 값을 무손실 부호화하는 단계를 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 동영상/정지영상 복호화 방법은, 입력된 비트스트림으로부터 소정의 블록에 대한 블록 평균 및 상기 블록의 텍스쳐 데이터를 추출하는 단계; 상기 추출된 텍스쳐 데이터를 손실 복호화하는 단계; 상기 손실 복호화 결과를 상기 블록 평균만큼 업 시프팅하는 단계; 및 상기 업 시프팅 결과 복원되는 블록을 조합하여 프레임을 복원하는 단계를 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 하나의 프레임을 복수의 블록으로 분할하여 부호화하는 동영상/정지영상 부호화 장치는, 상기 블록을 구성하는 화소들의 평균을 계산하는 수단; 상기 상기 화소들을 상기 계산된 평균만큼 다운 시프팅하는 수단; 상기 다운 시프팅된 화소들을 손실 부호화하는 수단; 및 상기 손실 부호화된 결과 및 상기 계산된 평균 값을 무손실 부호화하는 수단을 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 동영상/정지영상 복호화 장치는, 입력된 비트스트림으로부터 소정의 블록에 대한 블록 평균 및 상기 블록의 텍스쳐 데이터를 추출하는 수단; 상기 추출된 텍스쳐 데이터를 손실 복호화하는 수단; 상기 손실 복호화 결과를 상기 블록 평균만큼 업 시프팅하는 수단; 및 상기 업 시프팅 결과 복원되는 블록을 조합하여 프레임을 복원하는 수단을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 1은 본 발명의 일 실시예에 따른 비디오 인코더(100)의 구성을 도시한 블록도이다. 비디오 인코더(100)는 샘플링부(101), 블록 분할부(110), 다운 시프팅부(120), DCT 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 모션 추정부(180), 및 모션 보상부(190)를 포함하여 구성될 수 있으며, 폐루프 부호화(closed-loop coding)를 위하여 역양자화부(160) 및 역 DCT 변환부(170)를 더 포함할 수 있다.
샘플링부(101)는 입력된 동영상에 대하여 공간적 샘플링(spatial sampling) 및 시간적 샘플링(temporal sampling)을 수행한다. 공간적 샘플링은 아날로그 신호인 동영상을 화소 단위로 샘플링하여 소정 개수의 화소로 이루어진 프레임을 생성하는 것을 의미하고, 시간적 샘플링은 이러한 프레임을 소정의 프레임율에 따라서 생성하는 것을 의미한다. 샘플링부(101)에서 샘플링을 거친 후에는 프레임 단위로 이후 작업이 수행된다.
모션 추정부(180)는 소정의 참조 프레임을 기준으로 현재 프레임의 모션 추정을 수행하고 모션 벡터를 구한다. 이러한 움직임 추정을 위해 널리 사용되는 알고리즘은 블록 매칭(block matching) 알고리즘이다. 즉, 주어진 모션 블록을 참조 프레임의 특정 탐색영역 내에서 픽셀단위로 움직이면서 그 에러가 최저가 되는 경우의 변위를 움직임 벡터로 추정하는 것이다. 모션 추정을 위하여 고정된 크기의 모션 블록을 이용할 수도 있지만, 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM)에 의한 가변 크기를 갖는 모션 블록을 이용하여 모션 추정을 수행할 수도 있다. 모션 추정부(180)는 모션 추정 결과 구해지는 모션 데이터를 엔트로피 부호화부(150)에 제공한다. 상기 모션 데이터는 모션 벡터를 적어도 포함하고, 모션 블록의 크기, 참조 프레임 번호 등의 정보를 더 포함할 수 있다.
모션 보상부(190)는 상기 입력 비디오 프레임의 시간적 중복성을 감소시킨다. 이 경우 모션 보상부(190)는 상기 모션 추정부(180)에서 계산된 모션 벡터를 이용하여 참조 프레임을 모션 보상(motion compensation)함으로써 현재 프레임에 대한 시간적 예측 프레임을 생성한다.
차분기(105)는 현재 프레임과 상기 시간적 예측 프레임을 차분함으로써 현재 프레임의 시간적 중복성을 제거한다. 이 결과 잔여 프레임(residual frame)이 생성된다.
블록 분할부(110)는 차분기(105)에서 출력되는 신호, 상기 잔여 프레임을 소정 크기를 갖는 복수의 블록(잔여 블록)으로 분할한다. 이러한 블록의 크기는 이후 DCT 변환을 하는 단위가 되며, DCT 변환 단위에 따라서 4×4 화소 크기 또는, 8×8 화소 크기를 갖는다. 다만, 이는 예에 불과하고 DCT 변환 단위에 따라서 상기 블록은 다른 화소 크기를 가질 수도 있을 것이다. 이하에서는, 설명의 편의상 상기 블록은 8×8 화소 크기를 가지는 것으로 하고, 이에 따라서 이후 8×8 DCT 변환을 수행하는 것으로 하여 설명할 것이다. 블록 분할부(110)에 의하여 잔여 프레임이 블록 단위로 분할 되는 예는 도 2에 도시되는 바와 같다.
다운 시프팅부(120)는 블록 분할부(110)로부터 현재 블록(현재 프레임에 포함되는 블록 중 어느 하나를 의미함)을 수신하면, 상기 현재 블록을 구성하는 화소들의 평균(이하, "블록 평균"이라 함)을 구하고, 상기 화소들을 상기 구한 평균만큼 다운 시프팅(down-shifting) 한다. 즉, 상기 화소들의 값들에서 상기 평균 값을 차감한다.
블록 평균 M은 다음의 수학식 1에 따라서 구할 수 있다. 여기서, N은 현재 블록 크기를 나타내고(현재 블록이 8×8이라고 할 때, N=8), Aij는 현재 블록의 화소 값을 나타낸다.
그리고, 상기 다운 시프팅 결과 생성되는 화소 값 Xij는 다음의 수학식 2와 같이 계산될 수 있다.
본 발명에서와 같이, 상기 블록 평균만큼 현재 블록을 다운 시프팅 한 후 DCT 변환을 수행한다면, 그 결과 구해지는 DC 성분은 0이 될 것이다. 한편, 다운 시프팅부(120)에서 구한 블록 평균은 엔트로피 부호화부(150)에 전달되어, 이후 무손실 부호화된다.
한편, 상기 다운 시프팅된 블록은 DCT 변환부(130), 및 양자화부(140)를 거치면서 손실 부호화된다.
보다 자세히 살펴 보면, DCT 변환부(130)는 상기 다운 시프팅된 블록에 대하여 다음의 수학식 1에 따라서 DCT 변환을 수행하여 DCT 계수를 생성한다. 이러한 DCT 변환은 입력 화소 값을 주파수 영역에서의 값으로 변환하는 과정으로서, 공간적 중복성을 제거하기 위하여 상용되고 있는 기술이다.
수학식 3에서 Yxy는 DCT 변환 결과 생성되는 계수(이하, 'DCT 계수'라 함)를 의미하고, Xij는 DCT 변환부(130)에 입력되는 블록의 화소 값을 의미하며, N은 DCT 변환 단위를 의미한다. 블록 분할부(110)에서 8×8 화소 크기의 블록으로 분할하였다면, N=8이 될 것이다.
양자화부(140)는 상기 DCT 계수를 양자화하여 양자화 계수를 생성한다. 그러나, 상기 다운 시프팅 과정에서 DC 성분이 이미 0으로 되었으므로, 양자화 과정을 거치더라도 DC 성분의 손실은 발생하지 않는다.
여기서, 양자화(quantization)란 임의의 실수값으로 표현되는 상기 변환 계수를 일정 구간으로 나누어 불연속적인 값(discrete value)으로 나타내는 작업을 의미한다. 이러한 양자화 방법으로는 스칼라 양자화(scalar quantization), 벡터 양자화(vector quantization) 등의 알려진 방법이 있지만 여기서는 스칼라 양자화를 예를 들어 설명한다.
스칼라 양자화에서, 양자화 결과 생성되는 계수(이하, '양자화 계수'라 함) Qxy는 다음의 수학식 4에 따라서 구해질 수 있다. 여기서, round(.)는 반올림 함수를 의미하고, Sxy는 스텝 크기(step size)를 의미한다. 상기 스텝 크기는 N×N(본 예에서는, 8×8) 양자화 테이블(quantization table)에 따라서 정해지며, 상기 양 자화 테이블은 JPEG, 또는 MPEG 표준에서 제공하는 것을 이용할 수 있지만, 반드시 이에 한하지는 않는다.
여기서, x=0, …, N-1이고, y=0, …, N-1이다.
엔트로피 부호화부(150)는 상기 생성된 양자화 계수와, 모션 추정부(180)에 의하여 제공되는 모션 데이터, 및 다운 시프팅부(120)로부터 전달되는 블록 평균을 무손실 부호화하여 출력 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 허프만 부호화(Huffmann coding) 등 다양한 방법이 이용될 수 있다.
한편, 동영상 부호화기(100)는, 부호화기와 복호화기 간에 발생하는 드리프팅 에러(drifting error)를 감소시키기 위하여 폐루프 코딩(closed-loop coding)을 지원하는 경우에는, 역양자화부(160)와, 역 DCT 변환부(170)를 더 포함할 수 있다.
역 양자화부(160)는 양자화부(140)에서 생성된 양자화 계수를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정의 역에 해당되는 과정이다. 그리고, 역 DCT 변환부(170)는 상기 역양자화 결과를 역 DCT 변환하고 이를 가산기(115)에 제공한다.
가산기(115)는 상기 역 DCT 변환 결과와, 모션 보상부(190)로부터 제공되어 프레임 버퍼(미도시됨)에 저장된 이전 프레임을 가산하여 비디오 프레임을 복원하 고, 복원된 비디오 프레임을 모션 추정부(180)에 참조 프레임으로서 제공한다.
한편, 본 발명은 상기와 같은 동영상의 부호화뿐만 아니라, 정지영상의 부호화에도 사용될 수 있다. 도 3은 본 발명의 일 실시예에 따른 정지영상 부호화기(200)의 구성을 나타낸 블록도이다. 정지영상 부호화기(200)는 샘플링부(201), 블록 분할부(210), 다운 시프팅부(220), DCT 변환부(230), 양자화부(240), 및 엔트로피 부호화부(250)를 포함하여 구성될 수 있다.
정지영상을 부호화함에 있어서는 도 1에서 시간적 중복 제거와 관련된 모든 동작은 필요하지 않다. 따라서, 모션 보상부(190), 및 모션 추정부(180)는 필요하지 않으며, 폐루프 부호화를 위한 역양자화부(160), 및 역 DCT 변환부(170)도 필요하지 않다. 따라서, 정지영상 부호화기(200)는 도 1의 구성에 비하여 훨씬 간단하다. 그리고, 샘플링부(201), 블록 분할부(210), 다운 시프팅부(220), DCT 변환부(230), 양자화부(240), 및 엔트로피 부호화부(250)의 동작도 도 1에서 같은 명칭의 구성요소와 마찬가지이므로 중복적인 설명은 생략하기로 한다.
다만, 샘플링부(201)는 입력된 정지영상에 대하여 공간적 샘플링(spatial sampling)을 수행하여 프레임을 생성하며, 도 1의 샘플링부(101)와는 달리 시간적 샘플링은 과정은 수행할 여지가 없다. 그리고, 엔트로피 부호화부(250)는 양자화부(240)에서 생성되는 양자화 계수와, 다운 시프팅부(220)로부터 전달되는 블록 평균을 무손실 부호화하며, 모션 데이터는 존재하지 않으므로 부호화할 여지가 없다.
도 4는 도 1에 대응되는 본 발명의 일 실시예에 따른 동영상 복호화기(300)의 구성을 도시한 블록도이다. 동영상 복호화기(300)는 엔트로피 복호화부(310), 역 양자화부(320), 역 DCT 변환부(330), 업 시프팅부(340), 블록 조립부(350), 및 모션 보상부(360)를 포함하여 구성될 수 있다.
엔트로피 복호화부(310)는 엔트로피 부호화 방식의 역으로 무손실 복호화를 수행하여, 모션 데이터, 블록 평균, 및 블록별 텍스쳐 데이터(양자화 계수)를 추출한다. 그리고, 텍스쳐 데이터는 역 양자화부(320)에 제공하고, 모션 데이터는 모션 보상부(360)에 제공하며, 블록 평균은 업 시프팅부(340)에 제공한다.
한편, 상기 추출된 텍스쳐 데이터는 역 양자화부(320), 및 역 DCT 변환부(330)를 거치면서 손실 복호화된다.
보다 자세히 살펴 보면, 역 양자화부(320)는 엔트로피 복호화부(310)로부터 전달된 텍스쳐 데이터를 역 양자화한다. 본 발명에 따르면 이러한 역양자화 과정에서도 DC성분은 그대로 0이므로 DC성분의 손실은 발생하지 않는다.
역 양자화 과정은 동영상 부호화기(100) 측에서 사용한 것과 동일한 양자화 테이블을 이용한다. 역 양자화 결과 생성되는 계수 는 다음의 수학식 5에 따라서 계산될 수 있다. 여기서 계산된 가 와 달라지는 것은 수학식 2에서 round(.) 함수를 이용한 손실 부호화가 사용되었기 때문이다.
업 시프팅 부(340)는 상기 역 DCT 변환 결과를 엔트로피 복호화부(310)로부터 제공되는 블록 평균(M)만큼 업 시프팅(up-shifting) 한다. 업 시프팅된 결과 는 다음의 수학식 7에 의하여 계산될 수 있다. 여기서, 는 복원된 잔여 블록(residual block)의 각 성분을 의미한다.
블록 조립부(350)는 수학식 7에 따라 복원된 잔여 블록들을 조합하여 잔여 프레임을 복원한다. 동영상 부호화기(100)에서 도 2와 같이 블록 분할된 경우, 이에 대응하여 블록 조립부(350)가 상기 복원된 잔여 블록(B1' 내지 B12')으로부터 잔여 프레임을 복원하는 예는 도 5에서 나타내는 바와 같다.
모션 보상부(360)는 엔트로피 복호화부(310)로부터 제공되는 모션 데이터를 이용하여, 기 복원된 비디오 프레임으로부터 모션 보상 프레임을 생성한다. 그리고, 가산기(305)는 블록 조립부(350)에서 복원되는 잔여 프레임과 모션 보상부(360)로부터 제공되는 모션 보상 프레임을 가산하여 동영상을 복원한다. 물론, 이 와 같은 모션 보상부(360) 및 가산기(305)에서의 동작은 현재 프레임이 동영상 부호화부(100) 측에서 시간적 예측 과정을 통하여 부호화된 경우에 한하여 적용된다.
한편, 도 6은 도 3에 대응되는 본 발명의 일 실시예에 따른 정지영상 복호화기(400)의 구성을 도시한 블록도이다. 정지영상 복호화기(400)는 엔트로피 복호화부(410), 역 양자화부(420), 역 DCT 변환부(430), 업 시프팅부(440), 및 블록 조립부(450)를 포함하여 구성될 수 있다. 정지영상 복호화기(400)는 시간적 중복(temporal redundancy)과 관련된 동작은 불필요하므로, 모션 보상부(360) 및 가산부(305)는 사용되지 않으며, 모션 데이터도 사용되지 않는다. 다만, 이를 제외하고는 도 3과 마찬가지이므로 중복적인 설명은 생략하기로 한다.
지금까지 도 1, 도 3, 도 4, 및 도 6의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.
이하에서는, 보다 구체적인 예를 통하여 '201 특허와 본 발명을 비교하고자 한다. 이를 위하여, 도 7a와 같은 화소 값(Aij)을 갖는 블록(블록 평균 M=76.5)이 존재하고, 도 7b와 같은 양자화 테이블을 사용한다고 가정한다.
도 8a 내지 도 8c는 상기와 같은 가정하에, '201 특허에 따라 단계별로 변화되는 블록의 성분을 나타낸 것이다. 도 7a와 같은 블록을 -128만큼 다운 시프팅 한 후 DCT 변환하면, 그 결과는 도 8a와 같이 나타난다. 좌상단의 성분은 DC 값을 나타내며, 그 값은 -412이다. 그 다음, 도 7b와 같은 양자화 테이블을 이용하여 도 8a에 나타난 DCT 계수들을 수학식 4에 따라서 양자화하면 다음의 도 8b와 같이 나타난다. 이 후, 상기 양자화 테이블을 이용하여 수학식 5에 따라서 도 8b의 값들을 역 양자화하면 도 8c와 같이 나타난다. 여기서 보면, 역 양자화된 블록에서의 DC 값은 -400으로 -412의 12만큼 오차가 생긴다. 도 8c와 같은 값들을 역 DCT 변환한 후 그 평균 값을 구하면 78.0이 된다. 따라서, 원래 블록 평균과는 1.5만큼의 오차가 발생한다.
도 9a 내지 도 9c는 상기와 동일한 가정하에, 본 발명에 따라 단계별로 변화되는 블록의 성분을 나타낸 것이다. 도 7a와 같은 블록을 블록 평균(76.5)만큼 다운 시프팅한 후 DCT 변환하면, 그 결과는 도 9a와 같이 나타난다. 여기서 보면, DC 성분은 0이 됨을 확인할 수 있다. 이 후 도 7b와 같은 양자화 테이블을 이용하여 도 9에 나타난 DCT 계수들을 수학식 4에 따라서 양자화하면 다음의 도 9b와 같이 나타난다. 그리고, 상기 양자화 테이블을 이용하여 수학식 5에 따라서 도 9b의 값들을 역 양자화하면 도 9c와 같이 나타난다. 이와 같이, 본 발명에 따르면 양자화, 역 양자화 과정을 거치는 동안에도 DC 값은 0으로 변화하지 않는다. '0'이라는 숫자는 어떤 값을 곱하거나 나누어도 그대로 유지되는 값이기 때문이다. 도 9c와 같 은 역 양자화 결과에 대하여 역 DCT 변환을 수행한 후 블록 평균만큼 업 시프팅한 결과 생성되는 블록에서의 평균은 원래의 블록 평균 76.5와 동일한 값이 된다.
이와 같은 본 발명의 특징에 따라서, 부호화기 및 복호화기에서의 여러 과정을 거치는 동안에도 DC 값 내지 블록의 평균 값은 일정하게 유지된다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
본 발명에 따르면, 영상의 복호화시 DC 성분을 손실없이 복원함으로써 시각적 화질을 향상시키는 효과가 있다.
또한 본 발명에 따르면, DCT 변환 및 양자화 과정에 수반되는 블록 인위성(block artifact) 효과를 감소시키는 효과가 있다.
Claims (19)
- 하나의 프레임을 복수의 블록으로 분할하여 부호화하는 동영상/정지영상 부호화 방법으로서,(a) 상기 블록을 구성하는 화소들의 평균을 계산하는 단계;(b) 상기 화소들을 상기 계산된 평균만큼 다운 시프팅하는 단계;(c) 상기 다운 시프팅된 화소들을 손실 부호화하는 단계; 및(d) 상기 계산된 평균 및 상기 손실 부호화된 결과를 무손실 부호화하는 단계를 포함하는 동영상/정지영상 부호화 방법.
- 제1항에 있어서, 상기 (c) 단계는(c1) 상기 다운 시프팅된 화소들로 이루어진 블록에 대하여 DCT 변환을 수행하는 단계; 및(c2) 상기 DCT 변환 결과를 양자화하는 단계를 포함하는 동영상/정지영상 부호화 방법.
- 제1항에 있어서, 상기 블록은8×8 화소 크기를 갖는 동영상/정지영상 부호화 방법.
- 제1항에 있어서, 상기 프레임은시간적 중복이 제거된 잔여 프레임인 동영상/정지영상 부호화 방법.
- 제1항에 있어서, 상기 무손실 부호화는가변 길이 부호화(variable length coding)인 동영상/정지영상 부호화 방법.
- (a) 입력된 비트스트림으로부터 소정의 블록에 대한 블록 평균 및 상기 블록의 데이터를 추출하는 단계;(b) 상기 추출된 데이터를 손실 복호화하는 단계;(c) 상기 손실 복호화된 결과를 상기 블록 평균만큼 업 시프팅하는 단계; 및(d) 상기 업 시프팅 결과 복원되는 블록을 조합하여 프레임을 복원하는 단계를 포함하는 동영상/정지영상 복호화 방법.
- 제6항에 있어서, 상기 (b) 단계는(b1) 상기 추출된 데이터를 역 양자화하는 단계; 및(b2) 상기 역 양자화된 결과에 대하여 역 DCT 변환을 수행하는 단계를 포함하는 동영상/정지영상 복호화 방법.
- 제6항에 있어서,상기 소정의 블록은 잔여 블록(residual block)이고, 상기 복원되는 프레임인 잔여 프레임(residual frame)인 동영상/정지영상 복호화 방법.
- 제8항에 있어서,(e) 상기 입력된 비트스트림으로부터 모션 데이터를 추출하는 단계;(f) 상기 추출된 모션 데이터를 이용하여 미리 복원된 프레임으로부터 모션 보상 프레임을 생성하는 단계; 및(g) 상기 복원되는 프레임과 상기 모션 보상 프레임을 가산하는 단계를 더 포함하는 동영상/정지영상 복호화 방법.
- 하나의 프레임을 복수의 블록으로 분할하여 부호화하는 동영상/정지영상 장치로서,상기 블록을 구성하는 화소들의 평균을 계산하는 수단;상기 화소들을 상기 계산된 평균만큼 다운 시프팅하는 수단;상기 다운 시프팅된 화소들을 손실 부호화하는 수단; 및상기 계산된 평균 및 상기 손실 부호화된 결과를 무손실 부호화하는 수단을 포함하는 동영상/정지영상 부호화 장치.
- 제10항에 있어서, 상기 손실 부호화하는 수단은상기 다운 시프팅된 화소들로 이루어진 블록에 대하여 DCT 변환을 수행하는 수단; 및상기 DCT 변환 결과를 양자화하는 수단을 포함하는 동영상/정지영상 부호화 장치.
- 제10항에 있어서, 상기 블록은8×8 화소 크기를 갖는 동영상/정지영상 부호화 장치.
- 제10항에 있어서, 상기 프레임은시간적 중복이 제거된 잔여 프레임인 동영상/정지영상 부호화 장치.
- 제10항에 있어서, 상기 무손실 부호화는가변 길이 부호화(variable length coding)인 동영상/정지영상 부호화 장치.
- 입력된 비트스트림으로부터 소정의 블록에 대한 블록 평균 및 상기 블록의 데이터를 추출하는 수단;상기 추출된 데이터를 손실 복호화하는 수단;상기 손실 복호화 결과를 상기 블록 평균만큼 업 시프팅하는 수단; 및상기 업 시프팅 결과 복원되는 블록을 조합하여 프레임을 복원하는 수단을 포함하는 동영상/정지영상 복호화 장치.
- 제15항에 있어서, 상기 손실 복호화하는 수단은상기 추출된 데이터를 역 양자화하는 수단; 및상기 역 양자화된 결과에 대하여 역 DCT 변환을 수행하는 수단을 포함하는 동영상/정지영상 복호화 장치.
- 제15항에 있어서,상기 소정의 블록은 잔여 블록(residual block)이고, 상기 복원되는 프레임인 잔여 프레임(residual frame)인 동영상/정지영상 복호화 장치.
- 제17항에 있어서,상기 입력된 비트스트림으로부터 모션 데이터를 추출하는 수단;상기 추출된 모션 데이터를 이용하여 미리 복원된 프레임으로부터 모션 보상 프레임을 생성하는 수단; 및상기 복원되는 프레임과 상기 모션 보상 프레임을 가산하는 수단을 더 포함하는 동영상/정지영상 복호화 장치.
- 제1항에 기재된 방법을 컴퓨터로 판독 가능한 프로그램으로 기록한 기록 매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050005030A KR100679027B1 (ko) | 2005-01-19 | 2005-01-19 | Dc 성분의 손실 없이 영상을 코딩하는 방법 및 장치 |
US11/294,540 US20060159168A1 (en) | 2005-01-19 | 2005-12-06 | Method and apparatus for encoding pictures without loss of DC components |
CNA2005101346239A CN1809169A (zh) | 2005-01-19 | 2005-12-13 | 对画面进行无损直流分量编码的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050005030A KR100679027B1 (ko) | 2005-01-19 | 2005-01-19 | Dc 성분의 손실 없이 영상을 코딩하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060084504A KR20060084504A (ko) | 2006-07-24 |
KR100679027B1 true KR100679027B1 (ko) | 2007-02-05 |
Family
ID=36683851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050005030A KR100679027B1 (ko) | 2005-01-19 | 2005-01-19 | Dc 성분의 손실 없이 영상을 코딩하는 방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060159168A1 (ko) |
KR (1) | KR100679027B1 (ko) |
CN (1) | CN1809169A (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4377887B2 (ja) * | 2006-03-30 | 2009-12-02 | 株式会社東芝 | 映像分割装置 |
US8331663B2 (en) * | 2007-06-28 | 2012-12-11 | Qualcomm Incorporated | Efficient image compression scheme to minimize storage and bus bandwidth requirements |
JP5091806B2 (ja) * | 2008-09-01 | 2012-12-05 | 株式会社東芝 | 映像処理装置及びその方法 |
EP2879351A4 (en) * | 2012-07-25 | 2016-03-30 | Nec Corp | DATA TRANSMISSION DEVICE, DATA DIVIDING DEVICE, AND DATA DIVISION METHOD |
US9628803B2 (en) * | 2014-11-25 | 2017-04-18 | Blackberry Limited | Perceptual image and video coding |
CN109218726B (zh) * | 2018-11-01 | 2020-04-07 | 西安电子科技大学 | 激光诱导击穿光谱图像有损无损联合压缩方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970009385A (ko) * | 1995-07-31 | 1997-02-24 | 배순훈 | 픽셀의 평균값을 이용한 개선된 패턴 벡터 부호화 시스템 |
JPH1066093A (ja) | 1996-05-21 | 1998-03-06 | Matsushita Electric Ind Co Ltd | 動きベクトル検出回路 |
JP2000152226A (ja) | 1998-11-06 | 2000-05-30 | Sony Corp | 画像符号化装置および方法、画像復号装置および方法、並びに提供媒体 |
JP2000175193A (ja) | 1998-12-04 | 2000-06-23 | Mitsubishi Electric Inf Technol Center America Inc | 電子ディジタル画像シ―ケンス再生システムにおける画像デ―タ補間方法、フレ―ム速度アップ変換方法、および特徴的ブロックに関連する真のモ―ション・ベクトルを決定する方法 |
-
2005
- 2005-01-19 KR KR1020050005030A patent/KR100679027B1/ko not_active IP Right Cessation
- 2005-12-06 US US11/294,540 patent/US20060159168A1/en not_active Abandoned
- 2005-12-13 CN CNA2005101346239A patent/CN1809169A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970009385A (ko) * | 1995-07-31 | 1997-02-24 | 배순훈 | 픽셀의 평균값을 이용한 개선된 패턴 벡터 부호화 시스템 |
JPH1066093A (ja) | 1996-05-21 | 1998-03-06 | Matsushita Electric Ind Co Ltd | 動きベクトル検出回路 |
JP2000152226A (ja) | 1998-11-06 | 2000-05-30 | Sony Corp | 画像符号化装置および方法、画像復号装置および方法、並びに提供媒体 |
JP2000175193A (ja) | 1998-12-04 | 2000-06-23 | Mitsubishi Electric Inf Technol Center America Inc | 電子ディジタル画像シ―ケンス再生システムにおける画像デ―タ補間方法、フレ―ム速度アップ変換方法、および特徴的ブロックに関連する真のモ―ション・ベクトルを決定する方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20060084504A (ko) | 2006-07-24 |
US20060159168A1 (en) | 2006-07-20 |
CN1809169A (zh) | 2006-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100746011B1 (ko) | 잔차 예측의 성능 개선 방법, 상기 방법을 이용한 비디오인코더 및 비디오 디코더 | |
KR100703760B1 (ko) | 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치 | |
KR100791299B1 (ko) | 다 계층 기반의 비디오 인코딩 방법 및 장치 | |
KR100703788B1 (ko) | 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 | |
KR100714696B1 (ko) | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 | |
US6628716B1 (en) | Hardware efficient wavelet-based video compression scheme | |
KR100703774B1 (ko) | 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치 | |
KR100763194B1 (ko) | 단일 루프 디코딩 조건을 만족하는 인트라 베이스 예측방법, 상기 방법을 이용한 비디오 코딩 방법 및 장치 | |
KR100763182B1 (ko) | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 | |
KR100664928B1 (ko) | 비디오 코딩 방법 및 장치 | |
KR20060135992A (ko) | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 | |
KR20070092179A (ko) | 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 | |
KR100678909B1 (ko) | 인코더-디코더 간 불일치를 감소시키는 mctf 기반의비디오 코딩 방법 및 장치 | |
KR100703772B1 (ko) | 인코더-디코더 간 불일치를 감소시키는 mctf 기반의비디오 코딩 방법 및 장치 | |
KR20050075483A (ko) | 비디오 코딩 및 디코딩 방법, 및 이를 위한 장치 | |
KR100843080B1 (ko) | 비디오 트랜스코딩 방법 및 장치 | |
KR100679027B1 (ko) | Dc 성분의 손실 없이 영상을 코딩하는 방법 및 장치 | |
KR101375667B1 (ko) | 영상의 부호화, 복호화 방법 및 장치 | |
KR100818921B1 (ko) | 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더 | |
JP2005039837A (ja) | 映像雑音除去方法及び装置 | |
KR100855466B1 (ko) | 비디오 코딩 및 디코딩 방법, 및 이를 위한 장치 | |
KR100813001B1 (ko) | 차분신호의 크기와 부호의 분리를 이용한 동영상부호화/복호화 장치 및 그 방법 | |
KR0178221B1 (ko) | 픽셀의 평균값을 이용한 개선된 패턴 벡터 부호화 시스템 | |
EP1889487A1 (en) | Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction | |
KR100664930B1 (ko) | 시간적 스케일러빌리티를 지원하는 비디오 코딩 방법 및장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |