[go: up one dir, main page]

KR20020072478A - Speg을 이용한 동영상 압축방법을 사용하여 스트리밍 하는방법 - Google Patents

Speg을 이용한 동영상 압축방법을 사용하여 스트리밍 하는방법 Download PDF

Info

Publication number
KR20020072478A
KR20020072478A KR1020010012490A KR20010012490A KR20020072478A KR 20020072478 A KR20020072478 A KR 20020072478A KR 1020010012490 A KR1020010012490 A KR 1020010012490A KR 20010012490 A KR20010012490 A KR 20010012490A KR 20020072478 A KR20020072478 A KR 20020072478A
Authority
KR
South Korea
Prior art keywords
video
compression
streaming
image
mpeg
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020010012490A
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 KR1020010012490A priority Critical patent/KR20020072478A/ko
Publication of KR20020072478A publication Critical patent/KR20020072478A/ko
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Landscapes

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

Abstract

본 발명은 발명자가 고안한 새로운 개념의 압축알고리즘인 SPEG(Stream Picture Expert Group)을 이용하여 동영상을 압축하여 스트리밍 하는 방법에 관한 것과 압축기법에 관한 것이다.
SPEG의 특징으로
1) 기존의 MPEG 방식의 압축방법을 사용하지 않았다.
2) 별도의 동영상 재생플레이어를 사용하지 않았다.
3) 영상의 버퍼링 과정을 생략하였다.
4) 고효율의 압축을 실현했다.
가 있고 이와 같은 방법으로 인터넷 상에서 실시간으로 동영상을 재생하도록한 방법을 제공하는데 있다.
본 발명의 구성은 인터넷상에서 SPEG을 이용한 손실압축방법을 사용하여 동영상을 압축하고, 스트리밍하는 방법을 구성함에 있어서, 압축할 프레임의 한계 값을 정한 다음 각각의 개체별로 압축하는 1단계와, 각각의 영상별로 각각 색인 값을 준 다음 차례로 정렬하는 2단계와, 개체의 영상이 압축된 후 중복되는 부분은 하나의 색인값 만을 남기며 제거하는 3단계와, 상기 단계를 거쳐 클라이언트가 접속시 스트리밍 서버의 내부연산자들이 클라이언트의 유저 그룹에 상주토록 하여 별도 플레이어 없이 상호 동기화를 이루도록 하는 4단계와, 상기 내부 연산자들을 자바를 이용해서 웹상의 범용브라우져 상에서 에플릿이나 클래스로 바로 띄워 볼 수 있도록 한 5단계로 이루어진 것을 본 발명의 요지로 한다.

Description

SPEG을 이용한 동영상 압축방법을 사용하여 스트리밍 하는 방법{Streaming method by moving picture compression method using SPEG}
본 발명은 SPEG을 이용한 동영상 압축방법을 사용하여 스트리밍 하는 방법에 관한 것으로, 자세하게는 별도의 장비나 전용플레이어 없이 압축하여 실시간으로 인터넷상에서 오디오/비디오를 포함한 멀티미디어 데이터를 주고받는 방법에 관한 것이다.
스트리밍(Streaming)이란 인터넷에서 음성 및 동영상을 실시간으로 받아볼 수 있는 기술로, 오디오와 비디오 등 멀티미디어 콘텐츠를 인터넷 웹에 구현하는 인터넷 솔루션을 말한다. 스트리밍은 멀티미디어 데이터를 인터넷을 통해 PC로 전송해주며 방대한 동영상 자료를 인터넷으로 보낼 경우 요구되었던 시간을 최소한으로 줄일 수 있게 한다.
스트리밍 서비스는 네트워크 대역폭에 따라 영향을 받는다는 점이 가장 큰 단점이고, 더욱 강력한 PC를 요구하고 있기 때문에 제한적 서비스라는 한계가 있었다. 하지만 최근 들어 인터넷 전용선이 빠르게 확장되고 있고 PC도 고성능화 되고 있어 이러한 문제는 점진적으로 사라지고 있다.
인터넷 스트리밍의 판매시장은 기존 방송사, 신문사를 중심으로 한 인터넷 미디어업체의 부상과 인터넷 방송, 근거리통신망(LAN)을 통한 사내방송, 원격교육등이다. 스트리밍 기술을 활용하면 인터넷을 통한 실시간 방송뿐 아니라 나아가 주문형비디오(VOD)서비스까지 가능하기 때문에 인터넷 방송분야의 핵심 기술로 자리잡고 있다. 또한 이러한 기술은 우선 스트리밍의 중심이 되는 압축 원천 기술과 멀티미디어 스트리밍 기술로 나뉜다고 말할 수 있겠다. 또한, 현시점의 대다수의 멀티미디어 스트리밍 기술들의 원천은 mpeg 방식을 따르고 있는 것 또한 사실이다.
그러나 고질적인 버퍼링과 다운의 문제와 스트리밍 서버의 가격문제에서 많은 걸림돌을 가지는 것 또한 사실이며 서버 과부하에 대한 해결책도 없는 것 또한 사실이다.
우선 스트리밍 기술의 근간이 되는 멀티미디어 스트리밍 기술에 대해서 설명해 보겠다. 멀티미디어 스트리밍이란 인터넷상에서 오디오/비디오를 포함한 멀티미디어 데이터를 다운로드가 아닌 실시간으로 주고 받는 기술을 말한다. 스트리밍이란 정보를 한번에 모두 받아 처리하는 것이 아니고, 처리에 충분한 정보를 조금씩 지속적으로 받아 처리하는 기술이다.
이부분에서 버퍼링이라는 과정을 가지게 되며, 멀티미디어 스트리밍 기술은 이 과정에서 음성신호와 영상신호의 상호 연동 과정을 거치게 된다. 또한 한꺼번에 모든 음성신호와 영상 신호의 연결이 불가능하므로 정규적인 시간을 주면서 사용자로 하여금 기다림의 시간 즉. 버퍼링 과정을 반복하게 되는 것이다.
보다 더 자세히 멀티미디어 스트리밍에 관해서 설명해 보겠다. 멀티미디어 스트리밍은 일반적으로 멀티미디어 데이터의 주문형(On-Demand) 서비스<VOD>와 생방송 서비스에 이용된다. 개인용 컴퓨터에서 사용자는 전체 파일을 다운로드 하지않고도 멀티미디어 스트림을 직접 재생할 수 있다. 웹 페이지상의 버튼을 간단히 클릭함으로써 해당 이벤트가 수초 안(버퍼링시간 단축)에 시작하게 된다. 멀티미디어 스트리밍 이벤트는 실시간으로 제공되거나 필요에 따라 언제든지 볼 수 있도록 저장될 수 있다.
이 부분을 전담하게 되는 것이 스트리밍 서버이며, 서버에 연결할 수 있는 동작을 가능하게 하는 것이 바로 웹서버의 기능이라 하겠다. 대용량의 서버가 필요할 이유가 바로 이러한 점 때문이다. 주문형 서비스는 필요한 것을 바로바로 볼 수 있다는 장점과 동작의 계연성에서 나오는 장점이 있으나, 외부에서 멀리 떨어져서 서버에 접속해 동작할 때는 마찬가지로 회선에 따라 수초에서 몇 분가량의 버퍼링 과정을 거치게 되며 심한 경우 재접속의 과정을 사용자에게 요구하게 된다.
멀티미디어 스트리밍 서비스는 다음과 같은 서비스에 이용된다.
(1)주문형(On-Demand) 서비스
멀티미디어 데이터를 클라이언트가 원할 때 제공해 주는 주문형 서비스로, 디스크에 대용량으로 저장된 멀티미디어 데이터를 실시간으로 전송하고자 할 때 멀티미디어 스트리밍(Streaming Media)시스템을 이용한다.
(2)생방송(Live Broadcasting)
비디오 캠코더의 영상 또는 마이크의 음성을 클라이언트에게 실시간으로 제공하여 생방송 서비스를 할 수 있다. 이 생방송 서비스를 이용하여 인터넷 가상 방송국을 차릴 수 있다.
멀티미디어 스트리밍기술의 적용분야
멀티미디어 스트리밍 기술이 주로 활용될 수 있는 분야는 인터넷 방송국을 비롯하여 다양하다.
특히 요즘 관심을 끌고 있는 인터넷 방송국의 경우 생방송(Live Broadcasting)서비스를 이용하여 인터넷을 통한 가상의 방송국을 운영할 수 있다. 또한 VOD 솔루션을 적용해 원격강의 가상교육에도 활용할 수 있다. 현재 이미지배너형태의 웹페이지 광고를 멀티미디어 광고 형태로 전환할 수 있고 동영상 및 음성을 이용하여 전자 상거래에도 적극적으로 활용할 수 있다.
이밖에 사내 교육 및 안내 시스템 ,방송국 등 사내 인트라넷과 연동해 활용할 수 있다. 현재는 좀더 발전된 응용솔루션이 발표되고 있으며 광고, 동영상메일, 게시판 등의 현재의 웹솔루션에 직접 응용되어 가고있다. 그리고 요즘 화재로 떠오르는 IMT2000 기술 또한 주요한 것이라 하겠다.
동영상 스트리밍에 있어서 많은 사용자들이 사용하면서 느끼는 버퍼링의 고질적인 문제나, 스트리밍 서버의 고가성 또한 회선의 이질성은 압축 원천을 제어하지 않고는 여전히 가장 큰 문제점으로 남아 있는 것 또한 사실이라 하겠다. 그렇다면 왜 이들은 다른 압축 기술을 사용할 생각을 하지 않으며 mpeg방식을 고집하고 있는 것인가?
물론 아래에서 두 압축 방식을 보다 자세히 비교해 보겠지만 간단히 살펴본다면 다음과 같다. 그것은 바로 mpeg방식이 표준으로 지정되어 있기 때문이다. 또한 음성신호와 영상신호의 적절한 상호 이식성과 압축의 효율성이 그것이라 하겠다.
이 단계를 랜더링이라 하는데, 랜더링이란 스트림에서 얻은 디지털 정보를 사운드와 그림으로 변환하는 과정을 말한다. 컨텐트 정보를 랜더링하는 단계에서는 클라이언트 컴퓨터는 데이터를 수신하고 스트리밍 서버에서는 서버와 연동되는 플레이어를 인식(리얼오디오,미디어 플레이어 등)후 단독실행으로 컨텐트를 재생하거나, 각종 콘솔과 OS에서 지원해주는 플러그인을 사용해서 스트리밍 데이터를 웹페이지에 삽입하거나, SMIL등의 언어를 사용해서 고급 프리젠테이션이란 개념으로 텍스트, 이미지, 오디오, 비디오를 웹 페이지의 다른 항목과 동기화 해주는 방식을 사용하게 되는 것이다. 이와 같은 기능들이 현재 mpeg에서는 가능하며 이 분야로 계속 연구해온 결과 지금과 같은 통합적인 고급 프리젠테이션까지도 구현이 가능하게 된 것이다. 하지만 여전히 고질적인 버퍼링의 개념은 그대로 남아 있으며 대용량이든 소용량이든 필요 불가결하게 계속 사용하게 된다는 단점이 있다.
상기 압축방식에 대한 설명을 다음에서 하겠다.우선 이과정을 이해하기 위해서는 압축의 핵심인 프레임의 개념을 이해 해야만 한다. 스트리밍 기술측정에 가장 중요한 부분이 이부분이다.
초당 얼마정도의 프레임을 구현할수 있는가? 이것으로 스트리밍 기술의 속도와 화질을 결정하는 것이 그것이라 하겠다.
가. 프레임과 압축에 대한 이해
1) 프레임(Frame)
프레임이란 영상을 구성하는 하나 하나의 장면영화나 TV의 화면은 실제로 움직이는 화면이 아니다. 아시다시피 영화나 TV의 화면은 움직이지만 실제로는 정지된 영상의 연속으로 사람 눈의 착시현상으로 움직이는 것처럼 보이는 것이다. 이렇게 움직이는 것처럼 보이기 위해서는 초당 25∼30장면(프레임) 정도가 되어야 한다. 즉, 1초에 30개 정도의 영상을 연속해서 보여주어야 자연스러운 동작으로 보이게 된다. 초당 프레임 수를 FPS(Frame Per Second)로 표시한다.
2) 압축의 필요성
일반적으로 해상도 640×480에 256칼라(Color)를 구현하는 한 장면은 640×480×8÷8로 계산되어 약 300KB의 데이터량을 갖게 된다.
이러한 데이터량으로 동영상을 구현하려면 1분간의 데이터만 해도 300KB×30frame×60초 = 540MB의 데이터량을 갖게 된다. 즉 1GB의 HDD라도 2분 정도의 분량밖에는 저장할 수 없게 된다. 따라서 동일한 값을 갖는 부분을 압축하여 사용시간을 늘리는 방법을 사용하고 있다. 한 예로서 V-CD는 680MB의 용량에도 불구하고 이런 압축을 사용하여 약 74분 분량의 동영상을 저장할 수 있다 이부분에서 압축원천 기술이 접목되게 되는 것이다. 기존의 스트리밍 기술은 대다수 국제표준인 mpeg방식을 채택해 왔으며 이부분에서 놀라은 연구결과물들을 속속들이 내놓은 또한 사실이다. 그러나 용량의 한계를 해결했을지 모르나 스트리밍에 관련한 분명한 해독부분인 버퍼링의 시간차는 줄일 수가 없었던 것이다.
높은 압축율에 비해서 해독부분인 버퍼링의 과정이 필연적이었던 것이다.
나. 압축과 원리 및 종류
1) 압축의 원리
데이터의 압축은 데이터의 크기는 줄더라도 자료의 내용은 원래의 것을 갖고있어야 한다. 즉, 원래의 자료를 압축하여 새로운 자료를 만들어 내는 것이다. 그리고 이것을 다시 원래 상태로 복구하는 것이 압축 해제다. 가령 33333333이라는 데이터가 있을 경우, 이것을 단순한 원리로 38이라고도 표현할 수 있다. 이럴 경우 8Byte를 2Byte로 줄이는 효과를 낼 수 있다. PKZIP, LHA, ARJ는 각기 좀 더 복잡한 원리를 사용해서 데이터를 압축하고 다시 원래의 데이터로 복구한다.
2) 압축기술의 종류
-손실 압축(Lossy Compression)
사람의 눈으로 식별할 수 있는 그림이나 영상의 색상과 해상도는 한계를 갖는다. 따라서 어느 정도의 해상도를 넘어서면 차이를 느끼지 못하고 거의 비슷하게 보인다. 바로 이런 점을 활용하여 사람이 감지할 수 있는 이상의 데이터는 제거하여 자료의 량을 줄이는 것이다.오디오나 영상은 손실압축이 가능하다. 대다수의 스트리밍 기술이 차용하는 방법이다.
-무손실 압축(Lossless Compression)
무손실 압축은 압축 대상이 되는 자료를 전혀 손상시키지 않고 압축하는 방법이다. 수치나 문서, 프로그램 같은 자료는 절대 손상시켜서는 안된다. 만일 손상시킨다면 그 자료는 이용할 수 없게 된다. 널리 사용되고 있는 압축 유틸리티는 무손실 압축을 사용한다. 정지영상압축기법이기도 하다.
-DCT 압축기술
1974년은 오늘날 멀티미디어 혁명을 가능케 한 기념비적인 발명이 있던 해이다. 미 텍사스대학의 라오 교수를 비롯한 3명의 연구진이 이산여현변환 (DC T:Discrete Cosine Transform)이라는 새로운 직교변환에 관한 논문을 IEEE학술지에 발표했던 것이다. 이 DCT는 특히 영상의 압축에 탁월한 성능을 갖는 것으로 오늘날 멀티미디어 관련 국제표준인 H.261, JPEG, MPEG의 핵심요소로 자리잡고 있다. 문자, 도형, 일반 데이터 등을 무손실 압축하면 완전 복구가 가능하지만 압축률은 평균적으로 2대1정도이다. 반면 영상 음성 음향 등의 데이터를 인간의 눈과 귀가 거의 느끼지 못할 정도로 작은 손실을 허용하면서 압축하면 10 대1이상의 압축률을 쉽게 얻을 수 있다. 동영상의 경우 화면간 중복성과 화면내 화소간 중복성이 많아 시각 특성을 잘 활용하면 MPEG영상 압축에서 볼 수 있듯이 30대1이상의 압축을 쉽게 얻을 수 있다. 정지영상은 화면내 화소의 중복성만이 있고, 한 화면이므로 화면간 중복성은 없어 JPEG에서 보듯이 MPEG보다는 다소 압축률이 낮다. 영상이 중복성이 높은 3차원(동영상) 혹은 2차원(정지영상) 데이터여서 압축도 크게 되는데 비해 음성과 음향은 중복성이 상대적으로 떨어지는 1차원 데이터여서 압축률도 영상에 비해 크게 떨어진다. 북미 이동통신용의 음성 압축방식인 VSELP에서는 8대1정도의 압축률이 얻어지고, 돌비 AC-3이나 MPEG 음향 압축에 있어서는 단일 채널의 경우 6대1, 채널간 중복성이 높은 스테레오나 다채널(예:극장영화 감상시의 5.1채널)의 경우 10대1정도의 압축이 얻어진다. 영상데이터를 효과적으로 압축하기 위한 목적으로 가장 널리 쓰이는 손실부호화 기법은 변환부호화이다. 이 방식의 기본구조는 공간적으로 높은 상관도를 가지면서 배열되어있는 데이터를 직교변환에 의하여 저주파 성분으로부터 고주파 성분에 이르기까지 여러 주파수 성분으로 나누어 성분별로 달리 양자화하는 것이다. 이때 각 주파수 성분간에는 상관도가 거의 없어지고신호의 에너지가 저주파 쪽에 집중된다. 단순 PCM에 비해 같은 비트율에서 얻는 변환부호화의 이득은 각 주파수 성분의 분산치의 산술평균과 기하평균의 비와 같다. 즉 저주파쪽 으로 에너지의 집중이 심화될수록 압축효율이 높다. 공간상의 데이터에 대한 단순 PCM은 모든 표본을 같은 길이(예:m비트/표본) 의 비트로 표현하며 신호대 양자화 잡음비는 약 6m가 된다. 반면 직교변환에 의해 주파수 영역으로 바뀐 데이터는 에너지가 많이 모이는(즉 분산치가큰) 주파수 성분이 보다 많은 비트를 할당받아 그 주파수 성분을 보다 충실히 표현하도록 하고 있다. 분산치가 4배(즉 진폭이 2배) 될 때마다 1비트씩 더 할당받는데 이렇게 되면 모든 주파수 성분에서 동일한 양자화 에러 특성을 갖게 된다. 여러가지의 직교변환 가운데 이론적으로 영상신호의 에너지 집중특성이 가장 뛰어나 압축에 가장 효과적인 것은 카루넨-뢰브 변환(KLT)이다. 그러나 이것은 영상에 따라 변환함수가 새로 정의되어야 하므로 현실적으로 사용할수 없다. 이 KLT에 충분히 가까운 성능을 가지면서 구현 가능한 변환을 찾는것이 라오 교수팀의 목표였고 그 결과가 바로 앞에 말한 DCT이다. 현재 여러 국제표준에 핵심기술로 자리잡고 있는 DCT는 8×8크기의 화소를 하나의 블록으로 묶어 변환의 단위로 삼고 있다. 블록의 크기를 키울수록 압축효율은 높아지나 변환의 구현이 훨씬 어려워진다. 실험적으로 8×8이 성능과 구현의 용이성간 타협점으로 선택되었다. DCT 변환계수의 양자화는 스칼라 양자화(SQ)와 벡터 양자화(VQ)가 가능하다. VQ는 보통 계수간 상관도가 높을 때 효과적이고 대신 SQ보다는 복잡도가 높다. DCT계수들끼리는 이미 상관도가 거의 없어 현재 국제표준 에서는 SQ를 채택하고 있다. 또 SQ도 다시 구현이 용이한 선형과 특성이 좋은 비선형기법으로 나뉘는데 양자화된 계수가 다시 엔트로피 부호화(무손실)를 거치면 두 기법간 성능의 차가 작아진다. 현재 국제표준에서는 엔트로피 부호화가 뒤따르고 있어 H.261, JPEG, MPEG-1에서는 선형 기법만을 사용하였다. 그러나 MPEG-2에서는 약간의 성능개선을 위해 비선형 기법도 함께 채택했다. 또한 양자화된 DCT계수들의 통계적 특성을 이용한 무손실 압축을 위해 현재 국제표준에서는 런길이 부호화와 허프만 부호화를 결합하여 사용하고 있다. 영상의 압축은 이렇게 DCT, 양자화, 런길이 부호화, 허프만 부호화, 움직임보상 DPCM (동영상의 경우만 해당) 등 많은 기술이 결합되어 이루어지고 있다
-움직임 보상압축
인간의 시각은 초당 16장 이상의 화면이 보이면 연속적인 자연의 영상처럼 느낀다. 즉 동영상에 있어서는 초당 16장이 정보를 보존하면서 신호를 표본화하기 위한 최소의 표본화 주파수(나이퀴스트 주파수)인 셈이다. 이를 감안하여 영화는 초당 24장의 속도로, TV는 초당 25장 혹은 30장의 속도로 자연의 영상을 촬영하고 있다. 영화가 하나하나의 화면을 순간적으로 필름에 담아 저장하여 화면단위로 일시에 스크린에 비추는 형식인데 비해 TV는 기본적으로 전파를 통해 영상을 전송해야 하므로 매 화면을 다시 수백개의 주사선으로 주사하여 촬영및 전송하고 브라운관에서도 주사에 의해 영상을 나타낸다(주사하여 전송하는 점에서는 팩시밀리도 비슷하다). 미국 일본 한국 등에서 채택하고 있는 NTSC 컬러TV방식에서는 화면당 5백25라인의 주사선에 초당 30장(정확히는29.97장)을, 유럽 등지에서 채택하고 있는 PAL이나 SECAM 방식에서는 6백25라인에 초당 25장을 전송하고 있다. 또한 TV에있어서는 제한된 주사선을 이용하여 보다 효과적으로 동영상을 나타내기 위해 한 화면(프레임)을 다시 짝수번째 주사선으로 이루어진 짝수 필드와 홀수번째 주사선으로 이루어진 홀수필드로 나누어 교대로 전송하는 소위 격행(interlaced) 주사방법을 사용하고 있다. 따라서 초당 NTSC는60필드, PAL이나 SECAM은 50필드가 되어 스포츠 화면과 같이 움직임이 많은 경우에도 잘 따라가도록 하고 있다. 영화를 TV로 방영할 때는 텔레시네(텔레비전과 시네마의 합성어)라는 변환기를 통해 영화필름 한장한장을 주사하여 전송한다. 이때 영화와 TV의 초당 화면수가 달라 이를 맞추지 않고 필름을 단순히 TV화면속도로 재생하면 PAL이나 SECAM의 초당 25화면은 영화의 초당 24화면과 큰 차이가 없어 시각적으로 별 문제가 되지 않으나 NTSC는 초당 30 화면이므로 움직임이 빠르고 목소리도 높고 빠른 영화를 보게 된다. 따라서 영화필름을 NTSC TV로 전송할 때는 화면 속도를 맞추어야 하는데 초당 24화면으로부터 60필드를 얻어야 하므로 2화면으로부터 5필드를 얻으면 된다. 간단하고 실용적으로 널리 쓰이는 방법은 2화면중 첫 화면에서 3필드를 주사하고 다른 화면에서 2필드를 주사하는 방법이다. 이를 "3:2 풀다운" 방식이라고 부른다. 데이터 압축의 관점에서 보면 영화나 TV처럼 초당 수십장의 화면을 취하면 화면간 즉 시간축상) 중복성이 매우 높다. 예를 들어 고정된 장면의 경우 화면 한장한장의 내용이 같으므로 첫 화면만 전송하면 다음 화면들은 "앞 화면과 같다"는 단순 정보만으로 완전하게 전송할 수 있다. 또 움직임이 있는 장면에서도 우선 배경부분은 정지해 있는 경우가 많고 움직인 부분도 "어떤 부분이 어디로 움직였는지"의 정보를 보냄으로써 데이터량을 크게 줄일 수 있다. 데이터 압축이 되지 않는 경우는 장면전환이 있어 두 화면간 상관성이 없을 때로 이 때는 어쩔 수 없이 뒤 화면은 앞 화면의 정보를 이용하지 않고 뒤 화면내에서만 압축한다. 70년대 중반 전화선을 이용한 영상전화가 "픽처폰"이라는 이름으로 선보인 적이 있다. 당시에는 획기적인 기술이었지만 시장이 넓지 않고 반도체 기술이 충분히 뒷받침해 주지 못해 고가일 수밖에 없어 결국 실패하고 말았지만 동영상 압축에 관한 연구가 본격화되는 계기가 되었다. 이 무렵 화면간 중복성을 줄이기 위해 시도된 방법은 이웃하는 화면간에 움직인 부분과 정지한 부분을 영역 구분하여 움직인 영역의 영역정보와 그 안의 내용을 갱신하여 보내고 정지한 부분은 보내지 않는 것이었다. 이 방법은 움직임이 있는 부분을 영역구분해야 하므로 영상전화와 같은 실시간 시스템에서는 구현상 어려움이 많았다. 80년대 초반 이를 극복하기 위해 나온 방법이 오늘날 MPEG이나 H.261 등에까지 널리 쓰이고 있는 블록별 움직임 추정 및 보상방법이다. 즉 화면을 일정한 크기의(보통 16×16으로 매크로 블록이라 부르며 DCT의 단위인 8×8의 블록이 4개 모인 것이다) 단위로 나누어 단위마다 앞 화면의 어느 곳으로부터 움직여 왔는지 움직임 벡터를 구하고 이를 이용하여 움직임 보상을 한다. 현 매크로 블록과 움직임 보상에 의해 얻어진 이전화면의 매크로 블록 간 차이만을 부호화함으로써 데이터량을 크게 줄일 수 있다. 수신측에서 영상재생에 쓸 수 있도록 움직임 벡터도 전송해야 하는데 이때 DPCM과 허프만 부호를 이용한 무손실 압축이 이용된다. 이 움직임 보상압축기법에 의해 MPEG 등 동영상 압축기술의 효율이 JPEG 등의 정지영상 압축기술보다 크게 높아지게 되는 것이다.
-H. 261
ITU-T(구 CCITT)에 의해 만들어진 국제표준인 H.261은 종합정보통신망(ISDN: Integrated Services Digital Network)을 이용한 영상전화 및 영상회의를 위한 동영상 압축방식이다. 이는 정지화 압축에 관한 국제표준인 JPEG와 더불어 오늘날 멀티미디어 혁명의 중심이 되고 있는 국제표준인 MPEG1과 2의 모태라고 할 수 있다. 1876년 그레이엄 벨에 의해 발명된 전화는 이후 인간의 주요 통신수단으로 자리잡아왔다. 전화와 팩시밀리를 수용하는 기간통신망이라 할 수 있는 전화망, 기업간 통신에 주로 사용되는 텔렉스망, 데이터 통신을 위한 디지털 통신망 회선교환 및 패킷교환 포함) 등 복잡하게 얽혀 있는 개별적 통신망을 통합하고자 등장한 것이 ISDN이다. ISDN은 지난 80년대에 ITU-T의 I계열로 국제표준이 마련되면서 몇몇 나라에서 실용화되기 시작하였다. ISDN에서 규정하고 있는 채널에는 음성 및 팩스등 기본 정보전송을 위한 B채널 64Kbps 동영상 및 고속데이터 전송을 위한 H채널(H는 3백84Kbps, H3 3은 1천5백36Kbps), 그리고 여러가지 제어신호용의 D채널(16kbps 혹은 64Kbps)등 세 종류가 있다. 실제 사용시에는 이 세 채널을 적절히 조합하여 기본접속 혹은 1차군 접속의 형태를 취한다. 가정에 연결되는 기본접속은 현재의 전화선과 같이 2선식 나선형 동선을 이용하고 있고, 두개의 B채널과 하나의 D채널(16Kbps)을 시분할 다중화하여 (2B+D) 총 1백44Kbps의 데이터 전송속도를 갖는다. 댁내 배선은 4선식 버스방식으로 최대 8개까지의 단말을 연결할 수 있는데 전화-팩스-저속 컴퓨터 통신을 동시에 할 수 있고 1가구 2전화가 실현된다. 이 ISDN을 이용한 서비스의 일환으로 나온 것중 하나가 현재의 전화선을 이용한 G3팩스를 고속.고해상도로 개선한 G4팩스이고 또 하나가 얼굴영상과 음성을 함께 전송하는 영상전화이다. 이때 음성은 G.711(64Kbps PCM) 혹은G.728(16Kbps LD-CELP)에 의해 부호화하고 얼굴영상은 H.261에 의해 부호화한 후 이들을 H.221에 의해 다중화 하고 망 인터페이스를 부가하면 ISDN영상전화 단말기인 H.320이 된다. 이때ISDN 기본접속이 제공하는 비트속도가 1백44Kbps 밖에 되지 않아 음성과 제어용으로 사용하는 비트를 빼고 남은, 즉 영상에 사용할 수 있는 비트는 매우 부족하다. 따라서 초당 보낼 수 있는 화면수와 화질에 제약이 많다. 이것은 영상전화의 성격이 음성을 통한 정보전달이 주이고 영상은 보조기능이라는 점을 감안한것이다. 사무실 업무용의 ISDN 접속은 가정의 기본 접속보다 전송속도가 훨씬 높은 1차군 접속일 때가 많다. ISDN 1차군 접속은 북미와 일본에서는 1천5백36Kbps, 유럽에서는 2천48Kbps로 B H D 등 세 종류의 채널을 여러 방법으로조합하여 사용할 수 있다. 이 높은 전송률을 활용하는 방안중 하나가 바로 영상회의이다. 영상회의는 멀리 떨어져 있는 다자간에 시간과 경비를 절약하면서 회의를 하고자 할 때 유력한 수단이다. 보통 여러 사람이 큰 화면을 통해 서로를 보면서 회의를 하기 때문에 두사람이 작은 액정화면을 보며 대화하는 영상전화에 비해 화질과 음질이 훨씬 좋아야 한다. 따라서 음성코덱은 AM방송에 가까운 음질을 제공하는 G.722(64Kbps이하, SB-ADPCM방식)를 사용하며, 영상코덱은 영상전화와 마찬가지로 H.261을 사용하는데 단지 사용가능한 비트가 훨씬 많다. 즉H.261은 p×64Kbps의 영상 전화 및 영상회의를 위한 동영상 압축표준으로ISDN 기본접속 및 1차군 접속을 감안한 것이므로 p는 1~30의 값을 취하는데 보통 영상전화는 p값이 1∼2, 영상회의는 6 이상이다(H 채널은 p값이 6이됨). ITU-T에서 H.261의 표준화를 이끈 사람은 일본 NTT의 오쿠보인데(현재는 GCT 소속) 이 표준화과정에서 그가 사용한 수법은 소위 "Reference Model"로 불리는 모델을 만들어 회의때마다 이를 개량해가는 것이었다. 즉 참여사들이 이 모델과 새로이 제안하고자 하는 기술을 비교하여 객관적 우수성을 검증한 후 그 기술을 모델에 추가하고 이 과정을 반복함으로써 많은 요소기술들을 단 시간안에 수렴하여 우수한 알고리듬을 만들 수 있었다. 이 수법은 그후 MPEG에서도 채택되었으므로 H.261은 영상압축의 기술적 내용뿐 아니라 표준화를 하는 효과적 프로세스로서도 MPEG의 탄생에 모태역할을 했던 것이다. H.261은 ISDN의 기본접속이나 1차군접속에 연결되는 영상전화 및 회의용 터미널 전송속도는 p×64Kbps, p=1∼30)에 내장되는 동영상 압축.신장에 관한 표준이다. H.261은 1984년 표준화 작업이 시작되어 "RM(Reference Model) 8"까지 방식이 개정된 끝에 1988년 기술적 내용이 완성되었고, 마침내 1990 년 ITU-T의 최종 승인을 얻어 권고로서 확정되었다. H.261은 효과적인 동영상 압축을 위하여 여러가지 손실/무손실 압축 기법들 을 결합하고 있다. 우선 영상의 입출력 포맷에 대해 살펴보기로 하자. TV방식에 있어서 525/30 /2:1(화면구성은 480×720, 주로 NTSC)을 쓰는 북미, 일본, 한국등과 625/ 25/2:1(화면구성은 576×720, 주로 PAL과 SECAM)을 쓰는 유럽간에 차이가 있어, 카메라와 모니터의 수평및 수직 동기 주파수가 다르다. 영상전화의 카메라와 모니터도 경제성으로 인해 기존 TV와 호환성이 있는 것을 사용하므로 서로 다른 나라간의 직접적인 영상통신이 불가능하다. 따라서 H.261에서는 두 시스템간의 변환을 위해 CIF(Common Intermediate Format)라 는 공통 양식을 만들어 코덱의 영상 입출력 포맷으로 사용한다. CIF 포맷은 방송용의 1/4크기를 취해 288×360의 화면구성에 초당 30장의 순행주사로 이루어진다(이는 휘도의 경우이고 두색 신호는 수평 수직 각각2:1로 추림을 하여 전체적으로 4:2:0 형식임). 또 이의 1/4 크기인 QCIF(Quarter CIF)가 쓰이기도 한다. 카메라 출력은 전처리를 거쳐 CIF로 변환된 후 H.261부호기에 인가되며, H.261복호기에 의해 재생된 CIF화면은 후처리를 거쳐 정상적 TV신호로 바뀐후 모니터에 표시된다. 화면내 압축을 위해서는 블록(8×8화소)단위의 DCT를 행하여 블록의 에너지를 저주파 성분에 집중시킨 후 양자화된다. 양자화는 시스템을 간단하게 하기 위해 균일 양자화기를 사용한다. 이때 인간의 시각 특성이 고주파 성분의 양자화 잡음을 상대적으로 덜 느끼는 점을 이용하여, DCT 계수가 고주파일수록 양자화 스텝을 크게 한다. 따라서 고주파 성분은 크기도 작은데 양자화 스텝도 커서 대부분이 0이 된다. 화면간 상관성을 이용하여 압축률을 높이기 위해서는 화면을 매크로블록(4개의 휘도블록과 두개의 색블록)단위로 나누어 각 매크로블록마다 이전 화면의 어느 위치에서 움직여 왔는지를 나타내는 움직임 벡터를 구한다. 움직임 추정방법으로는 이전화면의 각 화소 위치마다 현 매크로블록과의 에러를 구하여 이것이 최소가 되는 위치를 찾는 블록 정합 알고리듬이 널리 쓰인다. H.261에서는 화소단위로 움직임 벡터를 찾는데 비해 보다 고화질이 요구되는 MPEG에서는 반화소 단위로 찾는다. 움직임 벡터는 화면 재구성을 위해 수신 측에 전송되어야 하는데, 비트를 절약하기 위해 벡터간에 DPCM을 행하고 그 결과를 허프만 부호화하고 있다. 양자화된 DCT계수는 0이 많은데 화면내 부호화의 경우에 비해 화면간 부호화된 블록은 더욱 그러하다. 이를 효율적으로 압축하기 위해 런길이 부호화를 쓰고 있다. 즉 DC로부터 출발하여 지그재그 주사를 하면서 0이 몇개 반복되고 0이 아닌 값이 나오는지를 (런, 레벨)의 형태로 나타낸다. 이렇게 하면 연속되는 많은 0들이 "런"에 한꺼번에 수용되어 데이터 압축이 이루어진다. 이 (런, 레벨)심벌들은 발생 빈도가 각각 다르므로 발생 빈도가 높은, 즉 런이나 레벨 값이 작은 심벌을 짧은 부호로 부호화하는 허프만 부호를 써서 더욱 압축하고 있다. 이런 과정을 거쳐 발생되는 데이터의 양은 시간에 따라 변하는데 복잡한 부분이나 화면내 부호화되는 부분에서 많다. 채널을 통한 데이터 전송 속도가 일정한 경우에는 발생되는 데이터를 써 넣었다가 일정 속도로 읽어내기 위한 버퍼가 필요하다. 수신측에는 일정 속도로 써 넣고 가변속도로 읽어 복호화 하기 위해 송신측과 같은 크기의 버퍼가 필요하다. 버퍼는 시간에 따라 충만도가 변하는 데 넘치거나 완전히 비면 비트열의 연속성이 끊겨 복호가 일시 중단된다. 이를 피하기 위해서는 버퍼의 상태를 궤환시켜 양자화 스텝을 조절함으로써 비트 발생량을 제어해야 한다. H.261은 이렇게 당시까지의 많은 손실/무손실 데이터 압축 기법을 결합하여 높은 압축률을 얻음으로써 실시간 영상통신의 길을 열었고, 이는 후에 MPEG- 1과 2로 이어져 멀티미디어 혁명이 본격화되는 계기가 되었다.
-H . 263
1876년 벨이 전화를 발명한 이래 인류는 상대의 얼굴을 보며 통화할 수 있는 화상전화를 꿈꾸어왔다. 이를 위한 첫 시도로 70년대 중반 "픽처폰"이라는 이름의 화상전화기가 선보였다. 그러나 당시의 기술 수준으로는 가격과 성능을 충족시킬 수없어 시장 진입에 실패했다. 80년대에 종합정보통신망(ISDN)이 ITU-T(옛 CCITT)에 의해 표준화되면서 그 응용으로 ISDN망을 이용한 화상전화를 생각하게 되었다. 이 화상전화기(H. 320 터미널)는 가정에서 ISDN망에 연결하는 기본 인터페이스(64Kbps채널 둘과16Kbps채널 하나)나 사무실에서 사용하는 일차군 인터페이스(64Kbps채널최대 30개)를 대상으로하므로 p×64Kbps(P=1∼30)의 비트율을 갖는다. 이때의 동영상 압축을 위한 국제 규격이 이전에 소개한 바 있는 H.261이다. H.320 화상전화기는 G4 팩시밀리와 마찬가지로 ISDN망에 접속하도록 되어있으므로 일반 전화망에서는 사용할 수 없어, ISDN이 널리 보급되지 않은 현시점에서 상용화에 어려움을 겪고 있다. 90년대 초에는 미국의 AT&T.MCI 등의 통신회사들이 전화망을 이용하는 화상전화기를 개발해 보급에 나섰다. 그러나 통신기기는 속성상 호환성이 매우중요한데, 이 화상 전화기들간에는 호환성이 없었다. MPEG4는 본래 이 수요를 충족시키기 위해 시작되었으나, 차츰 그 범위가 확장되어 결국 멀티미디어 데이터베이스 액세스나 무선 멀티미디어 통신을 주목적으로 하게 되었고 표준화도 98년에나 완성될 예정이다. 이러한 배경을 바탕으로 ITU-T SG15에서는 전화망을 이용, 64Kbps이내에서 동작하는 화상전화기의 국제 표준규격을 만들기 시작해 지난해말 그 기술적 내용을 최종적으로 확정했다. 단기간에 완성하는 것을 목표로 했기 때문에 MPEG4처럼 새로운 알고리듬을 수용하기보다는 H.320 화상전화기를 개량하는 방향으로 나아갔는데, 이것이 바로 H.324 터미널이다. H.324 화상전화기는 최근 표준화된 V.34모뎀(전화선용 모뎀으로는 최고속으로 전송속도는 28.8Kbps)을 통해 전화망에 접속되며, 동영상의 압축은 H.261을 상당부분 개선한 H.263을 이용하고 음성의 압축은 CELP 방식인 G723을 이용한다. H.263에 있어 H.261에 비해 개선된 부분을 정리하면 다음과 같다. 우선 각 매크로 블록의 움직임 벡터를 부호화하는데 있어서 이웃하는 매크로블록의움직임벡터와 상관도가 높음을 감안해 세 벡터의 중간 값을 취하는 보다 효율적인 방법을 사용하고 있다. 이 방법으로 약 10%의 데이터 감축이 얻어진다. 또한 한 매크로블록내에서 움직임을 세분화하는 블록별 움직임 추정이 가능하다. DCT 변환계수의 효율적 양자화를 위해 양자화기를 개선해 약 3%의 데이터절약을 얻고, 또한 양자화된 변환계수들의 가변장 부호화는 H.261, JPEG, MPEG1, MPEG2의 2차원 부호를 개선해 화면내.화면간 정보까지를 고려한 3차원부호를 사용한다. 여기서 약 5%정도의 데이터를 절약할 수 있다. 비트열의 구문(syntax) 에 있어서도 기존의 H.261보다 크게 단순화해 순수한정보 비트이외의 오버헤드를 줄이고 있다. 이밖에 성능향상을 가져오지만 복잡하여 사용여부를 옵션으로 남겨둔 기술로 구문기반 적응산술부호화와 PB프레임이 있다. 구문기반 적응산술 부호화는복잡하기는 하지만 5∼14%의 절약을 가져온다. PB프레임은 다른 기법이 비트절약을 위한 기법인데 비해 비트를 약간 더 허용하면서 초당 프레임수를 배로 늘릴 수 있어 시각적으로 훨씬 더 안정되고 부드러운 동화상을 얻을 수 있다. 성능향상을 위해 기타 몇 가지 요소가 더 제안되었으나 복잡도에 비해 성능향상이 뚜렷하지 않은 것들은 제외되었다. 이상의 여러 요소들을 가지고 있는 H.263 은 성능이 매우 뛰어난 알고리듬으로 최근의 MPEG4 화질 평가에서도 제안된 방식들의 성능을 평가하기 위한 기준 알고리듬으로 사용되었는데, 놀랍게도 제안된 방식들 대부분보다 H.263이 성능이 나은 것으로 판명되었다. 따라서 전화선을 이용해 제법 괜찮은 수준의 화상전화를 구현할 수 있게 되었다. 이미 규격이 완성되었기 때문에 올해하반기부터는 전화선에 바로 연결할수있는 화상전화기가 선보일 것으로 예상된다. 이 화상 전화기는 또한 PC상에 구현될 수도 있어, 전화선을 통한 PC통신과 팩스 송수신 기능을 가지고 있는 기존의 멀티미디어 PC의 개념을 한 차원 높여줄 것으로 기대된다. 즉 멀지않아 가정마다 보급된 PC를 이용해 전화선을 통한 화상전화를 하게 될 것이다.
-JPEG
영상을 디스크에 저장하거나 통신채널을 통해 전송하려면 과다한 데이터량이 큰 부담이 된다. 예를 들어 컴퓨터 화면에서 흔히 쓰이는 4백40×6백40화소 에 한 화소당 R(적색) G(녹색) B(청색) 각각 8비트씩 차지하는 자연색 영상의 경우 한장의 화면이 약 0.9MB를 차지한다. 현재 널리 보급되어 있는PC의 하드디스크 용량이 5백60MB, 3.5인치 플로피디스크의 용량이 1.44 MB인 점을 감안하면 영상의 데이터량은 상당한 것이다. JPEG(Joint Photographic Experts Group)은 컴퓨터 전자카메라 컬러팩 스 컬러프린터 등에 응용되는 정지화의 저장 및 전송을 위한 효율적인 압축 에 관한 국제표준(ISO-IEC 10918)으로서 이 표준화를 담당하는 작업반 이 별칭이기도 하다. 표준화단계에서 유럽의 DCT, 미국의 산술부호화, 일본의 벡터 양자화가 치열한 경합을 벌인 끝에 극적으로 DCT방식으로 타협을 보아 1988년 그 기술적 내용이 완성되었다. 심의 과정에서 특히 이진 화상(팩시밀리 등이 대상으로 하는)은 별도의 효과적 압축방식이 필요하다고 여겨 별도의 작업반을 만들어 JBIG(Joint Bilevel Image Coding Experts Group)표준을 완성 하게 되었다. JPEG압축방식은 크게 무손실 모드와 손실 모드로 나눌 수 있다. 무손실 모드는 의료 영상등과 같이 원화에 전혀 손상을 주어서는 안되는 응용분야 에 쓰이고, 손실 모드는 시각적으로 못 느낄 정도의 손실을 허용하면서 압축 률을 높이는 많은 응용분야에 채택된다. 무손실 모드는 부호화하고자 하는 화소를 인접한 이전 화소들로부터 공간적 으로 예측하여 그 예측오차를 통계적 빈도에 따라 허프만 부호화하고 있다. 손실 모드는 압축률을 높이기 위하여 손실부호화(DCT+양자화)와 무손실 부호화(DPCM.런길이 부호화, 허프만부호화.산술부호화)를 결합하고 있다. 화면을 블록(8×8화소)단위로 나누어 블록별로 DCT를 행하여 에너지 를저주파계수에 집중시킨 후 양자화한다. 이때 인간의 눈이 고주파 성분의 양자화 잡음을 덜 느끼는 점을 이용하여 고주파 계수일수록 양자화 스텝을 크게 한다. 따라서 고주파 DCT계수들은 크기도 작은데 양자화 스텝도 커서대부분 0이 된다. 손실 모드는 기본(Baseline)방식과 확장(Extended)방식으로 나뉜다. 기본방식은 양자화된 DCT계수들을 더욱 압축하기 위해 런길이 부호화와 허프 만 부호화를 쓰고 있다. 즉 DC로부터 출발하여 지그재그 주사를 하면서 0이 몇개 반복되고 0이 아닌 값이 나오는지를 런.레벨의 형태로 나타낸다. 이 심벌들은 발생 확률이 각각 다르므로 2차원 허프만 부호를 써서 더욱 압축하고 있다. 이때 각 블록의 평균값에 해당하는 DC는 화질에 크게 영향을 주므로 보다 충실히 표현할 필요가 있다. 따라서 DC는 AC계수들에 비해 보다 세밀히 양자화하고, 양자화된 결과에 대해 이전 블록과의 차이를 취해 1차원 허프만 부호화한다. 확장방식은 양자화된 DCT 계수들을 보다 더 효율적으로 압축하기 위해 산술 부호화를 사용한다. 허프만 부호에 비해 약간 효율은 높으나 그만큼 더 복잡하고 특히 IBM을 비롯한 몇개사가 이 부분의 특허를 보유하고 있어 특허료가 없고 구현이 용이한 기본방식이 오히려 더 널리 사용되고 있다. 확장방식은 또 한 화면을 점진적으로 부호화하여 수신측에서 점진적으로 선명해지는 화면을 선택적으로 재생할 수 있도록 하는 기능도 포함하고 있다. 컴퓨터에 있어서 현재 여러가지의 영상데이터 저장포맷과 압축방식이 사용되고 있다. 널리 쓰이는 GIF나 TIFF 포맷등은 렘펠-지브 알고리듬을 이용한 무손실 압축기법에 기초하고 있다. 이들보다 훨등히 뛰어난 압축률과 응용범위를 갖는 JPEG는 최근 PC에 적극적으로 도입되기 시작하여.jpg라는 확장자를 갖는 파일을 출력시킨다. 또 동영상에 대해서 매 화면을 JPEG로 압축하는 M-JPEG(Motion-JPEG)도 있다. M-JPEG는 움직임 보상부분이 없어 압축률은 MPEG보다 약간 떨어지나 대신 구현이 훨씬 용이하고 MPEG 압축파일과 달리 화면단위의 편집이 가능하다. JPEG는 비슷한 시기에 역시 DCT를 근간으로 하여 완성된 영상전화.회의용의H.261 표준과 함께 훗날 멀티미디어를 핵심기술로 탄생하는 MPEG-1과 2의 모태가 된다. 즉 MPEG는 JPEG로부터 DCT에 기초한 화면의 부호와 기법을, H.261로부터 움직임 보상DCT를 이용한 화면간 부호화 기법을 각각 따온 후 이들을 결합.발전시킨 것이다.
다. MPEG
1) MPEG(Moving Pictures Expert Group)이란?
동영상 전문가 그룹으로 ISO 산하의 멀티미디어 규격 제정 위원회의 Work Group을 의미한다.
이 그룹은 디지털 동영상의 표준안 제정을 목적으로 결성되었는데 MPEG은 이 그룹에서 제정한 동영상과 음형 데이터 압축기술을 의미하기도 한다. 멀티미디어에서는 가장 문제가 되는 부분이 바로 동영상이다. 동영상은 정지영상과 달리 많은 데이터량을 갖게되므로, 이 크기를 줄일 수 있는 압축기술이 필요했다. MPEG은 영상과 더불어 사람의 음성 또는 여러 가지의 음향을 포함하여 압축하는 방법이다. 즉 영상과 음성을 따로따로 압축시킨 후 이를 동기화시킨다. 가장 일반적인 스트리밍 압축 방식이며 미디어 플레이어와 리얼네트웍의 근간 기술이기도 하다.
특히 이 단체가 관심을 기울이는 분야는 전송기술로서, MPEG1 규격은 1.5Mbps전송속도(compact disk;CD와 동일)를 갖고 있으며 향후 4와 9Mbps의 MPEG2, 20Mbps의 MPEG++, 그리고 40Mbps의 MPEG3규격을 마련중이다.
2) MPEG의 동영상 압축방법
MPEG은 손실압축방법을 사용하여 영상을 압축하는데, 그 주요한 원리는 다음과 같은 방법으로 이루어진다.
(1) 하나의 영상을 압축한다.
(2) 이어지는 영상은 중복성을 제거 한 후 압축한다.
-여기서 프레임 수를 결정하게 되는데 주로 스트리밍 서버에서 이 부분을 감당한다.
(3) 각 개체의 영상이 압축된 후 중복되는 부분은 다시 압축한다.
- 이것은 영화의 한 장면에서 한 사람이 몇초 동안의 대사를 한다면 그 사람의 옷차림이나 배경화면이 변하지 않는 것을 볼 수 있다. 이때 변하는 것은 입의 모양과 표정뿐일 것이다. 그러므로 맨 처음 말하는 영상을 보관하면 두번째 프레임(Frame)부터는 입의 모양과 표정의 변화만 보관하면 재생시 원본과 거의 동일한 동영상을 재현할 수 있다. 이럴 경우 데이터량은 원본 대비 수십분의 일로 줄일 수 있다.
단, 이 과정에서 극심한 버퍼링을 거치며 중간중간 다운되는 경우 또한 생긴다. 그리고, 화상의 해상도나 컬러는 원본 보다 떨어진다(일반인은 잘 못 느끼지만).
그리고 데이터를 해석해야할 스트리밍 서버의 과부하를 가져오게 되며 서버사양 또한 고가의 서버를 사용하게 되는 것이다. 또한, 전용 플레이어코덱이 필요하게 되는데 그것들이 바로 리얼 오디오나 미디어 플레이어 같은 전용 스트리밍 플레이어인 것이다.
3) MPEG 규격
- MPEG- I : 90년 제정하여 92년부터 사용하는 초기의 MPEG 규격으로, CD, DAT(Digital Audio Tape), 방송용 VCR 등에서 사용되고, VHS 비디오 정도의 영상을 제공하며 ,1.5Mbps의 속도를 제공한다. 이는 이미비디오CD나 CD-I/FMV(CD-Interactive/Full Motion Video)에 채택되어 상품화되었다. 비디오CD는 93년 네덜란드의 필립스、 일본의 소니 마쓰시타 JVC 등 4개사가 합의하여 만든 규격이고、 CD-I/FMV는 필립스가 이미 발매하였던 최초의 멀티미디어 기기로서 애니메이션 수준의 영상을 보여주는 CD-I에 완전한 동영 상기능을 첨가한 것이다. CD-I/FMV에 비해 다소 단조로운 재생기능만을 가졌던 비디오 CD는 94년 대화형 기능을 강화시킨 버전 2.0이 나왔다. 또 그동안 93년에 만들어진 레벨 2 규격을 바탕으로 애니메이션 수준의 영상 과 음향을 제공하여 폭발적 성장을 기록했던 멀티미디어PC가 최근MPEG1 카드를 장착하여 자연스런 동화를 재생함으로써 CD에 담긴 영화를 PC를 통해서도 즐길 수 있게 되었다. 더 나아가 펜티엄급 이상의 고성능 PC에서는 소프트웨어만으로 MPEG1 복호기를 구현하려는 시도가 생기고 있다. 역사적으로 볼 때 지난 88년은 장래 멀티미디어의 방향을 결정하는 중요한시기였다. 우선 하이파이 오디오를 겨냥하여 82년 등장하였던 CD가 85년부터 는 CD롬이라는 이름하에 1.5Mbps 재생속도를 갖는 대용량(6백40MB、 74분) 데이터 저장매체로 응용되기에 이르렀다. 또한 영상전화 및 회의를 위한 동화 압축표준인 H.261과 정지화 압축표준인 JPEG가 이 무렵 완성을 눈앞에 두고 있었다. 이런 배경하에서 그동안 표준화를 이끌어왔던 전문가들의 다음목표는 자연스럽게 CD롬에 동영상과 음향을 담기 위한 표준 압축방법을 제정 하는 것으로 의견이 모아졌다. MPEG는 이 목적으로 결성된 위원회인 ISO-IEC JTC1/SC29/WG11의 별칭이다. MPEG안에는효율적 작업을 위해 여러 소그룹을 두었다. 즉 동영상의 압축방식을 담당하는 비디오 소그룹、스테레오 음향의 압축방식을 담당하는 오디 오 소그룹、압축된 비디오.오디오 비트열의 패킷화.다중화.동기화 등을 담당하는 시스템 소그룹、표준화를 위한 여러가지 요구조건을 제시하는 요구 사항 소그룹、비디오.오디오 소그룹에서 제안된 알고리듬 구현의 난이도를 평가하는 구현 소그룹、그리고 성능 테스트를 담당하는 테스트 소그룹 등이있다. 이 여러 소그룹들이 그룹별 혹은 합동으로 회의를 하면서 표준을 완성해간다. MPEG 표준화는 제안된 압축 알고리듬 중 어느 하나를 선택하는 것이 아니다. 각각의제안방식이 그 나름의 장점을 가질 수 있는 점을 감안하여 좋은 요소 들을 하나하나 흡수하여 알고리듬을 진화시키고 있다. 이 방법은 H.261에서 Reference Model을 설정하여 8차까지 개정해가면서 성공적으로 표준화를이끌었던 것을 거울삼아 택한 것으로 MPEG1에서는 이 기준을 시뮬레이션 모델이 라 한다. MPEG1 비디오의 경우 30여개의 제안들이 융합되어 결국 JPEG의정지 화 압축기법과 H.261의 동화 압축기법을 합성 개선한 하이브리드방식(움직임 보상 DPCM+DCT+양자화+런길이 부호화+허프만 부호화)이 되었다. 이와 관련된 시뮬레이션 모델은 3차까지 개정된 끝에 비로소 위원회의 표준안이 완성되었다. 또 MPEG1 오디오는 크게 4개 컨소시엄의 방식이 경합을 벌여 필립스의 MUSICAM에 기초한 서브밴드 부호화가 제 1、 2계층을 이루고 AT&T의 보다 복잡하고 효율적인 방식이 제3계층을 이루고 있다. 음질과 복잡도간의 균형을 고려 、 제2계층이 가장 널리 쓰이고 있다. MUSICAM방식은 MPEG1뿐 아니라 최근상품화된 휴대형 디지털 오디오 기기인 DCC(Digital Compact Cassette 에도채택되고 있다. MPEG1 시스템은 압축된 비디오와 오디오의 패킷화.다중화.동기화 등을 위한 데이터 포맷에 관한 규정으로 데이터의 다양한 다중화가 가능한 것을 비롯하여 전송 저장 처리 등에 있어 여러가지 이점을 갖는다. MPEG1은 비디오 CD、 CD-I/FMV、 차세대 멀티미디어 PC뿐 아니라 전화선을 이용한 주문형 비디오인 VDT(Video Dialtone)에도 이용되고 있다. 우리나라의 경우 현재 한국통신이 서울 반포전화국에서 2백50명의 가입자를 대상으로 시험서비스중인데 1.5Mbps 전송속도에서 MPEG1으로 영상과 음향을 압축한 후ADSL(Asymmetric Digital Subscriber Line)기술에 의해 데이터를 기존 전화 선(이중나선형 구리선)으로 전송한다. 화질이 만족스럽지 않기 때문에 장차6 Mbps의 MPEG2로 끌어올릴 것도 고려중이다. MPEG1은 또한 뒤를 잇는 훨씬 더 다양한 기능에 효율적인 방식인 MPEG2에의 징검다리 역할을 함으로써멀티미디어 시대를 앞당기는 역할을 하였다고 평가할 수 있다. MPEG1의 동영상 압축방식은 JPEG의 화면내 부호화기법과 H.261의 화면간 부호화 기법을 결합하여 개선한 것이다. H.261로부터 MPEG1으로의 진화과정을 살펴보면 다음과 같다.
H.261은 영상전화및 영상회의를 위한 동영상 압축표준이다. 따라서 H.261이 다루는 화면은 기본적으로 사람의 얼굴과 어깨가 포함되는 소위 Head-and-Shoulder 영상이다. 영상전화기의 경우 보통 카메라가 고정되어 있고 그 앞에서 화자가 화면에 나타나는 상대 얼굴을 보며 대화한다. 이 때의 영상은 고정된 배경과 약간의 얼굴 움직임(특히 눈과 입의 움직임이 큼)으로 특징지워진다.
따라서 장면전환이 없이 이웃하는 화면간 상관도가 매우 높고 화면간 부호화가 매우 효율적이다. H.261에서 첫 화면은 모든 매크로블록을 화면내 부호화하고 (I화면)、 그 이후의 화면은 앞 화면으로부터 순방향 예측 부호화하여(P화면) 압축효율을 높이고 있다. 즉 화면의 구성은 IPPP-의 형태가 된다. P화면은 각 매크로블록 마다 움직임 추정 및 보상을 한 후 화면내 부호화(인트라 모드)와 화면간 부호화 인터 모드)중 보다 압축이 많이 되는 것을 선택한다. 한편 움직임 보상 예측 부호화에 있어서는 한번 에러가 발생하면 그것이 이후 계속 전파되어 화면이 원상복구되지 않는다. 이를 극복하기 위하여 H.261 에서는 각각의 매크로블록이 최소한 132화면에 한번씩 강제로 인트라 모드로 부호화되도록 규정하고 있다. MPEG1이 대상으로 하는 화면은 H.261에서처럼 사람의 얼굴로 제한되지 않는 영화나 TV에서 보는 일반적인 영상이다. 따라서 움직임이 보다 많고 장면 전환도 수시로 발생한다. 또 음성을 통한 의사 전달이 주 목적인 H.261 기반영상전화와 달리 MPEG의 응용분야는 화질이 중요시되는 엔터테인먼트가 주를이루고 있다. 이를 고려하면 에러의 전파를 제한하고 화면 복구를 빠르게 하여야 한다 또한 랜덤 액세스 기능이 있어 영상 시퀀스의 임의의 화면으로부터 재생이 가능하여야 한다. 위 조건들을 충실히 만족하려면 화면 하나하나를 화면내 부호화하여야 한다. 그한 예가 방송국 스튜디오에서 부분적으로 사용되고 있는 Motion JPEG(M-JPEG )인데 각 화면을 JPEG로 부호화하여 화면단위의 편집이 가능하고 에러가 다음 화면으로 전파되지 않는다. 그러나 M-JPEG는 화면간 상관도를 이용하지않아 압축효율이 떨어진다. MPEG1은 H.261과 M-JPEG의 중간형태를 취하여 화면내 부호화되는 소위 I화면 은 일정한 주기로 위치시키고 그 사이의 화면들은 예측부호화하고 있다. I화 면은 에러 발생시나 전원을 켰을 때의 화면 복구와 랜덤 액세스의 기본 단위 가 된다. I화면의 부호화는 자연히 JPEG와 매우 흡사하게 된다. 보다 구체적으로는 JPEG기본(Baseline) 시스템과 유사하여 DCT+양자화+런길이 부호화 허프만 부호화의 결합으로 이루어져 있다. MPEG1의 예측부호화 화면은 크게 두 종류로 나뉜다. 하나는 H.261에서 본 바와 같은 P화면으로 이전의 I 혹은 P화면으로부터 움직임보상 예측부호화를행한다. 또 하나는 MPEG1에 새로이 도입된 획기적 개념인 소위 B화면으로 전후의 가장 가까운 I 혹은 P화면으로부터 양방향으로 움직임 보상예측을 행하여 오차를 부호화한다. 따라서 화면의 구성은 B화면이 2개씩 들어가고 I화면 이 9화면에 한번씩 들어가는 경우 IBBPBBPBB IBB-의 형태가 된다. P화면과 B화면은 움직임 보상 DPCM+DCT+양자화+런길이 부호화+허프만 부 호화의 결합으로 이루어진다. 다만 움직임 보상에 있어서 P화면은 순방향、B 화면은 양방향으로 이루어지는 점이 다르다. 여기서 B화면은 움직임 벡터의 양이 2배(순방향과 역방향)가 되지만 오차가P 화면에 비해 크게 줄어 압축효율이 높아진다. 반면 B화면 앞뒤의 I 혹은 P화 면이 차례로 부호화된 후 B화면이 부호화되므로 화면의 전송순서와 표시순서 가 바뀐다. 따라서 부호화/복호화에 여러 화면분의 지연이 불가피하고 화면 저장용 메모리 양이 크게 늘어난다. 예를 들어 현행 TV의 디지털 방송에있어서 B화면이 없으면 8Mb의 메모리가 필요하나 B화면이 있을 경우 16Mb가필요 하다. B화면은 화질 향상에 크게 기여하기 때문에 결국 화질과 시스템의복잡 도간 절충이 필요한데 최근에는 반도체 기술의 발전으로 구현시의 가격부담 이 적어져 많은 시스템에서 B화면을 넣어 사용하고 있다. MPEG1은 1.5Mbps의 낮은 전송률에 기초하고 있어 MPEG1에 기초한 비디오 CD나 CD-I/FMV의 화질은 현행 방송보다 다소 떨어진다. 그럼에도 불구하고 멀티미디어 PC와 전자오락、 가정에서의 일반 영화 감상용으로는 무난한 화질 과 음질이라는 평을 받고 있다. 그런 점에서 앞으로 상당 기간동안 고가.고 화질.다기능의 MPEG2보다도 더 널리 쓰일 것으로 보인다.
-MPEG1 오디오
MPEG1은 CD롬에의 응용을 위해 1.5Mbps에서 동영상과 음향을 압축하여 다중화하는 방법에 관한 국제표준이다. 이중 음향압축을 다루는 MPEG1 오디오는 모노、 하이파이 스테레오、 또는 2개국어 음향을 약 6대1 안팎으로 압축하는 방식이다. 기존 FM 스테레오 방송、 CD의 하이파이 스테레오 오디오、 컬러TV의 음성다중 등을 감안하면 MPEG1 오디오의 위와 같은 세가지 모드는 많은 응용분야에서의 오디오 요구조건을 수용하고 있음을 알 수 있다. MPEG1 오디오는 4개 컨소시엄의 방식이경합을 벌인 끝에 필립스의 MUSICAM 에 기초한 방식이 제 1、2 계층을 이루고 AT&T등이 제안한 방식이 제3계층 을 이루고 있다. 이중 성능과 복잡도를 고려하여 제 2계층이 가장 널리 사용된다. 동영상은 화면(2차원) 데이터가 시간에 따라 변하는 3차원 데이터이어서 화 소간 시공간적 상관도가 높아 압축률도 수십분의 1까지 높일 수 있다. 그러나 음향은 기본적으로 1차원 신호이어서 샘플간 상관도도 낮아 압축률은 10 분의 1이하가 보통이다. 그나마 압축률을 약간 더 높일 수 있는 경우는 좌우채널간 상관도를 활용할 수 있는 스테레오의 경우이다. MPEG1 오디오가 허용하는 입력신호의 표본화주파수는 CD의 44.1KHz、 DAT나 프로덕션 시스템 등에서 사용하는 48KHz、 그리고 FM오디오(15KHz 대역폭)의 디지털 처리시 사용하는 32KHz 등 세가지이다. 샘플당 비트수는 16~24인데 CD나 DAT에서 사용되고 있고 컴퓨터 환경에도 적합한 16비트(2바이트)가 가장 널리 쓰인다. 압축전의 데이터량은 예를 들어 CD의 경우 44.1KHz×16비트×2=1.5Mbps이다. MPEG1오디오에 있어서는 제2계층에서의 스테레오 압축시 64~384Kbps를 출력 한다. 입력음에 따라 다르겠으나 실험적으로 약 6대1 정도의 압축(2백56Kbp s)까지는 원음과의 차이가 거의 느껴지지 않다고 알려지고 있다. MPEG1 오디오는 효과적 압축을 위해 인간의 청각 특성 두가지를 잘 활용한다. 그 첫째는 단일음에 대한 특성으로 가청 주파수인 20Hz~20KHz 대역에서 각주파수 성분마다 다른 귀의 감도를 곡선으로 나타낸다. 즉 귀에 들리기 위한최소크기 임계치 를 음압으로 나타낸 것으로 1KHz 부근이 가장 낮아 귀에가장 잘 들리고 20Hz의 저주파나 20KHz의 고주파 쪽은 매우 높아진다. 두번째의 청각 특성은 복합성분간의 상호작용에 관한 것이다. 즉 어떤 주파 수 성분이 큰 값으로 존재하면그 주변에 언덕모양의 소위 마스킹 커브를 만들어 이 임계치 이하의 신호는 귀에 들리지 않고 그 이상의 큰 신호만이 들리게 된다. 위 두가지 특성을 결합하면 음향의 스펙트럼을 분석하여 각 주파수에 있어서귀에 들리지 않는 범위인 마스킹 값을 구할 수 있다. 각 주파수 성분의 양자화 잡음이 이 임계치 이내가 되어 들리지 않도록 하면 그만큼 비트를 절약할 수 있다. 이것이 손실이 있음에도 불구하고 원음과의 차이가 거의 느껴지지않는 MPEG1 오디오 압축의 근본 원리이다. MPEG1 오디오에서는 DCT를 이용하는 비디오와 달리 소위 서브밴드 부호화를이용한다. 입력신호를 우선 32개의 균일한 폭을 갖는 대역통과필터로 구성된 필터뱅크를 통과시켜 저주파에서부터 고주파에 이르기까지 성분별로 나눈다. 또한편에서는 보다 세밀한 푸리에 스펙트럼 분석을 통해 마스킹 임계치를구하고 이에 따라 32개의 각 대역에서의 양자화잡음 허용범위를 결정한다. 비트율이정해지면 오버헤드를 뺀 가용 비트수가 구해지므로 이를 32개의대역에 할당하여 대역별로 양자화를 행한다. 이때 비트를 많이 필요로 하는、 즉 양자화 잡음을 적게 해야 하는 곳부터 비트를 차례로 한 비트씩 할당한다. 이렇게 하면 전체 비트의 한도내에서 각 대역들이 필요한 만큼 비트를할당받게 된다. 한 비트 증가할 때마다 그 대역의 양자화잡음의 크기가 반으로 줄어 약 6kt씩 신호대잡음비가 개선된다. 각 대역마다 이렇게 할당된 비트수와 신호의 진폭에 관한 정보인 스케일인자 、 그리고 양자화된 표본값을 구하여 이들을 정해진 포맷에 따라 보내게 된다. MPEG1 오디오의 압축방식은 최근 발매가 시작된 DCC(Digital Compact Casset te)에도 이용되고 있다. 대부분의 MPEG1 오디오 응용분야와 달리 DCC는 부호 기와 복호기가 함께 들어가므로 부호기를 쉽게 구현할수 있도록 하기 위해DCC에서는 청각특성을 MPEG1 오디오보다 훨씬 단순화하여 사용하고 있다.
-MPEG1 시스템
MPEG1은 CD롬 등의 디지털 축적 미디어(DSM:Digital Storage Med ia)에 1.5Mbps이내로 동영상과 음향을 압축하여 다중화하는 방법에 관한 국제표준이다.
이중 다중화와 관련된 규격이 MPEG1시스템이다. 시스템이라 는용어는 일반적으로 매우 광범위한 의미를 갖지만 MPEG규격에 있어서의시스템은 동영상과 음향을 압축한 결과로서 발생하는 비트열들과 기타 부가데이터들을 어떻게 동기를 맞추고 어떤 형태로(예를 들어 패킷 형태)다중화 할 것인가에 관한 기술 규격이다. 디지털 신호의 다중화는 각 채널신호가 시간적으로 분리되어 교대로 전송 되는 시분할다중화(TDM:Time Division Multiple.ing)를 이용한다. 가장간단한 경우는 처음부터 일정하게 시간을 나누어 각 채널이 고유의 시간 구역을 차지하도록 하는 것이다. 수신측에서도 각 채널의 시간 할당을 알고 있으므로 원하는 채널의 신호를 선택할 수 있다. 예를 들어 전화국의 전자교환 기는 여러 가입자들로부터 오는 음성신호를 PCM디지털 데이터로 바꾼 후 이런 방법으로 다중화하고 있다. 위 방법은 채널 할당이 고정되어 있어 비교적 간단하다는 장점이 있지만그만큼 유연성이 떨어진다. 즉 채널에 따라 발생하는 데이터량이 매 순간 변하거나 채널을 새로 추가하거나 어떤 채널을 빼는 등의 변화를 수용할 수 없고 복잡한 디지털 통신망에 따른 다양한 형태의 처리 및 전송요구에도 부응할 수 없다. 이를 해결하기 위한 방법이 패킷에 의한 다중화이다. MPEG1 시스템에 서도 이 방법을 채택하고 있다. 패킷은 여러 비트를 묶은 하나의 다발이다. MPEG1시스템 비트열을 구성하는 패킷들의 길이는 고정될 수도 있고 가변적일 수도 있다 각 패킷의 앞머리에 위치하는 소위 헤더에는 그 패킷의 여러가지 속성들이 기록되어 있어 수신측에서 이에 따라 그 패킷을 적절히 처리하도록 하고 있다. 예를 들어 패킷이 시작됨을 알리는 동기 신호와 그 패킷이 비디오인지 오디오인지、 패킷의 길이는 얼마인지、 오류처리는 어떻게하는지 등의 정보가 실려있다. 헤더는 일종의 오버헤드가 되는 셈이지만 그만큼 처리에 유연성을 보장해 준다. 헤더의 길이는 일정하므로 패킷의 길이가 짧을수록 오버헤드의 비율이 상대적으로 커져 데이터 전송효율이 떨어지지만 처리를 위해 패킷을 임시 저장하는 버퍼의 크기를 줄일 수 있고 처리에 따른 지연도 작아진다. 비디오 오디오 그리고 부가 데이터의 비트열이 서로 독립적이고 아무 관련없으면 세 종류의 패킷들을 발생되는 대로 차례로 전송하기만 하면 된다. 그러나 MPEG1 시스템 비트열은 기본적으로 하나의 프로그램이므로 그 안의비디오-오디오-부가 데이터는 서로 밀접하게 연관되어 있다. 특히 화면과 소리가 서로 시간적으로 어긋나지 않는 소위 립싱크가 이루어져야 한다. 개별적 비트열간 시간적 동기를 위해 MPEG1 시스템에서는 소위 타임스탬프를 이용한다. 이는 비디오 화면마다、 그리고 오디오 프레임마다 부호 화기에 들어갈 당시의 시간을 꼬리표로 기록하여 함께 전송함으로써 복호후에 모니터나 스피커에 표시되어야 할 시간을 알려주는 역할을 한다. 타임 스탬프에는 두 종류가 있는데 복호를 위한 시간을 알려주는 DTS(Decoding Time Stamp)와 표시를 위한 시간을 알려주는 PTS(Presentation Time Stam p)가 그것이다. 수신측에서 타임 스탬프를 이용、 비디오와 오디오를 동기시키기 위해서는수신기에 일종의 시계가 있어 타임 스탬프를 이 시계의 시각과 대조하면서 비트열을 처리하여야 한다. 마치 두 사람이 몇시에 만나기로 약속할 때 두 사람의 시계를 미리 서로 일치시켜야 하는 것과 같은 원리이다. MPEG1 시스템에서는 이 기준 시각을 SCR (System Clock Reference)라고 하는데 부호기에서 이 시각을 수시로 복호기에 보내 복호기의 시계를 부호기에 맞추도록 하고 있다. 이를위해 여러개의 패킷을 묶어 팩이라는 단위로 만들어 전송하고 팩의 헤더에 필요때마다 이 SCR를 보낸다. 팩 헤더에는 이밖에도수신기가 MPEG1 시스템 비트열의 처음이 아닌 도중에서부터도 복호화할수 있도록 필요한 정보들을 실어 보낸다. MPEG1은 처음부터 CD롬에의 응용을 염두에 두었기 때문에 MPEG1 시스템은 오류에 대한 고려를 많이 하지 않고 응용분야가 가지고 있는 고유의 오류 정정방식에 의존하고 있다. MPEG1 시스템은 후에 MPEG2 시스템 중 프로그램 스트림으로 개량되는데 MPEG2 시스템에는 이외에도 오류가 있는 환경에서 하나가 아닌 여러 프로그램을 다중화하는 데 사용되는트랜스포트 스트림도 있다.
-MPEG1의 응용
MPEG1은 디지털 축적 미디어(DSM:Digital Storage Media)에 1.5Mbps이 내로 동영상과 음향을 압축하여 (각각 MPEG1 비디오와 MPEG1 오디오) 다중화 하는 (MPEG1 시스템) 방법에 관한 국제표준이다. MPEG1표준의 위와 같은 공식명칭으로 인해 발생할 수 있는 혼란을 해소하기 위해 다음과 같이 그 의미를 보다 분명히 하기로 하자. 이렇게 함으로써 각종 응용분야에 있어서 MPEG1의 효용성도 보다 명확해질 것이다. 디지털 축적 미디어라 함은 CD-ROM뿐 아니라 DAT (Digital AudioTape)도 있고, 비트율에 있어서도 채널당 약 8Mbps를 쓰는 디지털 방송의 경우처럼 1.5Mbps보다 훨씬 높은 비트율을 사용하는 시스템도 많다. MPEG1 규격 만을 놓고 볼때는 응용에 이렇다할 제약이 없어, 디지털 방송을 포함한 여러가지 멀티미디어 응용 분야에 몇가지의 파라미터만을 변화시킨 채로 사용할수있다. 실제로 미국의 디지털 위성방송 시스템인 DirecTv는 초기에 비디오 와오디오 모두 MPEG1을 사용하여 압축했었다. 다만 이러한 응용에 있어서 염두에 두어야 할 사실이 있다. 즉 MPEG1의 탄생배경이 CD-ROM에 동화상과 음향을 기록.재생하는 것이었기 때문에, MPEG1 압축 알고리듬은 CD-ROM의 데이터 재생속도인 1.5Mbps이내(엄밀히는 1백50KB 초-1.2Mbps)를 목표로 하여 최적화가 이루어졌다. 또한 MPEG1 시스템의 데이터 포맷도 CD-ROM에 단일 프로그램을 넣는 것을 고려했기 때문에 에러 정정이나 디지털 방송과 같은 복수 프로그램의 경우에 대한 고려가 덜 되어 있다. 앞서 예를 든 DirecTv도 이러한 이유로 초기에 조차 MPEG1 시스템의 다중화 방식을 그대로 채택하지 않았다. 결국 MPEG1의 응용으로 가장 적절한 것은 CD-ROM에의 응용이다. 초창기에는기존의 VHS 테이프에 비해 화질도 다소 떨어지고 74분의 재생시간이 영화한편을 수용할 수 없어 가전업체들이 상품화에 소극적이었다. 그러나 92년 가을 MPEG1에 기초한 일본 JVC의 가라오케 시스템이 선풍적 인기를 끌면서 MPEG1의 상품화가 다시 업체들의 관심을 모으게 되었다. 결국 가전업계의 선두주자들인 필립스 소니 마쓰시타 등이 합세하여 이 가라오케 규격을 오늘날 비디오 CD규격으로 발전시켰다. 그리고 이것은 다시 94년 대화형 기기로서의 기능을 보강한 버전 2.0으로 개량되었다. 필립스는 이와 비슷하나 약간 차이가 있는 CD-I FMV를 개발하여 발표했는데, 이것은 기존의 대화형 기기인 CD-I에 MPEG1에 기초한 완전한 동화기능(Full Motion Video)을 삽입한 것이다. MPEG1의 채택은 컴퓨터 업계와 게임기 업계에도 확산되고 있다. 컴퓨터업계에서는 일찍이 멀티미디어의 구현에 앞장서 91년에 레벨 1, 93년에 레벨 2의 멀티미디어 PC(MPC) 규격을 내놓은 바 있다. 2배속 CD-ROM(3백KB 초의 데이터 전송 속도)에 기초한 레벨2는 올해 레벨 3이 나오면서 그 자리를 물려주고 있다. MPC 레벨 3은 75MHz 펜티엄 이상의 CPU와 4배속 CD-ROM, 그리고 무엇보다도 MPEG1 복호기를 장착하도록 규정하고 있다. 또 이와는 별도로 CPU의 성능이 향상되면서 소프트웨어에 의한 MPEG1 복호기 구현이 늘고 있고, 아예 VGA카드에 MPEG1 복호기능을 통합해 넣은 시스템도 나타나고 있다. 게임기 업체에서도 최근 게임기에 CD-ROM을 결합하는 경향이 두드러지고 있다. 더욱이 게임기를 게임 CD와 비디오 CD를 포함한 모든 종류의 CD를 재생할 수 있는 종합 엔터테인먼트 기기인 멀티 플레이어로 탈바꿈시키고 있다. 컴퓨터나 게임은 화질에 대한 요구가 일반 TV와는 다르다. 즉 컴퓨터는 TV에 비해 작은 모니터상에 화상이 디스플레이 되고 (물론 윈도를 열어 디스플레이 하면 더욱 작아진다) 게임은 특성상 자연화보다 시공간적 해상도가 떨어져도 좋다. MPEG1은 이러한 정도의 응용에는 충분한 화질과 음질을 MPEG2보다 훨씬 값싸게 구현할 수 있어 MPEG2의 등장에도 불구하고 상당기간 사용될 것으로 보인다. 물론 TV방송의 디지털화 등에서는 화질에 대한 요구조건이 더 강화되므로 앞으로 본 연재에서 다룰 MPEG2를 채택하는 것이 일반적이다.
- MPEG-Ⅱ: MPEG-I을 개선하여 93년에 제정된 규격으로, 방송국 취급 정도의 화질을 제공하며, DVD 사용하고, 5 ~ 10Mbps의 속도를 제공한다. H261은 ISDN을 이용한 화상전화및 화상회의를 위한 P×64Kbps(P-1~30)의 화상압축 국제표준이고, MPEG1은 CD등 디지털 축적 미디어에 1.5Mbps이내로 동영상과 음향을 압축하여 다중화하는 국제표준이다. 이렇게 디지털 화상압축 기술은 1990년께까지는 통신미디어와 축적 미디어로 한정되어 왔다. MPEG-2는 MPEG-1의 표준화 작업이 일단락된 1990년 9월 미국 산타클라라 회의에서 논의가 시작되었다. MPEG-1의 대상은 주로 약 1.5Mpbs의 비디오 CD로 제한되어 있는데, 화질이 VHS수준에 머무르고 한 장에 74분밖에 기록되지 않아 더욱 높은 비트율에서 고화질을 실현하는 표준이 요구되었기 때문이다. 초기의 MPEG-2의 목표는 5~10Mbps정도에서 현행 TV품질을 실현하는 것이었다. 우선 MPEG-2를 완성한 다음 그 후속 작업으로 HDTV(High Definition Television:고선명 TV)품질을 실현하기 위한 MPEG-3를 표준화하기로 합의되어 있었다. MPEG-2의 표준화도 H261이나 MPEG-1과 같이 경쟁과 협력의 단계로 나누어져 시행되었다. MPEG-2의 경쟁과 협력의 분기점이 된 것은 1990년 11월 일본 도쿄 부근의 구리하마에서 열렸던 MPEG회의였다. JVC의 연구소에서 각 참여기관이 제안한 앨고리듬으로부터 얻어진 화상에 대한 화질평가가 시행된 것이다. MPEG-1 때와 비교해 제안기관 수가 16에서 32로 배가되었고 방송에의 응용이 주였던 만큼 방송분야의 연구기관들이 참여하기 시작하였다. 이 평가 이후 테스트 모델이라 불리는 참조모델을 기반으로 본격적으로 상호 협력에 의한 표준화가 진행되었다. 이 무렵 MPEG-2의 표준화에 결정적 영향을 준 사건이 일어났다. 고선명TV (ATV:Advanced Television)의 개발을 추진하던 FCC(미국 연방통신위원회)에 의한 표준화 작업이그것이었다. ATV는 당초 1987년부터 일본의 고선명 TV인 하이비전에 대항해 미국의 독자적 차세대 방송방식을 결정하기 위해 시작된 국가 프로젝트였다. 프로젝트의 성격상 정치적 색채를 띨수밖에 없었지만 또 한편으로는 커다란 기술적 도약을 가져오기도 하였다. 즉 참여사중의 하나였던 GI(General Instruments)사가 1990년에 15Mpbs의 Degicipher방식을 발표하여, 이 정도의 전송속도로 HDTV품질을 얻을 수 있는 정보압축이 가능하다는 것을 보였다. 이 사건은 특히 일본의 하이비전 개발에 참여해 왔던 많은 사람들에게 커다란 충격을 주었다. 이후 미국의 ATV표준화는 GI AT&T 제니스 톰슨 필립스 등이 3개의 컨소시엄을 형성, 4개의 방식을 제안하여 치열한 경쟁에 들어갔다. 4개의 디지털 HDTV방식에 대한 테스트 결과 뚜렷한 승자가 없었으므로 FCC는 ATV제안사들에 통일안을 낼 것을 권하였고 결국 1993년 봄 GA(Grand Alliance:대연합)가 결성되었다. GA는 결국 MPEG-2에 준거한 방식으로 통일안을 내어 93년 10월 승인되었다. 이렇게 해서 MPEG-2는 미국의 차세대 TV방송방식으로 정식 채택된 것이다. 유럽에서도 이와 비슷한 움직임이 일어났다. 아날로그인 HD-MAC방식에 기초한 EUREKA95프로젝트는 중지되고 93년 10월 DVB(Digital Video Broadcasting)프로젝트가 EU가맹국을 중심으로 새로이 출발하였다. 이 프로젝트는 MPEG-2를 기본으로 한 차세대 TV방식의 사양을 정하여 CATV.위성방송.지상방송 등을 디지털화하기 위한 토대를 만들고 있다. 미국의 ATV프로젝트의 진전에 보조를 맞추어 MPEG-2는 훗날 HDTV표준을 위한 MPEG-3를 따로 만들 시간이 없음을 감안하여 MPEG-3를 흡수하여 HDTV품질까지를 그 표준화 대상으로 하기로 결정했다(92년 3월 회의). 이와 같은 우여곡절을 겪으면서 MPEG-2의 표준화가 진척되어 수렴 단계에 들어서 드디어 TM0(Test Model 0, 91년 1월 싱가포르 회의), TM1(3월 하이파회의), TM2(7월 리우데자네이루 회의)로 개량이 거듭되고 드디어 93년 11월 서울 회의에서 HDTV까지를 포함하는 방식으로 CD(Committee Draft, 위원회 원안)가 완성되어 표준화작업의 기술적 사항이 거의 완결되었다. 방송품질의 실현을 목표로 표준화작업이 추진되어 최근 표준화가 끝난 MPEG-2는 뛰어난 성능과 유연성에 따라 디지털 위성방송(우리나라의 무궁화위성을 통한 DBS포함), 고선명TV, 디지털비디오디스크(DVD), 주문형 비디오(VOD) 등 많은 분야에서 채용이 결정되어 멀티미디어 혁명을 주도하는 원동력이되고 있다. 특히 최근 소니 필립스 진영과 도시바 마쓰시타 진영이 규격에 합의을 본 DVD는 한장에 MPEG-2화질(평균 6Mbps)의 1백30분 길이 영화를담을 수 있어 현재의 비디오CD나 VHS, 디지털 VCR등에 큰 영향을 주고 나아가서 약 5GB의 대용량을 실현함으로써 HDD, CD-ROM 등 컴퓨터 보조기억장치분야에도 파급효과가 매우 클 것으로 보인다.
-MPEG2 비디오
MPEG2 비디오는 MPEG1 비디오를 포함하고 있어 순방향 호환성이 유지된다. MPEG1비디오가 CD등 디지털 축적 매체에 1.15Mbps의 저비트율로 동화상 을 저장하는데 반해, MPEG2 비디오는 보다 고비트율의 방송, 통신, 축적 미 디어에서 고화질의 동화상을 전송하거나 저장하는데 사용된다. 응용분야가 다양해진 만큼 충족시켜야 할 요구조건도 많아졌다. 세계 유수의 기업들이 이러한 조건을 만족시키기 위한 MPEG-2 비디오앨리 고듬을 제안하여 91년 9월 최종적으로 30개의 방식이 일본의 JVC연구소에서 평가를 받았다. 그중 20개는 MPEG1과 마찬가지로 DCT에 기초한 방식이었고, 5개는 서브밴드 부호화 방식이었으며, 나머지 5개는 웨이블릿 변환을 이용한방식이었다. 평가 결과 여전히 DCT에 기반을 둔 방식들이 다소 우세하였고 MPEG1 비디오와의 호환성도 고려하여, 결국 MPEG2 비디오의 표준화의 방향도D CT를 기반으로 하는 방식으로 결정되었다. MPEG2 비디오는 일종의 범용 압축 앨고리듬으로, MPEG1 비디오를 크게 확장발전시키면서 많은 도구들을 마련하여 응용분야에 따라 이들을 적절히 선택사용하도록 하고 있다. 압축효율의 향상을 위해 MPEG2 비디오는 MPEG1 비디오의 각 요소들을 재검토하여 조금씩 개선함으로써 전체적으로 상당한 향상을 가져오고 있다. 즉 필드단위의 처리, 움직임 추정.보상 방식, 양자화, DCT계수의 주사방식, 가변장 부호화 등 많은 부분들이 개선되었다. MPEG2 비디오의 범위는 매우 넓지만 응용분야마다 그중 특정 해상도에 특정기능까지만을 사용한다. 따라서 부호기와 복호기를 제작할 때의 편의를 위해MPEG2 비디오를 해상도와 기능에 따라 몇가지로 분류하고 있다. 우선 화면의 해상도는 4개의 레벨로 분류된다. MPEG1 비디오가 대상으로 하는 것과 같은 작은 화면인 심플(Simple), 현행 TV 화면크기인 메인(Main), 유럽 고선명TV HDTV 의 화면크기인 하이(High) 1440, 미국 고선명 TV를 위한 규격인 하이가 그것이다. 또 기능에 따라서는 5개의 프로필로 나누어진다. 양방향 예측을 이용하는B프레임을 제외하여 구현을 용이하게 한 심플, 많은 기능을 포함하여 대부분의 응용분야에 채택되고 있는 메인, 계층 구조를 가지면서 보다 기능이 확장 된 SNR Scalable, Spatial Scalable, High 등이 그것이다. 구체적 응용 예로서는, 내년부터 실시될 예정인 무궁화 위성을 이용한 디 지털 DBS 방송이나 최근 도시바와 소니 진영이 규격합의를 본 DVD 등은 메인 프로필.메인레벨, 미국과 우리나라의 HDTV는 메인프로필.하이레벨, 유럽의 HDTV는 Spatial Scalable Profile.하이-1440 레벨, 그리고 미국의 디지털 케이블 방송은 심플 프로필.메인레벨이다. MPEG2 비디오는 현행TV나 HDTV를 효율적으로 압축하는 것이 주목적이다. 현행TV의 화질은 3~9Mpbs에서, 그리고 HDTV 화질은 17~30Mpbs에서 각각 얻어진다. 비트율은 주어진 채널의 용량과 요구화질을 고려하여 선택된 다. 예를 들어 무궁화 위성 DBS에 있어서는 약 7Mbps, 미국의 그랜드 얼 라이언스 HDTV방식에서는 17Mbps, 전화선을 이용한(ADSL-3방식) 주문형비디오나 DVD에 있어서는 5~6Mbps를 비디오에 할당하고 있다. MPEG2 비디오에서는 컴퓨터에서 채택되고 있는 순차주사만을 대상으로 하는MPEG1 비디오와는 달리, TV에서 사용되고 있는 비월주사 방식의 동화에 대해서도 많은 고려를 하고 있다. 즉 한 화면(프레임)을 두 필드(짝수번째 주사선으로 이루어진 필드와 홀수번째 주사선으로 이루어진 필드)로 나누어 필드구조로 부호화할 수도 있고, 프레임 구조로 부호화할 수도 있다. 움직임이많은 장면은 한 프레임의 두 필드간에도 큰 차이가 나므로 필드구조로 부호 화하는 것이 효과적이고, 정지화에 가까울수록 두 필드간에 상관도가 높아프레임 구조로 부호화하는 것이 유리하다. 또 프레임 구조의 부호화에 있어서도 각 매크로블록(16×16화소 단위)별로 필드단위의 처리가 가능하도록 하여 화면내의 부분적 움직임을 용이하게 처리할 수 있게 하고 있다. 이와 함께 많은 요소가 결합되어 MPEG2 비디오는 MPEG1 비디오보다도 월등한 동화 압축 능력을 가지게 된다.
MPEG2 비디오는 높은 압축률을 얻기 위해 MPEG1 비디오의 여러 요소들을 조금씩 개선하고 있다. 지난호에서 언급한 바와 같이 비월 주사인 TV영상신 호의 효율적 압축을 위하여 프레임구조와 필드구조를 모두 수용하였다. 프레임구조의 경우에도 움직임 보상 예측은 각 매크로블록(16×16)마다 프레임 단위 혹은 필드단위로 선택적으로 수행할 수 있다. MPEG2에 새로이 채택된 움직임 추정.보상방법으로서 듀얼프라임(Dual Prim e)이 있다. 이것은 필드단위의 움직임 보상을 하되 이에따라 많아지는 움직임 벡터의 양을 효과적으로 줄이는 방식이다. 이 방식은 B프레임을 생략하여 부호화에 따른 지연시간과 복잡도를 줄이고자 할 때의 보완수단으로서 여전히 좋은 화질을 유지하는데 기여한다. DCT에 있어서는 프레임구조에서도 매크로블록단위로 프레임 모드와 필드 모드중 데이터발생량이 적은 것을 선택할 수 있다. 따라서 움직임이 많은 경우와 적은 경우 모두 효과적으로 처리할 수 있다. 단 필드구조에서는 필드 DCT 하나만이 쓰인다. DCT계수의 양자화에 있어서 MPEG1에서는 계수의 크기에 관계없이 양자화 스텝이 일정한 선형 양자화가 사용되고 있다. 반면 MPEG2에서는 계수값이 적을수록 양자화 스텝이 작아 세밀하게 양자화하는 비선형 양자화가 함께 사용된다. 비선형방식은 복잡도는 증가하지만 평균 양자화잡음을 줄여 양자화기 의성능향상을 가져온다. 양자화된 DCT계수의 가변장 부호화를 위한 주사에 있어서 MPEG1에서는 지 그재그주사만을 사용하였다. 그러나 MPEG2에서는 대체주사(Alternate Scan) 방법이 추가로 사용되는데 이 두가지중 하나를 화면단위로 선택하여 사용한다. 대체주사는 DCT의 수직방향 고주파성분을 상대적으로 일찍 주사하여 특 히움직임이 큰 비월주사 화상에 뛰어난 효과를 보인다. 주사된 DCT계수의 가변장 부호화(VLC:Variable Length Coding)를 위해 MPE G1에서는 하나의 2차원 VLC테이블만이 사용되었다. 이에 비해 MPEG2에서는 화면내 부호화를 위한 테이블을추가로 사용할 수 있도록 하였다. 화면내 부 호화는 화면간 부호화에 비해 DCT계수값들이 훨씬 커 통계적 특성이 다르므 로이를 반영한 별도의 테이블이 필요했던 것이다. 이 VLC를 사용함으로써 화면내 부호화시의 데이터 발생량을 크게 줄일 수 있다. 스케일러빌리티기능은 MPEG2에 새로이 도입된 개념으로서 공간 스케일 러빌리티( Spatial Scalability), 시간 스케일러빌리티(Temporal Scalability), SNR 스케일러빌리티(SNR Scalability)등이 있다. 공간 스케일러빌리티는 우선 화면을 공간해상도가 낮은 기본계층(예:현행 TV)과 높은 고위계층(예:고선명TV)로 나눈다. 기본계층을 먼저 부호화하고이어서 기본계층의 보간성분과 고위계층의 차이성분을 부호화하여 두 부호화비트열을 함께 보낸다. 이렇게 하면 현행 TV수신기로도 기본계층 비트열을 복호하여 고선명TV를 현행 TV화질로 볼 수 있고 고선명TV수신기는 두비트열을 모두 복호하여 고선명 화면을 재생한다. 즉 마치 흑백TV와 컬러 의 경우처럼 디지털TV수상기나 고선명 TV수상기가 디지털TV 방송과 고선명TV방송을 모두 수신할 수 있어 완전한 호환성이 유지된다. 유럽의 디지털TV와 고선명 TV는 이런 틀을 바탕으로 하고 있다. 한편 우리나라의 고선명TV는 동일프로그램을 디지털 TV방송으로 함께 내보내는 동시방송 (Simulcast) 형식을 취하고 있다. 시간스케일러빌리티와 SNR스케일러빌리티도 공간 스케일러빌리티와 마찬가지로 기본계층과 고위계층으로 나누어 기본 계층의 부호화 비트열과 기본계층의 확장성분과 고위계층간의 차이성분의 부호화 비트열을 보낸다. 다 만기본계층과 고위계층의 분류에 있어서 시간 스케일러빌리티는 시간축(화면 의진행방향)으로, SNR 스케일러빌리티는 화소마다의 비트 표현상의 해상 도에 따라 나누는 점이 다르다. 이처럼 MPEG2 비디오는 MPEG1 비디오보다도 다양한 기능과 월등한 동화압축능력을 가져 고선명TV를 포함한 방송미디어.주문형비디오등의 통신미디어 DVD로 대표되는 축적미디어등에 모두 사용되면서 멀티미디어시 대를 선도하는 핵심기술로 자리잡고 있다.
-MPEG2 오디오
PEG2 비디오의 고품질화에 대응하여 MPEG2 오디오도 다채널 고품질화를목표로 표준화가 진행되었다. 그리하여 MPEG2 오디오는 1994년 11월에 IS(International Standard, 국제규격) 13818-3으로 승인되어 표준화가 완결되었다. MPEG2 오디오는 MPEG1 오디오를 바탕으로 하여 압축효율을 높이기 위한 몇가지 새로운 기법들이 도입되고 있다. MPEG1 오디오와 비교할 때 MPEG2 오디 오에는 특히 다음과 같은 특징들이 포함되어 있다. 우선 멀티 채널화되었다는 점이다. MPEG1 오디오의 스테레오 기능이 MPEG2 오디오에서는 6채널까지 확장되어 영화관에서의 입체음향을 그대로 만끽할 수 있게 되었다. 6채널의 성분을(즉 스피커의 위치를) 살펴보면 C(Center),L (Left), R(Right), LS(Left Surround), RS(Right Surround)의 5개 광대역신 호(20KHz)와 저주파 성분(1백20KHz)만을 별도로 제공하는 LFE(Low Frequency Enhancement) 신호로 이루어져 있다. 통상 이를 5.1 채널이라고 부르는데, L, R, LS, RS의 4채널로 이루어진 기존의 돌비 서라운드 입체음향에 비해 더욱 입체감이 향상되었다. 또 멀티 링궐(Multi lingual) 기능이 강화되었다. 아시아.유럽 등의 여러 지역의 위성방송에서도 볼 수 있듯이 멀티미디어 및 정보통신기술의 만개에 따라 지구촌이 점차 하나가 되어가고 있다. 이에 대응하여 MPEG2 오디오는 5. 1 채널 외에 별도로 7개 국어까지의 부가 음성을 보낼 수 있는 기능이 들어있다. MPEG2 오디오는 또한 MPEG1 오디오에서 사용된 표본화 주파수의 반인 16KH z, 22.05KHz, 24KHz의 표본화 주파수를 사용할 수 있도록 하고 있다. 이는한정된 비트율에서 멀티채널 및 멀티링궐의 많은 데이터를 효과적으로 압축 하기 위해서는 입력신호의 대역이 좁을 경우 표본화 주파수를 줄이는 것이유리하기 때문이다. 또 하나의 고려사항으로 MPEG1 오디오와의 역방향 호환성이 있다. 이는 MPEG2 오디오 비트열이 MPEG1 오디오 수신기에서 제한적이나마 재생될 수 있음을 의미한다. 구체적으로는 5.1 채널의 MPEG2 오디오가 MPEG1 오디오 수신기 에서는 스테레오로 재생된다. 예를 들어 무궁화호 위성을 이용한 디지털 방송의 경우 MPEG2를 표준으로 하고 있는데, MPEG1 오디오 복호기를 장착하는 보급형 모델도 MPEG2 비트열을 받아 스테레오 음향을 재생한다. 이는 컬러 TV방송이 흑백TV에서도 흑백으로나마 수신되고 FM스테레오 방송이 모노 수신 기에서 모노로나마 수신되는 것과 같은 개념이다. 오디오에 있어서 이 역방향 호환성은 비디오에 있어서의 MPEG2 비디오 수신기가 MPEG1 비디오 비트열을 수신할 수 있는 순방향 호환성과 대비된다. 보다엄밀하게는 오디오에 있어서는 MPEG2 오디오 복호기를 설계할 때 MPEG1 오디오 비트열을 복호할 수 있도록 설계하는 것이 일반적이므로 사실상 양방 향 호환성이 모두 유지된다. 이 호환성을 위해 MPEG2 오디오는 MPEG1 오디오의 비트열에서 오디오 데이터부분에 스테레오 성분을 넣고, 이어지는 부가 데이터 부분에 MPEG2 오디오 의추가 성분을 싣고 있다. 비트 여유가 없어 부족할 때는 비트열의 포맷(신 택스)을 확장하여 여기에 나머지 데이터를 싣는다. 이렇게 하다보니 MPEG2 오디오의 비트열 포맷이 매우 비효율적이 되어버렸고 이것이 MPEG2 오디오의 성능을 저하시키는 하나의요인으로 작용하고 있다. 이를 보완하기 위해서 MPEG에서는 MPEG1과의 역방향 호환성을 버리고 대신 성능이 향상된 NBC(Non Backward Compatible) 모드의 표준화가 진행되고 있다. NBC는 97년 국제표준을 완성할 예정인데, 미국 HDTV 및 영화업계에 표준으로 채택되고 있고 최근의 디지털 비디오 디스크에도 채택 가능성이 높은 돌비사의 AC3 등이 그 후보가 되고 있다.
-MPEG2 시스템
MPEG비디오 비트열과 MPEG 오디오 비트열을 하나로 묶어 전송하거나 저장하기 위한 규격이 MPEG 시스템이다. 이렇게 하나의 비트열로 다중화할때 통신 채널이나 저장 미디어 등이 갖는 프로토콜이나 저장 포맷에 적합한 형식으로 할 필요가 있다. 이와 함께 비디오와 오디오의 동기(Iip sync)를 맞추는 수단을 제공하는 것도 MPEG 시스템의 중요한 역할이다. MPEG시스템에는 이미 다룬바 있는 MPEG 1 시스템과 MPEG 2 시스템이 있다. MPEG 1 시스템은 단일 프로그램을 오류가 없는 채널환경에서 다중화하므로, 비디오 CD 등 비교적 좁은 범위의 응용분야에 사용된다. 보다 정확히는 채널이 가지고 있는 오류 정정 능력에 의해 오류가 수정되므로 MPEG1 시스템에서는 오류를 고려할 필요가 없다. 이에 비해 MPEG 2 시스템은 방송, 통신, 저장 미디어 등 광범위한 응용분야에 대응하고 있어 그 포맷도 훨씬 복잡하다. MPEG 2 시스템에는 두 종류의 다중화 방식이 있다. 하나는 프로그램스트림(PS:Program Stream)이라 불리는 것으로 단일 프로그램을 오류가 없는 채널 환경에서 다중화하는데, MPEG-1 시스템을 약간 개선한 것이다. 또 하나는 트랜스포트 스트림(TS:Transport Stream)으로 오류가 있는 채널환경에서 복수의 프로그램을 다중화한다. 복수의 프로그램을 하나의 비트열로 다중화하므로 멀티미디어 시대의 디지털 TV방송 등에 적합하고 제한수신을 위한 스크램블 기능(비트열을 암호화하여 유료가입자 이외에는 시청할 수 없게 하는 것)을 부가할 수 있도록 되어 있다. 또한 랜덤 액세스가 용이하도록 디렉토리 정보나 개별 비트열에 관한 정보 등을 실을 수 있다. PS는 이미 다룬 MPEG 1 시스템과 유사하므로 여기서는 주로 TS에 대해 기술한다. MPEG 2 시스템은 시분할다중방식(TDM:Time Division Multiple.ing)에서 쓰이고 있는 패킷 다중화 방식을 채택하고 있다. 이때 비디오와 오디오 비트열 각각을 우선 패킷이라 불리는 적당한 길이의 비트열(PES:Packetized Elementary Stream)로 분할한다. PES패킷은 다양한 응용에 대응하도록 길이의 상한을 64KB까지로 하고 있고, 각 패킷마다 고정길이나 가변길이 어느 것이라도 취할 수 있도록 하고 있다. 또한 가변 전송속도도 허용되고 있고 불연속적인 전송도 가능하다. 이 각각의 PES를 하나의 비트열로다중화하여 PS나 TS를 만든다. 패킷 길이는 전송채널이나 매체에 크게 의존한다. 가령 광대역 종합정보통신망(BISDN)에 있어서의 프로토콜인 ATM(Asynchronous Transfer Mode : 비동기 전달모드)에서는 53 바이트의 패킷(셀)을 사용한다. 이중 패킷에 관한 기본 정보를 담는 헤더가 5바이트를 차지하므로 실제 사용자 정보(Payload)는 48바이트이다. 이와 같이 길이가 짧은 패킷은 헤더가 상대적으로 많은 비율을 점유하므로 사용자 정보의 전송효율이 떨어지지만 지연시간과 버퍼 메모리양이 적은 이점이 있다. TS패킷은 ATM과의 접속성을 고려하여 1백88바이트의 비교적 짧은 고정길이를 가지고 있다. ATM 셀의 사용자 정보 48바이트중 한 바이트를 AAL(ATM Adaptation Layer)용으로 사용하면 실제사용자 정보는 47바이트가 된다. 따라서 하나의 TS패킷은 4개의 ATM 셀에 실어서 전송할 수 있다. 각 TS 패킷의 첫 4바이트는 해더용이므로 나머지 1백84바이트가 실제 비디오나 오디오 등을 실어나르는 사용자정보 부분이다. 많은 응용분야에서 오류정정을 위한 부호를 부가하는데 TS 패킷의 길이는 이를 고려하여 결정되었다. 즉 블록 오류정정부호로서 가장 탁월한 성능을 갖는 리드솔로몬부호를 적용하려면 TS 패킷의 길이는 2백55보다 충분히 작은 것이 바람직하므로 결국 ATM과의 접속성을 함께 만족시키는 1백88로 결정된 것이다. 한 예로 무궁화위성을 이용한 디지털 방송에서는 각 TS 패킷에 16바이트의 오류정정부호를 부가한 RS(204, 188)를 사용하고 있어 수신측에서 2백4바이트중 8바이트까지의 오류를 정정할 수 있다. 많은 경우 군집오류에 강한 리드솔로몬 부호와 더불어 산발적 오류에 강한 길쌈 부호(Convolutional Code) 혹은 길쌈 부호를 변조부와 결합하여 성능을 개선하는 TCM(Trellis Coded Modulation)을 함께 사용하고 있다.
MPEG2 시스템에서는 두 종류의 다중화 비트열을 다룬다. 그중 프로그램 스트림 (Program Stream)은 하나의 방송 프로그램(비디오+오디오+자 막)을 오류가 없는 채널환경 혹은 CD 등에서 보는 바와 같이 매체 자체의 오류정정 기능을 그대로 활용하는 경우에 사용하는 다중화 방법이고, 트랜스포트 스트림(TS:Transport Stream)은 오류가 있는 채널 환경에서 여러개 의방송 프로그램을 동시에 보낼때 사용하는 다중화 방법이다. 예를 들면 비디오 CD처럼 하나의 프로그램을 저장할 때는 프로그램 스트림이 사용되고무궁화 위성을 이용한 복수 프로그램의 디지털 방송에는 트랜스포트 스트림이 사용된다. 트랜스포트 스트림의 기능에 관해 무궁화 위성방송의 예를 들어 보다 구체적으로 살펴보기로 하자. 무궁화 위성은 (비록 1호기는 발사 실패로 수명이 단축되어 앞으로 발사될 2호기가 그 역할을 대신하겠지만) 방송용 중계기 3개와 통신용 중계기 12개를 가지는 방송.통신 겸용 위성이다. 위성방송에 있어서 현재 일본의 위성방송이나 홍콩의 스타TV 등과 같은 아날로그 FM 방식을 사용하면 중계기당 한 방송밖에 수용할 수 없지만, MPEG2를 이용한 디지털 방식을 사용하면 중계기당 4~8 방송까지 수용할 수 있다. 우리나라의 경우 프로그램의 부족이나 화질등을 감안, 중계기당 4방송을 고려하고 있다. 이 위성방송에 있어서 다중화는 다음과 같은 단계로 이루어진다. 우선 각 방송국으로부터의 프로그램이 비디오는 MPEG2 비디오, 오디오는 MPE G2 오디오압축 알고리듬을 이용해 각각 30대1과 6대1 정도로 압축된다. 이 압축된 비트열은 패킷 형태로 묶여져 각각 비디오 패킷과 오디오 패킷으로 변형된다. 이어서 이들을 1백88바이트의 고정길이를 갖는 트랜스포트 스트림 패킷 여러개에 차곡차곡 싣는다. 하나의 트랜스포트 패킷은 4바이트의 헤더 를 제외하면 1백84바이트의 실제 짐을 실을 수 있다. 마치 택시의 정원이 5명이지만 운전기사를 빼면 실제 승객은 4명인 탈 수 있는 것과 같은 원리이다. 헤더에는 13비트의 프로그램 식별정보(PID:Program Identification) 가 포함되어, 이 패킷에 실린 짐이 어느 방송국의 무슨(즉 비디오인지 오디 오인지) 정보인지를 나타내는 데 쓰인다. 이렇게 각 방송국에서 1차적으로 다중화되어 나오는 트랜스포트 패킷은 2차적으로 여러 방송국의 트랜스포트 패킷들이 또 다중화되어 하나의 비트열 을구성해 하나의 중계기를 통해 송출될 수 있는 형태가 된다. 이런 최종 비트열이 중계기 수만큼 필요하다. 따라서 디지털 위성방송에 있어서의 다중화는 시분할 다중화(TDM:Time Division Multiple.ing)와 주파수분할다중화(FDM:Frequency Division Multiplex 가 결합되어 있다. 즉 중계기들은 각각 27MHz의 대역폭을 가지면서 FDM의 형태로 운용되지만 한 중계기를 4개 방송사가 TDM방식으로 공유하는 것이다. 각각의 중계기에 실릴 트랜스포트 스트림은 에러 정정을 위해 리드솔로몬 부호와 길쌈부호가 행해지고 QPSK 변조를 통해 지상과 위성간에 전송이 이루어진다. 수신기에서의 트랜스포트 스트림의 복호시에는 위의 역과정이 행해진다. 우선 수신하고자 하는 방송이 들어있는 중계기를 선택해 그 신호를 QPSK 복조하고 에러 정정을 행한다.이 출력은 여러 방송이 다중화된 비트열이므로 우선 수신하고자 하는 방송국의 트랜스포트 패킷만을 골라내고, 이중 비디오 패킷은 비디오 디코더에서, 오디오 패킷은 오디오 디코더에서 각각 복호함으로써 영상과 음향을 재생하게 된다. 이와 같은 다단계 동작을 위해 몇가지 프로그램 관련정보 테이블(PSI:Program Specific Information)이 필요하게 된다. PAT(Program Association Table)는 PID=0인 패킷으로, 각 프로그램 마다 트랜스포트 패킷을 할당해주는 역할을 한다. 이렇게 지정된 패킷에 가보면 거기에서는 그 프로그램을 구성하는 비디오와 오디오 비트열이 어떤 패킷에 실려오는지를 알려주는데 이를 PMT(Program Map Table)라 한다. 이렇게 PAT와 PMT로 나누어서 트리형태로 기술하는 이유는, 하나의 테이블로 모두를 기술하면 이 테이블이 너무 커져 테이블을 기억시킬 메모리가 커지게 되고, 또한 테이블의 후반부에 기술되는 프로그램의 정보를 액세스하는데 시간이 오래 걸리기 때문이다. 이밖에도 중계기와 프로그램간의 링크 정보를 담는 NIT(Network Inform ation Table)와 조건부 수신 정보를 담는 CAT(Conditional Access Table) 등이 시스템 운용을 위한 부가정보 테이블로 사용된다.
- MPEG-IV : MPEG-Ⅱ를 개선시킨 기술로 전화선을 이용한 화상회의 시스템과 동영상의 데이터 전송을 목적으로 개발중이다. 대다수의 스트리밍 업체들의 나아갈 방향으로 이해할 수 있으며, 영상압축시 개체별 압축 가능하다
미국 댈러스에서는 최근 주목받고 있는 차세대 멀티미디어 국제표준인 MPEG4의 주관적 화질 평가를 위한 국제회의가 열렸다. 전 세계의 관심속에 성황리에 치러진 이번 회의는 앞으로의 MPEG4의 방향이 결정되는 중요한 의미를 지니고 있었으며 국내에서도 삼성.현대.대우 등 전자업체들이 MPEG2까지와는 달리 제안서를 내고 적극 참여했다. 현재까지의 표준인 JPEG, H.261, MPEG1, MPEG2가 모두 DCT, 양자화, 움직임보상 DPCM, 허프먼 부호화 등에 기반을 둔 표준이라면 MPEG4는 주로 멀티미디어 통신용으로 98년 완성예정인 차세대 압축 표준이다. (본래 HDTV용 표준으로 계획되었던 MPEG3는 MPEG2에 흡수통합되었다.) 이미 현재의 표준이 많은 응용분야를 수용하고 있음을 고려해 초기의 MPEG4는 단순히 공중전화망을 이용한 영상전화 정도를 목표로 하는 저 전송률부호화에 초점을 맞추었다. 이후 MPEG4는 점차 그 범위가 확대되고 기능도 늘어났는데 주요 응용분야는 TV나 영화 등의 AV데이터를 컴퓨터 환경처럼 대화형으로 액세스하거나 무선으로 통신하는 것 등이다. MPEG4의 기능을 크게 셋으로 나누면 객체지향 대화형, 고능률 압축,범용 액세스 등이다. 객체 지향 대화형 기능은 멀티미디어(주로 AV) 데이터액세스에 있어서 화면이나 음향의 객체 요소들을 독립적으로 취급하면서 이들을 서로 링크에 의해 결합해 사용자가 화면이나 음향을 자유로이 구성할수 있는 기능을 말한다. 예를 들어 화면에서 배경을 그대로 둔 채 주인공만을 교체하는 등의 처리가 이전까지는 프로덕션 단계에서만 가능했으나 MPEG4에서는 사용자 단계에서 가능해진다. 고능률 압축에 있어서는 차세대 표준인 만큼 기존의 방식들보다는 개선된 압축률을 제공해야한다. 또 범용 액세스에 있어서는 무선통신 환경 등을 고려해 채널에러가 많은 환경에서도 내성이 강하도록 해야 한다. 이러한 기능들을 모두 만족시키는 단일 알고리듬은 사실상 불가능하므로MPEG4에서는 많은 압축요소들을 표준에 메뉴형식으로 수용해 응용에 따라선택해 사용하도록 하고 있다. 즉 압축에 필요한 도구들을 정하고 이 도구들을 결합해 여러 압축 알고리듬을 만들며 알고리듬 하나 이상을 서로 묶어 응용에 따라 선택하는 프로파일을 만든다. 이 도구와 알고리듬과 프로파일의 계층적 구조는 MSDL(MPEG4 Syntactic Description Language)이라는 언어를 새로 만들어 정의한다. 따라서 MPEG4 단말기간의 데이터 송수신은 우선 상대가 어떤 프로파일.알고리듬.도구의 복호기를 가지고 있는지 확인해 복호가능한 모드로 교신하고 필요한 경우 복호에 필요한 프로그램을 먼저 다운로드한 후 내용물을전송한다. 지난 MPEG4 주관적 화질 평가에서는 10Kbps~1Mbps 범위의 선택된 몇가지 비트율에서 단순화면으로부터 복잡한 화면에 이르기까지의 지정된비디오 화면에 대해 기능별로 나누어 평가했다. 기술혁신의 정도를 비교하기위한 기준으로 현재까지의 표준중 비교적 최적화가 잘 이루어진 표준인H.263"전화선을 이용한 영상회의용 국제표준으로, H.261을 개선한 것"을선정했다. 많은 제안서들이 H.263의 변형 형태이고 일부는 프랙탈이나 웨이블릿 변환등 새로운 기법을 적용했는데 평가결과 H.263보다 뛰어난 기법이 별로 없어당초 기대했던 것 만큼의 기술의 진보가 아직 이루어지지 않았음을 확인했다. 앞으로 기술혁신의 여지를 보다 구체적으로 살펴보면 비디오는 27개 기관으로부터 92개의 제안서가 접수되었고 오디오는 19개의 제안서가 접수되었다. 국내에서 제안한 비디오 압축 알고리듬들은 대체로 중위권의 화질을 보여주었는데 MPEG2에 이르기까지 이렇다할 제안서를 내지 못하고 자료입수 및 동향파악에 그쳤던 것에 비하면 이번 MPEG4에서의 적극적 활동은 괄목할만한 발전이라고 할수 있다. MPEG4에서는 앞으로도 새로운 도구와 알고리듬을 제안받아 평가를 할예정인데 MPEG1과 MPEG2에 포함되어 있는 특허들이 최근 특허 보유사들에 커다란 보상이 되어 돌아오고 있다 (MPEG 수신기당 3달러의 특허료)는 것을 감안하면 앞으로 MPEG4에 대한 관심을 더욱 기울일 필요가 있다.
다. M-JPEG
1) M-JPEG(Joint Photographics Expert Group)이란?
정지영상 전문가 그룹에서 만들어진 표준화 규격을 바탕으로 만들어진 스트리밍 압축기법으로 정지영상전문가 그룹이 해결한 고밀도의 압축율과 고밀도의 연산능력으로 프레임의 수준을 증대해서 보다 빠른 스트리밍 서비스를 가능하게 만든 원천 압축 알고리즘, JPEG은 별도의 장비없이 CPU를 통해 데이터를 압축한다. M-JPEG은 이런 jpeg의 장점을 활용해서 버퍼링 과정을 제거할 수 있었다.
하지만 기존의 jpeg 방식에선 말 그대로 정지영상 전문이였기에 스트리밍 구현은 사실상 불가능했다. 말 그대로 정지 영상이란 것은 멈춰져 있는 화소의 처리 방식을 의미하는 것이다. 물론 3-4Frame 정도의 Mjpeg들은 몇 군데 업체에서 개발해 사용한 것 또한 사실이지만 초당 15프레임 이상의 고밀도 스트리밍 화질은 기실 불가능했다. 거기다 음성구현의 문제는 보다 큰 문제로 작용하게 되었던 것 또한 사실이다. 왜냐하면 고밀도의 압축율이 가능한 대신에 데이터의 중복값에 대한 연산이나 등등의 스트리밍적인 요소를 넣을 수 있는 부분이 거의 막혀 있다는 문제점이 있다.
2) 압축률과 영상 품질
어떤 압축 기법을 이용하든 영상품질과 압축률은 서로 반비례한다. 압축 효율이 높으면 그만큼 영상의 질은 떨어지고, 반대로 효율이 낮으면 영상의 품질은 좋아지게 된다.
최신의 영상 압축기법들은 해당 영상의 시각적인 손실 없이 10~50배까지 압축이 가능하다.
현재 압축기술은 눈에 띄게 발전하고 있으며, 압축효율은 높이면서도 본래 영상의 질을 떨어뜨리지 않도록 하는 기법도 속속 개발되고 있다.
압축율과 영상 품질을 비교하면 다음과 같다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 기존의 MPEG 방식의 압축방법을 사용하지 않고, 별도의 동영상 재생플레이어를 사용하지 않아 버퍼링 과정을 생략하여 인터넷 상에서 실시간으로 동영상을 재생하도록 하도록 버퍼링 과정을 소멸시키고, 스트리밍서버의 과부하를 해소하며, 영상신호와 음성신호의 대역폭을 최소화하여 회선의 부담감을 최소화하고, 불필요한 다운로드 과정을 해소하며, 별도의 플레이어 사용을 제거하고, 서버사양의 부담을 최소화하여 가격을 절감하며, 자바 클래스나 에플릿 등을 이용하여 범용 브라우져에 이식하여 작동토록 하는 방법을 제공하는데 있다.
신개념의 압축기술 및 스트리밍 기술을 개발하는 목적은 다음과 같다.
1)유선 인터넷의 MPEG 기반 스트리밍 솔루션을 본 기술로 대체할 수 있다.
2)인터넷 방송국 사이트의 스트리밍 서버를 대신하므로 서버의 비용절감 및 회선 비용 감소 원활한 영상화면 제공으로 속도가 느린 클라이언트 환경에서도 부담없이 영상을 시청할 수 있게된다.
3)멀티미디어 영상으로 인한 현 인터넷 트래픽 문제를 획기적으로 해결할 수 있는 방안이 되며 국가적으로도 회선 비용과 인프라 구축에 수조원에 달하는 경비를 절감할 수 있는 획기적인 기술이다.
4)무선 인터넷 단말기에 필요한 스트리밍 솔루션으로 가장 적합하다. 적은 용량과 고화질 영상 제공 기술이야 말로 차세대 무선 이동통신에 가장 중요하고 핵심이되는 기술이 될 것이다. CDMA2000, IMT2000 및 PDA, HPC 등에 가장 적합한 기술이다.
5)유무선 인터넷 단말기의 모든 영상 솔루션에 적용될 수 있는 스트리밍 솔루션 개발한다.
6)본 압축 알고리즘에 해당하는 인코딩, 디코딩 칩을 개발하여 무선 인터넷 영상 전송장비를 개발한다.
7)본 기술 개발의 다음 단계는 새로운 압축 및 스트리밍 기술을 세계표준화하고 무선 인터넷 시장의 핵심 기술을 계속해서 개발하는 것에 있다.
도1은 기본 DCT 변환 부호화 한 도면.
도2는 대역 분할 부호화의 구성도를 표시한 도면.
도3은 SPEG 프레임 내 대역 분할/DCT 연계 방법을 표시한 도면.
도4는 움직임 보상형 프레임 간 부호화기의 구성도를 표시한 도면.
도5는 움직임 변위 측정을 표시한 도면.
도6은 DCT를 이용한 움직임 보상형 예측을 부호화를 표시한 도면.
도7은 표준화를 위한 전 처리 및 부호화를 표시한 도면.
도8은 표준화된 계층적 해상도를 통한 부호화를 표시한 도면.
도9는 회선 교환망과 SPEG 패킷 교환망에서의 영상 부호화를 표시한 도면.
도10은 DPLL을 이용한 가변 비트율에서의 클록 동기 재생을 표시한 도면.
도11은 y[i,j]의 정의를 표시한 도면.
도12는 한 블록의 압축을 표시한 도면.
도13은 조합 배열의 초기화를 표시한 도면.
도14는 Convolve 함수의 구현을 표시한 도면.
도15는 화상 조작을 위한 전략을 표시한 도면.
도16은 Dissolve 연산의 C구현을 표시한 도면.
도17은 C코드 구현을 표시한 도면.
동영상 압축 및 스트리밍 기술의 근간이되고 있는 MPEG 방식과 전혀 다른 새로운 개념의 압축 알고리즘과 스트리밍 기법을 개발하여 보다 효율적인 동영상 스트리밍이 가능하도록 한다.
본 발명의 특징은
1)기존의 인터넷 동영상 시청시 항상 문제되었던 버퍼링 과정이 없다.
2)동영상 제공서버(스트리밍 서버)의 과부하 문제를 해결했다.
3)새로운 압축 방식으로 데이터의 용량을 획기적으로 낮추었으며 회선의 부하를 최소화했다.
4)별도의 플레이어나 프로그램을 다운로드 받을 필요가 없다.
5)자바 클래스 또는 에플릿을 사용할 수 있어 브라우저의 이식성을 높였다.
이와 같은 장점을 가지는 새로운 압축 방식 및 스트리밍 기술을 개발하여 현재 MPEG 기반의 스트리밍서버를 대치할 수 있다.
상기한 바와 같은 목적을 달성하고 종래의 결점을 제거하기 위한 과제를 수행하는 본 발명의 구성은 인터넷상에서 SPEG을 이용한 손실압축방법을 사용하여 동영상을 압축하고, 스트리밍하는 방법을 구성함에 있어서,
압축할 프레임의 한계 값을 정한 다음 각각의 개체별로 압축하는 1단계와,
각각의 영상별로 각각 색인 값을 준 다음 차례로 정렬하는 2단계와,
개체의 영상이 압축된 후 중복되는 부분은 하나의 색인값 만을 남기며 제거하는 3단계와,
상기 단계를 거쳐 클라이언트가 접속시 스트리밍 서버의 내부연산자들이 클라이언트의 유저 그룹에 상주토록 하여 별도 플레이어 없이 상호 동기화를 이루도록 하는 4단계와,
상기 내부 연산자들을 자바를 이용해서 웹상의 범용 브라우져 상에서 에플릿이나 클래스로 바로 띄워 볼 수 있도록 한 5단계로 이루어진 것을 특징으로 한다.
상기 압축할 프레임의 한계 값을 정한 다음 각각의 개체별로 압축하는 1단계는;
프레임의 수를 정하는 것이 아니라 한계 값을 정한 다음 내부에서 연산작업을 수행함과 동시에 서로 다른 연산자들이 구역을 정한 다음 여러장의 프레임 신호를 압축하는 단계이다.
상기 각각의 영상별로 각각 색인 값을 준 다음 차례로 정렬하는 2단계는;
중복되는 연산 값들을 제거해서 한계 연산 값 밖으로 밀어내는 단계와,
상기 단계에서 프레임 수를 결정하여, 주로 프레임 연산은 내부 연산자가 하고, 압축은 CUP에서 하도록 하여 버퍼링을 제거하는 단계로 이루어진다.
상기 개체의 영상이 압축된 후 중복되는 부분은 하나의 색인값 만을 남기며 제거하는 3단계는;
상기 압축단계 후 각각의 색인값은 압축 포맷의 구간 구간마다 다른 내부 연산자가 하나씩, 하나씩 다시 연산하여 영상 신호와 음성 신호의 크기를 통일화 시켜 상호 싱커 부분이 여기서 이루어지도록 하여 상호 동기화를 시킴으로 해서 대역폭의 한계를 조밀하게 하는 단계로 이루어진다.
상기 영상 신호와 음성 신호의 크기를 통일화시키는 방법은 gsm의 모노 압축방식에 내부 연산자를 영상신호와 묶어 내부 필터 자체를 제어하여 스트리밍 서버의 과부하를 막도록 이루어진다.
상기 제어방법은 연산자들의 역할을 분담하여 제어하는 그 단계는 다음과 같다.
즉, 신호만을 받아 들이는 신호 인식 연산자 처리를 전담하는 영상신호처리 연산자와 음성신호처리 연산자가 기본연산을 하는 단계와,
상기 연산이 끝난 두 신호를 필터링하는 내부 필터링 전문 연산자를 메모리의 주기억 번지에 상주시키는 단계와,
상기 전문연산자를 cpu에서 순간 순간 필요할 때마다 가져와서 연산을 처리하는 단계로 이루어진다.
상기 gsm이란 독일의 전문 음성 인식 유저그룹에서 완성한 음성 압축 방식으로
전화기에서 가장 일반적으로 사용하는 음성 압축 기술입니다.
그러나 모노라는 음질의 한계가 있어서 막강한 압축율에도 불구하고 스트리밍 전문가들이 사용을 자제해 온 방식입니다.
이하 본 발명의 실시예인 구성과 그 작용을 상세히 설명하면 다음과 같다.
본 발명은 기존 미디어플레이어와 리얼 플레이어의 압축방식으로는 근간에서 이루어지고 있는 버퍼링의 한계를 초월할 수 없다는 점에 착안해서 전혀 다른 방식의 압축 방식을 구상하게 되었다.
그래서 본 발명은 기존의 방법을 사용시 발생하는 고질적인 버퍼링을 제거해서 보다 사용자의 입장에서 편하게 그리고 보다 더 빠르게 또한 안정적으로 스트리밍 데이터를 보게 할 수 없을까 하는 부분에서 연구를 하게 되었다.
그래서 기존의 mpeg방식을 과감히 포기하고 압축 원천기술부터 새로 접근하게 되었다.
그래서 M-Jpeg이란 방식을 차용하게 되나, 이 방식 또한 많은 문제가 있어서 몇 가지 연구를 거친 결과 보다 안정적이며 효율적인 압축율을 가지면서 버퍼링이 거의 느껴지지 않는 스트리밍방법을 제공하게 되었다.
보다 자세히 설명하면 다음과 같다.
본 발명은 목적은 새로운 개념의 SPEG을 제공함으로써 달성되는데, 즉, 프레임의 속성별로 보다 완전한 연속성을 준다는 것이다. 프레임의 개념에 연속성을 외부 연산자를 통해 전담하므로 해서 보다 막강한 스트리밍 데이터를 창조시킬 수 있었으며 그것을 소용량의 서버를 통해서도 감당할 수 있게 했다.
스트리밍의 버퍼링이나 싱커의 과정을 본 압축 기법에선 내부 연산자들이 전담하게 된다.내부 연산자란 말 그대로 복잡한 스트리밍 연산을 전담하는 연산자이다. 본 발명품에선 이 내부 연산자를 통해서 버퍼링의 제거를 이루어 내었다.
내부 연산자는 프로세서란 개념으로 이해하면 쉬울듯하다. 내부 프로세서는 cpu에 상주하면서 스트리밍 서버에서 감당하던 복잡한 부하 연산을 음성과 영상 신호가 올 때 마다 바로바로 cpu에서 처리를 해낸다.
물론 cpu의 부하 문제가 있으므로 메모리 주기억번지에 내부 연산자의 기본적인 프로세서들이 상주하면서 내부 연산자의 복잡한 연산과정을 돕게 된다.
그러므로 해서 고가의 스트리밍 서버의 문제를 해소할 수 있었으며 이것들을 통해서 보다 빠른 연상 처리가 가능해 질 수 있었다.
이 내부 연산자의 프로그래밍 과정은 가장 기계어에 근접한 어셈블러로 구현했으며 보다 가벼운 연산 처리를 위해서 메모리 주기억번지에 내부 연산자들의 구성요소들을 적재하는 방식을 따랐다.
기존의 브라우져와의 충돌을 피하기 위해서 최대한 넷스케이프와 익스플로러 그리고 모질라의 화면 전사방식들을 지원 시켰으며 보다 빠르고 강력한 연산 처리를 위해서 신호처리 연산자와 화소처리 연산자 음성처리 연산자를 따로 만들어 프로세서들을 제어했다.
그러므로 해서 기존의 jpeg을 활용한 Mjpeg의 훨씬 뛰어 넘는 새로운 개념의 압축기술인 progressive motion jpeg (SPEG)을 완성할 수 있었다.
영상 압축기술
본 발명품의 영상 처리 방식의 설명에 앞서 기본적인 영상 정보는 일련의 영상 또는 "프레임"으로 시청자에게 제공되는데, 장면에서의 움직임은 연속적으로 현시되는 프레임 간의 조그만 변화로 나타난다.
본 압축 방식에서는 그 프레임을 이루는 각각의 프레임에 조밀한 영상 압축을 행한 것이다.
영상은 약 30프레임/초의 속도로 매우 빠르게 제공되기 때문에 프레임 간의 연속된 변화는 사람의 눈에 자연스럽게 움직이는 장면으로 보인다. 영상화면은 공간 및 시간영역의 정보로 구성되어 있는데, 공간영역 정보는 각 프레임 내에서 제공되고, 시간영역 정보는 시간이 지남에 따라 현시된 영상, 즉 프레임 간에 존재하는 변화로 제공된다.
즉 스트리밍에서 영상의 압축율은 여기서 좌우된다 프레임의 무게가 가벼우면 가벼울수록 스트리밍이 시스템에 미치는 부담감은 최소화 되어 가는 것이다.
그 부담감을 죽이기 위해서 각각의 프레임을 화소 단위로 나누는 것이다.
디지탈 영상 시스템에서 영상의 각 프레임은 "화소"(pixel) 단위로 표본화 된다. 화소의 밝기를 나타내는 표본값은 흑백 영상의 경우 화소당 8비트로 양자화 된다. 컬러 영상에서 각 화소는 색채 정보, 예를들면 RGB(빨강, 초록, 파랑)를 나타내는 3개의 밝기 정보를 지니며 각각 8비트로 양자화된다. 이와같이 구성된 영상 정보는 그 정보량이 매우 방대하므로, 전송 또는 저장하기 위해서는 영상 압축(또는 부호화) 기술이 필요한데, 이는 주로 공간 및 시간 영역에서의 중복 정보를 제거하는 방법을 이용한다.
일반적으로 공간 영역에서의 중복성은 한 프레임 내에서 인접한 화소 간에 그 변화 정도가 크지 않음에 기인하며, 시간영역에서의 중복성은 물체의 움직임이 프레임 간에 변화가 미세한 차이로 나타남에 기인한다. 공간영역의 중복성 제거 방법을 프레임 내 부호화라 하는데, 이는 크게 예측 부호화(DPCM: Differential Pulse Code Modulation), 변환 부호화(transform coding), 대역 분할 부호화(subband coding) 등으로 나눌 수 있다. 한편 시간 영역의 중복성은 프레임 간 부호화 방법을 사용하여 제거할 수 있는데, 이 방법에는 물체의 움직임을 추정하여 이를 보상하는 움직임 추정/보상 방법이 있다. 프레임 내 부호화 및 프레임 간 부호화에는 데이터의 통계적 성질을 이용하여 손실없이 더 압축하는 줄길이 부호화(run-length coding), 가변 길이 부호화(variable length coding) 등이 쓰이고 있다.
프레임 내 부호화
예측 부호화
예측 부호화는 가장 오래된 영상 압축 기법으로, 예측 부호화의 개념은 이웃 화소들로부 터 현재의 화소를 예측할 경우, 그 예측 오차가 매우 적다는데 있다. 예측 부호화 기법은 현재의 화소치와 예측된 값들의 차이(예측 오차)를 양자화한 다음 부호화하는데, 인접한 많 은 화소를 이용하여 예측을 할 경우, 예측 오차를 줄여서 성능을 향상시킬 수는 있으나, 그 복잡도에 비하여 장점이 크지 않으므로 예측에 사용되는 이웃 화소들의 숫자는 보통 4개 이 하가 된다.
예측 부호화에서 화질 열화의 종류에는 알갱이 잡음, 경사 과부화, 모서리 떨림 등이 있 다. 알갱이 잡음은 양자화 계단의 크기가 너무 큼에 기인하고, 경사 과부하는 계단의 크기가 너무 작음에 기인하는 것으로서, 서로 상반된 관계를 가지고 있다. 알갱이 잡음과 경사 과부하는 영상 신호의 각 프레임 내에서 복원 영상에는 잡음과 물체의 경계 부분의 일그러 짐으로 나타난다. 영상 신호가 시간적으로 연속해서 현시될 때에는 모서리 떨림 현상이 나 타나는데, 이것은 물체 경계에 해당하는 화소가 이웃하는프레임에서 서로 다르게 양자화되 기 때문에 생긴다.
변환 부호화
도 1은 기본 DCT 변환 부호화기를 나타낸 것으로서, 변화 부호화의 기본개념은 영상 데이터를 직교 변환하여 영상 내에 존재하는 상관성을 제거 시킴으로써 압축률이 높은 영상 데이터를 얻는 것이다.
영상 데이터가 통계적으로 일정한 성질을 유지한다는 가정하에서는, 카루넨-로에브 변환(KLT: Karhunen-Loeve Transform)이 평균 제곱 오차 면에서 최적의 변환으로 알려져 있다. 그러나 KLT의 기본함수가 데이터 종속이므로 복호기에 기본 함수를 보내야 하는 단점과 실용적인 고속 계산의 어려움때문에 실시간 처리를 요구하는 응용 분야에는 적용하기 매우 곤란하다. 따라서 KLT에 가장 근접한 직교 변환은 이산 코사인 변환을 사용하며, 이 방법은 영상의 성질에 대한 통계적인 가정이 성립되지 않을지라도 좋은 성능을 유지하며, 이용 가능한 여러 종류의 고속 계산 방법이 개발되어 있다.
본 발명품의 부호화 방식 (대역 분할 부호화)
도 2는 대역 분할 부호화를 위한 구성도이다.
도 2에서와 같이, 대역 분할 부호화는 크게 두 단계 과정으로 나누어진다.
첫번째 단계는 영상 신호를 각 주파수 대역으로 나누는 대역 분할 단계이며, 두번째 단계는 나누어진 각 대역을 그 특성에 맞추어 압축하는 부호화 단계이다.
(1) 완전 복원 대역 분할 필터
대역 분할 부호화는 부호기에 분해 필터 뱅크, 복호기에 합성 필터 뱅크를 각각 수반하는데, 분해 필터 뱅크는 입력을 주파수 대역에 따라 표본화율이 다른 여러 대역으로 분해한다. 반면에 합성 필터 뱅크는 복호기 입력의 표본화율을 높여 원하는 신호로 합성시킨다. 대역 분할 부호화는 한 대역의 처리시간이 짧아지는 반면에 다수의 처리장치(각 대역당 1개의 처리장치)를 필요로 한다.
(2) 대역 분할된 영상의 부호화
도 3은 SPEG 프레임 내 대역 분할/DCT 연계 과정을 개략적으로 나타낸 도면이다.
사람의 눈은 고주파 대역의 화소치의 작은 변화에 대해서는 잘 찾아내지 못하는 성질을 갖고 있다. 따라서 주위의 작은 화소값을 0으로 만드는 사각영역(dead zone)을 지닌 간단한 비균일 양자화기를 심각한 시각 열화없이 사용할 수 있으며, 0이 아닌 값과 0의 연속 길이를 줄길이 부호화함으로써 보다 높은 압축률을 얻을 수도 있다. 양자화기는 사각영역에 있는 고주파 대역의 수많은 화소치를 0으로 만들기 때문에 보다 긴 0의 연속 길이를 만들 수 있다.
대역 분할 부호화 방법은 대역 분할 후 표본율이 감소하기 때문에, 고품위 TV에서와 같이 대역을 분할하지 않았을 경우의 어려운 초고속의 부호화 처리에 많이 사용되고 있다.
본 발명품의 프레임 간 부호화
도 4는 일반적인 프레임 간 부호화기의 구성도를 나타낸 것으로, 이 기본 구성에는 두 가지 절차가 있는데, 첫번째는 움직임 추정과 보상, 그리고 두번째는 움직임 보상 후의 압축이다. 물체의 움직임은 이전 프레임과 상응하는 영상 데이터의 상대적인 변위를 계산함으로써 추정되며, 현재의 데이터와 이전 프레임으로부터 데이터를 예측하는 예측 부호화와 유사하다.
움직임 변위 추정
도 5는 움직임 변위 측정 원리를 나타낸 도면이다.
영상의 각 프레임은 먼저 N×N 크기의 구획으로 나누어지는데, 움직임 추정의 판별기준은 보통 제곱 평균 오차, 차의 절대치 오차 등 여러가지가 있으며, 도5에서와 같이, 주어진 탐색 영역(N+2L)×(N+2L) (여기서 L은 허용된 변위의 최대 범위) 내에서 현재 프레임 내의 구획과 이전 프레임 내의 구획 사이에서의 차이가 최소화가 되는 움직임 변위를 추정하여 보상에 사용한다.
움직임 변위 추정 후의 압축 부호화
도 6은 DCT를 이용한 움직임 보상형 예측 부호화기를 나타낸 도면이다.
도 6과 같은 움직임 보상형 예측 부호화기를 이용한 움직임 변위 추정의 목적은 시간 중복성이 쉽게 감소될 수 있도록 전 프레임 또는 인접한 프레임들로부터 현재의 영상 데이터(또는 구획)를 추정해 내는 데 있다. 시간 중복성을 줄이기 위해 가장 널리 사용되는 기법은 움직임 보상형 예측 부호화 기법으로, 이 기법에서는 현재의 구획과 움직임 변위 추정을 이용하여 보상된 구획사이의 차로 정의되는 예측 오차가 부호화된다. 이전 프레임으로부터 현재의 구획에 대한 정확한 예측을 할 수 있다면 예측 오차를 줄이면서 압축률을 높일 수 있다.
일반적으로 움직임 보상된 부호화 기법의 압축성은 다음의 몇 가지 요인에 의존한다.
o 영상 화면에서 물체의 움직임 보상이 가능한 움직임 변위의 크기(움직임 탐색 영역의 크기)
o 움직임을 추정하기 위한 움직임 보상 방법의 정확도
영상 압축 기술의 표준화 동향
기존의 스트리밍 방식들이 표준화 동향에 의거한 사실을 인정하는 바이다
그리고 본 기술의 압축 방식 또한 그 기술 표준에 의거한 것임에 틀림이 없다.
그러나 위에거 본바와 같이 각각의 내부프레임의 압축과 영상 및 음원 처리의 방식에서 상당한 부담감을 줄일수 있었으며 본 압축 방식 또한 표준이라 불리는 여러가는 압축 기술과 비교할수 있으리라 생각하며 다음의 설명을 하고자 한다.
영상 압축 기술은 다양한 영상 신호원에서 입력된 신호를 사전 처리 과정을 통하여 표준 공통 규격(CIF: Common Intermediate Format)으로 만든 후에 이를 압축하는 3단계로 나눌 수 있다. 압축된 영상은 디지탈 전송로를 통하여 전송된 후 수신측에서 이를 받아 복원하여 표준 공통 규격으로 만든 다음, 사후 처리 과정을 통하여 현시되는데, 도 7은 표준화를 위한 전 처리 및 부호화 과정을 개략적으로 나타낸 도면이다.
영상 신호원은 영상 전화/회의, TV 신호(NTSC, PAL, SECAM), 고품위 TV 신호(1050, 1125주사선 등), VTR 테이프 신호(VHS, S-VHS), 영상 필름등 여러가지의 다양한 형태를 갖는데, 각 신호원의 규격, 해상도, 전송에 요구되는대역폭 등이 동일한 응용 분야에서도 서로 다른 성질을 가지고 있다. 공통 규격은 서로 다른 신호원을 전 처리 과정을 통하여 만든 디지탈 영상 규격으로써, 다른 기종 간의 통신을 용이하게 하여 주며, 각 규격은 도 8과 같은 계층적 구조를 갖는다.
도 8은 표준화된 계층적 해상도를 통한 부호화를 개략적으로 나타낸 도면이다.
영상 부호화의 표준화 동향
그러나 본 압축 방식또한 위와 비교해서 전혀 손색없는 압축 율과 전송율을 가진다는것에 주의해서 살펴볼 필요가 있다.
TV에 525 주사선을 사용하는 국가의 경우(우리나라 포함), 최소 공통 규격인 QCIF(Quarter CIF)는 영상 전화의 규격으로 180x120화소의 크기를 가진다.
QCIF의 4배 크기인 CIF는 영상 전화/회의 및 저장 매체를 이용한 멀티미디어 서비스에 사용되며, 표 2에 표시한 바와 같이 CCITT H.261, ISO MPEG I을 통해 국제 권고안이 제정되었거나 거의 마무리 되고 있는 상황이다. CCIR규격은 현재는 아날로그 방식인 CATV, TV 신호의 디지탈 규격으로서 CIF의 4배 크기를 갖는데, 이 규격은 TV 신호의 디지탈 전송, 디지탈 VTR, 고화질 영상 전화/회의 및 멀티미디어 서비스 등에 응용될 것으로 보인다. CCIR규격에 기초를 둔 정지 화상 압축 방법은 현재 MPEG 에서 표준 제정이 끝난 상태이며, 영상에 대한 압축 기법은 MPEG II에서표준 규격안 제정을 진행하고 있다.
그러나 본 SPEG은 보다 더 막강하며 조밀한 영상 압축율을 자랑한다.
SPEG 패킷 영상
도 9는 회선 교환망과 SPEG 패킷 교환망에서의 영상 부호화기를 나타낸 도면이다.
압축된 영상 신호를 회선 교환망을 이용해서 전송할 경우에는 일정한 대역폭에 맞추기 위하여 버퍼메모리가 쓰이게 되는데, 도 9에서 보는 바와 같이 버퍼 메모리의 상태를 알리는 장치가 부호화기에 연결되어 있어 버퍼가 넘칠 상태에 이르면 압축률을 높여 압축된 영상 신호의 데이터량을 줄임으로써 버퍼가 넘치는 것을 막고, 버퍼가 비워지게 되면 압축률을 낮추어 압축된 영상 신호의 데이터량을 늘리거나 의미없는 비트를 채움으로써 버퍼에서 회선 교환망으로 전송되는 대역폭을 주어진 항등 비트율에 맞추고 있다. 따라서 버퍼의 상태에 따라서 화질이 변하는 단점과, 아울러 주어진 대역폭의 효율적인 이용에 어려운 문제점을 가지고 있다.
반면에 가변 비트율의 전송이 가능한 패킷 통신망에서는 대역폭을 일정하게 유지할 버퍼가 필요 없으므로 부호화기의 설계가 보다 간단해지고 일정한 화질을 유지할 수 있는 장점을 가지고 있다. 더구나 같은 화질의 요구 조건하에, 패킷 망에서는 여러 영상 신호들의 통계적 다중화를 통하여 회선 교환망보다 훨씬 좋은 대역폭의 사용 효율을 가져올 수도 있다. 이러한 결과만을 놓고 볼때, 패킷 전송 방식은 "일정한 화질"과 "효율적인 대역폭 사용" 두 가지를 모두 만족시키는 좋은 방식으로 보여진다.
패킷망에서의 영상 전송의 문제점
압축된 영상 신호는 패킷 형성기(packetizer)로부터 헤더가 더해져서 패킷으로 형성되는데, 이 때 지연이 발생한다. 이것은 압축된 영상 신호의 대역폭이 변하는 정도에 따라 다르지만, 압축된 영상 신호의 대역폭이 변하는 정도에 따르지만, 압축된 영상 신호의 평균 대역폭이 1 Mbps~100 Mbps이면 시간 지연은 평균적으로 5 ms~400 ms 정도가 된다. 회선 교환망에서의 부호화도 가변 비트율을 항등 비트율로 바꾸기 위해서 10 ms~100 ms 정도의 시간 지연이 버퍼에서 발생한다.
패킷 형성이 끝난 다음, 이 영상 패킷들은 여러 개의 패킷 다중화 및 패킷 교환망을 통해서 수신 단말기에 도착하게 된다. 이 때 망 내의 트래픽 상태에 따라서 패킷 지터와 패킷 손실이 생기는데, 이 패킷 지터와 손실은 수신 단말기에서 보상이 되어야 한다.
또한 망 내에서의 패킷 손실의 원인은 크게 두 가지로 구분할 수 있다. 하나는 통신량의 증가 상태에 따라 각 패킷 교환기 및 다중화기의 한정된 버퍼 메모리 때문에 생기는 패킷의 손실이고, 또 다른 원인은 전송 시스템에서 생기는 비트 오류가 패킷의 헤더으 번지 부분에 발생하면 예정된 수신 단말기에 도착하지 못함으로써 생기는 패킷의 손실이다.
4.2 패킷 지터하에서의 클록 동기 재생
도 10은 DPLL을 이용한 가변 비트율에서의 클록 동기 재생 원리를 나타낸 도면이다.
도착한 영상 패킷을 복원화하기 위해서는 송신 단말기와 수신 단말기 간의동기가 필요하다. 따라서 수신 단말기에서는 송신 단말기의 클록을 재생하여야 하는데, 따로 클록을 보낼
수가 없으므로 도착하는 패킷을 통해 수신 클록을 재생해 내어야 한다. 그런데 도착하는 패킷이 지터때문에 일정하지 않고, 또 때로는 패킷 손실이 망내에서 생길 수도 있으므로 클록 동기의 문제는 복잡하게 된다.
도착하는 패킷이 항등 비트율을 갖는다면 패킷 지터가 있더라도 수신 단말의 버퍼의 상태를 관측함으로써, 디지탈 PLL(Phase-Locked Loop)을 써서 송신 클록을 추출해 낼 수 있는 반면에, 영상 패킷들이 가변 비트율로 전송이 되면 수신 단말기의 버퍼 메모리 상태가 실제의 송신 클록을 나타내는 것이 아니므로, 버퍼 메모리 상태로부터 바로 클록 정보를 추출할 수가 없다. 따라서 일반적으로 쓰이는 방법은 클록 정보를 송신 패킷에 포함시키고, 이를 수신측에서 찾아내는 방법을 쓴다. 먼저 도착하는 패킷으로부터 일정 시간 동안에 검출된 클록 패턴의 숫자를 산출한 다음, 같은 시간 동안에 수신기 클록(VCO)에서 형성된 클록 패턴의 숫자와 비교하여, 그 차이로서 필터를 거쳐 수신기 클록을 조절하는 방법이다.
도 10에 나타낸 방법은 시간 평균 방법인데, 지터는 긴 시간축에서 볼 때 평균값이 0이고, 송수신기 클록의 차이는 계속 쌓여 나가기 때문에 그 차이를 가지고 수신기 클록을 조절하여 송신기 클록에 수렴하게 하는 방법이다. 그림 4.2에 표시되어 있는 메모리는 클록 패턴의 차이를 계속 더해 나가서, 비록 처음 몇 주기(이 경우 약 1분) 동안은 지터의 영향이 수신기 클록에 조금은 남게 되지만, 시간이 흐를수록 송신기 클록에 수렴하게 하는 역할을 하게 된다.
클록 동기 재생을 사용하므로 인해서 본 압축기술의 보다 더 조밀하며 세분화된 영상처리가 가능해지게 되는 것이다.
또한, 위의 영상 매체를 통해서 다음 압축 기술의 압축 방식을 알아 보도록 하자.
이 기술의 내부 압축구조는 다음과 같다. 자세한 내용을 기본적으로 언급하자면;
Mjpeg 영상처리에 대한 압축 화상의 조작에 관한 알고리즘(Algorithms for Manipulating Compressed Images)
새로운 기법은 압축된 JPEG 데이타에 직접 연산을 구현한다. 응용전에 화상을 해제하고 결과를 압축해야만 하는 알고리즘들 보다 50-100배 정도의 성능 향상을 가져온다. 오디오와 비디오 데이타에 작동하는 멀티미디어 응용들은 컴퓨터들을 위한 많은 새로운 용도를 가능하게 할 것이다.
예를 들어서, 협동 작업 시스템(collaborative work systems)은 비디오 회의 윈도우들을 포함하고 하이퍼미디어(hypermedia) 교육 시스템은 오디오와 비디오의 교육적인 요소들을 포함한다.
멀티미디어 응용의 대부분의 연구는 압축 표준들, 동기화 문제, 저장 매체, 그리고 소프트웨어 구조에 초점을 맞추어 왔으며, 특수효과와 화상 합성의 구현과 같은 실시간으로 디지탈 비디오 데이타를 조작하기 위한 기술들은 거의 보고되지 않았다.
예를 들어서, 화상의 해제, 각 화소값의 수정, 결과 화상을 압축함으로서 압축된 화상의 밝기 조절을 하기 위한 brute-force 알고리즘을 구현했다고 하자. 현재의 워크스테이션상에서 이 접근 방식을 구현하고자 할 때 직면하는 문제는 2가지 원인으로부터 발생할 것이다. 조작되어야 할 데이타의 양(초당 30프레임의 압축되지 않은 640x480 24비트 비디오에 대해 초당 26.3M바이트)과 화상 압축과 해제의 계산 복잡도(computational complexity)이다.
상기 내용은 압축된 디지탈 화상들에 연산을 구현한 알고리즘들을 기술한다.
이들 알고리즘들은 많은 전통적인 화상 조작 연산들의 brute-force알고리즘 보다 50-100배 정도 빠르게 수행하도록 한다. 압축은 전형적으로 25 또는 그이상 압축으로 데이타의 양을 크게 감소시키기 때문에, 이 속도향상은 압축된 데이타에 직접 연산을 수행한 결과이다. 적은 데이타 양으로 부터 기인한 속도 향상에 따라, 압축과 해제에 관련된 계산의 대부분이 제거되어지고, 메모리로 그리고 메모리로부터의 트래픽(traffic)이 감소한다.
이 기법을 어떻게 적용하고,대표적인 알고리즘들의 성능을 평가하는 방법을 기술한다.
먼저 압축 모델(compression model)을 설명한다.
많은 화상 변형의 기본인 화소 방향의 대수연산과 스칼라 덧셈과 곱셈을 어떻게 하는지, 압축 화상에 구현될 수 있는지를 보인다.
2개의 공통적인 비디오 변형을 구현하기 위하여 이들 연산을 사용한다. 하나의 비디오 시컨스를 다른 것과 오버랩하고 희미하게 하는 것.
연산을 구현하고 그들의 성능을 brute-force방식으로 비교한다.
마지막으로 기법의 한계, 다른 압축 표준으로 확장, 그리고 본 연구를 이 분야에서 다른 작업과의 관계를 논한다.
압축 모델(Compression model)
이 장은 변형 기반 코딩(transform-based coding)에서 사용되는 압축 모델을 기술한다.
변형 코딩의 일반적인 개괄로 시작하여, 변형 기반 화상 코딩을 위한 CCITT Joint Photographic Expert Group(JPEG) 표준을 짧게 설명한다.
JPEG알고리즘의 상세한 설명은 다른 곳에서 참고할 수 있다. Foley와 Van Dam은 화상 포맷의 상세한 기술을 제시했고, Lim은 다른 변형 코딩 기법을 논했다. 본 설명에 있는 모든 결과는 Lim의 책에 나타났고 여기서는 그들을 증명 없이 언급한다.
변형 기반 코딩(Transform-based coding)
화상 압축을 위한 공통적인 기법은 변형 기반 코딩이다. 전형적인 변형 코더(coder)는 많은 행렬로서 화상의 화소를 다룬다. 이산 코사인 변형(discrete cosine transform)과 같은 선형 변형(linear transform)은 계수의 새로운 행렬을 만들기 위하여 이 행렬을 적용한다.
원화상을 복구하기 위하여, 역 선형 변형(inverse linear transformation)을 적용한다.
변형은 2가지 효과를 가진다.
첫째, 그것은 많은 변형된 계수들이 거의 영('0')이 되도록 하기 위해 화상의 에너지를 모은다.
둘째, 그것은 화상을 높고 낮은 주파수들로 스펙트럼처럼 분해한다. 인간의 시각전이 시스템은 다른 것보다 어떤 주파수들을 거의 받을 수 없기 때문에, 어떤 계수들은 심각한 화상의 저하 없이 다른 것보다 좀더 대략 근사할 수 있다.
후자의 특성을 발휘하기 위한 흔한 방법은 계수를 양자화 하는 것이다. 계수를 양자화 하는 단순한 방법은 정수로부터 하위의 비트를 절단하는 것이다.(예를들어, 오른쪽 산술 시프트 연산) 산술 시프트보다 데이타의 손실을 제어하는 방법은 상수로 값을 나누고, 값을 양자화하고, 정수에 근사하도록 값을 반올림한다.
양자화 값을 결과에 곱함으로서 원래 값의 근사치를 복구할 수 있다.
양자화 값이 클수록 근사값은 조잡해지나, 큰 비트의 손실은 줄어든다.
변형 계수들이 이러한 방법으로 양자화 되어질 때, 대부분의 계수들은 전형적으로 영('0')이다.
예를 들어, 24:1의 압축 실험은 변형된 화상에서 계수들의 약 90%가 영('0')일 것이라는 것을 보여준다.
JPEG 알고리즘
정지 화상의 변형 코딩을 위한 표준중 하나는 JPEG표준이다. 이 장의 나머지는 JPEG의 관련된 특성을 기술하고 관련된 용어를 소개한다.
원화상은 640x480화소에 하나의 광도(Y)와 2개의 채도(I와 Q)의 3원소로 합성된 24비트 화상이라고 가정하자. 즉, 원화상에서 각 화소에 대해, 8비트 값(Y,I,Q)의 3쌍과 관련된다.
각 요소는 비슷하게 다루어지기 때문에, 단지 Y요소만을 알고리즘에서 설명한다.
Y요소는 8화소 폭과 8화소 높이의 연속된 4각형으로 나누어진다. 각 블럭은 0~255의 범위에 있는 정수의 8x8행렬이다. 알고리즘의 첫번째 단계는 일반화(normalization)단계라 불리는 것으로, 모든 값을 행렬에 있는 각 화소로부터 128을 빼어 -128에서 127의 범위로 가져온다. (이 단계는 I와 Q요소들에서는 건너 뛴다. 그들이 이미 -128에서 127사이에 있기 때문에). 결과 행렬은 y[i,j]이고 i,j 0...7이다. 도 11은 전체화상에 대한 y[i,j]의 관계를 보여준다.
알고리즘에서 두번째 단계는(DCT 단계) 이 8x8행렬로 이산 코사인 변형을 적용하여, 새로운 8x8행렬을 생성한다. DCT는 결과의 8x8행렬에서의 값이 주파수와 관계된 빠른 퓨리에 변환(fast fourier transform)과 유사하다. 즉, 가장 낮은 주파수 요소는 위 왼쪽이고 가장 높은 주파수 요소는 오른쪽 아래이다. 새로운 행렬을 Y[u,v]라 부르고, u,v 0...7일때, DCT의 정의에 의해 다음과 같이 나타난다.
알고리즘에서 3번째 단계는 주파수에 의존하는 값으로 Y[u,v]의 요소를 양자화 하여, q[u,v]를 구한다. 이 양자화 단계는 다음과 같이 정의 된다.
정수 양자화 값들의 행렬을 양자화 테이블(quantization table), 또는 QT라 부른다. 차분 QT들은 전형적으로 광도와 채도 요소을 위해 사용된다. QT의 선택은 압축의 양과 해제된 화상의 질을 결정한다. JPEG표준은 인간의 인자 연구로 기인한 추천된 광도와 채도 QT를 포함 한다. 흔한 실험은 이들 기본적인 QT의 값을 다른 화질을 얻기 위하여 단계화하는 것이다. 특별히, QT의 q1[u,v]와 q2[u,v]을 갖는 2화상이 주어지면, 모든 u,v에 대해 어떤 상수 감마는 흔히 다음과 같이 구한다.
나중에 이 값을 사용한다.
알고리즘의 4번째 단계는 방정식(2)로부터 8x8행렬을 그림2에 보여지는 지그재그(zigzag)를 사용하여 64요소의 벡터(vector)로 변환한다.
이 순서(ordering)는 벡터의 시작부분 근처의 저주파수 성분과 끝부분의 고주파수 성분을 모이게 하기 위한 경험적인 것이다.
우리는 그 벡터를 지그-재그(zig-zag)벡터라 부르고 이 단계를 지그재그 스캔 단계라 한다.
대부분의 화상들에서, 벡터 Yzz 는 순차적인 영들을 많이 담고 있을 것이다. 따라서 알고리즘에서의 다음단계는 실행 길이 부호화(run-length encoding)단계로서,벡터를(skip,value)의 쌍으로 부호화 한다. skip은 Yzz벡터에서 얼마나 많은 색인들이 다음의 영이 아닌 값에 도달하기 위하여 건너 뛰어야 하는 가를 나타낸다. 그것은 value에 저장되어 있다. 관례적으로, 쌍(0,0)은 Yzz에 남아 있는 값이 모든 영이라는 것을 가리킨다.
이 시점에서 그 블럭을 실행 길이 부호화된 블럭(RLE, run-length-encoded)이라 부르고, 각 (skip,value)쌍은 RLE값이라 불린다. RLE블럭은 YRLE[x]로 표기하고, YRLE[x].skip과 YRLE[x].value는 배열에 있는 x번째 요소의 skip과 value를 나타낸다. 우리의 알고리즘은 RLE블럭들상에서 작동한다.
마지막 단계에서, 산술 압축(arithmetic compression) 또는 허프만 코딩(Huffman coding)과 같은 관례적인 엔트로피 코딩 기법(entropy coding method)이 RLE블럭들을 압축한다. 도 12는 도해적으로 하나의 블럭의 압축 처리에서 모든 단계들을 표시한다.
참고 3을 역방향으로 추적하면(즉 오른쪽에서 왼쪽으로) 데이타를 어떻게 해제하는 것을 설명한다. 해제의 첫번째 단계는 엔트로피(entropy) 부호화 비트 열로부터 RLE블럭을 복구한다. RLE블럭 YRLE[x]를 통해 단일 과정으로 만들기 위하여, 지그재그 벡터 Yzz[x]를 복구한다. Yzz[x]로 부터, 지그재그 스캔을 역으로 함으로서 YQ[u,v]를 복구한다. 그런 다음 우리는 Y[u,v]의 근사를 복구하기 위하여 적절한 QT로부터 YQ[u,v]의 각 요소와 q[u,v]를 곱한다. 마지막 단계에서, 우리는 역 DCT(IDCT)를 사용하여 Y[u,v]로부터 화상 블럭 y[i,j]를 얻는다.
방정식(4)는 방정식(1)과 아주 닮았으나, 합산(summation)이 i와 j보다는 u,v에 대해 행한다.
이 기법을 사용하여, 우리는 QT값을 변경함으로서 압축률을 조절할 수 있다.
경험상 화질의 심각한 손실 없이 약 24:1의 압축률을 달성할 수 있다.( 즉, 화소당 1비트) 10:1의 압축률에서, 해제된 화상은 대개 원래의 것과 대개 구분이 불가능하다. 엔트로피 코딩은 약 2.5:1로 데이타 크기를 감소시킨다. 따라서, RLE블럭의 데이타 크기는 모두 25:1의 압축을 했다면 원래 화상의 것보다 전형적으로 10배나 적다.
대수적 연산(Algebraic operations)
이 부분에서는 RLE블럭들 상에서 2개의 화상들의 스칼라 덧셈, 스칼라 곱셈, 화소 방향의 덧셈, 화소 방향의 곱셈, 4개의 대수적 연산이 어떻게 수행되는지를 보여준다. 따르는 계산에서,
HRLE= (FRLE,GRLE)
FRLE와 GRLE는 입력 화상들의 RLE표현이다. HRLE는 출력 화상의 RLE표현이다. 그리고 GRLE는 실수 값의 함수이다. 구현에서, HRLE자료구조에 저장된 값들은 정수들일 것이다. 따라서 함수에 의해 되돌려지는 값은 가장 가까운 정수값으로 반올림 되어져야만 한다. 따르는 계산에서 표기를 단순히 하기 위해, 이 반올림은 암시적인 것으로 한다.
표기를 더욱더 단순히 하기 위해, 양자화된 배열들 FQ[u,v],GQ[u,v],그리고 HQ[u,v]상에서 모든 계산들을 수행한다. RLE블럭이 이들 배열을 나타내는 자료 구조이기 때문에, 유도된 방정식은 제공된 RLE블럭들 상에서 타당할 것이다. 우리는 적합한 색인 변환을 수행한다. 다른 표기상의 관례는
1. 색인 u,v,w에 의해 색인된 대문자 F,G,H는 압축된 화상들을 나타낸다.
2. i,j,k에 의해 색인된 f,g,h와 같은 소문자는 압축 해제된 화상을 나타낸다.
3. *와 같은 그리스 문자들은 스칼라 값(scalars)을 나타낸다.
4. QT는 화상을 나타내는 첨자와 함께 배열로 나타내어진다.
예를 들어, 압축된 화상 H의 QT는 qH[u,v]이다.
5. 문자들 x,y,z은 지그재그로 순서화된 색인들을 나타낸다.
흔히 단일 지그재그 색인(x와 같은)으로 QT을 색인 할 것이다. 그러한 경우에서 [u,v]와 같은 색인들로 변환은 암시적이고 문맥으로부터 명확할 것이다.
스칼라 곱셈(Scalar multiplication)
화소 값들의 스칼라 곱셈(scalar multiplication) 연산을 고려해 보자. 이 연산에서, 원 화상의 화소 값이 f[i,j]라면, 출력 화상 h[i,j]에서 대응 화소의 값은 다음과 같이 주어진다.
h[i,j]= f[i,j] (5)
JPEG압축 알고리즘과 방정식 5의 선형성을 사용하여, 출력 화상의 양자화된 계수들을 쉽게 보여줄 수 있다. HQ[u,v]는 FQ[u,v]의 단지 크기가 다른 사본이다.
특별히,방정식(1)에서(5)까지 사용하여,
qF(u,v)와 qH(u,v)는 각각 입력과 출력 화상의 QT이다. 오른쪽의 마지막에 정수 반올림이 암시적이다. 다른 말로 하면, 압축된 화상에서 스칼라 곱셈 연산을 수행하기 위하여, 화상의 QT를 취하는 한, 양자화된 계수들 상에 직접 수행할 수 있다. 화상들간의 QT는 비례적이라면(방정식 3에서와 같이), 방정식은 다음으로 단순화된다.
HQ[u,v]= FQ[u,v] (6b)
입력과 출력화상들의 질(quality)이 같다면, =1인 특별한 경우를 갖는다. 입력에 있는 한 값이 FQ[u,v]가 영('0')이라면, 출력에 대응하는 값 또한 영이다. 자료 구조에서 그 값들을 단순히 스케일링(scaling)함으로서 RLE블럭상에서 이 연산을 구현할 수 있다.
우리는 양자화된 배열 또는 지그재그 벡터조차 다시 만들 필요 없다. 이런식으로 구현할때, 연산은 FQ[u,v]가 영인 곳에서 불필요한 곱셈들을 피하여 아주 빠르게 만든다.
스칼라 덧셈(Scalar addition)
이제 스칼라 덧셈 연산을 고려해 보자. 원 화상에서의 화소의 값이 f[i,j]라면, 출력 화상 h[i,j]에 대응하는 화소의 값은 다음과 같이 주어진다.
h[i,j]= f[i,j]+ (7)
각 화소에 상수를 더하는 것은 평균(즉, DC요소)값을 변경 한다. DCT는 [0.0]항에 저장한다. 단지 이 계수만이 영향을 받게 될 것이다. 방정식(1)에서(4)까지와 방정식(7), 그리고 DCT의 특성을 사용하여 이것을 쉽게 증명할 수 있다. 그러한 계산의 결과는
두 화상의 QT가 비례적이라면(방정식 3에서와 같이), 이 방정식은 특별히 단순한 형태를 가질 것이고, 다음의 방정식으로 표현된다.
다시 스칼라 덧셈 연산은 양자화된 계수들상에서 직접 수행될 수 있다는 것을 안다. 좀더 중요하게, =1인 공통적인 경우에(즉, 출력 화상의 화질은 입력 화상의 화질과 같은 것이다.), 이 연산은 해제된 화상들상에서 대응하는 연산보다 훨신적은 계산을 포함한다. 단지 양자화된 행렬의 (0,0)계수만이 영향을 받기 때문이다.
화소 덧셈(Pixel addition)
도 13은 조합 배열의 초기화를 나타낸 도면이다.
화소 덧셈 연산은 다음의 방정식으로 기술되어진다.
h[i,j]=f[i,j]+g[i,j] (9)
스칼라 곱셈의 경우와 같이, 수행하기 원하는 연산은 선형이다. JPEG압축 알고리즘 또한 선형이기 때문에, 출력 화상 HQ[u,v]의 양자화된 계수는 합해지고, FQ[u,v]와 GQ[u,v]의 사본으로 스케일되어진다. 특별히, 방정식(1)에서(4)까지와 방정식(8)을 사용하여 보여줄 수 있다.
즉,
다시 한번, 화상들의 QT에 대해 설명한다면, 연산은 양자화된 계수들 상에서 직접 수행되어질 수 있다. 또한, 모든 화상을 위한 QT가 비례적이라면(비례 상수 F, G을 가지고), 방정식은 다음과 같이 단순화 된다.
화소의 곱셈(Pixel multiplication)
마지막으로, 화소의 곱셈 연산은 다음의 방정식으로 표현되어진다.
는 스칼라 값이다.
수학적으로 잉여지만, 스칼라 는 그들이 곱해질 때 화소 값들을 스케일 하기에 편리하다. 예를 들어, 화상 g는 [0..255]범위에서 화소 값들을 담고있을 때 이 공식을 사용한다. 그리고 [0..1]범위로 그들을 통역하기를 원한다. g가 마스크(mask)일 때와 같이. 이 연산은 를 1/256으로 설정함으로서 실현되어진다.
F(v1,v2), G(w1,w2)그리고 H(u1,u2)는 각각 f,g,h에 대해 압축된 화상의 양자화된 값이다. 방정식 (1),(2)와 (11)을 사용하여, 다음과 같이 H(u1,u2)의 값을 계산할 수 있다.
2가지 사실에 주목함으로서 효과적으로 이것을 계산할 수 있다.
1. 전형적인 압축된 화상들에 대해서,
G(w1,w2)와 F(v1,v2)는 (v1,v2)와 (w1,w2)의 대부분의 값들에 대해 영('0')이다.
2. 함수 WQ(v1,v2,w1,w2,u1,u2)에서 256K요소들의,단지 항들의 약 4%만이 영('0')이 아니다.달리 말하면, 행렬 WQ는 아주 희소(sparse)하다.
이 기법을 구현할 때, 합에 기여할 항들만을 계산하기 위해 고려해야만 한다. RLE블럭들상에서 이 기법을 구현할 때 첫번째 사실의 이점을 취할 것이다. 영('0')들은 쉽게 건너 뛰어 지기때문에. 두번째 사실의 이점을 취하기 위해, 다음 절에서 기술된 자료구조를 사용한다.
알고리즘이 RLE블럭상에서 작동하기 때문에, 지그재그 순서화된 색인은 데이타 요소를 참조하기 위해 사용되어진다. 관례적으로, x,y,z는 각각 쌍(v1,v2),(w1,w2)와 (u1,u2)의 지그재그로 순서화된 색인들을 나타낸다. 이 치환으로, 방정식 (12a)를 (12c)로 다음과 같이 쓸수 있다.
x와 y상의 합은 0에서부터 63까지를 갖는다.
방정식 (13)을 효과적으로 계산하기 위해, 다음의 자료 구조를 소개한다.
조합 항(combination element)은 숫자 z와 W의 쌍이다. z는 정수이고 W는 부동소숫점 값이다. 조합 리스트(combinati-on list)는 조합 항들의 리스트이다. 조합 배열(combination array)는 조합 리스트들의 64*64배열이다. 참고 4에 있는 C코드는 조합 배열 comb[x,y]를 초기화한다. 배열은 코드가 입력되어질 때 공백 리스트들을 담고 있다. 함수 ZigZag(u1,u2)는 (u1,u2)요소와 관계된 지그재그 색인을되돌려준다.
함수 AddCombElt(z,W,comb[x,y])는 전역 조합 배열 comb[x,y]에 저장되어 있는 조합 리스트에서 조합 요소(z,W)를 삽입하고 수정된 조합 리스트를 되돌려준다.(저장 장소는 중요하지 않다.) 배열 W[8][8][8]는 방정식 12c의 W함수의 값들로 초기화 되어질 것으로 가정한다.
초기화된 조합 배열을 사용하여, Figure 5에 보여지는 C코드는 2개의 RLE블럭들 f와 g상에서 방정식 13을 효과적으로 구현한다. 이 알고리즘을 컨볼류션 알고리즘(convolution algorithm)이라 부른다. comb[]는 코드에서 상수임에 유의하라. 주어진 QT에 대해 1번만 계산되어진다. 화상의 비제한된 수에 적용할 수 있다. 코드는 다음과 같이 작동한다. 지그재그 벡터를 나타내는 배열 hzz는 모두 영으로 가정한다. 두 입력화상 f와 g에서 RLE값들의 각 쌍에 대해 지그재그 색인 x와 y를 계산한다. 그리고 tmp에 저장된 그들의 데이타 값들의 곱(product)을 계산한다. 영향을 받게 될 출력배열 hzz에 있는 항을 결정하기 위해 그리고 각 항으로 W*tmp의 곱을 계산하기 위해 comb[x,y]에 저장된 조합 리스트에서 각 조합 항의 z값을 사용한다.
이 방식에서, 단지 영이 아닌 곱들(products)의 곱셈만이 hzz에서 계산한다. 이 알고리즘이 프로그램에서 사용되어질 때, 마지막 과정은 영('0')들을 실행 길이 부호화 하고, 정수 반올림을 수행하고, 결과의 RLE블럭을 만든다.( 물론, 정수 산술연산의 사용은 성능을 증가시킬 것이나, 명확성을 위해 부동소숫점 구현을 기술하기로 했다.)
연산들의 요약(Summary of operations)
어떻게 화소 덧셈, 화소 곱셈, 스칼라 덧셈과 스칼라 곱셈이 양자화된 배열에서 구현될 수 있는가를 보였다. 앞서 언급한 바와 같이, 이들 변형은 RLE블럭들에 직접 연산할 수 있다. 표1은 화상 연산의 RLE블럭들상의 연산으로 사상한 것을 요약한 것이다. 표에서, 기호 F,H(x)는 다음과 같이 정의되어진다.
함수 Convolve(F,G, ,qF,qG,qH)는 방정식 13에서 정의되어 지고 참고 4와 5에서 구현되어진다.
응용들(Applications)
전형적으로 비디오 데이타는 압축된 화상들의 순서로 전송되어진다.
엔트로피 부호화된 데이타는 직접 조작될 수 없으나, 몇몇 연산들이 RLE블럭들 상에서 어떻게 수행될지 보여주었다. 도 12에 관해, 화상을 엔트로피로 부호화한다면, RLE블럭들 상에서 연산을 수행한다. 그리고 엔트로피는 결과를 부호화한다. 화상 압축과 해제의 대부분에 대해 지름길일 수 있다. 좀더 빠른 알고리즘에 기인한다.
표에 있는 기본 연산들을 Dissolve(화상들의 두 순서에 있어서 동시적인 fade out과 fade in) 그리고 서브타이틀(subtitle)과 같은 좀더 강력한 연산들을 형성하기 위해 결합할 수 있다. 이들 연산들의 구현은 전형적으로 하나 또는 그 이상의 입력 화상들의 대수학적 결합인 출력 화상을 계산하는 것과 관련되어있다. Porter와 Duff는 그러한 연산들의 많을 예를 논했다. RLE블럭들의 한 쌍에서 조합을 수행하기 위한 한 방법은 수식을 계산하기 위해 중간적인 표현으로서 지그재그 벡터를 사용하는 것이다. 예를 들어서, 2개의 RLE블럭들을 곱하기 위해, 그리고 3번째와 더하기 위해, 도 14의 Convolve함수를 첫 2개의 RLE블럭들 상에서 호출할 것이다. 3번째 RLE블럭을 지그재그 벡터에 더하고, 실행 길이 부호화와 엔트로피 부호화 단계를 수행한다. 도 15는 도식적으로 우리의 전략을 설명한다.
Dissolve 연산
제시를 간략화 하기 위해 엔트로피 엔코딩(encoding)과 디코딩(decoding) 단계들을 생략한다.
시간 t(전형적으로 0.25초)에서 화상 S1[t]의 순서를 S2[t]의 순서로 dissolve하기 원한다. 달리 말하면, t=0에서 S1[0]를 표시해야만 한다. t= t에서S2[t]를 표시해야만 한다. 그리고 사이에서 화상들의 선형 조합(linear combination)을 표시하기 원한다.
D[t]= (t)S1[t]+{1- (t)}S2[t] (14)
(t)는 t=0과 t= t에서 1인 선형 함수이다.
표 1에서, 이 연산을 다음과 같이 RLE블럭들 상에서 대응하는 연산으로 사상할 수 있다. 표로부터, 스칼라 곱셈들은 수식의 첫번째 반에 있는 계수가 S1,D(x)로 변경되어지고, 비슷한 치환이 {1- }에 의해 곱셈에 대해 수행되어진다면 RLE블럭들상에서 직접 수행될 수 있다. 표로부터 또한, 원하는 결과를 얻기 위해 직접 함께 계수들을 더할 수 있다는 것을 안다. 이들 두 새로운 RLE블럭들의 QT는 같기 때문에, qD(x)로. 그리하여, 다음과 같이 방정식 13에 있는 수식을 구현할 수 있다.
데이타의 RLE포맷이 영항(zero terms)을 건너뛸 것이라는 사실에 주목함으로서 이 방정식을 효과적으로 구현할 수 있다. RLE블럭 상에서 이 연산을 구현하기 위한 C코드는 도 16에 나타나 있다. 함수 Zero는 그것에 넘겨진 배열을 영으로 한다. 그리고 함수 RunLengthEncode는 h의 실행 길이 부호화(run-length encoding)를 수행한다. 배열 gamma1과 gamma2는 다음과 같이 정의된 미리 계산된 값들을 갖는다.
이들 값들은 각 화소에 대해 또는 같은 QT를 갖는 화상들의 순서에 대해 한번 계산되어질 수 있다. 반면 Dissolve함수는 하나의 화상에서 각 RLE블럭에 대해 호출되어진다. 이 구현의 성능을 시험하기 위해, 주기억 장치에 있는 화상들의 brute-force와 RLE알고리즘 모두를 실행하고 그들을 비교하는 프로그램을 만들었다.
알고리즘들은 28M바이트 메모리를 갖는 Sparcstation 1+상에서 화상들의 25개의 별개의 쌍들에서 실행되어졌다. 시험 화상들은 대략 화소당 1비트로 압축되었다. (24:1압축) 표 2는 결과를 요약한다. 표로부터 볼 수 있는 것과 같이, 속도 향상은 brute-force알고리즘상에서 100 대 1 이상이었다.
자막 연산(Subtitle operation)
2번째 예제 연산은 서브타이틀로서 압축된 화상 f에 서브타이틀을 겹친다(overlay). 비록 워크스테이션이 많은 방법들에서 이 연산을 지원할 수 있지만(별개의 윈도우상에서 서브타이틀의 텍스트를 표시하는 것과 같은), 2가지 이유로 이 연산을 선택한다. 첫째로, 그것은 대부분의 사람들이 알고 있는 공통적인 연산이다. 그리고 두번째로, 한 화상의 일부를 다른 것과 결합하기를 원할때 사용되어지는 화상 마스킹(imgae masking)의 공통적인 연산의 특정한 예로 작동한다.
검은 배경에 흰색의 글자의 압축된 화상에 서브타이틀은 S로 표기하며, 흰색과 검은 색은 1화소 값이 각각 127과 -128로 표기 되어진다. 텍스트가 표시될 f상의 영역이 검게될 마스크와 f를 곱함으로서 얻어지는 화상과 S를 함께 더함으로서 출력 화상을 만들 수 있다. 자막이 나타나는(subtitling) 출력 화상, h는 다음과 같이 주어진다.
표 1을 사용하여, RLE블럭상에서 대응하는 연산은
도 17에서 C코드는 이 연산을 구현한다. 코드는 두단계로 나누어진다. SubtitleInit 함수는 QT가 화상 또는 순차 화상들을 위해 정의될 때 한번 호출되어 진다. 그리고 Subtitle함수는 화상에서 각 RLE블럭을 위해 호출되어진다.
Dissolve연산과 같이, Subtitle함수는 중간의 결과를 저장하기 위하여 지그재그 hzz벡터를 사용한다. Dissolve연산과 같이, 주기억장치에 저장된 화상들 상에서 brute-force알고리즘과 RLE알고리즘을 구현하는 프로그램들의 성능을 비교한다.시험 파라미터들은 Dissolve연산과 같은 것이다. 표3은 결과를 요약하여, brute-force알고리즘보다 거의 50대1의 속도 향상을 보여준다.
본 기술의 적용분야는 주문형(On-Demand) 서비스와, 생방송(Live Broadcasting) 등의 멀티미디어 스트리밍 분야 모두에 사용이 가능해진다.
본 발명의 가장 큰 특징은 기존 MPEG방식과 다음과 같은 7가지에서 구별된다.
1. 버퍼링 과정의 소멸
2. 스트리밍서버의 과부하 해소
3. 영상신호와 음성신호의 대역폭 최소화 < 회선의 부담감 최소화>
4. 불필요한 다운로드 과정 해소
5. 별도의 플레이어 사용 제거.
6. 서버사양의 부담 최소화 <가격절감>
7. 브라우져의 이식성 <자바 클래스, 에플릿 사용가능>
본 발명 SPEG의 동영상 압축방법은 다음과 같다.
SPEG은 또한 손실압축방법을 사용하여 영상을 압축하는데, 그 주요한 원리는 다음과 같은 방법으로 이루어진다.
① 압축할 프레임의 한계 값을 정한 다음 각각의 개체별로 압축한다. 프레임의 수를 정하는 것이 아니라 한계 값을 정한 다음 내부에서 연산작업을 수행한다.
동시에 서로 다른 연산자들이 구역을 정한 다음 여러장의 프레임 신호를 압축해 들어가므로 초당 발생할 수 있는 프레임의 수가 늘어나게 된다.
그러므로 영상면에서 보다 디테일한 결과물을 본 발명에 의해 감상할 수 있게 되는 것이며 스트리밍 서버 또한 타 압축 기술만큼 높은 사양을 필요치 않게 되는 것이다.
② 각각의 영상별로 각각 색인 값을 준 다음 차례로 정렬한다.
이 정열 부분에서 중복되는 연산 값들을 제거해서 한계 연산 값 밖으로 밀어낸다.
여기서 프레임 수를 결정하게 되는데 주로 프레임 연산은 내부 연산자가 하게 되며 압축은 CUP에서 이 부분을 감당하게 되는 것이다.
보다 조밀한 압축이 가능하며 외부에서 자원을 끌어 쓰지 않으므로 버퍼링의 요인이 제거된다.
클라이언트는 접속시 본 발명의 스트리밍 서버와 연동이 될시 본 발명의 내부연산자들이 클라이언트의 유저 그룹에 상주하게 되므로 즉, 상호 동기화가 이루어지게 된다. 그래서 유저들의 체감 사용 빈도는 버퍼링이 일어나지 않는 것처럼보이는 것이다.
또한, 이 부분의 연동을 별도의 플레이어가 필요 없게 되는 것 또한 사실 인것이다.
그리고, 사용자들이 보다 편하게 사용할 수 있게 웹에서의 이식성을 강화했으며 이런 연산자들을 자바를 이용해서 에플릿이나 클래스로 바로 띄워 볼 수 있게 만들었다.
그래서 사용자가 원하는 인터넷 브라우져에 바로 자바로 동기화만 시켜주면 별다른 버퍼링이나 외부 연산 없이 바로 띄워지게 되는 것이다.
③ 개체의 영상이 압축된 후 중복되는 부분은 하나의 색인값 만을 남기며 제거하게 된다. 그러므로 보다 가벼운 압축이 가능하게 되며 각각의 색인값은 내부 연산자가 하나씩, 하나씩 다시 연산해 내게 된다.
영상 신호와 음성 신호의 상호 싱커 부분이 여기서 이루어진다.
기존의 mpeg 인프라에 비해서 신호체계가 형성되는 이 부분에서 바로 상호 동기화를 시킴으로 해서 대역폭의 한계가 보다 더 조밀해 진다.
그러므로 영상 신호와 음성 신호의 크기를 통일화시키는 작업이 우선이라 하겠다.
이 부분에 대해서 아주 많은 고민을 했으며 연구결과 gsm의 모노 압축 방식에 내부 연산자를 영상신호와 묶는데 성공했으며 여기서 내부 필터 자체를 제어할 수 있게 되어 기본적인 라이브 방송을 실현시킬 수 있었다.
이 부분에서 스트리밍 서버의 과부하가 대다수 해소되게 되므로 서버사양이너무 높을 필요가 없게 되는 것이다.
대신 CPU환경이 싱글이든 듀얼이든 강해질수록 내부 연산자들의 부담이 많이 줄어들게 되는 것이다.
이런 방식의 압축은 장비에 의존하지 않고 보다 원천적인 압축이 가능하게 된다.
본 발명은 CPU 자원의 한계를 내부 연산자가 각종 필터링을 감당하므로 해서 연산의 의존도를 피했다.
하나의 연산자를 둔 것이 아니라 압축 포맷의 구간 구간마다 다른 연산자를 두므로 해서 하나의 연산자가 가지는 한계를 여러 연산자가 분담하게 되는 것이다.
그래서 보다 안정적인 M-JPEG의 장점을 살릴 수 있었다.
많은 시행착오가 있었으나 결국엔 음성 신호와 영상 신호의 다양한 접목을 감행하므로 연산 오류의 한계를 벗어날 수 있게 되었다.
따라서 본 발명은 보다 조밀해진 압축 능력과 쓸데없는 필터링 등의 제거는 나아가 IMT-2000 인프라로 개발 될 수도 있는 것이다.
별다른 외부 장비의 필요성이 없어지는 본 압축 기술로 IMT-2000 기술에 접목을 생각해 볼 때 기존의 MPEG 4의 개체별 압축 능력보다 빈도면이나 효율성 있는 내부 CPU의 탑재만 가능해 진다면, 본 압축 기술로 IMT-2000에 접목시킬 수 있다.
본 압축 기술의 미래는 보다 다양한 내부 필터링의 제어와 보다 조밀화된 음성 신호의 창조 등 등 많은 부분이 있을 수 있겠다.
본 압축 기술은 다양한 멀티미디어 스트리밍 솔루션등에 모두 접목이 가능며, 보다 개인적인 스트리밍 기술로서 활용되어질 수 있다. 예를 들어 개인전용 방송국 등 기존 라디오 방송에 국한되어 오던 개인 방송국에 본 스트리밍 기술을 접목하므로 해서 스트리밍 방송까지 하게 해 주므로 사용자들의 욕구를 충족해 나아가는 방향도 그 일환이다.
그 뿐만 아니라 무선통신, 교육, 원격 진료 등 다양한 활용이 가능해 지며 기존 MPEG에 국한되어 있는 스트리밍 기술을 보다 더 사용자들이 선택의 폭을 넓혀줌으로 해서 스트리밍 기술 발전에 기여 할 수 있다.
본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형실시가 가능한 것은 물론이고, 그와같은 변경은 청구범위 기재의 범위 내에 있게 된다.
상기와 같이 이루어진 본 발명은 버퍼링 과정을 소멸시킨 장점과, 스트리밍 서버의 과부하를 해소하였다는 장점과, 영상신호와 음성신호의 대역폭을 최소화하여 회선의 부담감을 최소화하였다는 장점과, 불필요한 다운로드 과정을 해소하였다는 장점과, 별도의 플레이어 사용을 제거하였다는 장점과, 서버사양의 부담을 최소화하여 가격을 절감하였다는 장점과, 자바 클래스나 에플릿 등을 이용하여 범용 브라우져에 이식하여 작동 가능토록 한 장점등이 있어서, 인터넷 상에서 멀티미디어를 주고받을 시 큰 효과가 기대되는 발명이다.

Claims (9)

  1. 인터넷상에서 SPEG을 이용한 손실압축방법을 사용하여 동영상을 압축하고, 스트리밍하는 방법을 구성함에 있어서,
    압축할 프레임의 한계 값을 정한 다음 각각의 개체별로 압축하는 1단계와,
    각각의 영상별로 각각 색인 값을 준 다음 차례로 정렬하는 2단계와,
    개체의 영상이 압축된 후 중복되는 부분은 하나의 색인값 만을 남기며 제거하는 3단계와,
    상기 단계를 거쳐 클라이언트가 접속시 스트리밍 서버의 내부연산자들이 클라이언트의 유저 그룹에 상주토록 하여 별도 플레이어 없이 상호 동기화를 이루도록 하는 4단계와,
    상기 내부 연산자들을 자바를 이용해서 웹상의 범용브라우져 상에서 에플릿이나 클래스로 바로 띄워 볼 수 있도록 한 5단계를 거치도록 하는 것을 특징으로 하는 SPEG을 이용한 동영상 압축방법을 사용하여 스트리밍 방법.
  2. 제 1항에 있어서,
    상기 압축할 프레임의 한계 값을 정한 다음 각각의 개체별로 압축하는 1단계는;
    프레임의 수를 정하는 것이 아니라 한계 값을 정한 다음 내부에서 연산작업을 수행함과 동시에 서로 다른 연산자들이 구역을 정한 다음 여러장의 프레임 신호를 압축하는 단계를 특징으로 하는 M-JPEG을 이용한 동영상 압축방법을 사용하여 스트리밍 방법.
  3. 제 1항에 있어서,
    상기 각각의 영상별로 각각 색인 값을 준 다음 차례로 정렬하는 2단계는;
    중복되는 연산 값들을 제거해서 한계 연산 값 밖으로 밀어내는 단계와,
    상기 단계에서 프레임 수를 결정하여, 주로 프레임 연산은 내부 연산자가 하고, 압축은 CUP에서 하도록 하여 버퍼링을 제거하는 단계를 특징으로 하는 M-JPEG을 이용한 동영상 압축방법을 사용하여 스트리밍 방법.
  4. 제 1항에 있어서,
    상기 개체의 영상이 압축된 후 중복되는 부분은 하나의 색인값 만을 남기며 제거하는 3단계는;
    상기 압축단계 후 각각의 색인값은 압축 포맷의 구간 구간마다 다른 내부 연산자가 하나씩, 하나씩 다시 연산하여 영상 신호와 음성 신호의 크기를 통일화 시켜 상호 싱커 부분이 여기서 이루어지도록 하여 상호 동기화를 시킴으로 해서 대역폭의 한계를 조밀하게 하는 단계로 이루어지는 것을 특징으로 하는 M-JPEG을 이용한 동영상 압축방법을 사용하여 스트리밍 방법.
  5. 제 4항에 있어서,
    상기 영상 신호와 음성 신호의 크기를 통일화시키는 방법은 gsm의 모노 압축방식에 내부 연산자를 영상신호와 묶어 내부 필터 자체를 제어하는데, 그 제어단계는;
    신호만을 받아들이는 신호 인식 연산자 처리를 전담하는 영상신호처리 연산자와 음성신호처리 연산자가 기본연산을 하는 단계와,6
    상기 연산이 끝난 두 신호를 필터링하는 내부 필터링 전문 연산자를 메모리의 주기억 번지에 상주시키는 단계와,
    상기 전문연산자를 cpu에서 순간 순간 필요할 때마다 가져와서 연산을 처리하는 단계로 이루어져 스트리밍 서버의 과부하를 막도록 한 것을 특징으로 하는 M-JPEG을 이용한 동영상 압축방법을 사용하여 스트리밍 방법.
  6. 상기 제1항 내지 제4항중 어느 한 항에 있어서, 압축 기법 SPEG (Stream Picture Expert Group)인 것을 특징으로 하는 스트리밍 방법.
  7. 외부 연산자를 통해 완전한 프레임의 연속성을 가능하게 하는 스트리밍 방법.
  8. 내부 연산자가 CPU 에 상주하는 방식으로 스트리밍을 처리함으로 버퍼링을 제거했으며 내부 연산자의 프로세서들은 메모리에 상주하면서 CPU의 부하를 획기적으로 줄인 스트리밍 방법.
  9. 신호처리 연산자와 화소처리 연산자 음성처리 연산자를 따로 만들어 프로세서들을 제어한 스트리밍 방법.
KR1020010012490A 2001-03-10 2001-03-10 Speg을 이용한 동영상 압축방법을 사용하여 스트리밍 하는방법 Withdrawn KR20020072478A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010012490A KR20020072478A (ko) 2001-03-10 2001-03-10 Speg을 이용한 동영상 압축방법을 사용하여 스트리밍 하는방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010012490A KR20020072478A (ko) 2001-03-10 2001-03-10 Speg을 이용한 동영상 압축방법을 사용하여 스트리밍 하는방법

Publications (1)

Publication Number Publication Date
KR20020072478A true KR20020072478A (ko) 2002-09-16

Family

ID=27697046

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010012490A Withdrawn KR20020072478A (ko) 2001-03-10 2001-03-10 Speg을 이용한 동영상 압축방법을 사용하여 스트리밍 하는방법

Country Status (1)

Country Link
KR (1) KR20020072478A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100422252B1 (ko) * 2001-12-20 2004-03-11 삼성전자주식회사 씬 클라이언트 네트워크 시스템과 그 네트워크 시스템의데이터 전송 방법
WO2006030995A1 (en) * 2004-09-17 2006-03-23 Realtimetech. Inc. Index-based authoring and editing system for video contents
CN112669068A (zh) * 2020-12-28 2021-04-16 河南省启研科技评价研究院有限公司 基于大数据的市场调研数据传输方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100422252B1 (ko) * 2001-12-20 2004-03-11 삼성전자주식회사 씬 클라이언트 네트워크 시스템과 그 네트워크 시스템의데이터 전송 방법
WO2006030995A1 (en) * 2004-09-17 2006-03-23 Realtimetech. Inc. Index-based authoring and editing system for video contents
CN112669068A (zh) * 2020-12-28 2021-04-16 河南省启研科技评价研究院有限公司 基于大数据的市场调研数据传输方法及系统
CN112669068B (zh) * 2020-12-28 2024-05-14 深圳前海用友力合科技服务有限公司 基于大数据的市场调研数据传输方法及系统

Similar Documents

Publication Publication Date Title
JP4494789B2 (ja) 動的フィルタのコーディング
US5995150A (en) Dual compressed video bitstream camera for universal serial bus connection
US9071817B2 (en) Picture coding method and picture decoding method
EP0895694B1 (en) System and method for creating trick play video streams from a compressed normal play video bitstream
US7650032B2 (en) Method for encoding moving image and method for decoding moving image
US20100260268A1 (en) Encoding, decoding, and distributing enhanced resolution stereoscopic video
JP2000500634A (ja) ビデオプログラムを多重化するための方法および装置
JPWO2018037737A1 (ja) 画像処理装置、画像処理方法、及びプログラム
WO1999004566A1 (en) Method and system for multiplexing image signal, method and system for demultiplexing image signal, and transmission medium
US20080212682A1 (en) Reduced resolution video transcoding with greatly reduced complexity
JP2008527870A (ja) 画像データストリームをスケーラブル符号化および復号するための装置および方法、信号、コンピュータプログラム、および画像品質適応モジュール
JP2011087195A (ja) 画像処理装置および画像処理方法
KR19990082346A (ko) 영상신호의 전송, 부호화, 복호화 방법 및 장치와 광디스크의기록 및 재생방법
CN112235606A (zh) 一种多层视频处理方法、系统和可读存储介质
JPH09205630A (ja) テレビジョン信号送信・受信方法、及びテレビジョン信号送信・受信装置
Lippman Feature sets for interactive images
KR100311354B1 (ko) 통신시스템에서 멀티미디어 컨텐츠의 삽입을 통한 통화 서비스방법
US6526100B1 (en) Method for transmitting video images, a data transmission system and a multimedia terminal
Furht A survey of multimedia compression techniques and standards. Part II: Video compression
KR20020072478A (ko) Speg을 이용한 동영상 압축방법을 사용하여 스트리밍 하는방법
Strachan et al. Video compression
JP3703088B2 (ja) 拡張画像符号化装置及び拡張画像復号化装置
JPH0983948A (ja) 情報伝送システム
JP4010270B2 (ja) 画像符号化伝送装置
JP3384910B2 (ja) 撮像装置および画像再生装置

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20010310

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid