KR20180021454A - 스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템 - Google Patents

스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템 Download PDF

Info

Publication number
KR20180021454A
KR20180021454A KR1020160106011A KR20160106011A KR20180021454A KR 20180021454 A KR20180021454 A KR 20180021454A KR 1020160106011 A KR1020160106011 A KR 1020160106011A KR 20160106011 A KR20160106011 A KR 20160106011A KR 20180021454 A KR20180021454 A KR 20180021454A
Authority
KR
South Korea
Prior art keywords
raptor
packet
weight vector
encoding
distribution weight
Prior art date
Application number
KR1020160106011A
Other languages
English (en)
Inventor
송황준
고윤민
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020160106011A priority Critical patent/KR20180021454A/ko
Publication of KR20180021454A publication Critical patent/KR20180021454A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하고, 결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하며, 랩터 인코딩된 패킷에 대한 트래픽 셰이핑을 수행하고 상기 트래픽 셰이핑된 패킷을 상기 패킷분배 가중벡터를 이용해 싱크 디바이스로 전송하는 소스 디바이스 및 상기 소스 디바이스로부터 수신한 실시간 패킷에 대해 역패킷화 및 랩터 디코딩을 수행하여 획득한 스크린 컨텐츠를 재생하는 복수의 싱크 디바이스를 포함하는 스크린 미러링 시스템이 개시된다.
본 프로그램 스크린 미러링 시스템에 따르면, 상대적으로 적은 오버헤드를 가지면서 패킷 손실에 강인하고 에너지 효율적인 스크린 미러링을 제공할 수 있다.

Description

스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템{SCREEN MIRRORING METHOD, AND SCREEN MIRRORING SYSTEM AND SOURCE DEVICE USING THE METHOD}
본 발명은 스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템에 관한 것으로, 더욱 상세하게는 복수의 싱크 디바이스가 존재하는 경우의 스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템에 관한 것이다.
스크린 미러링 (Screen mirroring) 은 모바일 기기의 스크린 컨텐츠를 TV나 모니터와 같이 큰 디스플레이 기기에 출력할 수 있게 하는 기술이다. 이 기술을 통해 모바일 사용자는 모바일 기기의 작은 디스플레이 제약에서 벗어날 수 있고, 비디오 스트리밍, 프리젠테이션, 사진 공유 등과 같은 다양한 용도에 활용할 수 있다. 이와 같은 장점 때문에 많은 최신 모바일 기기들이 스크린 미러링 기능을 탑재하고 있으며, 크롬캐스트(Chromecast) 또는 미라캐스트(Miracast)와 같은 다양한 상용화 제품들이 출시 되었다. 그 중 Miracast는 WiFi Alliance에 의해 제안된 기술로써 기존의 HDMI 케이블을 무선 네트워크로 대체하는 것을 목적으로 한다. Miracast에서는 WiFi Direct를 사용하며 이를 통해 높은 처리율로 고품질의 스크린 미러링을 제공할 수 있게 된다.
그러나 스크린 미러링 기술들이 사용하는 무선 네트워크에서는 언제든지 패킷 손실이 발생할 수 있으며, 이로 인한 스크린 미러링 영상의 품질 저하가 야기될 수 있다. 지금까지 전방오류정정(Forward error correction) 기술은 위와 같은 패킷 손실 문제를 해결하기 위한 적절한 기술로 널리 알려져 왔다.
최근 들어서는, 인접한 복수의 모바일 단말들 간에 스크린 컨텐츠를 공유하고자 하는 노력들도 나타나고 있다. 하지만, 현재까지의 스크린 미러링 기술은 소스 디바이스와 싱크 디바이스 간 일대일 연결관계를 기반으로 구현되어 왔기 때문에 다수의 인접한 싱크 디바이스로 스크린 컨텐츠를 전달하는 방법을 구현하기 위해서는 많은 기술적 문제들이 해결되어야 한다.
이를 해결하기 위한 방안의 하나로 WiFi 멀티캐스트 기법을 활성화하는 방법이 있는데, WiFi 멀티캐스트 기법은 ACK(acknowledgement) 신호 및 패킷 재전송 요청의 부재로 인해 패킷 전달의 신뢰성이 떨어진다는 치명적인 단점을 가진다. WiFi 멀티캐스트 기법은 또한, 가장 멀리 떨어진 단말로 데이터를 전송할 때 단순히 가장 낮은 전송율 및 가장 높은 전송 파워 레벨을 선택한다는 문제점을 가진다.
이러한 문제점들을 해결하기 위해 여러 기법들이 제안된 바 있으나, 모바일 단말에서 특히 문제가 되는 신뢰성 있는 데이터 전달 및 효율적인 에너지 소비와 관련하여 아직까지 만족할 만한 해법이 제시되지 못하고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 복수의 싱크 디바이스에 대해 스크린 미러링 컨텐츠를 제공하는 소스 디바이스를 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 이러한 소스 디바이스 및 복수의 싱크 디바이스를 포함하는 스크린 미러링 시스템을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은, 복수의 싱크 디바이스가 존재하는 경우의 효율적인 스크린 미러링 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 소스 디바이스는 스크린 미러링 컨텐츠를 싱크 디바이스로 전달하는 소스 디바이스로서, 일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 파라미터 제어부, 결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하고 인코딩된 데이터를 패킷화하는 랩터 인코더, 및 상기 랩터 인코더로부터 출력되는 패킷에 대한 트래픽 셰이핑를 수행하고, 상기 트래픽 셰이핑된 패킷을 상기 패킷분배 가중벡터를 이용해 복수의 싱크 디바이스로 전송하는 패킷 분배기를 포함할 수 있다.
여기서, 상기 일정 주기 동안 전송되는 패킷 당 에너지는, 일정 주기 동안 소스 디바이스 및 싱크 디바이스에서 소모되는 WiFi 네트워크 인터페이스의 에너지 총량, 그리고 일정 주기 동안 랩터 인코딩 및 디코딩에 소모되는 에너지 소모량을 포함할 수 있다.
한편, 파라미터 제어부는, 상기 일정 주기 동안 전송되는 랩터 인코딩 블록들이 싱크 디바이스에서 버퍼 언더 플로우가 발생하지 않는 것을 조건으로 상기 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정한다.
여기서, 랩터 인코딩 파라미터는 랩터 인코딩 블록의 개수, 소스 심볼의 크기, 소스 심볼의 개수, 및 코드율 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따른 파라미터 제어부는 또한, 모든 싱크 디바이스에 대해 각 싱크 디바이스에서 성공적으로 수신되는 데이터 총량의 최소값을 최대화하는 벡터를 상기 패킷분배 가중벡터로 결정할 수 있다.
한편, 패킷 분배기는, 패킷분배 가중벡터를 결정하고, 결정된 패킷분배 가중벡터를 이용해 적어도 하나의 랩터 인코딩 파라미터들을 결정하며, 상기 인코더로부터 생성된 실시간 패킷들에 대해 일정 시간 전송 보류시키는 트래픽 셰이핑 기법을 적용해 싱크 디바이스로 데이터를 전송한다.
이때, 상기 트래픽 셰이핑의 기본 주기인 빈 너비는, 비디오 프레임 대기 시간, 랩터 인코딩 지연시간, 랩터 인코딩 블록들의 전송 지연시간, 소스 디바이스 및 싱크 디바이스 간의 편도 트립시간, 및 랩터 디코딩 지연시간을 포함할 수 있다.
파라미터 제어부는 또한, 랩터 인코딩 및 디코딩에서의 에너지 소비 및 지연 모델을 활용하여 상기 일정 주기 동안 전송하는 패킷 당 평균 소모 에너지를 산출할 수 있으며, 심볼-레벨 XOR 동작의 개수에 기초하여 상기 랩터 인코딩 및 랩터 디코딩에 소모되는 에너지를 계산할 수 있다.
파라미터 제어부는 또한, 전송(Transmission) 구간, 테일(tail) 구간, 및 절전(Sleep) 구간을 포함하는 WIFi 네트워크 인터페이스의 에너지 소모 패턴을 활용해 상기 일정 주기 동안 전송하는 패킷 당 평균 소모 에너지를 산출한다.
한편, 소스 디바이스는, UDP(User Datagram Protocol) 제어 플로우를 통해 WiFi 네트워크의 상태를 관찰하여, 네트워크 상태 정보를 상기 파라미터 제어부로 전달하는 네트워크 모니터링부를 더 포함할 수 있다.
여기서, 네트워크 상태 정보는 전송율, 라운드 트립 시간(RTT), 및 패킷 손실율(PLR) 중 적어도 하나를 포함할 수 있다.
소스 디바이스는 또한, 소스 디바이스 내 저장부 또는 비디오 인코더로부터 압축된 비디오 데이터를 수신하여 상기 랩터 인코더로 푸시하는 프레임 큐를 더 포함할 수 있다.
본 발명의 다른 목적을 달성하기 위한 본 발명의 일 실시예에 스크린 미러링 시스템은, 일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하고, 결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하며, 랩터 인코딩된 패킷에 대한 트래픽 셰이핑을 수행하고 상기 트래픽 셰이핑된 패킷을 상기 패킷분배 가중벡터를 이용해 싱크 디바이스로 전송하는 소스 디바이스 및 상기 소스 디바이스로부터 수신한 실시간 패킷에 대해 역패킷화 및 랩터 디코딩을 수행하여 획득한 스크린 컨텐츠를 재생하는 복수의 싱크 디바이스를 포함할 수 있다.
여기서, 싱크 디바이스는 수신한 패킷의 랩터 인코딩 블록 내 소스 심볼들을 모두 온전히 수신한 경우 상기 랩터 디코딩을 수행하지 않고 생략 처리할 수 있다.
본 발명의 또 다른 목적을 달성하기 위한 본 발명의 일 실시예에 스크린 미러링 방법은 소스 디바이스에 의해 수행되는 스크린 미러링 방법으로서, 일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 단계, 결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하고 인코딩된 데이터를 패킷화하는 단계 및 상기 데이터 패킷에 대한 트래픽 셰이핑을 수행하고, 상기 트래픽 셰이핑된 패킷을 상기 패킷분배 가중벡터를 이용해 복수의 싱크 디바이스로 전송하는 단계를 포함할 수 있다.
여기서, 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 단계는, 상기 소스 디바이스와 상기 복수의 싱크 디바이스 간의 네트워크 상황에 따라 패킷분배 가중벡터를 결정하는 단계 및 상기 결정된 패킷분배 가중벡터를 이용해 적어도 하나의 랩터 인코딩 파라미터를 결정하는 단계를 포함할 수 있다.
이때, 패킷분배 가중벡터는, 모든 싱크 디바이스에 대해 각 싱크 디바이스에서 성공적으로 수신되는 데이터 총량의 최소값을 최대화하는 벡터로 결정된다.
한편, 일정 주기 동안 전송되는 패킷 당 에너지는, 일정 주기 동안 소스 디바이스 및 싱크 디바이스에서 소모되는 WiFi 네트워크 인터페이스의 에너지 총량, 일정 주기 동안 랩터 인코딩 및 디코딩에 소모되는 에너지 소모량을 포함할 수 있다.
또한, 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 단계는, 상기 일정 주기 동안 전송되는 랩터 인코딩 블록들이 싱크 디바이스에서 버퍼 언더 플로우가 발생하지 않는 것을 조건으로 상기 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 것을 특징으로 한다.
여기서, 랩터 인코딩 파라미터는 랩터 인코딩 블록의 개수, 소스 심볼의 크기, 소스 심볼의 개수, 및 코드율 중 적어도 하나를 포함할 수 있다.
또한, 패킷분배 가중벡터를 이용해 트래픽 셰이핑된 패킷을 복수의 싱크 디바이스로 전송하는 단계는, 상기 인코더로부터 생성된 실시간 패킷들에 대해 일정 시간 전송 보류시키는 트래픽 셰이핑 기법을 적용해 싱크 디바이스로 데이터를 전송하는 단계를 포함할 수 있다.
한편, 본 발명에 따른 스크린 미러링 방법은, UDP(User Datagram Protocol) 제어 플로우를 통해 WiFi 네트워크의 상태를 파악하는 단계를 더 포함할 수 있다.
상기와 같은 본 발명의 실시예에 따르면, 복수의 싱크 디바이스가 존재하는 경우 보다 효율적인 스크린 미러링 시스템 및 방법을 제공할 수 있다.
또한, 상대적으로 적은 오버헤드를 가지면서 패킷 손실에 강인하고 에너지 효율적인 스크린 미러링 시스템을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스크린 미러링 시스템의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 소스 디바이스의 블록 구성도이다.
도 3은 (a) 하나의 빈에서의 트래픽 셰이핑 및 (b)는 소스 디바이스 및 싱크 디바이스에서의 트래픽 셰이핑의 일 실시예를 나타낸다.
도 4는 본 발명에 적용되는 WiFi 네트워크의 에너지 소모 패턴 그래프이다.
도 5는 본 발명의 일 실시예에 따른 싱크 디바이스의 블록 구성도이다.
도 6은 본 발명의 일 실시예에 따른 스크린 미러링 방법 중 제어 파라미터 선택 순서를 도시한다.
도 7은 본 발명의 일 실시예에 따른 스크린 미러링 시스템의 성능을 다른 시스템과 비교한 그래프이다.
도 8은 시간에 따라 변화하는 본 발명에 따른 랩터 인코딩 파라미터들을 나타낸다.
도 9는 기존 시스템 대비 본 발명에 따른 스크린 미러링 시스템의 PSNR을 비교한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. “및/또는”이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 스크린 미러링 시스템의 블록 구성도이다.
본 발명에 따른 스크린 미러링 시스템은, 도 1에 도시된 일 실시예와 같이 소스 디바이스(100) 및 복수의 싱크 디바이스(200)를 포함하여 구성될 수 있으며, WiFi 네트워크를 기반으로 한다.
본 발명의 일 실시예에 따른 스크린 미러링 시스템은, 일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하고, 결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하며, 랩터 인코딩된 패킷에 대한 트래픽 셰이핑을 수행하고 패킷분배 가중벡터를 이용해 트래픽 셰이핑된 패킷을 싱크 디바이스로 전송하는 소스 디바이스 및 소스 디바이스로부터 수신한 실시간 패킷에 대해 역패킷화 및 랩터 디코딩을 수행하여 획득한 스크린 컨텐츠를 재생하는 복수의 싱크 디바이스를 포함할 수 있다.
소스 디바이스(100) 및 복수의 싱크 디바이스(200)를 포함하는 본 발명에 따른 스크린 미러링 멀티캐스트 시스템은, 패킷 손실에 대한 강인성을 제공하기 위해 전방오류정정 기술의 한 종류인 랩터 코드 (Raptor code) 를 사용한다.
랩터 코드는 전방오류정정 기술의 한 종류로써 시스테매틱 (Systematic) 코드이며, 유연성이 뛰어나고 높은 부호화 효율을 제공한다. 시스테매틱 랩터 코드는 블록 단위로 인코딩이 이루어진다. 하나의 블록은 다시 여러 개의 소스 심볼들로 나누어지게 되고, 각 심볼들은 XOR 연산을 통해 인코딩 심볼 (인코딩 블록)을 생성하게 된다. 시스테매틱 랩터 코드의 인코딩 블록에는 소스 블록의 온전한 데이터와 오류 정정을 위한 여분 데이터가 포함된다. 랩터 인코딩 블록의 소스 심볼 크기, 소스 심볼의 개수, 그리고 코드율은 에러 강인성, 인코딩/디코딩 소요 시간 및 에너지 소모에 영향을 미치게 된다.
본 발명에 따른 스크린 미러링 멀티캐스트 시스템은 또한, 모바일 기기의 제한된 에너지를 효율적으로 사용하기 위해 전송 데이터에 대한 트래픽 셰이핑(Traffic shaping)을 수행하며, WiFi 네트워크 인터페이스와 랩터 인코딩 및 디코딩의 에너지 소모 모델 예측에 기초하여 관련 파라미터를 조정한다.
소스 디바이스(100)는 자신의 스크린에 실시간으로 출력되고 있는 컨텐츠나 기기 내에 저장된 영상을 싱크 디바이스(200)로 전송하는 단말일 수 있다. 싱크 디바이스(200)는 소스 디바이스(100)에서 전송한 영상 정보를 수신하는 단말로서 TV, 모니터 등과 같은 디스플레이 기기 또는 이와 연결된 단말일 수 있다.
도 1에 도시된 본 발명의 일 실시예에 따른 시스템은 패킷 손실에 강인하고 에너지 효율적인 스크린 미러링 시스템을 제공한다.
도 2는 본 발명의 일 실시예에 따른 소스 디바이스의 블록 구성도이다.
본 발명의 일 실시예에 따른 소스 디바이스(100)는 프레임 큐(110), 랩터 인코더(120), 패킷 분배기(130), 비디오 인코더(140), 파라미터 제어부(150)를 포함하여 구성될 수 있다. 소스 디바이스(100)는 또한, 프레임 버퍼, 네트워크 모니터링부(160), UDP(User Datagram Protocol) 데이터 플로우 유닛, UDP 제어 플로우 유닛을 더 포함할 수 있다.
본 발명에 따른 소스 디바이스(100)의 동작과 관련하여, 미러링 컨텐츠가 소스 디바이스에 저장된 인코딩된 비디오 파일인 경우, 압축된 비디오 데이터가 바로 프레임 큐(110)로 전달된다. 미러링 컨텐츠가 소스 디바이스 상 현재의 순수(raw) 스크린 컨텐츠인 경우에는, 소스 디바이스의 프레임 버퍼 데이터가 압축을 위해 비디오 인코더(140)로 이동하며, 이후 비디오 인코더(140)에서 압축된 비디오 데이터가 프레임 큐(110)로 전달된다. 프레임 큐(110)는 압축된 프레임 데이터를 랩터 인코더(120)로 푸시한다.
랩터 인코더(120)는 파라미터 제어부(150)에 의해 결정된 랩터 인코딩 파라미터들을 이용해 프레임 데이터를 처리하며, 이렇게 처리된 랩터 인코딩 블록들은 패킷 분배기(130)로 전달된다. 패킷 분배기(130)로 전달된 랩터 인코딩 블록들은 일정한 시간 동안 패킷 분배기(130)에 머무른 뒤, 복수의 싱크 디바이스(200)로 전송된다.
이때, 본 발명에 따른 스크 미러링 시스템은 WiFi 멀티캐스트의 한계를 극복하기 위해 엿듣기(overhearing)-기반 멀티캐스트 전송 기법을 사용한다. 소스 디바이스가 랩터 인코딩 블록을 타겟 싱크 디바이스로 전송할 때, 타겟이 아닌 싱크 디바이스들 또한 이러한 데이터를 엿듣게 된다. 소스 디바이스의 네트워크 모니터링부(160)는 UDP 제어 플로우(control flow)를 통해 싱크 디바이스(200)의 네트워크 모니터링부(210)로부터 피드백 정보를 수신하여 주기적으로 WiFi 네트워크의 상태를 관찰한다. 여기서, 네트워크의 상태에 관한 정보는 전송율(transmission rate), 라운드 트립 시간(RTT), 및 패킷 손실율(packet loss rate: PLR)을 포함할 수 있다. 네트워크 모니터링부(160)는 또한, 네트워크 상태 정보를 파라미터 제어부(150)로 제공한다.
와이파이 네트워크에서는 유니캐스트 전송의 경우 MAC-계층 재전송 메커니즘이 지원되는데, 이러한 재전송 기능은 타겟이 아닌 싱크 디바이스에게는 지원되지 않기 때문에, 타겟이 아닌 싱크 디바이스는 유니캐스트 전송을 엿들을 수밖에 없다. 따라서, 엿듣기의 패킷 손실율은 일반적으로 유니캐스트 전송보다 크다.
소스 디바이스(100)는 전송할 스크린 컨텐츠를 랩터 인코더로 전송한다. 랩터 인코더에서는 파라미터 제어부에서 결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하고, 인코딩된 데이터를 RTP(Real-time Transport Protocol)를 기반으로 패킷화한다. 패킷 분배기(130)는 생성된 RTP 패킷들의 전송을 일정 시간 보류시키는 트래픽 셰이핑 기법을 적용하여 싱크 디바이스로 데이터를 전송한다.
소스 디바이스(100)의 구성요소 중 매우 중요한 역할을 수행하는 파라미터 제어부(120)는 모바일 기기의 제한된 에너지를 효율적으로 사용하기 위해 컴퓨팅 시간과 에너지 소모에 영향을 미치는 최적의 파라미터를 결정한다.
좀더 구체적으로 파라미터 제어부(150)는, 한 주기 동안 전송하는 패킷 당 평균 소모 에너지를 최소화하는 적어도 하나의 파라미터를 결정한다. 여기서, 파라미터를 결정함에 있어, 인코딩 블록들이 싱크 디바이스에서 버퍼 언더플로우가 발생하지 않을 정도의 시간 간격으로 도착해야 함을 전제 조건으로 한다. 적어도 하나의 파라미터는 랩터 인코딩 블록의 개수 (
Figure pat00001
), 소스 심볼의 크기 (s), 소스 심볼의 개수 (k), 코드율 (c), 및 패킷분배 가중벡터(
Figure pat00002
)를 포함할 수 있다.
본 발명에 따른 파라미터 제어부(150)는 아래 수학식 1의 비용 함수를 최소화하는 랩터 인코딩 블록의 개수 (
Figure pat00003
), 소스 심볼의 크기 (s), 소스 심볼의 개수 (k), 코드율 (c), 및 패킷분배 가중벡터(
Figure pat00004
)를 결정한다. 아래 수학식 1은 한 라운드 동안 전송하는 패킷 당 평균 소모 에너지를 의미한다. 또한, 수학식 1의 비용함수를 최소화하는 파라미터를 결정할 때, 수학식 2 및 수학식 3에서 정의되는 조건을 만족할 것이 요구된다.
Figure pat00005
Figure pat00006
Figure pat00007
수학식 1 내지 3에서
Figure pat00008
은 하나의 랩터 인코딩 블록에서 비디오 데이터 패킷의 개수(즉,
Figure pat00009
이며, 여기서
Figure pat00010
는 패킷 페이로드 크기임)이고,
Figure pat00011
Figure pat00012
의 시간 동안 소스 디바이스 및 싱크 디바이스들에서 WiFi 네트워크 인터페이스의 총 에너지 소모량을,
Figure pat00013
는 랩터 인코딩 및 디코딩에 소모되는 총 에너지 소모량을 의미한다.
또한,
Figure pat00014
는 소스 디바이스에서의 랩터 인코딩 지연시간(delay)을,
Figure pat00015
은 랩터 인코딩 블록들의 전송 지연시간을,
Figure pat00016
은 i번째 싱크 디바이스에서의 랩터 디코딩 지연시간을 나타낸다. 또한,
Figure pat00017
는 i번째 싱크 디바이스에서 디코딩될 랩터 인코딩 블록들의 예상 개수를 의미하며(수학식 14 참조),
Figure pat00018
는 소스 디바이스 및 싱크 디바이스 간의 재생 지연의 최대 허용치로서 사용자의 선호도에 따라 결정될 수 있는 값이다.
Figure pat00019
은 i번째 싱크 디바이스에서 현재 인코딩 블록에 대한 디코딩 실패율을,
Figure pat00020
은 랩터 디코딩 실패율의 최대 허용치를 나타낸다. 또한,
Figure pat00021
는 패킷분배 가중벡터이며, 아래 수학식 4에 의해 표현될 수 있다.
Figure pat00022
여기서,
Figure pat00023
는 빈 너비(duration)에서의 전체 데이터 량에 대한 i번째 싱크 디바이스로 유니캐스트 형태로 전송된 데이터의 양의 비율을 나타내며(
Figure pat00024
Figure pat00025
),
Figure pat00026
는 싱크 디바이스의 개수를 의미한다.
수학식 2는, 싱크 디바이스에서 버퍼 언더플로우가 발생하지 않도록 소스 디바이스의 비디오 프레임이
Figure pat00027
의 시간 내에 도착해야 함을 의미하며, 수학식 3은 성공적인 랩터 디코딩의 제한조건(constraint)을 의미한다.
한편, 모든 원래 소스 심볼들이 싱크 디바이스에 성공적으로 도착한 경우 랩터 디코딩은 수행되지 않는다. 따라서, 이러한 경우 수학식 2에서
Figure pat00028
대신
Figure pat00029
이 사용된다. 또한, 코드율 c 및 패킷분배 가중벡터
Figure pat00030
는 패킷이 싱크 디바이스로 어떻게 전송되지와 관련하여 매우 밀접하게 관련되어 있기 때문에 상호 연관성이 매우 크다.
본 발명에 따른 스크린 미러렁 시스템에서는 실시간 프로세싱을 위한 낮은 계산 복잡성을 갖는 가능한 해결책을 얻기 위해, 싱크 디바이스의 WiFi 네트워크 상황에 따라 패킷분배 가중벡터를 결정하고, 결정된 패킷분배 가중벡터를 이용해 빈 너비에서 랩터 인코딩 파라미터들(
Figure pat00031
, s, k, 및 c) 을 결정한다.
한편, 본 발명의 일 실시예에 따른 패킷 분배기(130)는 인코딩 블록들을 일정 시간 동안 패킷 분배기 내에 머물도록 하여 트래픽 셰이핑을 수행하게 되는데, 아래에서는 도 3을 통해 본 발명에 따른 트래픽 셰이핑에 대해 설명한다.
도 3a는 하나의 빈에서의 트래픽 셰이핑을, 도 3b는 소스 디바이스 및 싱크 디바이스에서의 트래픽 셰이핑의 일 실시예를 나타낸다.
도 3a 및 3b에 도시된 본 발명의 일 실시예에서는 하나의 빈 너비(
Figure pat00032
)가 트래픽 셰이핑을 위한 기본 주기로 정의되는데, 하나의 빈 너비에는 비디오 프레임 대기 시간
Figure pat00033
, 랩터 인코딩 지연시간
Figure pat00034
, 랩터 인코딩 블록들의 전송 지연시간
Figure pat00035
, 소스 디바이스 및 싱크 디바이스간의 편도 트립 시간
Figure pat00036
, 및 랩터 디코딩 지연시간
Figure pat00037
이 포함될 수 있다.
다시 말해, 빈 너비
Figure pat00038
은 아래 수학식 5와 같이 계산될 수 있다.
Figure pat00039
소스 디바이스의 프레임 큐는 충분한 개수의 비디오 프레임(
Figure pat00040
개의 랩터 인코딩 블록의 크기보다 큰)이 생성되기까지
Figure pat00041
의 시간 동안 대기한다. 충분한 개수의 비디오 프레임이 도착하면, 이 비디오 프레임들은 동일한 랩터 인코딩 파라미터(심볼 크기 s, 소스 심볼의 개수 k, 및 코드율 c)를 사용해 인코딩되고, 랩터 인코딩 블록들은 싱크 디바이스로 전송된다. 랩터 인코딩 블록들이 싱크 디바이스에 도착하면 랩터 디코딩 프로세스가 트리거링된다.
한편, 본 발명에서 코드율 c
Figure pat00042
의 식을 이용해 계산되는데, 여기서 n 은 인코딩 심볼들의 개수를 의미한다. 또한,
Figure pat00043
Figure pat00044
동안 전송되는 순수 비디오 데이터의 양에 의해 결정된다.
Figure pat00045
이 증가하면 싱크 디바이스의 WiFi 네트워크 인터페이스가 절전 상태로 더 오래 유지되기 때문에 에너지 효율성이 높아지는 대신 재생 지연시간이 증가하고,
Figure pat00046
이 감소하면 반대 현상이 나타난다.
도 4는 본 발명에 적용되는 WiFi 네트워크의 에너지 소모 패턴 그래프이다.
도 4는 소스 디바이스 및 싱크 디바이스에서의 WiFi 네트워크 인터페이스의 일반적인 에너지 소모 패턴을 나타내고 있다. 본 발명의 일 실시예에 적용되는 WiFi 네트워크 인터페이스의 에너지 소모 모델은 전송(Transmission), 테일(tail), 절전(Sleep) 구간을 포함한다.
AP(Access Point)와 같이 동작하는 소스 디바이스(100)는 절전(Sleep) 상태에서는 주기적으로 비콘(beacon) 메시지를 싱크 디바이스(200)로 브로드캐스트한다. 싱크 디바이스는 유니캐스트 전송을 엿듣기 위해 무선 채널을 지속적으로 관찰(listening)한다. 소스 디바이스로부터 수신할 데이터가 있는 경우 타겟 싱크 디바이스는 소스 디바이스에게 데이터를 요청한다. 이때, 소스 디바이스는 유니캐스트 형태로 데이터를 타겟 디바이스로 전송하고, 타겟이 아닌 디바이스들은 즉시 이러한 데이터를 엿듣게 된다. 데이터 전송이 완료되고 테일 시간에 추가적인 데이터가 없는 경우 소스 디바이스 및 타겟 싱크 디바이스는 절전 상태로 전환한다. 하지만, 타겟이 아닌 디바이스는 데이터 전송이 완료되는 대로 절전 상태로 전환한다. 주어진 s, k, 및 c 파라미터로 인코딩된
Figure pat00047
블록들에 대해, 소스 디바이스에서의 WiFi 네트워크 인터페이스의 에너지 소모는 아래 수학식 6과 같이, 그리고 i번째 싱크 디바이스에서의 WiFi 네트워크 인터페이스의 에너지 소모는 아래 수학식 7과 같이 모델링될 수 있다.
Figure pat00048
Figure pat00049
여기서,
Figure pat00050
은 데이터 전송율을,
Figure pat00051
은 소스 디바이스의 데이터 전송 파워를,
Figure pat00052
는 랩터 인코딩 블록들의 전송 지연시간 (
Figure pat00053
)을 나타낸다. 또한,
Figure pat00054
은 비콘 전송 파워를,
Figure pat00055
은 비콘 전송 너비를,
Figure pat00056
는 비콘 전송의 간격을 나타낸다.
Figure pat00057
는 i번째 싱크 디바이스의 데이터 수신 파워를,
Figure pat00058
은 i번째 싱크 디바이스의 테일 파워를,
Figure pat00059
는 i번째 싱크 디바이스의 채널 리스닝 파워를, 그리고
Figure pat00060
은 i번째 싱크 디바이스의 테일 시간을 나타낸다.
Figure pat00061
Figure pat00062
은 간단한 선형 모델인 아래 수학식 8 및 9을 이용해 계산될 수 있다.
Figure pat00063
Figure pat00064
수학식 8 및 9에서,
Figure pat00065
Figure pat00066
은 소스 디바이스의 파워 모델 파라미터들이고,
Figure pat00067
Figure pat00068
은 i번째 싱크 디바이스의 파워 모델 파라미터들이다 (
Figure pat00069
).
WiFi 네트워크 인터페이스는, 시그널링 오버헤드와 레이턴시(latency)를 감소시키기 위해 데이터 전송이 완료된 이후 소정의 기간 동안 일정하게 파워를 소모하는 테일 상태에 머무른다. 테일 시간은 디바이스 제조사에 의해 설정된다. 정리하면, 소스 디바이스 및 싱크 디바이스에서의 WiFi 네트워크 인터페이스의 전체 에너지 소모량
Figure pat00070
은 아래 수학식 10에 의해 얻을 수 있다.
Figure pat00071
본 발명에서는, 도 4를 통해 살펴본 WiFi 네트워크 인터페이스의 에너지 소모 패턴에 더하여 랩터 인코딩/디코딩에서의 에너지 소모 및 지연 모델 또한 고려한다.
이하에서는 본 발명에 적용되는 랩터 인코딩 및 디코딩에서의 에너지 소비 및 지연 모델에 대해 설명한다.
랩터 인코딩 및 디코딩에서는 XOR 연산이 대부분의 연산을 차지한다. 따라서 랩터 인코딩에 소모되는 에너지는 심볼-레벨 XOR 동작의 개수를 곱하여 계산되는 XOR된 바이트들의 양에 기초하여 예측될 수 있다.
i번째 싱크 디바이스의 랩터 인코딩 에너지 소모
Figure pat00072
및 i번째 싱크 디바이스의 랩터 디코딩 에너지 소모
Figure pat00073
는 아래 수학식 11 및 12와 같이 정의될 수 있다.
Figure pat00074
Figure pat00075
수학식 11 및 12에서,
Figure pat00076
는 랩터 인코딩에 요구되는 심볼-레벨 XOR 동작의 전체 개수를,
Figure pat00077
는 랩터 디코딩에 요구되는 심볼-레벨 XOR 동작의 전체 개수를 나타내며,
Figure pat00078
Figure pat00079
는 소스 디바이스에서의 랩터 인코딩에 대한 에너지 계수들(coefficients)을,
Figure pat00081
는 i-번째 싱크 디바이스에서의 랩터 디코딩에 대한 에너지 계수들(coefficients)을 나타낸다.
랩터 인코딩 및 랩터 디코딩에 대한 에너지 계수들은 모바일 디바이스의 연산 파워와 관련되어 있고, 이러한 계수들은 커브 피팅(curve fitting)을 이용해 랩터 인코딩 및 랩터 디코딩의 측정된 에너지 소모로부터 얻을 수 있다. 다시 말해, 랩터 인코딩 및 디코딩의 전체 에너지 소모
Figure pat00082
는 아래 수학식 13 및 14에 의해 계산될 수 있다.
Figure pat00083
Figure pat00084
수학식 13 및 14에서,
Figure pat00085
은 i번째 싱크 디바이스에서 디코딩될 랩터 인코딩 블록들의 예상 개수이고,
Figure pat00086
Figure pat00087
은 각각 i번째 싱크 디바이스에서 유니캐스트 전송의 PLR 및 엿듣기의 PLR을 나타낸다.
유사하게, 랩터 인코딩 지연시간
Figure pat00088
및 랩터 디코딩 지연시간
Figure pat00089
은 XOR된 바이트의 양에 기초하여 추산될 수 있으며, 이는 아래 수학식 15 및 16과 같이 나타낼 수 있다.
Figure pat00090
Figure pat00091
수학식 15 및 16에서,
Figure pat00092
은 랩터 인코딩의 지연 계수들을,
Figure pat00093
은 i번째 싱크 디바이스에서의 랩터 디코딩의 지연 계수들을 나타낸다.
본 발명의 일 실시예에 따른 스크린 미러링 시스템에서는,
Figure pat00094
,
Figure pat00095
, 및
Figure pat00096
를 포함하여 모든 랩터 인코딩 계수들이 연결이 설정되기 전에 소스 디바이스에서 측정되고 내장된다(embedded).
Figure pat00097
,
Figure pat00098
Figure pat00099
와 같은 랩터 디코딩 계수들은 연결이 설정되기 전에 각 싱크 디바이스에서 측정되어 연결 설정 과정에서 소스 디바이스로 제공된다.
본 발명에 따른 패킷 분배기(130)는 성공적으로 수신되는 데이터의 양을 최대화하기 위해 얼마만큼의 비디오 데이터가 유니캐스트 형태로 각 싱크 디바이스에 전달되는지 결정한다. 여기서, 패킷분배 가중벡터
Figure pat00100
는 에러 정정을 위한 리던던트 데이터의 양과 밀접하게 관련되기 때문에, 패킷분배 가중벡터
Figure pat00101
는 모바일 디바이스의 에너지 소모에 영향을 미치게 된다. 다시 말해, 리던던트 데이터의 양이 증가할수록, WiFi 네트워크 인터페이스 및 랩터 인코딩의 에너지 소모 역시 증가하게 된다.
따라서, 본 발명에서는 패킷분배 가중벡터
Figure pat00102
를 어떻게 결정할지가 중요한 문제들 중 하나가 된다. 본 발명의 바람직한 일 실시예에서는 아래 수학식 17의 값을 최대화하도록 패킷분배 가중벡터
Figure pat00103
를 결정하며, 수학식 17은 아래 수학식 18의 조건을 만족해야 한다.
Figure pat00104
Figure pat00105
여기서,
Figure pat00106
는 전송될 데이터의 양(즉, s · k)을,
Figure pat00107
는 i번째 싱크 디바이스에서 성공적으로 수신되는 데이터의 양을 나타낸다.
수학식 17은
Figure pat00108
에 대해 싱크 디바이스에서 성공적으로 수신되는 데이터의 양의 최소값을 의미한다. 패킷 분배에서의 최대-최소(max-min) 문제는 선형 프로그래밍 문제로 변환하여 해결 가능하다.
본 발명에서는 우선, 새로운 변수 z 를 정의함으로써 수학식 17 및 18과 관련한 문제를 아래의 최대화 문제로 간단화한다. 즉, 수학식 17을 z 로 대체하면 패킷 분배의 문제는 z를 최대화하는
Figure pat00109
를 결정하는 문제가 된다. 다만, 여기서, 어떤 솔루션이라도 아래 수학식 19 및 20에 의해 정의되는 조건을 만족해야 한다.
Figure pat00110
Figure pat00111
수학식 19에서
Figure pat00112
는 아래 수학식 21에 의해 계산될 수 있다.
Figure pat00113
다음으로, 잉여 변수들(surplus variables)
Figure pat00114
을 도입함으로써 변환된 패킷 분배 문제를 일반적인 선형 프로그래밍 문제 형태로 변환할 수 있다.
이를, 다시 표현하면
Figure pat00115
를 최소화하는
Figure pat00116
를 결정하면 되고, 이때, 조건 "
Figure pat00117
"를 만족해야 한다. 여기서, 각 벡터는 아래 수학식 22와 같이 정의된다.
Figure pat00118
Figure pat00119
Figure pat00120
Figure pat00121
Figure pat00122
본 발명에서는 낮은 연산 복잡도를 가진 선형 프로그래밍 문제의 표준 형태를 풀기 위해 심플렉스(Simplex) 기법을 적용하여, 패킷분배 가중벡터를 도출하였다.
본 발명에서는 모바일 디바이스의 효율적인 에너지 소모를 위해 패킷분배 가중벡터뿐 아니라 효과적인 랩터 인코딩 파라미터 선택 방법 또한 제공한다.
본 발명에 따른 랩터 인코딩 파라미터들을 결정하기 위해 먼저, 코드율 결정 절차가 필요하다. 코드율은 수학식 3에 나타난 바와 같이 랩터 디코딩 실패율
Figure pat00123
Figure pat00124
보다 적도록 선택되어야 한다. 이를 위해 우선, 랩터 디코딩 실패율
Figure pat00125
을 아래 수학식 23 에 의해 정의되는 이향식 분배(binomial distribution)를 이용해 대략적으로 계산한다.
Figure pat00126
Figure pat00127
Figure pat00128
Figure pat00129
Figure pat00130
위 수학식들에서,
Figure pat00131
는 i번째 싱크 디바이스에서 유니캐스트 형태로 수신된 패킷 개수의 확률 변수(random variable)이고,
Figure pat00132
는 i번째 싱크 디바이스에서 엿듣기 형태로 수신된 패킷 개수의 확률 변수를 나타낸다. 또한,
Figure pat00133
는 성공적인 랩터 디코딩에 요구되는 패킷의 최소 개수를,
Figure pat00134
는 최소 심볼 오버헤드를,
Figure pat00135
는 i번째 싱크 디바이스에서 유니캐스트 형태로 전송된 패킷의 개수를,
Figure pat00136
는 i번째 싱크 디바이스에서 엿듣기 형태로 전송된 패킷의 개수를, 그리고
Figure pat00137
은 랩터 인코딩 블록의 패킷 개수를 나타낸다. 정리하면, 코드율은 아래 수학식 28과 같이 결정될 수 있으며, 수학식 28은 아래 수학식 29의 조건을 만족해야 한다.
Figure pat00138
Figure pat00139
Figure pat00140
패킷분배 가중벡터
Figure pat00141
및 코드율 c 가 결정되었으므로, 이제
Figure pat00142
, s, 및 k 를 선택하는 방법에 대해 설명한다.
본 발명에 따른 랩터 인코딩 파라미터
Figure pat00143
, s, 및 k 는 패킷분배 가중벡터
Figure pat00144
및 코드율 c 이 주어진 상태에서, 아래 수학식 31로 표현되는 비용 함수
Figure pat00145
를 최소화하는 값으로 결정된다.
Figure pat00146
subject to
Figure pat00147
본 발명의 일 실시예에서는 최적의 제어 파라미터들을 선택하기 위해, 유한 개의 후보 값을 가지는 s k 에 대해, 계산 복잡성을 최소화하기 위해 최적의 솔루션으로 선택될 가능성이 없는 후보들은 우선 제외한다. 가능성이 낮은 후보들을 제외하고 1차 선발된 모든 가능한 후보들에 대해서는 전체 검색을 통해 주어진 비용 함수를 최소화하는 최적의 솔루션을 도출한다.
도 5는 본 발명의 일 실시예에 따른 싱크 디바이스의 블록 구성도이다.
본 발명에 따른 싱크 디바이스(200)는 네트워크 모니터링부(210), 패킷 파서(220), 랩터 디코딩(230), 비디오 디코더(240)을 포함하여 구성될 수 있다. 또한, 본 발명의 바람직한 일 실시에에 따른 스크린 미러링 시스템은 복수의 싱크 디바이스를 포함함을 살펴본 바 있다.
소스 디바이스(100)로부터 싱크 디바이스(200)로 전달된 RTP 패킷들은 역패킷화 과정과 랩터 디코딩 과정을 거쳐 재생 가능한 데이터로 변환된다. 패킷 파서(220)는 입력되는 패킷으로부터 패킷 헤더를 데이터로부터 분리 추출하고, 관련 제어 정보 및 데이터, 즉 랩터 인코딩된 데이터를 랩터 디코더(230)로 공급한다.
랩터 디코더(230)는 시스테매틱 랩터 코드의 특성을 이용해 랩터 디코딩을 수행하여 압축된 비디오 데이터를 비디오 디코더(240)로 전달한다. 이 때 랩터 디코더(230)는 시스테매틱 랩터 코드의 특성으로 인해 랩터 인코딩 블록 내에 소스 심볼들이 온전하게 전송되었을 경우에는 랩터 디코딩 절차는 생략될 수 있다.
압축된 비디오 데이터를 수신한 비디오 디코더는(240)는 압축 데이터를 디코딩한 결과물인 순수 스크린 컨텐츠를 재생부(player)로 넘겨준다.
한편, 네트워크 모니터링부(210)는 UDP 데이터 플로우를 통해 수신되는 패킷들을 모니터링 하여 WiFi 네트워크의 상태를 관찰하고, 관찰된 정보를 UDP 제어 플로우 (control flow)를 통해 소스 디바이스에 전달한다. 여기서, 네트워크의 상태에 관한 정보는 전송율(transmission rate), 라운드 트립 시간(RTT), 및 패킷 손실율(packet loss rate: PLR)을 포함할 수 있다.
도 6은 본 발명의 일 실시예에 따른 스크린 미러링 방법 중 제어 파라미터 선택 순서를 도시한다.
본 발명에 따른 스크린 미러링 방법 전체를 도 6에 모두 도시하지는 않았으며, 도 6에 도시된 순서도는 스크린 미러링 방법의 일부를 구성하는 제어 파라미터 결정 과정을 나타낸다.
본 발명에 따른 스크린 미러링 방법은, UDP(User Datagram Protocol) 제어 플로우를 통해 WiFi 네트워크의 상태를 파악하는 단계, 일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 단계, 결정된 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하고 인코딩된 데이터를 패킷화하는 단계, 상기 데이터 패킷에 대한 트래픽 셰이핑을 수행하고, 상기 패킷분배 가중벡터를 이용해 트래픽 셰이핑된 패킷을 복수의 싱크 디바이스로 전송하는 단계를 포함할 수 있다.
이 중 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 단계가 도 6을 통해 상세히 도시되어 있다.
단계 700(S700)는 준비 단계로, 후보 파라미터 세트 (
Figure pat00148
)를 비우고
Figure pat00149
의 조합들을 생성한다. 단계 710(S710)에서는 심플렉스 방법을 사용해 도출한 패킷분배 가중벡터
Figure pat00150
를 결정한다.
이후 단계 720(S720)에서는, 생성된
Figure pat00151
조합들 중 하나를 선택하고, 선택된
Figure pat00152
Figure pat00153
를 기초로 코드율 c 를 결정한다. 단계 730(S730)에서는,
Figure pat00154
를 1로 설정하고, 랩터 인코딩 블록에 대한 전송 지연시간
Figure pat00155
및 최대 랩터 인코딩 블록 개수
Figure pat00156
를 아래 수학식 32 및 33과 같이 산출하는데, 여기서,
Figure pat00157
는 싱크 디바이스에서 버퍼링된 비디오 재생 시간의 예측치를 나타낸다.
Figure pat00158
Figure pat00159
단계 740(S740)에서는, 비용함수
Figure pat00160
를 계산하고 수학식 31에서의 제한조건을 검토한다. 만약 현재의 비용이
Figure pat00161
에서의 파라미터들로 계산된 비용보다 작다면(S750) 제한조건을 만족하는 것이고, 이 경우
Figure pat00162
에서의 후보 파라미터들은 현재의 파라미터들인
Figure pat00163
로 대체된다(S760). 또한,
Figure pat00164
Figure pat00165
보다 작다면(S770)
Figure pat00166
를 1 증가시키고(S770) S740 단계 이후의 절차를 반복한다.
Figure pat00167
의 모든 가능한 조합들이 검토되었다면(S780), 최적의 솔루션
Figure pat00168
를 도출하고(S790) 프로세스를 종료한다. 그렇지 않은 경우는 단계 720으로 되돌아가 앞서 설명된 프로세스를 반복한다.
도 7은 본 발명의 일 실시예에 따른 스크린 미러링 시스템의 성능을 다른 시스템과 비교한 그래프이다.
도 7은 본 발명에 따른 시스템의 성능을 다른 시스템들과 비교하기 위해 실제 WiFi 네트워크를 구현하여 각 시스템에 대한 a) 평균 PSNR(peak signal-to-noise ratio), b) 소모 에너지, 및 c) 리던던트 데이터의 양의 측정치를 나타낸다.
실제 실험에서는 WiFi 네트워크 상에 하나의 소스 디바이스 및 4 개의 싱크 디바이스를 설치하여 시스템을 구현하였으며, 본 발명에 따른 시스템에 대한 비교 시스템으로는 멀티플 유니캐스트 전송(MultiUni), 라운드-로빈 기반 패킷 분배 알고리즘(RR), 워스트 타겟 선택-기반 패킷 분배 알고리즘(Worst)을 적용한 시스템을 선택하여 실험하였다.
도 7(a)에 도시된 바와 같이 에러 정정을 사용하지 않는 MultiUni 기법을 적용한 비교 시스템이 가장 나쁜 PSNR 성능을 보여주고 있음을 확인할 수 있으며, RR 알고리즘, Worst 알고리즘, 본 발명에 따른 패킷분배 방법을 적용한 시스템 순으로 보다 더 좋은 PSNR 성능을 보이고 있다.
소모 에너지를 비교한 도 7(b)를 살펴보면, 싱크 디바이스의 개수만큼위 회수만큼 WiFi 네트워클 인터페이스를 반복적으로 활용하는 MultiUni 기법을 적용한 시스템이 많은 에너지를 소모하고 있음을 알 수 있다. 또한, 에너지 소모 측면에서는 RR 알고리즘을 사용한 시스템이 가장 나쁜 성능을 보여주고 있음을 알 수 있는데, 이는 도 7(c)에 나타난 바와 같이 가장 많은 양의 리던던트 데이터를 생성하기 때문이다. Worst 알고리즘을 사용하는 시스템의 경우도 본 발명에 따른 패킷분배 방법을 적용한 시스템보다 많은 양의 리던던트 데이터를 생성하기 때문에 본 발명에 따른 시스템보다 많은 양의 에너지를 소모하고 있다.
도 7의 성능 비교에서 알 수 있듯이 본 발명에 따른 패킷분배 방법을 적용한 시스템이 PSNR, 소모 에너지, 리던던트 에너지의 양 등의 성능 면에서 MultiUni 기법, RR 알고리즘, Worst 알고리즘을 사용한 시스템보다 우수한 성능을 가진다.
다음으로, 본 발명에 따라 랩터 인코딩 파라미터를 고정 값으로 사용하는 경우와 적응적인(adaptive) 값으로 사용하는 경우에 있어서의 성능을 비교한다.
표 1은 본 발명에 따른 적응적 파라미터를 사용 방법과 고정 랩터 인코딩 파라미터를 사용한 경우의 성능 비교를 나타낸다.
파라미터 설정
Figure pat00169
Figure pat00170
Figure pat00171
Figure pat00172

(ms)
에너지
(J)
평균 PSNR (dB) 재생 지연 (ms)
고정
파라미터
32 64 128 - 2924.73 43.38 332
8 128 256 - 3018.83 43.29 375
2 256 512 - 3269.65 43.16 384
64 64 128 - 2901.48 42.69 631
16 128 256 - 2885.95 42.68 738
4 256 512 - 3145.52 43.41 754
128 64 128 - 2796.37 43.22 1283
32 128 256 - 2714.92 42.14 1481
8 256 512 - 2986.07 43.24 1488
적응적
파라미터
- - - 500 2825.64 43.42 415
- - - 1000 2763.67 43.16 974
- - - 1500 2714.67 43.27 1463
WiFi 네트워크 인터페이스의 에너지 소모가 본 발명에 따른 트래픽 형성에 의해 줄어들기 때문에 버스트 크기(즉,
Figure pat00173
) 가 증가함에 따라 에너지 소비가 줄어듦을 확인할 수 있다. 반면, 재생지연 시간은 버스트 크기가 증가함에 따라 증가하는데, 이는 데이터를 전송하고 랩터 인코딩 및 디코딩을 수행하는 데 더 많은 시간이 필요하기 때문이다.
실험을 통해 나타난 이러한 결과를 토대로 본 발명에서는 랩터 인코딩 파라미터들을 동적으로 조정한다.
도 8은 시간에 따라 변화하는 본 발명에 따른 랩터 인코딩 파라미터들을 나타낸다.
즉, 도 8(a)에서는 시간에 따라 변화하는 본 발명에 따른 인코딩 블록들의 개수를, 도 8(b)에서는 시간에 따라 변화하는 본 발명에 따른 심볼 크기를, 도 8(c)에서는 시간에 따라 변화하는 본 발명에 따른 소스 심볼들의 개수를 확인할 수 있다.
뿐만 아니라, 본 발명에서는, 소스 디바이스 및 싱크 디바이스 간의 재생 지연시간이
Figure pat00174
(즉, 사용자 기호에 따라 결정됨)에 의해 제어될 수 있도록 한다.
Figure pat00175
이 증가하면 재생 지연시간이 증가하는 대신 에너지 소모량이 줄어들게 되고, 반대의 경우는 반대의 결과를 얻는다. 따라서, 본 발명에 따른 시스템은 고품질의 스크린 미러링 서비스를 제공하면서도 훌륭한 에너지 효율성 또한 얻을 수 있다.
도 9는 기존 시스템 대비 본 발명에 따른 스크린 미러링 시스템의 PSNR을 비교한 그래프이다.
본 발명에 따른 시스템의 성능을 3 가지의 기존 시스템, 즉, Pseudo-broadcast 기법, DirCast 기법, 및 NACK-based 멀티캐스트 기법을 적용한 시스템들과 비교하였다.
DirCast 시스템의 경우 원래는 리드 솔로몬 코드를 사용하지만 공정한 비교를 위해 랩터 코드를 사용하는 시스템으로 변형하여 실험하였다. 또한, 테스트 미러링 컨텐츠는 저장된 비디오, 갤러리 어플리케이션, 그리고 유튜브 뮤직 비디오의 3가지로 설정하였다.
도 9의 (a)는 Pseudo-broadcast 시스템의 PSNR을, (b)는 Dircast 시스템의 PSNR을, (c) NACK-based multicast 시스템의 PSNR을, (d)는 본 발명에 따른 시스템의 PSNR을 나타내고 있다.
Pseudo-broadcast 시스템은 에러 정정 기법을 제공하지 않기 때문에 비디오 품질이 매우 저하되었음을 확인할 수 있으며, DirCast 시스템의 경우 에러 정정 기법을 사용함에도 불구하고 비디오 품질이 어느 정도 저하되었음을 알 수 있다. 반면, NACK-기반 멀티캐스트 시스템 및 본 발명에 따른 시스템은 손실된 패킷의 거의 대부분을 성공적으로 회복하였으며, 눈에 띠는 품질저하 현상 없이 스트림 미러링 서비스를 제공함을 알 수 있다. 이러한 결과는 표 2를 통해 구체적인 수치로 확인할 수 있다.
어플리케이션 시스템 소모
에너지 (J)
평균 PSNR (dB) 표준 편차 PSNR 에러 정정
이후 PLR (%)
제어
오버헤드
저장된
비디오
Pseudo-broadcast 2885.61 36.87 4.75 1.51 0.0234
DirCast 2960.30 39.12 3.77 0.86 0.0574
NACK-기반
멀티캐스트
3058.76 43.85 0 0 0.0671
본 발명 2820.44 42.70 1.24 0.23 0.0548
갤러리
어플리케이션
Pseudo-broadcast 2956.76 31.35 7.05 2.49 0.0259
DirCast 3482.67 34.97 6.91 0.99 0.0564
NACK-기반
멀티캐스트
3564.46 41.57 0 0 0.0677
본 발명 3193.57 40.25 1.32 0.19 0.0523




유튜브
뮤직 비디오
Pseudo-broadcast 3150.04 30.36 8.20 2.07 0.0279
DirCast 3613.27 33.19 6.84 1.15 0.0595
NACK-기반
멀티캐스트
3743.63 41.44 0 0 0.0681
본 발명 3409.69 39.90 1.18 0.37 0.0558
표 2를 참조하면, 본 발명에 따른 시스템은 DirCast 및 NACK-기반 멀티캐스트 시스템과 같은 FEC-기반 시스템들보다도 적은 에너지를 소비함을 알 수 있다. 특히, 본 발명에 따른 시스템을 NACK-기반 멀티캐스트 시스템과 비교하면 유사한 수준의 비디오 품질을 제공하면서도 9.04% 향상된 에너지 절감 효과를 제공함을 알 수 있다. 또한, 본 발명에 따른 시스템은 기존 시스템들에 비해 적정한 수준의 제어 오버헤드 양을 유지함을 알 수 있다.
이러한 실험 결과를 통해 본 발명에 따른 스크린 미러링 방법 및 시스템이 상대적으로 적은 오버헤드를 가지면서 로버스트하고 에너지-효율적인 스크린 미러링 시스템을 제공함을 확인할 수 있다.
한편, 본 발명의 실시예에 따른 스크린 미러링 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 소스 디바이스 200: 싱크 디바이스
110: 프레임 큐 120: 랩터 인코더
130: 패킷 분석기 140: 비디오 인코더
150: 파라미터 제어부 160: 네트워크 모니터링부
210: 네트워크 모니터링부 220: 패킷 파서
230: 랩터 디코더 240: 비디오 디코더

Claims (24)

  1. 스크린 미러링 컨텐츠를 싱크 디바이스로 전달하는 소스 디바이스로서,
    일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 파라미터 제어부;
    결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하고 인코딩된 데이터를 패킷화하는 랩터 인코더; 및
    상기 랩터 인코더로부터 출력되는 패킷에 대한 트래픽 셰이핑을 수행하고, 상기 트래픽 셰이핑된 패킷을 상기 패킷분배 가중벡터를 이용해 복수의 싱크 디바이스로 전송하는 패킷 분배기를 포함하는, 소스 디바이스.
  2. 청구항 1에 있어서,
    상기 일정 주기 동안 전송되는 패킷 당 에너지는,
    일정 주기 동안 소스 디바이스 및 싱크 디바이스에서 소모되는 WiFi 네트워크 인터페이스의 에너지 총량 및 일정 주기 동안 랩터 인코딩 및 디코딩에 소모되는 에너지 소모량을 포함하는, 소스 디바이스.
  3. 청구항 2에 있어서,
    상기 파라미터 제어부는, 상기 일정 주기 동안 전송되는 랩터 인코딩 블록들이 싱크 디바이스에서 버퍼 언더 플로우가 발생하지 않는 것을 조건으로 상기 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는, 소스 디바이스.
  4. 청구항 1에 있어서,
    상기 랩터 인코딩 파라미터는 랩터 인코딩 블록의 개수, 소스 심볼의 크기, 소스 심볼의 개수, 및 코드율 중 적어도 하나를 포함하는, 소스 디바이스.
  5. 청구항 1에 있어서,
    상기 패킷 분배기는,
    패킷분배 가중벡터를 결정하고, 결정된 패킷분배 가중벡터를 이용해 적어도 하나의 랩터 인코딩 파라미터들을 결정하는, 소스 디바이스.
  6. 청구항 1에 있어서,
    상기 패킷 분배기는,
    상기 랩터 인코더로부터 생성된 실시간 패킷들에 대해 일정 시간 전송 보류시키는 트래픽 셰이핑 기법을 적용해 싱크 디바이스로 데이터를 전송하는, 소스 디바이스.
  7. 청구항 6에 있어서,
    상기 트래픽 셰이핑의 기본 주기인 빈 너비는, 비디오 프레임 대기 시간, 랩터 인코딩 지연시간, 랩터 인코딩 블록들의 전송 지연시간, 소스 디바이스 및 싱크 디바이스 간의 편도 트립시간, 및 랩터 디코딩 지연시간을 포함하는, 소스 디바이스.
  8. 청구항 2에 있어서,
    상기 파라미터 제어부는,
    랩터 인코딩 및 디코딩에서의 에너지 소비 및 지연 모델을 활용하여 상기 일정 주기 동안 전송하는 패킷 당 평균 소모 에너지를 산출하는, 소스 디바이스.
  9. 청구항 8에 있어서,
    상기 파라미터 제어부는,
    심볼-레벨 XOR 동작의 개수에 기초하여 상기 랩터 인코딩 및 랩터 디코딩에 소모되는 에너지를 계산하는, 소스 디바이스.
  10. 청구항 2에 있어서,
    상기 파라미터 제어부는,
    전송(Transmission) 구간, 테일(tail) 구간, 및 절전(Sleep) 구간을 포함하는 WIFi 네트워크 인터페이스의 에너지 소모 패턴을 활용해 상기 일정 주기 동안 전송하는 패킷 당 평균 소모 에너지를 산출하는, 소스 디바이스.
  11. 청구항 1에 있어서,
    UDP(User Datagram Protocol) 제어 플로우를 통해 WiFi 네트워크의 상태를 관찰하고, 네트워크 상태 정보를 상기 파라미터 제어부로 전달하는 네트워크 모니터링부를 더 포함하는, 소스 디바이스.
  12. 청구항 11에 있어서,
    상기 네트워크 상태 정보는 전송율, 라운드 트립 시간(RTT), 및 패킷 손실율(PLR) 중 적어도 하나를 포함하는, 소스 디바이스.
  13. 청구항 1에 있어서,
    소스 디바이스 내 저장부 또는 비디오 인코더로부터 압축된 비디오 데이터를 수신하여 상기 랩터 인코더로 푸시하는 프레임 큐를 더 포함하는, 소스 디바이스.
  14. 청구항 1에 있어서,
    상기 파라미터 제어부는,
    모든 싱크 디바이스에 대해 각 싱크 디바이스에서 성공적으로 수신되는 데이터 총량의 최소값을 최대화하는 벡터를 상기 패킷분배 가중벡터로 결정하는, 소스 디바이스.
  15. 일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하고, 결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하며, 랩터 인코딩된 패킷에 대한 트래픽 셰이핑을 수행하고 트래픽 셰이핑된 패킷을 상기 패킷분배 가중벡터를 이용해 싱크 디바이스로 전송하는 소스 디바이스; 및
    상기 소스 디바이스로부터 수신한 실시간 패킷에 대해 역패킷화 및 랩터 디코딩을 수행하여 획득한 스크린 컨텐츠를 재생하는 복수의 싱크 디바이스를 포함하는 스크린 미러링 시스템.
  16. 청구항 15에 있어서,
    상기 싱크 디바이스는 수신한 패킷의 랩터 인코딩 블록 내 소스 심볼들을 모두 온전히 수신한 경우 상기 랩터 디코딩을 수행하지 않고 생략 처리하는, 스크린 미러링 시스템.
  17. 소스 디바이스의 스크린 미러링 방법으로서,
    일정 주기 동안 전송되는 패킷 당 에너지를 최소화하는 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 단계;
    결정된 랩터 인코딩 파라미터를 사용하여 랩터 인코딩을 수행하고 인코딩된 데이터를 패킷화하는 단계; 및
    상기 데이터 패킷에 대한 트래픽 셰이핑을 수행하고, 트래픽 셰이핑된 패킷을 상기 패킷분배 가중벡터를 이용해 복수의 싱크 디바이스로 전송하는 단계를 포함하는, 스크린 미러링 방법.
  18. 청구항 17에 있어서,
    상기 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 단계는,
    상기 소스 디바이스와 상기 복수의 싱크 디바이스 간의 네트워크 상황에 따라 패킷분배 가중벡터를 결정하는 단계; 및
    상기 결정된 패킷분배 가중벡터를 이용해 적어도 하나의 랩터 인코딩 파라미터를 결정하는 단계를 포함하는, 스크린 미러링 방법.
  19. 청구항 18에 있어서,
    상기 패킷분배 가중벡터는, 모든 싱크 디바이스에 대해 각 싱크 디바이스에서 성공적으로 수신되는 데이터 총량의 최소값을 최대화하는 벡터인, 스크린 미러링 방법.
  20. 청구항 17에 있어서,
    상기 일정 주기 동안 전송되는 패킷 당 에너지는,
    일정 주기 동안 소스 디바이스 및 싱크 디바이스에서 소모되는 WiFi 네트워크 인터페이스의 에너지 총량 및 일정 주기 동안 랩터 인코딩 및 디코딩에 소모되는 에너지 소모량을 포함하는, 스크린 미러링 방법.
  21. 청구항 17에 있어서,
    상기 랩터 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는 단계는,
    상기 일정 주기 동안 전송되는 랩터 인코딩 블록들이 싱크 디바이스에서 버퍼 언더 플로우가 발생하지 않는 것을 조건으로 상기 인코딩 파라미터 및 패킷분배 가중벡터를 결정하는, 스크린 미러링 방법.
  22. 청구항 17에 있어서,
    상기 랩터 인코딩 파라미터는 랩터 인코딩 블록의 개수, 소스 심볼의 크기, 소스 심볼의 개수, 및 코드율 중 적어도 하나를 포함하는, 스크린 미러링 방법.
  23. 청구항 17에 있어서,
    상기 트래픽 셰이핑된 패킷을 상기 패킷분배 가중벡터를 이용해 복수의 싱크 디바이스로 전송하는 단계는,
    상기 인코더로부터 생성된 실시간 패킷들에 대해 일정 시간 전송 보류시키는 트래픽 셰이핑 기법을 적용해 싱크 디바이스로 데이터를 전송하는 단계를 포함하는, 스크린 미러링 방법.
  24. 청구항 17에 있어서,
    UDP(User Datagram Protocol) 제어 플로우를 통해 WiFi 네트워크의 상태를 파악하는 단계를 더 포함하는, 스크린 미러링 방법.
KR1020160106011A 2016-08-22 2016-08-22 스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템 KR20180021454A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160106011A KR20180021454A (ko) 2016-08-22 2016-08-22 스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160106011A KR20180021454A (ko) 2016-08-22 2016-08-22 스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템

Publications (1)

Publication Number Publication Date
KR20180021454A true KR20180021454A (ko) 2018-03-05

Family

ID=61726874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160106011A KR20180021454A (ko) 2016-08-22 2016-08-22 스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템

Country Status (1)

Country Link
KR (1) KR20180021454A (ko)

Similar Documents

Publication Publication Date Title
US10193813B2 (en) System and method for real-time traffic delivery
CN102598617B (zh) 用于从移动设备向无线显示器传送内容的系统和方法
US10084715B2 (en) Packet loss mitigation
CN103051981B (zh) 用于视频多跳传输的自适应帧长计算方法
Kwon et al. MPMTP: Multipath multimedia transport protocol using systematic raptor codes over wireless networks
CN110381316A (zh) 一种视频传输控制方法、装置、设备及存储介质
JP5021765B2 (ja) 逆方向リンクおよび順方向リンクのビデオデータエラーを区別するエラーフィルタ
GB2498992A (en) Transmission of encoded image slices over plural assigned channels
KR20150045346A (ko) 이동 통신 시스템에서 멀티미디어 데이터 송수신 방법 및 장치
EP1599044A1 (en) Image data distribution control method, device, system, and program
KR100851918B1 (ko) 네트워크 적응형 데이터 전송 방법, 이를 위한 데이터 전송시스템, 데이터 송신 장치, 및 데이터 수신 장치
US20150055458A1 (en) Video transmission device, video transmission method, and program
JP2011087091A (ja) 送信装置および送信装置の動作モード制御方法
JP4650573B2 (ja) 通信装置、通信システム、プログラム、および通信方法
JP2005176303A (ja) チャネル上で送信されるマルチメディアを符号化する方法およびシステム
JP2005184662A (ja) データ伝送装置、データ受信装置、および通信システム
JP2002064472A (ja) 通信システム、送信機及び伝送誤りの防止方法
US20180192088A1 (en) Transmitting/receiving audio and/or video data over a wireless network
Gorkemli et al. Video streaming over wireless DCCP
Chen et al. Robust video streaming over wireless LANs using multiple description transcoding and prioritized retransmission
KR20180021454A (ko) 스크린 미러링 방법 및 이를 이용하는 소스 디바이스, 스크린 미러링 시스템
WO2021164405A1 (zh) 数据编解码方法、相关设备及系统
US8707141B1 (en) Joint optimization of packetization and error correction for video communication
KR100861594B1 (ko) 멀티미디어 데이터 전송률 제어 장치 및 그 방법
Go et al. Reliable and energy-efficient hybrid screen mirroring multicast system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application