KR100254537B1 - 멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어프레임의 다단계 동기화 방법 - Google Patents

멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어프레임의 다단계 동기화 방법 Download PDF

Info

Publication number
KR100254537B1
KR100254537B1 KR1019970071082A KR19970071082A KR100254537B1 KR 100254537 B1 KR100254537 B1 KR 100254537B1 KR 1019970071082 A KR1019970071082 A KR 1019970071082A KR 19970071082 A KR19970071082 A KR 19970071082A KR 100254537 B1 KR100254537 B1 KR 100254537B1
Authority
KR
South Korea
Prior art keywords
distortion
frame
register
audio
video
Prior art date
Application number
KR1019970071082A
Other languages
English (en)
Other versions
KR19990051714A (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 KR1019970071082A priority Critical patent/KR100254537B1/ko
Publication of KR19990051714A publication Critical patent/KR19990051714A/ko
Application granted granted Critical
Publication of KR100254537B1 publication Critical patent/KR100254537B1/ko

Links

Images

Classifications

    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어 프레임의 다단계 동기화 방법에 관한 것이다.
종래의 동기화 방법은 필요 이상의 정확한 동기를 실현하는 데에 주안점을 두어 비디오 스트림의 각 프레임마다 그에 상응하는 오디오 프레임과 일일이 동기를 맞추도록 되어 있다. 이로 인하여 비디오 프레임이 사용자에게 출력되는 시점은 오디오 프레임 보다 절대 앞설 수 없게 되며 이에 따라 필연적으로 지연 현상이 발생하게 된다.
본 발명에서는 오디오가 비디오보다 인간이 느끼는 한도 이상으로 앞서지 않는 한 동기의 대상이 되는 오디오를 기다리지 않고 바로 출력시키고, 그 한도에 가깝도록 동기 차이가 벌어지려는 조짐을 감지하여 비디오의 출력을 단계적으로 늦추어 주므로써 한도를 벗어나지 않도록 미연에 방지하는 방법을 제안한다.

Description

멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어 프레임의 다단계 동기화 방법
본 발명은 멀티미디어 프레임의 다단계 동기화 방법에 관한 것으로, 컴퓨터 네트워크를 이용한 멀티미디어, 특히 오디오 및 비디오의 전송시에 네트워크 사용량의 예측 못할 변동 등으로 인하여 발생하기 쉬운 매체간의 비동기 현상을 수신측 단말기 또는 사용자용 컴퓨터 내에서 보정하는 과정에서 반대 급부로 발생하는 수신 단말내의 지연 현상을 감소시키는 동시에 동기 왜곡 현상을 극복하기 위하여 왜곡 정도에 따라 단계적으로 복구하는 다단계 동기 방법에 관한 것이다.
비디오, 그래픽, 오디오 또는 정지 영상 등의 프레임이 임의 시간축 상의 고유 시점에 할당되어 시간이 경과함에 따라 각 프레임이 정해진 시점에 출력되어지는 것을 흐름이라 하고, 특히 프레임의 주기적 또는 지속적인 출력을 요하는 흐름을 연속 흐름이라 할 때, 멀티미디어란 프레임의 연속 흐름이 여러개 존재하는 상태라 할 수 있다.
멀티미디어 통신 등의 경우에는 이러한 다중의 연속 흐름을 물리적인 하나의 묶음으로 만들어서 전송하는 경우가 많지만 컴퓨터 시스템의 경우에는 이러한 정보를 항상 묶음으로 저장하지 않고 평상시 물리적으로 분리된 상태로 저장하였다가 임의의 멀티미디어 프리젠테이션을 위하여 제작자가 의도하는 바에 따라 일시적인 논리적 묶음으로 가시화시켜 준다.
컴퓨터 시스템이 이와 같은 형태의 멀티미디어 정보를 실현을 위해서는 각 연속 흐름에 대하여 내부적으로는 시분할 처리를 하여 각 연속 흐름이 병렬적으로 동작하도록 하여야 함과 아울러 병렬적으로 보이는 각 연속 흐름간에 동기화가 되도록 하여 시청자로 하여금 마치 물리적인 한 묶음인 것으로 느껴지도록 하여야 한다.
그러나 컴퓨터 하드웨어의 성능이나 운영체제의 스케쥴링 방식에 의하여 연속 흐름 간의 상대적 속도 차이가 야기되게 되어 소프트웨어적으로 특수한 장치가 마련되어 있지 않다면 연속 흐름 간의 동기가 맞지 않게 된다. 특히 연속 흐름의 출처가 해당 컴퓨터 자체가 아니라 컴퓨터 통신망에 연결된 다른 컴퓨터나 서버인 경우 컴퓨터 통신망 자원 스케쥴링 정책도 동기를 해치는 중요한 요인이 된다. 이러한 속도 차이는 문자 처리 중심의 컴퓨터에서는 사용자가 거의 느끼지 못할 정도로 별 문제가 되지 않으나, 프레임을 연속하여 처리하여야 하는 멀티미디어 처리 중심의 컴퓨터에서는 시청자가 이를 민감하게 감지하게 되어 불편을 느끼게 된다.
예를 들어 사람이 말을 하는 장면을 담은 비디오 흐름과 말 소리를 담고있는 음성 흐름의 동기가 맞지 않는다면 말하는 입술과 소리가 어긋나 듣는 이에게 불편을 끼치게 된다. 따라서 이러한 상대적이며 시간에 따라 가변적인 속도 차이를 최대한 극복하여 동일 시간대의 프레임들이 각 연속 흐름을 통하여 출력될 수 있도록 하는 동기 장치가 필요하다.
한편 이와 관련한 종래의 동기 기술은 필요 이상의 정확한 동기를 실현하는 데에 주안점을 두어 비디오 스트림의 각 프레임마다 그에 상응하는 오디오 프레임과 일일이 동기를 맞추도록 되어있다. 예를 들어 오디오보다 먼저 수신된 비디오 프레임이 나중에 도착하는 오디오 프레임을 필연적으로 기다려야 한다. 이로 인하여 비디오 프레임이 사용자에게 출력되는 시점은 오디오 프레임보다 절대 앞설 수 없게 되며 이에 따라 필연적으로 지연 현상이 발생하게 된다.
본 발명은 기존의 동기 방식이 제공하려고 하는 공학적 견지에서의 정밀성은 인간의 인지적 특성상 과도한 것이며 이보다 인간이 예민하게 반응하는 것은 지연이기 때문에 이를 감소하는 데에 주안점이 두어져야 한다는 점에 착안하여 이를 감소시키는 동기 제어기를 설계하는 방법을 제공함에 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명에 따른 멀티미디어 컴퓨터의 동기 제어기는 비디오 프레임을 저장하기 위한 비디오 선입선출기와, 오디오 프레임을 저장하기 위한 오디오 선입선출기와, 비디오 스트림과 오디오 스트림 중 동기의 기준 스트림을 지정하기 위한 마스터 스트림 레지스터와, 비디오 프레임 출력부를 통해 최근에 출력된 비디오 프레임의 마스터 타임 값을 저장하는 마스터 타임 레지스터와, 오디오 프레임 출력부를 통해 최근에 출력된 오디오 프레임의 마스터 타임 값을 저장하는 슬레이브 스트림의 마스터 타임 레지스터와, 오디오 프레임 출력부를 통해 최근에 출력된 오디오 프레임의 슬레이브 타임 값을 저장하는 슬레이브 타임 레지스터와, 현재의 동기 왜곡 정도를 저장하는 동기 왜곡 레지스터와, 동기 왜곡되는 최대 허용 한도를 저장하는 왜곡 한도 레지스터와, 앞서가고 있는 미디어의 프레임을 상기 비디오 및 오디오 선입선출기에 머물도록 할 경우 상기 머무는 기간을 상기 동기 왜곡 레지스터에 저장된 동기 왜곡 정도의 값에 따라 저장해 놓는 일시정지 기간 테이블과, 상기 일시정지 기간 테이블의 최대 및 최소 동기 왜곡치를 지정하는 최대 일시정지 왜곡 레지스터 및 최소 일시정지 왜곡 레지스터를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명에 따른 멀티미디어 컴퓨터의 동기 제어기를 이용한 멀티미디어 프레임의 다단계 동기화 방법은 마스터 스트림 레지스터, 마스터 타임 레지스터, 슬레이브 스트림의 마스터 타임 레지스터, 슬레이브 타임 레지스터, 동기 왜곡 레지스터를 초기화한 후 왜곡 한도 레지스터의 동기 왜곡 최대 허용치 초기화하는 단계와, 상기 초기화 단계를 수행한 후 비디오 선입선출기와 오디오 선입선출기를 비우고 일시정지 기간 테이블의 왜곡 항과 일시정지 기간 항의 값을 지정한 후 최대 일시정지 왜곡 레지스터 및 최소 일시정지 왜곡 레지스터의 값을 지정하는 단계와, 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수에 저장한 후 현재의 동기 왜곡 정도가 음수인지를 검사하는 제 1 검사 단계와, 상기 현재의 동기 왜곡 정도가 음수일 경우, 현재 입력된 프레임을 그대로 출력시킬 상황이면 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별하는 제 2 검사 단계와, 상기 제 2 검사 결과 동기 왜곡 최대 허용 범위를 벗어날 경우 비디오 선입선출기의 끝에 현재 입력된 프레임을 입력한 후 현재의 동기 왜곡 정도 값을 최대 허용치와 같은 값으로 설정하는 단계와, 상기 제 2 검사 결과 동기 왜곡 허용 범위를 벗어날것 같지 않을 경우 현재의 동기 왜곡 정도를 계산하여 일시정지 기간 테이블에서 상기 동기 왜곡 정도에 해당하는 일시정지 기간 값을 찾아내어 0인지를 검사하는 제 3 검사 단계와, 상기 제 3 검사 결과 일시정지 기간 값이 0이 아닐 경우 프레임의 일시정지 기간란에 기록하고 비디오 선입선출기에 입력하고, 상기 일시정지 기간 값이 0일 경우 즉각 출력한 후 오디오 스트림의 마스터 타임과 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 저장한 변수의 차이를 동기 왜곡 레지스터에 저장하는 단계와, 상기 제 1 검사 결과 상기 동기 왜곡 레지스터 값이 양수일 경우 오디오 선입선출기가 비워지게 되던가, 동기 왜곡 허용 한도를 초과하지 않을 때까지 오디오 선입선출기에서에서 오디오 프레임을 인출하여 오디오 프레임 출력부로 출력시킨 후 최후로 출력된 오디오 프레임의 마스터 타임을 슬레이브 스트림의 마스터 타임 레지스터에 저장하고 현재 입력된 비디오 프레임을 비디오 프레임 출력부로 출력시키는 단계를 포함하여 이루어진 것을 특징으로 한다.
도 1은 일반적인 멀티미디어 컴퓨터의 개념적 구조도.
도 2는 본 발명이 적용되는 멀티미디어 입출력 제어기의 개념적 구조도.
도 3은 프레임 발생 당시의 동기화된 프레임 순서 및 시간 표지.
도 4는 본 발명에 따른 동기 제어기의 구조도.
도 5는 본 발명에 따른 동기 제어기의 초기화 순서를 설명하기 위한 흐름도.
도 6은 본 발명에 따른 마스터 스트림의 동기화 방법을 설명하기 위한 흐름도.
도 7은 본 발명에 따른 슬레이브 스트림의 동기화 방법을 설명하기 위한 흐름도.
도 8은 본 발명의 제 1 실시 예에 따른 멀티미디어 프레임의 다단계 동기화 방법을 설명하기 위한 흐름도.
도 9는 본 발명의 제 2 실시 예에 따른 멀티미디어 프레임의 다단계 동기화 방법을 설명하기 위한 흐름도.
도 10은 동기시키지 않았을 경우의 실시 예를 설명하기 위한 흐름도.
도 11은 종래 방식을 적용 했을 경우의 실시 예를 설명하기 위한 흐름도.
〈도면의 주요 부분에 대한 부호 설명〉
31 : 동기 제어기 32 : 비디오 프레임 입력부
33 : 오디오 프레임 입력부 34 : 비디오 프레임 출력부
35 : 오디오 프레임 출력부 311 : 마스터 타임 레지스터
312 : 슬레이브 스트림의 마스터 타임 레지스터
313 : 슬레이브 타임 레지스터 314 : 슬레이브 타임 레지스터
315 : 동기 왜곡 레지스터 316 : 왜곡 한도 레지스터
317 : 비디오 FIFO 318 : 오디오 FIFO
319 : 최대 일시정지 왜곡 레지스터
320 : 최소 일시정지 왜곡 레지스터
321 : 일시정지 기간 테이블
본 발명에서는 인지적인 특성이 허락하는 한도에서 동기의 정밀도를 낮추는 대신 지연을 감소시키는 방식을 제시한다. 즉, 오디오가 비디오보다 인간이 느끼는 한도 이상으로 앞서지 않는 한 동기의 대상이 되는 오디오를 기다리지 않고 바로 출력시키고, 그 한도에 가깝도록 동기 차이가 벌어지려는 조짐을 감지하여 비디오의 출력을 단계적으로 늦추어 주므로써 한도를 벗어나지 않도록 미연에 방지하는 방식을 제안한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
도 1은 일반적인 멀티미디어 컴퓨터의 개념적 구성도이다. 도시된 바와 같이 멀티미디어 컴퓨터는 중앙처리 유니트(1)와 메인 메모리(2)가 버스에 의해 비디오 입력 디바이스(41), 비디오 출력 디바이스(42), 오디오 입력 디바이스(51), 오디오 출력 디바이스(52), 네트워크 디바이스(61)에 연결되며, 중앙처리 유니트(1)는 메인 메모리(2)를 액세스 할 수 있도록 연결된다. 멀티미디어 입출력 제어기(3)는 버스를 통하여 입출력 디바이스와 연결되는 한편, 중앙처리 유니트(1) 및 메인 메모리(2)에 의해 제어되도록 연결되는 구조로 이루어진다.
도 1의 구성에서, 중앙처리 유니트(1) 및 메인 메모리(2)는 일반적인 응용 프로그램을 수행시키며, 멀티미디어 입출력 제어기(3)는 버스에 접속되어 있는 관련 멀티미디어 디바이스(41, 42, 51, 52, 61) 간의 버스를 통한 데이터 전송을 전담하여 제어한다.
도 2는 도 1에서 설명된 멀티미디어 입출력 제어기의 구성도이다. 도시된 바와 같이 멀티미디어 입출력 제어기(3)는 동기 제어기(31), 비디오 프레임 입력부(32), 비디오 프레임 출력부(33), 오디오 프레임 입력부(34) 및 오디오 프레임 출력부(35)로 구성된다. 동기 제어기(31)는 중앙처리 유니트(1) 및 메인 메모리(2)의 출력단에 접속되며, 비디오 프레임 입력부(32)는 네트워크 디바이스(61)에서 비디오 프레임을 입력받아 동기 제어기(31)로 넘겨주는 역할을 하고, 오디오 프레임 입력부(34)는 네트워크 디바이스(61)에서 오디오 프레임을 입력받아 동기 제어기(31)로 넘겨주는 역할을 한다. 비디오 프레임 출력부(33)는 동기 제어기(31)로부터 비디오 프레임을 넘겨받아 비디오 출력 디바이스(42)로 출력하고, 오디오 프레임 출력부(35)는 동기 제어기(31)로부터 오디오 프레임을 넘겨받아 오디오 출력 디바이스(52)로 출력한다.
한편, 동기 제어기(31)가 처리하는 모든 프레임은 도 3에 도시된 바와 같이 프레임의 동기 정보를 나타내는 표지가 담겨있다. 이 표지는 프레임의 생성 당시에 붙여지는 것으로 마스터 타임(Master Time; MT)과 슬레이브 타임(Slave Time; ST), 그리고 일시정지 기간(Pause Interval; PI)으로 구성되며 그 형식은 MT.ST.PI와 같이 나타낸다.
마스터 타임(MT)은 이후에 설명될 마스터 스트림의 프레임, 즉 마스터 프레임의 번호로서, 1부터 시작하여 순서적으로 하나씩 증가하는 자연수이고, 슬레이브 타임(ST)은 슬레이브 스트림의 프레임, 즉 슬레이브 프레임의 번호로서 마찬가지로 자연수이지만 그 의미가 마스터 타임과 다르다.
슬레이브 타임은 연속된 두 마스터 프레임 사이의 시간 축상에서 존재하는 슬레이브 프레임들의 순서를 표현하는 것으로, 예를 들어 마스터 프레임 5번과 6번 사이에 5개의 슬레이브 프레임이 끼어 있을 경우 슬레이브 타임은 1번부터 5번까지 매겨지게 되어 그 다섯 개 슬레이브 프레임의 시간 표지는 각각 5.1, 5.2, 5.3, 5.4, 5.5가 된다. 반면 마스터 프레임인 경우는 슬레이브 타임이 필요가 없으므로 항상 1이 되어 5번 6번 마스터 프레임의 시간 표지는 각각 5.1, 6.1이 된다.
일시정지 기간(PI)은 그 값을 밀리초 단위로 기록한다. PI는 송신시에 값이 0으로 지정되어 있고, 이후 수신측에서 동기를 위하여 본 발명의 방식에 의거하여 해당 프레임의 출력 시점을 늦추어야할 필요가 있을 때 그 늦추는 기간을 밀리초 단위로 기록하는데 사용한다.
도 4는 본 발명에 따른 동기 제어기의 상세 구성도로서, 도 2에서 설명된 동기 제어기의 구성을 상세히 설명하기 위한 블록도이다. 도시된 바와 같이 비디오와 오디오를 위한 두 개의 선입선출기(First-In-First-Out: 이하 FIFO라 함), 즉 오디오 FIFO 및 비디오 FIFO와 8개의 레지스터, 그리고 하나의 테이블로 구성되어 있다.
비디오 프레임을 위한 큐인 비디오 FIFO(317)는 본 발명의 동기제어 방식을 실행하는 과정에서 비디오 프레임을 잠시 저장하기 위한 것이고, 오디오 프레임을 위한 큐인 오디오 FIFO(318)는 오디오 프레임을 잠시 저장하기 위한 것이다. 본 발명에서 사용하는 FIFO는 일반 FIFO와는 한가지 면에서 다르다. 즉, 일반 FIFO를 사용한다면 입력된 프레임이 수동적으로 대기하다가 인출되는 반면, 오디오 FIFO(318)와 비디오 FIFO(317)는 프레임이 머무는 시간, 즉 PI 값이 명시되어 있어서 그 시간이 지나면 반드시 FIFO로부터 출력되는 특징을 갖고 있다. 단, PI 값이 1이면 무한정 머무는 것이 되어 이 경우에는 일반 FIFO와 같아진다.
마스터 스트림 레지스터(Master Stream Register: 이하 MSR이라 함)(314)는 비디오 스트림과 오디오 프레임 중 동기의 기준 스트림을 지정하기 위한 레지스터로 비디오 스트림이 마스터이면 0을, 오디오 스트림이 마스터이면 1을 저장하도록 한다. 본 발명을 기술하는 데에 있어서 앞으로 비디오 스트림을 마스터 프레임으로 하여 기술한다.
마스터 타임 레지스터(Master Time Register: 이하 MTR이라 함)(311)는 동기 제어기(31)로부터 비디오 프레임 출력부(33)를 통하여 최근에 출력된 마스터 프레임, 즉 비디오 프레임의 마스터 타임 값을 저장한다.
슬레이브 스트림의 마스터 타임 레지스터(Slave's Master time Register: 이하 SMR이라 함)(312)와 슬레이브 타임 레지스터(Slave's Slave time Register: 이하 SSR이라 함)(313)는 동기 제어기(31)로부터 오디오 프레임 출력부(35)를 통하여 최근에 출력된 슬레이브 프레임, 즉 오디오 프레임의 마스터 타임 값과 슬레이브 타임 값을 각각 저장한다.
동기 왜곡 레지스터(Current Skew Register: 이하 CSR라 함)(315)는 현재의 동기 왜곡 정도를 저장하는 레지스터로서, 마스터 스트림이 앞서있을 때에는 추후 설명될 본 발명의 동기 방식에 따라 그 값이 음수가 되고 슬레이브 스트림이 앞서있을 때에는 양수가 된다.
왜곡 한도 레지스터(Skew Bound Register: 이하 SBR이라 함)(316)는 동기 왜곡되는 최대 허용 한도를 저장하는 레지스터로서, 예를 들어 SBR(316)의 값이 7로 지정되었으면 동기 제어기(31)는 임의 어느 순간에도 비디오 프레임 출력부(33)와 오디오 프레임 출력부(35)를 통하여 출력된 비디오 프레임과 오디오 프레임의 동기 왜곡이 -7∼+3 사이를 벗어나지 않도록 제어하여야 한다.
일시정지 기간 테이블(Pause Interval Table: 이하 PIT라 함)(319)은 앞서가고 있는 미디어의 프레임을 FIFO에 머물도록 할 경우 그 머무는 기간을 CSR(315)에 저장된 동기 왜곡 정도의 값에 따라 저장해 놓은 테이블이다. 따라서, PIT(319)는 〈색인(index), 왜곡(skew), 일시정지 기간(pause_interval)〉의 형태를 갖는 테이블이며 그 예가 [표 1]에 나타나 있다. PIT(319)의 일시정지 기간 값은 통신망에 따른 동기 왜곡 현상의 특징과 사용자의 요구사항 등을 고려하여 실험에 의하여 지정된다.
색인 왜곡 일시정지 기간
0 -7 160
1 -6 80
2 -5 40
3 -4 20
4 -3 15
5 -2 10
6 -1 0
7 0 0
8 1 0
9 2 10
10 3 15
11 4 20
12 5 40
13 6 80
14 7 160
최대 일시정지 왜곡 레지스터(Maximum Pause skew register: 이하 MAP라 함)(320)와 최소 일시정지 왜곡 레지스터(Minimum Pause skew register: 이하 MIP라 함)(321)는 PIT(319)의 최대 및 최소 동기 왜곡치를 지정하는 레지스터로서, [표 1]에서 본다면 MAP 값은 7이고 MIP 값은 7이다.
도 5는 본 발명에 따른 동기 제어기의 초기화 순서를 설명하기 위한 흐름도이다. 우선 마스터 스트림이 비디오 스트림이므로 MSR을 0으로 초기화하고(501), MTR, SMR, SSR, CSR를 각각 0으로 초기화한다(502, 503, 504, 505). 그런 후 SBR에 동기 왜곡 최대 허용치를, 예를 들어 2로 초기화하고(506), 비디오 스트림용 비디오 FIFO와 오디오 스트림용 오디오 FIFO를 비운다(507). 그리고 PIT의 각 왜곡(skew) 항과 일시정지 기간(pause_interval) 항의 값을 지정하고(508), MAP와 MIP의 값을 지정한다(59).
도 6은 본 발명에 따른 마스터 프레임, 즉 비디오 프레임이 비디오 프레임 입력부로부터 입력되었을 경우 이를 오디오와 동기화시키는 방법을 설명하기 위한 순서도이다.
먼저 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수 mtr에 저장한다(601). 그리고 현재의 동기 왜곡 정도가 음수인지를 검사하여(602) 음수일 경우, 즉 비디오 프레임이 오디오 프레임보다 앞서서 출력되고 있는 상황으로 현재 입력된 프레임을 그대로 출력시킬 경우 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별한다(603). 동기 왜곡 최대 허용 범위를 벗어날 경우 비디오 FIFO의 끝에 현재 입력된 프레임을 입력한 후(604) 현재의 동기 왜곡 정도 값을 최대 허용치와 같은 값으로 한다(605). 이때 비디오 FIFO에 입력되는 프레임의 PI 값을 1로 함으로서 SBR을 초과하였기 때문에 이것을 복구할 수 있는 오디오 프레임이 들어올 때까지 계속 기다릴것을 표시한다.
단계 (603)의 판별에서 만약 동기 왜곡 정도가 SBR보다 적어서 동기 왜곡 허용 범위를 벗어날것 같지 않으면 현재의 동기 왜곡 정도를 계산하여 이 값에 해당하는 PI 값을 PIT에서 찾아내어(606) 찾아낸 PI 값이 0인지를 검사한다(607). PI 값이 0이 아닐 경우 프레임의 PI란에 기록하고 마스터 스트림용 FIFO, 즉 비디오 FIFO에 입력한다(608). 한편 찾아낸 PI 값이 0이면 비디오 FIFO에 머물 필요 없이 즉각 출력한다(609). 그리고 난 후 오디오 스트림의 마스터 타임과 mtr과의 차이를 현재의 동기 왜곡 정도를 나타내는 레지스터인 CSR에 저장한다(610).
한편, 단계 (602)의 검사 결과 CSR 값이 양수이면 비디오 프레임이 오디오 프레임보다 늦는 경우이므로 현재의 비디오 프레임을 출력함과 동시에 출력이 가능한 오디오 프레임들을 오디오 FIFO에서 찾아 출력시켜야 한다. 이를 위하여 오디오 FIFO가 비워지게 되던가 아니면 동기 왜곡 허용 한도를 초과하지 않을 때까지 오디오 FIFO에서 오디오 프레임을 인출하여 오디오 프레임 출력부로 출력시킨다(611 내지 615). 그리고 슬레이브 스트림인 오디오 스트림에서 출력이 이루어졌으므로 최후로 출력된 오디오 프레임의 마스터 타임을 SMR에 저장하고(616) 현재 입력되어진 비디오 프레임을 비디오 프레임 출력부로 출력시킨다(609).
도 7은 본 발명에 따른 슬레이브 프레임, 즉 오디오 프레임이 입력되었을 경우 이를 비디오와 동기화시키는 방법을 설명하기 위한 순서도이다.
우선 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수 smr에 저장한다(701). 그리고 현재의 동기 왜곡 정도가 양수인지를 검사하여(702) 양수인 경우, 즉 오디오 프레임이 비디오보다 앞서서 출력되고 있는 상황이면, 현재 입력된 프레임을 그대로 출력시킬 것인지를 판별한다(703). 현재 입력된 프레임을 그대로 출력시킬 경우 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별한다(704). 동기 왜곡 최대 허용 범위를 벗어날것 같으면 오디오 FIFO의 끝에 현재 입력된 프레임을 입력한 후(705) 현재의 동기 왜곡 정도 값을 최대 허용치와 같은 값으로 한다(706). 이때 오디오 FIFO로 입력되는 프레임의 PI 값을 1로 기록함으로서 SBR을 초과하였기 때문에 이것을 복구할 수 있는 비디오 프레임이 들어올 때까지 계속 기다릴것을 표시한다.
단계 (704)의 판별에서 만약 동기 왜곡 정도가 SBR보다 적어서 동기 왜곡 허용 한도를 넘지 않을것 같으면 현재의 동기 왜곡 정도를 계산하여 이 값에 해당하는 PI값을 PIT에서 찾아내어(707) PI 값이 0인지를 검사한다(708). PI 값이 0이 아닐 경우 현재의 오디오 프레임의 PI란에 기록하고 슬레이브 스트림용 FIFO, 즉 오디오 FIFO에 입력한다(709). 한편 찾아낸 PI 값이 0이면 오디오 FIFO에 머물 필요없이 즉각 출력한다(710). 그리고 난 후 현재의 동기 왜곡 정도를 1 증가시켜 CSR에 저장한다(711). 또한 오디오와 비디오의 동기가 정확히 맞고 있는 상태이면(703) 역시 현재 입력된 오디오 프레임을 바로 오디오 프레임 출력부로 출력시킨다(712).
한편, 단계 (702)의 판별에서 CSR 값이 음수이면 오디오가 비디오보다 늦는 경우이므로 현재의 오디오 프레임을 출력함과 동시에 출력이 가능한 비디오 프레임들을 비디오 FIFO에서 찾아 출력시켜야 한다. 이를 위하여 비디오 FIFO가 비워지게 되던가 아니면 동기 왜곡 허용 한도를 초과하지 않을 때까지 비디오용 FIFO에서 비디오 프레임을 인출하여 비디오 프레임 출력부로 출력시킨다(714 내지 718). 그리고 마스터 스트림인 비디오 스트림에서 출력이 이루어졌으므로 최후로 출력된 비디오 프레임의 마스터 타임을 MTR에 저장하고(718) 현재 입력되어진 오디오 프레임을 오디오 프레임 출력부로 출력시킨다(712).
본 발명의 실시 예를 도 8, 도 9 및 도 10을 이용하여 설명하면 다음과 같다.
도 8은 본 발명의 도 6 및 도 7의 순서에 따라 임의의 오디오 비디오 스트림 입력에 대한 실시 예를 보여준다. 도면에서 볼 수 있듯이 비디오 프레임이나 오디오 프레임 모두 대부분의 경우 정확한 동기를 맞추기 위하여 기다리기 보다는 동기 왜곡 한도치 이내의 경우에는 수신 즉시 출력되므로 동기화시키는 과정 때문에 지연이 부가되는 현상이 현저히 감소됨을 알 수 있다. 즉, 동기를 위하여는 오로지 프레임 3.1, 5.1, 6.1, 8.1에만 지연이 적용된다. 이중 비디오 프레임 3.1과 5.1은 동기 왜곡 허용 한도치를 벋어나지는 않지만 이에 근접하므로 PIT에서 해당 PI값을 찾아 그 기간 동안 기다리게 된다(E1, E2). 현재의 예에서는 [표 1]에 나타낸 PIT를 사용함으로 PI 값은 10이다. 즉 10 밀리초를 비디오 FIFO에서 대기했다가 출력하게 된다.
한편, 비디오 프레임 6.1과 8.1은 즉시 출력될 경우 동기 왜곡이 최대 허용치인 3이 되므로 이를 방지하기 위하여 PI 값을 1로하여 비디오 FIFO에 저장하였다가 오디오 프레임 4.1과 6.1이 입력되었을 때 함께 출력되게 되어 이 두 프레임만이 지연되게 된다(E3, E4).
도 8이 비디오 프레임이 주로 먼저 전송되어 오는 경우인데 반하여 도 9는 오디오 프레임이 주로 먼저 전송되어 오는 경우의 실시 예이다. 도 8의 경우와 마찬가지로 오디오 프레임이 동기 왜곡 최대 허용치인 3이 되는 경우 바로 출력시키지 않고 오디오 FIFO에 저장한 후 비디오 프레임이 입력되었을 때 함께 출력시킨다(E4). 특히 8.1과 9.1같이 여러 개의 오디오 프레임이 비디오보다 일찍 들어올 경우 오디오 FIFO 내의 프레임이 증가하다가 비디오 프레임 6.1이 입력되면 오디오 프레임 8.1은 출력되어도 동기 왜곡 최대 허용치를 벗어나지 않을 것임으로 비디오 프레임 6.1과 동시에 출력시키고 이후 비디오 프레임 7.1이 입력되면 오디오 프레임 9.1을 같은 이유로 동시에 출력시킴으로서 순간적인 동기 왜곡에서 벋어날 수 있다(E6).
도 10은 도 8의 경우에 대하여 동기를 시키지 않았을 경우의 실시 예로서 모든 프레임이 수신 즉시 출력되어 동기로 인한 부가적인 지연이 전혀 없는 반면 동기 왜곡 최대 허용치인 3에 이르는 경우가 있는 것을 볼 수 있다.
도 11은 도 8의 경우에 대하여 종래의 방식을 적용 했을 경우의 실행 예로서 본 발명을 적용한 도 7에서는 비디오 프레임 3.1, 5.1, 6.1, 8.1만이 약간 지연된 반면(E1, E2, E3, E4), 종래의 시간 표지에 의한 무조건적인 동기를 수행했을 경우 동기되어야 할 오디오 프레임보다 먼저 수신된 모든 비디오 프레임 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 8.1은 오디오 프레임이 수신될 때까지 기다린 후 출력되어야 하기 때문에 많은 지연을 겪게 되는 것을 볼 수 있다.
한편, 도 9의 E5는 비디오 스트림 3.1의 경우 PI 값으로 10 밀리초동안 비디오 FIFO에서 대기하는 중 다행히 오디오 프레임 2.1이 입력되게 되어 PI 값인 10 밀리초를 기다릴 필요 없이 오디오 프레임과 함께 출력되는 경우를 보여주고 있다. 이러한 효과는 도 8의 E1에서도 일어나고 있는데 이는 만약에 10 밀리초를 기다리지 않고 바로 출력하였을 경우에 동기 왜곡이 2가 되지만 10 밀리초를 기다림으로 인하여 1로 동기 왜곡이 축소된 것을 보여주고 있다. 이러한 효과는 본 발명에서 제시하는 다단계 동기 방식을 적용함으로 얻어질 수 있는 것이다.
본 발명으로 인하여 비디오 스트림과 오디오 스트림의 통신망을 통한 전송 중 서로간의 동기가 왜곡되어 수신되는 경우 이를 복구하여 재동기화시킬 때 인간이 인지하지 못하는 한도 내에서의 동기 왜곡은 허용하면서 반면 재동기화로 인하여 야기되는 지연 및 지터를 현저히 감소시킴으로서 영상회의 등 지연 및 지터가 주요 문제가 되는 실시간 대화형 서비스를 보다 효과적으로 지원할 수 있다.

Claims (4)

  1. 비디오 프레임을 저장하기 위한 비디오 선입선출기와,
    오디오프레임을 저장하기 위한 오디오 선입선출기와,
    비디오 스트림과 오디오 스트림 중 동기의 기준 스트림을 지정하기 위한 마스터 스트림 레지스터와,
    비디오 프레임 출력부를 통해 최근에 출력된 비디오 프레임의 마스터 타임 값을 저장하는 마스터 타임 레지스터와,
    오디오 프레임 출력부를 통해 최근에 출력된 오디오 프레임의 마스터 타임 값을 저장하는 슬레이브 스트림의 마스터 타임 레지스터와,
    오디오 프레임 출력부를 통해 최근에 출력된 오디오 프레임의 슬레이브 타임 값을 저장하는 슬레이브 타임 레지스터와,
    현재의 동기 왜곡 정도를 저장하는 동기 왜곡 레지스터와,
    동기 왜곡되는 최대 허용 한도를 저장하는 왜곡 한도 레지스터와,
    앞서가고 있는 미디어의 프레임을 상기 비디오 및 오디오 선입선출기에 머물도록 할 경우 상기 머무는 기간을 상기 동기 왜곡 레지스터에 저장된 동기 왜곡 정도의 값에 따라 저장해 놓는 일시정지 기간 테이블과,
    상기 일시정지 기간 테이블의 최대 및 최소 동기 왜곡치를 지정하는 최대 일시정지 왜곡 레지스터 및 최소 일시정지 왜곡 레지스터를 포함하여 이루어진 것을 특징으로 하는 멀티미디어 컴퓨터의 동기 제어기.
  2. 제 1 항에 있어서, 상기 동기 왜곡 레지스터는 마스터 스트림이 앞서있을 경우 음수가 되고 슬레이브 스트림이 앞서있을 때에는 양수가 되는 것을 특징으로 하는 멀티미디어 컴퓨터의 동기 제어기.
  3. 마스터 스트림 레지스터, 마스터 타임 레지스터, 슬레이브 스트림의 마스터 타임 레지스터, 슬레이브 타임 레지스터, 동기 왜곡 레지스터를 초기화한 후 왜곡 한도 레지스터의 동기 왜곡 최대 허용치 초기화하는 단계와,
    상기 초기화 단계를 수행한 후 비디오 선입선출기와 오디오 선입선출기를 비우고 일시정지 기간 테이블의 왜곡 항과 일시정지 기간 항의 값을 지정한 후 최대 일시정지 왜곡 레지스터 및 최소 일시정지 왜곡 레지스터의 값을 지정하는 단계와,
    입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수에 저장한 후 현재의 동기 왜곡 정도가 음수인지를 검사하는 제 1 검사 단계와,
    상기 현재의 동기 왜곡 정도가 음수일 경우, 현재 입력된 프레임을 그대로 출력시킬 상황이면 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별하는 제 2 검사 단계와,
    상기 제 2 검사 결과 동기 왜곡 최대 허용 범위를 벗어날 경우 비디오 선입선출기의 끝에 현재 입력된 프레임을 입력한 후 현재의 동기 왜곡 정도 값을 최대 허용치와 같은 값으로 설정하는 단계와,
    상기 제 2 검사 결과 동기 왜곡 허용 범위를 벗어날것 같지 않을 경우 현재의 동기 왜곡 정도를 계산하여 일시정지 기간 테이블에서 상기 동기 왜곡 정도에 해당하는 일시정지 기간 값을 찾아내어 0인지를 검사하는 제 3 검사 단계와,
    상기 제 3 검사 결과 일시정지 기간 값이 0이 아닐 경우 프레임의 일시정지 기간란에 기록하고 비디오 선입선출기에 입력하고, 상기 일시정지 기간 값이 0일 경우 즉각 출력한 후 오디오 스트림의 마스터 타임과 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 저장한 변수의 차이를 동기 왜곡 레지스터에 저장하는 단계와,
    상기 제 1 검사 결과 상기 동기 왜곡 레지스터 값이 양수일 경우 오디오 선입선출기가 비워지게 되던가, 동기 왜곡 허용 한도를 초과하지 않을 때까지 오디오 선입선출기에서에서 오디오 프레임을 인출하여 오디오 프레임 출력부로 출력시킨 후 최후로 출력된 오디오 프레임의 마스터 타임을 슬레이브 스트림의 마스터 타임 레지스터에 저장하고 현재 입력된 비디오 프레임을 비디오 프레임 출력부로 출력시키는 단계를 포함하여 이루어진 것을 특징으로 하는 멀티미디어 컴퓨터의 동기 제어기를 이용한 멀티미디어 프레임의 다단계 동기화 방법.
  4. 마스터 스트림 레지스터, 마스터 타임 레지스터, 슬레이브 스트림의 마스터 타임 레지스터, 슬레이브 타임 레지스터, 동기 왜곡 레지스터를 초기화한 후 왜곡 한도 레지스터의 동기 왜곡 최대 허용치 초기화하는 단계와,
    상기 초기화 단계를 수행한 후 비디오 선입선출기와 오디오 선입선출기를 비우고 일시정지 기간 테이블의 왜곡 항과 일시정지 기간 항의 값을 지정한 후 최대 일시정지 왜곡 레지스터 및 최소 일시정지 왜곡 레지스터의 값을 지정하는 단계와,
    프레임이 입력되면 상기 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수에 저장한 후 현재의 동기 왜곡 정도가 양수인지를 검사하는 제 1 검사 단계와,
    상기 제 1 검사 결과 동기 왜곡 정도가 양수일 경우, 현재 입력된 프레임을 그대로 출력시킬 것인지를 판별하는 제 2 검사 단계와,
    상기 제 2 검사 결과 현재 입력된 프레임을 그대로 출력시킬 경우 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별하는 제 3 검사 단계와,
    상기 제 3 검사 결과 동기 왜곡 최대 허용 범위를 벗어날것 같으면 오디오 선입선출기의 끝에 현재 입력된 프레임을 입력한 후 현재의 동기 왜곡 정도 값을 최대 허용치와 같은 값으로 설정하는 단계와,
    상기 제 3 검사 결과 동기 왜곡 허용 한도를 벗어나지 않을것 같으면 현재의 동기 왜곡 정도를 계산하고 일시정지 기간 테이블에서 상기 현재의 동기 왜곡 정도 값에 해당하는 일시정지 기간 값을 찾아내어 일시정지 기간 값이 0인지를 검사하는 제 4 검사 단계와,
    상기 제 4 검사 결과 일시정지 기간 값이 0이 아닐 경우 현재의 오디오 프레임의 일시정지 기간란에 기록하고 오디오 선입선출기에 입력하고, 상기 일시정지 기간 값이 0일 경우 즉각 출력한 난 후 현재의 동기 왜곡 정도를 1 증가시켜 동기 왜곡 레지스터에 저장하는 단계와,
    상기 제 1 검사 결과 동기 왜곡 정도 값이 음수일 경우 비디오 선입선출기가 비워지게 되던가, 동기 왜곡 허용 한도를 초과하지 않을 때까지 비디오 선입선출기에서 비디오 프레임을 인출하여 비디오 프레임 출력부로 출력시킨 후 최후로 출력된 비디오 프레임의 마스터 타임을 마스터 타임 레지스터에 저장하고 현재 입력된 오디오 프레임을 오디오 프레임 출력부로 출력시키는 단계를 포함하여 이루어진 것을 특징으로 하는 멀티미디어 컴퓨터의 동기 제어기를 이용한 멀티미디어 프레임의 다단계 동기화 방법.
KR1019970071082A 1997-12-19 1997-12-19 멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어프레임의 다단계 동기화 방법 KR100254537B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970071082A KR100254537B1 (ko) 1997-12-19 1997-12-19 멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어프레임의 다단계 동기화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970071082A KR100254537B1 (ko) 1997-12-19 1997-12-19 멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어프레임의 다단계 동기화 방법

Publications (2)

Publication Number Publication Date
KR19990051714A KR19990051714A (ko) 1999-07-05
KR100254537B1 true KR100254537B1 (ko) 2000-05-01

Family

ID=19527940

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970071082A KR100254537B1 (ko) 1997-12-19 1997-12-19 멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어프레임의 다단계 동기화 방법

Country Status (1)

Country Link
KR (1) KR100254537B1 (ko)

Also Published As

Publication number Publication date
KR19990051714A (ko) 1999-07-05

Similar Documents

Publication Publication Date Title
US6359911B1 (en) MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information
US5661665A (en) Multi-media synchronization
US6434146B1 (en) Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
ATE279073T1 (de) Zeitbasisreferenzdatumregeneration für mpeg- transportströme
EP0694847A3 (en) Data streaming in a computer system
WO2004006446A3 (en) Hypothetical reference decoder for compressed image and video
JPH09275381A (ja) 多重分離装置
US20230370691A1 (en) Systems and methods for determining delay of a plurality of media streams
KR100254537B1 (ko) 멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어프레임의 다단계 동기화 방법
US6868096B1 (en) Data multiplexing apparatus having single external memory
EP1021045A1 (en) Method for processing and apparatus for encoding audio or video frame data
US7158532B2 (en) Half duplex link with isochronous and asynchronous arbitration
KR100240653B1 (ko) 멀티미디어 프레임의 동기화 방법
JP2003009101A (ja) マルチ画面再生装置およびマルチ画面再生方法
US6976208B1 (en) Progressive adaptive time stamp resolution in multimedia authoring
CN115312072A (zh) 音频路由管理方法、系统及电子设备
US7385996B2 (en) Data distribution apparatus and method
JP3201298B2 (ja) ネットワークデータの同期方法および装置、同期ノード、並びに、ネットワークシステム
US6961801B1 (en) Method and apparatus for accessing video data in memory across flow-controlled interconnects
CN1731769B (zh) 数字延迟缓存器和相关方法
US7548543B2 (en) Generation of valid program clock reference time stamps for duplicate transport stream packets
KR100375830B1 (ko) 피씨알 지터 제거장치 및 방법
CN115529481B (zh) 基于融合信号源的视频同步显示系统、方法及输入设备
JP2007110749A (ja) 時系列信号入力方法
JP2003143563A (ja) 時系列信号入力方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130204

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20140123

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee