KR100240653B1 - 멀티미디어 프레임의 동기화 방법 - Google Patents

멀티미디어 프레임의 동기화 방법 Download PDF

Info

Publication number
KR100240653B1
KR100240653B1 KR1019960063154A KR19960063154A KR100240653B1 KR 100240653 B1 KR100240653 B1 KR 100240653B1 KR 1019960063154 A KR1019960063154 A KR 1019960063154A KR 19960063154 A KR19960063154 A KR 19960063154A KR 100240653 B1 KR100240653 B1 KR 100240653B1
Authority
KR
South Korea
Prior art keywords
frame
video
audio
output
distortion
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.)
Expired - Fee Related
Application number
KR1019960063154A
Other languages
English (en)
Other versions
KR19980044997A (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 KR1019960063154A priority Critical patent/KR100240653B1/ko
Publication of KR19980044997A publication Critical patent/KR19980044997A/ko
Application granted granted Critical
Publication of KR100240653B1 publication Critical patent/KR100240653B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/242Synchronisation processes, e.g. processing of PCR [Programme 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/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 멀티미디어 프레임의 동기화 방법에 관한 것으로, 컴퓨터 네트워크를 이용한 멀티미디어 전송 시에 네트워크 사용량의 예측 못할 변동 등으로 인하여 발생하기 쉬운 매체간의 비동기 현상을 수신측 단말기 또는 사용자용 컴퓨터 내에서 보정하는 과정 중 반대 급부로 발생하는 수신 단말 내의 지연 현상을 감소시켜 영상회의 등 지연 감소가 주요 문제가 되는 실시간 대화형 서비스를 보다 효과적으로 지원할 수 있다.

Description

멀티미디어 프레임의 동기화 방법
본 발명은 멀티미디어 프레임의 동기화 방법에 관한 것으로 특히, 비디오나 오디오 등 다중의 연속 흐름을 병렬적으로 처리하여야 하는 멀티미디어 컴퓨터 시스템에서 각 흐름의 구성 단위인 프레임 간의 동기를 유지시켜 줄 수 있는 멀티미디어 프레임의 동기화 방법에 관한 것이다.
비디오, 그래픽, 오디오 또는 정지영상 등의 프레임이 임의 시간축 상의 고유 시점에 할당되어 시간이 경과함에 따라 각 프레임이 정해진 시점에 출력되어지는 것을 흐름이라 칭하며 특히 프레임의 주기적 또는 지속적인 출력을 요하는 흐름을 연속 흐름이라 칭할 때, 멀티미디어란 프레임의 연속 흐름이 다수 개 존재하는 상태라 할 수 있다.
멀티미디어 통신 등의 경우에는 이러한 다중의 연속 흐름을 물리적인 하나의 묶음으로 만들어서 전송하는 경우가 많지만 컴퓨터 시스템의 경우에는 이러한 정보를 항상 묶음으로 저장하지 않고 평상시 물리적으로 분리된 상태로 저장하였다가 임의의 멀티미디어 프리젠테이션을 위하여 제작자가 의도하는 바에 따라 일시적인 논리적 묶음으로 가시화 시켜준다.
컴퓨터 시스템이 이와 같은 형태의 멀티미디어 정보를 실현을 위해서는 각 연속 흐름에 대하여 내부적으로는 시분할 처리를 하여 각 연속 흐름이 병렬적으로 동작하도록 하여야 함과 아울러 병렬적으로 보이는 각 연속 흐름간에 동기화가 되도록 하여 시청자로 하여금 마치 물리적인 한 묶음인 것으로 느껴지도록 하여야 한다.
그러나 컴퓨터 하드웨어의 성능이나 운영체제의 스케쥴링 방식에 의하여 연속 흐름 간의 상대적 속도 차이가 야기되게 되어 소프트웨어적으로 특수한 장치가 마련되어 있지 않다면 연속 흐름 간의 동기가 맞지 않게 된다. 특히, 연속 흐름의 출처가 해당 컴퓨터 자체가 아니라 컴퓨터 통신망에 연결된 다른 컴퓨터나 서버인 경우 컴퓨터 통신망 자원 스케쥴링 정책도 동기를 해치는 중요한 요인이 된다. 이러한 속도 차이는 문자 처리 중심의 컴퓨터에서는 사용자가 거의 느끼지 못할 정도로 별 문제가 되지 않으나 프레임을 연속하여 처리하여야 하는 멀티미디어 처리 중심의 컴퓨터에서는 시청자가 이를 민감하게 감지하게 되어 불편을 느끼게 된다.
예를 들어 사람이 말을 하는 장면을 담은 비디오 흐름과 말 소리를 담고있는 음성 흐름의 동기가 맞지 않는다면 말하는 입술과 소리가 어긋나 듣는 이에게 불편을 끼치게 된다. 따라서, 이러한 상대적이며 시간에 따라 가변적인 속도 차이를 최대한 극복하여 동일 시간대의 프레임들이 각 연속 흐름을 통하여 출력될 수 있도록 하는 동기 장치가 필요하다.
종래의 기술은 필요 이상의 정확한 동기를 실현하는 데에 주안점을 두어 비디오 스트림의 각 프레임마다 그에 상응하는 오디오 프레임과 일일이 동기를 맞추도록 되어 있다. 예를 들어 오디오 보다 먼저 수신된 비디오 프레임이 나중에 도착하는 오디오 프레임을 필연적으로 기다려야 한다. 이로 인하여 비디오 프레임이 사용자에게 출력되는 시점은 오디오 프레임 보다 절대 앞설 수 없게 되며 이에 따라 필연적으로 지연 현상이 발생하게 된다. 또한 이뿐 아니라 오디오의 지연 변이가 비디오에 영향을 줌으로서 비디오의 지연 변이가 동반되어 증폭된다는 문제점을 안고 있다.
따라서, 본 발명은 컴퓨터 네트워크를 이용한 멀티미디어 특히, 오디오 및 비디오의 전송 시에 네트워크 사용량의 예측 못할 변동 등으로 인하여 발생하기 쉬운 매체간의 비동기 현상을 수신측 단말기 또는 사용자용 컴퓨터 내에서 보정하는 과정 중 반대 급부로 발생하는 수신 단말 내의 지연 현상을 감소시킬 수 있는 멀티미디어 프레임의 동기화 방법을 제공하는 것을 그 목적으로 한다.
상술한 목적을 실현하기 위한 본 발명에 따른 멀티미디어 프레임의 동기화 방법은 마스터 스트림의 동기화를 위한 멀티미디어 프레임의 동기화 방법에 있어서, 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수 마스터 타임 레지스터에 저장하는 단계와, 상기 단계로부터 현재의 동기 왜곡이 음수인지를 판별하는 단계와, 상기 단계로부터 동기 왜곡이 음수인 경우 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별한 후 왜곡 최대 허용범위를 벗어나면 비디오용 FIFO의 끝에 현재 입력된 프레임을 입력하고, 현재의 동기 왜곡 값을 최대 허용치와 같은 값으로 하는 단계와, 동기 왜곡 최대 허용범위를 벗어나지 않으면 비디오 프레임 출력부로 현재의 프레임을 그대로 출력시키고, 오디오 스트림의 마스터 타임과 마스터 타임 레지스터와의 차이를 커런트 스큐 레지스터에 저장하는 단계와, 상기 단계로부터 커런트 스큐 레지스터 값이 양수 이면 현재 동기 왜곡이 최대치를 넘어 오디오 프레임들이 오디오용 FIFO에 저장되고 있는 중인지를 판별하는 단계와, 상기 단계로부터 동기 왜곡이 최대치를 넘는 상태라면 현재의 비디오 프레임을 출력함과 아울러 이와 동시에 출력이 가능한 오디오 프레임들을 오디오용 FIFO에서 찾아 출력시키고, 이를 위하여 오디오용 FIFO가 비워지게 되던가 아니면 동기 왜곡 허용한도를 초과하지 않을 때까지 오디오용 FIFO에서 오디오 프레임을 인출하여 오디오 프레임 출력부로 출력시키는 단계와, 슬레이브 스트림인 오디오 스트림에서 출력이 이루어졌으므로 최후로 출력된 오디오 프레임의 마스터 타임을 슬레이브 스트림의 마스터 타임 레지스터에 저장하고 현재 입력되어진 비디오 프레임을 비디오 프레임 출력부로 출력시키는 단계를 포함하여 이루어지는 것을 특징으로 한다.
또한, 상술한 목적을 실현하기 위한 본 발명에 따른 멀티미디어 프레임의 동기화 방법은 슬레이브 스트림의 동기화를 위한 멀티미디어 프레임의 동기화 방법에 있어서, 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수 슬레이브 스트림의 마스터 타임 레지스터에 저장하는 단계와, 상기 단계로부터 현재의 동기 왜곡이 음수인지를 판단하는 단계와, 상기 단계로부터 동기 왜곡이 양수인 경우 현재 입력된 프레임을 그대로 출력시킬 경우 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별하는 단계와, 상기 단계로부터 동기 왜곡이 최대 허용 범위를 벗어나면 오디오용 FIFO의 끝에 현재 입력된 프레임을 입력한 후 현재의 동기 왜곡 값을 최대허용치와 같은 값으로 하는 단계와, 동기 왜곡이 최대 허용 범위를 벗어나지 않으면 오디오 프레임 출력부로 현재의 프레임을 그대로 출력시키고, 현재의 동기 왜곡을 1 증가시켜 커런트 스큐 레지스터에 저장하는 단계와, 오디오와 비디오의 동기가 정확히 맞고 있는 상태이면 현재 입력된 오디오 프레임을 바로 오디오 프레임 출력부로 출력시키는 단계와, 커런트 스큐 레지스터 값이 음수 이면 현재 동기 왜곡이 최대치를 넘어 비디오 프레임들이 비디오용 FIFO에 저장되고 있는 중인지를 판별하는 단계와, 상기 단계로부터 동기 왜곡이 최대치를 넘고 있는 상태라면 현재의 오디오 프레임을 출력함과 아울러 이와 동시에 출력이 가능한 비디오 프레임들을 비디오용 FIFO에서 찾아 출력시키고, 비디오용 FIFO가 비워지게 되던가 아니면 동기 왜곡 허용 한도를 초과하지 않을 때까지 비디오용 FIFO에서 비디오 프레임을 인출하여 비디오 프레임 출력부로 출력시키는 단계와, 비디오 스트림에서 출력이 이루어졌으므로 최후로 출력된 비디오 프레임의 마스터 타임을 마스터 타임 레지스터에 저장하고, 현재 입력되어진 오디오 프레임을 오디오 프레임 출력부로 출력시키는 단계를 포함하여 이루어지는 것을 특징으로 한다.
제1도는 일반적인 멀티미디어 컴퓨터의 개념적 구성도.
제2도는 제1도에 도시된 멀티미디어 입출력 제어기의 구성도.
제3도는 프레임 발생 당시의 동기화 된 프레임 순서 및 시간 표지를 도시한 도면.
제4도는 동기제어기의 구성도.
제5도는 동기제어기의 초기화를 도시한 플로우 차트도.
제6도는 본 발명에 따른 마스터 스트림의 동기화를 도시한 플로우 차트도.
제7도는 본 발명에 따른 슬레이브 스트림의 동기화를 도시한 플로우 차트도.
제8도는 본 발명에 따른 실시예로 도시한 도면.
제9도는 본 발명에 따른 다른 실시예를 도시한 도면.
제10도는 동기를 시키지 않았을 경우의 실시예를 도시한 도면.
제11도는 종래 방식을 적용 했을 경우의 실시예를 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
1 : 중앙 처리유닛 2 : 메인 메모리
3 : 멀티미디어 입출력 제어기 31 : 동기 제어기
32 : 비디오 프레임 입력부 33 : 비디오 프레임 출력부
34 : 오디오 프레임 입력부 35 : 오디오 프레임 출력부
311 : 마스터 타임 레지스터(MTR)
312 : 슬레이브 스트림의 마스터 타임 레지스터(SMR)
313 : 슬레이브 타임 레지스터(SSR) 314 : 마스터 스트림 레지스터(MSR)
315 : 커런트 스큐 레지스터(CSR) 316 : 스큐 바운드 레지스터(SBR)
317 : 비디오 FIFO 318 : 오디오 FIFO
이하, 본 발명에 따른 멀티미디어 프레임의 동기화 방법을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
제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)는 중앙처리유닛(1) 및 메인메모리(2)의 출력단에 접속된 동기제어기(31)와, 네트워크 디바이스(61)에서 비디오 프레임을 입력받아 동기제어기 (31)로 넘겨주는 비디오 프레임 입력부(32)와, 네트워크 디바이스(61)로부터 오디오 프레임을 입력받아 동기제어기(31)로 넘겨주는 오디오 프레임 입력부(33)와, 동기제어기(31)로부터 비디오 프레임을 넘겨받아 이를 비디오 출력 디바이스(42)로 출력하는 비디오 프레임 출력부(34)와, 동기제어기(31)로부터 오디오 프레임을 넘겨받아 이를 오디오 출력 디바이스(52)로 출력하는 오디오 프레임 출력부(35)로 이루어 진다. 한편, 동기제어기(31)가 처리하는 모든 프레임은 제3도에 도시된 바와 같이 프레임의 동기 정보를 나타내는 표지가 담겨있다. 이 표지는 프레임의 생성 당시에 붙여지는 것으로 마스터 타임(MT)과 슬레이브 타임(ST)으로 구성되며 그 형식은 MT.ST와 같이 나타내는데 마스터 타임(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이 된다.
동기제어기(31)는 제4도에 도시된 바와 같이 비디오와 오디오를 위한 두개의 큐 즉 FIFO(First-In-First-Out)와 6개의 레지스터로 구성되어 있다. 비디오 프레임을 위한 큐인 비디오-FIFO(317)는 동기제어 방식을 실행하는 과정에서 비디오 프레임을 잠시 저장하기 위한 것이고, 오디오 프레임을 위한 큐인 오디오-FIFO(318)는 오디오 프레임을 잠시 저장하기 위한 것이다. 마스터 스트림 레지스터(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)의 값이 2로 지정되었으면 동기제어기(31)는 임의 어느 순간에도 비디오 출력부(33)와 오디오 출력부 (35)를 통하여 출력된 비디오 프레임과 오디오 프레임의 동기 왜곡이 -2~+2 사이를 벋어나지 않도록 제어하여야 한다.
제5도는 동기제어기(31)의 초기화를 위한 플로우 차트도로서, 먼저 마스터 스트림이 비디오 스트림이므로 S1단계에서 MSR(314)을 0으로 초기화하고, S2단계에서 MTR(311)을 0으로 초기화하고, S3단계에서 SMR(312)을 0으로 초기화하고, S4단계에서 SSR(313)을 0으로 초기화하고, S5단계에서 CSR(315)을 0으로 초기화 한다. 다음으로 S6단계에서 SBR(316)에 동기 왜곡 최대 허용치를 예를 들어 2로 초기화한다. 그리고, 비디오 스트림용 FIFO(317)와 오디오 스트림용 FIFO(318)를 비운다.
제6도는스트림 프레임 즉, 비디오 프레임이 비디오 프레임 입력부(32)로부터 입력되었을 경우 이를 오디오와 동기화 시키기 위한 플로우 차트도로서, 먼저 S11단계에서 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수 mtr에 저장한다. S12단계에서 현재의 동기 왜곡이 음수인지를 판별한다. 동기 왜곡이 음수인 경우 즉, 비디오 프레임이 오디오 프레임 보다 앞서서 출력되고 있는 경우이므로 현재 입력된 프레임을 그대로 출력시킬 경우 S13단계에서 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별한다. 왜곡 최대 허용범위를 벗어나면 S15단계에서 비디오용 FIFO(317)의 끝에 현재 입력된 프레임을 입력한 후 S16단계에서 현재의 동기 왜곡 정도 값을 최대 허용치와 같은 값으로 한다. 그리고, 동기 왜곡 최대 허용범위를 벗어나지 않으면 S17단계에서 비디오 프레임 출력부(34)로 현재의 프레임을 그대로 출력시키고, S18단계에서 오디오 스트림의 마스터 타임과 mtr과의 차이를 CSR(315)에 저장한다. 한편, S12단계에서 CSR(315) 값이 양수이면 비디오 프레임이 오디오 프레임 보다 늦게 출력되는 경우이므로 S14단계에서 현재 동기 왜곡이 최대치를 넘어 오디오 프레임들이 오디오용 FIFO(318)에 저장되고 있는 중인지를 판별한다. 동기 왜곡이 최대치를 넘는 상태라면 S19 내지 S23단계에서 현재의 비디오 프레임을 출력함과 아울러 이와 동시에 출력이 가능한 오디오 프레임들을 오디오용 FIFO(318)에서 찾아 출력시키고, 이를 위하여 오디오용 FIFO가 비워지게 되던가 아니면 동기 왜곡 허용 한도를 초과하지 않을 때까지 오디오용 FIFO(318)에서 오디오프레임을 인출하여 오디오 프레임 출력부(35)로 출력시킨다. 그리고, S24단계에서 슬레이브 스트림인 오디오 스트림에서 출력이 이루어졌으므로 최후로 출력된 오디오 프레임의 마스터 타임을 SMR(312)에 저장하고 S17단계에서 현재 입력되어진 비디오 프레임을 비디오 프레임 출력부(34)로 출력시킨다.
제7도는경우이며브 프레임 즉, 오디오 프레임이 오디오 프레임 입력부(34)로부터 입력되었을 경우 이를 비디오와 동기화 시키기 위한 플로우 챠트도로서, 먼저 S31단계에서 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수 SMR에 저장한다. 그리고, S32단계에서 현재의 동기 왜곡 정도가 양수인 경우 즉, 오디오 프레임이 비디오 프레임 보다 앞서서 출력되고 있는 경우이며 현재 입력된 프레임을 그대로 출력시킬 경우 S42단계에서 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별한다. 동기 왜곡 최대 허용 범위를 벗어나면 S43단계에서 오디오용 FIFO(318)의 끝에 현재 입력된 프레임을 입력한 후 S46단계에서 현재의 동기 왜곡 값을 최대 허용치와 같은 값으로 한다. 만약, S42단계에서 동기 왜곡 최대 허용 범위를 벗어나지 않으면 S44단계에서 오디오 프레임 출력부(35)로 현재의 프레임을 그대로 출력시키고, S45단계에서 현재의 동기 왜곡 정도를 1 증가시켜 CSR(315)에 저장한다. 또한 S41단계에서 오디오와 비디오의 동기가 정확히 맞고 있는 상태이면 S39단계에서 현재 입력된 오디오 프레임을 바로 오디오 프레임 출력부(35)로 출력시킨다. 한편, S32단계에서 CSR(315) 값이 음수 이면 오디오 프레임이 비디오프레임 보다 늦는 경우이며 S33단계에서 현재 동기 왜곡이 최대치를 넘어 비디오 프레임들이 비디오용 FIFO(317)에 저장되고 있는 중인지를 판별한다. 만약, 동기 왜곡이 최대치를 넘고 있는 상태라면 S34단계 내지 S36단계에서 현재의 오디오 프레임을 출력함과 아울러 이와 동시에 출력이 가능한 비디오 프레임들을 비디오용 FIFO(317)에서 찾아 출력시킨다. 이를 위하여 비디오용 FIFO가 비워지게 되던가 아니면 동기 왜곡 허용 한도를 초과하지 않을 때까지 비디오용 FIFO(317)에서 비디오 프레임을 인출하여 비디오 프레임 출력부(33)로 출력시킨다. 그리고, S38단계에서 마스터 스트림인 비디오 스트림에서 출력이 이루어졌으므로 최후로 출력된 비디오 프레임의 마스터 타임을 MTR(311)에 저장하고, S39단계에서 현재 입력되어진 오디오 프레임을 오디오 프레임 출력부(35)로 출력시킨다.
제8도는 본 발명에 따른 실시예를 설명하기 위한 도면으로서, 제6도 및 제7도의 순서에 따라 임의의 오디오 비디오 스트림 입력에 대한 출력을 도시한다.
제8도에 도시된 바와 같이 비디오 프레임이나 오디오 프레임 모두 대부분의 경우 수신 즉시 출력되기 때문에 동기화시키는 과정 때문에 지연이 부가되는 현상이 현저히 감소됨을 알 수 있다. 즉, 비디오 프레임 6.1 과 8.1이 즉시 출력될 경우 동기 왜곡 최대 허용치인 -2를 넘기 때문에 이를 방지하기 위하여 비디오 FIFO(317)에 저장하였다가 오디오 프레임 4.1과 6.1이 입력되었을 때 함께 출력되어 이 두프레임만이 화살표 E1 및 E2로 도시된 바와 같이 지연되게 된다.
제9도는 본 명에 따른 다른 실시예로서, 제8도에서 비디오 프레임이 주로 먼저 전송되어 오는 경우인 데에 반하여 제9도는 오디오 프레임이 주로 먼저 전송되어 오는 경우를 도시한다. 제8도의 경우와 마찬가지로 오디오 프레임이 동기 왜곡 최대 허용치인 2를 초과하게 되는 경우 바로 출력시키지 않고 오디오용 FIFO(318)에 저장한 후 비디오 프레임이 입력되었을 때 화살표 E3 및 E4에 도시된 바와 같이 함께 출력시킨다. 특히 8.1 및 9.1과 같이 여러개의 오디오 프레임이 비디오 보다 일찍 들어올 경우 오디오 FIFO(318) 내의 프레임이 증가하다가 비디오 프레임 6.1이 입력되면 오디오 프레임 8.1은 출력되어도 동기 왜곡 최대 허용치를 벗어나지 않을 것임으로 비디오 프레임 6.1과 동시에 출력시키고, 이후 비디오 프레임 7.1이 입력되면 오디오 프레임 9.1을 같은 이유로 동시에 출력시킴으로서 순간적인 동기 왜곡에서 벋어날 수 있다.
제10도는 제8도의 경우에 대하여 동기를 시키기 않았을 경우의 실시예를 도시한 도면으로서, 모든 프레임이 수신 즉시 출력되어 동기로 인한 부가적인 지연이 전혀 없는 반면 동기 왜곡 최대 허용치인 -2를 벗어나는 경우가 있는 것을 볼 수 있다.
참고로, 제11도는 제8도의 경우에 대하여 종래의 방식을 적용 했을 경우의 실시예를 도시한 도면으로서, 본 발명에 따른 실시예로 제8도에서는 비디오 프레임 6.1 및 8.1만이 화살표 E1 및 E2로 도시된 바와 같이 약간 지연된 반면, 종래의 시간 표지에 의한 무조건적인 동기를 수행했을 경우 동기되어야할 오디오 프레임보다 먼저 수신된 모든 비디오 프레임 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 8.1은 오디오 프레임이 수신될 때까지 기다린 후 출력되어야 하기 때문에 많은 지연을 겪게 되는 것을 볼 수 있다.
상술한 바와 같이 본 발명에 의하면 비디오 스트림과 오디오 스트림의 통신망을 통한 전송 중 서로간의 동기가 왜곡되어 수신되는 경우 이를 복구하여 재동기화 시킬 때 인간이 인지하지 못하는 한도 내에서의 동기 왜곡은 허용하면서 반면 재동기화로 인하여 야기되는 지연을 현저히 감소시킴으로서 영상회의 등 지연 감소가 주요 문제가 되는 실시간 대화형 서비스를 보다 효과적으로 지원할 수 있다.

Claims (2)

  1. 마스터 스트림의 동기화를 위한 멀티미디어 프레임의 동기화 방법에 있어서, 입력된 프레임의 시간 표지에서 마스터 타임 값을 찾아 변수 마스터 타임 레지스터에 저장하는 단계와, 상기 단계로부터 현재의 동기 왜곡이 음수인지를 판별하는 단계와, 상기 단계로부터 동기 왜곡이 음수인 경우 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별한 후 왜곡 최대 허용범위를 벗어나면 비디오용 FIFO의 끝에 현재 입력된 프레임을 입력하고, 현재의 동기 왜곡 값을 최대 허용치와 같은 값으로 하는 단계와, 동기 왜곡 최대 허용범위를 벗어나지 않으면 비디오 프레임 출력부로 현재의 프레임을 그대로 출력시키고, 오디오 스트림의 마스터 타임과 마스터 타임 레지스터와의 차이를 커런트 스큐 레지스터에 저장하는 단계와, 상기 단계로부터 커런트 스큐 레지스터 값이 양수 이면 현재 동기 왜곡이 최대치를 넘어 오디오 프레임들이 오디오용 FIFO에 저장되고 있는 중인지를 판별하는 단계와, 상기 단계로부터 동기 왜곡이 최대치를 넘는 상태라면 현재의 비디오 프레임을 출력함과 아울러 이와 동시에 출력이 가능한 오디오 프레임들을 오디오용 FIFO에서 찾아 출력시키고, 이를 위하여 오디오용 FIFO가 비워지게 되던가 아니면 동기 왜곡 허용 한도를 초과하지 않을 때까지 오디오용 FIFO에서 오디오 프레임을 인출하여 오디오 프레임 출력부로 출력시키는 단계와, 슬레이브 스트림인 오디오 스트림에서 출력이 이루어졌으므로 최후로 출력된 오디오 프레임의 마스터 타임을 슬레이브 스트림의 마스터 타임 레지스터에 저장하고 현재 입력되어진 비디오 프레임을 비디오 프레임 출력부로 출력시키는 단계를 포함하여 이루어지는 것을 특징으로 하는 멀티미디어 프레임의 동기화 방법.
  2. 슬레이브 스트림의 동기화를 위한 멀티미디어 프레임의 동기화 방법에 있어서, 입력된 프레임이 시간 표지에서 마스터 타임 값을 찾아 변수 슬레이브 스트림의 마스터 타임 레지스터에 저장하는 단계와, 상기 단계로부터 현재의 동기 왜곡이 음수인지를 판단하는 단계와, 상기 단계로부터 동기 왜곡이 양수인 경우 현재 입력된 프레임을 그대로 출력시킬 경우 동기 왜곡 최대 허용 범위를 벗어날 것인지를 판별하는 단계와, 상기 단계로부터 동기 왜곡이 치대 허용 범위를 벗어나면 오디오용 FIFO의 끝에 현재 입력된 프레임을 입력한 후 현재의 동기 왜곡 값을 최대 허용치와 같은 값으로 하는 단계와, 동기 왜곡이 최대 허용 범위를 벗어나지 않으면 오디오 프레임 출력부로 현재의 프레임을 그대로 출력시키고, 현재의 동기 왜곡을 1 증가시켜 커런트 스큐 레지스터에 저장하는 단계와, 오디오와 비디오의 동기가 정확히 맞고 있는 상태이면 현재 입력된 오디오 프레임을 바로 오디오 프레임 출력부로 출력시키는 단계와, 커런트 스큐 레지스터 값이 음수이면 현재 동기 왜곡이 최대치를 넘어 비디오 프레임들이 비디오용 FIFO에 저장되고 있는 중인지를 판별하는 단계와, 상기 단계로부터 동기 왜곡이 최대치를 넘고 있는 상태라면 현재의 오디오 프레임을 출력함과 아울러 이와 동시에 출력이 가능한 비디오 프레임들을 비디오용 FIFO에서 찾아 출력시키고, 비디오용 FIFO가 비워지게 되던가 아니면 동기 왜곡 허용 한도를 초과하지 않을 때까지 비디오용 FIFO에서 비디오 프레임을 인출하여 비디오 프레임 출력부로 출력시키는 단계와, 비디오 스트림에서 출력이 이루어졌으므로 최후로 출력된 비디오 프레임의 마스터 타임을 마스터 타임 레지스터에 저장하고, 현재 입력되어진 오디오 프레임을 오디오 프레임 출력부로 출력시키는 단계를 포함하여 이루어지는 것을 특징으로 하는 멀티미디어 프레임의 동기화 방법.
KR1019960063154A 1996-12-09 1996-12-09 멀티미디어 프레임의 동기화 방법 Expired - Fee Related KR100240653B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960063154A KR100240653B1 (ko) 1996-12-09 1996-12-09 멀티미디어 프레임의 동기화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960063154A KR100240653B1 (ko) 1996-12-09 1996-12-09 멀티미디어 프레임의 동기화 방법

Publications (2)

Publication Number Publication Date
KR19980044997A KR19980044997A (ko) 1998-09-15
KR100240653B1 true KR100240653B1 (ko) 2000-01-15

Family

ID=19486612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960063154A Expired - Fee Related KR100240653B1 (ko) 1996-12-09 1996-12-09 멀티미디어 프레임의 동기화 방법

Country Status (1)

Country Link
KR (1) KR100240653B1 (ko)

Also Published As

Publication number Publication date
KR19980044997A (ko) 1998-09-15

Similar Documents

Publication Publication Date Title
US6359911B1 (en) MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information
JP5179508B2 (ja) データストリーム同士間でコンテンツを分配および切替するデータストリーム再生方法およびデータストリーム再生装置
US5602992A (en) System for synchronizing data stream transferred from server to client by initializing clock when first packet is received and comparing packet time information with clock
US6463059B1 (en) Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing
EP0750769B1 (en) Method and apparatus for synchronization and scheduling of multiple data streams and real time tasks
US20200287644A1 (en) Stream synchronization
JPH09275381A (ja) 多重分離装置
US7176978B2 (en) AV synchronization system
US20230370691A1 (en) Systems and methods for determining delay of a plurality of media streams
US20010038613A1 (en) Time slot assigner for communication system
KR100384553B1 (ko) 단일외부메모리를구비한데이터다중화장치
EP1871111A2 (en) Method and apparatus for providing centralized advertisement insertion
KR19980044997A (ko) 멀티미디어 프레임의 동기화 장치 및 방법
KR100254537B1 (ko) 멀티미디어 컴퓨터의 동기 제어기 및 이를 이용한 멀티미디어프레임의 다단계 동기화 방법
US7385996B2 (en) Data distribution apparatus and method
CN111988641B (zh) 传输流复用音视频时间同步方法
CA2651701C (en) Generation of valid program clock reference time stamps for duplicate transport stream packets
JP3201298B2 (ja) ネットワークデータの同期方法および装置、同期ノード、並びに、ネットワークシステム
Das A model for synchronisation and communication of distributed multimedia data streams
KR100375830B1 (ko) 피씨알 지터 제거장치 및 방법
US20240259653A1 (en) Signal processing system and signal processing method
JP2005519541A (ja) 第1データストリームを第2データストリームに変換する方法及び装置
JP2001094523A (ja) データ伝送装置およびデータ伝送方法
JP3676105B2 (ja) 多重化システム
JP4788081B2 (ja) パケットデータ出力装置

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

R17-X000 Change to representative recorded

St.27 status event code: A-5-5-R10-R17-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

FPAY Annual fee payment

Payment date: 20101001

Year of fee payment: 12

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20111029

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20111029

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000