KR100617097B1 - 실시간 동영상 부호화 방법 - Google Patents

실시간 동영상 부호화 방법 Download PDF

Info

Publication number
KR100617097B1
KR100617097B1 KR1020050003767A KR20050003767A KR100617097B1 KR 100617097 B1 KR100617097 B1 KR 100617097B1 KR 1020050003767 A KR1020050003767 A KR 1020050003767A KR 20050003767 A KR20050003767 A KR 20050003767A KR 100617097 B1 KR100617097 B1 KR 100617097B1
Authority
KR
South Korea
Prior art keywords
bit amount
quantization parameter
target bit
picture
real
Prior art date
Application number
KR1020050003767A
Other languages
English (en)
Other versions
KR20060083298A (ko
Inventor
서종열
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020050003767A priority Critical patent/KR100617097B1/ko
Publication of KR20060083298A publication Critical patent/KR20060083298A/ko
Application granted granted Critical
Publication of KR100617097B1 publication Critical patent/KR100617097B1/ko

Links

Images

Classifications

    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F3/00Biological treatment of water, waste water, or sewage
    • C02F3/02Aerobic processes
    • C02F3/12Activated sludge processes
    • C02F3/1205Particular type of activated sludge processes
    • C02F3/121Multistep treatment
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F3/00Biological treatment of water, waste water, or sewage
    • C02F3/02Aerobic processes
    • C02F3/12Activated sludge processes
    • C02F3/14Activated sludge processes using surface aeration
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03FSEWERS; CESSPOOLS
    • E03F11/00Cesspools

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Hydrology & Water Resources (AREA)
  • Engineering & Computer Science (AREA)
  • Water Supply & Treatment (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Microbiology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Organic Chemistry (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 방송 수신 장치에 저장 매체를 장착하여 수신되는 방송 신호를 상기 저장 매체에 녹화/재생할 수 있는 PVR 장치에서 아날로그 방송의 녹화를 위해 아날로그 방송 신호를 실시간으로 부호화하기 위한 방법에 관한 것이다. 특히 본 발명은 매크로 블록의 목표 비트량을 비트량과 양자화 파라미터의 관계를 모델링한 R-Q 모델식에 적용하여 상기 매크로 블록의 목표 비트량에 대한 양자화 파라미터를 결정하도록 함으로써, PVR 장치에서 아날로그 방송을 실시간으로 녹화하기 위한 응용 분야에서 저장 공간 운용의 효율성을 극대화하기 위한 비트율 제어를 보다 정확하고 효과적으로 수행할 수 있다.
실시간 동영상 부호화, R-Q 모델식, 양자화 파라미터

Description

실시간 동영상 부호화 방법{Method for encoding of real-time moving image}
도 1은 일반적인 PVR 장치를 이용한 아날로그 및 디지털 방송 녹화의 일 실시예를 보인 구성 블록도
도 2는 일반적인 MPEG-2 부호화 장치의 일 실시예를 보인 구성 블록도
도 3은 본 발명에 따른 MPEG-2 부호화 장치에서 양자화 파라미터 결정 과정의 일 실시예를 보인 흐름도
도면의 주요부분에 대한 부호의 설명
201 : 감산기 202,213 : 스위칭부
203 : DCT부 204 : 양자화부
205 : VLC부 206 : 버퍼
207 : 역양자화부 208 : IDCT부
209 : 가산기 210 : 프레임 메모리
211 : 움직임 보상부 212 : 움직임 추정부
250 : 비트율 제어부 251 : 기준 양자화 파라미터 계산부
252 : 복잡도 계산부 253 : 적응 양자화 파라미터 발생부
본 발명은 디지털 방송 수신 장치에 관한 것으로서, 더욱 상세하게는 상기 방송 수신 장치에 저장 매체를 장착하여 수신되는 방송 신호를 상기 저장 매체에 녹화/재생할 수 있는 개인용 비디오 녹화 장치에서 아날로그 방송의 녹화를 위해 아날로그 방송 신호를 실시간으로 부호화하는 방법에 관한 것이다.
개인용 비디오 녹화 장치(Personal Video Recorder ; 이하 PVR 장치라 함)는 디지털 TV 또는 셋톱 박스 등에 하드디스크(HDD)를 장착함으로써, 디지털 방송을 HDD에 저장할 수 있는 기능을 제공한다. 이는 기존의 VCR(Video Cassette Recorder)이 녹화를 위해 비디오 테이프를 수시로 교체해 주어야 하는 불편을 해소함과 동시에 대용량의 방송 녹화가 가능케 한다. 아울러 상기 PVR 장치는 주 기능인 녹화 기능은 물론 타임 시프트(time-shift), 생방송 시청 중 순간 재생(instant replay), 기타 각종 트릭 플레이 기능을 제공하면서 사용자로 하여금 TV를 보다 다양하게 즐길 수 있는 향상된 기능을 제공한다.
이러한 PVR 장치에서 NTSC 또는 PAL 규격에 의한 아날로그 방송 신호를 MPEG(Moving Picture Experts Group)-2 비디오 스트림으로 변환하여 HDD에 녹화하기 위해서는 실시간 MPEG-2 비디오 부호화 장치가 필요하다.
도 1은 PVR 장치에서 아날로그 및 디지털 방송을 HDD에 저장하는 경로를 나타낸다. NTSC나 PAL과 같은 아날로그 방송 신호는 아날로그 튜너(101)에서 튜닝된 후 A/D 컨버터(Analog/Digital Converter)(102)로 출력되어 디지털화된다.
도 1에서는 NTSC 전송 방식의 아날로그 방송 신호를 실시예로 설명하고 있다.
그러므로 상기 A/D 컨버터(102)에서 디지털화된 아날로그 방송 신호는 NTSC 디코더(103)로 출력된다. 상기 NTSC 디코더(103)에서는 아날로그 방송 신호를 MPEG-2로 부호화하기 위한 4:2:0 포맷으로 변환하여 MPEG-2 엔코더(104)로 출력한다. 상기 MPEG-2 엔코더(104)는 포맷 변환된 방송 신호를 도 2와 같은 MPEG-2 압축 알고리즘에 의해 압축 부호화하여 PVR 모듈(108)로 출력한다.
한편 디지털 방송 신호는 디지털 튜너(105)에서 튜닝된 후 복조기(106)로 출력된다. 상기 복조기(106)는 튜닝된 방송 신호에 대해 변조 방식의 역으로 복조한다. 예를 들어, 수신된 디지털 방송이 지상파 방송이면 VSB(Vestigial Side Band) 복조를 수행하고, 위성 방송이면 QPSK(Quadrature Phase Shift Keying) 복조를 수행하여 트랜스포트 스트림(Transport Stream ; TS) 형태로 TS 디코더(107)로 출력한다. 상기 TS 디코더(107)는 입력되는 트랜스포트 스트림에 복수개 이상의 프로그램이 다중화되어 있는 경우 저장을 원하는 프로그램만을 역다중화하여 PVR 모듈(108)로 출력한다.
상기 PVR 모듈(108)은 MPEG-2 엔코더(104)에서 압축 부호화된 아날로그 방송 스트림 또는, TS 디코더(107)에서 역다중화된 디지털 방송 스트림에 오디오 스트림 및 캡션 정보 등을 포함한 데이터 스트림을 함께 다중화(multiplexing)한 후 HDD(110)에 저장한다. 여기서 상기 오디오 스트림 및 데이터 스트림 또한 상응하는 부호화 장치를 이용하여 부호화를 수행하도록 한다.
도 2는 일반적인 MPEG-2 엔코더의 구성 블록도로서, 매크로 블록 단위로 부호화가 이루어진다. 즉 매크로 블록 단위로 입력되는 영상이 인트라(intra) 타입 즉, I 픽쳐이면 감산기(201)를 거치지 않고 그대로 스위칭부(202)를 통해 DCT부(203)로 출력된다. 반대로 입력 영상이 인터(inter) 타입 즉, P나 B 픽쳐이면 감산기(201)에서 구해진 차분 영상 즉, 입력 영상과 움직임 보상(motion compensation ; MC)부(212)에서 움직임 보상된 영상과의 차분 영상이 스위칭부(202)를 통해 DCT부(203)로 출력한다.
즉 상기 DCT부(203)로 입력되는 신호는 I 픽쳐의 경우에는 DC값을 기준으로 한 차영상(residual) 신호를 의미하고, P나 B 픽쳐의 경우에는 움직임 추정시 발생하는 차 영상(residual) 신호를 의미한다.
상기 스위칭부(202)의 출력 단자(c)는 입력 영상의 타입이 인트라인지, 인터인지에 따라 입력 영상 단자(a)로 절환되거나 감산기(201)의 출력 단자(b)로 절환된다.
상기 DCT부(203)는 입력되는 데이터를 블록 단위로 DCT한 후 양자화부(204)로 출력하고, 양자화부(204)는 DCT 계수를 양자화 파라미터에 의해 결정되는 양자화 스텝 크기에 따라 양자화한다. 이때 전체적인 비트율과 화질에 영향을 끼치는 양자화 파라미터는 비트율 제어부(250)에서 결정된다.
즉 상기 DCT부(203)는 2차원 축변환을 통해서 데이터의 상관성을 제거하는데, 이를 위해 픽쳐를 매크로 블록 단위로 분할하고, 각 16*16 크기의 매크로 블록을 다시 8*8 크기의 블록 단위로 나눈 후 나누어진 각각의 블록을 DCT식에 따라 축 변환시킨다. 이렇게 축변환된 데이터들은 양자화부(204)에서 소정의 양자화 스텝 크기로 양자화되면서 미리 정해진 스캔 방식에 따라 1차원으로 재배치된 후 가변 길이 코딩(Variable Length Coding ; VLC)부(205)로 출력된다. 상기 VLC부(205)는 재배치된 양자화된 DCT 계수에 대해 자주 나오는 값은 적은 수의 비트로, 드물게 나오는 값은 많은 수의 비트로 표시하여 전체 비트 수를 줄이는 엔트로피 부호화(Entropy Coding)를 수행한다. 이때 상기 DCT 계수 뿐만 아니라 픽처 헤더 정보 및 움직임 정보도 함께 부호화된다.
이때, 상기 VLC부(205)에서 VLC된 데이터는 버퍼(206)로 출력되고, 상기 버퍼(206)는 VLC된 데이터를 일시적으로 저장한 후 PVR 모듈(108)를 거쳐 일정한 속도로 HDD(110)로 출력하고, 버퍼의 충만도(buffer fullness)를 계산하여 비트율 제어부(250)로 출력한다.
그리고 상기 양자화부(204)에서 양자화된 DCT 계수는 다시 역양자화(IQ)부(207)로 입력되어 역양자화된 후 IDCT부(208)로 출력된다. 상기 IDCT부(208)는 역 양자화된 DCT 계수를 IDCT하여 가산기(209)로 출력한다. 상기 가산기(209)는 IDCT된 데이터가 인트라 타입이면 그대로, 인터 타입이면 움직임 보상부(212)에서 움직임 보상된 값을 더하여 최종 픽셀값인 완전한 영상으로 복원한 후 움직임 보상을 위해 프레임 메모리(210)에 저장한다.
상기 움직임 보상부(212)는 움직임 추정(Motion Estimation ; ME)부(211)의 추정 결과에 따라 프레임 메모리(210)로부터 읽어온 이전 프레임을 이용하여 움직임 보상을 수행한 후 감산기(201)와 스위칭부(213)로 출력한다. 상기 스위칭부 (213)는 IDCT된 데이터가 인트라 타입이면 오프되고, 움직임 보상부(212)에서 움직임 보상된 데이터는 가산기(209)로 출력되지 않는다. 만일 IDCT된 데이터가 인터 타입이면 상기 스위칭부(213)는 온되고, 움직임 보상부(212)에서 움직임 보상된 데이터는 스위칭부(213)를 통해 가산기(209)로 출력된다.
상기 움직임 추정부(211)는 입력 영상과 프레임 메모리(210)에 저장된 참조 영상을 이용하여 움직임 벡터를 추정한 후 움직임 보상부(212)로 출력한다.
한편 실시간 MPEG-2 비디오 부호화 과정에서 가장 중요한 것은 비트량과 화질이다. 이 두 가지 특성은 서로 트레이드-오프(trade-off) 관계이며, 이 두 특성을 적절히 조화시켜 최적의 결과를 얻기 위한 과정이 바로 비트율 제어(rate control)이다.
상기 비트율 제어는 주어진 비트율을 기준으로 버퍼 모델을 설정하여 비디오 데이터의 GOP(Group Of Picture) 및 각 프레임 단위로 부호화 과정에 필요한 비트량을 할당하며, 이에 상응하는 양자화 파라미터를 결정하는 과정이다.
상기 MPEG-2 엔코더에서 가장 중요한 것은 부호화를 수행하는 과정에서 현재 사용하고 있는 부호화 파라미터 조합들에 의해 부호화되는 비디오 스트림이 미리 설정한 비트율 제약 조건을 만족시키는지 여부이다. 이러한 문제를 확실히 해결하는 방법이 이중 패스(two-pass) 부호화 방식이다. 즉, 부호화를 수행하여 발생한 MPEG-2 스트림을 분석한 다음 부호화 파라미터를 재조정하여 조건을 만족시키는 최종적인 MPEG-2 스트림을 출력하는 것이다.
그러나 이러한 방법은 PVR과 같은 응용 분야에서 필수적으로 요구되는 실시 간 부호화라는 조건을 만족시키지 못하는 단점이 있다.
따라서 PVR 등에서 방송 녹화를 위한 실시간 MPEG-2 비디오 부호화 과정의 구조적인 특성상 부호화 장치는 반드시 단일 패스(one-pass) 방식으로 구현되어야 한다.
상기 비트율 제어부(250)는 일반적인 단일 패스 가변 비트율 구조의 예를 보이고 있다.
즉 상기 비트율 제어부(250)는 상기 버퍼(206)로부터 버퍼 충만도를 입력받아 기준 양자화 파라미터를 계산하는 기준 양자화 파라미터 계산부(251), 입력 영상의 복잡도를 산출하는 복잡도 계산부(252), 상기 기준 양자화 파라미터와 복잡도에 따라 실제 양자화에 사용될 양자화 파라미터를 결정하여 상기 양자화부(204)로 출력하는 양자화 파라미터 발생부(253)로 구성된다.
상기 양자화 파라미터 발생부(253)에서 결정된 양자화 파라미터(Qp)는 양자화부(204)로 출력된다.
상기 양자화부(204)는 입력되는 양자화 파라미터(Qp)로부터 양자화 스텝 크기를 구하여 DCT 계수를 양자화한다. 즉 비트율 제어부(250)는 버퍼의 충만도에 따라 양자화부(204)의 스텝 크기를 가변시켜 데이터의 발생량을 조절하게 된다.
예를 들어, 발생한 비트 수가 기준치 이상이면 버퍼(206)에 채워지는 데이터량이 증가하므로 양자화 스텝 크기를 증가시켜 다음에 발생할 비트수를 감소시키고, 기준치 이하로 데이터가 발생하면 그 반대로 양자화 스텝 크기를 감소시켜 발생 비트수를 증가시켜 전체적으로 버퍼(206)의 상태가 일정치를 유지할 수 있도록 조절한다.
이때, ISO(International Organization for Standardization)의 산하 기구인 IS/IEC JTC1/SC29/WG11에서 국제 표준화 진행중인 MPEG-2의 자료(문서번호 AVC-491인 TEST MODEL 5)를 참조하면 비트율 제어부(250)는 다음의 3단계의 동작을 수행한다.
먼저, 제 1 단계는 복잡도를 예측하고 목표 비트를 할당하는 단계이다. 즉, 전송 비트율에 따라 GOP(Group Of Picture) 단위로 일정한 비트율을 할당하고 GOP 내부에서 각 픽쳐에 할당할 비트들을 각 픽쳐(I,P,B 프레임)의 복잡도에 따라 할당한다.
제 2 단계는 전송율(즉, 비트율)을 조절하는 단계로서, 가상적인 버퍼(virtual buffer)(206)의 충만도에 따라 각 매크로 블록에 대한 기준 양자화 파라미터를 계산한다. 그리고, 각 픽쳐를 상기 제 1 단계에서 할당받은 비트에 맞게 현재 픽쳐를 부호화할 수 있도록 비트율을 제어한다.
여기에서는, 각 픽쳐마다 임의의 가상적인 버퍼를 가지고 있다고 가정하고, 상기 버퍼의 상태에 따라 양자화 파라미터를 조절하는 방법을 사용한다.
제 3 단계는 적응 양자화 단계로서, 현재 부호화할 매크로 블록의 복잡도(activity)를 구하여 정규화한 후 이 정규화된 복잡도와 상기 제 2 단계에서 구한 기준 양자화 파라미터를 곱하여 실제로 양자화에 사용할 양자화 파라미터를 구한다. 즉, 적응 양자화는 주관적 화질을 높일 수 있는 방법으로 상기 기준 양자화 파라미터를 현재의 매크로 블록의 복잡도에 따라 변화시키는 방법이다.
즉, 상기 비트 할당 및 버퍼의 충만도를 계산하는 상기 제 1, 제 2 단계는 버퍼(206)와 기준 양자화 파라미터 계산부(251)를 통해 이루어지며, 상기 적응 양자화를 수행하는 제 3 단계는 복잡도 계산부(252)와 양자화 파라미터 발생부(253)를 통해 이루어진다.
그러나 상기된 도 2와 같은 기존의 단일 패스 부호화 장치들은 영상 데이터의 공간적 복잡도 및 가상 버퍼 모델 등에 근거하여 양자화 파라미터를 결정할 뿐 실제로 발생하는 비트량에 대한 정확한 예측을 할 수 있는 효과적인 방법이 미흡하다는 문제점이 존재한다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 실시간 단일 패스 부호화 과정에서 아날로그 방송의 정확한 비트율 제어를 수행하기 위하여 주어진 비디오 데이터를 부호화할 때 실제 발생할 비트량을 정확하게 예측할 수 있는 단일 패스 가변 비트율 MPEG-2 부호화 방법(one-pass variable bit-rate MPEG-2 encoding method)을 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명에 따른 가변 비트율 MPEG-2 부호화 방법은,
매크로 블록 단위로 입력되는 영상을 DCT 변환하고 이어 양자화 파라미터에 따라 DCT 계수를 양자화한 후 가변 길이 코딩(VLC)하여 입력 영상을 압축 부호화하는 실시간 동영상 부호화 방법에 있어서,
(a) 전송 비트율에 따라 현재 GOP에 대한 목표 비트량을 할당하고, 결정된 목표 비트량으로부터 각 픽쳐 타입(I,P,B)별 목표 비트량을 할당하는 단계;
(b) 하나의 픽쳐 내 목표 비트량으로부터 현재 부호화하고자 하는 매크로 블록의 목표 비트량을 할당하는 단계; 및
(c) 상기 (b) 단계에서 할당된 매크로 블록의 목표 비트량을 비트량과 양자화 파라미터의 관계를 모델링한 R-Q 모델식에 적용하여 상기 매크로 블록의 목표 비트량에 대한 양자화 파라미터를 결정하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상기 (b) 단계는 상기 비트량 R과 양자화 파라미터 Q의 관계를 모델링한 R-Q 모델식을 하기의 식으로 정의하며,
Figure 112005002229330-pat00001
이전에 미리 부호화된 데이터에 대한 비트량과 양자화 파라미터의 통계를 이용하여 모델 계수 α,β를 구하고, 상기 매크로 블록의 목표 비트량 R을 대입하여 상기 매크로 블록의 목표 비트량 R에 가장 근접한 비트량을 발생시키는 양자화 파라미터를 최종 양자화 파라미터로 결정하는 것을 특징으로 한다.
상기 (b) 단계는 목표 비트량과 실제 부호화하면서 발생하는 비트량의 이격도가 일정 값이상 차이가 나는 경우에 실제 부호화 과정에서 얻어진 비트량과 양자화 파라미터를 이용하여 상기 R-Q 모델식을 갱신하는 것을 특징으로 한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
그리고 종래와 동일한 구성 요소는 설명의 편의상 동일 명칭 및 동일 부호를 부여하며 이에 대한 상세한 설명은 생략한다.
본 발명은 고정식 또는 이동식 저장 매체 등에 방송 신호를 녹화할 수 있는 디지털 비디오 녹화 장치(PVR)에서 아날로그 방송 신호(예를 들면, NTSC 전송 방식)를 주어진 비트율에서 최적의 화질을 갖는 MPEG-2 비디오 스트림으로 실시간 부호화하기 위한 것이다. 이를 위해 아날로그 비디오 데이터를 주어진 비트 레이트의 제약을 준수하면서 MPEG-2 비디오 스트림으로 실시간 부호화 하는 과정에서 비트량과 양자화 파라미터 사이의 연관성을 정확하게 모델링함으로써, 해당 비디오 데이터의 발생 비트량을 정확하게 예측하여 단일 패스 부호화 과정의 효율성을 증가시킴과 동시에 저장 공간을 효과적으로 운용할 수 있게 한다.
이와 같이 본 발명은 PVR 장치에서 요구되는 실시간 방송 녹화에 적용 가능하도록 MPEG-2 부호화 장치를 단일 패스(one-pass) 알고리즘으로 구현함과 동시에 현재 부호화를 수행하는 비디오 데이터에 대해 비트 발생량을 효과적으로 예측함으로써, 보다 정확한 비트율 제어를 수행할 수 있다.
이때 비트율 제어를 보다 효과적으로 수행하기 위해서는 전술한 양자화 파라미터를 결정하는 단계에서 실제 발생할 비트량에 대한 직접적인 예측이 가능해야 한다. 따라서, 양자화 파라미터와 비트량에 대한 직접적인 관계를 정확하게 모델링한다면 이러한 예측이 가능할 수 있다.
본 발명에서는 실제 방송용 비디오 데이터에 대한 실험 결과 다음의 수학식 1과 같이 양자화 파라미터와 비트량에 대한 관계를 도출할 수 있었다.
Figure 112005002229330-pat00002
즉, 비트량 R의 변화량은 양자화 파라미터 Q의 역수의 변화량에 비례한다는 관계가 성립한다.
상기의 수학식 1을 근거로 실제 발생하는 비트량과 양자화 파라미터의 관계는 다음의 수학식 2와 같이 표현할 수 있다.
Figure 112005002229330-pat00003
상기의 수학식 2를 본 발명에서는 R-Q 모델식이라고 정의한다.
상기 R은 비트량을 의미하며 단위는 bit이고, Q는 양자화 파라미터로서 선형 양자화를 수행할 경우에 2에서 62 사이의 짝수 값을 갖는다.
도 3은 본 발명에 의한 단일 패스 가변 비트율 MPEG-2 부호화 장치에서 비 트율 제어를 위한 양자화 파라미터 계산 과정의 흐름도를 나타낸다.
도 3의 단계 301에서는 비트율 R과 양자화 파라미터 Q의 관계를 모델링한 상기의 수학식 2를 완성하기 위하여 모델 계수 (α,β)를 다음과 같은 일련의 과정을 통해 결정한다.
상기 R-Q 모델식의 모델 계수 (α,β)의 계산 과정에서 비트량 R과 양자화 파라미터 Q는 매크로블록 또는 슬라이스 등의 단위를 기준으로 측정하도록 한다.
예를 들어, 슬라이스 단위로 비트량을 측정한다면 Q 값은 해당 슬라이스 내의 모든 매크로블록의 Q 값의 평균을 사용하도록 한다.
하나의 실시 예에서 수학식 2의 R-Q 모델식을 완성하기 위해 매크로블록 단위로 비트량과 양자화 계수를 측정한다고 할 때, 이미 부호화된 이전 프레임에 포함된 N개의 매크로블록에 대한 측정값들은 다음의 수학식 3과 같이 전개가 될 수 있다.
Figure 112005002229330-pat00004
이때, RMBj와 QMBj는 각각 j번째 매크로 블록에 대하여 부호화 과정에서 소요된 비트량과 양자화 파라미터이다.
상기 수학식 3은 다음의 수학식 4와 같이 행렬 형태로 다시 표현될 수 있다.
Figure 112005002229330-pat00005
상기 수학식 2의 R-Q 모델식을 완성하기 위해 모델 계수 (α,β)를 선형 회귀법에 의하여 계산하면 다음의 수학식 5와 같다.
Figure 112005002229330-pat00006
결과적으로 모델 계수 (α,β)는 다음의 수학식 6과 같은 값을 갖는다.
Figure 112005002229330-pat00008
상기 수학식 6과 같이 모델 계수 (α,β)를 계산하면 R-Q 모델식이 완성되며, 이를 이용하여 MPEG-2 부호화 장치의 비트율 제어 과정에서 현재 설정된 양자화 파라미터에 의하여 발생되는 비트량을 정확하게 예측할 수 있다.
상기 R-Q 모델식은 비디오의 특성에 변화가 발생하여 기존의 모델이 더 이상 유효하지 않을 때만 갱신을 수행한다. 기존 모델의 유효성은 예측 비트량과 실제 비트량 사이의 이격도를 이용하여 판단할 수 있다.
상기 R-Q 모델식은 목표 비트량과 실제 발생하는 비트량의 이격도가 15% 이상 차이가 나는 경우에 갱신을 수행하도록 한다. 예를 들어 j번째 프레임을 부호화하였을 때, 목표 비트량과 실제로 j 번째 프레임을 부호화하는데 소비한 비트량의 차이가 15% 이상 차이가 날 경우에 j번째 프레임을 부호화하는 과정에서 얻어진 비트량과 양자화 파라미터를 이용하여 R-Q 모델식을 갱신한다. 또한 비디오를 처음 부호화 할 때에는 이전의 데이터가 존재하지 않으므로 모델 계수 (α,β)의 초기값은 (0.789x104, 7.56x104)으로 설정하며, 해당 값들은 실험 결과에 의하여 얻어진 값들이다.
상기 R-Q 모델식은 보다 효과적이고 정확한 결과를 위해서 픽쳐 타입에 따라 별도의 모델 계수 값을 적용할 수 있다. 그 이유는 픽쳐 타입에 따라서 부호화를 수행하는 residual 신호와 부가 정보의 비율이 다르기 때문이며 결과적으로 다른 R-Q 모델링이 적용될 수 있기 때문이다.
상기 R-Q 모델식이 완성되면 비디오의 부호화를 위한 목표 비트량을 할당한다.
상기 목표 비트량은 먼저 현재 구간 즉, 현재 GOP에 대한 목표 비트량 RGOP을 결정하고(단계 302), 그 다음에는 각 픽쳐 타입(I,P,B 프레임)에 따라 할당할 목표 비트량을 결정하도록 한다(단계 303). 일 예로 복잡도를 예측하여 목표 비트량을 결정한다. 즉, 전송 비트율에 따라 GOP 단위로 일정한 비트율을 할당하고 GOP 내부에서 각 픽쳐에 할당할 비트들을 각 픽쳐(I,P,B 프레임)의 복잡도에 따라 할당한다. 다시 말해, GOP 내부에서 픽쳐 타입과 복잡도에 의해 픽쳐 단위로 비트가 할당된다.
결과적으로 수학식 7과 같은 관계가 성립한다.
RGOP = RI + RP + RB
이때, 상기 RI, RP, RB는 각각 현재 GOP에서 I, P, B 픽쳐가 소모하는 비트량이다. 다시 말해, RP의 경우 현재 GOP에 포함된 모든 P 픽쳐에 할당되는 비트량의 합을 의미한다. 결과적으로 하나의 P 픽쳐에 할당되는 비트량은 RP를 NP로 나눈 값이 되며 NP는 현재 GOP에서 P 픽쳐의 개수를 나타낸다. I나 B 픽처도 마찬가지이다.
각 프레임에 대한 목표 비트량 Rframe이 결정되면 각 프레임 내의 매크로 블록 단위로 적응적인 비트 할당 작업이 수행된다(단계 304). 상기 매크로 블록 단위의 비트 할당은 다음의 수학식 8과 같다.
Figure 112005002229330-pat00009
상기 수학식 9에서 MB_CNT는 현재 부호화를 수행하고 있는 프레임에서 현재 매크로 블록을 포함하여 남아 있는 매크로블록의 개수를 의미하고, Rframe은 현재 프레임에 할당된 비트량, Rused는 현재 프레임을 부호화하는 과정에서 지금까지 사용된 비트량을 의미한다. 상기 Nnorm은 정규화된 매개 변수이며 하기의 수학식 10과 같이 정의한다.
Figure 112005002229330-pat00010
상기 수학식 9에서 actj는 현재 부호화를 수행할 j번째 매크로블록의 공간적인 복잡도를 의미하며 매크로블록 내 픽셀 값의 평균을 기준으로 계산한 분산 값의 크기에 비례한다. 상기 avg_act는 이전 픽쳐에서 모든 매크로블록의 복잡도의 평균을 의미한다. 즉, 모든 매크로블록에 대하여 동일한 비트가 아닌 공간적 복잡도에 근거하여 차별화 된 비트량을 할당하도록 한다.
상기 매크로 블록에 대한 목표 비트량이 할당되면 이 목표 비트량을 수학식 2의 R-Q 모델식에 대입하여 양자화 파라미터를 결정한다(단계 305).
상기 기술한 바와 같이 GOP 단위로 목표 비트량 RGOP을 할당한 다음 각 프레임에 대하여 목표 비트량 Rframe이 결정되면 매크로블록 단위로 픽셀 값을 근거로 계산한 복잡도를 이용한 적응적인 방법에 의해 비트량 RMB을 결정한다. 그리고 이 값을 R-Q 모델식에 대입하여 상기 매크로 블록의 목표 비트량 RMB에 가장 근접한 비트량을 발생시키는 양자화 파라미터를 최종 양자화 파라미터 QMB로 결정한다.
이와 같이 본 발명은 PVR 장치에서 요구되는 실시간 방송 녹화에 적용 가능하도록 MPEG-2 부호화 장치를 단일 패스(one-pass) 알고리즘으로 구현함으로써, 균일한 화질을 유지할 수 있고, 동시에 부호화하고자 하는 비디오 데이터에 대한 복 잡도를 효과적으로 분석하여 비트량을 할당할 수 있다.
따라서 본 발명은 아날로그 방송 신호(예를 들면, NTSC 전송 방식)를 주어진 비트율에서 최적의 화질을 갖는 MPEG-2 비디오 스트림으로 실시간 부호화할 수 있게 된다.
그러므로 본 발명은 디지털 TV에 하드 디스크를 장착한 PVR 장치에서 NTSC 및 PAL과 같은 아날로그 방송을 디지털 스트림으로 부호화하여 저장하는 분야에 적용할 수 있으며, 그 외에도 실시간 가변 비트율 MPEG-2 부호화 장치가 필요한 응용 분야에 적용할 수 있다.
한편 본 발명에서 사용되는 용어(terminology)들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로써 이는 당분야에 종사하는 기술자의 의도 또는 관례 등에 따라 달라질 수 있으므로 그 정의는 본 발명의 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명을 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
상기에서 설명한 본 발명에 따른 실시간 동영상 부호화 방법의 효과를 설명하면 다음과 같다.
첫째, PVR 장치에서 아날로그 방송을 실시간으로 녹화하기 위한 응용 분야에서 저장 공간 운용의 효율성을 극대화하기 위한 비트율 제어를 보다 정확하고 효과 적으로 수행할 수 있다.
둘째, 실제 발생할 비트량과 양자화 파라미터의 관계를 모델링하는 R-Q 모델식을 제안하고 이 모델식을 이용하여 보다 정확한 비트율 제어를 수행함으로써, 아날로그 방송의 디지털 녹화를 위한 실시간 비디오 부호화 장치를 보다 효과적으로 구현할 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (6)

  1. 매크로 블록 단위로 입력되는 영상을 DCT 변환하고 이어 양자화 파라미터에 따라 DCT 계수를 양자화한 후 가변 길이 코딩(VLC)하여 입력 영상을 압축 부호화하는 실시간 동영상 부호화 방법에 있어서,
    (a) 전송 비트율에 따라 현재 GOP에 대한 목표 비트량을 할당하고, 결정된 목표 비트량으로부터 각 픽쳐 타입(I,P,B)별 목표 비트량을 할당하는 단계;
    (b) 하나의 픽쳐 내 목표 비트량으로부터 현재 부호화하고자 하는 매크로 블록의 목표 비트량을 할당하는 단계; 및
    (c) 상기 (b) 단계에서 할당된 매크로 블록의 목표 비트량을 비트량과 양자화 파라미터의 관계를 모델링한 R-Q 모델식에 적용하여 상기 매크로 블록의 목표 비트량에 대한 양자화 파라미터를 결정하는 단계를 포함하여 이루어지는 것을 특징으로 하는 실시간 동영상 부호화 방법.
  2. 제 1 항에 있어서, 상기 (b) 단계는
    현재 부호화할 픽쳐 내 매크로 블록의 목표 비트량 RMB을 하기의 식을 적용하여 할당하는 것을 특징으로 하는 실시간 동영상 부호화 방법.
    Figure 112005002229330-pat00011
    상기 MB_CNT는 현재 부호화를 수행하고 있는 픽쳐에서 현재 매크로 블록을 포함하여 남아 있는 매크로블록의 개수, Rframe은 현재 픽쳐에 할당된 비트량, Rused는 현재 픽쳐를 부호화하는 과정에서 지금까지 사용된 비트량, 상기 Nnorm은 정규화 매개변수를 의미함.
  3. 제 2 항에 있어서, 상기 (b) 단계는
    하기의 식을 적용하여 상기 정규화 매개변수 Nnorm를 구하는 것을 특징으로 하는 실시간 동영상 부호화 방법.
    Figure 112005002229330-pat00012
    상기 actj는 현재 부호화를 수행할 j번째 매크로블록의 공간적인 복잡도, 상기 avg_act는 이전 픽쳐에서 모든 매크로블록의 복잡도의 평균을 의미함.
  4. 제 2 항에 있어서, 상기 (b) 단계는
    상기 비트량 R과 양자화 파라미터 Q의 관계를 모델링한 R-Q 모델식을 하기의 식으로 정의하며,
    Figure 112005002229330-pat00013
    이전에 미리 부호화된 데이터에 대한 비트량과 양자화 파라미터의 통계를 이용하여 모델 계수 α,β를 구하고, 상기 매크로 블록의 목표 비트량 R을 대입하여 상기 매크로 블록의 목표 비트량 R에 가장 근접한 비트량을 발생시키는 양자화 파라미터를 최종 양자화 파라미터로 결정하는 것을 특징으로 하는 실시간 동영상 부호화 방법.
  5. 제 4 항에 있어서, 상기 (b) 단계는
    하기의 식을 적용하여 모델 계수 α,β를 구하는 것을 특징으로 하는 실시간 동영상 부호화 방법.
    Figure 112005002229330-pat00014
    Figure 112005002229330-pat00015
    상기 RMBj와 QMBj는 이미 부호화된 N개의 매크로 블록(0~N-1) 중 j번째 매크로 블록에 대하여 부호화 과정에서 소요된 비트량과 양자화 파라미터임.
  6. 제 4 항에 있어서, 상기 (b) 단계는
    목표 비트량과 실제 부호화하면서 발생하는 비트량의 이격도가 일정 값이상 차이가 나는 경우에 실제 부호화 과정에서 얻어진 비트량과 양자화 파라미터를 이용하여 상기 R-Q 모델식을 갱신하는 것을 특징으로 하는 실시간 동영상 부호화 방법.
KR1020050003767A 2005-01-14 2005-01-14 실시간 동영상 부호화 방법 KR100617097B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050003767A KR100617097B1 (ko) 2005-01-14 2005-01-14 실시간 동영상 부호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050003767A KR100617097B1 (ko) 2005-01-14 2005-01-14 실시간 동영상 부호화 방법

Publications (2)

Publication Number Publication Date
KR20060083298A KR20060083298A (ko) 2006-07-20
KR100617097B1 true KR100617097B1 (ko) 2006-08-31

Family

ID=37173686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050003767A KR100617097B1 (ko) 2005-01-14 2005-01-14 실시간 동영상 부호화 방법

Country Status (1)

Country Link
KR (1) KR100617097B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100800838B1 (ko) * 2006-07-27 2008-02-04 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
KR100950275B1 (ko) * 2008-09-18 2010-03-31 연세대학교 산학협력단 모델 파라미터 기반의 비디오 인코딩 비트율 제어장치와 방법 및 이를 수록한 저장매체
KR102338986B1 (ko) * 2019-11-15 2021-12-14 한국과학기술원 라이브 비디오 수집 시스템 및 방법
EP4060998A4 (en) * 2019-11-15 2023-11-15 Korea Advanced Institute of Science and Technology SYSTEM AND METHOD FOR LIVE VIDEO INGESTION

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078193A (ja) 1999-06-30 2001-03-23 Media Glue Corp 動画像圧縮符号化信号変換方法および装置
JP2003116133A (ja) 2001-10-09 2003-04-18 Kddi Corp 動画像圧縮符号化伝送品質制御方式および方法
KR20040036343A (ko) * 2002-10-24 2004-04-30 엘지전자 주식회사 비디오 트랜스코더의 적응적 비트율 제어장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078193A (ja) 1999-06-30 2001-03-23 Media Glue Corp 動画像圧縮符号化信号変換方法および装置
JP2003116133A (ja) 2001-10-09 2003-04-18 Kddi Corp 動画像圧縮符号化伝送品質制御方式および方法
KR20040036343A (ko) * 2002-10-24 2004-04-30 엘지전자 주식회사 비디오 트랜스코더의 적응적 비트율 제어장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문

Also Published As

Publication number Publication date
KR20060083298A (ko) 2006-07-20

Similar Documents

Publication Publication Date Title
KR100329892B1 (ko) 다수의 비디오 프레임 스트림 처리 방법 및 그 장치
US6480539B1 (en) Video encoding method and apparatus
US7453938B2 (en) Target bitrate estimator, picture activity and buffer management in rate control for video coder
US7492820B2 (en) Rate control for video coder employing adaptive linear regression bits modeling
US7869503B2 (en) Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US6522693B1 (en) System and method for reencoding segments of buffer constrained video streams
CA2421066C (en) Transcoder-based adaptive quantization for digital video recording
US7406124B1 (en) Systems and methods for allocating bits to macroblocks within a picture depending on the motion activity of macroblocks as calculated by an L1 norm of the residual signals of the macroblocks
US7925108B2 (en) Encoding device and dynamic image recording system having the encoding device
US20100166060A1 (en) Video transcoder rate control
EP1430727A1 (en) Method for generating a scalable encoded video bitstream with a constant quality
JP2001218213A (ja) 画像信号変換符号化装置
US7986731B2 (en) H.264/AVC coder incorporating rate and quality controller
US6963609B2 (en) Image data compression
KR100617097B1 (ko) 실시간 동영상 부호화 방법
EP2328351B1 (en) Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
JPH0998427A (ja) 動画像符号化装置
US20080253447A1 (en) Video Transcoding with Selection of Data Portions to be Processed
KR100793781B1 (ko) 실시간 동영상 부호화 장치 및 방법
KR100394014B1 (ko) 영상 변환 부호화 장치
EP0888009B1 (en) Device and method for encoding image data, and image data transmission method
KR101087109B1 (ko) 비디오 부호화 장치 및 그 방법
KR20060024609A (ko) 실시간 동영상 부호화 장치 및 방법
US20010000675A1 (en) Video data encoding apparatus, video data encoding method, and video data transmission method
KR20030083109A (ko) 비트율 변환부호화장치

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: 20120727

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130724

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140724

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150724

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee