KR100538001B1 - Method for synchronizing data, and computer readable medium storing thereof - Google Patents

Method for synchronizing data, and computer readable medium storing thereof Download PDF

Info

Publication number
KR100538001B1
KR100538001B1 KR10-2003-0042612A KR20030042612A KR100538001B1 KR 100538001 B1 KR100538001 B1 KR 100538001B1 KR 20030042612 A KR20030042612 A KR 20030042612A KR 100538001 B1 KR100538001 B1 KR 100538001B1
Authority
KR
South Korea
Prior art keywords
data
packet
time
receiver
tsvn
Prior art date
Application number
KR10-2003-0042612A
Other languages
Korean (ko)
Other versions
KR20050000482A (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 KR10-2003-0042612A priority Critical patent/KR100538001B1/en
Publication of KR20050000482A publication Critical patent/KR20050000482A/en
Application granted granted Critical
Publication of KR100538001B1 publication Critical patent/KR100538001B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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]

Abstract

본 발명은 데이터 동기화 방법에 관한 것이다. 본 발명은 다양한 네트워크에 접속된 사용자들이 각각 성능이 다른 하드웨어를 사용하여 화상 및 음성 데이터를 압축하여 패킷 단위로 전송할 때, 각 패킷에 시간 계수를 첨부하고, 각 패킷이 포함하는 시간 계수와 그 패킷이 포함하는 데이터가 재생되어야 하는 시간 계수와의 차이를 계산하고, 시간 계수 차이를 가변 임계치와 비교하고, 패킷 수신 이력을 참조하여, 화상 및 음성 데이터 처리 방법을 결정한다. 본 발명은 가변 임계치를 사용하여 여러 개의 멀티미디어 데이터를 동기화하기 위한 미세한 제어뿐만 아니라 망 상태가 불량하여 시간 계수 차이가 큰 경우에도 동기화하여 데이터를 표시할 수 있도록 하고, 망 상태에 따라 버퍼에 저장되는 데이터 량을 제어할 수 있도록 하며, 패킷 수신 이력을 사용하여 망 상태가 일시적으로 변경되는 경우에도 정상적으로 데이터를 표시할 수 있다. 따라서, 여러 컴퓨터들이 멀티미디어 데이터를 송/수신하는 과정에서 발생하는 지연을 보상하여 멀티미디어 데이터를 압축되기 전 상태로 표시할 수 있다.The present invention relates to a data synchronization method. According to the present invention, when users connected to various networks use hardware having different performances to compress video and audio data and transmit them in packet units, a time coefficient is attached to each packet, and the time coefficient included in each packet and the packet The difference between the time coefficient at which this data is to be reproduced is calculated, the difference in time coefficient is compared with a variable threshold, and the image and audio data processing method is determined with reference to the packet reception history. The present invention enables not only fine control for synchronizing multiple multimedia data using a variable threshold but also to display data by synchronizing even when the time state difference is large due to poor network state, and stored in a buffer according to the network state. The amount of data can be controlled, and the packet reception history can be used to display data normally even when the network status is temporarily changed. Therefore, various computers can compensate for the delay in the process of transmitting / receiving the multimedia data and display the multimedia data as it is before being compressed.

Description

데이터 동기화 방법 및 이를 저장한 컴퓨터 판독 가능 기록매체{METHOD FOR SYNCHRONIZING DATA, AND COMPUTER READABLE MEDIUM STORING THEREOF}METHOD FOR SYNCHRONIZING DATA, AND COMPUTER READABLE MEDIUM STORING THEREOF

본 발명은 데이터 동기화 방법에 관한 것으로, 특히 화상 및 음성 데이터를 동기화하는 방법에 관한 것이다.The present invention relates to a method of synchronizing data, and more particularly to a method of synchronizing image and audio data.

일반적으로 여러 개의 멀티미디어 데이터를 표시할 때 이러한 데이터들을 동기화하기 위하여, 각 데이터로부터 추출된 시각 정보를 시간 계수와 비교하여 차이값이 일정 범위 안에 포함될 경우에 각 데이터를 표시한다. In general, in order to synchronize such data when displaying a plurality of multimedia data, time information extracted from each data is compared with a time coefficient to display each data when a difference value is included in a predetermined range.

이러한 멀티미디어 데이터를 표시하는 방법으로는 DVD 플레이어와 같이 압축되어 저장 매체에 기록된 데이터를 직접 읽어서 표시하는 방법과 망을 통하여 원격지로부터 수신한 멀티미디어 데이터를 표시하는 경우가 있다. 이때, DVD 플레이어와 같이 직접 데이터를 읽어서 표시하는 경우에는 DVD 플레이어의 시간 계수와 데이터에 포함된 시간 계수를 참조하여 여러 데이터를 동기화하기 위한 제어가 필요하다. 예를 들어, MPEG 표준에서는 데이터를 압축한 후 압축된 데이터에 데이터 표시 시간을 추가하도록 권고하고 있으며, 이러한 표시 시간 정보를 사용하여 데이터를 동기화하여 표시할 수 있다. As a method of displaying such multimedia data, there may be a method of directly reading and displaying data compressed and stored in a storage medium, such as a DVD player, and displaying multimedia data received from a remote place through a network. In this case, when reading and displaying data directly, such as a DVD player, it is necessary to control the synchronization of various data by referring to the time coefficient of the DVD player and the time coefficient included in the data. For example, the MPEG standard recommends adding data display time to the compressed data after compressing the data. The display time information can be used to display data in synchronization.

이와 관련하여, 일본 공개 특허 평7-50818호에서는 오디오 마스터 시스템을 사용하여 데이터를 동기화하는 방법에 대하여 기술하였고, 대한민국 특허출원 제1997-0039290호에서는 데이터 압축기의 시스템 클록과 데이터 압축 해제기의 내부 클록 주파수가 다른 경우에 발생하는 비동기화를 해결하는 방법에 대하여 기술하였다. 이러한 종래기술에서는 압축 해제기의 내부 클록과 데이터의 표시 시간을 비교하여 그 차이가 일정 범위 이내이면 데이터를 표시하고 일정 범위 이상이면 표시하지 않고, 각 데이터를 재생한 후 압축 해제기의 내부 클록을 재생한 데이터의 표시 시간을 참조하여 시스템의 상태에 따라 보정함으로써 데이터 동기화를 실현하였다. 이러한 방법은 압축 해제기에 데이터가 일정 간격으로 지속적으로 입력되는 경우를 가정한 상태에서 적용되는 것이다. In this regard, Japanese Patent Laid-Open No. 7-50818 describes a method of synchronizing data using an audio master system, and Korean Patent Application No. 1997-0039290 discloses a system clock of a data compressor and an internal part of a data decompressor. A method of solving the asynchronous that occurs when the clock frequencies are different has been described. In the prior art, the internal clock of the decompressor is compared with the display time of the data, and if the difference is within a certain range, the data is displayed. Data synchronization is realized by correcting according to the state of the system with reference to the display time of the reproduced data. This method is applied under the assumption that data is continuously input to the decompressor at regular intervals.

그런데, 망을 통하여 원격지로부터 멀티미디어 데이터를 수신하는 경우에는 데이터가 전달되는 경로가 각각 다를 수 있고, 각 데이터가 수신되는 망의 상태에 따라 전달 시간도 다르다. 따라서, 데이터가 압축 해제기에 도달하는 시간이 일정하지 않고, 데이터를 저장 매체로부터 읽어서 표시하는 경우보다 데이터에 포함된 시간 계수의 차이가 클 수 있다. 즉, 망 상태가 양호한 경우에는 시간 계수의 차이가 작고, 망 상태가 양호하지 않은 경우에는 멀티미디어 데이터가 유실되거나 지연될 수 있다. 이처럼 망 상태는 가변적이므로 데이터의 수신 상태도 이에 따라 시간적으로 변화한다. However, when multimedia data is received from a remote place through a network, a path through which data is transmitted may be different from each other, and a transmission time may also vary depending on a state of a network where each data is received. Therefore, the time at which the data reaches the decompressor is not constant, and the difference in the time coefficient included in the data may be larger than when the data is read from the storage medium and displayed. That is, the difference in time coefficients is small when the network state is good, and multimedia data may be lost or delayed when the network state is not good. As such, since the network state is variable, the reception state of data also changes in time.

한편, 압축 해제기에 일정한 간격으로 데이터를 입력하기 위하여 버퍼에 데이터를 저장하는 방법을 사용할 수 있으나, 이러한 방법은 영상 채팅과 같이 상호 작용이 필요한 상황에서는 데이터를 버퍼에 보관하는 시간에 제약이 따른다.Meanwhile, a method of storing data in a buffer may be used to input data at regular intervals to the decompressor. However, such a method has a limitation in time for storing data in a buffer in a situation where interaction is required such as video chatting.

따라서, 본 발명이 이루고자 하는 기술적 과제는 화상 및 음성을 사용하는 멀티미디어 회의에서 참가자의 다양한 하드웨어 환경 및 망 환경으로 인하여 발생하는 데이터의 비동기화 및 지연을 해결하는 방법을 제공하는 것이다.Accordingly, an aspect of the present invention is to provide a method for resolving asynchronous and delayed data caused by various hardware and network environments of participants in a multimedia conference using video and voice.

이러한 과제를 해결하기 위한 본 발명의 특징에 따른 데이터 동기화 방법은 송신기에서 전송한 화상 또는 음성에 관한 데이터를 수신기가 네트워크 망으로부터 수신하여 동기화하는 방법으로서, a) 상기 네트워크 망으로부터 상기 데이터를 패킷 단위로 수신하여, 상기 패킷에 포함된 시간계수 정보로부터 상기 데이터가 재생되어야 하는 시간을 산출하는 단계; b) 상기 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이를 계산하여 가변 임계치를 계산하는 단계; c) 상기 패킷의 수신 이력을 저장하고, 상기 데이터의 처리 방법을 결정하는 단계; 및 d) 상기 처리 방법에 따라 데이터를 재생하여 출력하는 단계를 포함한다.본 발명의 한 특징에 따른 기록매체는 송신기에서 전송한 화상 또는 음성에 관한 데이터를 수신기가 네트워크 망으로부터 수신하여 동기화하는 기능을 수행하도록 컴퓨터에 의하여 실행 가능한 명령으로 구성된 프로그램을 유형적으로 구체화한 기록 매체로서, a) 상기 네트워크 망으로부터 상기 데이터를 패킷 단위로 수신하여, 상기 패킷에 포함된 시간계수 정보로부터 상기 데이터가 재생되어야 하는 시간을 산출하는 기능; b) 상기 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이를 계산하여 가변 임계치를 계산하는 기능; c) 상기 패킷의 수신 이력을 저장하고, 상기 데이터의 처리 방법을 결정하는 기능; 및 d) 상기 처리 방법에 따라 데이터를 재생하여 출력하는 기능을 포함한다.A data synchronization method according to an aspect of the present invention for solving the above problems is a method for a receiver to receive data and video data transmitted from a transmitter from the network network to synchronize the data, a) packet-based data from the network Calculating a time at which the data should be reproduced from the time coefficient information included in the packet; b) calculating a variable threshold by calculating a difference between a time at which the data is to be reproduced and a current time coefficient of the receiver; c) storing a reception history of the packet and determining a method of processing the data; And d) reproducing and outputting data according to the processing method. A recording medium according to an aspect of the present invention has a function of receiving and synchronizing data related to an image or audio transmitted from a transmitter by a receiver from a network. A recording medium tangibly embodying a program consisting of instructions executable by a computer to perform a), comprising: a) receiving the data from the network in units of packets and reproducing the data from time coefficient information contained in the packet; A function of calculating the time to make; b) calculating a variable threshold by calculating a difference between a time at which the data is to be reproduced and a current time coefficient of the receiver; c) storing a reception history of the packet and determining a method of processing the data; And d) a function of reproducing and outputting data according to the processing method.

삭제delete

삭제delete

삭제delete

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위하여서 설명과 관계없는 부분은 생략하였다. 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention. Like parts are designated by like reference numerals throughout the specification.

먼저, 본 발명의 실시예에 따른 데이터 동기화 방법에 대하여 도 1을 참고로 하여 상세하게 설명한다.First, a data synchronization method according to an embodiment of the present invention will be described in detail with reference to FIG. 1.

도 1은 본 발명의 실시예에 따른 데이터 동기화 방법이 적용되는 환경의 예를 나타낸 것이다.1 shows an example of an environment to which a data synchronization method according to an embodiment of the present invention is applied.

도 1에 나타낸 바와 같이, 본 발명의 실시예에 따른 데이터 동기화 방법은 송신기(100)와 수신기(200)가 네트워크 망(300)을 통하여 연결되는 환경에 적용된다.As shown in FIG. 1, the data synchronization method according to an embodiment of the present invention is applied to an environment in which a transmitter 100 and a receiver 200 are connected through a network 300.

송신기(100)는 음성을 입력받는 마이크(110), 화상을 입력받는 카메라(120), 마이크(110)와 카메라(120)를 통하여 입력된 음성 및 화상 데이터를 저장하는 캡처 모듈(130), 캡처 모듈(130)에 저장된 데이터에 대한 시간 계수를 지정하는 TS(Time Stamp)설정 모듈(140), 음성 및 화상 데이터를 압축하는 인코딩 모듈(150) 및 데이터를 패킷 단위로 구성하여 네트워크 망(300)으로 보내는 송신 모듈(160)을 포함한다.The transmitter 100 includes a microphone 110 for receiving a voice, a camera 120 for receiving an image, a capture module 130 for storing voice and image data input through the microphone 110 and the camera 120, and a capture. The TS (Time Stamp) setting module 140 for designating a time coefficient for data stored in the module 130, the encoding module 150 for compressing voice and image data, and the data are configured in packet units, and the network 300 Sending module 160 to send to.

수신기(200)는 네트워크 망(300)으로부터 패킷을 수신하는 수신 모듈(210), 수신한 패킷에 첨부된 시간 계수를 처리하는 TS(Time Stamp)해석 모듈(220), 압축된 데이터를 디코딩하는 디코딩 모듈(230), 음성 및 화상 데이터를 재생하는 재생 모듈(240) 및 음성 데이터와 화상 데이터를 각각 재생하기 위한 스피커(250)와 디스플레이 장치(260)를 포함한다.The receiver 200 receives a packet from the network 300, a receiving module 210, a TS (Time Stamp) interpretation module 220 processing a time coefficient attached to the received packet, and decoding decoding the compressed data. A module 230, a reproducing module 240 for reproducing voice and image data, a speaker 250 and a display device 260 for reproducing voice data and image data, respectively.

다음, 도 2 내지 도 4를 참조하여 본 발명의 실시예에 따른 데이터 동기화 방법이 적용되는 네트워크 환경에서 데이터가 송수신되는 과정을 자세하게 설명한다. Next, a process of transmitting and receiving data in a network environment to which a data synchronization method according to an embodiment of the present invention is applied will be described in detail with reference to FIGS. 2 to 4.

도 2는 송신기를 통하여 데이터가 송신되는 과정을 나타낸 것이며, 도 4는 수신기를 통하여 데이터가 수신되는 과정을 나타낸 것이다. 2 illustrates a process of transmitting data through a transmitter, and FIG. 4 illustrates a process of receiving data through a receiver.

먼저, 도 2에 도시된 바와 같이 송신기(100)의 마이크(110)와 카메라(120)를 통하여 화상 및 음성 데이터가 입력되고, 캡처 모듈(130)에서 화상 및 음성 데이터가 캡처되며, TS 설정 모듈(140)은 송신기(100)에서 관리하는 시간 계수기로부터 시간 계수를 읽어서 캡처된 데이터에 대한 시간 계수를 설정한다(S200~S210). 이때, 캡처된 음성 패킷에 대한 시간 계수는 사용자의 음성이 입력된 시간을 나타내고, 화상 패킷에 대한 시간 계수는 사용자의 이미지가 촬영된 시간을 나타낸다. 이러한 시간 계수는 송신기(100)에서 표준시간과 무관하게 관리하는 정보이므로 수신기(200)에서 관리하는 시간 계수와 동기화 되어있지 않다. First, as shown in FIG. 2, image and audio data are input through the microphone 110 and the camera 120 of the transmitter 100, the image and audio data are captured by the capture module 130, and the TS setting module. 140 reads the time coefficient from the time counter managed by the transmitter 100 and sets the time coefficient for the captured data (S200 to S210). At this time, the time coefficient for the captured voice packet indicates the time when the user's voice is input, and the time coefficient for the image packet indicates the time when the user's image is captured. Since the time coefficient is information managed regardless of the standard time in the transmitter 100, the time coefficient is not synchronized with the time coefficient managed in the receiver 200.

한편, 캡처된 데이터는 인코딩 모듈(150)에서 압축되고, 송신 모듈(160)은 압축된 데이터를 하나의 패킷으로 구성하거나 여러 개의 패킷으로 쪼갠 후, TS 설정 모듈(140)에서 지정한 시간 계수 정보를 각 패킷에 첨부하여 네트워크 망(300)으로 전송한다(S220~S240). Meanwhile, the captured data is compressed by the encoding module 150, and the transmission module 160 configures the compressed data into one packet or splits the data into several packets, and then decodes the time coefficient information designated by the TS setting module 140. Attach to each packet and transmit to the network (300) (S220 ~ S240).

이때, 시간 계수가 첨부되어 네트워크 망(300)을 통하여 전달되는 데이터의 형식은 도 3과 같다. At this time, the format of the data transmitted through the network 300 is attached to the time coefficient is shown in FIG.

즉, 네트워크 망(300)에서 화상 또는 음성에 관한 데이터를 전달하기 위하여 필요한 여러 가지 헤더가 붙고, 실제 화상 및 음성 데이터 앞에는 시간 계수 정보가 첨부된다. 이때, 네트워크 망(300)에서 데이터를 전달하기 위하여 필요한 헤더에는 IP(Internet Protocol) 헤더, TCP(Transmission Control Protocol) 헤더, UDP(User Daragram Protocol) 헤더, RTP(Real-time Transport Protocol) 헤더 등이 포함된다. That is, various headers necessary for transmitting data related to video or audio in the network 300 are attached, and time coefficient information is attached to the actual video and audio data. In this case, the header required to transmit data in the network 300 includes an Internet Protocol (IP) header, a Transmission Control Protocol (TCP) header, a User Daragram Protocol (UDP) header, a Real-time Transport Protocol (RTP) header, and the like. Included.

한편, 이들 헤더에는 시간 계수 정보가 더 포함될 수 있다. 그러나, 헤더에 포함된 시간 계수는 해당 화상 또는 음성에 관한 데이터에 헤더가 추가된 시간을 나타내는 시간 계수이므로 정확하지 않아서 이것을 사용하는 것은 바람직하지 않다. Meanwhile, these headers may further include time count information. However, since the time coefficient included in the header is a time coefficient representing the time when the header is added to the data related to the video or audio, it is not accurate and it is not preferable to use this.

이렇게 네트워크 망(300)을 통하여 전송되는 데이터는 수신기(200)를 통하여 수신된다.The data transmitted through the network 300 is received through the receiver 200.

즉, 도 4에 도시된 바와 같이 먼저 수신기(300)의 수신 모듈(210)에서 네트워크 망(300)으로부터 패킷를 수신한다(S400). 그리고, TS 해석 모듈(220)은 수신한 패킷에 포함된 시간 계수 정보를 참조하여 해당 패킷에 포함된 데이터가 재생되어야 하는 시간을 산출하고, 데이터가 재생되어야 하는 시간 계수와 수신기의 현재 시간계수의 차이를 계산하여 가변 임계치를 계산한다(S410). 그리고, 패킷 수신 이력을 저장하고, 해당 패킷에 포함된 데이터의 처리 방법을 결정한 후(S420~S430), 디코딩 모듈(230)에서 디코딩하고 재생모듈(240)을 통하여 데이터를 재생하며, 최종적으로 스피커(250)와 디스플레이 장치(260)를 통하여 출력한다(S440~S450).That is, as shown in FIG. 4, the reception module 210 of the receiver 300 first receives a packet from the network 300 (S400). Then, the TS analysis module 220 calculates the time at which the data included in the packet should be reproduced by referring to the time coefficient information included in the received packet, and compares the time coefficient at which the data should be reproduced with the current time coefficient of the receiver. The variable threshold is calculated by calculating the difference (S410). After storing the packet reception history, determining a method of processing data included in the corresponding packet (S420 to S430), decoding is performed by the decoding module 230, and data is reproduced through the playback module 240. Output through the 250 and the display device 260 (S440 ~ S450).

한편, 각 데이터의 처리 방법을 결정하기 위해서는 각 패킷이 포함하는 시간 계수, 각 데이터가 재생되어야 하는 시간 계수와 수신기의 현재 시간 계수와의 차이, 가변 임계치 및 패킷 수신 이력에 대한 정보가 필요하다.Meanwhile, in order to determine a method of processing each data, information about a time coefficient included in each packet, a difference between a time coefficient at which each data is to be reproduced and a current time coefficient of the receiver, a variable threshold value, and a packet reception history are required.

다음으로, 데이터가 재생되어야 하는 시간 계수를 산출하기 위하여, 수신기(200)의 TS 해석 모듈(220)은 처음 수신한 패킷에 포함된 시간 계수와 수신기(200)가 관리하는 시간 계수기의 시간 계수와의 차이를 계산하여 저장한다. 이렇게 저장된 차이값은 송신기(100)의 시간 계수와 수신기(200)의 시간 계수를 동기화할 때 사용되며, 이 차이값은 음수, 0 또는 양수값을 가진다. Next, in order to calculate the time coefficient at which the data should be reproduced, the TS analysis module 220 of the receiver 200 includes the time coefficient included in the first received packet, the time coefficient of the time counter managed by the receiver 200, and Calculate and store the difference. The difference value stored in this way is used when synchronizing the time coefficient of the transmitter 100 and the time coefficient of the receiver 200, and the difference value has a negative value, a zero value, or a positive value.

삭제delete

이때, 첫 번째 수신한 패킷이 화상 데이터에 관한 것이면, 시간 계수의 차이값은 다음 식에 의하여 계산된다.At this time, if the first received packet relates to image data, the difference value of the time coefficient is calculated by the following equation.

TS0_diff = TSv0’- TSv0TS0_diff = TSv0’- TSv0

위의 식에서 TS0_diff는 송신기(100)와 수신기(200)의 시간 계수기의 차이이고, TSv0’는 화상 데이터에 관한 패킷을 처음 수신했을 때 상기 수신기가 관리하는 시간 계수기의 시간 계수이며, TSv0는 화상 데이터에 관한 처음 수신한 패킷에 포함된 시간 계수이다.In the above formula, TS0_diff is the difference between the time counters of the transmitter 100 and the receiver 200, TSv0 'is the time coefficient of the time counter managed by the receiver when a packet relating to image data is first received, and TSv0 is image data. The coefficient of time included in the first received packet for.

또한, 첫 번째 수신한 패킷이 음성 데이터에 관한 것이면, 시간 계수의 차이값은 다음 식에 의하여 계산된다.In addition, if the first received packet relates to voice data, the difference value of the time coefficient is calculated by the following equation.

TS0_diff = TSa0’- TSa0TS0_diff = TSa0’- TSa0

위의 식에서 TS0_diff는 송신기(100)와 수신기(200)의 시간계수기 차이이고, TSa0’는 음성 데이터에 관한 패킷을 처음 수신했을 때 상기 수신기가 관리하는 시간 계수기의 시간 계수이며, TSa0는 음성 데이터에 관한 처음 수신한 패킷에 포함된 시간 계수이다. In the above formula, TS0_diff is a time counter difference between the transmitter 100 and the receiver 200, TSa0 'is a time coefficient of a time counter managed by the receiver when a packet related to voice data is first received, and TSa0 is a time counter. The time coefficient contained in the first received packet.

즉, TS0_diff 값은 패킷의 종류와 무관하게 먼저 도착한 패킷을 사용하여 계산하며, 이렇게 계산된 TS0_diff과 도착한 패킷에 첨부된 시간 계수를 사용하여 송신기(100)의 시간 계수기와 수신기(200)의 시간 계수기를 동기화할 수 있다. That is, the TS0_diff value is calculated by using the packet that arrived first regardless of the type of packet, and the time counter of the transmitter 100 and the time counter of the receiver 200 are calculated using the TS0_diff and the time coefficient attached to the arrived packet. Can be synchronized.

한편, 송신기(100)에서 음성 데이터가 먼저 캡처되었으나 수신기(200)에서 화상 데이터에 관한 패킷을 먼저 수신한 경우, 이후 수신한 음성 데이터는 재생되어야 할 시간이 지난 상태가 될 수 있으나, 이것은 데이터 처리 방법을 결정할 때 문제되지 않는다.On the other hand, when the voice data is first captured by the transmitter 100 but the packet about the image data is first received by the receiver 200, the received voice data may be out of time to be reproduced. It doesn't matter when deciding how.

첫 번째 이후 수신되는 화상 데이터들이 재생되어야 하는 시간 계수는 다음 식에 의해 계산된다. The time coefficient at which image data received after the first time should be reproduced is calculated by the following equation.

TSvn_play = TSvn + TS0_diffTSvn_play = TSvn + TS0_diff

위의 식에서 TSvn_play는 n번째 패킷에 포함된 화상 데이터가 재생되어야 하는 시간이고, TSvn는 n번째 패킷에 포함된 화상 데이터와 관련된 시간 계수이며, TS0_diff는 송신기와 수신기의 시간 계수기 차이이다.In the above equation, TSvn_play is the time at which the picture data contained in the nth packet should be played, TSvn is the time coefficient associated with the picture data contained in the nth packet, and TS0_diff is the difference between the time counters of the transmitter and the receiver.

또한, 첫 번째 이후 수신되는 음성 데이터들이 재생되어야 하는 시간 계수는 다음 식에 의해 계산된다.Also, the time coefficient at which voice data received after the first time should be reproduced is calculated by the following equation.

TSan_play = TSan + TS0_diffTSan_play = TSan + TS0_diff

TSan_play는 n번째 패킷에 포함된 음성 데이터가 재생되어야 하는 시간이고, TSan은 n번째 패킷에 포함된 음성 데이터와 관련된 시간 계수이며, TS0_diff는 송신기와 수신기의 시간계수기 차이이다.TSan_play is the time at which the voice data contained in the nth packet should be played, TSan is the time coefficient associated with the voice data contained in the nth packet, and TS0_diff is a time counter difference between the transmitter and the receiver.

수신한 화상 데이터가 재생되어야 하는 시간 계수와 수신기의 현재 시간 계수와의 차이는 다음 식에 의해 계산된다.The difference between the time coefficient at which the received image data should be reproduced and the current time coefficient of the receiver is calculated by the following equation.

TSvn_offset = abs(TSvn_play - TSvn') = abs((TSvn - TSvn') + TS0_diff)TSvn_offset = abs (TSvn_play-TSvn ') = abs ((TSvn-TSvn') + TS0_diff)

위의 식에서, TSvn_offset는 n번째 패킷에 포함된 화상 데이터가 재생되어야 하는 시간과 해당 n번째 패킷을 수신했을 때의 수신기가 관리하는 시간 계수기의 시간 계수와의 차이이고, TSvn'는 화상 데이터에 관한 n번째 패킷을 수신했을 때 수신기가 관리하는 시간 계수기의 시간 계수이고, TSvn는 n번째 패킷에 포함된 시간 계수이며, TS0_diff는 송신기와 수신기의 시간 계수기 차이이다. 또한, abs(x)는 x의 절대값을 의미한다.In the above equation, TSvn_offset is the difference between the time at which the image data contained in the nth packet is to be reproduced and the time coefficient of the time counter managed by the receiver when the nth packet is received, and TSvn 'is related to the image data. When the n-th packet is received, the time coefficient of the time counter managed by the receiver, TSvn is the time coefficient included in the n-th packet, and TS0_diff is the time counter difference between the transmitter and the receiver. In addition, abs (x) means the absolute value of x.

수신한 음성 데이터가 재생되어야 하는 시간 계수와 수신기의 현재 시간 계수와의 차이는 다음 식에 의해 계산된다.The difference between the time coefficient at which the received voice data should be reproduced and the current time coefficient of the receiver is calculated by the following equation.

TSan_offset = abs(TSan_play - TSan') = abs((TSan - TSan') + TS0_diff)TSan_offset = abs (TSan_play-TSan ') = abs ((TSan-TSan') + TS0_diff)

위의 식에서, TSan_offset는 n번째 패킷에 포함된 음성 데이터가 재생되어야 하는 시간과 해당 n번째 패킷을 수신했을 때의 수신기가 관리하는 시간 계수기의 시간 계수와의 차이이고, TSan'는 음성 데이터에 관한 n번째 패킷을 수신했을 때 수신기가 관리하는 시간 계수기의 시간 계수이고, TSan는 n번째 패킷에 포함된 시간 계수이며, TS0_diff는 송신기와 수신기의 시간 계수기 차이이다. 또한, abs(x)는 x의 절대값을 의미한다.In the above equation, TSan_offset is the difference between the time that the voice data contained in the nth packet should be reproduced and the time coefficient of the time counter managed by the receiver when the nth packet is received, and TSan 'is related to the voice data. When n-th packet is received, it is time coefficient of time counter managed by receiver, TSan is time coefficient included in n-th packet, and TS0_diff is time counter difference between transmitter and receiver. In addition, abs (x) means the absolute value of x.

도 5는 이러한 각 계수의 계산 방법을 도시한 것이다.5 shows a method of calculating each of these coefficients.

한편, 패킷 수신 이력에 대한 정보는 네 개의 데이터 계수기(Cnormal, Caffordable, Cabnormal 및 Cdisused)를 사용하여 표시하며, 각 데이터 계수기의 값은 도 6의 도표를 사용하여 계산한다. 데이터 계수기는 각 데이터에 대해 관리된다. 즉, 데이터가 화상과 음성일 경우, 데이터 계수기는 화상용 데이터 계수기와 음성용 데이터 계수기가 각각 관리된다.On the other hand, information on the packet reception history is displayed using four data counters (Cnormal, Caffordable, Cabnormal and Cdisused), the value of each data counter is calculated using the chart of FIG. Data counters are maintained for each data. In other words, when the data are image and audio, the data counter is managed by the image data counter and the audio data counter respectively.

각 데이터 계수기의 값은 최근 수신한 Cmax개의 데이터 중, TSvn_offset(또는 TSan_offset)이 각 범위에 해당하는 데이터의 수이다. Cmax가 10인 경우 각 데이터 계수기의 값에 10을 곱하면 백분율이 된다. The value of each data counter is the number of data whose TSvn_offset (or TSan_offset) corresponds to each range among the recently received Cmax data. If Cmax is 10, multiply the value in each data counter by 10 to get a percentage.

각 계수기의 값은 패킷을 수신할 때마다 변경하거나 데이터가 모두 수신한 시점에서 변경할 수 있다. 음성 데이터의 경우, 일정한 시간 간격으로 음성 압축을 하므로 시간 간격이 길 경우에는 송신기(100)의 송신 모듈(160)에서 압축된 음성이 여러 개의 패킷으로 분리될 수 있으며, 시간 간격이 작을 경우에는 하나의 음성 패킷으로 전송될 수 있다. 또한, 화상 데이터의 경우, 움직임이 많은 경우에는 압축된 데이터는 크기가 크고, 움직임이 거의 없는 경우에는 압축된 데이터의 크기가 작다. 그러므로, 데이터 계수기의 값은 한 장의 화상이 모두 도착했을 때 변경하거나 화상 패킷을 수신할 때마다 변경할 수 있다. 이렇게 계수기를 변경하는 시점에 따라 각 데이터 계수기가 가지는 의미가 변경된다.The value of each counter can be changed each time a packet is received or changed at the point when all the data has been received. In the case of voice data, since the voice is compressed at regular time intervals, when the time interval is long, the compressed voice in the transmission module 160 of the transmitter 100 may be separated into multiple packets. It can be transmitted in the voice packet of. In the case of image data, the compressed data is large when there is a lot of motion, and the compressed data is small when there is little motion. Therefore, the value of the data counter can be changed every time one picture arrives or every time an image packet is received. The meaning of each data counter changes according to the time point at which the counter is changed.

한편, 화상 또는 음성에 관한 데이터의 처리 방법을 결정할 때에는 패킷 수신 이력을 나타내는 데이터 계수기 중 Caffordable과 Cabnormal의 값만을 사용하므로, Cnormal과 Cdisused을 제외한 Caffordable과 Cabnormal의 값만을 저장할 수 있다.On the other hand, when determining the data or audio data processing method, since only the values of Caffordable and Cabnormal among data counters indicating packet reception history are used, only the values of Caffordable and Cabnormal except Cnormal and Cdisused can be stored.

이때, 데이터 계수기Caffordable과 Cabnormal 계산은 도 7을 사용한다.  At this time, the data counter Caffordable and Cabnormal calculation uses FIG.

또한, 수신한 데이터의 처리 방법을 결정할 때 참조하는 임계값은 THabnormal(비정상 시간계수 임계치), THaffordable(가용 시간계수 임계치), THnormal(정상 시간계수 임계치)의 세 가지가 있다. 임계값은 각 데이터에 대해 관리될 수 있다. 즉, 데이터가 화상과 음성일 경우, 임계값은 화상용 임계값과 음성용 임계값이 각각 관리될 수 있다.In addition, there are three threshold values that are referred to when determining the method of processing the received data: THabnormal (abnormal time coefficient threshold), THaffordable (available time coefficient threshold), and THnormal (normal time coefficient threshold). Thresholds can be managed for each data. In other words, when the data are image and audio, the threshold may be managed by the image threshold and the audio threshold, respectively.

이 중 THnormal는 가변 임계값을 가질 수 있으며, 네트워크 망(300)의 상태와 CPU의 성능이 좋을 경우에는 THnormal을 작은 값으로 하여 화상 데이터와 음성 데이터의 동기화를 더욱 정확하게 할 수 있다. THnormal값은 최근 수신한 패킷의 TSvn_offset(또는 TSan_offset)값을 저역 통과 필터에 통과시켜서 결정한다. 이는 수신한 TSvn_offset(또는 TSan_offset)의 THnormal값에 대한 변화 비율을 감쇄시켜서 급격한 THnormal 값 변동을 방지하기 위한 것이다.THnormal may have a variable threshold value, and when the state of the network 300 and the CPU performance are good, THnormal may be set to a small value to more accurately synchronize image data and audio data. The THnormal value is determined by passing a TSvn_offset (or TSan_offset) value of a recently received packet through a low pass filter. This is to prevent a sudden change in the THnormal value by attenuating the rate of change with respect to the THnormal value of the received TSvn_offset (or TSan_offset).

THnormal값은 다음 식에 의하여 계산된다.THnormal value is calculated by the following equation.

THnormal = L*TSvn_offset + (1-L)*THnormal (n번째 패킷이 화상 데이터에 관한 것인 경우) THnormal = L*TSan_offset + (1-L)*THnormal (n번째 패킷이 음성 데이터에 관한 것인 경우) THnormal = L * TSvn_offset + (1-L) * THnormal (if nth packet is about image data) THnormal = L * TSan_offset + (1-L) * THnormal (if nth packet is about voice data)

위의 식에서 TSvn_offset는 n번째 화상 패킷에 포함된 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이이고, TSan_offset는 n번째 음성 패킷에 포함된 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이이며, L은 저역 통과 필터의 상수(0<L<1)이고, THnormal의 값은 THnormal_min보다 크거나 같고 THnormal_max보다 작거나 같은 값이며, THnormal_min과 THnormal_max은 상수이다.In the above formula, TSvn_offset is the difference between the time when the data contained in the nth picture packet should be reproduced and the current time coefficient of the receiver, and TSan_offset is the time when the data contained in the nth voice packet should be reproduced and the present time of the receiver. Difference from the time coefficient, L is the constant of the low pass filter (0 <L <1), the value of THnormal is greater than or equal to THnormal_min and less than or equal to THnormal_max, and THnormal_min and THnormal_max are constant.

삭제delete

THnormal 이외의 임계값들은 고정값을 가지며, 수신한 데이터의 처리 방법을 결정하고, 도 7에서 기술한 바와 같이 패킷 수신 이력을 수정할 때 참조된다. THaffordable은 수십 ~ 수백 밀리초 범위의 값을 가질 수 있고, THabnormal은 수백 ~ 수천 밀리초의 값을 가질 수 있다.Threshold values other than THnormal have a fixed value and are referenced when determining a method of processing received data and modifying the packet reception history as described in FIG. THaffordable can range from tens to hundreds of milliseconds, and THabnormal can range from hundreds to thousands of milliseconds.

한편, 화상 또는 음성에 관한 데이터의 처리 방법은 다음과 같은 과정에 의하여 도 8에 따라 결정한다. On the other hand, the method of processing data relating to an image or sound is determined according to FIG. 8 by the following procedure.

도 8에 도시된 바와 같이, 먼저 수신한 패킷을 저장한 FIFO 버퍼로부터 패킷을 추출하고(이때, FIFO 버퍼로부터 패킷을 삭제하지는 않는다), 추출한 패킷에 포함된 시간 계수와 수신기(200)의 현재 시간 계수와의 차이(TSvn_offset 또는 TSan_offset)를 계산한다. 이 값이 THnormal보다 작으면 데이터 계수기의 값에 관계없이 수신한 패킷을 FIFO 버퍼로부터 삭제한 후 수신기의 디코딩 모듈(230)에 전달한다. As shown in FIG. 8, the packet is first extracted from the FIFO buffer storing the received packet (in this case, the packet is not deleted from the FIFO buffer), and the time count included in the extracted packet and the current time of the receiver 200 are shown. Calculate the difference between the coefficients (TSvn_offset or TSan_offset). If the value is smaller than THnormal, the received packet is deleted from the FIFO buffer and transmitted to the decoding module 230 of the receiver regardless of the value of the data counter.

또한, 추출한 패킷의 TSvn_offset(또는 TSan_offset)값이 THnormal보다 크거나 같으면서 THaffordable보다 작은 경우, 데이터 계수기 Caffordable의 값이 P1보다 작으면 추출한 패킷을 디코딩 모듈(230)에 전달하고, 데이터 계수기 Caffordable의 값(C)이 정상 패킷 이력 임계치인 P1보다 크면 디코딩 모듈(230)로 전달하지 않고 대기 상태를 유지하다가, 이후 새로운 패킷이 도착할 때 다시 비교된다. 즉, 전체 패킷 수신 이력에 대한 Caffordable의 분포가 P1보다 크면 데이터를 대기 상태로 유지한다. P1은 시간 계수 차이가 THnormal보다 크거나 같고 THaffordable보다 작은 데이터를 처리하는 방법을 결정할 때 사용하는 수신 이력에 대한 임계치로서, 네트워크 망 상태가 일시적으로 불량하여 지연된 데이터를 지연시키지 않고, 바로 재생하는 기능을 부여하기 위한 값이다.If the TSvn_offset (or TSan_offset) value of the extracted packet is greater than or equal to THnormal and smaller than THaffordable, if the value of the data counter Caffordable is smaller than P1, the extracted packet is transmitted to the decoding module 230, and the value of the data counter Caffordable ( If C) is greater than P1, the normal packet history threshold, it is not delivered to the decoding module 230 but remains in a waiting state, and then compared again when a new packet arrives. That is, if the distribution of the Caffordable for the entire packet reception history is larger than P1, the data is kept in a standby state. P1 is a threshold for the reception history used to determine how to process data whose time coefficient difference is greater than or equal to THnormal and smaller than THaffordable. The P1 function is a function of reproducing the data immediately without delaying the delayed data due to temporary poor network conditions. Value to give.

이때, 새로운 패킷이 장시간 도착하지 않으면, 화상데이터는 이전에 수신한 화상 데이터를 디코딩한 이미지를 화면에 재생한 상태로 지속하고, 음성 데이터는 재생이 이루어지지 않는다. 장시간 경과한 후 새로운 패킷이 도착하면, 도 8에 표시된 방법에 따라 데이터의 처리 방법을 결정한다. 이때, 추출한 패킷의 시간 계수와 수신기의 현재 시간 계수와의 차이(TSvn_offset 또는 TSan_offset)가 THabnormal 보다 크면 추출한 패킷에 포함된 데이터는 재생할 의미를 잃은 데이터이므로 폐기된다. THaffordable의 값은 수십 ~ 수백 밀리초 범위에 포함된다.At this time, if a new packet does not arrive for a long time, the image data is continued while the image decoded previously received image data is reproduced on the screen, and the audio data is not reproduced. If a new packet arrives after elapse of a long time, the method for processing data is determined according to the method shown in FIG. At this time, if the difference between the time coefficient of the extracted packet and the current time coefficient of the receiver (TSvn_offset or TSan_offset) is larger than THabnormal, the data included in the extracted packet is discarded because it is meaningless to reproduce. The value of THaffordable is in the range of tens to hundreds of milliseconds.

한편, 추출한 패킷의 TSvn_offset(또는 TSan_offset) 값이 THaffordable보다 크거나 같으면서 THabnormal보다 작은 경우, 데이터 계수기Cabnormal의 값이 P2보다 작으면 추출한 패킷을 디코딩 모듈(230)로 전달하지 않고, 데이터 계수기 Cabnormal의 값이 가용 패킷 이력 임계치인 P2보다 크면 디코딩 모듈(230)로 전달한다. P2는 시간 계수 차이가 THaffordable보다 크거나 같고 THabnormal보다 작은 데이터를 처리하는 방법을 결정할 때 사용하는 수신 이력에 대한 임계치이다. On the other hand, if the TSvn_offset (or TSan_offset) value of the extracted packet is greater than or equal to THaffordable and less than THabnormal, if the value of the data counter Cabnormal is less than P2, the extracted packet is not delivered to the decoding module 230, and the value of the data counter Cabnormal is If greater than the available packet history threshold P2, it passes to the decoding module 230. P2 is a threshold for the reception history used to determine how to process data whose time coefficient difference is greater than or equal to THaffordable and less than THabnormal.

이처럼 추출한 패킷을 수신기의 디코딩 모듈(230)에 전달하는 것은 비교 당시 THabnormal 값보다 큰 TSvn_offset(또는 TSan_offset)를 가지는 패킷이 최근 수신한 Cmax개의 패킷 중 Cabnormal개인 경우에 선택되는 방법으로서, 화상 데이터와 음성 데이터의 동기화가 불가능한 경우이다. 이때, THabnormal의 값은 수백~수천 밀리초일 수 있다. Delivering the extracted packet to the decoding module 230 of the receiver is selected when the packet having a TSvn_offset (or TSan_offset) larger than the THabnormal value at the time of comparison is Cabnormal among the recently received Cmax packets. This is the case when data is not synchronized. At this time, the value of THabnormal may be several hundreds to thousands of milliseconds.

한편, 추출한 패킷의 TSvn_offset(또는 TSan_offset)값이 THabnormal보다 큰 경우에는 회의에서 의미 없는 데이터로 간주하여 폐기한다. On the other hand, if the TSvn_offset (or TSan_offset) value of the extracted packet is larger than THabnormal, it is regarded as meaningless data in the conference and discarded.

위에서 데이터의 처리방법을 결정하는 TSvn_offset(또는 TSan_offset) 값은 송신기(100)의 상태와 네트워크 망(300)의 상태에 따라 가변적이다. The TSvn_offset (or TSan_offset) value, which determines a method of processing data, is variable according to the state of the transmitter 100 and the state of the network 300.

예를 들어, 송신기가 개인용 컴퓨터이고 화상회의 소프트웨어와 다른 CPU를 많이 사용하는 프로그램(MS인터넷 익스플로러의 플래쉬 화면 처리 프로그램 등)을 사용하는 경우, CPU 사용량은 100%가 되고 프로세스 우선 순위에 따라 소프트웨어가 사용하는 CPU 시간이 제한되므로, 화상 데이터를 캡처하고 송신 모듈(160)에서 화상 패킷을 송신할 때까지 소요되는 시간이 길어질 수 있다. For example, if the transmitter is a personal computer and you use video conferencing software and other CPU-intensive programs (such as MS Internet Explorer's flash screen processing program), the CPU usage will be 100% and the software will Since the CPU time used is limited, the time required for capturing the image data and transmitting the image packet in the transmission module 160 may be long.

또한, CPU 성능이 낮은 수신기를 사용하는 사용자가 회의에 참석한 경우에는, 이러한 사용자 자신의 화상 데이터를 캡처, 인코딩, 송신하고, 다른 참석자의 화상 및 음성 데이터를 수신, 디코딩, 재생하는 작업을 수행하기에 어려울 수 있다. 이 경우에도 CPU 사용량이 100%가 되고, 각 작업을 수행하는 작업의 우선 순위에 따라 처리하는 시간이 오래 걸릴 수 있다. In addition, when a user using a receiver with a low CPU performance attends a meeting, the user captures, encodes and transmits his or her own video data, and receives, decodes, and plays back the video and audio data of another participant. It can be difficult to do. Even in this case, the CPU usage is 100%, and processing may take a long time depending on the priority of each task.

또한, 수신한 데이터를 재생하기 전에 새로운 패킷을 수신하여 새로운 데이터가 계속 누적될 수 있으며, 일정시간 이상 데이터가 누적될 경우에 화상 회의 소프트웨어에서는 서비스 특성상 의미 없는 누적된 데이터로 판단한다. 또한, 네트워크 망(300)에서 병목 현상이 발생할 경우에는 TSvn_offset(또는 TSan_offset) 값이 커질 수 있다.In addition, new data may be continuously accumulated by receiving a new packet before reproducing the received data. When data is accumulated for a predetermined time or more, the video conferencing software determines that the accumulated data is meaningless in terms of service characteristics. In addition, when a bottleneck occurs in the network 300, the TSvn_offset (or TSan_offset) value may increase.

수신자 PC에서 익스플로러를 사용하여, 수신한 데이터를 처리하는 시간이 길어지는 경우, 다음과 같은 방법으로 데이터를 처리하게된다.If you use Explorer on the receiver PC to process the received data, it will process the data as follows.

송신자의 PC 용량이 부족한 경우, 우선 순위가 높은 모듈이 처리 시간을 많이 갖게 되므로, 처리 시간이 길어질 수 있다. 멀티프로세싱 환경에서 우선 순위가 익스플로러, 데이터 송신 모듈, 음성 처리 모듈, 화상 처리 모듈의 순서이고, CPU 사용량이 익스플로러(70%), 데이터 송신 모듈(10%), 음성 처리 모듈(20%), 화상 처리 모듈(30%)인 경우, 화상 처리 시간은 현저히 길어진다. 네트워크 망의 상태가 양호하고, 수신자의 용량이 충분한 경우, 수신한 데이터의 시간 계수 차이를 임계값과 비교하여 처리된다. If the sender's PC capacity is insufficient, the higher priority module has more processing time, which may result in a longer processing time. In the multiprocessing environment, the priority is Explorer, Data Transmission Module, Voice Processing Module, and Image Processing Module, and CPU usage is Explorer (70%), Data Transmission Module (10%), Voice Processing Module (20%), and Image. In the case of the processing module (30%), the image processing time becomes significantly longer. If the state of the network is good and the capacity of the receiver is sufficient, the time coefficient difference of the received data is compared with the threshold and processed.

화상 데이터의 시간 계수 차이가 THnormal 값을 넘는 경우가 지속될 경우, 약 P1 개의 화상 데이터는 화면에 대개 없이 표시되고, 그 이후는 대기 상태를 거친 후 화면에 표시될 수 있다. THnormal 값은 일정 값까지 계속 커지게 되므로, 저대역 필터 계수에 따라 대기 상태에 있지 않을 수 있다. THnormal이 커지는 경우 데이터간 정밀한 동기화는 이루어지지 않는다. 화상 데이터의 시간 계수 차이가 상당히 커서 회의에서 무의미한 경우, 화상 데이터는 폐기된다. 이후, 송신자 PC에서 익스플로러의 CPU 사용량이 감소하면, 화상 처리는 정상적으로 이루어지고, THnormal 값은 다시 감소하게 된다. When the case where the time coefficient difference of the image data exceeds the THnormal value persists, about P1 image data is usually displayed on the screen without being displayed, and after that, after the standby state, it can be displayed on the screen. The THnormal value will continue to grow to a certain value, so it may not be in standby depending on the low-band filter coefficients. If THnormal becomes large, there is no precise synchronization between the data. If the time coefficient difference of the image data is so large that it is meaningless in a meeting, the image data is discarded. Then, when the CPU usage of the explorer decreases in the sender PC, the image processing is normally performed, and the THnormal value is decreased again.

한편, 도 9와 도 10은 각각 종래의 동기화 방법(오디오 마스터 시스템 사용)과 본 발명의 실시예에 따른 데이터 동기화 방법에 의해 동기화 된 데이터를 나타낸 것이다. 9 and 10 show data synchronized by a conventional synchronization method (using an audio master system) and a data synchronization method according to an embodiment of the present invention, respectively.

도 9에 도시된 바와 같이, 오디오 마스터 시스템을 사용하여 동기화를 하는 경우 망 상태가 불량하여 데이터가 지연되면 지연값이 일정 임계값 이상인 패킷은 모두 무시된다. 그런데, 도 10에 도시된 바와 같이 본 발명의 실시예에 따른 가변 임계치를 사용할 경우, 망 상태가 계속 불량하더라도 소정 허용 범위까지는 임계값이 변동함으로써 지연되어 도착하는 데이터를 표시할 수 있다.As shown in FIG. 9, in case of synchronization using the audio master system, if the network state is poor and data is delayed, all packets having a delay greater than or equal to a predetermined threshold are ignored. However, as shown in FIG. 10, when the variable threshold according to the embodiment of the present invention is used, even when the network state continues to be poor, the threshold value may be changed to a predetermined allowable range, thereby displaying delayed data.

또한, 본 발명의 실시예에 따른 로그데이터 처리 방법은 프로그램으로 구현되어 씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등컴퓨터로 판독할 수 있는 기록매체에 저장될 수 있다. In addition, the log data processing method according to an embodiment of the present invention may be implemented as a program and stored in a computer-readable recording medium such as a CD-ROM, a RAM, a ROM, a floppy disk, a hard disk, a magneto-optical disk, and the like.

이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 이에 한정되는 것은 아니며, 그 외의 다양한 변경이나 변형이 가능하다. Although the preferred embodiment of the present invention has been described in detail above, the present invention is not limited thereto, and various other changes and modifications are possible.

이와 같이 본 발명에 따르면, 여러 컴퓨터들이 멀티미디어 데이터를 송/수신하는 과정에서 발생하는 지연을 보상하여 멀티미디어 데이터를 압축되기 전 상태로 표시할 수 있다.As described above, according to the present invention, the multimedia data can be displayed in a state before it is compressed by compensating for the delay occurring in the process of transmitting / receiving the multimedia data.

도 1은 본 발명의 실시예에 따른 데이터 동기화 방법이 적용되는 환경의 예를 나타낸 도이다.1 is a diagram illustrating an example of an environment to which a data synchronization method according to an embodiment of the present invention is applied.

도 2는 본 발명의 실시예에 따른 송신기를 통하여 데이터가 송신되는 과정을 나타낸 도이다.2 is a diagram illustrating a process of transmitting data through a transmitter according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 시간 계수가 첨부되어 네트워크 망을 통하여 전달되는 데이터의 형식을 나타낸 도이다. 3 is a diagram illustrating a format of data transmitted through a network with a time coefficient attached according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 수신기를 통하여 데이터가 수신되는 과정을 나타낸 도이다. 4 is a diagram illustrating a process of receiving data through a receiver according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 각 계수의 계산 방법을 나타낸 도이다.5 is a diagram illustrating a method of calculating each coefficient according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 데이터 계수기 Cnormal, Caffordable, Cabnormal와 Cdisused를 관리하는 경우에 대한 계수기 값의 계산 방법을 나타낸 도이다.6 is a diagram illustrating a method of calculating counter values for a case of managing data counters Cnormal, Caffordable, Cabnormal and Cdisused according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따른 데이터 계수기 Caffordable와 Cabnormal를 관리하는 경우에 대한 계수기 값의 계산 방법을 나타낸 도이다.7 is a diagram illustrating a method of calculating counter values for a case of managing data counters Caffordable and Cabnormal according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 데이터의 처리 방법 결정 과정을 나타낸 도이다. 8 is a diagram illustrating a process of determining data processing method according to an embodiment of the present invention.

도 9는 종래의 동기화 방법(오디오 마스터 시스템 사용)에 의해 동기화된 데이터를 나타낸 도이다.9 illustrates data synchronized by a conventional synchronization method (using an audio master system).

도 10은 본 발명의 실시예에 따른 데이터 동기화 방법에 의해 동기화 된 데이터를 나타낸 도이다. 10 is a diagram illustrating data synchronized by a data synchronization method according to an embodiment of the present invention.

Claims (9)

송신기에서 전송한 화상 또는 음성에 관한 데이터를 수신기가 네트워크 망으로부터 수신하여 동기화하는 방법에 있어서,In the method of receiving and synchronizing the data about the image or audio transmitted from the transmitter from the network, a) 상기 네트워크 망으로부터 상기 데이터를 패킷 단위로 수신하여, 상기 패킷에 포함된 시간계수 정보로부터 상기 데이터가 재생되어야 하는 시간을 산출하는 단계;a) receiving the data from the network in a packet unit and calculating a time at which the data should be reproduced from time count information included in the packet; b) 상기 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이를 계산하여 가변 임계치를 계산하는 단계;b) calculating a variable threshold by calculating a difference between a time at which the data is to be reproduced and a current time coefficient of the receiver; c) 상기 패킷의 수신 이력을 저장하고, 상기 데이터의 처리 방법을 결정하는 단계; 및c) storing a reception history of the packet and determining a method of processing the data; And d) 상기 처리 방법에 따라 데이터를 재생하여 출력하는 단계d) reproducing and outputting data according to the processing method 를 포함하는 데이터 동기화 방법.Data synchronization method comprising a. 제1항에 있어서, The method of claim 1, 상기 c) 단계에서,In step c), 상기 데이터의 처리 방법은 상기 패킷에 포함된 시간계수, 상기 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이, 상기 가변 임계치 및 상기 패킷의 수신 이력에 대한 정보를 통하여 결정되는The data processing method may be determined based on information on a time coefficient included in the packet, a difference between a time at which the data is to be reproduced and a current time coefficient of the receiver, the variable threshold value, and a reception history of the packet. 데이터 동기화 방법.How to sync data. 제1항 또는 제2항에 있어서, The method according to claim 1 or 2, 상기 화상 또는 음성에 관해 처음 수신한 패킷에 첨부된 시간계수와 상기 수신기가 관리하는 시간 계수기의 시간 계수와의 차이값을 계산하여 상기 송신기의 시간계수기와 상기 수신기의 시간계수기를 동기화 시키는Calculating a difference value between the time coefficient attached to the first received packet regarding the video or audio and the time coefficient of the time counter managed by the receiver to synchronize the time counter of the transmitter with the time counter of the receiver; 데이터 동기화 방법.How to sync data. 제3항에 있어서, The method of claim 3, 상기 처음 수신한 패킷에 첨부된 시간계수와 상기 수신기가 관리하는 시간 계수기의 시간 계수와의 차이값은 다음 식에 의하여 계산되는The difference between the time coefficient attached to the first received packet and the time coefficient of the time counter managed by the receiver is calculated by the following equation. 데이터 동기화 방법.How to sync data. TS0_diff = TSv0’- TSv0 (상기 처음 수신한 패킷이 화상 데이터에 관한 패킷일 때)TS0_diff = TSv0'- TSv0 (when the first received packet is a packet about image data) TS0_diff = TSa0’- TSa0 (상기 처음 수신한 패킷이 음성 데이터에 관한 패킷일 때)TS0_diff = TSa0'- TSa0 (when the first received packet is a packet related to voice data) 위의 식에서, TS0_diff는 상기 송신기와 수신기의 시간 계수기의 차이값이고, TSv0’는 화상 데이터에 관한 패킷을 처음 수신했을 때 상기 수신기가 관리하는 시간 계수기의 시간 계수이고, TSv0는 화상 데이터에 관한 상기 처음 수신한 패킷에 포함된 시간 계수이고, TSa0’는 음성 데이터에 관한 패킷을 처음 수신했을 때 상기 수신기가 관리하는 시간 계수기의 시간 계수이며, TSa0는 음성 데이터에 관한 상기 처음 수신한 패킷에 포함된 시간 계수임.In the above equation, TS0_diff is the difference between the time counters of the transmitter and the receiver, TSv0 'is the time coefficient of the time counter managed by the receiver when the packet regarding the image data is first received, and TSv0 is the above information about the image data. TSa0 'is a time coefficient included in a first received packet, TSa0' is a time coefficient of a time counter managed by the receiver when a packet regarding voice data is first received, and TSa0 is included in the first received packet regarding voice data. Time count. 제4항에 있어서, The method of claim 4, wherein 상기 처음 수신한 패킷 이후에 수신한 n번째 패킷에 포함된 화상 또는 음성에 관한 데이터가 재생되어야 하는 시간계수는 다음 식에 의하여 계산되는 The time coefficient at which data relating to an image or audio included in the nth packet received after the first received packet should be reproduced is calculated by the following equation. 데이터 동기화 방법.How to sync data. TSvn_play = TSvn + TS0_diff (상기 n번째 패킷이 화상 데이터에 관한 것인 경우)TSvn_play = TSvn + TS0_diff (when the nth packet is about image data) TSan_play = TSan + TS0_diff (상기 n번째 패킷이 음성 데이터에 관한 것인 경우)TSan_play = TSan + TS0_diff (when the nth packet is about voice data) 위의 식에서, TSvn_play 및 TSan_play는 상기 n번째 패킷에 포함된 데이터가 재생되어야 하는 시간이고, TSvn 및 TSan은 상기 n번째 패킷에 포함된 시간 계수임.In the above equation, TSvn_play and TSan_play are times when data contained in the n th packet should be played, and TSvn and TSan are time coefficients contained in the n th packet. 제5항에 있어서, The method of claim 5, 상기 n번째 패킷에 포함된 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이값은 다음 식에 의하여 계산되는The difference value between the time at which data included in the n th packet is to be reproduced and the current time coefficient of the receiver is calculated by the following equation. 데이터 동기화 방법.How to sync data. TSvn_offset = abs(TSvn_play - TSvn') = abs((TSvn - TSvn') + TS0_diff)(상기 n번째 패킷이 화상 데이터에 관한 것인 경우)TSvn_offset = abs (TSvn_play-TSvn ') = abs ((TSvn-TSvn') + TS0_diff) (when the nth packet is about image data) TSan_offset = abs(TSan_play - TSan') = abs((TSan - TSan') + TS0_diff)(상기 n번째 패킷이 화상 데이터에 관한 것인 경우)TSan_offset = abs (TSan_play-TSan ') = abs ((TSan-TSan') + TS0_diff) (when the nth packet is about image data) 위의 식에서, TSvn_offset 및 TSan_offset는 상기 n번째 패킷에 포함된 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이값이고, TSvn' 및 TSan'는 상기 n번째 패킷을 수신했을 때 상기 수신기가 관리하는 시간 계수기의 시간 계수이며, abs(x)는 x의 절대값임.In the above equation, TSvn_offset and TSan_offset are the difference between the time when the data contained in the nth packet is to be reproduced and the current time coefficient of the receiver, and TSvn 'and TSan' are the receiver when the nth packet is received. Is the time coefficient of the time counter managed by. Abs (x) is the absolute value of x. 제1항에 있어서, The method of claim 1, 상기 c) 단계에서,In step c), 상기 데이터 중 n번째 패킷이 포함하는 데이터의 처리 방법을 결정할 때 참조하는 상기 가변 임계치는 상기 네트워크 망과 상기 수신기의 상태에 따라 가변되며, 다음 식에 의하여 계산되는 The variable threshold referred to when determining a method of processing data included in the n-th packet among the data varies according to the state of the network and the receiver, and is calculated by the following equation. 데이터 동기화 방법.How to sync data. THnormal = L*TSvn_offset + (1-L)*THnormal (상기 n번째 패킷이 화상 데이터에 관한 것인 경우)THnormal = L * TSvn_offset + (1-L) * THnormal (if the nth packet is related to image data) THnormal = L*TSan_offset + (1-L)*THnormal (상기 n번째 패킷이 음성 데이터에 관한 것인 경우)THnormal = L * TSan_offset + (1-L) * THnormal (if the nth packet is for voice data) 위의 식에서, THnormal는 가변 임계치이고, TSvn_offset 및 TSan_offset는 상기 n번째 패킷에 포함된 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이값이고, L은 저역 통과 필터의 상수(0<L<1)이고, THnormal의 값은 THnormal_min보다 크거나 같고 THnormal_max보다 작거나 같은 값이며, THnormal_min과 THnormal_max은 상수임.In the above equation, THnormal is a variable threshold, TSvn_offset and TSan_offset are the difference between the time when the data contained in the nth packet should be reproduced and the current time coefficient of the receiver, and L is the constant of the low pass filter (0 < L <1), the value of THnormal is greater than or equal to THnormal_min and less than or equal to THnormal_max, and THnormal_min and THnormal_max are constant. 제1항 또는 제6항 또는 제7항 중 어느 한 항에 있어서, The method according to any one of claims 1 to 6 or 7, 상기 c) 단계에서,In step c), 상기 데이터의 처리방법을 결정하는 상기 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이값(TSvn_offset 또는 TSan_offset)은 상기 네트워크 망과 상기 수신기의 상태에 따라 가변되는 The difference value TSvn_offset or TSan_offset between the time at which the data is to be reproduced and the current time coefficient of the receiver, which determines the method of processing the data, is varied according to the state of the network and the receiver. 데이터 동기화 방법.How to sync data. 송신기에서 전송한 화상 또는 음성에 관한 데이터를 수신기가 네트워크 망으로부터 수신하여 동기화하는 기능을 수행하도록 컴퓨터에 의하여 실행 가능한 명령으로 구성된 프로그램을 유형적으로 구체화한 기록 매체에 있어서, A recording medium tangibly embodying a program consisting of instructions executable by a computer to perform a function of receiving and synchronizing data about an image or audio transmitted from a transmitter from a network, a) 상기 네트워크 망으로부터 상기 데이터를 패킷 단위로 수신하여, 상기 패킷에 포함된 시간계수 정보로부터 상기 데이터가 재생되어야 하는 시간을 산출하는 기능;a) receiving the data from the network in a packet unit and calculating a time at which the data should be reproduced from time count information included in the packet; b) 상기 데이터가 재생되어야 하는 시간과 상기 수신기의 현재 시간계수와의 차이를 계산하여 가변 임계치를 계산하는 기능;b) calculating a variable threshold by calculating a difference between a time at which the data is to be reproduced and a current time coefficient of the receiver; c) 상기 패킷의 수신 이력을 저장하고, 상기 데이터의 처리 방법을 결정하는 기능; 및c) storing a reception history of the packet and determining a method of processing the data; And d) 상기 처리 방법에 따라 데이터를 재생하여 출력하는 기능d) a function of reproducing and outputting data in accordance with the above processing method 을 포함하는 프로그램이 저장된 기록매체.The recording medium in which the program is stored.
KR10-2003-0042612A 2003-06-27 2003-06-27 Method for synchronizing data, and computer readable medium storing thereof KR100538001B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0042612A KR100538001B1 (en) 2003-06-27 2003-06-27 Method for synchronizing data, and computer readable medium storing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0042612A KR100538001B1 (en) 2003-06-27 2003-06-27 Method for synchronizing data, and computer readable medium storing thereof

Publications (2)

Publication Number Publication Date
KR20050000482A KR20050000482A (en) 2005-01-05
KR100538001B1 true KR100538001B1 (en) 2005-12-20

Family

ID=37216493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0042612A KR100538001B1 (en) 2003-06-27 2003-06-27 Method for synchronizing data, and computer readable medium storing thereof

Country Status (1)

Country Link
KR (1) KR100538001B1 (en)

Also Published As

Publication number Publication date
KR20050000482A (en) 2005-01-05

Similar Documents

Publication Publication Date Title
US5864678A (en) System for detecting and reporting data flow imbalance between computers using grab rate outflow rate arrival rate and play rate
JP4990762B2 (en) Maintaining synchronization between streaming audio and streaming video used for Internet protocols
US7477661B2 (en) Method, system, and computer program product for managing jitter
CN106686438B (en) method, device and system for synchronously playing audio images across equipment
EP1035735A2 (en) Moving image coding and decoding apparatus optimised for the application of the Real Time Protocol (RTP)
CN113286184B (en) Lip synchronization method for respectively playing audio and video on different devices
CN107018466B (en) Enhanced audio recording
US9143810B2 (en) Method for manually optimizing jitter, delay and synch levels in audio-video transmission
JP2007532053A (en) Jitter buffer management
US7908147B2 (en) Delay profiling in a communication system
US7619645B2 (en) Audio visual media encoding system
CN113225598A (en) Method, device and equipment for synchronizing audio and video of mobile terminal and storage medium
JP2004509491A (en) Synchronization of audio and video signals
CN105429983A (en) Media data acquisition method, media terminal and music teaching system
CN109194974B (en) Media low-delay communication method and system for network video live broadcast
US20130166769A1 (en) Receiving device, screen frame transmission system and method
KR100677179B1 (en) Dynamic latency management for ?? telephony
JP3715332B2 (en) Communication system, receiving apparatus and method
US7120171B2 (en) Packet data processing apparatus and packet data processing method
KR20070008069A (en) Appratus and method for synchronizing audio/video signal
CN107113283B (en) Method for handling problematic patterns in a low-latency multimedia streaming environment
JP4042396B2 (en) Data communication system, data transmission apparatus, data reception apparatus and method, and computer program
KR100538001B1 (en) Method for synchronizing data, and computer readable medium storing thereof
JP5186094B2 (en) Communication terminal, multimedia playback control method, and program
WO2022179306A1 (en) Audio/video playing method and apparatus, and electronic device

Legal Events

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

Payment date: 20111201

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee