KR102277124B1 - 데이터 전송 방법, 장치, 서버 및 저장 매체 - Google Patents

데이터 전송 방법, 장치, 서버 및 저장 매체 Download PDF

Info

Publication number
KR102277124B1
KR102277124B1 KR1020197039034A KR20197039034A KR102277124B1 KR 102277124 B1 KR102277124 B1 KR 102277124B1 KR 1020197039034 A KR1020197039034 A KR 1020197039034A KR 20197039034 A KR20197039034 A KR 20197039034A KR 102277124 B1 KR102277124 B1 KR 102277124B1
Authority
KR
South Korea
Prior art keywords
usb
data
information
redirection
image
Prior art date
Application number
KR1020197039034A
Other languages
English (en)
Other versions
KR20200013734A (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 지티이 코포레이션
Publication of KR20200013734A publication Critical patent/KR20200013734A/ko
Application granted granted Critical
Publication of KR102277124B1 publication Critical patent/KR102277124B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • H04L67/2828
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • H04L67/2814
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Transfer Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 데이터 전송 방법, 장치, 서버 및 저장 매체를 개시하였고, 상기 방법은: USB 이미지 데이터를 획득하는 단계; 리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하는 단계- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 정보를 포함함-; 상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하는 단계; 상기 USB 리디렉션 전송 메시지를 서버에 송신하는 단계; 를 포함한다.

Description

데이터 전송 방법, 장치, 서버 및 저장 매체
본 발명은 이동통신 분야에 관한 것이지만 이에 한정되지 않으며, 특히 데이터 전송 방법, 장치, 서버 및 저장 매체에 관한 것이다.
본 출원은 출원번호가 201710556241.8이고, 출원일자가 2017년 7월 10일인 중국특허출원에 기반하여 제출한 것으로서, 상기 중국특허출원의 우선권을 주장하는 바, 상기 중국특허출원의 전부 내용은 참조로서 본 출원에 포함된다.
가상화(virtualization) 및 클라우드 컴퓨팅(cloud computing)이 널리 사용됨에 따라 사용자가 범용 직렬 버스(USB, Universal Serial Bus) 비디오 장치와 같은 로컬(local) 터미널을 클라우드에 배치된 서버에 연결하여 사용하는 현상이 점점 더 많아지고 있다. 비디오 데이터는 크고 매우 빈번하여 네트워크 전송에서 상당한 네트워크 대역폭 자원을 차지하며, 데이터 수송신의 지연은 사용자 경험에 매우 심각한 영향을 미치게 된다.
이를 감안하여, 본 발명의 실시예는 종래기술에서 큰 이미지 데이터 전송량으로 인한 큰 네트워크 대역폭 점용 문제를 해결하는 데이터 전송 방법, 장치, 서버 및 저장 매체를 제공하고자 한다.
본 발명의 실시예는 데이터 전송 방법을 제공하며, 상기 방법은:
USB 이미지 데이터를 획득하는 단계;
리디렉션(redirection) 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하는 단계- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 정보를 포함함-;
상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하는 단계;
상기 USB 리디렉션 전송 메시지를 서버에 송신하는 단계; 를 포함한다.
본 발명의 실시예는 데이터 전송 방법을 더 제공하며, 상기 방법은:
로컬 장치에 의해 송신된 USB 리디렉션 전송 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 메시지 중의 USB 이미지 압축 데이터를 획득하는 단계;
리디렉션 정보에 따라 상기 USB 이미지 압축 데이터를 압축해제하여 USB 이미지 데이터를 획득하는 단계- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및/또는 이미지 포맷 정보를 포함함-;
상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성하는 단계;
상기 USB 전송 메시지를 출력하는 단계; 를 포함한다.
본 발명의 실시예는 데이터 전송 방법을 더 제공하며, 상기 방법은:
USB 리디렉션 장치에 의해 송신된 USB 리디렉션 전송 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 메시지 중의 USB 이미지 압축 데이터를 획득하는 단계;
리디렉션 정보에 따라 상기 USB 이미지 압축 데이터를 압축해제하여 USB 이미지 데이터를 획득하는 단계- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보를 포함함-;
상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성하는 단계;
상기 USB 전송 메시지를 출력하는 단계; 를 포함한다.
본 발명의 실시예는 데이터 전송 장치를 더 제공하며, 상기 장치는:
USB 이미지 데이터를 획득하도록 구성된 USB 이미지 데이터 획득 모듈;
리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하도록 구성된 압축 데이터 획득 모듈- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 정보를 포함함-;
상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하도록 구성된 리디렉션 전송 메시지 재구성 모듈;
상기 USB 리디렉션 전송 메시지를 서버에 송신하도록 구성된 송신 모듈; 을 포함한다.
본 발명의 실시예는 서버를 더 제공하며, 상기 서버는:
데이터 전송 장치에 의해 송신된 USB 리디렉션 전송 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 메시지 중의 USB 이미지 압축 데이터를 획득하도록 구성된 USB 리디렉션 전송 메시지 획득 모듈;
리디렉션 정보에 따라 상기 USB 이미지 압축 데이터를 압축해제하여 USB 이미지 데이터를 획득하도록 구성된 압축해제 모듈- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및/또는 이미지 포맷 정보를 포함함-;
상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성하도록 구성된 재구성 모듈;
상기 USB 전송 메시지를 출력하도록 구성된 출력 모듈; 을 포함한다.
본 발명의 실시예는 데이터 전송 장치를 더 제공하며, 상기 장치는:
데이터 전송을 위한 프로그램을 저장하도록 구성된 메모리;
상기 프로그램을 실행하도록 구성된 프로세서- 여기서 상기 프로그램이 실행될 때 상기 데이터 전송 방법이 수행됨-; 를 포함한다.
본 발명의 실시예는 서버를 더 제공하며, 상기 서버는:
데이터 전송을 위한 프로그램을 저장하도록 구성된 메모리;
상기 프로그램을 실행하도록 구성된 프로세서- 여기서 상기 프로그램이 실행될 때 상기 데이터 전송 방법이 수행됨-; 를 포함한다.
본 발명의 실시예는 저장 매체를 더 제공하며, 상기 저장 매체는 저장된 프로그램을 포함하고, 여기서 상기 프로그램이 실행될 때, 본 발명의 실시예에 따른 데이터 전송 방법을 수행한다.
본 발명의 실시예에 의해 제공되는 데이터 전송 방법에 따르면, 획득한 USB 이미지 데이터를 리디렉션된 해상도 정보 및/또는 이미지 포맷 정보 등에 따라 압축한 다음, USB 리디렉션 전송 메시지를 재구성하여 서버에 송신하며, 재구성된 USB 리디렉션 전송 메시지에 포함된 압축된 이미지 정보를 통해, 이미지 정보가 USB 터미널에서 획득한 이미지 데이터의 USB 리디렉션 전송 네트워크에서의 전송 속도를 향상시키고, USB 비디오 장치와의 원활한 인터페이스가 가능해진다.
도 1은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 2는 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 3은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 4는 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 5는 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 6은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 7은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 8은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 9는 본 발명의 실시예에 따른 데이터 전송 장치의 구조 개략도이며;
도 10은 본 발명의 실시예에 따른 서버의 구성 구조 개략도이며;
도 11은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며;
도 12는 본 발명의 실시예에 따른 데이터 전송 방법에서 전송 압축 박스의 파라미터를 조정하는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 개시의 예시적 실시예에 대해 상세히 설명하도록 한다. 본 개시의 예시적 실시예를 도면에 도시하였지만, 본 개시는 여기서 기술된 실시예에 한정되지 않고, 다양한 형태로 구현될 수 있음을 이해하여야 한다. 반면에, 이들 실시예는 본 개시에 대한 이해를 돕기 위해 제공된 것이며, 본 개시의 범위를 본 분야의 당업자에게 완전히 전달한다.
발명자는 연구과정에 대량의 데이터의 전송에 대응하여 다양한 압축 알고리즘(algorithms)을 통해 네트워크 데이터 전송을 최적화할 수 있다는 것을 발견하였다. USB 비디오 장치 리디렉션의 측면에서, 관련 기술의 압축 알고리즘은 손실 알고리즘 및 무손실 알고리즘을 포함하며, 그 중 손실 알고리즘은 무손실 알고리즘보다 우수하고, 움직이는 이미지의 압축은 정지 이미지의 압축보다 우수하다. 움직이는 이미지의 손실 압축 알고리즘은 주로 H264, MPEG4, VP8 등을 포함하며, 사용할 때 속도와 효율을 동시에 고려해야 하므로, 속도는 빠를수록 좋고 압축 효율은 높을수록 좋다.
이미지 압축을 수행하려면 먼저 이미지 데이터를 획득해야 한다. USB 비디오 장치의 비디오 이미지 데이터를 수집(capture)하는 방식은 원격 로그인 사용자의 데스크톱 운영체제(desktop operating system) 환경에서 USB 비디오 장치 및 비디오 이미지를 디스플레이하는 방식을 결정한다. USB 비디오 장치의 비디오 이미지 데이터를 수집하는 방식은: 1, USB 명령을 직접 투과 전송(pass-through)하는 방식, 이 방식은 장치 및 응용 소프트웨어에 대한 적응성이 가장 강하며; 2, 운영체제 API를 통해 프레임 이미지를 획득하는 방식, 이 방식은 사용하기 가장 편리한 방식이지만 이미지에 포함된 일부 정보가 손실되어 장치와 응용 소프트웨어에 대한 적응성이 떨어진다.
도 1은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 1에 도시된 바와 같이, 다음의 단계들을 포함한다.
단계(100), USB 이미지 데이터를 획득한다.
일 실시예에 있어서, 상기 USB 이미지 데이터는 비디오 데이터, 촬영 데이터(photographing data) 등을 포함한다. 상기 획득된 USB 이미지 데이터는, USB 전송 메시지를 파싱하여 획득한 이미지 데이터를 포함하고, USB 터미널의 상위계층 애플리케이션으로부터 직접 획득한 이미지 데이터를 더 포함한다.
단계(200), 리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하며, 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 정보를 포함한다.
일 실시예에 있어서, USB 터미널을 리디렉션하기 위한 애플리케이션에서, 하나의 데이터 전송 장치, 즉 로컬 장치를 사용하여 상기 USB 터미널에 연결한 후, USB 이미지 데이터를 획득하고, 그 다음 상기 로컬 장치를 원격 서버에 연결하여 상기 획득한 USB 이미지 데이터를 원격 서버의 운영체제에 전송하고, 운영체제를 통해 응답하여 사용자에게 서비스를 제공한다. 상기 리디렉션 정보는 상기 USB 이미지 데이터를 상기 원격 서버에 전송할 때 전송 데이터를 리디렉션하기 위한 해상도 정보 및/또는 이미지 포맷 정보를 포함하며, 상기 이미지 데이터는: 인터페이스 일련번호, 포맷 일련번호, 프레임 일련번호, 해상도의 너비와 높이 관계, USB 비디오 장치 포맷/해상도 파라미터, 최고 해상도, 목표 해상도, 최저 해상도, 디폴트 해상도 또는 앵커 해상도(anchor resolution) 중의 1종 또는 임의의 조합을 포함한다.
상기 USB 이미지 데이터를 상기 리디렉션에 정보에 설정된 상관 해상도에 따라 압축하며, 움직이는 이미지를 압축하는 것을 일예로, 상기 리디렉션 정보에 설정된 해상도가 앵커 해상도이면(고해상도의 비디오를 축소하거나 또는 저해상도를 상기 앵커 해상도로 확장), 상기 USB 이미지 데이터를 축소 또는 확장하여, 움직이는 이미지 압축 코딩 알고리즘 인터페이스로 전송하여 압축하고, 압축된 데이터는 USB 이미지 압축 데이터이다.
일 실시예에 있어서, 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및/또는 이미지 포맷 정보를 포함한다.
단계(300), 상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성한다.
일 실시예에 있어서, 상기 USB 리디렉션 전송 메시지는: USB 리디렉션 동기화 전송 메시지 또는 USB 리디렉션 벌크(bulk) 전송 메시지를 포함한다.
상기 USB 리디렉션 전송 메시지는 USB 메시지 중의 동기화 전송 메시지(Isochronous Transfer IN의 리턴 결과) 또는 벌크 전송 메시지(Bulk Transfer IN 리턴 결과)를 포함한다.
상기 USB 이미지 압축 데이터에 따라 재구성하는 상기 단계에서, 상기 획득한 USB 이미지 데이터가 USB 전송 메시지 중의 이미지 데이터를 파싱하여 얻은 것인 경우, 동기화 전송 메시지(Isochronous Transfer IN의 리턴 결과) 또는 벌크 전송 메시지(Bulk Transfer IN 리턴 결과) 중의 이미지 데이터는 압축된 이미지 데이터로 대체되어 상기 재구성된 USB 리디렉션 전송 메시지에 포함되며;
상기 획득한 USB 이미지 데이터가 USB 터미널의 상위계층 애플리케이션으로부터 직접 획득한 이미지 데이터인 경우, 상기 동기화 전송 메시지(Isochronous Transfer IN의 리턴 결과) 또는 벌크 전송 메시지(Bulk Transfer IN 리턴 결과)의 메시지 포맷에 따라 상기 USB 이미지 압축 데이터를 대응되는 필드(field)에 배치한 후, 상기 동기화 전송 메시지(Isochronous Transfer IN의 리턴 결과) 또는 벌크 전송 메시지(Bulk Transfer IN 리턴 결과)를 재구성한다.
일 실시예에 있어서, 상기 USB 이미지 압축 데이터 및 USB 전송 메시지 포맷에 따라 상기 USB 리디렉션 전송 메시지를 재구성하는 상기 단계는: 상기 USB 전송 메시지 포맷을 획득하는 단계;
상기 USB 이미지 압축 데이터를 상기 USB 전송 메시지 포맷 중 데이터 패킷을 전송하기 위한 필드에 캡슐화(Encapsulating)하여, 상기 USB 리디렉션 전송 메시지를 획득하는 단계; 를 포함한다.
단계(400), 상기 USB 리디렉션 전송 메시지를 서버에 송신한다.
일 실시예에 있어서, 재구성된 USB 리디렉션 전송 메시지를 송신될 큐로 푸시한 후, 서버, 즉 원격 서버로 송신하여 USB 이미지 데이터의 전송을 완료한다.
실제 응용에서, 압축될 큐 및 송신될 큐를 설정하는 방식을 통해 USB 이미지 데이터의 압축 및 송신을 구현할 수 있고, 상기 USB 이미지 데이터를 압축될 큐로 푸시하고, 알림 데이터 도착 신호를 설정하며, 후속의 송신될 큐에서 획득한 새로운 결과로 현재 결과를 덮어쓰고(overwrite), 송신될 큐가 비어있으면 현재 결과의 컨텐츠가 없다고 설정하고 리턴 길이를 0으로 설정하여, 최종 결과를 포워드하고, 한편 다른 스레드(thread)는 데이터 도착 신호를 수신한 후 압축될 큐의 데이터를 처리한다.
본 실시예에 따른 USB 장치 리디렉션 데이터 전송 방법은 획득한 USB 이미지 데이터를 리디렉션된 해상도 정보 및/또는 이미지 포맷 정보 등에 따라 압축한 다음, USB 리디렉션 전송 메시지를 재구성하여 원격 서버에 송신하며, 재구성된 USB 리디렉션 전송 메시지에 포함된 압축된 이미지 정보를 통해, 이미지 정보가 USB 터미널에서 획득한 이미지 데이터의 USB 리디렉션 전송 네트워크에서의 전송 속도를 향상시키고, USB 전송 메시지를 재구성함으로써 USB 비디오 장치와의 원활한 인터페이스가 가능해진다.
본 발명은 일 실시예를 더 제공하며, 사용자가 원격 서버 측의 애플리케이션을 조작하여 촬영할 경우, 리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여, USB 이미지 압축 데이터를 획득하는 단계 전에, 상기 방법은: 촬영 정보를 수신하는 단계를 더 포함하며; 상기 리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하는 단계는, 리디렉션 정보 및 상기 촬영 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하는 단계를 더 포함한다.
일 실시예에 있어서, 수신된 상기 촬영 정보는, 수신되는 Video Streaming Requests-Still Image Trigger Control 정보를 포함하며, 사용된 USB 터미널이 카메라인 경우, 촬영 정보를 획득하는 방식은 USB 이미지 정보로부터 대응되는 이미지를 추출하여 촬영 결과로 하는 것을 포함하며, 이의 후속 프로세스는 상기 실시예 1와 같다. 원격 서버 측에서도, 대응되는 프로세스에 따라 파싱한 후, 촬영 정보를 추출하면 된다.
본 실시예에서, 수신된 촬영 정보(photographed information)를 통해, USB 이미지 데이터를 압축하고 USB 전송 메시지를 재구성함으로써, USB 이미지 데이터에 대한 촬영 정보를 획득하는 것을 구현하고, 본 발명에 따른 USB 장치 리디렉션 데이터 전송 방법의 실용성을 향상시키고 촬영 정보의 전송 효율을 향상시킨다.
도 2는 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 2에 도시된 바와 같이, 다음과 같은 단계를 포함한다:
단계(100A), USB 터미널의 애플리케이션 계층 데이터를 수신 및 파싱하여 USB 이미지 데이터를 획득한다.
일 실시예에 있어서, USB 터미널의 실제 사용과정에서, 애플리케이션 프로그램을 통해 상기 USB 터미널을 호출하여 이미지 데이터를 획득하는 방식은 비교적 일반적이며, 상기 애플리케이션 프로그램은 상기 USB 터미널의 USB 전송 메시지를 직접 획득하여 상기 USB 전송 메시지 중의 이미지 데이터를 파싱할 수 없으며, 상기 애플리케이션 프로그램을 통해 USB 터미널의 USB 이미지 데이터를 직접 획득할 수 있다.
단계(200A), 리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득한다.
일 실시예에 있어서, 실시예 1의 단계(200)와 동일하다. 또한 상기 리디렉션 정보는 USB 터미널의 장치 정보 등 후속되는 USB 전송 메시지 재구성 단계에서 사용되는 각종 정보를 포함한다. 상기 리디렉션 정보의 획득은 미리 설정된 방식으로 획득하거나 상기 USB 터미널이 삽입될 때 획득할 수도 있다.
단계(300A), USB 이미지 압축 데이터 및 USB 전송 메시지 포맷에 따라 USB 리디렉션 전송 메시지를 재구성하고, USB 리디렉션 전송 메시지는 동기화 전송 메시지 또는 벌크 전송 메시지를 포함한다.
일 실시예에 있어서, USB 전송 메시지를 파싱하는 방식을 통해 획득한 USB 이미지 데이터가 아니므로, USB 전송 메시지 포맷에 따라, 상기 압축된 USB 이미지 압축 데이터를 기입(filling in)하여 USB 전송 메시지를 재구성하여야 한다.
단계(400A), 상기 USB 리디렉션 전송 메시지를 서버에 송신한다.
일 실시예에 있어서, 실시예 1의 단계(400)와 동일하다.
본 실시예에서, USB 터미널의 상위계층 애플리케이션 프로그램을 통해 이미지 데이터를 직접 획득하여 압축한 후, USB 전송 메시지의 메시지 포맷에 따라 상기 압축된 이미지 데이터를 기입(
Figure 112019136307947-pct00001
)하여 USB 전송 메시지를 재구성하고, USB 이미지 데이터를 원격 서버로 전송한다. 이미지 데이터를 압축함으로써 USB 리디렉션 전송 데이터가 이미지 데이터를 전송하는 효율이 크게 제고되며, 또한 USB 메시지의 재구성을 통해, 로컬 장치와 원격 서버 사이에서 USB 메시지로 상호 작용(interact)함으로써, 사용자는 다른 프로토콜을 통해 변환하지 않고도 원격 서버를 통해 로컬 장치에 연결된 USB 터미널을 직접 원활하게 조작하여 사용할 수 있으며, 이로써 USB 터미널을 직접 조작할 수 없는 문제를 해결한다.
도 3은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 3에 도시된 바와 같이, 다음과 같은 단계를 포함한다:
단계(100B), USB 터미널에 의해 송신된 USB 전송 메시지를 수신 및 파싱하여 USB 이미지 데이터를 획득한다.
일 실시예에 있어서, 상기 로컬 장치와 USB 터미널이 연결된 후, 상기 USB 터미널의 USB 메시지를 투과 전송(pass-through)하는 방식을 통해 원격 서버와 통신을 수행할 수 있다. USB 터미널에 의해 송신된 USB 전송 메시지를 수신한 후, USB 전송 메시지를 파싱하고 그 중의 이미지 데이터를 획득한다.
단계(200B), 리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득한다.
일 실시예에 있어서, 상기 리디렉션 정보는 USB 터미널의 장치 정보 등 후속되는 USB 전송 메시지 재구성 단계에서 사용되는 각종 정보를 포함한다. 상기 리디렉션 정보의 획득은 미리 설정된 방식으로 획득하거나 상기 USB 터미널이 삽입될 때 획득할 수도 있다.
단계(300B), USB 전송 메시지 중의 USB 이미지 데이터를 USB 이미지 압축 데이터로 대체하고, USB 리디렉션 전송 메시지를 재구성하며, USB 리디렉션 전송 메시지는 동기화 전송 메시지 또는 벌크 전송 메시지를 포함한다.
일 실시예에 있어서, 압축 전의 이미지 데이터는 USB 터미널에 의해 송신된 USB 전송 메시지로부터 획득하기 때문에, 상기 USB 리디렉션 전송 메시지를 재구성할 때, 상기 USB 전송 메시지 중의 압축 전의 이미지 데이터를 압축된 이미지 데이터로 대체하는 방식을 통해 상기 USB 전송 메시지를 재구성하여 USB 리디렉션 전송 메시지를 획득할 수 있다. 수요에 따라, 압축 전의 다수의 USB 전송 메시지 중의 이미지 데이터를 압축하여 재구성된 하나 또는 다수의 USB 리디렉션 전송 메시지에 삽입할 수 있다.
단계(400B), 상기 USB 리디렉션 전송 메시지를 서버에 송신한다.
일 실시예에 있어서, USB 터미널에 의해 송신된 USB 전송 메시지를 파싱하여 이미지 데이터를 획득하고 압축한 다음, 상기 USB 전송 메시지 중의 압축 전의 이미지 데이터를 상기 압축된 이미지 데이터로 대체하여 USB 전송 메시지를 재구성하고, USB 이미지 데이터를 원격 서버에 전송한다. 이미지 데이터를 압축함으로써 USB 리디렉션 전송 데이터가 이미지 데이터를 전송하는 효율이 크게 제고된다.
도 4는 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 4에 도시된 바와 같이, 데이터 전송 장치 측에서 이미지 데이터를 스플라이싱(splicing) 및 압축하는 방법은 다음과 같은 단계를 포함한다:
단계(100C), USB 이미지 데이터를 획득한다.
단계(200C), USB 이미지 데이터 및 이미지 스플라이싱 정보(image splicing information)에 따라 USB 이미지 스플라이싱 데이터를 획득하고, 이미지 스플라이싱 정보는 USB 이미지 데이터가 스플라이싱된 후의 길이 정보를 포함한다.
일 실시예에 있어서, 이미지 데이터의 압축 효율을 향상시키기 위해, 미리 설정된 이미지 스플라이싱 길이에 따라, 다수의 USB 전송 메시지 중의 USB 이미지 데이터를 스플라이싱한 후 압축할 수 있다. 예를 들면, USB 이미지 데이터를 스플라이싱하여 한 프레임으로 채운 다음 압축할 수 있다.
상기와 같은 이유로, 상위계층 애플리케이션 프로그램을 통해 이미지 데이터를 획득할 때, 획득된 이미지 데이터가 이미 하나의 프레임이면, 직접 압축할 수 있고, 이미지 데이터가 하나의 프레임보다 작으면, 스플라이싱하여 하나의 프레임으로 채운 다음 압축할 수 있다.
단계(300C), 리디렉션 정보에 따라 USB 이미지 스플라이싱 데이터를 압축하여 USB 이미지 압축 데이터를 획득한다.
단계(400C), USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하며, USB 리디렉션 전송 메시지는 동기화 전송 메시지 또는 벌크 전송 메시지를 포함한다.
단계(500C), 상기 USB 리디렉션 전송 메시지를 서버에 송신한다.
본 실시예에서, USB 이미지 데이터를 압축하기 전에, 이미지 데이터를 스플라이싱하는 방식을 통해, 이미지 데이터의 압축 효율을 향상시키고, USB 리디렉션 전송 데이터가 이미지 데이터를 전송하는 효율을 더 향상시킨다.
도 5는 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 5에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 전송 장치 측에서 해상도를 설정하는 방법은 다음과 같은 단계를 포함한다:
단계(10), 서버에 의해 송신된 수정 설정 메시지(modification setting message)를 수신 및 파싱하여 수정 설정 메시지의 일련번호(serial number) 및 수정 컨텐츠(content) 정보를 획득하며, 수정 컨텐츠 정보는 해상도 및/또는 이미지 포맷 수정 컨텐츠 정보를 포함한다.
일 실시예에 있어서, 사용자가 해상도를 변경해야 하는 경우, 원격 서버에 의해 제공되는 애플리케이션 프로그램의 인터페이스를 통해, 이미지의 디스플레이(display) 해상도를 변경하며, 사용자가 카메라 재생 프로그램 인터페이스를 조작하여 해상도를 수정하는 경우, 원격 서버는 Video Streaming Requests-Video Probe and Commit Controls와 같은 대응되는 메시지를 로컬 장치에 송신한다.
단계(20), 상기 수정 컨텐츠 정보에 따라 상기 리디렉션 정보를 업데이트하여 리디렉션 업데이트 정보를 획득한다.
일 실시예에 있어서, 상기 Video Streaming Requests-Video Probe and Commit Controls 메시지에 따라, 로컬 장치는 리디렉션 정보를 수정하고, 수정은: 인터페이스 일련번호, 포맷 일련번호, 프레임 일련번호, 해상도의 너비와 높이 관계, USB 비디오 장치 포맷/해상도 파라미터, 최고 해상도, 목표 해상도, 최저 해상도, 디폴트 해상도 또는 앵커 해상도 중의 1종 또는 임의의 조합에 대한 수정을 포함하며, 수정 후 리디렉션의 업데이트 정보를 획득한다.
단계(30), 일련번호가 수정 설정 메시지의 일련번호보다 큰 USB 이미지 압축 데이터를 리디렉션 업데이트 정보에 따라 재압축하여 USB 이미지 압축 수정 데이터를 획득한다.
일 실시예에 있어서, 사용자가 해상도를 수정하였기 때문에, 실제 사용에서 사용자의 사용 경험을 향상시키기 위해, 일반적으로 이미지 데이터를 캐시한 후에 압축하여 전송할 경우, 캐시 모드에서 해상도가 수정된 이미 캐시된 이미지 데이터를 수정된 해상도에 따라 재압축하여 전송해야 한다. 구체적인 방식은: 상기 Video Streaming Requests-Video Probe and Commit Controls 메시지의 일련번호를 획득하여, 일련번호가 상기 Video Streaming Requests-Video Probe and Commit Controls 메시지의 일련번호보다 큰 이미 캐시된 이미지 데이터를 재압축한다.
단계(40), 상기 USB 이미지 압축 수정 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하여, USB 리디렉션 전송 수정 메시지를 획득한다.
일 실시예에 있어서, 상기 재압축된 이미지 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하고, 상기 USB 리디렉션 전송 메시지를 재구성하는 단계는 실시예의 단계(300)와 동일하다.
단계(50), 상기 USB 리디렉션 전송 수정 메시지를 서버에 송신한다.
일 실시예에 있어서, 원격 서버로부터 송신되어 획득한 해상도 설정 메시지를 통해, 리디렉션 정보를 수정할 수 있으며, 이미 전송된 이미지 데이터를 재압축하여, USB 전송 메시지를 다시 재구성하여 원격 서버에 전송한 후, 사용자에 의해 수정된 해상도에 따라 재생한다. 해상도 수정 기능이 제공됨으로써, 본 실시예는 USB 이미지 데이터 전송 효율을 더 향상시키는 한편, 보다 유연한 이미지 데이터의 재생 플레이 등 애플리케이션을 제공할 수 있다.
도 6은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 6에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 전송 장치 측에서 USB 장치의 디스플레이 정보를 수정하는 방법은 다음과 같은 단계를 포함한다:
단계(9A), 상기 USB 터미널에 의해 송신된 삽입 메시지(insertion message)를 수신 및 파싱하여 상기 삽입 메시지 중의 초기 장치 정보(initial device information)를 획득한다.
일 실시예에 있어서, USB 터미널이 로컬 장치에 처음으로 삽입될 때, 대응되는 삽입 메시지를 송신하여, 로컬 장치가 상기 삽입 메시지에 따라 USB 터미널에 대해 장치 대상(object)을 설립한 후, 대응되는 드라이버(driver) 프로그램을 설치 및 로드하고, 상기 USB 터미널을 사용하도록 한다. 상기 삽입 정보는 Standard Device Requests-Get Descriptor 리턴 메시지를 포함하고, 상기 Standard Device Requests-Get Descriptor 리턴 메시지는 상기 USB 터미널의 장치의 유형 및 상기 USB 터미널의 해상도 리스트(list) 정보를 포함한다.
단계(10A), 초기 장치 메시지 및 장치 디스플레이 수정 정보에 따라, 장치 디스플레이 정보를 획득하고, 장치 디스플레이 수정 정보는 서버 측에 디스플레이된 USB 터미널의 장치 정보에 대해 수정하는 정보를 포함한다.
일 실시예에 있어서, 상기 장치 디스플레이 수정 정보는 선택가능한 해상도 리스트, 원격 서버 측에서 사용자에게 디스플레이하기 위해 제공하는 USB 터미널의 디스플레이 해상도 정보 등을 포함하며, 네트워크 전송 대역폭을 보다 잘 이용하여 불필요한 대용량 데이터의 전송을 방지하기 위해, 상기 USB 터미널의 해상도가 너무 커서 사용자의 사용 요구사항을 초과할 경우, 원격 서버 측은 상용자에게 한정된 범위 내의 해상도 정보를 제공하여, 사용자가 사용 요구사항을 초과하는 해상도를 선택하여 전송 대역폭을 낭비하는 것을 방지한다.
장치 디스플레이 수정 정보의 해상도 리스트와 USB 터미널 삽입 메시지에 제공된 초기 장치 정보의 해상도 리스트가 일치하지 않을 경우, 상기 초기 장치 정보와 상기 장치 디스플레이 수정 정보의 해상도를 대응시켜, 장치 디스플레이 정보를 획득하고, 수정 전과 수정 후의 해상도 정보 사이의 대응 관계를 기록하여야 한다.
단계(20A), 상기 서버에 의해 송신된 수정 설정 메시지를 수신 및 파싱한다.
단계(30A), 수정 설정 메시지 및 상기 장치 디스플레이 정보에 따라 상기 USB 터미널의 이미지 수집 정보를 결정하며, 상기 이미지 수집 정보는 해상도 수집 해상도 및/또는 이미지 수집 포맷을 포함한다.
일 실시예에 있어서, 사용자가 해상도, 해상도 설정 정보 Video Streaming Requests-Video Probe and Commit Controls 메시지를 수정하였기에, 해상도에 대한 수정을 USB 터미널로 전송하여, USB 터미널이 새로운 해상도 정보에 따라 이미지 데이터를 수집하도록 하여야 한다.
예를 들면, 장치 삽입 메시지 Standard Device Requests-Get Descriptor의 리턴 결과에 대해 파싱하고, 인터페이스 일련번호(bInterfaceNumber), 포맷 일련번호(bFormatIndex), 프레임 일련번호(bFrameIndex), 해상도 너비(wWidth)와 높이(wHeight) 관계를 인덱스하며, USB 비디오 장치 포맷/해상도 파라미터(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 값을 수정함)를 조정해야 하거나, 또는 최고 해상도(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 목표 해상도보다 낮은 Frame을 삭제하고, 프레임 일련번호 bFrameIndex를 재정렬함)를 낮추어야 하거나, 또는 최저 해상도(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 목표 해상도보다 높은 Frame을 삭제하고, 프레임 일련번호 bFrameIndex를 재정렬함)를 높여야 하거나, 또는 디폴트 해상도(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 프레임 일련번호 bFrameIndex를 재정렬하고, 디폴트 해상도가 위치한 프레임 Video Frame Descriptor을 처음 위치, 즉 bFrameIndex이 1인 위치에 배열하고, 한편 포맷 Payload Format Descriptors 중의 디폴트 프레임 일련번호 bDefaultFrameIndex의 값을 1로 수정함)를 수정하여야 하거나, 또는 앵커 해상도에 고해상도 또는 저해상도(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 목표 해상도의 Frame을 증가하고, 프레임 일련번호 bFrameIndex를 재정렬함)를 증가해야 하는 등 경우에도, Standard Device Requests-Get Descriptor 리턴 결과에 대해 수정하고, 수정 후 결과와 수정 전 결과의 대응관계를 기록하고 인덱스한다.
단계(40A), 이미지 수집 정보를 USB 터미널로 송신하여, USB 터미널이 이미지 수집 정보에 따라 수집하려는 이미지 데이터의 수집 해상도 및/또는 이미지 수집 포맷을 조정하도록 한다.
본 실시예에서, 요구사항에 따라 USB 터미널의 디스플레이 정보를 설정하고, 이와 USB 터미널이 삽입될 때 제공하는 초기 장치 정보 사이의 대응 관계를 설립함으로써, 사용자의 요구사항을 초과하는 이미지 전송을 사용하는 것을 방지하여, 전송 대역폭의 사용 효율을 향상시킬 수 있다. 사용자가 해상도를 수정할 경우, 수정된 해상도와 원시 해상도 사이의 재대응이 지원됨으로써, 본 실시예의 실용성이 향상된다.
상기 USB 터미널에 비 리디렉션 서브 장치가 포함될 경우, 상기 USB 터미널의 삽입 정보 중의 초기 장치 정보에 따라, 상기 비 리디렉션 서브 장치의 정보를 획득하고, 상기 비 리디렉션 서브 장치의 정보에 따라, 상기 USB 리디렉션 전송 정보에서 상기 비 리디렉션 서브 장치를 삭제한다.
일 실시예에 있어서, 예를 들면, 상기 USB 터미널이 마이크로폰 또는 다른 서브 장치를 포함하고, 시스템이 이들 서브 장치가 리디렉션되지 않도록 요구할 경우, Standard Device Requests-Get Descriptor의 리턴 결과에서 마이크로폰 또는 다른 서브 장치의 Interface Association Descriptor을 찾아, 상기 Interface Association Descriptor로부터 다음의 다른 장치의 Interface Association Descriptor까지의 데이터 또는 전체 Standard Device Requests-Get Descriptor 리턴 결과의 제일 마지막까지의 데이터를 삭제한다.
본 실시예에 따른 USB 장치 리디렉션 데이터 전송 방법은 재구성된 USB 리디렉션 전송 메시지에서 비 리디렉션 서브 장치를 삭제하여, USB 터미널의 다양한 사용 요건을 충족시킨다.
도 7은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 7에 도시된 바와 같이, 다음과 같은 단계를 포함한다:
단계(1A) 로컬 장치에 의해 송신된 USB 리디렉션 전송 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 메시지 중의 USB 이미지 압축 데이터를 획득한다.
일 실시예에 있어서, USB 터미널에 연결된 로컬 장치에 의해 송신된 USB 리디렉션 전송 메시지를 수신 및 파싱하여, 그 중에서 압축을 거친 USB 이미지 압축 데이터를 획득한다.
단계(2A), 리디렉션 정보에 따라 USB 이미지 압축 데이터를 압축해제(Decompress)하여 USB 이미지 데이터를 획득하고, 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및/또는 이미지 포맷 정보를 포함한다.
일 실시예에 있어서, 리디렉션 정보에 따라, 상기 USB 이미지 압축 데이터를 압축해제하고, 상기 리디렉션 정보와 로컬 터미널 중의 리디렉션 정보는 동일하고, 로컬 장치의 리디렉션 정보와 실시간으로 동기화되며, 이의 저장 방식은 로컬 장치와 원격 서버에 단독적으로 저장하거나, 하나의 저장 매체에 저장하여, 양쪽 당사자가 판독하도록할 수 있다.
단계(3A), 상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성한다.
일 실시예에 있어서, 압축해제된 USB 이미지 데이터를 USB 전송 메시지로 재구성하고, 상기 USB 전송 메시지는 동기화 전송 메시지 또는 벌크 전송 메시지를 포함한다. 따라서, 로컬 장치가 상기 이미지 데이터를 획득하는 방식이 상기 USB 터미널에 의해 송신된 USB 전송 메시지를 직접 수신하는 방식일 때, 원격 서버에 의해 재구성된 상기 USB 전송 메시지는 로컬 장치 측의 USB 전송 메시지를 재생한다. 로컬 장치가 상기 이미지 데이터를 획득하는 방식이 USB 터미널의 애플리케이션 계층 데이터를 수신 및 파싱하는 방식일 때, 원격 서버에 의해 재구성된 상기 USB 전송 메시지는 상기 USB 터미널과 원활하게 인터페이스할 수 있다.
단계(4A), 상기 USB 전송 메시지를 출력한다.
일 실시예에 있어서, 상기 USB 전송 메시지를 출력한 후, 상기 원격서버의 USB 장치 드라이버에 전송하여, 상기 USB 장치 드라이버가 상기 USB 전송 메시지 중의 이미지 데이터를 재생하도록 한다.
본 실시예에 따른 원격 서버 측 USB 장치 리디렉션 데이터 전송 방법은, 수신된 USB 리디렉션 전송 메시지를 로컬 장치와 동일한 리디렉션 정보에 따라 압축해제하여, USB 이미지 데이터를 획득 및 출력하고, 재구성된 USB 리디렉션 전송 메시지에 포함된 압축된 이미지 정보를 통해, 이미지 정보가 USB 터미널에서 획득한 이미지 데이터의 USB 리디렉션 전송 네트워크에서의 전송 속도를 향상시키며, USB 전송 메시지의 재구성함으로써, USB 비디오 장치와의 원활한 인터페이스가 가능해진다.
도 8은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 8에 도시된 바와 같이, 상기 방법은 다음과 같은 단계를 포함한다:
단계(1B), 수정 컨텐츠 정보를 수신하고, 수정 컨텐트 정보에 따라 리디렉션 정보를 업데이트하여 리디렉션 업데이트 정보를 획득하며, 수정 컨텐츠 정보는 해상도 및/또는 이미지 포맷 수정 정보를 포함한다.
일 실시예에 있어서, 사용자가 해상도 정보를 수정해야 할 경우, 상기 원격 서버의 애플리케이션 프로그램은 사용자에 의해 입력된 해상도 설정 정보를 수신한다. 구체적인 설명은 실시예 5의 단계(10)와 동일하다.
단계(2B), 수정 컨텐츠 정보에 따라 수정 설정 메시지를 생성하여 상기 로컬 장치에 송신한다.
단계(3B), 로컬 장치에 의해 송신된 USB 리디렉션 전송 수정 메시지를 수신 및 파싱하여 USB 리디렉션 전송 수정 메시지 중의 USB 이미지 압축 수정 데이터를 획득한다.
일 실시예에 있어서, 상기 로컬 장치에 의해 송신된 해상도가 수정된 USB 리디렉션 전송 수정 메시지를 수신하고 파싱하여 그 중의 USB 이미지 압축 데이터를 획득한다.
단계(4B), 리디렉션 업데이트 정보에 따라 USB 이미지 압축 수정 데이터를 압축해제하여 USB 이미지 데이터를 획득한다.
단계(5B), 상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성한다.
단계(6B), 상기 USB 전송 메시지를 출력한다.
본 실시예에서, 획득된 해상도 설정 메시지를 통해, 원격 서버는 리디렉션 정보를 수정하고, 로컬 장치로 송신하여 이미 전송된 이미지 데이터를 재압축한 다음, USB 전송 메시지를 재구성하여 원격 서버로 전송하며, 원격 서버는 사용자에 의해 수정된 해상도에 따라 재생할 수 있다. 해상도의 수정 기능이 제공됨으로써, 본 실시예는 USB 이미지 데이터의 전송 효율을 더 향상시키는 한편, 보다 유연한 이미지 데이터의 재생 플레이 등 애플리케이션을 제공할 수 있다.
도 9는 본 발명의 실시예에 따른 데이터 전송 장치의 구조도이며, 도 9에 도시된 바와 같이, 다음과 같은 모듈를 포함한다:
USB 이미지 데이터 획득 모듈(100)은, USB 이미지 데이터를 획득하도록 구성되며; USB 터미널의 애플리케이션 계층 데이터를 수신 및 파싱하여 USB 이미지 데이터를 획득하도록 구성된 제1 USB 이미지 데이터 획득 유닛; 상기 USB 터미널에 의해 송신된 USB 전송 메시지를 수신 및 파싱하여 USB 이미지 데이터를 획득하도록 구성된 제2 USB 이미지 데이터 획득 유닛; 을 포함한다.
압축 데이터 획득 모듈(200)은, 리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하도록 구성되고, 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및/또는 이미지 포맷 정보를 포함하며; 또한 리디렉션 정보에 따라 상기 USB 이미지 스플라이싱 데이터를 압축하여 USB 이미지 압축 데이터를 획득하도록 구성되며; 또한 일련번호가 상기 수정 설정 메시지의 일련번호보다 큰 상기 USB 이미지 압축 데이터를 상기 리디렉션 업데이트 정보에 따라 재압축하여 USB 이미지 압축 수정 데이터를 획득하도록 구성된다.
리디렉션 전송 메시지 재구성 모듈(300)은, 상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하도록 구성되고, 상기 USB 리디렉션 전송 메시지는 동기화 전송 메시지 또는 벌크 전송 메시지를 포함하며; 상기 USB 이미지 압축 데이터 및 USB 전송 메시지 포맷에 따라 상기 USB 리디렉션 전송 메시지를 재구성하도록 구성된 제1 리디렉션 전송 메시지 재구성 유닛을 포함하며; 상기 USB 전송 메시지 중의 상기 USB 이미지 데이터를 상기 USB 이미지 압축 데이터로 대체하여 상기 USB 리디렉션 전송 메시지를 재구성하도록 구성된 제2 리디렉션 전송 메시지 재구성 유닛을 포함하며; 또한, 상기 USB 이미지 압축 수정 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하여 USB 리디렉션 전송 수정 메시지를 획득하도록 구성된다.
송신 모듈(400)은, 상기 USB 리디렉션 전송 메시지를 서버에 송신하도록 구성되고; 상기 USB 리디렉션 전송 수정 메시지를 원격 서버에 송신하도록 구성되며; 또한 상기 이미지 수집 정보를 상기 USB 터미널에 송신하여, 상기 USB 터미널이 상기 이미지 수집 정보에 따라 수집하려는 이미지 데이터의 수집 해상도 및/또는 상기 이미지 수집 포맷을 조정하도록 구성된다.
이미지 스플라이싱 모듈(500)은, 상기 USB 이미지 데이터 및 이미지 스플라이싱 정보에 따라 USB 이미지 스플라이싱 데이터를 획득하도록 구성되며, 상기 이미지 스플라이싱 정보는 스플라이싱된 후의 상기 USB 이미지 데이터의 길이 정보를 포함한다.
수정 설정 메시지 획득 모듈(100B)은, 상기 원격 서버에 의해 송신된 수정 설정 메시지를 수신 및 파싱하여 상기 수정 설정 메시지의 일련번호 및 수정 컨텐츠 정보를 획득하도록 구성되며, 상기 수정 컨텐츠 정보는 해상도 및/또는 이미지 포맷 수정 컨텐츠 정보를 포함한다.
리디렉션 업데이트 정보 획득 모듈(200B)은, 상기 수정 컨텐츠 정보에 따라 상기 리디렉션 정보를 업데이트하여 리디렉션 업데이트 정보를 획득하도록 구성된다.
초기 장치 정보 획득 모듈(100A)은, 상기 USB 터미널에 의해 송신된 삽입 메시지를 수신 및 파싱하여 상기 삽입 메시지 중의 초기 장치 정보를 획득하도록 구성된다.
장치 디스플레이 정보 획득 모듈(200A)은, 상기 초기 장치 메시지 및 장치 디스플레이 수정 정보에 따라 장치 디스플레이 정보를 획득하도록 구성되며, 상기 장치 디스플레이 수정 정보는 상기 원격 서버 측에 디스플레이되는 상기 USB 터미널의 장치 정보에 대해 수정하는 수정 정보를 포함한다.
이미지 수집 정보 획득 모듈(300A)은, 상기 수정 설정 메시지 및 상기 장치 디스플레이 정보에 따라 상기 USB 터미널의 이미지 수집 정보를 결정하도록 구성되며, 상기 이미지 수집 정보는 수집 해상도 및/또는 이미지 수집 포맷을 포함한다.
본 발명에 따른 일 실시예에 있어서, 상기 기능 모듈은 하드웨어 설정의 요구사항에 따라 통합될 수 있으며, 여기서: 상기 USB 이미지 데이터 획득 모듈(100), 상기 압축 데이터 획득 모듈(200), 상기 이미지 스플라이싱 모듈(500), 상기 해상도 설정 정보 획득 모듈(100B), 상기 리디렉션 업데이트 정보 획득 모듈(200B), 상기 초기 장치 정보 획득 모듈(100A), 상기 장치 디스플레이 정보 획득 모듈(200A) 및 상기 이미지 수집 해상도 획득 모듈(300A)이 실제 응용에서의 기능은 일반적으로 커널(kernel) 모듈(2)을 통해 완성되고; 상기 송신 모듈(400)의 기능은 터미널 리디렉션-통신 모듈(4)을 통해 완성되며; 상기 리디렉션 전송 메시지 재구성 모듈(300)의 기능은 터미널 리디렉션-캐시 압축 재구성 모듈(3)을 통해 완성되고; 상기 터미널 리디렉션-캐시 압축 재구성 모듈(3)은 터미널 리디렉션-통신 모듈(4)에서 독립되거나 또는 양자를 하나의 기능 모듈로 결합하여 구성될 수 있으며; 기존의 기능적 구조를 최대한 유지하기 위해, 상기 터미널 리디렉션-캐시 압축 재구성 모듈(3)을 상기 터미널 리디렉션-통신 모듈(4)에 개별적으로 연결할 수 있다. 또한, USB 비디오 터미널(1)은 상기 커널 모듈(2)에 연결된다.
본 실시예에 따른 로컬 장치는 획득한 USB 이미지 데이터를 리디렉션된 해상도 정보 등에 따라 압축한 후, USB 리디렉션 전송 메시지를 재구성하여, 원격 서버에 송신하며, 재구성된 USB 리디렉션 전송 메시지에 포함된 압축된 이미지 정보를 통해, 이미지 정보가 USB 터미널로부터 획득한 이미지 데이터의 USB 리디렉션 전송 네트워크에서의 전송 속도를 향상시키고, USB 전송 메시지를 재구성함으로써 USB 비디오 장치와의 원활한 인터페이스가 가능해진다.
도 10은 본 발명의 실시예에 따른 서버의 구성 구조 개략도이며, 도 10에 도시된 바와 같이, 다음과 같은 모듈을 포함한다:
USB 리디렉션 전송 메시지 획득 모듈(10)은, 로컬 장치에 의해 송신된 USB 리디렉션 전송 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 메시지 중의 USB 이미지 압축 데이터를 획득하도록 구성되고; 또한 상기 로컬 장치에 의해 송신된 USB 리디렉션 전송 수정 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 수정 메시지 중의 USB 이미지 압축 수정 데이터를 획득하도록 구성된다.
압축해제 모듈(20)은, 리디렉션 정보에 따라 상기 USB 이미지 압축 데이터를 압축해제하여 USB 이미지 데이터를 획득하도록 구성되고, 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및/또는 이미지 포맷 정보를 포함하며; 또한 상기 리디렉션 업데이트 정보에 따라 상기 USB 이미지 압축 수정 데이터를 압축해제하여 USB 이미지 데이터를 획득하도록 구성된다.
재구성 모듈(30)은, 상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성하도록 구성되며;
출력 모듈(40)은, 상기 USB 전송 메시지를 출력하도록 구성된다.
리디렉션 업데이트 정보 획득 모듈(50)은, 수정 컨텐츠 정보를 수신하고, 상기 수정 컨텐츠 정보에 따라 상기 리디렉션 정보를 업데이트하여 리디렉션 업데이트 정보를 획득하도록 구성되며, 상기 수정 컨텐츠 정보는 해상도 및/또는 이미지 포맷 수정 정보를 포함한다.
송신 모듈(60)은, 상기 수정 컨텐츠 정보에 따라 수정 설정 메시지를 생성하여 상기 로컬 장치에 송신하도록 구성된다.
본 실시예에 따른 서버는 수신된 USB 리디렉션 전송 메시지를 로컬 장치와 동일한 리디렉션 정보에 따라 압축해제하여 USB 이미지 데이터를 획득 및 출력하며, 재구성된 USB 리디렉션 전송 메시지에 포함된 압축된 이미지 정보를 통해, 이미지 정보가 USB 터미널로부터 획득한 이미지 데이터의 USB 리디렉션 전송 네트워크에서의 전송 속도를 향상시키고, USB 전송 메시지를 재구성함으로써 USB 비디오 장치와의 원활한 인터페이스가 가능해진다.
본 발명에 따른 일 실시예에 있어서, 상기 기능 모듈은 하드웨어 설정의 요구사항에 따라 통합될 수 있으며, 여기서: 상기 USB 리디렉션 전송 메시지 획득 모듈(10) 및 상기 송신 모듈(50)의 기능은 리디렉션 서비스 통신 모듈(5)에 의해 완성되고; 상기 압축해제 모듈(20)의 기능은 리디렉션 서비스-캐시 압축해제 복원 모듈(6)에 의해 완성되며; 상기 리디렉션 업데이트 정보 획득 모듈(40)의 기능은 장치 매핑 커널(드라이브) 모듈(7)에 의해 완성되고; 상기 재생 모듈(30)의 기능은 사용자 애플리케이션(계층) 프로그램(9)에 의해 완성되며; 상기 원격 서버는 상기 USB 비디오 장치의 드라이버 프로그램을 로드하기 위한 (상위 계층)장치 드라이버 프로그램(8)을 더 포함한다.
도 11은 본 발명의 실시예에 따른 데이터 전송 방법의 흐름도이며, 도 11에 도시된 바와 같이, 다음과 같은 단계를 포함한다:
단계(S1): 터미널 리디렉션-캐시 압축 재구성 모듈(3)은 시스템이 통지한 장치 삽입 이벤트를 획득한 후, 획득 장치 정보를 리디렉션 서비스-통신 모듈(4)에 송신하며;
단계(S2): 리디렉션 서비스-통신 모듈(4)은 시스템이 통지한 장치 삽입 이벤트를 장치 정보와 함께 장치 매핑 커널 모듈(7)에 송신하며;
단계(S3): 장치 매핑 커널 모듈(7)은 이에 따라 장치 대상을 생성하며;
단계(S4): 서버 운영체제(장치 드라이버 프로그램(8))는 상기 장치 대상에 대해 장치 드라이버 프로그램을 설치하고 로드하며;
단계(S5): 시스템 로드 장치 드라이버 프로그램(8)은 장치 매핑 커널 모듈(7)에 Standard Device Requests-Get Descriptor를 요청하며;
단계(S6): 장치 매핑 커널 모듈(7)은 Standard Device Requests-Get Descriptor(획득 기술어) 요청을 리디렉션 서비스-통신 모듈(5)에 포워드하며;
단계(S7): 리디렉션 서비스-통신 모듈(5)은 Standard Device Requests-Get Descriptor 요청을 리디렉션 서비스-캐시 압축해제 복원 모듈(6)에 포워드하며;
단계(S8): 리디렉션 서비스-캐시 압축해제 복원 모듈(6)은 제어 요청 유형 및 그 일련번호(상기 기록은 상기 요청 응답 결과를 로케이팅하기 위한 것임)를 기록한 다음, Standard Device Requests-Get Descriptor 요청을 리디렉션 서비스-통신 모듈(5)에 리턴하며;
단계(S9): 리디렉션 서비스-통신 모듈(5)은 Standard Device Requests-Get Descriptor 요청을 터미널 리디렉션-통신 모듈(4)에 포워드하며;
단계(S10): 터미널 리디렉션-통신 모듈(4)은 Standard Device Requests-Get Descriptor요청을 터미널 리디렉션-캐시 압축 재구성 모듈(6)에 포워드하며;
단계(S11): 터미널 리디렉션-캐시 압축 재구성 모듈(6)은 제어 요청 유형 및 그 일련번호(상기 기록은 상기 요청 응답 결과를 로케이팅하기 위한 것임)를 기록한 다음, Standard Device Requests-Get Descriptor 요청을 터미널 리디렉션-통신 모듈(4)에 리턴하며;
단계(S12): USB 투과 전송 모드를 사용하는 경우, 터미널 리디렉션-통신 모듈(4)은 Standard Device Requests-Get Descriptor 요청을 커널 모듈(2)에 포워드하며; 그렇지 않을 경우, 터미널 리디렉션-통신 모듈(4)은 장치 속성 및 해상도 리스트 등 정보를 획득하고, USB 프로토콜 및 USB 비디오 장치 프로토콜에 따라 Standard Device Requests-Get Descriptor 리턴 결과를 내장(built-in)하고 단계(S16)으로 점프하며;
단계(S13): 커널 모듈(2)은 Standard Device Requests-Get Descriptor 요청을 장치 하드웨어 USB 비디오 장치(1)에 제출하며;
단계(S14): 장치 하드웨어 USB 비디오 장치(1)는 요청에 응답하고, 커널 모듈(2)은 리턴 결과를 획득하며;
단계(S15): 커널 모듈(2)은 Standard Device Requests-Get Descriptor 리턴 결과를 터미널 리디렉션-통신 모듈(4)에 포워드하며;
단계(S16): 터미널 리디렉션-통신 모듈(4)은 Standard Device Requests-Get Descriptor 리턴 결과를 터미널 리디렉션-캐시 압축 재구성 모듈(3)에 포워드하며;
단계(S17): 터미널 리디렉션-캐시 압축 재구성 모듈(3)은 전술한 기록에 따라, 상기 리턴 결과가 Standard Device Requests-Get Descriptor 리턴 결과인지를 판단하고, 이에 대해 파싱하며, 인터페이스 일련번호(b Interface Number), 포맷 일련번호(b Format Index), 프레임 일련번호(b Frame Index), 해상도 너비(w Width)와 높이(w Height) 관계를 인덱스하며, USB 비디오 장치 포맷/해상도 파라미터(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 값을 수정함)를 조정해야 하거나, 또는 최고 해상도(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 목표 해상도보다 낮은 Frame을 삭제하고, 프레임 일련번호 bFrameIndex를 재정렬함)를 낮추어야 하거나, 또는 최저 해상도(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 목표 해상도보다 높은 Frame을 삭제하고, 프레임 일련번호 bFrameIndex를 재정렬함)를 높여야 하거나, 또는 디폴트 해상도(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 프레임 일련번호 bFrameIndex를 재정렬하고, 디폴트 해상도가 위치한 프레임 Video Frame Descriptor을 처음 위치, 즉 bFrameIndex이 1인 위치에 배열하고, 한편 포맷 Payload Format Descriptors 중의 디폴트 프레임 일련번호 bDefaultFrameIndex의 값을 1로 수정함)를 수정하여야 하거나, 또는 앵커 해상도에 고해상도 또는 저해상도(Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 목표 해상도의 Frame을 증가하고, 프레임 일련번호 bFrameIndex를 재정렬함)를 증가해야 하는 등 경우에도, Standard Device Requests-Get Descriptor 리턴 결과에 대해 수정하고, 수정 후 결과와 수정 전 결과의 대응관계를 기록하고 인덱스하며, 상기 카메라가 마이크로폰 또는 다른 서브 장치를 포함하고 시스템이 이들 서브 장치가 리디렉션되지 않도록 요구하는 경우, Standard Device Requests-Get Descriptor 리턴 결과에서 마이크로폰 또는 다른 서브 장치의 Interface Association Descriptor을 찾아, 상기 Interface Association Descriptor로부터 다음의 다른 장치의 Interface Association Descriptor까지의 데이터 또는 전체 Standard Device Requests-Get Descriptor 리턴 결과의 제일 마지막까지의 데이터를 삭제하고, 최종의 결과를 터미널 리디렉션 통신모듈에 포워드하며;
단계(S18): 터미널 리디렉션-통신 모듈(4)은 수신된 Standard Device Requests-Get Descriptor 결과를 리디렉션-서비스 통신 모듈(5)에 포워드하며;
단계(S19): 리디렉션-서비스 통신 모듈(5)은 수신된 Standard Device Requests-Get Descriptor 결과를 리디렉션-서비스 캐시 압축해제 복원 모듈(6)에 포워드하며;
단계(S20): 리디렉션-서비스 캐시 압축해제 복원 모듈(6)은 수신된 Standard Device Requests-Get Descriptor 결과를 파싱하고, 인터페이스 일련번호(b Interface Number), 포맷 일련번호(b Format Index), 프레임 일련번호(b Frame Index), 해상도 너비(w Width)와 높이(w Height) 관계를 인덱스하고, 결과를 리디렉션 서비스-통신 모듈(5)에 리턴하며;
단계(S21): 리디렉션 서비스-통신 모듈(5)은 수신된 Standard Device Requests-Get Descriptor 결과를 장치 매핑 커널 모듈(7)에 포워드하며;
단계(S22): 장치 매핑 커널 모듈(7)은 수신된 Standard Device Requests-Get Descriptor 결과를 시스템 장치 드라이버 프로그램(8)에 제출한다.
도 12는 본 발명의 실시예에 따른 데이터 전송 방법에서 전송 압축 박스의 파라미터를 조정하는 흐름도이며, 도 12에 도시된 바와 같이 다음과 같은 단계를 포함한다:
단계(101): 터미널 리디렉션 통신 모듈은 터미널 리디렉션 캐시 압축 재구성 모듈을 호출하여 함수를 생성하고, USB 비디오 장치 식별자를 입력하며, 터미널 리디렉션 캐시 압축 재구성 모듈 USB 비디오 장치 식별 관련 변수(압축될 큐, 송신될 큐, 알림 데이터 도착 신호, 스레드 종료 신호 등)를 초기화하고, 상기 장치에 대한 처리 스레드(thread)를 생성하여 성공 또는 실패를 리턴하며;
단계(201): 터미널 리디렉션 통신 모듈은 터미널 리디렉션 캐시 압축 재구성 모듈을 호출하여 함수를 실행하고, USB 비디오 장치 식별자, 데이터 및 제어 정보를 입력한다.
단계(31): 터미널 리디렉션 캐시 압축 재구성 모듈은 데이터 및 제어 정보가 Standard Device Requests-Get Descriptor 요청인지 확인하고, "예"의 경우, USB 비디오 장치 식별자, 제어 요청 유형 및 이의 일련번호를 기록한 후, 직접 터미널 리디렉션 통신 모듈에 리턴한다.
단계(32): "아니"의 경우, 데이터 및 제어 정보가 Video Streaming Requests-Video Probe and Commit Controls(비디오 탐측 및 제어) 요청인지 확인하고, "예"의 경우, USB 비디오 장치 식별자, 제어 요청 유형 및 이의 일련번호를 기록하고; Standard Device Requests-Get Descriptor 결과가 앞에서 수정되었으면, Standard Device Requests-Get Descriptor 결과의 수정 후와 수정 전의 대응 관계에 대한 기록 인덱스에 따라, Video Streaming Requests-Video Probe and Commit Controls 요청 중의 포맷 일련번호(b Format Index)와 프레임 일련번호(b Frame Index)를 Standard Device Requests-Get Descriptor 수정 전 결과에 기록된 대응 값으로 다시 조정하고; 시스템이 앵커 해상도(고해상도 비디오를 축소하거나 또는 저해상도 비디오를 상기 앵커 해상도로 확장)인 경우, Standard Device Requests-Get Descriptor 결과 중의 인터페이스 일련번호(bInterfaceNumber), 포맷 일련번호(bFormatIndex), 프레임 일련번호(bFrameIndex), 해상도 너비(wWidth) 및 높이(wHeight)의 인덱스 관계에 따라, Video Streaming Requests-Video Probe and Commit Controls 요청 중의 포맷 일련번호(bFormatIndex)와 프레임 일련번호(bFrameIndex)를 Standard Device Requests-Get Descriptor 결과 중의 앵커 해상도에 대응되는 값으로 다시 조정한 후, 직접 터미널 리디렉션 통신 모듈에 리턴한다.
단계(33): "아니"의 경우, 데이터 및 제어 정보가 다른 요청인지 검사하고, "예"의 경우, 직접 터미널 리디렉션 통신 모듈에 리턴한다.
단계(34) : "아니"의 경우, 전술한 USB 비디오 장치 식별자, 제어 요청 유형 및 이의 일련번호 기록에 따라, 데이터 및 제어 정보가 Standard Device Requests-Get Descriptor 리턴 결과인지 확인하고, "예"의 경우, 이에 대해 파싱하고, 인터페이스 일련번호(bInterfaceNumber), 포맷 일련번호(bFormatIndex), 프레임 일련번호(bFrameIndex), 해상도 너비(wWidth)와 높이(wHeight) 관계를 인덱스하며, USB 비디오 장치 포맷/해상도 파라미터를 조정해야 할 경우, Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 값을 수정하고; 최고 해상도를 낮추어야 할 경우, Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 목표 해상도보다 낮은 Frame을 삭제하고, 프레임 일련번호 bFrameIndex를 재정렬하며; 최저 해상도를 높여야 할 경우, Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 목표 해상도보다 높은 Frame을 삭제하고, 프레임 일련번호 bFrameIndex를 재정렬하며; 디폴트 해상도를 수정해야 할 경우, Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라 프레임 일련번호 bFrameIndex를 재정렬하고, 디폴트 해상도가 위치한 프레임 Video Frame Descriptor을 첫 번째 위치, 즉 bFrameIndex이 1인 위치에 배열하고, 한편 포맷 Payload Format Descriptors에서 디폴트 프레임 번호의 값을 1로 수정하고, 수정 후 결과와 수정 전 결과의 대응관계를 기록하여 인덱스하며; 앵커 해상도에 고해상도 또는 저해상도를 증가해야 할 경우, Video Streaming Interface Descriptors-Payload Format Descriptors/Video Frame Descriptor 정의에 따라, 따라 목표 해상도의 Frame을 증가하고, 프레임 일련번호 bFrameIndex를 재정렬하며; 상기 카메라가 마이크로폰 또는 다른 서브 장치를 포함하고 시스템이 이들 서브 장치가 리디렉션되지 않도록 요구하는 경우, Standard Device Requests-Get Descriptor 리턴 결과에서 마이크로폰 또는 다른 서브 장치의 Interface Association Descriptor를 찾아, 상기 Interface Association Descriptor로부터 다음의 다른 장치의 Interface Association Descriptor까지의 데이터 또는 전체 Standard Device Requests-Get Descriptor 리턴 결과의 제일 마지막까지의 데이터를 삭제하고, 터미널 리디렉션 통신모듈에 리턴한다.
단계(35): "아니"의 경우, 전술한 USB 비디오 장치의 식별자, 제어 요청 유형 및 일련번호 기록에 따라, 데이터 및 제어 정보가 Video Streaming Requests-Video Probe and Commit Controls 리턴 결과인지 검사하고, "예"의 경우, 이에 대해 파싱하고, 상기 결과가 실패인 경우, 해당 기록을 찾아 삭제한 후, 터미널 리디렉션 통신 통신 모듈에 리턴한다.
단계(36): "아니"의 경우, 데이터 및 제어 정보가 Video Streaming Interface에서 리턴한 Isochronous Transfer IN 결과(동기화 전송 메시지) 또는 Bulk Transfer IN 결과(벌크 전송 메시지)인지 검사하고, "예"의 경우, 결과를 복사하여 USB 비디오 장치 식별자에 대응하는 압축될 큐로 푸시하고, 알림 데이터 도착 신호를 설정하고, USB 비디오 장치 식별자에 대응하는 송신될 큐에서 새로운 결과를 획득하여 현재 결과를 덮어쓰고, 송신될 큐가 비어있으면 현재 결과의 컨텐츠가 없다고 설정하고 리턴 길이를 0으로 설정한 후, 터미널 리디렉션 통신 모듈에 리턴한다.
"아니"의 경우, 직접 터미널 리디렉션 통신 모듈에 리턴한다.
단계(401): USB 비디오 장치의 식별자에 대응되는 처리 스레드는 데이터 도착 신호를 수신한 후, 압축될 큐 중의 데이터를 처리하고, Stream Header 후의 비디오 데이터를 스플라이싱하며, 스플라이싱된 비디오 데이터가 하나의 프레임을 채운 후, 움직이는 이미지 압축 코딩 알고리즘 인터페이스로 전송하며, 시스템이 앵커 해상도(고해상도 비디오를 축소하거나 또는 저해상도 비디오를 상기 앵커 해상도로 확장)인 경우, 스플라이싱된 한 프레임의 비디오 데이터를 축소하거나 또는 확장한 후 다시 움직이는 이미지 압축 코딩 알고리즘 인터페이스로 전송하고, 압축된 비디오 데이터와 저장된 Stream Header(STI는 0으로 설정됨)를 함께 새로운 결과로 재구성하여 송신될 큐에 푸시하고, 압축될 큐에서 얻은 결과의 데이터 일련번호가 Video Streaming Requests-Video Probe and Commit Controls에 기록된 일련번호보다 큰 경우, 해상도 또는 포맷이 수정되었음을 의미하고, 압축될 큐와 송신될 큐를 삭제하고, 새로운 파라미터(예를 들면, Video Streaming Requests-Video Probe and Commit Controls 요청 중 포맷 일련번호 bFormatIndex와 프레임 일련번호 bFrameIndex의 Standard Device Requests-Get Descriptor 결과에 기록된 대응되는 해당 해상도 너비 width와 높이 wHeight 등)를 사용하여 움직이는 이미지 압축 코딩 알고리즘을 호출하여, 새로운 포맷 또는 새로운 해상도의 압축 데이터를 생성한 다음, Video Streaming Requests-Video Probe and Commit Controls 기록을 삭제한다.
본 분야 당업자는 상기 실시예의 여러 가지 방법 중의 전부 또는 일부 단계는 관련 하드웨어에 대한 프로그램 명령을 통해 완료될 수 있음을 이해할 것이며, 상기 프로그램은 컴퓨터 판독 가능 저장 매체에 저장될 수 있고, 저장 매체는: 판독 전용 기억 장치(ROM, Read-Only Memory), 랜덤 액세스 메모리(RAM, Random Access Memory), 자기디스크 또는 광디스크를 포함할 수 있다.
요약하면, 상기 설명은 본 발명의 바람직한 실시예일 뿐이며 본 발명의 보호범위에 대한 한정이 아니다. 본 발명의 사상 및 원칙 범위 내에서 이루어진 임의의 변형, 동등한 대체, 개선 등은 본 발명의 범위 내에 포함된다.

Claims (26)

  1. USB 이미지 데이터를 획득하는 단계;
    리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하는 단계- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 정보를 포함함-;
    상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하는 단계;
    상기 USB 리디렉션 전송 메시지를 서버에 송신하는 단계; 를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  2. 제 1 항에 있어서,
    상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및 이미지 포맷 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  3. 제 1 항에 있어서,
    상기 USB 리디렉션 전송 메시지는 USB 리디렉션 동기화 전송 메시지 또는 USB 리디렉션 벌크 전송 메시지를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  4. 제 1 항에 있어서,
    상기 USB 이미지 데이터를 획득하는 단계는:
    USB 터미널의 애플리케이션 계층 데이터를 수신 및 파싱하여, USB 이미지 데이터를 획득하는 단계를 포함하고;
    상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하는 상기 단계는:
    상기 USB 이미지 압축 데이터 및 USB 전송 메시지 포맷에 따라, 상기 USB 리디렉션 전송 메시지를 재구성하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  5. 제4 항에 있어서,
    상기 USB 이미지 압축 데이터 및 USB 전송 메시지 포맷에 따라, 상기 USB 리디렉션 전송 메시지를 재구성하는 상기 단계는:
    상기 USB 전송 메시지 포맷을 획득하는 단계;
    상기 USB 이미지 압축 데이터를 상기 USB 전송 메시지 포맷 중 데이터 패킷을 전송하기 위한 필드에 캡슐화하여, 상기 USB 리디렉션 전송 메시지를 획득하는 단계; 를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  6. 제 1 항에 있어서,
    상기 USB 이미지 데이터를 획득하는 단계는:
    USB 터미널에 의해 송신된 USB 전송 메시지를 수신 및 파싱하여 USB 이미지 데이터를 획득하는 단계를 포함하고;
    상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하는 상기 단계는:
    상기 USB 전송 메시지 중의 상기 USB 이미지 데이터를 상기 USB 이미지 압축 데이터로 대체하고, 상기 USB 리디렉션 전송 메시지를 재구성하는 단계; 를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  7. 제 1 항에 있어서,
    리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하는 상기 단계 전에, 상기 방법은:
    상기 USB 이미지 데이터 및 이미지 스플라이싱 정보에 따라 USB 이미지 스플라이싱 데이터를 획득하는 단계- 상기 이미지 스플라이싱 정보는 상기 USB 이미지 데이터가 스플라이싱된 후의 길이 정보를 포함함-;를 더 포함하고;
    리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하는 상기 단계는:
    리디렉션 정보에 따라 상기 USB 이미지 스플라이싱 데이터를 압축하여 USB 이미지 압축 데이터를 획득하는 단계를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  8. 제 2 항에 있어서,
    상기 USB 리디렉션 전송 메시지를 서버에 송신하는 단계 이후, 상기 방법은:
    상기 서버에 의해 송신된 수정 설정 메시지를 수신 및 파싱하여 상기 수정 설정 메시지의 일련번호 및 수정 컨텐츠 정보를 획득하는 단계- 상기 수정 컨텐츠 정보는 해상도 및 이미지 포맷 수정 컨텐츠 정보 중 적어도 하나를 포함함-;
    상기 수정 컨텐츠 정보에 따라 상기 리디렉션 정보를 업데이트하여 리디렉션 업데이트 정보를 획득하는 단계;
    일련번호가 상기 수정 설정 메시지의 일련번호보다 큰 상기 USB 이미지 압축 데이터를 상기 리디렉션 업데이트 정보에 따라 재압축하여 USB 이미지 압축 수정 데이터를 획득하는 단계;
    상기 USB 이미지 압축 수정 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하여 USB 리디렉션 전송 수정 메시지를 획득하는 단계;
    상기 USB 리디렉션 전송 수정 메시지를 서버에 송신하는 단계; 를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  9. 제 8 항에 있어서,
    USB 이미지 데이터를 획득하는 상기 단계 전에, 상기 방법은:
    USB 터미널에 의해 송신된 삽입 메시지를 수신 및 파싱하여, 상기 삽입 메시지 중의 초기 장치 정보를 획득하는 단계;
    상기 초기 장치 메시지 및 장치 디스플레이 수정 정보에 따라, 장치 디스플레이 정보를 획득하는 단계- 상기 장치 디스플레이 수정 정보는 상기 서버 측에 디스플레이된 상기 USB 터미널의 장치 정보에 대해 수정하는 정보를 포함함-; 를 더 포함하고;
    상기 서버에 의해 송신된 수정 설정 메시지를 수신 및 파싱하는 단계 이후, 상기 방법은:
    상기 수정 설정 메시지 및 상기 장치 디스플레이 정보에 따라 상기 USB 터미널의 이미지 수집 정보를 확정하는 단계- 상기 이미지 수집 정보는 수집 해상도 및 상기 이미지 수집 포맷 중 적어도 하나를 포함 함-;
    상기 이미지 수집 정보를 상기 USB 터미널에 송신하여, 상기 USB 터미널이 상기 이미지 수집 정보에 따라 수집하려는 이미지 데이터의 수집 해상도 및 상기 이미지 수집 포맷 중 적어도 하나를 조정하는 단계; 를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  10. USB 리디렉션 전송 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 메시지 중의 USB 이미지 압축 데이터를 획득하는 단계;
    리디렉션 정보에 따라 상기 USB 이미지 압축 데이터를 압축해제하여 USB 이미지 데이터를 획득하는 단계- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및 이미지 포맷 정보 중 적어도 하나를 포함함-;
    상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성하는 단계;
    상기 USB 전송 메시지를 출력하는 단계; 를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  11. 제 10 항에 있어서,
    리디렉션 정보에 따라 상기 USB 이미지 압축 데이터를 압축해제하는 상기 단계 전에, 상기 방법은:
    수정 컨텐츠 정보를 수신하고, 상기 수정 컨텐츠 정보에 따라 상기 리디렉션 정보를 업데이트하여 리디렉션 업데이트 정보를 획득하는 단계- 상기 수정 컨텐츠 정보는 해상도 및 이미지 포맷 수정 정보 중 적어도 하나를 포함함-;
    상기 수정 컨텐츠 정보에 따라 수정 설정 메시지를 생성하고 송신하는 단계; 를 더 포함하고;
    상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성하는 상기 단계 전에, 상기 방법은:
    상기 USB 리디렉션 전송 수정 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 수정 메시지 중의 USB 이미지 압축 수정 데이터를 획득하는 단계;
    상기 리디렉션 업데이트 정보에 따라 상기 USB 이미지 압축 수정 데이터를 압축해제하여 USB 이미지 데이터를 획득하는 단계; 를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  12. USB 이미지 데이터를 획득하도록 구성된 USB 이미지 데이터 획득 모듈;
    리디렉션 정보에 따라 상기 USB 이미지 데이터를 압축하여 USB 이미지 압축 데이터를 획득하도록 구성된 압축 데이터 획득 모듈- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 정보를 포함함-;
    상기 USB 이미지 압축 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하도록 구성된 리디렉션 전송 메시지 재구성 모듈;
    상기 USB 리디렉션 전송 메시지를 서버에 송신하도록 구성된 송신 모듈; 을 포함하는 것을 특징으로 하는 데이터 전송 장치.
  13. 제 12 항에 있어서,
    상기 리디렉션 정보는:
    전송 데이터를 리디렉션하기 위한 해상도 정보 및 이미지 포맷 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 전송 장치.
  14. 제 12 항에 있어서,
    상기 USB 리디렉션 전송 메시지는:
    USB 리디렉션 동기화 전송 메시지 또는 USB 리디렉션 벌크 전송 메시지를 포함하는 것을 특징으로 하는 데이터 전송 장치.
  15. 제 12 항에 있어서,
    상기 USB 이미지 데이터 획득 모듈은:
    USB 터미널의 애플리케이션 계층 데이터를 수신 및 파싱하여 USB 이미지 데이터를 획득하도록 구성된 제1 USB 이미지 데이터 획득 유닛을 포함하고;
    상기 리디렉션 전송 메시지 재구성 모듈은:
    상기 USB 이미지 압축 데이터 및 USB 전송 메시지 포맷에 따라 상기 USB 리디렉션 전송 메시지를 재구성하도록 구성된 제1 리디렉션 전송 메시지 재구성 유닛을 포함하는 것을 특징으로 하는 데이터 전송 장치.
  16. 제 15 항에 있어서,
    제1 리디렉션 전송 메시지 재구성 유닛은, 상기 USB 전송 메시지 포맷을 획득하고; 상기 USB 이미지 압축 데이터를 상기 USB 전송 메시지 포맷 중 데이터 패킷을 전송하기 위한 필드에 캡슐화하여 상기 USB 리디렉션 전송 메시지를 획득하도록 구성된 것을 특징으로 하는 데이터 전송 장치.
  17. 제 12 항에 있어서,
    상기 USB 이미지 데이터 획득 모듈은:
    USB 터미널에 의해 송신된 USB 전송 메시지를 수신 및 파싱하여 USB 이미지 데이터를 획득하도록 구성된 제2 USB 이미지 데이터 획득 유닛을 포함하고;
    상기 리디렉션 전송 메시지 재구성 모듈은:
    상기 USB 전송 메시지 중의 상기 USB 이미지 데이터를 상기 USB 이미지 압축 데이터로 대체하여 상기 USB 리디렉션 전송 메시지를 재구성하도록 구성된 제2 리디렉션 전송 메시지 재구성 유닛을 포함하는 것을 특징으로 하는 데이터 전송 장치.
  18. 제 12 항에 있어서,
    상기 USB 이미지 데이터 및 이미지 스플라이싱 정보에 따라 USB 이미지 스플라이싱 데이터를 획득하도록 구성된 이미지 스플라이싱 모듈- 상기 이미지 스플라이싱 정보는 상기 스플라이싱 후의 USB 이미지 데이터의 길이 정보를 포함함-; 을 더 포함하며;
    상기 압축 데이터 획득 모듈은 또한, 리디렉션 정보에 따라 상기 USB 이미지 스플라이싱 데이터를 압축하여 USB 이미지 압축 데이터를 획득하도록 구성된 것을 특징으로 하는 데이터 전송 장치.
  19. 제 13 항에 있어서,
    상기 서버에 의해 송신된 수정 설정 메시지를 수신 및 파싱하여 상기 수정 설정 메시지의 일련번호 및 수정 컨텐츠 정보를 획득하도록 구성된 수정 설정 메시지 획득 모듈- 상기 수정 컨텐츠 정보는 해상도 및 이미지 포맷 수정 컨텐츠 정보 중 적어도 하나를 포함함-;
    상기 수정 컨텐츠 정보에 따라 상기 리디렉션 정보를 업데이트하여 리디렉션 업데이트 정보를 획득하도록 구성된 리디렉션 업데이트 정보 획득 모듈; 을 더 포함하며;
    상기 압축 데이터 획득 모듈은 또한, 일련번호가 상기 수정 설정 메시지의 일련번호보다 큰 상기 USB 이미지 압축 데이터를 상기 리디렉션 업데이트 정보에 따라 재압축하여 USB 이미지 압축 수정 데이터를 획득하도록 구성되며;
    상기 리디렉션 전송 전보 재구성 모듈은 또한, 상기 USB 이미지 압축 수정 데이터에 따라 USB 리디렉션 전송 메시지를 재구성하여 USB 리디렉션 전송 수정 메시지를 획득하도록 구성되며;
    상기 송신 모듈은 또한, 상기 USB 리디렉션 전송 수정 메시지를 서버에 송신하도록 구성된 것을 특징으로 하는 데이터 전송 장치.
  20. 제 19 항에 있어서,
    USB 터미널에 의해 송신된 삽입 메시지를 수신 및 파싱하여 상기 삽입 메시지 중의 초기 장치 정보를 획득하도록 구성된 초기 장치 정보 획득 모듈;
    상기 초기 장치 메시지 및 장치 디스플레이 수정 정보에 따라 장치 디스플레이 정보를 획득하도록 구성된 장치 디스플레이 정보 획득 모듈- 상기 장치 디스플레이 수정 정보는 상기 서버 측에 디스플레이되는 상기 USB 터미널의 장치 정보에 대해 수정하는 수정 정보를 포함함-;
    상기 수정 설정 메시지 및 상기 장치 디스플레이 정보에 따라 상기 USB 터미널의 이미지 수집 정보를 결정하도록 구성된 이미지 수집 정보 획득 모듈- 상기 이미지 수집 정보는 수집 해상도 및 이미지 수집 포맷 중 적어도 하나를 포함함-; 을 더 포함하고,
    상기 송신 모듈은 또한, 상기 이미지 수집 정보를 상기 USB 터미널로 송신하여, 상기 USB 터미널이 상기 이미지 수집 정보에 따라 수집하려는 이미지 데이터의 수집 해상도 및 상기 이미지 수집 포맷 중 적어도 하나를 조정하도록 구성된 것을 특징으로 하는 데이터 전송 장치.
  21. USB 리디렉션 전송 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 메시지 중의 USB 이미지 압축 데이터를 획득하도록 구성된 USB 리디렉션 전송 메시지 획득 모듈;
    리디렉션 정보에 따라 상기 USB 이미지 압축 데이터를 압축해제하여 USB 이미지 데이터를 획득하도록 구성된 압축해제 모듈- 상기 리디렉션 정보는 전송 데이터를 리디렉션하기 위한 해상도 정보 및 이미지 포맷 정보 중 적어도 하나를 포함함-;
    상기 USB 이미지 데이터에 따라 USB 전송 메시지를 재구성하도록 구성된 재구성 모듈;
    상기 USB 전송 메시지를 출력하도록 구성된 출력 모듈; 을 포함하는 것을 특징으로 하는 서버.
  22. 제 21 항에 있어서,
    수정 컨텐츠 정보를 수신하고, 상기 수정 컨텐츠 정보에 따라 상기 리디렉션 정보를 업데이트하여 리디렉션 업데이트 정보를 획득하도록 구성된 리디렉션 업데이트 정보 획득 모듈- 상기 수정 컨텐츠 정보는 해상도 및 이미지 포맷 수정 정보 중 적어도 하나를 포함함-;
    상기 수정 컨텐츠 정보에 따라 수정 설정 메시지를 생성하고 송신하는 송신 모듈; 을 더 포함하고;
    상기 USB 리디렉션 전송 메시지 획득 모듈은 또한, 상기 USB 리디렉션 전송 수정 메시지를 수신 및 파싱하여 상기 USB 리디렉션 전송 수정 메시지 중의 USB 이미지 압축 수정 데이터를 획득하도록 구성되고;
    상기 압축해제 모듈은 또한, 상기 리디렉션 업데이트 정보에 따라 상기 USB 이미지 압축 수정 데이터를 압축해제하여 USB 이미지 데이터를 획득하도록 구성되는 것을 특징으로 하는 서버.
  23. 데이터 전송을 위한 프로그램을 저장하도록 구성된 메모리;
    상기 프로그램을 실행하도록 구성된 프로세서- 여기서 상기 프로그램이 실행될 때 제 1 항 내지 제 9 항 중 어느 한 항에 따른 데이터 전송 방법이 수행됨-; 를 포함하는 것을 특징으로 하는 데이터 전송 장치.
  24. 데이터 전송을 위한 프로그램을 저장하도록 구성된 메모리;
    상기 프로그램을 실행하도록 구성된 프로세서- 여기서 상기 프로그램 실행될 때 제 10 항 또는 제 11 항에 따른 데이터 전송 방법이 수행됨-; 를 포함하는 것을 특징으로 하는 서버.
  25. 저장된 프로그램을 포함하고, 여기서 상기 프로그램 실행 시, 제 1 항 내지 제 9 항 중 어느 한 항에 따른 데이터 전송 방법을 수행하는 것을 특징으로 하는 저장 매체.
  26. 저장된 프로그램을 포함하고, 여기서 상기 프로그램 실행 시, 제 10 항 또는 제 11 항에 따른 데이터 전송 방법을 수행하는 것을 특징으로 하는 저장 매체.
KR1020197039034A 2017-07-10 2018-06-29 데이터 전송 방법, 장치, 서버 및 저장 매체 KR102277124B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710556241.8 2017-07-10
CN201710556241.8A CN109246435B (zh) 2017-07-10 2017-07-10 Usb设备重定向数据传输方法及装置、本地装置和远程服务器
PCT/CN2018/093757 WO2019011133A1 (zh) 2017-07-10 2018-06-29 数据传输方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
KR20200013734A KR20200013734A (ko) 2020-02-07
KR102277124B1 true KR102277124B1 (ko) 2021-07-14

Family

ID=65001108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197039034A KR102277124B1 (ko) 2017-07-10 2018-06-29 데이터 전송 방법, 장치, 서버 및 저장 매체

Country Status (5)

Country Link
EP (1) EP3654607A4 (ko)
JP (1) JP6877590B2 (ko)
KR (1) KR102277124B1 (ko)
CN (1) CN109246435B (ko)
WO (1) WO2019011133A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949344A (zh) * 2019-05-14 2020-11-17 华为技术有限公司 一种虚拟机远程访问usb外设的数据的方法
JP2022532604A (ja) * 2019-05-14 2022-07-15 華為技術有限公司 仮想マシンによりusbデバイスのデータにリモートでアクセスするための方法
CN110795008B (zh) * 2019-09-29 2021-11-16 视联动力信息技术股份有限公司 图片传输方法、装置及计算机可读存储介质
CN111031088A (zh) * 2019-10-14 2020-04-17 西安万像电子科技有限公司 资源传输方法、设备及系统
CN112433689B (zh) * 2020-11-11 2024-05-28 深圳市先智物联科技有限公司 用于同屏器的数据传输方法、装置、同屏器及介质
EP4341408A1 (en) 2021-05-17 2024-03-27 DSM IP Assets B.V. Methods of producing hmo blend profiles with lnfp-i and lnt as the predominant compounds
WO2022243315A1 (en) 2021-05-17 2022-11-24 Dsm Ip Assets B.V. Methods of producing hmo blend profiles with lnfp-i and 2'-fl, with lnfp-i as the predominant compound
CN117555829B (zh) * 2024-01-12 2024-03-22 中诚华隆计算机技术有限公司 一种实现usb设备网络共享的usb重定向系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041770A (ja) 2004-07-26 2006-02-09 Mitsubishi Heavy Ind Ltd 画像配信方法、画像表示方法及びそれらを用いた広域監視方法と画像配信装置、画像表示装置及びそれらを用いた広域監視システム
US20170060795A1 (en) 2015-08-24 2017-03-02 Dell Products L.P. System and methods to support vendor defined usb requests for application managed usb devices in vdi environments

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100527212B1 (ko) * 2003-06-12 2005-11-08 주식회사 사이버메드 대용량 이미지 전송을 위한 방법
US7912987B2 (en) * 2005-01-14 2011-03-22 Microsoft Corporation USB devices in application server environments
US7600031B2 (en) * 2006-04-27 2009-10-06 Microsoft Corporation Sharing digital content via a packet-switched network
JP2008210115A (ja) * 2007-02-26 2008-09-11 Nec Corp リモートコンピュータ上でローカル端末のusbデバイスを操作するシステム、その方法及びそのプログラム
US8793331B2 (en) * 2008-05-16 2014-07-29 Wyse Technology L.L.C. Multimedia redirection
WO2012163059A1 (zh) * 2011-11-21 2012-12-06 华为技术有限公司 设备重定向的数据传输的方法、装置及系统
KR101720654B1 (ko) * 2012-09-14 2017-03-28 한국전자통신연구원 가상화 시스템 및 가상화 서비스 제공방법
TW201441825A (zh) * 2013-04-23 2014-11-01 Hon Hai Prec Ind Co Ltd Usb重定向系統及方法
IN2013CH05264A (ko) * 2013-05-01 2015-05-29 Wyse Technology Llc
CN103533034A (zh) * 2013-09-28 2014-01-22 福建星网锐捷软件有限公司 Vdi虚拟桌面中无缝使用云终端本地摄像头的方法
CN104639501B (zh) * 2013-11-07 2018-11-16 华为技术有限公司 一种数据流传输的方法、设备及系统
CN105207975A (zh) * 2014-06-20 2015-12-30 北京云端时代科技有限公司 一种vdi架构下的usb图像设备数据传输方法和系统
CN106101548A (zh) * 2016-07-08 2016-11-09 北京国电通网络技术有限公司 一种云终端处理摄像头视频数据的方法和装置
CN106648489B (zh) * 2016-09-28 2019-05-21 中州大学 一种计算机图像处理设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041770A (ja) 2004-07-26 2006-02-09 Mitsubishi Heavy Ind Ltd 画像配信方法、画像表示方法及びそれらを用いた広域監視方法と画像配信装置、画像表示装置及びそれらを用いた広域監視システム
US20170060795A1 (en) 2015-08-24 2017-03-02 Dell Products L.P. System and methods to support vendor defined usb requests for application managed usb devices in vdi environments

Also Published As

Publication number Publication date
WO2019011133A1 (zh) 2019-01-17
EP3654607A1 (en) 2020-05-20
JP2020521255A (ja) 2020-07-16
CN109246435A (zh) 2019-01-18
CN109246435B (zh) 2022-03-15
EP3654607A4 (en) 2021-04-07
KR20200013734A (ko) 2020-02-07
JP6877590B2 (ja) 2021-05-26

Similar Documents

Publication Publication Date Title
KR102277124B1 (ko) 데이터 전송 방법, 장치, 서버 및 저장 매체
US9699518B2 (en) Information processing apparatus, information processing system, recording medium, and method for transmission and reception of moving image data
US9113177B2 (en) Methods, apparatuses and computer program products for pausing video streaming content
CN109040786B (zh) 摄像头数据的传输方法、装置、系统及存储介质
US8145001B2 (en) Methods and systems for proxy medical image compression and transmission
US11412272B2 (en) System and method for converting adaptive stream to downloadable media
KR101986995B1 (ko) 웹 브라우저 상에서 비디오와 오디오를 동기화하여 재생하는 미디어 재생 장치 및 방법
JP2008193510A (ja) 映像送信装置、映像受信装置、及び映像伝送システム
TWI605704B (zh) 重組影像檔案的方法
US11457286B2 (en) Video distribution apparatus, distribution method, and recording medium
CN115643426B (zh) 一种面向空间应用领域的通用视频播放方法和系统
CN104639979A (zh) 视频分享方法及系统
KR102024642B1 (ko) 라이브 스트리밍 서버 장치 및 이의 운용 방법
JP4086728B2 (ja) 画像通信方法及びシステム
JP2010011287A (ja) 映像伝送方法および端末装置
US10547878B2 (en) Hybrid transmission protocol
KR101603976B1 (ko) 동영상 파일 결합 방법 및 그 장치
CN104219537A (zh) 视频数据处理的方法、装置及系统
JP2023007048A (ja) ストリーミングサーバ、送信方法及びプログラム
KR102291293B1 (ko) 송신 디바이스, 통신 시스템, 송신 방법, 및 비일시적 컴퓨터 판독가능 기록 매체
KR102613872B1 (ko) 서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체
CN113315997B (zh) 发送装置、服务器装置、发送方法以及程序
WO2019126949A1 (zh) 提供媒体内容的方法、装置、节点及系统
CN117749856A (zh) 多媒体信息播放方法、装置及存储介质
KR20190083908A (ko) 멀티미디어 청크(chunk)를 수신하는 단말기의 제어 장치 및 그 방법

Legal Events

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