KR20130097336A - 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치 - Google Patents

전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치 Download PDF

Info

Publication number
KR20130097336A
KR20130097336A KR1020120018922A KR20120018922A KR20130097336A KR 20130097336 A KR20130097336 A KR 20130097336A KR 1020120018922 A KR1020120018922 A KR 1020120018922A KR 20120018922 A KR20120018922 A KR 20120018922A KR 20130097336 A KR20130097336 A KR 20130097336A
Authority
KR
South Korea
Prior art keywords
electronic device
video stream
encoded video
output
decoded
Prior art date
Application number
KR1020120018922A
Other languages
English (en)
Other versions
KR101917174B1 (ko
Inventor
이흥기
김길윤
김성관
김종규
임종규
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120018922A priority Critical patent/KR101917174B1/ko
Priority to US13/768,402 priority patent/US9386065B2/en
Priority to EP13155854.6A priority patent/EP2632168B1/en
Priority to CN201310058773.0A priority patent/CN103297808B/zh
Publication of KR20130097336A publication Critical patent/KR20130097336A/ko
Priority to US15/184,095 priority patent/US9954923B2/en
Application granted granted Critical
Publication of KR101917174B1 publication Critical patent/KR101917174B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • 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/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43637Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen

Abstract

본 발명은, 제1 전자 장치와 제2 전자 장치 사이의 비디오 스트림 전송 기술에 대한 것이다. 비디오 스트림 전송방법은, 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계, 여기에서 상기 확인은 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하는 단계, 및 상기 제1 전자 장치의 상기 인코딩 비디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하거나, 또는 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간 간격을 상기 인코딩 비디오 스트림의 프레임에 포함하여 상기 제2 전자 장치에 전송하는 단계를 포함한다.

Description

전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치{METHOD FOR TRANSMITTING STREAM BETWEEN ELECTRONIC DEVICES AND ELECTRONIC DEVICE FOR THE METHOD THEREOF}
본 발명은 비디오 스트림 전송 방법 및 그 방법을 처리하는 전자 장치에 관한 것으로, 구체적으로는 와이 파이 디스플레이(Wi-Fi Display) 방식으로 통신하는 전자 장치 사이에서 비디오 스트림을 전송하는 방법 및 그 방법을 수행하는 전자 장치에 관한 것이다.
전자 장치 사이의 통신 기술은 다양한 방식으로 발전하고 있다. 특히, 휴대용 단말기 관련 통신 기술의 발전과 무선 또는 유선 인터넷을 이용한 통신의 도입에 따라 휴대용 단말기를 포함한 전자 장치 사이의 통신은 여러 가지의 목적으로 이용되고 있다.
WiFi 통신은 무선 랜(Wireless Local Access Network) 기술이며, 무선 랜 기술은 무선접속장치인 AP(Access Point)가 설치된 곳을 중심으로 일정 거리 이내에 위치하는 휴대용 단말기(예; PDA(Personal Digital Assistant), 노트북 컴퓨터 등)들에게 인터넷 등과 같은 통신 서비스를 제공하는 것이다. 무선 랜 기술은 초기에는 전파 도달거리가 10m에 불과했으나 2000년대에 들어와서는 50m~수백m까지 전파 도달거리가 대폭 확장되고 있으며, 무선 랜의 전송 속도 역시 향상되어 대용량의 멀티미디어 데이터를 송/수신하는 것이 가능하게 되었다.
또한, WiFi 통신의 발전은, AP나 라우터 없이 Wi-Fi 디바이스 간에 자유롭게 통신하여 프린트, 콘텐츠 공유 등을 가능하게 하는 와이 파이 다이렉트(Wi-Fi Direct) 기술을 개발하는 단계에 이르렀다. 와이 파이 다이렉트 기술은 Wi-Fi P2P(Peer-to-Peer)라고도 불리는 기술로 제어 단말기(P2P Group Owner)와 피제어 단말기(P2P Client)가 그룹을 구성하여 동작할 수 있다.
전자 장치 사이의 통신의 일 예로, WiFi 디스플레이 통신이 있다. WiFi 디스플레이 통신은 WiFi 전자 장치 사이에서, 이에 한정되지는 않지만, 비디오 스트림 및/또는 오디오 스트림을 포함하는 데이터를 공유하기 위한 데이터 공유(sharing) 기술이다. 예를 들면, WiFi 디스플레이 소스(source) 전자 장치가 WiFi 디스플레이 싱크(sink) 전자 장치로 비디오 스트림 및/또는 오디오 스트림을 전송하여, 두 개의 전자 장치가 그 스트림을 공유하고, 스크린 및/또는 스피커를 통하여 동시 출력할 수 있게 한다. WiFi 디스플레이 통신에서, 통신 연결(connectivity)은, 예를 들어, 와이 파이 다이렉트(Wi-Fi Direct) 방법으로 이루어진다.
본 명세서에서, 소스(source) 장치는 비디오 스트림 및/또는 오디오 스트림을 전송하는 장치를 의미하며, 싱크(sink) 장치는 비디오 스트림 및/또는 오디오 스트림을 수신하는 장치를 의미한다.
또한, 소스 전자 장치는 소스 전자 장치로 나타내기도 하며, 싱크 전자 장치는 싱크 전자 장치로 나타내기도 한다. 즉, 소스 전자 장치와 소스 전자 장치 및 싱크 전자 장치와 싱크 전자 장치를 혼용하여 사용한다.
이러한 WiFi 디스플레이 통신에 대한 규격은 WiFi alliance에서 정한 WiFi 디스플레이 표준 규격(Wi-Fi Display Specification)에 정해져 있다.
WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치로 데이터를 전송하는 WiFi 디스플레이 통신은, WiFi 디스플레이 장치 검색(WFD device discovery) 단계, WiFi 디스플레이 연결 설정(WFD connection set up) 단계, WiFi 디스플레이 성능 협상(WFD capability negotiation) 단계, 및 WiFi 디스플레이 세션 성립(WFD Session Establishment) 단계로 이루어진다. 이외에, 링크 콘텐츠 보호(Link Content Protection) 단계 등 다수의 선택적 단계가 포함될 수 있다.
이러한 방법으로, WiFi 디스플레이 세션이 성립되면, WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치로의 데이터 전송이 이루어진다.
WiFi 디스플레이 통신을 종료하는 것은 WiFi 디스플레이 세션 종료(WFD Session termination) 단계에서 이루어진다.
WiFi 디스플레이 통신에서, WiFi 디스플레이 세션이 성립되어, WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치로 스트림 전송이 이루어지는 경우를 설명하면 다음과 같다. WiFi 디스플레이 소스 전자 장치는 자신이 보관하고 있거나, 인터넷 등 다른 매체를 통하여 수신한, 인코딩된(encoded) 스트림을 디코딩(decoding)하여, 비디오 스트림은 스크린을 통하여, 그리고 오디오 스트림은 스피커를 통하여 출력한다. 여기에서, 인코딩은 비디오 스트림 및/또는 오디오 스트림을 압축 처리하는 것을 의미한다. 예를 들어, 비디오 스트림의 경우, MPEG-4 [ISO(International Standard Organization)-IEC(International Electronical Commission)의 MPEG(Moving Picture Expert Group)] 또는 H264 [ITU(International Telecommunications Union)-T(Telecommunication standard sector)의 H264] 포맷으로 압축 처리하는 것을 의미하고, 오디오 스트림의 경우에는 LPCM(Linear Pulse Coded Modulation)44.1, LPCM(Linear pulse Coded Modulation)16-48, AAC(Advanced Audio Coding), AC-3, AAA (Authentication, Authorization, and Accounting), AMR(Adaptive Multi Rate), WMA(Windows Media Audio), MPEG-2 Audio 또는 MPEG-4 Audio 포맷으로 압축처리 하는 것을 의미한다.
WiFi 디스플레이 소스 전자 장치는 이렇게 디코딩하여 출력한 로우(Raw) 스트림(예를 들어, 비디오 스트림과 오디오 스트림)를 인코딩하고, 인코딩된 스트림을 WiFi 디스플레이 싱크 전자 장치에 전송한다. WiFi 디스플레이 싱크 전자 장치는, WiFi 디스플레이 소스 전자 장치로부터 수신한 인코딩된 스트림을 디코딩하여 비디오 스트림은 스크린을 통하여, 그리고 오디오 스트림은 스피커를 통하여 출력한다. 이렇게 함으로써, WiFi 디스플레이 소스 전자 장치와 WiFi 디스플레이 싱크 전자 장치는 비디오 스트림과 오디오 스트림을 공유하게(sharing) 된다.
그런데, WiFi 디스플레이 소스 전자 장치는 자신이 보관하고 있거나, 인터넷 등 다른 매체를 통하여 수신한, 인코딩된(encoded) 스트림을 디코딩(decoding)하여, 비디오 스트림은 스크린을 통하여, 그리고 오디오 스트림은 스피커를 통하여 출력하고, 출력된 로우(raw) 스트림을 다시 인코딩하여 전송하기 위하여는 인코딩을 수행하여야 한다. 그런데, 비디오 스트림의 경우에는, 인코딩에 많은 시간이 소요된다. 하드웨어 인코더 또는 소프트웨어 인코딩 모듈의 성능에 따라 차이가 있으나, 오디오 스트림에 비하여 비디오 스트림의 경우, 인코딩에 10배 이상의 시간이 소요되기도 한다. 더욱이, WiFi 디스플레이 소스 전자 장치의 일 예로 사용되는, 휴대용 통신 단말기는, 장착된 디지털 카메라를 사용하여 이미지 촬영을 하는 경우가 매우 많고, 경우에 따라서는 연속적인 촬영방식을 사용하여 다량의 이미지를 획득하는 경우도 많이 발생한다. 이렇게 촬영한 이미지를 저장하거나, 타인에게 전송하기 위해서는 인코딩이 필요하다. 이와 같이 휴대용 통신 단말기를 포함하는 전자 장치에서, 이미지를 인코딩하기 위한, 인코더 (또는 소프트웨어 인코딩 모듈)의 사용이 빈번해지고, 처리할 이미지 데이터의 양이 많아짐에 따라, 이미지 데이터(비디오 스트림)의 인코딩은 자원사용에 있어 어려움이 있다.
따라서, WiFi 디스플레이 통신에서, WiFi 디스플레이 세션이 성립되어, WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치로 스트림 전송이 이루어지는 경우에, WiFi 디스플레이 소스 전자 장치가, 인코딩된(encoded) 비디오 스트림을 디코딩(decoding)하여, 로우(raw) 비디오 스트림을 스크린을 통하여 출력하고, 출력된 비디오 스트림을 다시 인코딩하여 전송하는 방법을 개선하여, WiFi 디스플레이 소스 전자 장치에서의 인코딩 시간이 많이 걸리는 문제를 해결하는 방법이 요구된다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위하여 도출된 것으로서, 본 발명의 목적은, 디코딩한 출력 스트림을 인코딩하여 전송하는 방식을 개선한 전자 장치를 제공함에 있다.
본 발명의 다른 목적은, 디코딩한 출력 스트림을 인코딩하여 전송하는 방식을 개선한 스트림 전송 방법을 제공함에 있다.
본 발명의 또 다른 목적은, 디코딩한 출력 비디오 스트림을 인코딩하여 전송하는 방식을 개선한 전자 장치를 제공함에 있다.
본 발명의 또 다른 목적은, 디코딩한 출력 비디오 스트림을 인코딩하여 전송하는 방식을 개선한 전송 방법을 제공함에 있다.
본 발명의 또 다른 목적은, 위와 같은 개선된 전자 장치에 대응하는 비디오 스트림 수신 장치를 제공함에 있다.
본 발명의 또 다른 목적은, 위와 같은 개선된 전송방법에 대응하는 비디오 스트림 수신 방법을 제공함에 있다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 제1 전자 장치의 비디오 스트림 전송방법은, 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하는 단계, 제1 전자 장치가 상기 인코딩 비디오 스트림의 프레임을 디코딩하여 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하거나, 또는, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간 간격을 상기 인코딩 비디오 스트림의 프레임에 포함하여 상기 제2 전자 장치에 전송하는 단계를 포함한다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 제2 전자 장치의 비디오 스트림 처리방법은 제1 전자 장치로부터 수신한 인코딩 비디오 스트림의 프레임에서, 상기 인코딩 비디오 스트림을 지연하여 출력할 일정 시간 간격을 확인하는 단계, 및 상기 일정 시간 간격만큼 지연하여, 상기 인코딩 비디오 스트림을 디코딩하여 제2 전자장치의 출력장치를 통해 출력하는 단계를 포함한다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 제1 전자 장치는, 하나 이상의 프로세서, 메모리, 및 상기 메모리에 저장되어 있으며 하나 이상의 프로세서에 의하여 실행되도록 구성되는 하나 이상의 모듈을 포함하는 전자 장치로서, 상기 모듈은, 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하고, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하고; 상기 제1 전자 장치가 상기 인코딩 비디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는, 또는, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간 간격을 상기 인코딩 비디오 스트림의 프레임에 포함하여 상기 제2 전자 장치에 전송하는 명령어를 포함한다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 제2 전자 장치는, 하나 이상의 프로세서; 메모리; 및 상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의하여 실행되도록 구성되는 하나 이상의 모듈을 포함하는 전자 장치로서, 상기 모듈은, 제1 전자 장치로부터 전송되는 인코딩 비디오 스트림의 프레임에서, 상기 인코딩 비디오 스트림을 지연하여 출력할 일정 시간 간격을 확인하고, 상기 일정 시간 간격만큼 지연하여, 상기 인코딩 비디오 스트림을 디코딩하여 제2 전자장치의 출력장치를 통해 출력하는 명령어를 포함한다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 제1 전자 장치는, 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하는 수단과 상기 제1 전자 장치가 상기 인코딩 비디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는, 또는, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간 간격을 상기 인코딩 비디오 스트림의 프레임에 포함하여 상기 제2 전자 장치에 전송하는 수단을 포함한다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 제2 전자 장치는, 제1 전자 장치로부터 수신한 인코딩 비디오 스트림의 프레임에서, 상기 인코딩 비디오 스트림을 지연하여 출력할 일정 시간 간격을 확인하는 수단, 및 상기 일정 시간 간격만큼 지연하여, 상기 인코딩 비디오 스트림을 디코딩하여 제2 전자장치의 출력장치를 통해 출력하는 수단을 포함한다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 컴퓨터 판독 가능 저장 매체는, 전자 장치에 의해 실행될 경우, 상기 장치로 하여금 청구항 제1항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 컴퓨터 판독 가능 저장 매체는, 전자 장치에 의해 실행될 경우, 상기 장치로 하여금 청구항 제13항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한다.
상술한 목적들을 달성하기 위한 본 발명의 실시 예에 따르면, 컴퓨터 판독 가능 저장 매체는, 전자 장치에 의해 실행될 경우, 상기 장치로 하여금 청구항 제16항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한다.
이외에 본 발명의 목적을 달성하기 위한 다양한 실시 예가 가능하다.
상술한 바와 같이 본 발명은, 소스 전자 장치로부터 싱크 전자 장치로 스트림 전송이 이루어지는 경우에, 소스 전자 장치가, 인코딩된 비디오 스트림을 디코딩하여, 로우(raw) 비디오 스트림을 스크린을 통하여 출력하고, 출력된 비디오 스트림을 다시 인코딩하여 전송하는 방법을 개선할 수 있다.
도 1(a)는 본 발명에 따라, WiFi 디스플레이 통신에서, WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치로 비디오 스트림(video signal)와 오디오 스트림(audio signal)를 전송하는 경우의 블록도,
도 1(b)는 본 발명에 따라, WiFi 디스플레이 통신에서, WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치 비디오 스트림이 전송되는 경우의 블록도,
도 1(c)는 본 발명에 따라, WiFi 디스플레이 통신에서, WiFi 디스플레이 소스 전자 장치로부터 제1(primary) WiFi 디스플레이 싱크 전자 장치로는 비디오 스트림이 전송되고, 제2(secondary) WiFi 디스플레이 싱크 전자 장치로는 오디오 스트림이 전송되는 경우의 블록도,
도 2는, 본 발명에 따른, 도 1의 WiFi 디스플레이 소스 전자 장치(WiFi Display Source electronic Device)의 하나의 실시 예의 블록도,
도 3은, 본 발명에 따른 실시 예에서, 도 2의 프로세서 유닛의 구성요소를 나타내는 블록도,
도 4는, 본 발명에 따른 실시 예에서, WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치로 스트림을 전송하기 위한 WiFi 디스플레이 통신 세션이 성립되는 과정을 나타내는 플로우 챠트,
도 5(a)는, 본 발명에 따른 실시 예에서, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션이 이루어지는 플로우 챠트,
도 5(b)는, 본 발명에 따른 실시 예에서, 도 5(a)의 플로우 챠트에 따른 방법에 대응되는 것으로, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션을 수행하는 장치,
도 6(a)는, 본 발명의 다른 실시 예에 따른, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션이 이루어지는 플로우 챠트,
도 6(b)는, 본 발명의 다른 실시 예에 따른, 도 6(a)의 플로우 챠트에 따른 방법에 대응되는 것으로, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션을 수행하는 장치,
도 7(a)는, 본 발명의 다른 실시 예에 따른, 소스 전자 장치로부터 비디오 스트림을 수신하는 싱크 전자장치의 비디오 스트림 수신 및 출력과정을 나타내는 플로우 챠트이다.
도 7(b)는, 본 발명의 다른 실시 예에 따른, 도 7(a)의 플로우 챠트에 대응하는, 소스 전자 장치로부터 비디오 스트림을 수신하는 싱크 전자장치의 비디오 스트림 수신 및 출력과정을 실행하는 장치.
도 8은, 본 발명의 다른 실시 예에 따른, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션이 이루어지는 플로우 챠트.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
도 1(a)는 본 발명에 따른 WiFi 디스플레이 통신에서, WiFi 디스플레이 소스 전자 장치(WiFi Display Source electronic Device)(110)(이하 소스 전자 장치로 약칭함)로부터 WiFi 디스플레이 싱크 전자 장치(WiFi Display Sink electronic Device)91200(이하 싱크 전자 장치로 약칭함)로 비디오 스트림(video signal)[Wi-Fi Display Specification 에서는 비디오 페이로드(video payload)로도 표현함]와 오디오 스트림이 전송되는 예를 나타낸다. 제어 신호는, 소스 전자 장치와 싱크 전자 장치 사이에서 필요에 따라 교환되는데, 예를 들어, 소스 전자 장치에서 싱크 전자 장치로 제어신호를 전송하여, 싱크 전자 장치에서의 비디오 및/또는 오디오 스트림의 출력(play), 출력 정지(stop) 또는 출력 중지(pause)를 제어할 수 있다.
WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치로 데이터를 전송하는 WiFi 디스플레이 통신은, WiFi 디스플레이 장치 검색(WFD device discovery) 단계, WiFi 디스플레이 연결 설정(WFD connection set up) 단계, WiFi 디스플레이 성능 검색(WFD capability discovery) 단계 및 WiFi 디스플레이 세션 성립(WFD Session Establishment) 단계로 이루어진다. 이외에 링크 콘텐츠 보호(Link Content Protection) 단계 등이 선택적으로 실행된다.
본 발명의 도 1(a)의 예에 따른 WiFi 디스플레이 통신에서, 소스 전자 장치가 싱크 전자 장치로 비디오 스트림를 전송하는 경우에, 소스 전자 장치가 소스 전자 장치의 출력장치(스크린)를 통하여 출력되는 디코딩 비디오 스트림을 다시 인코딩하여, 싱크 전자 장치로 전송하는 것이 아니라, 소스 장치가 저장하고 있는 인코딩된(encoded) 비디오 스트림을 싱크 전자 장치로 전송하는 것이다. 이 때, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 전송한다.
또한, 본 발명의 도 1(a)의 예에 따른 WiFi 디스플레이 통신에서, 소스 전자 장치가 싱크 전자 장치로 비디오 스트림과 오디오 스트림을 전송하는 경우에, 전송되는 비디오 스트림과 오디오 스트림을 차별적으로 처리할 수 있다. 여기에서 차별적으로 처리한다는 것의 의미는 다음과 같다. 즉, 비디오 스트림의 경우에는, 소스 전자 장치가 저장하고 있는 인코딩된(encoded) 비디오 스트림을 싱크 전자 장치로 전송하고, 오디오 스트림의 경우에는, 소스 전자 장치의 스피커를 통하여 출력되는 디코딩 오디오 스트림을 다시 인코딩하여, 인코딩한 오디오 스트림을 전송하는 것이다. 즉, 비디오 스트림의 경우, 인코딩된 비디오 스트림을 디코딩하여 소스 전자 장치의 스크린을 통하여 출력되는 로우(raw) 비디오 스트림을 다시 인코딩하여 싱크 전자 장치로 전송하는 것이 아니라, 소스 전자 장치가 저장하고 있는 인코딩된(encoded) 비디오 스트림을 싱크 전자 장치로 전송하거나, 출력 지연정보를 비디오 스트림에 포함시켜 전송한다.
도 1(a)의 설명 및 이하의 1(b) 및 도 1(c)의 설명에서, 그리고 본 명세서에서, 인코딩(encoding)(부호화)은 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상 또는 저장 공간 절약을 위해 다른 형태나 형식으로 변환하는 처리하는 것을 의미한다. 예를 들어, 비디오 스트림 및/또는 오디오 스트림을 일정한 포맷에 따라 압축 처리 하는 것을 의미한다. 예를 들어, 비디오 스트림의 경우에는, MPEG-4 또는 H264 포맷으로 압축 처리하는 것을 의미하고, 오디오 스트림의 경우에는 LPCM44.1, LPCM16-48, AACAC-3, AAA, AMR, WMA, MPEG-2 Audio 또는 MPEG-4 Audio 포맷으로 압축처리 하는 것을 의미한다.
디코딩(decoding)(복호화)은 인코딩된(부호화된) 정보를 인코딩 되기 전의 상태로 되돌리는 것을 의미한다. 일반적으로, 부호화의 절차를 역(reverse)으로 수행하면 된다. 디코딩(decoding)은, 예를 들어, 인코딩된(encoded) 오디오 및/ 비디오 스트림의 압축을 풀어 로우(raw) 스트림을 출력하는 과정을 의미한다. 비디오 로우(raw) 스트림은, 예를 들어, YUV(Luminance, Blue-Y, Red-Y) 또는 RGB(Red, Green, Blue) 스트림을 의미한다.
도 1(b)는 본 발명에 따른 WiFi 디스플레이 통신에서, WiFi 디스플레이 소스 전자 장치(130)로부터 WiFi 디스플레이 싱크 전자 장치(140)로 비디오 스트림이 전송되는 예를 나타낸다. 여기에서 제어 신호의 기능은, 도 1(a)에서 설명한 바와 같다.
본 발명의 도 1(b)의 예에 따른 WiFi 디스플레이 통신에서, 소스 전자 장치가 싱크 전자 장치로 비디오 스트림을 전송하는 경우, 소스 전자 장치가 소스 전자 장치의 출력장치(스크린)를 통하여 출력되는 디코딩 비디오 스트림을 다시 인코딩하여, 싱크 전자 장치로 전송하는 것이 아니라, 소스 장치가 저장하고 있는 인코딩된(encoded) 비디오 스트림을 싱크 전자 장치로 전송하는 것이다. 이 때, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 전송하거나, 출력 지연정보를 비디오 스트림에 포함시켜 전송한다.
즉, 소스장치가 인코딩된 비디오 스트림을 디코딩하여 소스 전자 장치의 스크린을 통하여 출력되는 로우(raw) 비디오 스트림을 다시 인코딩하여 싱크 전자 장치로 전송하는 것이 아니라, 소스 전자 장치가 저장하고 있는 인코딩된(encoded) 비디오 스트림을 직접 싱크 전자 장치로 전송한다. 이 때, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 전송하거나, 출력 지연정보를 비디오 스트림에 포함시켜 전송한다.
또한, 소스 전자 장치가 싱크 전자 장치로 비디오 스트림과 오디오 스트림을 전송하는 경우에, 전송되는 비디오 스트림과 오디오 스트림을 차별적으로 처리할 수 있다.
도 1(a)에서 설명한 WiFi 디스플레이 통신에서의 세선 성립은 도 1(b)에도 적용된다.
도 1(c)는 본 발명에 따라, WiFi 디스플레이 통신에서, WiFi 디스플레이 소스 전자 장치(150)로부터 제1(primary) WiFi 디스플레이 싱크 전자 장치(160)(이하 제1 싱크 전자 장치라 함)로는 비디오 스트림이 전송되고, 제2(secondary) WiFi 디스플레이 싱크 전자 장치(170)(이하 제2 싱크 전자 장치라 함)로는 오디오 스트림이 전송되는 경우의 예를 나타낸다. 여기에서 제어 신호 기능은, 도 1(a)에서 설명한 바와 같다. 또한, 도 1(a)에서 설명한 WiFi 디스플레이 통신에서의 세션 성립은 도 1(c)의 소스장치와 제1 싱크 전자 장치 사이에 적용되며, 소스 전자 장치와 제2 싱크 전자 장치 사이에도 적용된다. 이 경우, 제1 싱크 전자 장치와 제2 싱크 전자 장치 사이는 커플링된(coulpled) 상태이다.
본 발명의 도 1(c)의 예에 따른 WiFi 디스플레이 통신에서, 소스 전자 장치가 제1 싱크 전자 장치로 비디오 스트림을 전송하는 경우, 소스 전자 장치가, 소스 전자 장치의 출력장치(스크린)를 통하여 출력되는 디코딩 비디오 스트림을 다시 인코딩하여, 싱크 전자 장치로 전송하는 것이 아니라, 소스 장치가 저장하고 있는 인코딩된(encoded) 비디오 스트림을 제1 싱크 전자 장치로 전송하는 것이다. 이 때, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 전송하거나, 출력 지연정보를 비디오 스트림에 포함시켜 전송한다.
또한, 비디오 스트림과 오디오 스트림을 별개의 싱크 전자 장치로 전송하는 경우에 있어서, 비디오 스트림과 오디오 스트림을 다른 방식으로 처리하여 전송할 수 있다. 여기에서 다르게 처리하여 전송한다는 것의 의미는, 비디오 스트림의 경우에는, 소스 전자 장치가 저장하고 있는 인코딩된(encoded) 비디오 스트림을 제1 싱크 전자 장치로 전송하고, 오디오 스트림의 경우에는, 소스 전자 장치의 스피커를 통하여 출력되는 오디오 스트림을 다시 인코딩하여, 인코딩한 스트림을 제2 싱크 전자 장치로 전송하는 것이다. 즉, 비디오 스트림의 경우, 인코딩된 비디오 스트림을 디코딩하여 소스 전자 장치의 스크린을 통하여 출력되는 로우(raw) 비디오 스트림을 다시 인코딩하여 싱크 전자 장치로 전송하는 것이 아니라, 소스 전자 장치가 저장하고 있는 인코딩된(encoded) 비디오 스트림을 싱크 전자 장치로 전송할 수 있다는 것을 의미한다.
도 2는 본 발명에 따른, 도 1의 WiFi 디스플레이 소스 전자 장치(WiFi Display Source electronic Device)(100)의 실시 예의 블록도(200)이다. 이러한 소스 전자 장치(200)는, 휴대용 전자 장치(portable electronic device)일 수 있으며, 휴대용 단말기(portable terminal), 이동 전화(mobile phone), 이동 패드(mobile pad), 미디어 플레이어(media player), 태블릿 컴퓨터(tablet computer), 핸드헬드 컴퓨터(handheld computer) 또는 PDA(Personal Digital Assistant)와 같은 장치일 수 있다. 또한, 이러한 장치들 중 두 가지 이상의 기능을 결합한 장치를 포함하는 임의의 휴대용 전자 장치일 수도 있다.
이러한 소스 전자 장치(200)는 메모리(210), 프로세서 유닛(processor unit)(220), 제1 무선통신 서브시스템(230), 제2 무선통신 서브시스템(231), 외부 포트(260), 오디오 서브시스템(250), 스피커(251), 마이크로폰(252), 입출력(IO, Input Output) 시스템(270), 터치스크린(280) 및 기타 입력 또는 제어 장치(290)를 포함한다. 메모리(210)와 외부 포트(260)는 다수 개 사용될 수 있다.
프로세서 유닛(220)은, 메모리 인터페이스(221), 하나 이상의 프로세서 (204) 및 주변장치 인터페이스(peripheral interface)(223)를 포함할 수 있다. 경우에 따라서는, 프로세서 유닛(220) 전체를 프로세서로 칭하기도 한다. 메모리 인터페이스(221), 하나 이상의 프로세서(204) 및/또는 주변장치 인터페이스(2206)는 별개의 구성요소일 수 있거나 하나 이상의 집적화된 회로에 집적화될 수 있다.
프로세서(122)는 여러 가지의 소프트웨어 프로그램을 실행하여 전자 장치(200)를 위한 여러 기능을 수행하며, 또한 음성 통신 및 데이터 통신을 위한 처리 및 제어를 수행한다. 또한, 이러한 통상적인 기능에 더하여, 프로세서(222)는 메모리(210)에 저장되어 있는 특정한 소프트웨어 모듈(명령어 세트)을 실행하여 그 모듈에 대응하는 특정한 여러 가지의 기능을 수행하는 역할도 한다. 즉, 프로세서(222)는 메모리(210)에 저장된 소프트웨어 모듈들과 연동하여 본 발명의 실시 예의 방법을 수행한다.
본 발명의 일 실시 예는, 프로세서(220)가 인코딩 비디오 스트림의 인코딩 포맷을 확인한다. 여기에의 확인은 소스 전자 장치가 디코딩하여 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩이 지원되는 포맷인가를 확인한다. 인코딩 비디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩이 지원되는 포맷이면, 프로세서(220)는, 메모리의 코덱 모듈(215)을 실행하여, 소스 전자 장치가 저장하고 있는 인코딩 비디오 스트림을 디코딩하여 터치스크린을 통하여 출력한다. 또한, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 싱크 전자 장치로 전송한다. 또는, 출력 지연 시간 정보를 포함하여 인코딩 비디오 스트림을 싱크 전자 장치로 전송한다. 본 발명의 실시 예의 방법은 이하에서 설명하는 다양한 방법을 포함한다.
프로세서(204)는 하나 이상의 데이터 프로세서, 이미지 프로세서, 또는 코덱(CODEC)을 포함할 수 있다. 데이터 프로세서, 이미지 프로세서 또는 코덱은 별도로 구성할 수도 있다. 또한, 서로 다른 기능을 수행하는 여러 개의 프로세서로 구성될 수도 있다. 주변 장치 인터페이스(223)는 전자 장치(200)의 입출력 서브시스템(270) 및 여러 가지 주변 장치를 프로세서(221) 및 메모리(210)(메모리 인터페이스를 통하여)에 연결시킨다.
소스 전자 장치(200)의 다양한 구성요소들은 하나 이상의 통신 버스(참조번호 미기재) 또는 스트림 선(참조번호 미기재)에 의해 결합될(coupled) 수 있다.
외부 포트(260)는, 전자 장치(200)를 다른 전자 장치로 직접 연결되거나 네트워크(예컨대, 인터넷, 인트라넷, 무선 LAN 등)를 통하여 다른 전자 장치로 간접적으로 연결하는 데 사용된다. 외부 포트(260)는, 예를 들면, 이들에 한정되지는 않지만, USB(Universal serial Bus) 포트 또는 FIREWIRE 포트 등을 말한다.
움직임 센서(291) 및 제1 광 센서(292)는 주변장치 인터페이스(223)에 결합되어 여러 가지 기능을 가능하게 할 수 있다. 예를 들어, 움직임 센서(291) 및 광 센서(292)가 주변장치 인터페이스(223)에 결합되어 각각 전자 장치의 움직임 감지 및 외부로부터의 빛 감지를 가능하게 할 수 있다. 이외에도, 위치측정 시스템, 온도센서 또는 생체 센서 등과 같은 기타 센서들이 주변장치 인터페이스(223)에 연결되어 관련 기능들을 수행할 수 있다.
카메라 서브시스템(293)은 제2 광 센서(294)와 결합하여, 사진 및 비디오 클립 레코딩과 같은 카메라 기능을 수행할 수 있다.
제1 광 센서(292) 및 제2 광 센서(294)는 CCD(charged coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 디바이스를 사용할 수 있다.
하나 이상의 무선 통신 서브시스템(230, 231)을 통해 통신 기능이 수행된다. 무선 통신 서브시스템(230, 231)은 무선 주파수(radio frequency) 수신기 및 송수신기 및/또는 광(예컨대, 적외선) 수신기 및 송수신기를 포함할 수 있다. 제1 통신 서브시스템(230)과 제2 통신 서브 시스템(231)은 전자 장치(200)가 통신하는 통신 네트워크에 따라 구분할 수 있다. 예를 들어, 통신 네트워크는, 이들에 한정하지는 않지만, GSM(Global System for Mobile Communication) 네트워크, EDGE(Enhanced Data GSM Environment) 네트워크, CDMA(Code Division Multiple Access) 네트워크, W-CDMA(W-Code Division Multiple Access) 네트워크, LTE(Long Term Evolution) 네트워크, OFDMA(Orthogonal Frequency Division Multiple Access) 네트워크, Wi-Fi(Wireless Fidelity) 네트워크, WiMax 네트워크 또는/및 Bluetooth네트워크 등을 통해 동작하도록 설계되는 통신 서브시스템을 포함할 수 있다. 다만, 본 발명은 Wi-Fi(Wireless Fidelity) 네트워크를 통한 WiFi 통신이 필요하므로, 도 2에서, 제1 무선 통신 서브시스템(2224)과 제2 무선 통신 시스템 중 하나는 근거리 통신용일 수 있으며, 예를 들어, Wi-Fi(Wireless Fidelity) 네트워크를 통해 동작할 수 있다. 제1 무선 통신 서브시스템(230)과 제2 무선 통신 시스템은 합하여 하나의 무선 통신 서브시스템으로 구성할 수도 있다.
오디오 서브시스템(250)이 스피커(251) 및 마이크로폰(252)에 결합되어 음성 인식, 음성 복제, 디지털 레코딩(recording) 및 전화 기능과 같은 오디오 스트림의 입력과 출력을 담당할 수 있다. 즉, 오디오 서브시스템(250)은 스피커 (speaker)(251) 및 마이크로폰(252)을 통해 사용자와 소통한다(communicate). 오디오 서브시스템(250)은 프로세서 유닛(220)의 주변장치 인터페이스(223)를 통하여 데이터 스트림을 수신하고, 수신한 데이터 스트림을 전기 스트림으로 변환한다. 변환된 전기 스트림(electric signal)는 스피커(251)로 전달된다. 스피커는 전기 스트림을 사람이 들을 수 있는 음파(sound wave)로 변환하여 출력한다. 마이크로폰 (252)은, 사람이나 기타 다른 소리원(sound source)들로부터 전달된 음파를 전기 스트림으로 변환한다. 오디오 서브시스템(250)은 마이크로폰(252)으로부터 변환된 전기 스트림을 수신한다. 오디오 서브시스템(250)은 수신한 전기 스트림을 오디오 데이터 스트림으로 변환하며, 변환된 오디오 데이터 스트림을 주변 인터페이스 (123)로 전송한다. 오디오 서브시스템(250)은 탈부착 가능한(attachable and detachable) 이어폰(ear phone), 헤드폰(head phone) 또는 헤드셋(head set)을 포함할 수 있다.
입출력(I/O, Input/Output) 서브시스템(270)은 터치 스크린 제어기(271) 및/또는 기타 입력 제어기(272)를 포함할 수 있다. 터치스크린 제어기(271)는 터치 스크린(280)에 결합될 수 있다. 터치 스크린(280) 및 터치 스크린 제어기(271)는, 이하에 한정되지는 않지만, 터치 스크린(280)과의 하나 이상의 접촉점을 결정하기 위한 용량성, 저항성, 적외선 및 표면 음향파 기술들 뿐만 아니라 기타 근접 센서 배열 또는 기타 요소들을 포함하는 임의의 멀티 터치 감지 기술을 이용하여 접촉 및 움직임 또는 이들의 중단을 검출할 수 있다. 기타 입력 제어기(272)는 기타 입력/제어 장치들(290)에 결합될 수 있다. 기타 입력/제어 장치들(290)에 하나 이상의 볼륨 제어를 위한 업/다운 버튼 포함 가능하다. 또한, 버튼은 푸시 버튼(push button) 또는 로커 버튼(rocker button) 등을 사용 가능하다. 로커(rocker) 스위치, 섬 휠(thumb-wheel), 다이얼(dial), 스틱(stick), 및/또는 스타일러스와 같은 포인터 장치 등 일수 있다.
터치스크린(280)은 전자 장치(200)와 사용자 사이에 입력/출력 인터페이스를 제공한다. 즉, 터치스크린(280)은 사용자의 터치 입력을 전자 장치(200)에 전달한다. 또한 전자 장치(200)로부터의 출력을 사용자에게 보여주는 매개체이다. 즉, 터치스크린 (200)은 사용자에게 시각적인 출력을 보여준다. 이러한 시각적 출력(visual output)은 텍스트(text), 그래픽(graphic), 비디오(video)와 이들의 조합의 형태로 나타난다.
본 발명에서, 소스 전자 장치가 인코딩 비디오 스트림를 디코딩하여 출력할 때, 스크린을 통해서 할 수 있다. 이러한 스크린은 또한, 터치 입력을 처리하는 터치스크린일 수 있다.
터치스크린(280)은 여러 가지 디스플레이가 사용될 수 있다. 예를 들면, 이에 한정하지는 않지만, LCD(liquid crystal display), LED(Light Emitting Diode), LPD(light emitting polymer display), OLED(Organic Light Emitting Diode), AMOLED(Active Matrix Organic Light Emitting Diode) 또는 FLED(Flexible LED)를 사용할 수 있다.
메모리(210)는 메모리 인터페이스(221)에 결합될 수 있다. 메모리(210)는 하나 이상의 자기 디스크 저장 장치와 같은 고속 랜덤 액세스 메모리 및/또는 비휘발성 메모리, 하나 이상의 광 저장 장치 및/또는 플래시 메모리(예컨대, NAND, NOR)를 포함할 수 있다.
메모리(210)는 소프트웨어를 저장한다. 소프트웨어 구성요소는 운영 체제(operating system)(211) 모듈, 통신 모듈(212), 그래픽 모듈(213), 사용자 인터페이스 모듈(214) 및 CODEC 모듈(215), 카메라 모듈(216), 하나 이상의 애플리케이션 모듈(217) 등을 포함한다. 또한, 소프트웨어 구성요소인 모듈은 명령어들의 집합으로 표현할 수 있으므로, 모듈을 명령어 세트(instruction set)라고 표현하기도 한다. 모듈은 또한 프로그램으로 표현하기도 한다.
본 명세서를 통하여, 본 발명의 여러 가지 방법을 수행하는 명령어들은 포함하는 하나 이상의 모듈들이 메모리(210)에 저장될 수 있다.
운영 체제 소프트웨어(211)[예를 들어, WINDOWS, LINUX, 다윈(Darwin), RTXC, UNIX, OS X, 또는 VxWorks와 같은 내장 운영 체제]는 일반적인 시스템 작동(system operation)을 제어하는 여러 가지의 소프트웨어 구성요소를 포함한다. 이러한 일반적인 시스템 작동의 제어는, 예를 들면, 메모리 관리 및 제어, 저장 하드웨어(장치) 제어 및 관리, 전력 제어 및 관리 등을 의미한다. 이러한 운영 체제 소프트웨어는 여러 가지의 하드웨어(장치)와 소프트웨어 구성요소(모듈) 사이의 통신을 원활하게 하는 기능도 수행한다.
통신 모듈(212)은, 무선통신 서브시스템(230, 231)이나 외부 포트(260)를 통해 컴퓨터, 서버 및/또는 휴대용 단말기 등 다른 전자 장치와 통신을 가능하게 할 수 있다.
그래픽 모듈(213)은 터치스크린(280) 상에 그래픽을 제공하고 표시하기 위한 여러 가지 소프트웨어 구성요소를 포함한다. 그래픽(graphics)이란 용어는 텍스트(text), 웹 페이지(web page), 아이콘(icon), 디지털 이미지(digital image), 비디오(video), 애니메이션(animation) 등을 포함하는 의미로 사용된다.
사용자 인터페이스 모듈(214)은 사용자 인터페이스에 관련한 여러 가지 소프트웨어 구성요소를 포함한다. 사용자 인터페이스의 상태가 어떻게 변경되는지 또는 사용자 인터페이스 상태의 변경이 어떤 조건에서 이루어지는지 등에 대한 내용을 포함한다.
코덱(CODEC) 모듈(215)은 비디오 파일의 인코딩 및 디코딩 관련한 소프트웨어 구성요소를 포함할 수 있다. 코덱 모듈은 MPEG 모듈 및/또는 H204 모듈과 같은 비디오 스트림 모듈을 포함할 수 있다. 또한, 코덱 모듈은 AAA, AMR, WMA 등 여러 가지 오디오 파일용 코덱 모듈을 포함할 수 있다. 또한, 코덱 모듈(215)은 본 발명의 실시 방법에 대응하는 명령어 세트를 포함한다. 명령어는, 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하고, 여기에서 확인은 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하고, 제1 전자 장치가 인코딩 비디오 스트림의 프레임을 디코딩하여 제1 전자 장치의 출력 장치를 통하여 출력하며, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 제2 전자 장치에 전송하는 내용을 포함한다. 또한, 일정 시간 간격은, 제1 저장 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임 시간 정보와 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에 해당할 수 있다.
소스 전자 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임 시간 정보는, 파싱(parsing)된 인코딩 비디오 스트림의 패킷 헤더(프레임 헤더) 또는 패킷 페이로드(payload)(프레임 페이로드) 영역에서, 프레임 전체의 시간 정보 및/또는 프레임별 시간 정보를 확인할 수 있다. 예를 들어, 시간정보는 파싱하여 얻은 인코딩 스트림 중 오디오 스트림(데이터)와 비디오 스트림(데이터)가 어떻게 인터리빙(Interleaving) 되어져 있는지를 나타내는 내용에 포함되어 있습니다. 해당 프레임별 시간 정보란, 해당 프레임이 출력되는 순서를 포함할 수 있다. 또한, 해당 프레임별 시간 정보는, 언제 디스플레이하는 가에 대한 정보인 PTS(Present Time Stamp)값일 수 있다. 프레임에는 시계(clock)에 해당하는 PCR(Programme Clock Reference)를 포함하고 있어, 시간을 확인할 수 있다.
인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 프레임 시간 정보(PTS, Present Time Stamp) 는 디코딩 비디오 스트림의 출력 프레임을 모니터하여 얻을 수 있다.
따라서, 예를 들어, 인코딩 비디오 스트림의 프레임 시간 정보(PTS)와 디코딩하여 출력하는 디코딩 비디오 스트림의 프레임 시간 정보(PTS)를 비교하여 차이 값을 결정할 수 있다.
또한, 일정 시간 간격은, 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 제1 전자 장치의 전송으로부터 제2 전자 장치의 수신까지에 걸리는 시간을 차감한 값에 해당할 수 있다.
또한, 일정 시간 간격은, 제1 저장 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임 시간 정보와 인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 제1 전자 장치와 제2 전자 장치의 전송에 걸리는 시간과 제2 전자 장치가 상기 인코딩 비디오 스트림을 수신한 후 디코딩하여 제2 전자 장치의 출력 장치를 통하여 출력하는 데 걸리는 시간을 차감한 값에 해당할 수 있다.
또한, 명령어는, 제2 전자 장치로부터, 제2 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 내용을 포함할 수 있다. 또한, 명령어는, 제1 전자 장치가 제2 전자 장치로, 제1 전자 장치가 디코딩하여 제1 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하고, 제1 전자 장치가, 제2 전자 장치로부터, 요청에 대한 응답을 수신하는 내용을 포함할 수 있다. 또한, 명령어는, 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화하는 단계를 포함할 수 있다.
또한, 명령어는 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하고, 여기에서 확인은 제1 전자 장치가 디코딩하여 제1 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하고, 제1 전자 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임을 디코딩하여 제1 전자 장치의 출력 장치를 통하여 출력하며, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간 간격을 인코딩 비디오 스트림의 프레임에 포함하여 제2 전자 장치에 전송하는 내용을 포함할 수 있다.
또한, 명령어는, 제1 전자 장치로부터 수신한 인코딩 비디오 스트림의 프레임에서, 인코딩 비디오 스트림을 지연하여 출력할 일정 시간 간격을 확인하고, 일정 시간 간격만큼 지연하여, 인코딩 비디오 스트림을 디코딩하여 제2 전자장치의 출력장치를 통해 출력하는 내용을 포함할 수 있다.
또한, 명령어는, 제1 전자 장치가, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 상기 제2 전자 장치로 전송하는 내용을 포함할 수 있다.
카메라 모듈(216)은 카메라 관련 프로세스 및 기능들을 가능하게 하는 카메라 관련 소프트웨어 구성요소를 포함한다. 애플리케이션 모듈(217)은 브라우저(browser), 이메일(email), 즉석 메시지(instant message), 워드 프로세싱(word processing), 키보드 에뮬레이션(keyboard emulation), 어드레스 북(address book), 접촉 리스트(touch list), 위짓(widget), 디지털 저작권 관리(DRM, Digital Right Management), 음성 인식(voice recognition), 음성 복제, 위치 결정 기능(position determining function), 위치기반 서비스(location based service) 등을 포함한다. 메모리(210)는 위에서 기술한 모듈 이외에 추가적인 모듈(명령어들)을 포함할 수 있다. 또는, 필요에 따라, 일부의 모듈(명령어들)을 사용하지 않을 수 있다.
또한, 위에서 언급한, 그리고 이하에서 언급할, 본 발명에 따른 전자 장치(200)의 다양한 기능들은 하나 이상의 스트림 프로세싱(processing) 및/또는 애플리케이션 특정 집적 회로(ASIC, Application Specific Integrated circuit)를 포함하는 하드웨어 및/또는 소프트웨어 및/또는 이들의 결합으로 실행될 수 있다.
도 3은, 본 발명에 따른 실시 예에서, 도 2의 프로세서 유닛(220)의 구성요소를 나타낸다. 프로세서 유닛(220)은 메모리 인터페이스(310), 주변장치 인터페이스(340), 프로세서(320) 이외에 코덱(CODEC)(330)을 포함한다. 여기에서 코덱(330)은, 도 2의 메모리에 저장되어 있는 코덱 모듈의 기능을 하드웨어로 구성한 경우를 나타낸다. 프로세서(320)는 코덱(330) 및 메모리에 저장된 소프트웨어 모듈들과 연동하여 본 발명의 실시 예의 방법을 수행한다. 본 발명의 일 실시 예는, 프로세서(320)와 코덱(330)이 연동하여, 본 발명의 방법을 수행한다. 방법은, 인코딩 비디오 스트림의 인코딩 포맷을 확인하며, 여기에서의 확인은 소스 전자 장치가 디코딩하여 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩이 지원되는 포맷인가를 확인하는 것이다. 확인되면, 소스 전자 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임을, 디코딩하여, 도 2의 터치스크린(280)과 같은 출력장치를 통하여 출력한다. 또한, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 싱크 전자 장치로 전송한다. 즉, 도 3에서의 코덱(330)은 하드웨어 코덱으로 또 하나의 프로세서라고 할 수 있다.
또한, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 상기 제2 전자 장치로 전송하는 방법이 실행될 수 도 있다.
도 2 및 도 3은, 또한, 본 발명에 따른, 도 1의 WiFi 디스플레이 싱크 전자 장치(WiFi Display Sink electronic Device)의 실시 예의 블록도일 수 있다.
싱크 전자 장치인 경우, 메모리에는 소스 전자 장치로부터 수신한 비디오 스트림 및 오디오 스트림을 수신하여 처리하는 소프트웨어 구성요소인 모듈을 포함할 수 있다. 즉, 그러한 모듈은 소스 전자 장치로부터 수신한 인코딩 비디오 스트림의 프레임에서, 인코딩 비디오 스트림을 지연하여 출력할 일정 시간 간격을 확인하고, 일정 시간 간격만큼 지연하여, 인코딩 비디오 스트림을, 도2의 메모리의 코덱 모듈(215) 또는 도3의 하드웨어 코덱(330)과 연동하여, 디코딩하여, 도 2의 터치스크린(280)과 같은 출력장치를 통해 출력할 수 있다. 여기에서 일정 시간은 소스 전자 장치가 인코딩 프레임 스트림을 지연하여 전송할 때의 지연시간과 동일할 수 있다.
도 4는, 본 발명의 실시 예에 따른, WiFi 디스플레이 소스 전자 장치로부터 WiFi 디스플레이 싱크 전자 장치로 스트림을 전송하기 위한 WiFi 디스플레이 통신 세션이 성립되는 과정을 나타내는 플로우 챠트이다. WiFi 디스플레이 통신을 시작하기 위해서는, WiFi 디스플레이 장치 검색(WFD device discovery) 단계(410), WiFi 디스플레이 연결 설정(WFD connection set up) 단계(420), WiFi 디스플레이 성능 협상(WFD capability negotiation)(430) 단계 및 WiFi 디스플레이 세션 성립(WFD Session Establishment) 단계(440)가 수행된다. 이외에 링크 콘텐츠 보호(Link Content Protection) 단계 (미도시)등이 선택적으로 실행된다. WiFi 디스플레이 세션 성립 후에는 WiFi 디스플레이 장치 사이(소스 전자 장치와 싱크 전자 장치 사이에)에 비디오 스트림과 오디오 스트림의 전송이 이루어질 수 있다.
WiFi 디스플레이 장치 검색(WFD device discovery) 단계(410)는 소스 전자 장치와 싱크 전자 장치가 서로의 존재(presence)를 확인하는 과정이다. WiFi 디스플레이 연결 설정(WFD connection set up) 단계(420)는 WiFi 디스플레이 연결을 어떤 방법이 사용하는지 결정하는 단계이다. 예를 들어, WiFi direct 방식을 WiFi 디스플레이 연결에 사용하는 방식으로 결정하는 단계이다. WiFi 디스플레이 성능 협상(WFD capability negotiation) 단계(430)는 RTSP(Real Time Streaming Protocol) 소스 전자 장치와 싱크 전자 장치 사이에서 메시지 교환의 순서(sequence)를 결정하는 단계이다. RTSP 메시지 교환 순서 결정은 소스 전자 장치로부터 싱크 전자 장치로 전송되는 비디오/오디오 스트림을 정의하는(define) 파라미터(parameters)를 결정하기 위한 것이다. 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 전송하는 것이 이 단계에서 이루어질 수 있다. 인코딩 포맷은 인코딩 포맷 정보를 의미한다. 비디오 스트림 인코딩 포맷 정보는, H264 또는 MPEG-4 등을 의미한다. 소스 전자 장치와 싱크 전자 장치 사이에서 메시지 교환의 순서를 결정하고, 전송되는 비디오/오디오 스트림의 파라미터를 결정할 때, 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷 정보를 싱크 전자 장치가 소스 전자 장치로 송신할 수 있다. WiFi 디스플레이 세션 성립(WFD Session Establishment) 단계(440)는 소스 전자 장치와 싱크 전자 장치 사이에 세션이 성립된 것을 의미한다. 세션이 성립되면, 소스 전자 장치는 싱크 전자 장치로 선택한 스트림을 전송할 수 있다. 본 발명의 방법에 의해 소스 전자 장치와 싱크 전자 장치 사이의 스트림 전송이 수행된다. 이외에 선택적 단계로, 소스 전자 장치가 싱크 전자 장치로 전송하는 컨텐츠의 보안을 위한 링크 콘텐츠 보호(Link Content Protection) 단계 등 다수의 단계를 필요한 단계에서 실행할 수 있다. 링크 콘텐츠 보호 단계는 HDCP(High-bandwidth Digital Content Protection) 2.0 세션(session) 키(key)를 콘텐츠에 설정하는 방법으로 이루어 질 수 있다.
도 5(a)는, 본 발명의 실시 예에 따른, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션이 이루어지는 플로우 챠트이다. 먼저, 소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계가 수행된다(510). 여기에서 확인은, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩할 수 있는 포맷임을 결정하는 것을 의미한다. 소스 전자 장치는 다음으로는, 디코딩 비디오 스트림 출력 및 인코딩 비디오 스트림 전송 단계가 수행된다(520). 이 단계에서는, 소스 전자 장치는, 소스 전자 장치가 인코딩 비디오 스트림의 프레임을 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력하며, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 싱크 전자 장치에 전송한다.
소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계 이전에, 싱크 전자 장치로부터, 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 단계(미도시)를 포함할 수 있다. 여기에서 인코딩 포맷은 인코딩 포맷 정보를 의미한다. 비디오 스트림 인코딩 포맷 정보는, H264 또는 MPEG-4 등을 의미한다. 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷이 다수인 경우도 있다. 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷 정보를 수신하는 것은, 예를 들면, 도 4의 WiFi 디스플레이 성능 협상 단계(430)에서 이루어 질 수 있다. 즉, 소스 전자 장치와 싱크 전자 장치 사이에서 메시지 교환의 순서를 결정하고, 전송되는 비디오/오디오 스트림의 파라미터를 결정할 때, 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷 정보를 싱크 전자 장치로부터 수신할 수 있다. 싱크 전자 장치는, 비디오 스트림의 인코딩 포맷 정보를 제어 신호에 포함하여 전송할 수 있고, 또는, 프레임의 헤더(패킷 전송의 경우 패킷 헤더)에 포함하여 전송할 수 있으며, 또는 프레임의 페이로드(payroad)(패킷 전송의 경우 패킷 페이로드)의 특정 위치에 포함시켜 전송할 수 있다. 본 명세서에서 프레임 헤더와 패킷 헤더는 혼용하여 사용한다.
또한, 소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계(510) 이전에, 소스 전자 장치가 상기 싱크 전자 장치로, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 상기 싱크 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하고, 싱크 전자 장치로부터, 요청에 대한 응답을 수신하는 단계(미도시)를 포함할 수 있다. 이러한 과정은, 예를 들면, 도 4의 WiFi 디스플레이 성능 협상 단계(430)에서 이루어 질 수 있다.
디코딩 비디오 스트림 출력 및 인코딩 비디오 스트림 전송 단계(520)에서, 소스 전자 장치가 인코딩 비디오 스트림의 프레임을 디코딩하는 단계 이전에, 비디오 스트림과 오디오 스트림이 인터리브된(interleaved) 인코딩 스트림 [비디오(video)라고 하기도 한다]를 파싱(parsing)하여 인코딩 오디오 스트림과 인코딩 비디오 스트림으로 분리하는 단계(미도시)가 이루어질 수 있다. 인코딩 스트림은, 여기에 한정되지는 않지만, 소스 전자 장치가 다른 전자 장치로부터 다운로드 받아 저장하고 있거나, 소스 전자 장치의 카메라 서브시스템등과 구성요소에 의해 획득한 데이터를 인코딩한 스트리밍일 수 있으며, 또는, 인터넷을 통해 스트리밍 되고 있는 인코딩 스트림일 수 있다. 파싱은 하드웨어 또는 소프트웨어 방식으로 이루어 질 수 있다. 소프트웨어 방식으로 이루어지는 경우, 파싱 기능을 수행하는 명령어 세트가 별도의 파싱 모듈로 또는 코덱 모듈내의 일부로 구성되어 도 2의 메모리(210)에 저장될 수 있다. 파싱된 비디오 스트림과 오디오 스트림은 소스 전자 장치 내에 저장된다. 저장위치는 메모리 인터페이스 내의 일부 영역에, 주변 장치 인터페이스의 일부 영역에, 또는, 별도의 버퍼 메모리(RAM)가 될 수 있다.
디코딩 비디오 스트림 출력 및 인코딩 비디오 스트림 전송 단계(520)에서, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 싱크 전자 장치에 전송할 때의 일정 시간 간격은 다음과 같이 정할 수 있다. 즉, 일정 시간 간격은, 소스 전자 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에 해당한다.
소스 전자 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임 시간 정보는, 파싱된 인코딩 비디오 스트림의 패킷 헤더(프레임 헤더) 또는 패킷 페이로드(payload)(프레임 페이로드) 영역에서, 패킷 전체의 시간 정보 및/또는 패킷을 구성하는 프레임별 시간 정보를 확인할 수 있다. MPEC 포맷에서 PPS(Picture parameter set)와 SPS(Sequence Parameter Set)가 이에 해당할 수 있다. 해당 프레임별 시간 정보란, 해당 프레임이 출력되는 순서를 포함할 수 있다. 또한, 해당 프레임별 시간 정보는, 해당 프레임을 언제 디스플레이하는 가에 대한 정보인 PTS(Present Time Stamp)값일 수 있다. 프레임에는 시계(clock)에 해당하는 PCR(Programme Clock Reference)를 포함하고 있어, 시간을 확인할 수 있다.
인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 프레임 시간 정보(PTS, Present Time Stamp)는 디코딩 비디오 스트림의 출력 프레임을 모니터하여 얻을 수 있다.
따라서, 예를 들어, 인코딩 비디오 스트림의 프레임 시간 정보(PTS)와 디코딩하여 출력하는 디코딩 비디오 스트림의 프레임 시간 정보(PTS)를 비교하여 차이 값을 결정할 수 있다.
또한, 일정 시간 간격은, 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 소스 전자 장치의 전송으로부터 싱크 전자 장치의 수신까지에 걸리는 시간을 차감한 값에 해당할 수 있다. 소스 전자 장치의 전송으로부터 싱크 전자 장치의 수신까지에 걸리는 시간은, 소스 전자 장치와 싱크 전자 장치 사이의 RTT(Round Trip Time) 값의 1/2값이다. RTT는 소스 장치가 송신한 스트림에 대해 싱크 장치가 전송한 수신확인 (acknowledgement)을 수신하기 까지에 걸리는 시간을 의미한다. RTT 값을 측정하는 방법은 공지의 방법들 중 하나를 사용할 수 있다.
또한, 일정 시간 간격은, 제1 저장 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임 시간 정보와 인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 소스 전자 장치와 싱크 전자 장치의 전송에 걸리는 시간과 싱크 전자 장치가 인코딩 비디오 스트림을 수신한 후 디코딩하여 싱크 전자 장치의 출력 장치를 통하여 출력하는 데 걸리는 시간을 차감한 값에 해당할 수 있다. 싱크 전자 장치가 인코딩 비디오 스트림을 수신한 후 디코딩하여 싱크 전자 장치의 출력 장치를 통하여 출력하는 데 걸리는 시간은 싱크 전자 장치가 측정 가능하다. 즉, 수신한 인코딩 비디오 스트림의 프레임 시간 정보는, 파싱된 인코딩 비디오 스트림의 패킷 헤더(프레임 헤더) 또는 패킷 페이로드(payload)(프레임 페이로드) 영역에서, 확인할 수 있다. MPEC 포맷에서 PPS(Picture parameter set)와 SPS(Sequence Parameter Set)가 이에 해당할 수 있다. 프레임에는 시계(clock)에 해당하는 PCR(Programme Clock Reference)를 포함하고 있어, 시간을 확인할 수 있다. 인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 출력시간은 디코딩 비디오 스트림의 출력 프레임을 모니터하여 얻을 수 있다.
싱크 전자 장치에서 스트림을 수신한 때부터 수신 스트림을 출력할 때 까지의 시간 값을 소스 전자 장치로 알리는 방법은 제어신호를 통하여, 또는 패킷 헤더 또는 패킷 페이로드의 특정 영역을 지정하여 알릴 수 있다. 패킷 페이로드의 특정 영역을 지정하는 것은, 소스 전자 장치와 싱크 전자 장치 사이에서, 도 4의 WiFi 디스플레이 성능 협상 단계(430)에서 가능하다.
소스 전자 장치가 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 싱크 전자 장치에 전송하는 단계는, 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화(packetization)하는 단계(미도시)를 포함할 수 있다. 패킷화는, 예를 들어, MPEG-2-TS container 포맷일 수 있으며, IEEE 802.11 규격에 따른 패킷화 이전에 RTP(Rea Time Protocol)/UDP(Universla Datagram Protocol)/IP(Internet Protocol) 헤더로 인캡슐레이션(encapsulation)할 수 있다.
추가적으로, 소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계(510)는, 인코딩 오디오 스트림의 인코딩 포맷을 확인하는 것을 포함할 수 있다. 즉, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 오디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩할 수 있는 포맷임을 확인하는 것이다. 또한, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 싱크 전자 장치에 전송하는 단계(520)는, 소스 전자 장치가 인코딩 스트림을 파싱하여 저장하고 있는 인코딩 오디오 스트림의 프레임을 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력하며, 인코딩 오디오 스트림을, 인코딩 오디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 싱크 전자 장치에 전송할 수 있다. 오디오 스트림에 대한 설명은 위에서 기술한 비디오 스트림에 대한 설명에 기초하여 설명할 수 있다.
또한, 추가적으로 소스 전자 장치가, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 싱크 전자 장치로 전송하는 단계(미도시)를 포함할 수 있다
도 5(a)의 각 단계에 대한 명령어 세트는, 도 2의 메모리(210)의 코덱 모듈(215)에 포함될 수 있다. 이 경우, 메모리에 저장되어 있는 코덱 모듈(215)은 하나 이상의 프로세서에 의하여 실행될 수 있다.
도 5(b)는, 본 발명의 실시 예에 따른, 도 5(a)의 플로우 챠트에 따른 방법에 대응되는 것으로, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션을 수행하는 장치에 대한 것이다. 소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 수단(530)은, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩할 수 있는 포맷임을 결정한다. 디코딩 비디오 스트림 출력 및 인코딩 비디오 스트림 전송 수단(540)은, 인코딩 비디오 스트림의 프레임을 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력하며, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 전송한다.
추가적으로, 비디오 스트림과 오디오 스트림이 인터리브된(interleaved) 인코딩 스트림을 파싱(parsing)하여 오디오 스트림과 비디오 스트림을 분리하는 수단(미도시) 또는/및 싱크 전자 장치로부터, 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 수단(미도시) 또는/및 인코딩 비디오 스트림의 인코딩 포맷이 상기 싱크 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하고, 싱크 전자 장치로부터, 요청에 대한 응답을 수신하는 수단(미도시), 또는/및 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화하는 수단(미도시)을 포함할 수 있다.
또한, 추가적으로 소스 전자 장치가, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 싱크 전자 장치로 전송하는 단계(미도시)를 포함할 수 있다.
이러한 수단들은 각각 별개의 하드웨어로 구성되거나, 하나의 하드웨어로 구성될 수 있다.
도 6(a)는 다른 실시 에에 따른, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션이 이루어지는 플로우 챠트이다. 소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계(610)에서는 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩할 수 있는 포맷임을 확인한다. 다음에, 디코딩 비디오 스트림 출력 및 지연정보 포함한 인코딩 비디오 스트림 전송 단계(620)는, 소스 전자 장치의 인코딩 비디오 스트림의 프레임을 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간의 지연 정보를 인코딩 비디오 스트림의 프레임에 포함하여 싱크 전자 장치에 전송한다. 지연정보는 패킷 헤더 또는 패킷 페이로드의 일정 영역에 포함하여 전송할 수 있다. 패킷 페이로드의 특정 영역을 지정하는 것은, 소스 전자 장치와 싱크 전자 장치 사이에서, 도 4의 WiFi 디스플레이 성능 협상 단계(430)에서 가능하다. 또한, 별도의 제어신호를 통하여 전송하는 방법도 가능하다.
지연 정보는, 도 5(a)의 설명에서, 지연하는 일정 시간 간격에 해당하는 값이다.
소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계(610) 이전에, 싱크 전자 장치로부터, 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 단계(미도시)를 포함할 수 있으며, 이 단계에 대한 설명은 도 5(a)에 대한 설명의 대응 부분을 참조할 수 있다.
또한, 소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계(610) 이전에, 소스 전자 장치가 상기 싱크 전자 장치로, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 상기 싱크 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하고, 싱크 전자 장치로부터, 요청에 대한 응답을 수신하는 단계(미도시)를 포함할 수 있으며, 이 단계에 대한 설명은 도 5(a)에 대한 설명의 대응 부분을 참조할 수 있다.
또한, 디코딩 비디오 스트림 출력 및 지연 정보 포함한 인코딩 비디오 스트림 전송 단계(620)에서, 소스 전자 장치가 인코딩 비디오 스트림의 프레임을 디코딩하는 단계 이전에, 비디오 스트림과 오디오 스트림이 인터리브된(interleaved) 인코딩 스트림 [비디오(video)라고 하기도 한다]를 파싱(parsing)하여 오디오 스트림과 비디오 스트림을 분리하여 저장하는 단계(미도시)가 이루어질 수 있으며, 이 단계에 대한 설명은 도 5(a)에 대한 설명의 대응 부분을 참조할 수 있다.
디코딩 비디오 스트림 출력 및 지연 정보 포함한 인코딩 비디오 스트림 전송 단계(620)에서, 지연할 일정 시간은 도 5(a)에 대한 설명의 대응 부분을 참조할 수 있다.
소스 전자 장치가 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 싱크 전자 장치에 전송하는 단계 이전에, 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화하는 단계(미도시)를 포함할 수 있으며, 이 단계에 대한 설명은 도 5(a)에 대한 설명의 대응 부분을 참조할 수 있다.
추가적으로, 소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계(610)는, 인코딩 오디오 스트림의 인코딩 포맷을 확인하는 것을 포함할 수 있다. 즉, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 오디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩할 수 있는 포맷임을 확인하는 것이다. 또한, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 지연하여 출력하라는 지연정보를 포함하여 싱크 전자 장치에 전송하는 단계(620)는, 소스 전자 장치가 인코딩 스트림을 파싱하여 저장하고 있는 인코딩 오디오 스트림의 프레임을 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력하며, 인코딩 오디오 스트림을, 인코딩 오디오 스트림의 프레임 시간 정보보다 일정 시간 지연하여 출력하라는 지연정보를 포함하여 싱크 전자 장치에 전송할 수 있다. 오디오 스트림에 대한 설명은 위에서 기술한 비디오 스트림에 대한 설명에 기초하여 설명할 수 있다.
또한, 추가적으로 소스 전자 장치가, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 싱크 전자 장치로 전송하는 단계(미도시)를 포함할 수 있다.
도 6(a)의 각 단계에 대한 명령어 세트는, 도 2의 메모리(210)의 코덱 모듈(215)에 포함될 수 있다. 이 경우, 메모리에 저장되어 있는 코덱 모듈(215)은 하나 이상의 프로세서에 의하여 실행될 수 있다.
도 6(b)는, 본 발명의 다른 실시 예에 따른, 도 6(a)의 플로우 챠트에 따른 방법에 대응되는 것으로, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션을 수행하는 장치에 대한 것이다. 소스 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 수단(630)은, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩할 수 있는 포맷임을 결정한다. 디코딩 비디오 스트림 출력 및 지연 정보 포함한 인코딩 비디오 스트림 전송 수단(640)은, 인코딩 비디오 스트림의 프레임을 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력하며, 인코딩 비디오 스트림을, 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 출력하라는 지연정보를 포함한 비디오 스트림을 싱크 전자 장치로 전송한다.
추가적으로, 비디오 스트림과 오디오 스트림이 인터리브된(interleaved) 인코딩 스트림을 파싱(parsing)하여 오디오 스트림과 비디오 스트림을 분리하는 수단(미도시) 또는/및 싱크 전자 장치로부터, 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 수단(미도시) 또는/및 인코딩 비디오 스트림의 인코딩 포맷이 상기 싱크 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하고, 싱크 전자 장치로부터, 요청에 대한 응답을 수신하는 수단(미도시), 또는/및 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화하는 수단(미도시)을 포함할 수 있다.
또한, 추가적으로 소스 전자 장치가, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 싱크 전자 장치로 전송하는 단계(미도시)를 포함할 수 있다.
이러한 수단들은 각각 별개의 하드웨어로 구성되거나, 하나의 하드웨어로 구성될 수 있다.
도 7(a)는, 본 발명의 다른 실시 예에 따른, 소스 전자 장치로부터 비디오 스트림을 수신하는 싱크 전자장치의 비디오 스트림 수신 및 출력과정을 나타내는 플로우 챠트이다. 싱크 전자 장치는 수신한 인코딩 비디오 스트림의 출력 지연 정보를 확인하는 단계(710)에서, 소스 전자 장치로부터 수신한 인코딩 비디오 스트림의 패킷(프레임)에서, 인코딩 비디오 스트림을 디코딩하여 출력할 때, 지연할 일정 시간 간격을 확인한다. 다음에, 싱크 전자 장치는, 지연 정보 만큼 지연하여, 인코딩 비디오 스트림을 디코딩하여 싱크 전자장치의 출력장치를 통해 출력하는 단계(720)에서, 수신한 인코딩 비디오 스트림을 디코딩하여 출력하는 시간을 확인한 지연 정보 만큼 지연하여 출력한다.
지연하여 출력하는 방법은, 인코딩 비디오 스트림을 디코딩하는 타이밍을 지연 정보에 해당하는 일정 시간 간격만큼 지연하는 방법을 사용할 수 있다.
또는, 인코딩 비디오 스트림을 디코딩한 다음, 출력장치를 통하여 출력하는 타이밍을 지연 정보에 해당하는 일정 시간 간격만큼 지연하는 방법을 사용할 수 있다.
또한, 추가적으로 소스 전자 장치가, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 싱크 전자 장치로 전송하는 단계(미도시)를 포함할 수 있다.
도 7(b)는, 본 발명의 다른 실시 예에 따른, 도 7(a)의 플로우 챠트에 대응하는, 소스 전자 장치로부터 비디오 스트림을 수신하는 싱크 전자장치의 비디오 스트림 수신 및 출력과정을 실행하는 장치이다. 싱크 전자 장치는 수신한 인코딩 비디오 스트림의 출력 지연 정보를 확인하는 수단(730)과 지연 정보만큼 지연하여, 인코딩 비디오 스트림을 디코딩하여 출력장치를 통해 출력하는 수단(740)을 포함한다. 수신한 인코딩 비디오 스트림의 출력 지연 정보를 확인하는 수단(730)은, 소스 전자 장치로부터 수신한 인코딩 비디오 스트림의 패킷(프레임)에서, 인코딩 비디오 스트림을 디코딩하여 출력할 때, 지연할 일정 시간 간격을 확인한다. 지연 정보만큼 지연하여, 인코딩 비디오 스트림을 디코딩하여 출력장치를 통해 출력하는 수단(740)은 수신한 인코딩 비디오 스트림을 디코딩하여 출력하는 시간을, 확인한 지연 정보만큼 지연하여 출력한다.
추가적으로, 인코딩 비디오 스트림을 디코딩하는 타이밍을 지연 정보에 해당하는 일정 시간 간격만큼 지연하여 디코딩 비디오 스트림을 출력하는 수단(미도시) 또는 인코딩 비디오 스트림을 디코딩한 다음 출력장치를 통하여 출력하는 타이밍을 지연 정보에 해당하는 일정 시간 간격만큼 지연하는 수단(미도시)을 포함할 수 있다.
또한, 추가적으로 소스 전자 장치가, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 싱크 전자 장치로 전송하는 단계(미도시)를 포함할 수 있다.
이러한 수단들은 각각 별개의 하드웨어로 구성되거나, 하나의 하드웨어로 구성될 수 있다.
도 8은, 본 발명의 다른 실시 예에 따른, 소스 전자 장치로부터 싱크 전자 장치로 비디오 스트림을 전송하는 WiFi 디스플레이 통신 세션이 이루어지는 플로우 챠트이다.
소스 전자 장치의 인코딩 비디오 스트림이 싱크장치가 디코딩 가능한 비디오 스트림 포맷인지 결정한다(810). 즉, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩할 수 있는 포맷임을 결정한다. 이러한 결정을 하기 위하여는, 싱크 전자 장치로부터, 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 단계(미도시)가 선행할 수 있다. 여기에서 인코딩 포맷은 인코딩 포맷 정보를 의미한다. 비디오 스트림 인코딩 포맷 정보는, H264 또는 MPEG-4 등을 의미한다. 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷이 다수인 경우도 있다. 싱크 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷 정보를 수신하는 것은, 예를 들면, 도 4의 WiFi 디스플레이 성능 협상 단계(430)에서 이루어 질 수 있다. 즉, 소스 전자 장치와 싱크 전자 장치 사이에서 메시지 교환의 순서를 결정하고, 전송되는 비디오/오디오 스트림의 파라미터를 결정할 때, 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷 정보를 싱크 전자 장치로부터 수신할 수 있다. 싱크 전자 장치는, 비디오 스트림의 인코딩 포맷 정보를 제어 신호에 포함하여 전송할 수 있고, 또는, 프레임의 헤더(패킷 전송의 경우 패킷 헤더)에 포함하여 전송할 수 있으며, 또는 프레임의 페이로드(payroad)(패킷 전송의 경우 패킷 페이로드)의 특정 위치에 포함시켜 전송할 수 있다. 본 명세서에서 프레임 헤더와 패킷 헤더는 혼용하여 사용한다.
또는, 소스 전자 장치가 상기 싱크 전자 장치로, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 비디오 스트림의 인코딩 포맷이 상기 싱크 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하고, 싱크 전자 장치로부터, 요청에 대한 응답을 수신하는 단계(미도시)가 선행할 수 있다. 이러한 과정은, 예를 들면, 도 4의 WiFi 디스플레이 성능 협상 단계(430)에서 이루어 질 수 있다.
소스 전자 장치의 인코딩 비디오 스트림이 싱크장치가 디코딩 가능한 비디오 스트림 포맷인 경우에, 소스 전자 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임(패킷) 시간 정보를 확인하고, 인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 프레임(패킷) 시간 정보를 확인한다(820).
인코딩 비디오 스트림은, 인코딩 오디오 스트림과 인코딩 비디오 스트림이 인터리브된(interleaved) 인코딩 스트림 [비디오(video)라고 하기도 한다]를 파싱(parsing)하여 인코딩 오디오 스트림과 인코딩 비디오 스트림을 분리되어 저장된 것이다.
인코딩 스트림은, 여기에 한정되지는 않지만, 소스 전자 장치가 다른 전자 장치로부터 다운로드 받아 저장하고 있거나, 소스 전자 장치의 카메라 서브시스템등과 구성요소에 의해 획득한 데이터를 인코딩한 스트리밍일 수 있으며, 또는, 인터넷을 통해 스트리밍 되고 있는 인코딩 스트림일 수 있다. 파싱은 하드웨어 또는 소프트웨어 방식으로 이루어 질 수 있다. 소프트웨어 방식으로 이루어지는 경우, 파싱 기능을 수행하는 명령어 세트가 별도의 파싱 모듈로 또는 코덱 모듈내의 일부로 구성되어 도 2의 메모리(210)에 저장될 수 있다. 파싱된 비디오 스트림과 오디오 스트림은 소스 전자 장치 내에 저장된다. 저장위치는 메모리 인터페이스 내의 일부 영역에, 주변 장치 인터페이스의 일부 영역에, 또는, 별도의 버퍼 메모리(RAM)가 될 수 있다.
소스 전자 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임 시간 정보는, 파싱된 인코딩 비디오 스트림의 패킷 헤더(프레임 헤더) 또는 패킷 페이로드(payload)(프레임 페이로드) 영역에서, 프레임 전체의 시간 정보 및/또는 프레임별 시간 정보를 확인할 수 있다. MPEC 포맷에서 PPS(Picture parameter set)와 SPS(Sequence Parameter Set)가 이에 해당한다. 해당 프레임별 시간 정보란, 해당 프레임이 출력되는 순서를 의미한다. 인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 프레임 시간 정보는 디코딩 비디오 스트림의 출력 프레임을 모니터하여 얻을 수 있다. 따라서, 인코딩 비디오 스트림의 프레임 시간 정보와 디코딩하여 출력하는 디코딩 비디오 스트림의 프레임 시간 정보를 비교하여 차이 값을 결정할 수 있다.
추가적으로, 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 소스 전자 장치의 전송으로부터 싱크 전자 장치의 수신까지에 걸리는 시간을 차감한 값을 차이 값으로 할 수 있다. 소스 전자 장치의 전송으로부터 싱크 전자 장치의 수신까지에 걸리는 시간은, 소스 전자 장치와 싱크 전자 장치 사이의 RTT(Round Trip Time) 값의 1/2값이다.
또한, 제1 저장 장치가 저장하고 있는 인코딩 비디오 스트림의 프레임 시간 정보와 인코딩 비디오 스트림을 출력하기 위해 디코딩한 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 소스 전자 장치와 싱크 전자 장치의 전송에 걸리는 시간과 싱크 전자 장치가 인코딩 비디오 스트림을 수신한 후 디코딩하여 싱크 전자 장치의 출력 장치를 통하여 출력하는 데 걸리는 시간을 차감한 값을 차이 값으로 할 수도 있다. 싱크 전자 장치가 인코딩 비디오 스트림을 수신한 후 디코딩하여 싱크 전자 장치의 출력 장치를 통하여 출력하는 데 걸리는 시간은 싱크 전자 장치가 측정 가능하며, 특정한 이 시간 값을 소스 전자 장치로 알리는 방법은 제어신호를 통하여, 또는 패킷 헤더 또는 패킷 페이로드의 특정 영역을 지정하여 알릴 수 있다. 패킷 페이로드의 특정 영역을 지정하는 것은, 소스 전자 장치와 싱크 전자 장치 사이에서, 도 4의 WiFi 디스플레이 성능 협상 단계(430)에서 가능하다.
다음에, 인코딩 비디오 스트림의 프레임(패킷) 시간 정보와 디코딩하여 출력하는 디코딩 비디오 스트림의 프레임(패킷) 시간 정보의 차이 값을 적용하여, 인코딩 비디오 스트림을 스누핑(snooping)한다(830). 차이 값은 위에서 언급한 다른 값들이 될 수 있다. 인코딩 비디오 스트림을 스누핑(snooping)한다는 것은, 인코딩 비디오 스트림을 처리를 위 차이 값만큼 지연하는 것을 포함한다(830).
다음에, 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화(packetization)하는 단계(840)를 포함할 수 있다. 패킷화는, 예를 들어, MPEG-2-TS container 포맷일 수 있으며, IEEE 802.11 규격에 따른 패킷화 이전에 RTP(Rea Time Protocol)/UDP(Universla Datagram Protocol)/IP(Internet Protocol) 헤더로 인캡슐레이션(encapsulation)할 수 있다.
다음으로, 소스 전자 장치는 인코딩 비디오 스트림을 싱크 전자 장치로 전송 한다(850).
추가적으로, 소스 전자 장치의 인코딩 비디오 스트림이 싱크장치가 디코딩 가능한 비디오 스트림 포맷인지 결정하는 단계(810)에서, 인코딩 오디오 스트림의 인코딩 포맷을 확인하는 것을 포함할 수 있다. 즉, 소스 전자 장치가 디코딩하여 소스 전자 장치의 출력 장치를 통하여 출력할, 인코딩 오디오 스트림의 인코딩 포맷이 싱크 전자 장치에서 디코딩할 수 있는 포맷임을 확인하는 것이다. 또한, 오디오 스트림에 대한 다음 단계들의 처리는 위에서 기술한 비디오 스트림에 대한 설명에 기초하여 설명할 수 있다.
또한, 추가적으로 소스 전자 장치가, 인코딩 오디오 스트림을 디코딩하여 출력하고, 출력하는 오디오 스트림을 인코딩하여 싱크 전자 장치로 전송하는 단계(미도시)를 포함할 수 있다.
도 8의 각 단계에 대한 명령어 세트는, 도 2의 메모리(210)의 코덱 모듈(215)에 포함될 수 있다. 이 경우, 메모리에 저장되어 있는 코덱 모듈(215)은 하나 이상의 프로세서에 의하여 실행될 수 있다.
본 명세서에 설명된 발명의 실시 예 및 모든 기능 동작들은 본 명세서에서 개시된 구조 및 이들의 균등 구조들을 포함하는 컴퓨터 소프트웨어, 펌웨어(firmware), 또는 하드웨어로, 또는 이들의 하나 이상의 조합으로 실시될 수 있다. 또한, 본 명세서에서 설명된 발명의 실시 예들은 하나 이상의 컴퓨터 프로그램 제품, 즉 데이터 프로세싱 장치에 의해 실행되거나 이 장치의 동작을 제어하기 위한 컴퓨터 판독가능 매체 상에 인코딩된 컴퓨터프로그램 명령어들의 하나 이상의 모듈로 실시될 수 있다.
컴퓨터 판독가능 매체는 머신 판독가능 저장 매체,머신 판독가능 저장 기판, 메모리 장치, 머신 판독가능 전파 스트림에 영향을 주는 물질의 구성, 또는 이들의 하나 이상의 조합이 될 수 있다. 데이터 프로세싱 장치라는 용어는 예로 프로그램 가능한 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터를 포함하는 데이터를 프로세싱 하기 위한 모든 기기, 장치 및 머신을 포함한다. 기기는 하드웨어에 부가하여 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예컨대 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템 또는 하나 이상의 이들의 조합을 구성하는 코드를 포함할 수 있다.
전파 스트림은 인공적으로 생성된 스트림, 예컨대 적절한 수신기 장치로의 전송을 위한 정보를 인코딩하기 위해 생성되는 머신 생성 전기, 광, 또는 전자기 스트림이다. (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려진) 컴퓨터 프로그램은 컴파일되거나 해석된 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기재될 수 있고, 이는 자립형(stand-alone)프로그램 또는 모듈, 구성요소, 서브루틴 또는 컴퓨팅 환경의 사용에 적절한 기타 유닛을 포함하는 임의의 형태로 사용될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응할 필요는 없다. 프로그램은 기타프로그램 또는 데이터(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 갖는 파일의 부분에 저장되거나, 해당 프로그램에 전용된 단일 파일 내에 저장되거나, 복수의 좌표 파일들(예컨대, 하나 이상의 모듈, 서브 프로그램 또는 코드 부분) 내에 저장될 수 있다.
컴퓨터 프로그램은 한 지역에 위치하거나 복수의 지역에 걸쳐 분산되고 통신 네트워크에 의해 상호 연결되는 하나의 컴퓨터 또는 복수의 컴퓨터 상에서 실행되도록 이용될 수 있다. 본 명세서에서 설명된 프로세스 및 로직 플로우는 입력 데이터를 운영하고 출력을 생성하여 기능들을 수행하는하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 플로우는 또한 특수 목적 로직 회로, 예컨대 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 수행될 수 있고, 기기가 특수 목적 로직 회로로 구현될 수 있다.
본 명세서는 여러 구체적인 내용들을 포함하는 반면, 이러한 내용은 본 발명의 범위 또는 청구될 수 있는 범위를 한정하는 것으로 해석되어서는 안 되고 본 발명의 특정 실시 예에 특정된 기능들의 설명으로 해석되어야 한다. 본 명세서에서 별개의 실시 예에서 설명된 구체적인 특징들은 또한 하나의 실시 예로 조합되어 실시될 수 있다. 반대로, 하나의 실시 예에서 설명된 여러 가지 특징들이 또한 복수의 실시 예에서 개별적으로 실시되거나 임의의 적절한 서브조합으로 실시될 수 있다. 또한, 비록 특징들이 위에서 특정 조합들로 작용하는 것으로 설명될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 케이스에서 조합으로부터 삭제될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것이 될 수 있다. 유사하게, 동작들이 특정 순서로 도면에서 묘사되었지만, 이는 바람직한 결과를 얻기 위해 이러한 동작들이 도시된 특정 순서 또는 일련의 순서로 수행되어야만 하거나 모든 도시된 동작들이 수행되어야만 하는 것으로 해석되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 프로세싱이 바람직할 수 있다. 더욱이, 위에서 설명된 실시 예들의 다양한 시스템 구성요소들의 구분은 모든 실시 예에서 이러한 구분이 요구되는 것으로 해석되어서는 안되고, 설명된 프로그램 구성요소들 및 시스템들이 일반적으로 하나의 소프트웨어 제품에 함께 통합되거나 복수의 소프트웨어 제품으로 패키지화 될 수 있다.
200: WiFi 디스플레이 소스 전자 장치, 210: 메모리, 220: 프로세서 유닛,
230: 제1 무선통신 시스템, 231: 제2 무선통신 서브 시스템,

Claims (52)

  1. 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하는 것이며; 및
    상기 제1 전자 장치가 상기 인코딩 비디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하거나, 또는 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간 간격을 상기 인코딩 비디오 스트림의 프레임에 포함하여 상기 제2 전자 장치에 전송하는 단계를 포함하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  2. 제1항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에 해당하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  3. 제1항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 상기 제1 전자 장치의 전송으로부터 상기 제2 전자 장치의 수신까지에 걸리는 시간을 차감한 값에 해당하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  4. 제1항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 상기 제1 전자 장치와 상기 제2 전자 장치의 전송에 걸리는 시간과 상기 제2 전자 장치가 상기 인코딩 비디오 스트림을 수신한 후 디코딩하여 상기 제2 전자 장치의 출력 장치를 통하여 출력하는 데 걸리는 시간을 차감한 값에 해당하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  5. 제1항에서,
    상기 제1 전자 장치가 상기 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계 이전에,
    상기 제2 전자 장치로부터, 상기 제2 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 단계를 더 포함하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  6. 제1항에서,
    상기 제1 전자 장치가 상기 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계 이전에,
    상기 제1 전자 장치가 상기 제2 전자 장치로, 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 상기 제2 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하는 단계와;
    상기 제1 전자 장치가, 상기 제2 전자 장치로부터, 상기 요청에 대한 응답을 수신하는 단계를 더 포함하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  7. 제2항에서,
    상기 인코딩 비디오 스트림의 프레임 시간 정보는, 인코딩 비디오를 인코딩 비디오 스트림과 인코딩 오디오 스트림으로 파싱(parsing)한 후에 저장된 상기 인코딩 비디오 스트림의 헤더에서 확인하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  8. 제2항에서,
    상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보는 상기 디코딩 비디오 스트림의 출력의 프레임을 모니터하여 얻는,
    제1 전자 장치의 비디오 스트림 전송방법.
  9. 제1항에서,
    상기 일정 시간 간격은, 인코딩 비디오를 파싱한 후에 저장된 인코딩 비디오 스트림의 헤더에서 확인한, 상기 인코딩 비디오 스트림의 프레임 시간 정보와,
    상기 디코딩하여 출려과는 상기 디코딩 비디오 스트림을 모니터하여 얻은 상기 디코딩 비디오 스트림의 프레임 시간 정보를 비교하여 결정하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  10. 제1항에서,
    상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는 단계는, 상기 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화하는 단계를 포함하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  11. 제1항에 있어서,
    상기 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계는, 인코딩 오디오 스트림의 인코딩 포맷을 확인하는 것을 포함하며, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 오디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하는 것을 포함하며;
    상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는 단계는, 상기 제1 전자 장치가 저장하고 있는 상기 인코딩 오디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 오디오 스트림을, 상기 인코딩 오디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는 것을 포함하는,
    제1 전자 장치의 비디오 스트림 전송방법.
  12. 제1항에 있어서,
    상기 제1 전자 장치는, 인코딩 오디오 스트림을 디코딩하여 출력하고, 상기 출력하는 오디오 스트림을 인코딩하여 상기 제2 전자 장치로 전송하는 단계를 더 포함하는, 제1 전자 장치의 비디오 스트림 전송방법.
  13. 제1 전자 장치로부터 수신한 인코딩 비디오 스트림의 프레임에서, 상기 인코딩 비디오 스트림을 지연하여 출력할 일정 시간 간격을 확인하는 단계; 및
    상기 일정 시간 간격만큼 지연하여, 상기 인코딩 비디오 스트림을 디코딩하여 제2 전자장치의 출력장치를 통해 출력하는 단계를 포함하는,
    제2 전자 장치의 비디오 스트림 처리방법.
  14. 제13항에서,
    상기 인코딩 비디오 스트림을 디코딩하는 타이밍을 상기 일정 시간 간격만큼 지연하는,
    제2 전자 장치의 비디오 스트림 처리방법.
  15. 제13항에서,
    상기 인코딩 비디오 스트림을 디코딩한 다음, 상기 출력장치를 통하여 출력하는 타이밍을 상기 일정 시간 간격만큼 지연하는,
    제2 전자 장치의 비디오 스트림 처리방법.
  16. 하나 이상의 프로세서;
    메모리; 및
    상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의하여 실행되도록 구성되는 하나 이상의 모듈을 포함하는 전자 장치로서,
    상기 모듈은,
    제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하고, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하고;
    상기 제1 전자 장치가 상기 인코딩 비디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는, 또는, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간 간격을 상기 인코딩 비디오 스트림의 프레임에 포함하여 상기 제2 전자 장치에 전송하는 명령어를 포함하는
    제1 전자 장치.
  17. 제16항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에 해당하는,
    제1 전자 장치.
  18. 제16항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 상기 제1 전자 장치의 전송으로부터 상기 제2 전자 장치의 수신까지에 걸리는 시간을 차감한 값에 해당하는,
    제1 전자 장치.
  19. 제16항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 상기 제1 전자 장치와 상기 제2 전자 장치의 전송에 걸리는 시간과 상기 제2 전자 장치가 상기 인코딩 비디오 스트림을 수신한 후 디코딩하여 상기 제2 전자 장치의 출력 장치를 통하여 출력하는 데 걸리는 시간을 차감한 값에 해당하는,
    제1 전자 장치.
  20. 제16항에서,
    상기 제2 전자 장치로부터, 상기 제2 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 명령어를 더 포함하는,
    제1 전자 장치.
  21. 제16항에서,
    상기 제1 전자 장치가 상기 제2 전자 장치로, 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 상기 제2 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하고;
    상기 제1 전자 장치가, 상기 제2 전자 장치로부터, 상기 요청에 대한 응답을 수신하는 명령어를 더 포함하는,
    제1 전자 장치.
  22. 제17항에서,
    상기 인코딩 비디오 스트림의 프레임 시간 정보는, 인코딩 비디오를 파싱한 후에 저장된 인코딩 비디오 스트림의 헤더에서 확인하는,
    제1 전자 장치.
  23. 제17항에서,
    상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보는 상기 디코딩 비디오 스트림의 출력을 모니터하여 얻는,
    제1 전자 장치.
  24. 제16항에서,
    상기 일정 시간 간격은, 인코딩 비디오를 파싱한 후에 저장된 인코딩 비디오 스트림의 헤더에서 확인한, 상기 인코딩 비디오 스트림의 프레임 시간 정보와,
    상기 디코딩하여 출려과는 상기 디코딩 비디오 스트림을 모니터하여 얻은 상기 디코딩 비디오 스트림의 프레임 시간 정보를 비교하여 결정하는,
    제1 전자 장치.
  25. 제16항에서,
    상기 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화하는 명령어를 더 포함하는,
    제1 전자 장치.
  26. 제16항에 있어서,
    상기 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 명령어는, 인코딩 오디오 스트림의 인코딩 포맷을 확인하는 것을 포함하며, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 오디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하고;
    상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는 명령어는, 상기 제1 전자 장치가 저장하고 있는 상기 인코딩 오디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 오디오 스트림을, 상기 인코딩 오디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는,
    제1 전자 장치.
  27. 제16항에 있어서,
    상기 제1 전자 장치의 출력장치는 스크린이며, 여기서 상기 스크린은 터치 입력이 가능한 터치 스크린인,
    제1 전자 장치.
  28. 제1항에 있어서,
    상기 명령어는, 인코딩 오디오 스트림을 디코딩하여 출력하고, 상기 출력하는 오디오 스트림을 인코딩하여 상기 제2 전자 장치로 전송하는 명령어를 더 포함하는, 제1 전자 장치.
  29. 하나 이상의 프로세서;
    메모리; 및
    상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의하여 실행되도록 구성되는 하나 이상의 모듈을 포함하는 전자 장치로서,
    상기 모듈은,
    제1 전자 장치로부터 전송되는 인코딩 비디오 스트림의 프레임에서, 상기 인코딩 비디오 스트림을 지연하여 출력할 일정 시간 간격을 확인하고, 상기 일정 시간 간격만큼 지연하여, 상기 인코딩 비디오 스트림을 디코딩하여 제2 전자장치의 출력장치를 통해 출력하는 명령어를 포함하는,
    제2 전자 장치.
  30. 제29항에서,
    상기 인코딩 비디오 스트림을 디코딩하는 타이밍을 상기 일정 시간 간격만큼 지연하는,
    제2 전자 장치.
  31. 제29항에서,
    상기 인코딩 비디오 스트림을 디코딩한 다음, 상기 출력장치를 통하여 출력하는 타이밍을 상기 일정 시간 간격만큼 지연하는,
    제2 전자 장치.
  32. 제29항에 있어서,
    상기 제2 전자 장치의 출력장치는 스크린이며, 여기서 상기 스크린은 터치 입력이 가능한 터치 스크린인,
    제2 전자 장치.
  33. 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 단계, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하는 수단; 및
    상기 제1 전자 장치가 상기 인코딩 비디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는, 또는, 상기 인코딩 비디오 스트림을, 상기 인코딩 비디오 스트림의 프레임 시간 정보보다 지연하여 출력할 일정 시간 간격을 상기 인코딩 비디오 스트림의 프레임에 포함하여 상기 제2 전자 장치에 전송하는 수단을 포함하는,
    제1 전자 장치.
  34. 제33항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에 해당하는,
    제1 전자 장치.
  35. 제33항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 상기 제1 전자 장치의 전송으로부터 상기 제2 전자 장치의 수신까지에 걸리는 시간을 차감한 값에 해당하는,
    제1 전자 장치.
  36. 제33항에서,
    상기 일정 시간 간격은, 상기 제1 저장 장치가 저장하고 있는 상기 인코딩 비디오 스트림의 프레임 시간 정보와 상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보의 차이 값에서 상기 제1 전자 장치와 상기 제2 전자 장치의 전송에 걸리는 시간과 상기 제2 전자 장치가 상기 인코딩 비디오 스트림을 수신한 후 디코딩하여 상기 제2 전자 장치의 출력 장치를 통하여 출력하는 데 걸리는 시간을 차감한 값에 해당하는,
    제1 전자 장치.
  37. 제33항에서,
    상기 제2 전자 장치로부터, 상기 제2 전자 장치가 디코딩 할 수 있는 비디오 스트림의 인코딩 포맷을 수신하는 수단을 더 포함하는,
    제1 전자 장치.
  38. 제33항에서,
    상기 제1 전자 장치가 상기 제2 전자 장치로, 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 비디오 스트림의 인코딩 포맷이 상기 제2 전자 장치에서 디코딩할 수 있는 포맷인지 여부를 문의하는 요청을 전송하는 수단과;
    상기 제1 전자 장치가, 상기 제2 전자 장치로부터, 상기 요청에 대한 응답을 수신하는 수단을 더 포함하는,
    제1 전자 장치.
  39. 제34항에서,
    상기 인코딩 비디오 스트림의 프레임 시간 정보는, 인코딩 비디오를 파싱한 후에 저장된 인코딩 비디오 스트림의 헤더에서 확인하는,
    제1 전자 장치.
  40. 제34항에서,
    상기 인코딩 비디오 스트림을 출력하기 위해 디코딩한 상기 디코딩 비디오 스트림의 프레임 시간 정보는 상기 디코딩 비디오 스트림의 출력의 프레임을 모니터하여 얻는,
    제1 전자 장치.
  41. 제33항에서,
    상기 일정 시간 간격은, 인코딩 비디오를 파싱한 후에 저장된 인코딩 비디오 스트림의 헤더에서 확인한, 상기 인코딩 비디오 스트림의 프레임 시간 정보와,
    상기 디코딩하여 출려과는 상기 디코딩 비디오 스트림을 모니터하여 얻은 상기 디코딩 비디오 스트림의 프레임 시간 정보를 비교하여 결정하는,
    제1 전자 장치.
  42. 제33항에서,
    상기 인코딩 비디오 스트림을 전송 스트림 규격에 따라 패킷화하는 수단을 더 포함하는,
    제1 전자 장치.
  43. 제34항에 있어서,
    상기 제1 전자 장치가 인코딩 비디오 스트림의 인코딩 포맷을 확인하는 수단은, 인코딩 오디오 스트림의 인코딩 포맷을 확인하는 것을 포함하며, 여기에서 상기 확인은 상기 제1 전자 장치가 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력할, 상기 인코딩 오디오 스트림의 인코딩 포맷이 제2 전자 장치에서 디코딩할 수 있는 포맷임을 결정하며;
    상기 인코딩 비디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는 수단은, 상기 제1 전자 장치가 저장하고 있는 상기 인코딩 오디오 스트림의 프레임을 디코딩하여 상기 제1 전자 장치의 출력 장치를 통하여 출력하며, 상기 인코딩 오디오 스트림을, 상기 인코딩 오디오 스트림의 프레임 시간 정보보다 일정 시간 간격만큼 지연하여 상기 제2 전자 장치에 전송하는 것을 포함하는,
    제1 전자 장치.
  44. 제33항에 있어서,
    상기 제1 전자 장치의 출력장치는 스크린이며, 여기서 상기 스크린은 터치 입력이 가능한 터치 스크린인,
    제1 전자 장치.
  45. 제 33항에 있어서,
    상기 명령어는, 인코딩 오디오 스트림을 디코딩하여 출력하고, 상기 출력하는 오디오 스트림을 인코딩하여 상기 제2 전자 장치로 전송하는 명령어를 더 포함하는, 제1 전자 장치.
  46. 제1 전자 장치로부터 수신한 인코딩 비디오 스트림의 프레임에서, 상기 인코딩 비디오 스트림을 지연하여 출력할 일정 시간 간격을 확인하는 수단; 및
    상기 일정 시간 간격만큼 지연하여, 상기 인코딩 비디오 스트림을 디코딩하여 제2 전자장치의 출력장치를 통해 출력하는 수단을 포함하는,
    제2 전자 장치.
  47. 제46항에서,
    상기 인코딩 비디오 스트림을 디코딩하는 타이밍을 상기 일정 시간 간격만큼 지연하는,
    제2 전자 장치.
  48. 제46항에서,
    상기 인코딩 비디오 스트림을 디코딩한 다음, 상기 출력장치를 통하여 출력하는 타이밍을 상기 일정 시간 간격만큼 지연하는,
    제2 전자 장치.
  49. 제46항에 있어서,
    상기 제2 전자 장치의 출력장치는 스크린이며, 여기서 상기 스크린은 터치 입력이 가능한 터치 스크린인, 제2 전자 장치.
  50. 전자 장치에 의해 실행될 경우, 상기 장치로 하여금 제1항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장 매체.
  51. 전자 장치에 의해 실행될 경우, 상기 장치로 하여금 제13항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장 매체.
  52. 전자 장치에 의해 실행될 경우, 상기 장치로 하여금 제16항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장 매체.
KR1020120018922A 2012-02-24 2012-02-24 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치 KR101917174B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020120018922A KR101917174B1 (ko) 2012-02-24 2012-02-24 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치
US13/768,402 US9386065B2 (en) 2012-02-24 2013-02-15 Method for transmitting stream between electronic devices and electronic device for the method thereof
EP13155854.6A EP2632168B1 (en) 2012-02-24 2013-02-19 Method for transmitting stream between electronic devices and electronic device for the method thereof
CN201310058773.0A CN103297808B (zh) 2012-02-24 2013-02-25 用于在电子装置之间传输流的方法及其电子装置
US15/184,095 US9954923B2 (en) 2012-02-24 2016-06-16 Method for transmitting stream between electronic devices and electronic device for the method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120018922A KR101917174B1 (ko) 2012-02-24 2012-02-24 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20130097336A true KR20130097336A (ko) 2013-09-03
KR101917174B1 KR101917174B1 (ko) 2018-11-09

Family

ID=47891384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120018922A KR101917174B1 (ko) 2012-02-24 2012-02-24 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치

Country Status (4)

Country Link
US (2) US9386065B2 (ko)
EP (1) EP2632168B1 (ko)
KR (1) KR101917174B1 (ko)
CN (1) CN103297808B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016171825A1 (en) * 2015-04-21 2016-10-27 Intel Corporation Techniques for communicating display streams
KR20170040217A (ko) * 2014-07-29 2017-04-12 퀄컴 인코포레이티드 무선 디스플레이를 위한 다이렉트 스트리밍
WO2022225184A1 (ko) * 2021-04-19 2022-10-27 삼성전자주식회사 서버 및 그 제어 방법

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107010B2 (en) 2005-01-05 2012-01-31 Rovi Solutions Corporation Windows management in a television environment
WO2012018786A1 (en) * 2010-08-02 2012-02-09 Ncomputing Inc. System and method for efficiently streaming digital video
US8788578B2 (en) * 2011-07-11 2014-07-22 Roku, Inc. Method and apparatus for customized provisioning of on-line application channels
WO2014051403A1 (en) * 2012-09-28 2014-04-03 Samsung Electronics Co., Ltd. Method and system for streaming multimedia content in a wireless fidelity display network environment
US9826015B2 (en) * 2013-09-04 2017-11-21 Qualcomm Incorporated Dynamic and automatic control of latency buffering for audio/video streaming
WO2015056296A1 (ja) * 2013-10-15 2015-04-23 株式会社 東芝 電子機器および通信制御方法
JP2015080025A (ja) * 2013-10-15 2015-04-23 株式会社東芝 電子機器および通信制御方法
WO2015093637A1 (ko) * 2013-12-16 2015-06-25 삼성전자 주식회사 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법
WO2015119337A1 (ko) * 2014-02-06 2015-08-13 엘지전자 주식회사 와이파이 디스플레이 서비스 수행 방법 및 이를 위한 장치
US20150253974A1 (en) 2014-03-07 2015-09-10 Sony Corporation Control of large screen display using wireless portable computer interfacing with display controller
US20150350288A1 (en) * 2014-05-28 2015-12-03 Qualcomm Incorporated Media agnostic display for wi-fi display
US9912994B2 (en) * 2014-07-03 2018-03-06 Mobiledirect, Inc. Interactive distributed multimedia system
CN104219551A (zh) * 2014-09-29 2014-12-17 武汉诚迈科技有限公司 一种智能设备屏幕共享与远程控制的方法
US20160098180A1 (en) * 2014-10-01 2016-04-07 Sony Corporation Presentation of enlarged content on companion display device
US11044386B1 (en) * 2014-12-18 2021-06-22 The Directv Group, Inc. Method and system for synchronizing playback of independent audio and video streams through a network
US10925014B2 (en) * 2015-07-16 2021-02-16 Samsung Electronics Co., Ltd. Method and apparatus for synchronization in a network
US10993069B2 (en) * 2015-07-16 2021-04-27 Snap Inc. Dynamically adaptive media content delivery
EP3972212A1 (en) * 2016-06-29 2022-03-23 Telefonaktiebolaget LM Ericsson (publ) Adaptive selection of signal-detection mode
US10033789B2 (en) * 2016-09-29 2018-07-24 Intel Corporation Connectionless wireless media broadcast
US10270832B1 (en) * 2016-12-30 2019-04-23 Tribune Broadcasting Company, Llc Method and system for modifying a media stream having a variable data rate
JP6873762B2 (ja) * 2017-03-15 2021-05-19 キヤノン株式会社 通信装置、通信システム、通信方法、および、プログラム
CN108809918B (zh) * 2017-05-04 2021-05-25 中国移动通信集团重庆有限公司 媒体流传输方法及装置
US11206442B2 (en) 2017-08-01 2021-12-21 Vishare Technology Limited Methods and apparatus for video streaming with improved synchronization
KR102445544B1 (ko) * 2018-04-02 2022-09-21 삼성전자 주식회사 전자장치, 그 제어방법 및 기록매체
KR20200055596A (ko) * 2018-11-13 2020-05-21 삼성전자주식회사 차량에 탑재되는 단말 장치가 영상을 전송하는 방법 및 차량의 주행을 제어하는 원격 제어 장치가 영상을 수신하는 방법
JP2020148888A (ja) * 2019-03-13 2020-09-17 株式会社デンソー 表示制御装置、表示装置、表示制御システム、表示制御プログラム及び表示プログラム
KR20210028880A (ko) * 2019-09-05 2021-03-15 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
KR20220014519A (ko) 2020-07-29 2022-02-07 삼성전자주식회사 외부 장치들이 출력하는 컨텐츠의 출력 시점을 동기화하는 전자 장치 및 전자 장치의 동작 방법
KR20220098577A (ko) * 2021-01-04 2022-07-12 삼성전자주식회사 오디오 데이터 처리 방법 및 이를 지원하는 전자 장치
KR20220136778A (ko) * 2021-04-01 2022-10-11 삼성전자주식회사 오디오 공유를 지원하기 위한 전자 장치
KR20220149250A (ko) * 2021-04-30 2022-11-08 삼성전자주식회사 복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치
US20230300223A1 (en) * 2022-01-27 2023-09-21 Shure Acquisition Holdings, Inc. Audio System
CN115866298B (zh) * 2022-11-24 2023-12-19 苏州睿芯通量科技有限公司 一种视频处理方法、系统、电子设备及存储介质
CN115842919B (zh) * 2023-02-21 2023-05-09 四川九强通信科技有限公司 一种基于硬件加速的视频低延迟传输方法

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446759A (en) * 1992-03-12 1995-08-29 Ntp Incorporated Information transmission system and method of operation
CN1113320C (zh) * 1994-02-01 2003-07-02 三洋电机株式会社 将二维图像转换成三维图像的方法以及三维图像显示系统
US5659539A (en) * 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US5909224A (en) * 1996-10-18 1999-06-01 Samsung Electronics Company, Ltd. Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment
US6014545A (en) * 1997-03-27 2000-01-11 Industrial Technology Research Institute Growable architecture for high-speed two-way data services over CATV networks
US6845107B1 (en) * 1997-10-15 2005-01-18 Sony Corporation Video data multiplexer, video data multiplexing control method, method and apparatus for multiplexing encoded stream, and encoding method and apparatus
JP2002064802A (ja) * 2000-08-21 2002-02-28 Sony Corp データ伝送システム、データ伝送装置及び方法、シーン記述処理装置及び方法
JP4116470B2 (ja) * 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
KR20040009927A (ko) * 2002-07-26 2004-01-31 삼성전자주식회사 Dtv 스트림 생성을 위한 정보를 저장하는정보저장매체, dtv 스트림 변환 방법 및 그 장치
US7627629B1 (en) * 2002-10-30 2009-12-01 Cisco Technology, Inc. Method and apparatus for multipoint conferencing
US20060031889A1 (en) 2002-12-11 2006-02-09 Bennett James D Video processing system with simultaneous multiple outputs each with unique formats
CN101159518B (zh) * 2003-02-03 2012-02-22 索尼株式会社 通信方法和通信设备
JP4289138B2 (ja) * 2003-12-09 2009-07-01 ソニー株式会社 データ処理装置およびその方法と符号化装置
CN101129069B (zh) * 2004-11-25 2010-12-22 松下电器产业株式会社 转发器装置及其控制方法
EP1675399A3 (en) * 2004-12-23 2009-04-29 Bitband Technologies Ltd. Fast channel switching for digital TV
US7657829B2 (en) * 2005-01-20 2010-02-02 Microsoft Corporation Audio and video buffer synchronization based on actual output feedback
US7447983B2 (en) * 2005-05-13 2008-11-04 Verizon Services Corp. Systems and methods for decoding forward error correcting codes
JP4853647B2 (ja) * 2005-10-12 2012-01-11 日本電気株式会社 動画像変換方法、動画像変換装置、動画像変換システムおよびサーバ装置並びにプログラム
EP1946293A1 (en) * 2005-11-07 2008-07-23 Telefonaktiebolaget L M Ericsson (PUBL) Method and arrangement in a mobile telecommunication network
US8275732B2 (en) * 2005-11-30 2012-09-25 Sony Corporation High definition multimedia interface transcoding system
EP2134013A4 (en) * 2007-03-26 2011-09-07 Panasonic Corp DIGITAL BROADCAST TRANSMITTING APPARATUS, DIGITAL BROADCAST RECEIVING APPARATUS, AND DIGITAL BROADCASTING TRANSMITTING / RECEIVING SYSTEM
US20090015723A1 (en) * 2007-06-18 2009-01-15 Sony Corporation Of Japan Media switching device
JP4983923B2 (ja) 2007-08-27 2012-07-25 富士通株式会社 デコーダ装置、およびデコード方法
BRPI0816903A2 (pt) 2007-09-21 2015-03-17 Thomson Licensing Aparelho e método para a sincronização de sinais observáveis por usuário
JP5236938B2 (ja) * 2007-12-03 2013-07-17 パナソニック株式会社 デジタル放送受信装置、半導体集積回路及びデジタル放送受信方法
US8411569B2 (en) * 2008-01-10 2013-04-02 Alcatel Lucent Method of splicing encoded multimedia data streams
KR100916505B1 (ko) * 2008-02-20 2009-09-08 한국전자통신연구원 정상 재생 타임을 이용한 스케일러블 비디오 코딩 정보와어드밴스드 오디오 코딩 정보의 동기화 지원 방법 및 장치
US8253860B2 (en) * 2008-04-07 2012-08-28 Mediatek Inc. System, method and devices for HDMI transmission using a commonly supported media format
EP2129130A1 (fr) * 2008-05-26 2009-12-02 THOMSON Licensing Procédé de transmission simplifié d'un flux de signaux entre un émetteur et un appareil électronique
CN201222206Y (zh) 2008-05-27 2009-04-15 王童 折叠式双屏显示笔记本电脑
US8126433B2 (en) * 2008-09-15 2012-02-28 Sony Ericsson Mobile Communications Ab Electronic devices and methods that communicate via transferjet and NFC transmitter and receiver pairing
US8542749B2 (en) * 2008-12-17 2013-09-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for measuring audiovisual synchronisation
WO2010106075A1 (en) * 2009-03-16 2010-09-23 Koninklijke Kpn N.V. Modified stream synchronization
US20100272102A1 (en) * 2009-04-23 2010-10-28 Stmicroelectronics, Inc. System and method for packet messaging and synchronization
JP5351960B2 (ja) * 2009-05-14 2013-11-27 パナソニック株式会社 ビデオデータの伝送方法
US20100302346A1 (en) 2009-05-27 2010-12-02 Tingxue Huang System for processing and synchronizing large scale video conferencing and document sharing
CN101605252B (zh) 2009-07-17 2011-07-20 深圳创维数字技术股份有限公司 将节目流转换成传输流的方法和系统
US20110157298A1 (en) 2009-12-31 2011-06-30 Tingxue Huang System for processing and synchronizing large scale video conferencing and document sharing
CN101807389B (zh) 2010-03-19 2011-11-23 上海博康智能网络科技有限公司 大屏拼接方法及系统
KR101092493B1 (ko) 2010-04-13 2011-12-13 주식회사 텔레칩스 디스플레이 장치의 입력 장치를 이용한 호스트 제어 시스템 및 방법
US9596522B2 (en) 2010-06-04 2017-03-14 Mobitv, Inc. Fragmented file structure for live media stream delivery
CN102256128B (zh) * 2011-07-12 2013-07-24 浙江宇视科技有限公司 同步解码方法及其装置
US20130058419A1 (en) * 2011-09-05 2013-03-07 Zhou Ye Wireless video/audio data transmission system
US9380321B2 (en) * 2012-01-18 2016-06-28 Disney Enterprises, Inc. Method and apparatus for low-latency camera control in a wireless broadcasting system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170040217A (ko) * 2014-07-29 2017-04-12 퀄컴 인코포레이티드 무선 디스플레이를 위한 다이렉트 스트리밍
WO2016171825A1 (en) * 2015-04-21 2016-10-27 Intel Corporation Techniques for communicating display streams
WO2022225184A1 (ko) * 2021-04-19 2022-10-27 삼성전자주식회사 서버 및 그 제어 방법

Also Published As

Publication number Publication date
EP2632168A1 (en) 2013-08-28
US20130223539A1 (en) 2013-08-29
US9386065B2 (en) 2016-07-05
KR101917174B1 (ko) 2018-11-09
US9954923B2 (en) 2018-04-24
US20160294912A1 (en) 2016-10-06
CN103297808A (zh) 2013-09-11
EP2632168B1 (en) 2016-04-06
CN103297808B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
KR101917174B1 (ko) 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치
US9609427B2 (en) User terminal apparatus, electronic device, and method for controlling the same
KR20130096868A (ko) 스트림 전송 방법 및 그 방법을 처리하는 전자 장치
US9652192B2 (en) Connectionless transport for user input control for wireless display devices
JP6219310B2 (ja) ワイヤレスディスプレイのためのユーザ入力バックチャネルを介した双方向トンネリング
US10098080B2 (en) Device, method and computer readable medium
US20140195595A1 (en) Input redirection with a cloud client device
US9497506B2 (en) Input lag estimation for Wi-Fi display sinks
US10237318B2 (en) Electronic device and method for encoding image data thereof
US20150296054A1 (en) Server apparatus, terminal, thin client system, screen transmission method and program
US20180014063A1 (en) Method and Apparatus for Accessing a Terminal Device Camera to a Target Device
JP2018509060A5 (ko)
WO2017015300A1 (en) Devices and methods for facilitating video and graphics streams in remote display applications
KR20140029740A (ko) 전자장치에서 영상통화중 파일 전송 방법 및 장치
CN108809924B (zh) 执行网络实时通信的方法和装置
US11496529B2 (en) Method and device for providing multimedia service in electronic device
KR101445539B1 (ko) 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 장치 및 시스템
US10104422B2 (en) Multimedia playing control method, apparatus for the same and system
US9118803B2 (en) Video conferencing system
KR20150084413A (ko) 클라우드 스트리밍 서비스를 위한 어플리케이션 에러 검출 방법, 이를 위한 장치 및 시스템
US10075325B2 (en) User terminal device and contents streaming method using the same
EP2800331B1 (en) Input lag estimation for wi-fi display sinks
KR102251148B1 (ko) 오디오-비디오 동기화 처리 방법
KR102050416B1 (ko) 네트워크 카메라 장치 및 이의 영상 스트리밍 제공 방법
WO2024026662A1 (en) Hybrid codec present delay sync for asymmetric sound boxes

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant