KR100322475B1 - 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법 - Google Patents
압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법 Download PDFInfo
- Publication number
- KR100322475B1 KR100322475B1 KR1019990055973A KR19990055973A KR100322475B1 KR 100322475 B1 KR100322475 B1 KR 100322475B1 KR 1019990055973 A KR1019990055973 A KR 1019990055973A KR 19990055973 A KR19990055973 A KR 19990055973A KR 100322475 B1 KR100322475 B1 KR 100322475B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit rate
- macroblock
- mpeg
- frame
- bit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 121
- 238000007493 shaping process Methods 0.000 title 1
- 238000013139 quantization Methods 0.000 claims abstract description 107
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000003044 adaptive effect Effects 0.000 claims abstract description 16
- 238000004891 communication Methods 0.000 claims abstract description 12
- 230000000694 effects Effects 0.000 claims abstract description 5
- 238000006243 chemical reaction Methods 0.000 claims description 87
- 230000006870 function Effects 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 26
- 230000006835 compression Effects 0.000 claims description 19
- 238000007906 compression Methods 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 2
- 238000012935 Averaging Methods 0.000 claims 1
- 238000011426 transformation method Methods 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 17
- 230000008901 benefit Effects 0.000 abstract description 11
- 230000008859 change Effects 0.000 abstract description 5
- 238000007796 conventional method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000002474 experimental method Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 비트율 변환 방법에 관한 것으로, 특히 통신대역의 변화에 대응하며 실시간으로 대역폭에 부합되는 비트율로 동영상을 변환해야 하는 멀티미디어 통신에 적합하도록 압축된 동영상을 최적의 화질을 갖고 원하는 비트율로 변환하는 방법이다.
본 발명은 압축영역에서 프레임을 구성하고 있는 매크로블럭의 양자화 파라메터를 다른 값으로 바꾸어 주는 재양자화를 통해 비트율을 변환한다. 그리고 매크로블럭에 대한 비트 할당을 위해 영상의 내용을 나타내는 척도가 되는 IACT (Image Activity, 영상 활성도)를 사용하였고, 이 IACT를 이용하여 매크로블럭에 비트를 할당하는 비트 할당함수를 구한다. 그러나 비트 할당함수는 매크로블럭의 비트를 할당하는 기준이 될 수 있으나, 프레임과 영상의 내용에 따라 편차가 있는 모델은 모든 스트림에 적용할 수 없다. 따라서 이 문제를 해결하기 위해 프레임의 유형과 IACT의 범위에 따라 입력 스트림의 매크로블럭에 대해 합당한 비트율 할당함수를 사용하는 적응형 비트할당 모델을 고안하고, 이를 기준으로 비트율을 변환한다.
본 발명은 기존 방법에 비해 변환된 비트율의 수렴속도 및 정확도, 알고리즘에 사용되는 연산수 및 실시간 처리에 장점을 갖는다.
Description
본 발명은 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율을 원하는 비트율로 변환하는 방법에 관한 것으로서, 상세하게는 영상 신호의 출력 비트율을 모델링하여 그 모델링된 수식에 의해 신호를 원하는 목적 비트율로 변환시켜 주므로써 실시간 응용에 적용될 수 있도록 한 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법에 관한 것이다.
고정된 비트율로 인코딩된 동영상을 낮은 비트율로 변환하는 방법은 압축부호의 영역별로 일부 알고리즘이 연구되었다. 그 변환방법은 도 1에 나타낸 바와 같이 부호에 대한 처리가 전혀 필요없는 완전한 압축부호인 FLC (Fixed Length Code, 고정장 부호) 영역에서 디코딩·인코딩의 전 과정을 거치는 화소영역까지로 그 처리의 단계가 구분된다.
비트율 변환에 대한 기존연구를 영역 별로 세분하여 설명한다.
FLC 영역의 비트율 변환방법은 동영상을 구성하는 프레임 중 일부를 제거 (dropping) 하는 것이 주로 사용된다. 도 2는 FLC 영역에서의 비트율을 변환함에 있어 네트워크의 트래픽 상태 혹은 필요한 응용에 맞게 특정 프레임을 제거하는 예를 보인 것이다. 여기서는 ISO/IEC의 MPEG 그리고 ITU-T의 H.263이 갖는 I, P, B 프레임 중 처음에는 다른 프레임에 영향을 전혀 미치지 않는 B 프레임을 제거하고, 더 낮은 비트율을 요구하는 경우는 P 프레임을 차례로 삭제하는 것을 보여 준다.
이 방법은 압축부호의 프레임 유형 정보를 갖고 있는 FLC만을 분석하고 해당하는 부분을 제거하는 단순한 형태로 구현이 가능하나, 비트율이 프레임 단위로 조절되므로 정확한 율 제어가 불가능하다. 특히 디코더의 관점에서 프레임이 제거된 것에 대응되게 부호를 디코딩하여 표시하는 기능이 필요하다. 즉 화면에 정상적으로 영상을 표현하기 위해서는 초당 30 프레임의 변화율을 만족하여야 한다. 따라서 비트율 변환을 위해 프레임이 제거되어 30 프레임을 채우지 못할 경우는 디코더 또는 영상 출력부에서 모자라는 화면을 이전 프레임으로 대체해야 한다. 그렇지 않을 경우에는 화면의 명멸 (flicker) 또는 화면이 빨리 표현되는 (fast forward) 현상이 나타난다. 즉 프레임 제거를 통한 비트율 변환은 범용 컴퓨터의 소프트웨어로 구현된 디코더에서 인터넷 상의 동영상을 트래픽 변동폭에 맞게 수신하는 응용에는 어느 정도 응용이 가능하나, 그 외 실시간 통신을 위한 비트율 변환에는 합당한 방법이 아니다.
DCT (Discrete Cosine Transform, 이산 여현 변환) 블럭에 대한 계수의 형태 및 위치 정보는 VLC (Variable Length Code, 가변장 부호)를 해석해 알 수 있다. VLC 영역에서의 비트율 변환 알고리즘은 VLC 분석을 거쳐 DCT 계수를 조작하는 방법으로 4개의 휘도블럭과 2개의 색차블럭으로 구성되는 매크로블럭 중 색차블럭을 제거하여 컬러영상을 흑백영상으로 변환하여 비트율을 조절하는 방법이 있다. 그 외 컬러 정보는 그대로 유지되나 DCT의 AC 계수를 삭제하여 비트율을 변환하는 방법으로 첫번째는 도 3에서와 같이 저주파에서 고주파의 성분 순으로 배열된 DCT 블럭의 배열 중 고주파에 해당하는 AC 부분을 제거하는 것이고, 두번째는 AC 성분 중 특정 값 이하의 AC 계수를 삭제하는 방법이다. 이것 역시 간단한 조작으로 비트율변환이 가능하다는 장점을 가지나 특정 비트율에 맞는 정확한 율제어는 불가능하며 화질의 변동폭이 크다는 결점을 갖는다.
도 4는 Q 영역에서의 재양자화를 통한 비트율 변환 방법을 보인 것이다.
이것은 VLD (Variable Length Decode, 가변장 복호)를 거치고 DCT 블럭을 역양자화 한 후, 재양자화 및 VLC를 수행하는 것으로 비교적 용이한 조작으로 정확한 비트율을 맞추어 줄 수 있는 장점을 갖는다. 실제 동영상을 인코딩할 때, 율제어는 프레임을 삭제하거나, 양자화 스텝의 크기를 조절하는 방법을 주로 이용한다. 이중 프레임 삭제는 일반적인 방법이 아니며, 후자인 양자화 처리는 동영상 율제어의 핵심이라 할 수 있다. 따라서 양자화 데이터 이상의 영역에서의 비트율 변환도 재양자화를 사용하는 것이 기본임을 감안하면 이 영역에서의 비트율 변환은 구현의 복잡성과 비트율 변환에 따르는 화질과의 절충점에 있다고 할 수 있다. 결국 재양자화를 통한 비트율 변환은 특정한 엔트로피를 갖고 있는 데이터를 최소의 비트로 최적의 화질을 갖도록 하는 양자화 파라메터 값을 찾는 것이라 할 수 있다.
동영상 인코더에서의 양자화 과정은 화질과 비트율을 결정하는 중요한 요소이나 영상의 내용, 움직임 정보와 기타 복잡한 인코딩 파라메터가 혼재하는 상황에서 최적의 양자화 파라메터 값을 찾는 것은 극도로 복잡한 알고리즘이 필요하다.
반면에 이미 생성된 압축 스트림을 대상으로 하는 양자화는 기존의 양자화 파라메터 값, 움직임 벡터, 프레임에 할당된 비트 수 등의 사전 정보를 충분히 이용할 수 있으므로 인코더의 경우보다는 최적의 양자화 파라메터 선정 과정이 용이하다. 현재 압축 스트림을 양자화 절차를 통해 낮은 비트로 변환하는 알고리즘은 단순히 양자화 파라메터를 비례식에 의해 결정하는 방법과 Lagrangian cost function(Lagrangian 비용 함수)을 이용하는 것이 있다. 그러나 전자는 정확한 비트율을 맞추어 주는데 문제점을 갖고, 후자는 이론적으로 최적의 결과를 얻을 수 있으나 수반되는 절차가 매우 복잡하고, 많은 처리시간이 소요되는 맹점이 있다. 양자화 데이터 영역에서의 처리는 구현의 복잡성과 화질간의 절충점이 될 수 있으며, 용이한 방법으로 최적의 양자화 파라메터를 선정하는 방법이 고안되었을 경우 이상적인 비트율 변환 방법이 될 수 있다. 따라서 이에 필요한 알고리즘의 연구는 매우 중요한 의미를 갖는다.
도 5에 보인 MC-DCT(Motion Compensated-Discrete Cosine Transform, 움직임 보상 이산 여현 변환) 영역에서의 비트율 변환은 DCT 상에서 움직임 보상을 수행하여 보다 정확히 DCT 계수 값을 보정하고 이를 다시 양자화, VLC하는 방법이다.
움직임 벡터는 변화없이 그대로 사용하거나 DCT 영역에서 움직임 추정을 하여 새로운 값을 생성할 수 있다. 도 6에 보인 화소영역에서의 비트율 변환 방법에 비해 DCT, DCT-1의 처리가 필요없고, 움직임 보상된 DCT를 사용하여 비트율을 변환하므로 낮은 비트율에서도 일정한 화질을 유지할 수 있으며, 움직임 추정에 DCT 정보를 이용하여 적은 연산만으로 벡터를 생성할 수 있는 장점을 갖는다.
그러나 인접한 영상과 연관성을 갖는 프레임 단위의 동작을 함으로써 화소영역과 동일한 처리지연이 발생하는 실시간성의 문제와 생성된 움직임 정보는 화소영역에 비해 정확성이 떨어지는 단점을 갖는다. 즉 이 방법은 화소영역에서의 비트율 변환에 비해 일부 연산과정이 단순해지는 장점을 갖으나 구현의 복잡성, 화질, 지연과 같은 비트율 변환에 대한 성능평가의 척도가 되는 요소를 기준으로 볼 때, 실시간 멀티미디어 통신에 합당한 비트율 변환 방법이 아니다.
도 6은 화소영역에서의 비트율 변환 방법을 보인 것이다.
DCT, DCT-1까지를 포함한 완전한 디코딩, 인코딩 처리를 거쳐 요구되는 비트 변환을 수행한다. 화소영역에서의 비트율 변환은 디코더와 인코더를 쌍으로 연결하여 필요한 기능을 구현할 수 있는 가장 일반화된 방법이나, 구현의 복잡도가 가장 높다는 단점이 있다.
한편, 인터넷 같이 네트워크의 대역폭에 대한 QoS를 보장할 수 없는 상황에서 압축 동영상을 전송하기 위해서는 대역 폭의 변동에 따라 유연하게 동영상의 비트율을 맞추어 주어야 한다. 그러나 상술한 바와 같은 종래의 비트율 변환에 사용되는 알고리즘은 급격히 변동하는 대역폭에 비트율을 정확히 맞추어주는데 어려움을 있거나, 복잡한 연산과정과 처리에 많은 시간이 소요되어 실시간 멀티미디어 통신에는 부적합한 것이 대부분이다.
따라서 본 발명의 목적은 통신대역의 변화에 대응하며 실시간으로 대역폭에 부합되는 비트율로 동영상을 변환해야 하는 멀티미디어 통신에 있어서 압축된 동영상을 최적의 화질을 갖고 원하는 비트율로 변환하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법을 제공하는 데 있다.
도 1은 영역별 비트율 변환을 설명하기 위한 도면
도 2는 종래 FLC (Fixed Length Code)영역에서의 비트율 변환을 나타낸 도면
도 3은 종래 VLC (Variable Length Code)영역에서의 비트율 변환을 나타낸 도면
도 4는 종래 Q (Quantized)영역에서의 재양자화를 통한 비트율 변환을 나타낸 도면
도 5는 종래 MC-DCT (Motion Compensated-Discrete Cosine Transform)영역에서의 비트율 변환을 나타낸 도면
도 6은 종래 화소영역에서의 비트율 변환을 나타낸 도면
도 7은 IACT (Image Activity)의 4가지 방법을 나타낸 도면
도 8은 IACT와 매크로블럭의 비트 수와의 관계도 (I frame)
도 9는 IACT와 매크로블럭의 비트 수와의 관계도 (P frame)
도 10은 IACT와 매크로블럭의 비트 수와의 관계도 (B frame)
도 11은 프레임 별 비트율 할당 함수와 평균 IACT을 나타낸 표
도 12는 양자화 파라메터와 매크로블럭의 비트 수와의 관계도
도 13은 적응형 비트 할당모델과 비트율 할당 함수를 나타낸 도면
도 14는 본 발명에 따른 비트율 변환 방법의 흐름도
도 15는 이분법 (Bisection)에 의한 양자화 파라메터 값 선정을 설명하기 위한 도면
도 16 및 도 17은 비트율 변환에 따르는 화질비교를 위한 도면
도 18은 화소영역과의 PSNR (Peak Signal to Noise Ratio) 비교를 위한 도면 (1.5Mbits/s)
도 19는 화소영역과의 PSNR 비교를 위한 도면 (1.0Mbits/s)
도 20은 화소영역과의 PSNR 비교를 위한 도면 (500Kbits/s)
도 21 및 도 22는 영상의 평균 PSNR 및 QS (Quantization Step) 표준 편차비교도
도 23은 처리된 영상의 평균 PSNR 차이를 나타낸 표
도 24는 처리된 영상의 평균 QS 표준 편차의 차이를 나타낸 표
도 25는 비트율 변환 알고리즘의 복잡도를 나타낸 도면
일반적으로 비트율 할당은 특정한 데이터를 표현하는 비트 값과 왜곡과의 관계를 체계화한 비트율 왜곡이론 (Rate-Distortion Theory, 이하 RDT라 한다)에 의해 구할 수 있다. 이것은 데이터가 갖는 특성을 분석하여 최적의 화질을 얻는 최소한의 비트를 할당하는 이론으로 동영상의 압축 비트율 생성을 포함한 소스 코딩에 일반적으로 적용된다. 합당한 비트율을 생성하기 위해 프레임의 공간적, 시간적 특성을 복합적으로 해석하여야 하는 인코더와는 달리 본 발명은 이미 생성된 압축부호를 대상으로 하므로 비트율 변환에 참조할 수 있는 정보를 미리 얻을 수 있는 이점을 갖는다.
또한 본 발명은 복잡한 장치 및 알고리즘을 이용해 화질에 중점을 둔, 비 실시간형 비트율 변환 방법과는 달리 단순한 구조를 갖고 최적의 비트율로 동영상을 실시간으로 변환하기 위해 압축영역에서 최적 양자화 파라메터 값을 찾는 방법을 사용한다.
압축부호의 특성은 할당된 비트율에 대한 왜곡 값으로 표현되며, 이 결과는화질이라는 정량화된 결과를 통해 알 수 있다. 일반적으로 영상신호에서 PSNR (Peak Signal to Noise Ratio, 피크 신호대 잡음비)로 나타내는 화질은 프레임 단위의 대표치로 표현되는 값으로 CBR (Constant Bit Rate, 항등 비트율) 영상과 같이 매크로블럭 단위에서 양자화 값의 변동이 클 경우에는 정확한 화질의 척도가 될 수 없다. 매크로블럭 단위의 급격한 양자화 값 변이는 프레임 내에서 화질의 변동이 심하다는 것을 의미하며, 동일한 PSNR 값을 갖는 영상의 경우에도 이것에 의해 분명한 화질의 차이가 발생한다. CBR과 동일한 PSNR 값을 갖는 VBR (Variable Bit Rate, 가변 비트율) 영상이 보다 나은 화질을 나타내는 것도 이와 같은 이유이다.
따라서 본 발명은 비트율 변환 방법의 기본 방향을 다음과 같이 설정한다.
1. 매크로블럭의 최적 양자화 파라메터 선정을 통한 비트율 변환
2. 객관적 화질 (PSNR) 이외에 주관적인 화질 증진
3. 프레임 단위의 분석을 통한 최적 비트율 변환
4. 최대 33ms (하나의 화면주기) 이하의 실시간 변환
압축 동영상의 비트율 변환을 단순하게 설명하면, 목적하는 비트율로 부호를 변환하는 것이다. 그러나 이것을 위해서는 대상이 되는 스트림의 특성 및 구조를 정확히 분석 해야 하며, 이 분석 방법에 따라 다른 결과를 낳을 수 있다. 최적 비트율 변환을 위한 분석의 단위는 스트림, 프레임 집합, 프레임 그리고 그 이하에 내려 갈 수 있다. 만일 그 단위가 스트림이라면, 압축된 부호 전체를 분석한 후, 스트림의 구조를 변경하는 것을 의미하며, 이는 단순히 비트율 변환의 관점에서 최적의 결과를 가져올 수 있으나, 실시간 응용에는 전혀 사용될 수 없다.
따라서 본 발명은 실시간 응용에 적용이 가능하고 인간 지각 시스템 (Human Visual System : 이하 HVS라 한다)에 대응되는 프레임 단위의 처리를 통해, 효율적으로 비트율을 변환한다.
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세하게 설명한다.
영상의 특성에 상관없이 Y, Cb, Cr의 동일한 형태로 부호화되는 비 압축영역의 동영상과는 달리 압축영역의 동영상 부호는 DCT 변환 이후, 각 계수값을 영상의 엔트로피를 나타내는 값으로 사용할 수 있다. 이때 DCT 계수의 특성을 표현하는 것을 IACT라 칭한다. IACT와 출력 비트율과의 관계를 모델링하면, 비트율 할당의 기준으로 삼을 수 있다.
비트율 할당함수를 구하기 위해 이하에서는 IACT에 대한 매크로블럭의 비트율 생성관계를 설명한다. 매크로블럭의 IACT를 나타내는 방법으로 다음의 4가지 방법이 있다.
1. 매크로블럭을 구성하는 모든 DCT계수의 변이 (variance)
2. 매크로블럭을 구성하는 DCT계수 중AC만의 변이
3. 매크로블럭을 구성하는 모든 DCT 계수의 절대값의 합
4. 매크로블럭을 구성하는 DCT 계수 중AC에 대한 절대값의 합
도 7은 상기한 4가지 방법의 IACT에 대한 매크로블럭의 비트 수와의 관계를 나타낸 것이다. 도면에서 보듯이 방법 1, 2의 경우는 서로 상관 관계가 없는 반면, 방법 3, 4는 분명한 연관성을 가짐을 알 수 있다. 또한 방법 3의 경우보다도 방법 4가 보다 나은 특성을 보이고, 적은 데이터의 분석만으로 표현이 가능하므로 IACT를 나타내는 방법은 4가 합당함을 알 수 있다. 그러나 4의 경우도 정확한 선형성을 나타내는 비례관계를 보이고 있지 않다. 따라서 본 발명에서는 다양한 내용을 포함하는 스트림을 프레임 별로 분석하였다. 그 결과 IACT와 매크로블럭과의 관계는 스트림의 내용보다는 프레임의 유형에 종속된다는 결론을 얻었다.
도 8 내지 도 10에 프레임 유형(I, P, B)에 따르는 IACT와 매크로블럭의 비트 수의 관계를 나타내었다.
분석에 사용된 스트림은 MPEG-2 테스트 모델 5 (TM-5) 인코더를 사용하였으며, 양자화 값을 고정한 VBR 데이터이다. 양자화가 적용되는 최소 단위인 매크로블럭을 표현하는 최적의 비트는 RDT에 의한 값으로 정해져야 하고 각각의 매크로블럭에 필요한 고유한 비트 값이 있다.
고정된 양자화 값으로 표현되는 VBR영상은 RDT의 관점에서 최적의 비트가 할당되었다고 볼 수 없으나, 동일한 양자화 값을 사용한 VBR은 매크로블럭의 특성을 그대로 나타내는 최적에 가까운 비트 할당이 이루어졌다고 가정할 수 있다.
따라서 본 발명에 사용되는 비트율 할당 함수는 VBR의 IACT 특성를 이용한다. 이것은 비트율 변환의 처리 대상이 CBR 영상이지만 영상의 비트율 할당값은 VBR 영상의 장점을 취하기 위한 것이다.
IACT에 따르는 비트율 할당 함수는 프레임 유형 별로 뚜렷한 선형성을 가지므로 비트율 할당 모델로 사용할 수 있으며, 이 특정 스트림에 대한 모델을 이용하여 프레임을 구성하는 매크로블럭의 비트 할당값을 구한 후, 변환을 행하면 VBR 영상의 특성을 지닌 결과를 얻을 수 있다. 그러나 비트율 할당 함수는 스트림의 내용에 따라 다소 다른 특성을 갖는다. 따라서 단일 선형 비트율 할당모델을 사용하는 것보다는 스트림의 고유한 IACT에 의해 구간 별로 함수관계를 맞추어 가는 적응형 모델이 바람직 할 것이다. 도 11은 IACT에 따라 결정되는 비트율 할당 함수 관계를 표로 나타낸 것이다.
앞서 설명한 바와 같이 IACT에 대한 매크로블럭의 관계는 프레임 별의 모델이 합당함을 알 수 있다. 그러나 이것을 비트변환에 직접 적용하기 위해서는 일부 해결되어야 하는 점이 있다. 현재 IACT는 양자화 파라메터를 1로 고정한, VBR 스트림을 분석한 것이다.
그러나 양자화 값이 고정된 VBR영상과는 달리 CBR영상은 프레임내 매크로블럭의 양자화 파라메터가 인코더의 율 제어기능에 종속되어 가변된다. 따라서 CBR 영상의 IACT를 구하기 위해서는 양자화 파라메터의 변이에 따르는 왜곡을 보상해 주어야 한다. 즉 CBR영상에 대한 매크로블럭의 IACT를 구하기 위해 역양자화를 거쳐 DCT 계수에 대한 연산의 결과는 정확한 IACT와는 다른 왜곡된 값을 갖는다. 이 왜곡을 처리하기 위해 매크로블럭과 양자화 파라메터의 관계를 정형화 하여 보상한다.
도 12는 양자화 파라메터에 따라 매크로블럭의 비트수가 변화되는 형태를 나타낸 것이다. 도면에서 보듯이 양자화 파라메터 값에 따라 변화되는 매크로블럭의 비트 수는 명확한 선형성을 나타내나, 실제 VLC로 표현되는 압축 비트는 정확한 선형 함수로 볼 수 없다. VLC는 RLC (Run Length Code)와 엔트로피 코딩으로 이루어진다. 그 결과 발생되는 코드는 양자화 파라메터 값에 따라 생성되는 0의 값을 갖는 DCT 계수의 분포와 코드의 발생 빈도 수에 따라 다르게 표현된다.
IACT는 영상의 내용에 따르는 특성을 나타내는 지표가 되며, 이것을 기준으로 매크로블럭에 비트를 할당하는 것이 본 발명의 기본 알고리즘이다. 최적의 비트율 변환을 위해서 영상이 갖고 있는 정확한 IACT를 구해야 하며, 양자화 파라메터에 의해 왜곡된 CBR 영상의 IACT를 원래의 IACT로 보상하는 것이 알고리즘의 성능을 좌우하게 된다. IACT 왜곡은 매크로블럭 별로 다르게 적용된 양자화에 기인한 것으로 양자화 파라메터의 값이 1 이상인 매크로블럭에 양자화 오류 값을 더해 줌으로서 보상이 가능하다.
양자화 오류와 IACT는 동일한 데이터의 양으로 표현되므로 서로 더해 줄 수 있으며, 이 과정을 거친 매크로블럭의 IACT는 AC 계수의 확률적 분포에 따라 평균적으로 보상된 값이다. 출력벡터 {Yi; i=1, ... , N}, 입력구간 {Si; i=1, ... , N}, 그리고 양자화기가 q일 때, 일반적으로 고정된 스텝을 갖는 스칼라 양자화에서 발생하는 양자화 에러()는 수학식 1로 표현된다.
여기서 N 이 충분히 크고, 확률밀도 함수 pdf(probability density function) f(x)는 Si내에서 거의 상수의 값을 갖는다고 가정하여 수학식 2를 구할 수 있고, 수학식 3, 4와 같이 f(x)는 일정구간 내에서 fi로 근사화 하여 수학식 5를 얻을 수 있다.
Euclidean 일반분포와 ρ(μ)=μ2인 경우에 qsk인 영역에 대한 평균 양자화 에러는 통계/확률식에 의한 유도과정을 이용하여 수학식 7과 같이 된다. 수학식 8은 일반 양자화 에러에 HVS 요소를 고려한 것이다.
수학식 9에서 왜곡 (distortion)은 양자화 에러에 해당하고, 이 값이 원래의 데이터와 역양자화 처리후의 데이터의 MSE (Mean Square Error)를 의미하므로 수학식 10으로 다시 쓸 수 있다.
그런데, 본 발명에서 사용하는 IACT는 DCT 계수(AC 계수)의 절대값을 더한 것이므로 양자화 파라메터에 따르는 IACT의 왜곡을 보상하기 위해 수학식 10을 이용하여 다음과 같이 나타낼 수 있다.
비트의 할당 문제를 IACT의 함수로 모델링하고, 양자화 파라메터 차이에 의한 왜곡을 보상하여 주므로써 CBR 동영상의 비트율 변환이 이루어질 수 있다. 그러나 IACT에 따르는 비트율 할당의 전체적인 특성은 프레임에 대한 함수관계로 표현할 수 있으나, 여전히 스트림의 내용에 따라 함수의 특성이 다르게 나타난다. 이것을 해결하기 위해 분석된 개별 스트림의 비트할당 함수를 평균하는 모델을 사용하는 방법도 한가지 대안이 될 수 있다. 그러나 이것은 스트림 집합의 평균 특성을 나타내므로 정확한 비트율 할당 함수로 사용하는데 문제가 있다.
본 발명은 이를 해결하기 위해 스트림의 내용에 따라 고유한 함수를 찾아가는 적응형 비트율 할당 모델을 사용한다. IACT는 스트림의 내용에 따라 약간씩 다른 특성을 가지나, 전체 스트림을 대상으로 구간별로 IACT 함수를 구하면, 원래의 값에 수렴할 수 있다.
즉, 본 발명에서는 프레임 유형 (I, P, B)별로 IACT 값에 따라 소정의 구간으로 나누고, 각 구간별로 개별 스트림 (Akiyo, Mother and daughter, Paris, Table tennis, Hall monitor, Calendar, Container, Coast guard 등)의 비트율 할당 함수를 구한 다음, 이들 비트율 할당 함수를 최적화 (바람직하게는 평균값)하여 해당 구간의 비트율 적응 함수로 결정한다. 이때 IACT 구간의 수와 간격은 프레임이 영상의 화질에 영향을 미치는 중요도를 고려하여 결정하며, IACT 구간수는 I 프레임 > P 프레임 > B 프레임 인 것이 바람직하다.
도 13은 본 발명의 적응형 비트 할당모델과 비트율 할당 함수를 나타낸 것으로, 왼쪽 도면은 IACT, 비트의 관계를 구간 별로 세분한 것을 보여준다.
모델은 IACT의 구간을 나누는 △IACT를 작게 구분할수록 정확도와 복잡도가 병행하여 높아진다. 그러나 IACT는 영상의 내용에 따라 몇단계로 구분할 수 있으며, 세분된 구간은 거의 동일한 특성을 갖는다. 따라서 본 발명에서는 영상의 화질에 영향을 미치는 중요도를 고려하여 적응형 비트율 할당 함수의 구간 △IACT 를 I, P, B 프레임 순으로 차등을 두어 적용하였다.
적응형 비트 할당모델은 입력되는 스트림의 프레임 유형 (I, P, B)과 이것의개별 매크로블럭에 대한 IACT를 구하여, 해당되는 비트율 할당함수를 찾는다. 해당 비트율 할당함수로 적응한 후, 매크로블럭에 필요한 비트율 할당값을 계산한다. 이는 다음과은 단계로 표현할 수 있다.
단계 1: 입력 스트림의 프레임 유형별 IACT 계산
단계 2: IACT에 따르는 비트율 할당 함수 적응
단계 3: 적응 함수에 의한 비트율 할당
이와 같은 본 발명에 따른 적응형 비트 할당모델을 이용하여 CBR 압축 동영상의 비트율을 변환하는 방법에 대해 설명한다. 비트율 변환은 높은 비트에서 낮은 비트로의 변환을 의미하며 최적화는 입력 스트림의 분석을 통해 매크로블럭에 왜곡을 고려한 합당한 비트를 할당함으로써 이루어진다.
도 14는 본 발명에 따른 동영상의 비트율 변환 과정을 보인 흐름도이다.
도면에서 보듯이, 본 발명의 비트율 변환 방법은 입력 스트림을 분석하는 과정; 전체 스트림과 이에 따른 프레임에 비트율을 할당하는 과정; 매크로블럭의 IACT를 계산하는 과정; 적응형 비트율 할당모델을 이용해 매크로블럭에 합당한 비트를 할당하는 과정; 매크로블럭에 대한 양자화 파라메터를 탐색하는 과정; 및 비트율 대비 화질 비교를 통해 최종 양자화 파라메터를 결정하는 과정을 포함하여 압축영역에서 재양자화를 통해 비트율을 변환한다.
이를 자세하게 설명한다.
처음 수행되는 입력 동영상에 대한 스트림 분석은 입력되는 압축부호의 형태를 해석하는 과정이다.
압축부호는 수학식 12에 나타낸 바와 같이 비트변환에 사용될 수 있는 부분 (reducible_part)과 변경이 불가능한 부분 (not_reducible_part)으로 나뉜다. 즉 재양자화를 통해 낮은 비트로 변환하는 본 발명에서는 압축부호의 신텍스 파라메터, 움직임 정보 등을 그대로 사용하므로 이것을 제외한 나머지 부분이 비트율 변환에 사용된다.
그리고, 비트율 할당 함수가 프레임 유형 (I, P, B)에 따라, 또한 IACT의 값에 따라 적용되는 함수가 다르므로 입력되는 압축 부호의 구문을 해석한다.
비트율의 변환은 분석되는 스트림의 구간이 커질수록 화질 측면에서 보다 나은 결과를 낳는다. 즉 항등비트의 특성을 갖는 스트림 전체의 특성을 분석하거나, 상당수의 프레임을 분석하여 비트를 재할당 함으로써 화질이 향상되는 결과를 얻을 수 있다. 그러나 분석하는 구간이 커질수록 비트변환의 절차가 복잡해지고, 처리지연도 병행하여 증가하게 된다. 따라서 분석은 이를 고려한 합당한 구간이어야 하며, 본 발명에서는 한 프레임을 분석 구간으로 삼는다. 이것은 30Hz 단위의 정보인 하나의 영상 프레임이 객관적인 화질과, 화면에 표시되는 기본단위가 되기 때문이며, 멀티미디어 통신에서 동영상 조작처리를 위해 허용되는 지연조건을 고려하여 비트율 변환이 한 프레임 내에서 실시간으로 이루어지도록 하기 위함이다.
이에 따라 스트림 및 프레임에 대한 비트할당은 수학식 13과 같이 입력 압축부호의 비트율과 변환하는 압축부호의 비트율을 선형적으로 나눠 구한다.
입력 압축부호의 분석과 스트림, 프레임에 대한 비트율 할당을 한 후, 본 발명의 핵심인 매크로블럭에 대한 비트 할당을 위해 IACT를 구한다. IACT는 입력 스트림의 매크로블럭을 역양자화하여 구할 수 있으며, 양자화 파라메터에 의한 에러보정을 위해 다음식을 사용한다.
여기서, IACT*K는 K 매크로블럭의 AC 계수를 통해 얻은 값이고, QPk는 K 매크로블럭의 양자화 파라메터이며, IACTK는 양자화 에러가 보정된 IACT 이다. 여기서양자화 에러에 해당하는 부분은 원래의 IACT가 양자화 파라메터를 1로 하여 구한 것을 기준으로 하였으므로 이것을 고려하였다.
매크로블럭의 IACT 계산한 후, 실제 매크로블럭에 할당해야 하는 비트를 구하여야 한다. 이 때 적응형 비트 할당을 사용하며, 해당되는 매크로블럭이 속하는 프레임의 유형과 IACT 값이 속하는 범위에 따라 합당한 함수를 사용한다. 이 과정을 통해 프레임에 속한 모든 매크로블럭에 대한 비트 할당값을 구할 수 있다. 그러나 할당된 비트 수는 매크로블럭에 이상적으로 할당되어야 하는 기준 값일 뿐, 비트율 변환에 직접 사용될 수는 없다. 실제 매크로블럭에 할당되는 비트 수는 첫 번째 과정에서의 스트림 분석결과와 두 번째 과정에서의 프레임에 대한 비트율 할당을 기준으로 변환에 사용될 수 없는 부분을 제외한 비트 수에 대한 비례식으로 구하여 준다.
수학식 14∼18를 이용하여 변환될 비트율에 따르는 프레임내의 개별 매크로블럭에 대한 실제 비트 할당값을 구할 수 있다.
IACT의 가중치에 따라 매크로블럭에 할당된 비트값은 양자화 과정을 통해 비트로 표현된다. 이것은 매크로블럭에 할당된 비트수가 임의의 값을 가져도 이것을 표현하는 방법은 1에서 31까지의 제한된 값을 갖는 양자화 파라메터에 의해 결정되며, 원래의 비트량에 대비한 왜곡의 관계가 최적이 되는 양자화 파라메터 값을 선택해야 이상적인 비트 변환이 이루어진다. 이 양자화 파라메터 선정에 일반적으로 사용되는 것이 도 15에 보인 이분 (bisection) 탐색방법이며, 몇단계의 탐색과정을 통해 원하는 값을 얻을 수 있다.
이분법을 이용하는 양자화 파라메터 결정은 선택된 초기값에 따라 수행되는 회수가 달라지므로, 초기 양자화 파라메터의 선정은 비트 변환 알고리즘의 복잡도를 결정하는 하나의 척도가 된다. 즉 비트 변환을 위한 매크로블럭의 양자화 파라메터 값은 높은 비트에서 낮은 비트로 변환한다는 가정하에 앞에서 1∼31의 전체 영역보다는, 수학식 19에서 나타낸 것 처럼 원래의 매크로블럭의 양자화 파라메터값과 31사이에 있다고 볼 수 있다. 그러나, 이분법은 초기의 양자화 파라메터 값에 따라 가변적으로 여러 단계의 탐색과정을 거쳐야 하므로 탐색의 단계를 줄이기 위한 초기 양자화 파라메터 값 선정에 다음식을 이용한다.
매크로블럭의 양자화 파라메터에 따르는 비트 수는 수학식 20에 의해 나타낼 수 있다. 이것은 DCT 계수의 표준편차를 사용한 것으로, RLC에 의해 비트압축이 일어나는 것을 수식화 한 것이다. 수학식 20을 통해 개별 매크로블럭에 대한 양자화 파라메터 값은 다음과 같이 구할 수 있다.
여기서, QPinitial은 양자화 파라메터의 탐색을 위한 초기값이고, BITtaget_MB는 매크로블럭의 변환 비트수 이며, BIToriginal_MB는 매크로블럭의 원래 비트수이다.
최적의 양자화 파라메터 값은 단순히 비트 할당모델에 의해 구해진 매크로블럭의 비트수를 정확히 나타내는 것 이외에 왜곡 측면이 같이 고려되어야 한다. 매크로블럭에 할당된 비트에 근사한 값을 갖도록 하는 양자화 파라메터는 수학식 22의 초기 값을 사용하고, 몇단계의 이분법을 통해 구할 수 있다. 그러나 이때의 값은 할당된 비트수와 가장 근접한 비트수 일뿐, 왜곡은 고려되어 있지 않다.
즉, 최종 양자화 파라메터 값은 비트에 대한 측면과 해당 비트에 대한 왜곡을 고려하여 몇가지 양자화 파라메터 중 최적의 값을 선택하여야 한다. 이때 왜곡은 매크로블럭이 영상으로 표현될 때의 화질을 의미하므로 압축영역에서는 정확한 측정 방법이 없다.
따라서 본 발명에서는 매크로블럭의 왜곡을 판단하는 기준으로 비트율이 변환되기 이전의 매크로블록이 갖는 DCT 계수와 변환된 후의 DCT 계수의 차이를 왜곡의 척도로 삼는다. 이것은 기존의 PSNR 이 원래의 화소와 처리된 후의 화소간의 값을 뺀 것임을 고려하면, 압축영역에서의 왜곡을 측정하는 척도로서 합당하다 할 수 있다.
여기서,,는 각각 해당 DCT값을 사용하여 변환된 매크로 블록의 비트수와 변환된 비트율의 평균값이고,는 원래의 DCT 계수,는 비트 변환된 후의 DCT 계수이며, α는 양자화 파라메터 결정함수이다.
최종 양자화 파라메터 선정은 이분법을 통해 선정된 값과 이웃하는 양자화 파라메터 중 수학식 23의 값이 적은 것으로 선택한다. 여기서 α 값은 양자화 파라메터의 값을 화질 또는 비트 수의 수렴 중 어느것에 중점을 두느냐를 결정하는 가중 치의 의미를 갖는다.
최종 양자화 파라메터가 결정되면 재양자화하여 비트율 변환을 수행한다.
이상에서 설명한 본 발명의 비트율 변환 방법을 기존의 방법과 비교하고, 그 장점을 설명하기 위해 실제 범용 컴퓨터 상에서 프로그램으로 구현하였다. 그리고 구현된 프로그램을 이용하여 실제 MPEG 압축 동영상의 비트율을 변환한 후, 그 결과를 영상의 화질, 구현의 복잡도 그리고 처리 시간의 세부 항목을 갖고, 기존 방식과 비교하였다. 그 결과 후술하는 내용과 같이 전체 항목에서 우수한 결과를 얻었으며, 특히 기존 방법에 비해 구현이 매우 간단하며, 실시간성에 장점을 갖는 것을 확인할 수 있었다.
이를 상세하게 설명하면, 본 발명에 따른 비트율 변환 방법을 구현한 소프트웨어는 크게 압축 동영상 스트림 해석부, 스트림 및 프레임 비트율 할당부, 매크로블럭의 IACT 계산부와 적응형 비트율 할당 모델에 따라 매크로블럭에 비트를 할당하는 처리부 그리고 최적 양자화 파라메터 선정부로 구성된다. 실험을 위한 동영상은 CIF (Common Intermediate Format, 공통중간포멧) 해상도를 갖는 영상을 테스트 모델 5 (TM-5) 표준 인코더를 사용하여 처리하였으며, MPEG-2의 구조는 I, P, B 프레임을 포함한다. 그리고 I 가 15 프레임마다 반복되는 GOP (Group Of Picture)로 구성이 되도록 인코딩하였다. 출력된 MPEG-2 스트림의 비트율은 CIF 해상도를 고려하여 2Mbits/s의 CBR로 인코딩하였고, 객관적인 평가 결과를 얻기 위해 다양한 내용을 갖는 8개 스트림을 실험용으로 사용하였다.
비트율 변환에 따르는 화질은 화소영역에서의 처리방법, AC를 제거하는 방법 그리고 본 발명에 따른 방법에 의해 각기 다른 비트율로 변환된 영상의 화질을 PSNR로 비교, 평가하였다. 도 16과 도 17에 나타난 바와 같이 비트율 변환에 의한 화질의 차이에 대해서 AC를 삭제하는 방법은 매크로블럭에 포함된 DCT AC 계수를 임의로 제거함에 따라 전반적인 화질은 다른 두 방식에 비해 4dB 이상의 큰 차이를 보였다. 특히, 낮은 비트율에서는 중요한 AC 정보가 상당부분 제거되어 급격한 화질저하가 발생함을 알 수 있다. 또한 이것은 8x8의 블럭으로 구성된 각 배열의 아래부분을 차례로 제거하는 방법으로 비트율을 변환하므로 목적하는 비트율에 정확히 맞추어 줄 수 없다는 단점을 지녀, 비트율 변환에 적절하지 못한 방법임을 알 수 있다.
도 18 내지 도 20은 본 발명에 따른 방법과 화소영역에서의 비트율 변환 방법에 의해 처리된 영상의 화질을 비교한 것으로, 변환 비트율은 1.5Mbits/s에서500Kbits/s까지로 하였다. 도면에서 보듯이 객관적인 화질이라 할 수 있는 PSNR은 두 방법에 따른 결과가 큰 차이 없이 거의 유사함을 알 수 있다. 그러나 한 화면 내의 화질의 균일도에 대한 부분이 인간의 지각 특성에 민감하게 반응하며, 동일한 PSNR을 갖는 영상에서도 CBR 동영상 보다 VBR 동영상이 우수한 주관적 화질 특성을 나타냄을 고려하면, 화면의 화질 균일도를 나타내는 평가 방법이 필요하다 할 수 있다. 여기서는 화질 균일도를 나타내는 지표로 한 화면을 구성하는 매크로블럭의 양자화 스텝의 표준편차를 이용하였다.
도 21과 도 22는 본 발명에 따른 비트율 변환 방법과 화소영역에서의 비트율 변환 방법에 따라 1.5Mbits/s에서 500Kbits/s까지의 비트율로 변환된 영상의 PSNR 평균값과 양자화 스텝의 평균 표쥰편차를 보였다. 객관적인 화질이라 할 수 있는 PSNR은 표에 나타낸 것과 같이 거의 동일한 값을 갖고, 특히 스트림의 형태와 변환 비트율에 따라 본 발명에 따른 방법에 의해 변환된 영상의 화질이 일부 우월한 성능을 나타내는 부분이 있음을 알 수 있다. 그러나 전체적인 평균을 보면, 화소영역에서의 비트율 변환 방법이 근소하게 나은 특성을 가짐을 알 수 있다. 반면에 여기서 주관적인 화질의 지표로 사용한 양자화 스텝의 표준편차는 실험에 이용한 모든 스트림 그리고 변환 비트율에서 화소영역의 처리방법에 비해 낮은 값을 가짐을 알 수 있다. 즉 본 발명에 따라 처리된 영상이 갖는 화면의 화질 균일도는 화소영역의 방법에 비해 우수한 특성을 나타내며, 이 주관적, 객관적 화질과 구현의 복잡도를 종합적으로 고려하면, 본 발명의 비트율 변환 방법이 상당한 장점을 가짐을 알 수 있다.
도 23과 도 24는 각각 본 발명에 따른 방법과 화소영역의 방법에 의해 처리된 전체 스트림 그리고 모든 변환 비트율에 대한 평균 PSNR 차이와 평균 양자화 스텝의 표준편차의 차이를 나타낸 것이다. 표에 보인 바와 같이 평균 PSNR은 0.44dB에서 +0.13dB의 차이를 보이며, 양자화 스텝의 표준편차는 제안한 알고리즘이 전 구간에서 0.69에서 4.17 만큼 낮은 값을 나타낸다.
비트율 변환을 위해 본 발명의 방법에서 사용하는 모듈은 VLC, VLD, 역양자화 그리고 적응형 비트율 할당함수를 이용하여 매크로블럭 단위로 비트를 할당하고 이 비트를 표현하는 양자화 파라메터 값을 찾는 것으로 구성된다.
이것을 화소영역의 처리방법과 비교하면, 압축 동영상의 디코딩에 소요되는 DCT-1, 움직임 보상부와 화소신호를 다시 인코딩할 때 사용되는 움직임 추정, 및 DCT 연산절차가 제외되는 이점을 갖는다. 이것을 단순히 코덱의 복잡도의 관점에 비교해보면, 전체 연산의 60~80%이상을 차지하는 복잡한 절차가 생략되어, 상당부분의 연산에 대한 개선효과를 갖는다는 것을 알수 있다. 앞서 설명한 바와 같이 본 발명에 따른 방법에서 비트율 변환을 위해 사용하는 알고리즘 중, 가장 큰 비중을 갖는 부분은 적응형 비트율할당 모델에 따르는 부분, 이분법에 의한 양자화 및 VLC 과정이다. 이것에 대한 수치적인 분석은 도 25에 보인 바와 같다.
도 25에서 화소영역에 대한 것은 일반적인 하이브리드 코더에 대한 연산의 복잡성을 간략하게 모델링한 것이다. 그러나, 이것은 모든 연산의 과정을 덧셈과 곱셈으로 단순화 시키고, MPEG-2의 가장 복잡한 처리과정인 반화소 움직임 추정,보상, 그리고 양방향 움직임 벡터처리에 대한 연산이 빠져 있다. 이점을 감안하여 두 방법의 복잡도를 비교하면, 본 발명에 따른 방법의 VLD, 역양자화는 화소영역과 동일하다. 그리고 부가적인 처리로 매크로블럭의 AC 계수 당 IACT와 비트율 할당을 위해 각각 1/β, 1/(βx376)번의 덧셈과 곱셈이 사용되며, 이분법에 따르는 부가적인 연산이 포함된다. 그러나, 이 부분 중 전자의 IACT와 비트율 할당에 대한 연산은 인코더의 화소단위의 율제어에 사용되는 데이터 분석모델과 대응되므로 실제로는 부가적인 연산으로 볼 수 없다. 즉 본 발명에 따른 방법에서 별도로 사용하는 것은 양자화, VLC 절차로 일반적으로 이분법을 통한 방법은 최대 6번의 절차가 소요되나, 본 발명에서 제안한 초기 양자화 파라메터 선정방법을 사용하면 평균 2~3회 이내에서 최적 양자화 파라메터 값을 찾을 수 있다. 따라서 화소영역의 복잡도에 비교해 이 부분은 무시할 수 있으며, 결론적으로 본 발명에서 제안한 방법은 기존 방법에 비해 최소 60%이상의 연산의 개선을 가져오는 효율적인 방법이라 할 수 있다.
본 발명은 비트율 변환을 위해 프레임 단위의 IACT 해석을 하고, 이 결과에 의해 몇 단계 양자화 절차를 거쳐 매크로블럭에 대한 최적 양자화 파라메터를 결정한다. 이것을 화소영역의 처리방법에 소요되는 지연과 비교하면 전체지연은과 같이 나타낼 수 있고, 이중 인코딩 지연은 MPEG-2의 B 프레임을 사용할 때 다음과 같이 표현할 수 있다.
여기서,는 부호기의 처리지연 시간 (Encoding Processing Time) 이고,는 부호기의 대기 지연시간 (Encoding Waiting Time) 이다.
통신에 따르는DELAY channel 중는 본 발명에 동일하게 적용되므로 고려하지 않는다. CIF 영상에 대해서 송수신 완충버퍼로 450Kbits를 설정하고, 이 버퍼의 점유도를 50%로 가정하면 송수신 완충 버퍼링에 따르는 지연 ()은 다음과 같이 쓸 수 있다.
이중 마지막으로 디코딩 지연을 계산하면,DELAY decoding 는와로 구성되는데 이중는 33ms 이상의 값을 갖고,는 양방향 움직임 정보를 사용하는 B 프레임이 있으므로, 다음의 식으로 표현된다.
여기서,는 복호기의 처리 지연시간 (Decoding Processing Time) 이고,는 복호기의 대기 지연시간 (Decoding Waiting Time) 이다.
수학식 24, 25 및 26에서 구한 값을 모두 더하면 화소영역에서 발생하는 지연을 구할 수 있고, 이것은 수학식 27과 같다.
반면에 본 발명에서 제안한 방법에서 발생되는 처리 시간을 분석하면, 영상을 복부호 처리하지 않으므로 인코딩, 디코딩 지연은 없고, 특히 입력 CBR 데이터의 비트율 특성을 그대로 유지하면서 변환하므로 송수신 완충버퍼는 필요없고 이에 따라 버퍼링 지연은 0가 된다. 즉 전체지연은 한 프레임을 수신하여 분석하는데 사용되는 지연, 양자화 그리고 VLC에 소요되는 값이 된다. 수학식 28은 이 전체 처리지연을 나타낸 것이다.
이중 DELAYnxQ와 DELAYnxVLC는 최적 양자화 값을 찾기 위한 이분법 수행 과정에 필요한 지연으로, 소프트웨어로 구현할 경우에는 무시하지 못할 값을 갖는다. 하지만 이는 초당 30프레임의 입력 처리와 같은 특정한 동기 신호와 무관하므로 고속의 알고리즘을 사용하거나, 특히 하드웨어로 알고리즘을 구현할 경우 무시할 만한 값으로 처리가 가능하다. 화소영역의 지연은 MPEG-2의 일반적인 인코딩 방법을 사용한 것을 전제로 하여, B 프레임에 대한 처리지연을 포함시켰다. 그러나 MPEG-2가 B프레임을 포함하지 않을 경우에 전체 지연은 66ms를 뺀 값이 된다. MPEG-2만을 고려한 지연은 P, B 프레임을 갖는 H.263에도 동일하게 적용된다.
화소영역에서의 비트율 변환 방법과 본 발명에 따른 비트율 변환 방법에 소요되는 전체지연을 비교해 보면, 화소영역은 B 프레임을 사용할 때와 사용하지 않을 때, 각각 357ms, 291ms 이상의 지연값을 갖는다. 반면에 본 발명에 따른 방법은 B 프레임의 존재 유무에 관계없이 33ms에 수렴하는 지연치를 가져 화소영역에서의 비트율 변환 방법에 대비하여 250ms에서 330ms 이상의 처리 지연이 감소되는 결과를 낳는다는 것을 알 수 있다.
상술한 바와 같이 본 발명은 기존 방법에 비해, 변환된 비트율의 수렴속도 및 정확도, 알고리즘에 사용되는 연산, 및 실시간 처리에 장점을 가지므로 실시간 멀티미디어 통신에 있어서 비트율 변환 방법으로 사용 할 수 있다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
Claims (11)
- MPEG-1 및 MPEG-2 동영상의 비트율을 변환하는 방법에 있어서,입력되는 압축부호의 형태를 해석하는 입력 스트림 분석 과정;전체 스트림 및 프레임에 대한 비트율을 할당하는 과정;매크로블럭의 IACT(영상 활성도)를 계산하는 과정;적응형 비트율 할당모델을 이용해 매크로블럭에 합당한 비트를 할당하는 과정;매크로블럭에 할당된 비트값을 비트로 표현하기 위해 매크로블럭에 대한 양자화 파라메터를 탐색하는 과정; 및비트율 대비 화질 비교를 통해 최종 양자화 파라메터를 결정하는 과정을 포함하여 압축영역에서 재양자화를 통해 비트율을 변환하는 것을 특징으로 하는 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제1항에 있어서,상기 입력 스트림 분석 과정은,멀티미디어 통신에서 동영상 조작처리를 위해 허용되는 지연조건을 고려하여 비트율 변환이 한 프레임 내에서 실시간으로 이루어지도록 한 프레임 단위로 분석하는 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제1항에 있어서,상기 스트림 및 프레임에 대한 비트율 할당 과정은,변환하는 스트림 압축부호의 비트율을 입력 스트림 압축부호의 비트율로 나누고, 원래의 프레임 비트수를 곱하여 스트림 및 프레임에 대한 비트율을 할당하는 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제1항에 있어서,상기 매크로블럭의 IACT 계산 과정은,입력 스트림의 매크로블럭을 구성하는 DCT 계수 중 AC 계수에 대한 절대값을 역양자화하여 합한 후, 양자화 파라메터에 의한 에러를 보정하여 매크로블럭의 IACT를 계산하는 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제1항 내지 제4항 중 어느한 항에 있어서,상기 매크로블럭의 비트 할당 과정은해당되는 매크로블럭이 속하는 프레임의 유형과 IACT 값이 속하는 범위에 따라 이미 설정되어 있는 비트율 할당 함수로 적응시켜 매크로블럭에 이상적으로 할당되어야 하는 기준값을 구하고, 스트림 분석결과와 프레임에 대한 비트율 할당을 기준으로 변환에 사용될 수 없는 부분을 제외한 비트수에 대한 비례식으로 매크로블럭에 비트를 할당하는 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제5항에 있어서,상기 매크로블록의 비트 할당에 이용되는 비트율 할당 함수는,프레임 유형(I, P, B)별로 IACT 값에 따라 소정의 구간으로 나누고, 각 구간별로 개별 스트림의 비트율 할당 함수를 구한 다음, 이들 비트율 할당 함수를 최적화한 것을 해당 구간의 비트율 할당 함수로 하는 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제6항에 있어서,상기 각 구간별로 구해진 개별 스트림의 비트율 할당 함수에 대한 최적화는 이들 비트율 할당 함수를 평균함으로써 이루어지는 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제6항 또는 제7항에 있어서,상기 IACT 값에 따라 나누어지는 IACT 구간의 수와 간격은 프레임이 영상의 화질에 영향을 미치는 중요도를 고려하여 결정되며, IACT 구간수는 I 프레임 > P 프레임 > B 프레임 인 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 매크로블럭에 대한 양자화 파라메터 탐색 과정은해당 매크로블럭의 양자화 파라메터와 매크로블럭의 변환 비트수를 곱한 것을 매크로블럭의 원래 비트수로 나눈 값을 양자화 파라메터 탐색을 위한 초기값으로 하여 몇단계의 이분법을 통해 양자화 파라메터를 구하는 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 최종 양자화 파라메터 결정 과정은이분법에 의해 선정된 값과 이웃하는 양자화 파라메터 중에서 원래 비트와 목적비트 수와의 차이와, 원래 영상과 변환 영상과의 화질 차이의 합이 적은 것으로 결정하는 것을 특징으로 하는 압축영역에서 MPEG-1 및 MPEG-2 동영상의 비트율 변환 방법.
- MPEG-1 및 MPEG-2 동영상의 비트율을 변환하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서,멀티미디어 통신에서 동영상 조작처리를 위해 허용되는 지연조건을 고려하여 비트율 변환이 한 프레임 내에서 실시간으로 이루어지도록 한 프레임 단위로 입력되는 압축부호의 형태를 해석하는 입력 스트림 분석 과정;변환하는 스트림 압축부호의 비트율을 입력 스트림 압축부호의 비트율로 나누고, 원래의 프레임 비트수를 곱하여 전체 스트림 및 프레임에 대한 비트율을 할당하는 과정;입력 스트림의 매크로블럭을 구성하는 DCT 계수 중 AC 계수에 대한 절대값을 역양자화하여 합한 후, 양자화 파라메터에 의한 에러를 보정하여 매크로블럭의 IACT(영상 활성도)를 계산하는 과정;적응형 비트율 할당모델을 이용해 매크로블럭에 합당한 비트를 할당하는 과정;매크로블럭에 할당된 비트값을 비트로 표현하기 위해 해당 매크로블럭의 양자화 파라메터와 매크로블럭의 변환 비트수를 곱한 것을 매크로블럭의 원래 비트수로 나눈 값을 양자화 파라메터 탐색을 위한 초기값으로 하여 몇단계의 이분법을 통해 양자화 파라메터를 구하는 매크로블럭에 대한 양자화 파라메터를 탐색하는 과정; 및비트율 대비 화질 비교를 통해 최종 양자화 파라메터를 결정하는 과정을 포함하여 압축영역에서 재양자화를 통해 비트율을 변환을 수행하는 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990055973A KR100322475B1 (ko) | 1999-12-08 | 1999-12-08 | 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990055973A KR100322475B1 (ko) | 1999-12-08 | 1999-12-08 | 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010054963A KR20010054963A (ko) | 2001-07-02 |
KR100322475B1 true KR100322475B1 (ko) | 2002-02-07 |
Family
ID=19624411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990055973A KR100322475B1 (ko) | 1999-12-08 | 1999-12-08 | 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100322475B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100410973B1 (ko) * | 2001-04-18 | 2003-12-18 | 엘지전자 주식회사 | 주문형 비디오 시스템에서 동영상의 스트리밍 방법 |
KR100814431B1 (ko) * | 2001-04-25 | 2008-03-18 | 삼성전자주식회사 | 가변 비트레이트를 적용한 디지털 방송 송신장치 및 그방법, 비디오 데이타 부호화장치 및 그 방법 그리고방송신호의 복호화 시스템 및 그 방법 |
JP2007525063A (ja) * | 2003-06-26 | 2007-08-30 | トムソン ライセンシング | スライディング・ウィンドウ・チャネル制限に一致させるようマルチパス・ビデオレートを制御する方法 |
KR100594056B1 (ko) | 2003-09-01 | 2006-07-03 | 삼성전자주식회사 | 효율적인 비트율 제어를 위한 h.263/mpeg 비디오인코더 및 그 제어 방법 |
KR100703399B1 (ko) * | 2004-12-13 | 2007-04-03 | 삼성전자주식회사 | 멀티미디어 컨텐츠를 연속적으로 전송하는 장치 및 방법 |
-
1999
- 1999-12-08 KR KR1019990055973A patent/KR100322475B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20010054963A (ko) | 2001-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4187405B2 (ja) | 符号化方式におけるオブジェクトベースのレート制御装置及びその方法 | |
KR100295006B1 (ko) | 비디오 프레임 시퀀스 인코딩 시스템 및 그 방법, 컴퓨터 프로그램 제품 | |
KR100610520B1 (ko) | 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체 | |
US6925120B2 (en) | Transcoder for scalable multi-layer constant quality video bitstreams | |
KR100604702B1 (ko) | 이미지 시퀀스를 인코딩하는 장치 및 이미지 신호를 양자화하기 위해서 양자화 스케일을 생성하는 방법 | |
US6690833B1 (en) | Apparatus and method for macroblock based rate control in a coding system | |
KR100329892B1 (ko) | 다수의 비디오 프레임 스트림 처리 방법 및 그 장치 | |
KR100355375B1 (ko) | 영상부호화장치에있어서양자화간격결정방법및회로 | |
US6252905B1 (en) | Real-time evaluation of compressed picture quality within a digital video encoder | |
JPH10257489A (ja) | 映像符号化のためのビット発生量調節装置及び方法 | |
CA2264392A1 (en) | Device and method for controlling image encoding, encoding system, transmission system and broadcast system | |
KR100322475B1 (ko) | 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법 | |
KR100384327B1 (ko) | 블록-기반코딩시스템에서코딩모드를선택하기위한방법및장치 | |
KR100394014B1 (ko) | 영상 변환 부호화 장치 | |
JP3149673B2 (ja) | 映像符号化装置、映像符号化方法、映像再生装置及び光ディスク | |
KR100316764B1 (ko) | 시감특성을 이용한 영상 부호화방법 및 장치 | |
KR100286108B1 (ko) | 실시간 처리를 위한 비디오 신호에 대한 비트수 추정방법과왜곡추정방법 및 이것들을 이용한 부호화방법과 그 장치 | |
Li et al. | Low-delay window-based rate control scheme for video quality optimization in video encoder | |
KR20010104058A (ko) | 동영상 부호화기의 부호화 모드에 따른 적응적 양자화기 | |
JP4346732B2 (ja) | ビデオ・フレームの多重ストリームを処理する方法及びシステム | |
Lu et al. | Efficient and low-cost video transcoding | |
Lei et al. | An accurate bit-rate control algorithm for video transcoding | |
KR950005653B1 (ko) | 영상특성을 고려한 데이타양자화율 제어방법 및 그 장치 | |
KR100207416B1 (ko) | 부호화 비트발생율 제어방법 및 그 제어장치 | |
JP2001128175A (ja) | 画像情報変換装置及び方法、並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090102 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |