KR20210041052A - 비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템 - Google Patents

비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템 Download PDF

Info

Publication number
KR20210041052A
KR20210041052A KR1020217006921A KR20217006921A KR20210041052A KR 20210041052 A KR20210041052 A KR 20210041052A KR 1020217006921 A KR1020217006921 A KR 1020217006921A KR 20217006921 A KR20217006921 A KR 20217006921A KR 20210041052 A KR20210041052 A KR 20210041052A
Authority
KR
South Korea
Prior art keywords
packet
switching
video stream
video
frame trailer
Prior art date
Application number
KR1020217006921A
Other languages
English (en)
Inventor
진후이 장
지에 슝
지 리
원빈 류
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Priority to KR1020237010789A priority Critical patent/KR102671249B1/ko
Publication of KR20210041052A publication Critical patent/KR20210041052A/ko

Links

Images

Classifications

    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • 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
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same 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/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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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 or rendering scenes according to encoded video stream 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6338Control signals issued by server directed to the network components or client directed to network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/268Signal distribution or switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/38Transmitter circuitry for the transmission of television signals according to analogue transmission standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템이 개시된다. 비디오 스트림을 스위칭하기 위한 방법은, 전송 장치가 제1 비디오 스트림과 제2 비디오 스트림을 수신하는 단계; 타깃 아웃렛 포트를 통해 제1 비디오 스트림을 송신하는 단계; 스위칭 명령이 수신될 때, 제1 비디오 스트림의 제1 참조 프레임 테일 패킷의 스위칭 참조 정보와 제2 비디오 스트림의 제2 참조 프레임 테일 패킷의 스위칭 참조 정보를 결정하는 단계; 제1 참조 프레임 테일 패킷의 스위칭 참조 정보와 제2 참조 프레임 테일 패킷의 스위칭 참조 정보에 따라, 제1 비디오 스트림의 제1 스위칭 패킷의 스위칭 참조 정보와 제2 비디오 스트림의 제2 스위칭 패킷의 스위칭 참조 정보를 각각 결정하는 단계; 및 제1 스위칭 패킷의 스위칭 참조 정보와 제2 스위칭 패킷의 스위칭 참조 정보에 따라, 타깃 아웃렛 포트를 통해 송신된 제1 비디오 스트림에서 제2 비디오 스트림으로 스위칭하는 단계를 포함한다. 스위칭 전후에 송신되는 데이터 패킷의 위치를 비디오 스트림 스위칭 중에 고려하기 때문에, 전송되는 비디오 프레임이 스위칭 작업으로 인해 손상되는 것을 효과적으로 줄일 수 있다.

Description

비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템
본 발명의 실시예는 멀티미디어 통신 기술 분야에 관한 것으로, 상세하게는 비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템에 관한 것이다.
예를 들어, 멀티미디어 통신 기술 분야에서, 예를 들어 텔레비전(Television, TV) 제작 및 방송 분야에서, 서로 다른 비디오 소스 장치에 의해 송신되는 비디오 스트림을 스위칭하는 시나리오가 존재한다. 예를 들어, 축구 경기의 생중계 중에, 다른 각도에서의 경기장의 비디오 이미지가 스위칭되어 비디오 단말기 상에 표시될 수 있도록, 경기장의 다른 위치를 촬영하여 얻어진 수신된 비디오 스트림이 전송 장치(예를 들어, 라우터) 상에서 스위칭될 수 있다.
종래의 TV 제작 및 방송 분야에서, 비디오 스트림이 일반적으로 직렬 디지털 인터페이스(Serial Digital Interface, SDI) 포맷으로 전송된다. SDI 신호를 전송하는 데 사용되는 동축 케이블의 최대 길이가 일반적으로 제한되고, 동축 케이블이 상대적으로 비싸다. 그러므로, TV 제작 및 방송 분야에서, 인터넷 프로토콜(Internet Protocol, IP) 네트워크를 이용하여 비디오 스트림이 전송되고 있다. 예를 들어, SDI 신호가 IP 패킷을 이용하여 전송된다.
IP 네트워크를 이용하여 전송되는 비디오 스트림을 스위칭하는 종래 기술에서, 비디오 스트림의 스위칭이 필요하다고 결정되는 경우, 전송 장치가 스위칭-아웃될 비디오 스트림(to-be-switched-out video stream)의 데이터 패킷을 송신하는 것을 중단하고, 스위칭-인될 비디오 스트림(to-be-switched-in video stream)의 데이터 패킷을 송신하기 시작한다.
종래 기술의 비디오 스트림 스위칭은 일반적으로 비디오 이미지를 손상시킨다.
본 발명의 실시예는 비디오 스트림 스위칭을 구현하는 방법, 장치, 및 시스템을 제공함으로써, 비디오 이미지가 비디오 스트림 스위칭으로 인해 손상되는 종래의 문제점을 해결한다.
제1 양태에 따르면, 비디오 스트림 스위칭을 수행하기 위한 방법이 제공된다. 상기 비디오 스트림 스위칭을 수행하기 위한 방법은 전송 장치가 제1 비디오 스트림과 제2 비디오 스트림을 수신하는 단계; 타깃 이그레스 포트(target egress port)를 통해 상기 제1 비디오 스트림을 송신하는 단계; 상기 타깃 이그레스 포트를 통해 송신된 상기 제1 비디오 스트림에서 상기 제2 비디오 스트림으로 스위칭하도록 지시하는 데 사용되는 스위칭 명령을 수신한 후에, 상기 스위칭 명령에 따라 상기 제1 비디오 스트림의 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보(예를 들어, 시퀀스 번호)와 상기 제2 비디오 스트림의 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보를 결정하는 단계; 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제1 비디오 스트림의 제1 스위칭 패킷의 스위칭 참조 정보를 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제2 비디오 스트림의 제2 스위칭 패킷의 스위칭 참조 정보를 결정하는 단계; 및 상기 제1 스위칭 패킷의 스위칭 참조 정보와 상기 제2 스위칭 패킷의 스위칭 참조 정보에 기초하여 상기 타깃 이그레스 포트를 통해 송신된 상기 제1 비디오 스트림에서 상기 제2 비디오 스트림으로 스위칭하는 단계를 포함한다. 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제1 스위칭 패킷의 스위칭 참조 정보, 및 상기 제2 스위칭 패킷의 스위칭 참조 정보는 각각 시퀀스 번호 또는 타임스탬프일 수 있거나, 또는 각각 시퀀스 번호와 타임스탬프를 포함할 수 있다.
제1 양태의 구현에서, 스위치-아웃 스트림(즉, 상기 제1 비디오 스트림)의 스위칭 패킷의 스위칭 참조 정보(예를 들어, 시퀀스 번호)와 스위치-인 스트림(즉, 상기 제2 비디오 스트림)의 스위칭 참조 정보가 상기 스위치-아웃 스트림의 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 스위치-인 스트림의 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 결정되고, 상기 스위치-아웃 스트림의 스위칭 패킷의 스위칭 참조 정보와 상기 스위치-인 스트림의 스위칭 패킷의 스위칭 참조 정보에 기초하여 비디오 스트림 스위칭이 수행된다. 비디오 스트림 스위칭 중에 스위칭 전후에 송신된 데이터 패킷의 위치를 고려하기 때문에, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 효과적으로 줄일 수 있다.
제1 양태의 구현에서, 구체적으로, 상기 제1 참조 프레임 트레일러 패킷과 상기 제2 참조 프레임 트레일러 패킷은 각각, 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보가 결정되기 전에 수신되는, 상기 제1 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷과 상기 제2 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷이다. 여기서, x는 자연수이며 1일 수 있다.
이 구현에서 결정되는, 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프와 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프가 상대적으로 가깝다. 따라서, 타임스탬프가 상대적으로 일치하는 상기 제1 스위칭 패킷과 상기 제2 스위칭 패킷이 더 정확하게 결정됨으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킬 수 있다.
제1 양태의 제1 구현에 기초하여, 제1 양태의 제2 구현에서, x의 값이 1이고; 상기 제1 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 상기 제1 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 상기 다음 비디오 프레임의 후속 비디오 프레임이고, 상기 제2 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 상기 제2 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 상기 다음 비디오 프레임의 후속 비디오 프레임이다. 구체적으로, 상기 제1 스위칭 패킷의 시퀀스 번호는 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 상기 제1 비디오 스트림의 단일 비디오 프레임을 캡슐화하기 위한 패킷의 개수에 기초하여 계산될 수 있고, 상기 제2 스위칭 패킷의 시퀀스 번호는 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 상기 제2 비디오 스트림의 단일 비디오 프레임을 캡슐화하기 위한 패킷의 개수에 기초하여 계산될 수 있다. 상기 제1 스위칭 패킷의 결정된 시퀀스 번호와 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호 간의 차이가 상기 제1 비디오 스트림의 단일 비디오 프레임을 캡슐화하기 위한 패킷의 개수보다 크거나 같을 수 있고, 상기 제2 스위칭 패킷의 결정된 시퀀스 번호와 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호 간의 차이가 상기 제2 비디오 스트림의 단일 비디오 프레임을 캡슐화하기 위한 패킷의 개수보다 크거나 같을 수 있다. 구체적으로, 상기 제1 스위칭 패킷의 타임스탬프는 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프와 상기 제1 비디오 스트림의 단일 비디오 프레임의 지속시간에 기초하여 추가로 계산될 수 있고, 상기 제2 스위칭 패킷의 타임스탬프는 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프와 상기 제2 비디오 스트림의 단일 비디오 프레임의 지속시간에 기초하여 추가로 계산될 수 있다. 상기 제1 스위칭 패킷의 결정된 타임스탬프와 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프 간의 차이가 상기 제1 비디오 스트림의 단일 비디오 프레임의 지속시간보다 크거나 같을 수 있고, 상기 제2 스위칭 패킷의 결정된 타임스탬프와 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프 간의 차이가 상기 제2 비디오 스트림의 단일 비디오 프레임의 지속시간보다 크거나 같을 수 있다.
이 구현에서, 참조 프레임 트레일러 패킷 이후의 적어도 하나의 프레임의 위치에서 비디오 스트림 스위칭을 수행함으로써, 현재 전송되는 비디오 이미지가 손상되는 것을 효과적으로 방지한다.
제1 양태 또는 제1 양태의 제1 구현이나 제2 구현에 기초하여, 제1 양태의 제3 구현에서, 상기 제1 스위칭 패킷의 스위칭 참조 정보는 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 제1 비디오 스트림과 상기 제2 비디오 스트림 간의 동기화 관계에 기초하여 결정될 수 있고, 상기 제2 스위칭 패킷의 스위칭 참조 정보는 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 동기화 관계에 기초하여 결정될 수 있다.
이 구현에서, 상기 제1 스위칭 패킷의 스위칭 참조 정보와 상기 제2 스위칭 패킷의 스위칭 참조 정보가 계산될 때, 상기 비디오 스트림들 간의 상기 동기화 관계를 고려한다. 따라서, 비디오 스트림 스위칭이 더 정확하게 수행됨으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킬 수 있다.
제1 양태의 제3 구현에 기초하여, 제1 양태의 제4 구현에서, 상기 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷(alignment frame trailer packet)의 스위칭 참조 정보는 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 동기화 관계에 기초하여 결정될 수 있고, 상기 제1 스위칭 패킷의 스위칭 참조 정보는 상기 제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 결정될 수 있으며; 상기 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보는 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 동기화 관계에 기초하여 추가로 결정될 수 있고, 상기 제2 스위칭 패킷의 스위칭 참조 정보는 상기 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 추가로 결정될 수 있다. 상기 제1 정렬 프레임 트레일러 패킷과 상기 제2 정렬 프레임 트레일러 패킷은 시간적으로 대응하는 프레임 트레일러 패킷이다.
이 구현에서, 상기 동기화 관계를 고려할 때 결정되는 상기 제1 정렬 프레임 트레일러 패킷과 상기 제2 정렬 프레임 트레일러 패킷은 시간적으로 대응하는 프레임 트레일러 패킷이다. 따라서, 상기 제1 정렬 프레임 트레일러 패킷과 상기 제2 정렬 프레임 트레일러 패킷에 기초하여 각각 결정되는 상기 제1 스위칭 패킷과 상기 제2 스위칭 패킷도 시간적으로 대응함으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킬 수 있다.
제1 양태의 제4 구현에 기초하여, 제1 양태의 제5 구현에서, 상기 제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보는 상기 제1 스위칭 패킷의 스위칭 참조 정보로 직접 사용될 수 있고, 상기 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보는 상기 제2 스위칭 패킷의 스위칭 참조 정보로 직접 사용될 수 있다. 즉, 상기 제1 정렬 프레임 트레일러 패킷은 상기 제1 스위칭 패킷으로 직접 사용되고, 상기 제2 정렬 프레임 트레일러 패킷은 상기 제2 스위칭 패킷으로 직접 사용된다.
이 구현에서, 비디오 프레임의 경계에서 비디오 스트림 스위칭이 수행됨으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 효과적으로 방지할 수 있다.
제1 양태의 제4 구현에 기초하여, 제1 양태의 제6 구현에서, 상기 제1 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터(blanking area data)를 캡슐화하는 데 사용되는 데이터 패킷의 스위칭 참조 정보가 상기 제1 스위칭 패킷의 스위칭 참조 정보로 결정될 수 있고, 상기 제2 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 스위칭 참조 정보가 상기 제2 스위칭 패킷의 스위칭 참조 정보로 결정될 수 있다.
이 구현에서, 비디오 프레임의 블랭킹 영역을 캡슐화하기 위한 데이터 패킷에서 비디오 스트림 스위칭이 수행될 수 있다. 상기 블랭킹 영역 데이터가 유효한 비디오 데이터가 아니고 사람의 눈에 보이지 않으므로, 유효한 비디오 데이터가 손상되는 것을 방지할 수 있다.
스위칭 참조 정보가 시퀀스 번호를 포함한다는 것이 예로 사용된다. 특정 구현 중에, 상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 빠르다는 것이라고 결정되면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 m × M1의 합이 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정될 수 있고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 (m+1) × M2의 합이 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정될 수 있다. 대안적으로, 상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 늦다는 것이라고 결정되면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 (n+1) × M1의 합이 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정되고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 n × M2의 합이 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정된다. 대안적으로, 상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림과 동기화된다는 것이라고 결정되면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 k × M1의 합이 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정될 수 있고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 k × M2의 합이 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정될 수 있다. 여기서, M1은 상기 제1 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이고, M2는 상기 제2 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이며, m, n, 및 k는 모두 자연수이다.
제1 양태의 제3 구현 내지 제6 구현 중 어느 하나에 기초하여, 제1 양태의 제7 구현에서, 상기 전송 장치는 구체적으로, 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프와 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프에 기초하여 상기 제1 비디오 스트림과 상기 제2 비디오 스트림 간의 상기 동기화 관계를 결정할 수 있다.
이 구현에서, 상기 동기화 관계가 상기 제1 참조 프레임 트레일러 패킷과 상기 제2 참조 프레임 트레일러 패킷에 기초하여 결정되기 때문에, 상기 동기화 관계는, 상기 전송 장치가 상기 제1 참조 프레임 트레일러 패킷과 상기 제2 참조 프레임 트레일러 패킷을 수신할 때의 동기화 상태를 반영할 수 있다. 따라서, 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 및 상기 동기화 관계의 조합에 기초하여 결정되는 상기 제1 스위칭 패킷의 스위칭 참조 정보와 상기 제2 스위칭 패킷의 스위칭 참조 정보가 비디오 스트림들 간의 동기화의 실제 상태와 더 일치함으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킨다.
장치 동기화의 정밀도 편차로 인해, 서로 다른 비디오 소스 장치에 의해 동시에 송신되는 데이터 패킷의 타임스탬프들 간에는 편차가 있을 수 있다. 또한, 정보가 IP 네트워크에서 하나의 패킷으로 전송되고, 패킷 포워딩의 지터로 인해 일부 동기화 편차가 유발될 수 있다. 따라서, 2개의 비디오 스트림의 참조 프레임 트레일러 패킷의 타임스탬프들 간의 편차가 사전 설정된 시간 차이 임계값보다 작 으면, 2개의 비디오 스트림이 동기화된 것으로 간주할 수 있다.
따라서, t1 - t2 > Δt1이라고 결정할 때, 상기 전송 장치는 구체적으로, 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 빠르다고 결정할 수 있다. 대안적으로, t2 - t1 > Δt1이라고 결정할 때, 상기 전송 장치는 구체적으로, 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 늦다고 결정할 수 있다. 대안적으로, |t1 - t2| < Δt2이라고 결정할 때, 상기 전송 장치는 구체적으로, 상기 제1 비디오 스트림이 상기 제2 비디오 스트림과 동기화된다고 결정할 수 있다. 여기서, t1은 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프이고, t2는 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프이며, Δt1은 사전 설정된 제1 시간 차이 임계값이고, Δt2는 사전 설정된 제2 시간 차이 임계값이며, Δt1과 Δt2는 모두 0보다 크고 T보다 작은 값이고, Δt2는 Δt1보다 작거나 같을 수 있다. 또한, Δt1과 Δt2는, T/2 < Δt1 < T을 만족하도록 사전 설정될 수 있다. 예를 들어, Δt1은 3 × T/4일 수 있고, 0 < Δt2 < T/2이다. 예를 들어, Δt2는 T/4일 수 있고, T는 단일 비디오 프레임의 지속시긴이다.
이 구현에서, 상기 결정된 동기화 관계는 장치 동기화의 정밀도 편차와 패킷 포워딩의 지터 등의 영향을 배제하고, 비디오 스트림들 간의 동기화의 실제 상태를 더 잘 반영할 수 있으며, 상기 제1 스위칭 패킷의 결정된 스위칭 참조 정보와 상기 제2 스위칭 패킷의 결정된 스위칭 참조 정보도 상기 비디오 스트림들 간의 동기화의 실제 상태와 일치함으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킨다.
제2 양태에 따르면, 전송 장치가 제공된다. 상기 전송 장치는 처리 유닛과 통신 유닛을 포함한다.
상기 통신 유닛은 제1 비디오 스트림와 제2 비디오 스트림을 수신하고; 상기 전송 장치의 타깃 이그레스 포트를 통해 상기 제1 비디오 스트림을 송신하며; 스위칭 명령을 수신하도록 구성된다. 여기서, 상기 스위칭 명령은 상기 타깃 이그레스 포트를 통해 송신된 상기 제1 비디오 스트림에서 상기 제2 비디오 스트림으로 스위칭하도록 지시하는 데 사용된다. 상기 처리 유닛은 상기 스위칭 명령에 따라 상기 제1 비디오 스트림의 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보(예를 들어, 시퀀스 번호)와 상기 제2 비디오 스트림의 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보를 결정하고; 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제1 비디오 스트림의 제1 스위칭 패킷의 스위칭 참조 정보를 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제2 비디오 스트림의 제2 스위칭 패킷의 스위칭 참조 정보를 결정하도록 구성된다. 상기 통신 유닛은 추가적으로, 상기 제1 스위칭 패킷의 스위칭 참조 정보와 상기 제2 스위칭 패킷의 스위칭 참조 정보에 기초하여 상기 타깃 이그레스 포트를 통해 송신된 상기 제1 비디오 스트림에서 상기 제2 비디오 스트림으로 스위칭하도록 구성된다. 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제1 스위칭 패킷의 스위칭 참조 정보, 및 상기 제2 스위칭 패킷의 스위칭 참조 정보는 각각 시퀀스 번호 또는 타임스탬프일 수 있거나, 또는 각각 시퀀스 번호와 타임스탬프를 포함할 수 있다.
제2 양태의 구현에서, 스위치-아웃 스트림(즉, 상기 제1 비디오 스트림)의 스위칭 패킷의 스위칭 참조 정보(예를 들어, 시퀀스 번호)와 스위치-인 스트림(즉, 상기 제2 비디오 스트림)의 스위칭 참조 정보가 상기 스위치-아웃 스트림의 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 스위치-인 스트림의 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 결정되고, 상기 스위치-아웃 스트림의 스위칭 패킷의 스위칭 참조 정보와 상기 스위치-인 스트림의 스위칭 패킷의 스위칭 참조 정보에 기초하여 비디오 스트림 스위칭이 수행된다. 비디오 스트림 스위칭 중에 스위칭 전후에 송신되는 데이터 패킷의 위치를 고려하므로, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 효과적으로 줄일 수 있다.
제2 양태의 제1 구현에서, 구체적으로, 상기 제1 참조 프레임 트레일러 패킷과 상기 제2 참조 프레임 트레일러 패킷은 각각, 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보가 결정되기 전에 수신되는, 상기 제1 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷과 상기 제2 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷일 수 있다. 여기서, x는 자연수이며 1일 수 있다.
이 구현에서 결정되는 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프와 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프가 상대적으로 가깝다. 따라서, 타임스탬프가 상대적으로 일치하는 상기 제1 스위칭 패킷과 상기 제2 스위칭 패킷을 더 정확하게 결정함으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킬 수 있다.
제2 양태의 제1 구현에 기초하여, 제2 양태의 제2 구현에서, x의 값이 1이고; 상기 제1 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 상기 제1 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 상기 다음 비디오 프레임의 후속 비디오 프레임이고, 상기 제2 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 상기 제2 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 상기 다음 비디오 프레임의 후속 비디오 프레임이다.
이 구현에서, 참조 프레임 트레일러 패킷 이후의 적어도 하나의 프레임 위치에서 비디오 스트림 스위칭을 수행함으로써, 현재 전송되는 비디오 이미지가 손상되는 것을 효과적으로 방지한다.
제2 양태 또는 제2 양태의 제1 구현이나 제2 구현에 기초하여, 제2 양태의 제3 구현에서, 상기 처리 유닛은 구체적으로, 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 제1 비디오 스트림과 상기 제2 비디오 스트림 간의 동기화 관계에 기초하여 상기 제1 스위칭 패킷의 스위칭 참조 정보를 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 동기화 관계에 기초하여 상기 제2 스위칭 패킷의 스위칭 참조 정보를 결정할 수 있다.
이 구현에서, 상기 비디오 스트림들 간의 상기 동기화 관계는 상기 제1 스위칭 패킷의 스위칭 참조 정보와 상기 제2 스위칭 패킷의 스위칭 참조 정보가 계산될 때 고려된다. 따라서, 비디오 스트림 스위칭을 더 정확하게 수행함으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킬 수 있다.
제2 양태의 제3 구현에 기초하여, 제2 양태의 제4 구현에서, 상기 처리 유닛은 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 동기화 관계에 기초하여 상기 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보를 결정하고, 상기 제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제1 스위칭 패킷의 스위칭 참조 정보를 결정할 수 있고; 상기 처리 유닛은 추가적으로, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 동기화 관계에 기초하여 상기 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보를 결정하고, 상기 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제2 스위칭 패킷의 스위칭 참조 정보를 결정할 수 있다. 상기 제1 정렬 프레임 트레일러 패킷과 상기 제2 정렬 프레임 트레일러 패킷은 시간적으로 대응하는 프레임 트레일러 패킷이다.
이 구현에서, 상기 동기화 관계를 고려할 때 결정되는 상기 제1 정렬 프레임 트레일러 패킷과 상기 제2 정렬 프레임 트레일러 패킷은 시간적으로 대응하는 프레임 트레일러 패킷이다. 따라서, 상기 제1 정렬 프레임 트레일러 패킷과 상기 제2 정렬 프레임 트레일러 패킷에 기초하여 각각 결정되는 상기 제1 스위칭 패킷과 상기 제2 스위칭 패킷도 시간적으로 대응함으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킨다.
제2 양태의 제4 구현에 기초하여, 제2 양태의 제5 구현에서, 상기 처리 유닛은 상기 제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보를 상기 제1 스위칭 패킷의 스위칭 참조 정보로 직접 사용하고, 상기 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보를 상기 제2 스위칭 패킷의 스위칭 참조 정보로 사용할 수 있다. 즉, 상기 처리 유닛은 상기 제1 정렬 프레임 트레일러 패킷을 상기 제1 스위칭 패킷으로 직접 사용하고, 상기 제2 정렬 프레임 트레일러 패킷을 상기 제2 스위칭 패킷으로 사용한다.
이 구현에서, 비디오 프레임의 경계에서 비디오 스트림 스위칭을 수행함으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 효과적으로 방지할 수 있다.
제2 양태의 제4 구현에 기초하여, 제2 양태의 제6 구현에서, 상기 처리 유닛은 상기 제1 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 스위칭 참조 정보를 상기 제1 스위칭 패킷의 스위칭 참조 정보로 사용하고, 상기 제2 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 스위칭 참조 정보를 상기 제2 스위칭 패킷의 스위칭 참조 정보로 사용할 수 있다.
이 구현에서, 비디오 프레임의 블랭킹 영역을 캡슐화하기 위한 데이터 패킷에서 비디오 스트림 스위칭이 수행될 수 있다. 상기 블랭킹 영역 데이터가 유효한 비디오 데이터가 아니고 사람의 눈에 보이지 않기 때문에, 유효한 비디오 데이터가 손상되는 것을 방지할 수 있다.
제2 양태의 제3 구현 내지 제6 구현 중 어느 하나에 기초하여, 제2 양태의 제7 구현에서, 상기 전송 장치는 구체적으로, 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프와 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프에 기초하여 상기 제1 비디오 스트림과 상기 제2 비디오 스트림 간의 상기 동기화 관계를 결정할 수 있다.
이 구현에서, 상기 동기화 관계가 상기 제1 참조 프레임 트레일러 패킷과 상기 제2 참조 프레임 트레일러 패킷에 기초하여 결정되므로, 상기 동기화 관계는, 상기 전송 장치가 상기 제1 참조 프레임 트레일러 패킷과 상기 제2 참조 프레임 트레일러 패킷을 수신할 때의 동기화 상태를 반영할 수 있다. 따라서, 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 및 상기 동기화 관계의 조합에 기초하여 결정되는 상기 제1 스위칭 패킷의 스위칭 참조 정보와 상기 제2 스위칭 패킷의 스위칭 참조 정보가 비디오 스트림들 간의 동기화의 실제 상태와 더 일치함으로써, 전송되는 비디오가 스위칭 작업으로 인해 손상되는 것을 더 감소시킨다.
장치 동기화의 정밀도 편차로 인해, 서로 다른 비디오 소스 장치에 의해 동시에 송신된 데이터 패킷의 타임스탬프 간에는 편차가 있을 수 있다. 또한, 정보가 IP 네트워크에서 하나의 패킷으로 전송되고, 패킷 포워딩의 지터로 인해 일부 동기화 편차가 유발될 수 있다. 따라서, 상기 2개의 비디오 스트림의 참조 프레임 트레일러 패킷의 타임스탬프들 간의 편차가 사전 설정된 시간 차이 임계값보다 작으면, 2개의 비디오 스트림이 동기화된 것으로 간주한다.
따라서, t1-t2 > Δt1이라고 결정할 때, 상기 처리 유닛은 구체적으로, 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 빠르다고 결정할 수 있다. 대안적으로, t2-t1 > Δt1이라고 결정할 때, 상기 처리 유닛은 구체적으로, 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 늦다고 결정할 수 있다. 대안적으로, |t1-t2| < Δt2이라고 결정할 때, 상기 처리 유닛은 구체적으로, 상기 제1 비디오 스트림이 상기 제2 비디오 스트림과 동기화되어 있다고 결정할 수 있다. 여기서, t1은 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프이고, t2는 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프이며, Δt1은 사전 설정된 제1 시간 차이 임계값이고, Δt2는 사전 설정된 제2 시간 차이 임계값이며, Δt1과 Δt2는 모두 0보다 크고 T보다 작은 값이고, Δt2는 Δt1보다 작거나 같을 수 있다. 또한, Δt1과 Δt2는, T/2 < Δt1 < T를 만족하도록 사전 설정될 수 있다. 예를 들어, Δt1은 3 × T/4일 수 있고, 0 < Δt2 < T/2이다. 예를 들어, Δt2는 T/4일 수 있고, T는 단일 비디오 프레임의 지속시간이다.
이 구현에서, 상기 결정된 동기화 관계는 장치 동기화의 정밀도 편차와 패킷 포워딩의 지터 등을 배제하고, 비디오 스트림들 간의 동기화의 실제 상태를 반영할 수 있으며, 상기 제1 스위칭 패킷의 결정된 스위칭 참조 정보와 상기 제2 스위칭 패킷의 결정된 스위칭 참조 정보도 상기 비디오 스트림들 간의 동기화의 실제 상태와 일치함으로써, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것을 더 감소시킨다.
제3 양태에 따르면, 비디오 스트림 스위칭을 수행하기 위한 시스템이 제공된다. 상기 비디오 스트림 스위칭을 수행하기 위한 시스템은 제2 양태 또는 제2 양태의 어느 구현의 컨트롤러와 전송 장치를 포함한다. 상기 컨트롤러는 스위칭 명령을 상기 전송 장치에 송신하도록 구성된다.
제4 양태에 따르면, 컴퓨터 판독가능 저장 매체가 제공된다. 상기 컴퓨터 판독가능 저장 매체는 명령을 포함하고, 상기 명령은 컴퓨터 상에서 실행될 때 상기 컴퓨터로 하여금 제1 양태 또는 제1 양태의 어느 구현의 비디오 스트림 스위칭을 수행하기 위한 방법을 수행할 수 있게 한다.
제5 양태에 따르면, 명령을 포함하는 컴퓨터 프로그램 제품이 제공된다. 상기 컴퓨터 프로그램 제품은 컴퓨터 상에서 실행될 때 상기 컴퓨터로 하여금 제1 양태 또는 제1 양태의 어느 구현의 비디오 스트림 스위칭을 수행하기 위한 방법을 수행할 수 있게 한다.
본 발명의 실시예의 기술적 해결책을 더 명확하게 설명하기 위해, 이하에서는 실시예에 필요한 첨부 도면을 간략하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 멀티미디어 통신 시스템(100)의 네트워킹의 개략적인 구조도이다.
도 2는 본 발명의 일 실시예에 따른 방법(100)의 개략적인 흐름도이다.
도 3a 내지 도 3c와 도 4a 내지 도 4c는 본 발명의 일 실시예에 따른 스위칭의 개략도이다.
도 5는 본 발명의 실시예 2에 따른 전송 장치(200)의 개략적인 구조도이다.
도 6은 본 발명의 실시예 3에 따른 전송 장치(1000)의 개략적인 구조도이다.
이하, 첨부 도면을 참조하여 본 발명의 실시예에 대해 설명한다.
도 1은 본 발명의 일 실시예에 따른 멀티미디어 통신 시스템(100)의 네트워킹을 개략적으로 나타내는 구조도이다. 멀티미디어 통신 시스템(100)은 비디오 소스 장치(110)와 전송 장치(120)를 포함한다. 비디오 소스 장치(110)는 전송 장치(120)를 통해 비디오 단말기에 비디오 스트림을 송신한다. 전송 장치(120)는 복수의 비디오 소스 장치(110)로부터 비디오 스트림을 수신하고, 비디오 스트림 중 하나만을 비디오 단말기에 포워딩할 수 있으며, 포워딩된 비디오를 추가로 스위칭할 수 있다. 전송 장치(120)는 구체적으로 스위치 또는 라우터 등일 수 있다. 비디오 소스 장치는 비디오 데이터에 대해 IP 캡슐화 및 전송을 수행하는 IP 카메라 또는 장치 등일 수 있다. 멀티미디어 통신 시스템(100)은 구체적으로 TV 제작 및 방송 시스템, 예를 들어 네트위크 상에서 전달되는 비디오 스트림에 대해 네트 스위칭 요구사항을 가진 시스템, 예를 들어 마스터 제어 시스템, 또는 스튜디오 시스템, 또는 TV 스테이션 제작 및 방송 네트워크의 방송 시스템일 수 있다.
도 1에 도시된 바와 같이, 멀티미디어 통신 시스템(100)은 컨트롤러(Controller, 130)를 더 포함할 수 있다. 컨트롤러(130)는 비디오 스트림 스위칭을 수행하도록 전송 장치(120)에 지시하는 데 사용되는 스위칭 명령을 전송 장치(120)에 송신하도록 구성된다. 이에 대응하여, 송신 장치(120)는 스위칭 명령을 수신한 후 비디오 스트림 스위칭을 수행한다.
본 발명의 본 실시예에서, 비디오의 각각의 비디오 프레임이 전송을 위해 복수의 데이터 패킷으로 캡슐화된다. 그 후, 각각의 비디오 프레임이 캡슐화되는 복수의 데이터 패킷 중 마지막 데이터 패킷을 프레임 트레일러 패킷(frame trailer packet)이라 한다. 본 발명의 본 실시예의 데이터 패킷이 시퀀스 번호 및/또는 타임스탬프, 그리고 데이터 패킷이 프레임 트레일러 패킷인지 여부를 판정하는 데 사용되는 정보를 싣고 있으며, 구체적으로 실시간 전송 프로토콜(Real-time Transport Protocol, RTP) 패킷 또는 독점 프로토콜 기반의 패킷 등일 수 있다. 표준 영화ㆍ텔레비전 기술자 협회(Society of Motion Picture and Television Engineers, SMPTE) 2022와 표준 SMPTE 2110에서, RTP가 제작 및 방송 네트워크의 오디오 및 비디오 데이터를 전달하는 데 사용된다. 예를 들어, 표준 SMPTE 2022-6(HBRMT(High Bit Rate Media Signals over IP Networks))에서, SDI 포맷의 비디오 데이터가 RTP를 이용하여 캡슐화되고, IP 기반의 네트워크를 통해 전송된다.
본 발명의 본 실시예의 비디오 프레임이 압축되지 않은 비디오 프레임이고, YUV 비디오 프레임이나 RGB 비디오 프레임일 수 있다. 하나의 비디오 스트림의 단일 비디오 프레임의 패킷의 개수(즉, 비디오 스트림의 하나의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수)가 일반적으로 변경되지 않고 유지되고, 사전 설정될 수 있거나, 또는 수신된 비디오 스트림의 2개의 인접한 프레임 트레일러 패킷의 시퀀스 번호들 간의 차이에 기초하여 계산될 수 있다. 여기서, 일반적으로 수천 개의 패킷이 있을 수 있다. 하나의 비디오 스트림의 단일 비디오 프레임의 지속시간이 일반적으로 변경되지 않고 사전 설정될 수 있거나, 또는 수신된 비디오 스트림의 2개의 인접한 프레임 트레일러 패킷의 타임스탬프들 간의 차이에 기초하여 계산될 수 있다.
본 발명의 본 실시예의 스위칭 패킷이 스위칭 위치에 있는 데이터 패킷이다. 스위칭 패킷의 스위칭 참조 정보는 스위칭 패킷에 있는 정보로서 비디오 스트림 스위칭에 사용되는 정보이고, 스위칭 패킷의 시퀀스 번호(이하, 줄여서 스위칭 시퀀스 번호라 할 수 있음)와 스위칭 패킷의 타임스탬프(이하, 줄여서 스위칭 타임스탬프라 할 수 있음) 중 적어도 하나를 포함할 수 있다. 비디오 스트림 스위칭 중에, 스위치-아웃될 비디오 스트림(to-be-switched-out video stream)(이하, 줄여서 스위치-아웃 스트림이라 함)의 스위칭 패킷의 스위칭 참조 정보와 스위치-인될 비디오 스트림(to-be-switched-in video stream)(이하, 줄여서 스위치-인 스트림이라 함)의 스위칭 패킷의 스위칭 참조 정보에 기초하여 스위칭이 수행된다. 예를 들어, 스위치-아웃 스트림의 경우, 시퀀스 번호가 스위치-아웃 스트림의 스위칭 시퀀스 번호보다 큰 데이터 패킷이 포워딩되지 않는다. 스위치-인 스트림의 경우, 시퀀스 번호가 스위치-인 스트림의 스위칭 시퀀스 번호보다 큰 데이터 패킷이 포워딩되기 시작한다.
이하, 본 발명의 실시예 1에서 제공되는 방법(100)에 대해 도 2, 도 3a 내지 도 3c, 및 도 4a 내지 도 4c를 참조하여 설명한다. 도 2는 본 발명의 실시예 1에 따른 방법을 개략적으로 나타내는 흐름도이다. 본 발명의 실시예 1의 방법은 도 1에 도시된 멀티미디어 통신 시스템(100)에 적용될 수 있고, 전송 장치에 의해 수행된다.
도 2에 도시된 바와 같이, 상기 방법(100)은 다음의 단계를 포함한다.
S110. 전송 장치(도 1에 도시된 전송 장치(120))가 제1 비디오 스트림과 제2 비디오 스트림을 수신하고, 전송 장치의 타깃 이그레스 포트(target egress port)를 통해 제1 비디오 스트림을 송신한다.
구체적으로, 송신 장치가 수신된 제1 비디오 스트림의 데이터 패킷을 타깃 이그레스 포트를 통해 포워딩하지만, 수신된 제2 비디오 스트림의 데이터 패킷을 타깃 이그레스 포트를 통해 포워딩하지 않는다.
전송 장치는 타깃 이그레스 포트에 대응하는 복수의 비디오 스트림을 수신하고, 타깃 이그레스 포트를 통해 복수의 비디오 스트림 중 하나를 송신하며, 복수의 비디오 스트림 중 타깃 이그레스 포트를 통해 송신된 비디오 스트림을 스위칭할 수 있다. 제1 비디오 스트림은 단계 S110이 수행될 때 타깃 이그레스 포트를 통해 현재 송신되는 비디오 스트림이고, 제2 비디오 스트림은 복수의 비디오 스트림 중 제1 비디오 스트림이 아닌 비디오 스트림이다.
S120. 전송 장치가 타깃 이그레스 포트를 통해 송신된 제1 비디오 스트림에서 제2 비디오 스트림으로 스위칭하도록 지시하는 데 사용되는 스위칭 명령을 수신한다.
구체적으로, 스위칭 명령은 컨트롤러(도 1에 도시된 컨트롤러(130))로부터 수신될 수 있다.
스위칭 명령은, 타깃 이그레스 포트를 통해 송신된 제1 비디오 스트림에서 제2 비디오 스트림으로 스위칭하도록 전송 장치에 지시하기 위해, 즉 타깃 이그레스 포트를 통해 제1 비디오 스트림의 포워딩을 중단하고 타깃 이그레스 포트를 통해 제2 비디오 스트림의 포워딩을 시작하도록 전송 장치에 지시하기 위해, 타깃 이그레스 포트의 포트 번호, 제1 비디오 스트림의 식별자(예를 들어, 제1 비디오 스트림의 멀티캐스트 주소), 및 제2 비디오 스트림의 식별자(예를 들어, 제2 비디오 스트림의 멀티캐스트 주소)를 포함할 수 있다.
S130. 전송 장치가 스위칭 명령에 따라 제1 비디오 스트림의 참조 프레임 트레일러 패킷(reference frame trailer packet)(이하, 제1 참조 프레임 트레일러 패킷이라 함)의 스위칭 참조 정보와 제2 비디오 스트림의 참조 프레임 트레일러 패킷(이하, 제2 참조 프레임 트레일러 패킷이라 함)의 스위칭 참조 정보를 결정한다.
제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보가 각각 시퀀스 번호 또는 타임스탬프일 수 있거나, 또는 각각 시퀀스 번호와 타임스탬프를 포함할 수 있다.
구체적으로, 단계 S130이 수행되기 전에 수신되는, 제1 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷과 제2 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷이 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷으로 각각 결정될 수 있고, x는 자연수이며, x의 값이 1일 수 있다. x가 1이면, 제1 비디오 스트림과 제2 비디오 스트림 중 하나의 참조 프레임 트레일러 패킷을 단계 S130이 수행될 때의 비디오 스트림의 최신 프레임 트레일러 패킷이라고도 할 수 있다.
특정 구현 중에, 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보는, 전송 장치가 스위칭 명령을 수신하는 시간에 기초하여 결정될 수 있다. 이하에서는 2가지 예시적인 구현을 제시한다.
구현 M: 스위칭 명령이 수신된 후, 단계 S130이 즉시 수행된다. 즉, 단계 S120을 수행하는 시간이 단계 S130을 수행하는 시간과 매우 가깝다. 이 경우, 제1 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷의 스위칭 참조 정보가 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보로 각각 결정될 수 있다. 여기서, 스위칭 명령이 수신되기 전에 제1 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷과 제2 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷이 수신된다. 즉, 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷은 각각, 스위칭 명령이 수신되기 전에 수신되는, 제1 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷과 제2 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷이다. 도 3a와 도 3c에는 x가 1일 때의 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷이 도시되어 있다. 도 3a에 도시된 바와 같이, 프레임 트레일러 패킷(101)과 프레임 트레일러 패킷(201)이 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷으로 각각 결정되고, 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 각각 20과 10이다. 도 3b에 도시된 바와 같이, 프레임 트레일러 패킷(103)과 프레임 트레일러 패킷(203)이 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷으로 각각 결정되고, 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 각각 10과 20이다. 도 3c에 도시된 바와 같이, 프레임 트레일러 패킷(105)과 프레임 트레일러 패킷(205)은 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷으로 각각 결정도고, 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 각각 10과 10이다.
구현 N: 스위칭 명령이 수신된 후 제1 비디오 스트림의 적어도 하나의 트레일러 패킷과 제2 비디오 스트림의 적어도 하나의 트레일러 패킷이 개별적으로 수신된 후, 단계 S130이 수행된다. 제1 비디오 스트림의 적어도 하나의 프레임 트레일러 패킷과 제2 비디오 스트림의 적어도 하나의 프레임 트레일러 패킷이 개별적으로 수신될 때 단계 S130이 수행될 수 있고, 제1 비디오 스트림의 수신된 마지막 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 비디오 스트림의 수신된 마지막 프레임 트레일러 패킷의 스위칭 참조 정보가 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보로 각각 결정된다. 도 4a에 도시된 바와 같이, 프레임 트레일러 패킷(107)과 프레임 트레일러 패킷(207)이 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷으로 각각 결정되고, 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 각각 30과 20이다. 도 4b에 도시된 바와 같이, 프레임 트레일러 패킷(109)과 프레임 트레일러 패킷(209)이 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷으로 각각 결정되고, 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 각각 20과 30이다. 도 4c에 도시된 바와 같이, 프레임 트레일러 패킷(111)과 프레임 트레일러 패킷(211)이 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷으로 각각 결정되고, 제1 참조 프레임 트레일러 패킷과 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 각각 20과 20이다. 스위칭 명령이 수신된 후 제1 비디오 스트림의 단일 비디오 프레임의 패킷의 개수와 제2 비디오 스트림의 단일 비디오 프레임의 패킷의 개수가 각각 인접한 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 각각 계산되면, 제1 비디오 스트림의 적어도 2개의 프레임 트레일러 패킷과 제2 비디오 스트림의 적어도 2개의 프레임 트레일러 패킷이 개별적으로 수신될 때 단계 S130이 대안적으로 수행될 수 있고, 제1 비디오 스트림의 수신된 마지막 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 비디오 스트림의 수신된 마지막 프레임 트레일러 패킷의 스위칭 참조 정보가 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보로 각각 결정된다.
S140. 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 제1 비디오 스트림의 스위칭 패킷(이하, 제1 스위칭 패킷이라 함)의 스위칭 참조 정보를 결정하고, 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 제2 비디오 스트림의 스위칭 패킷(이하, 제2 스위칭 패킷이라 함)의 스위칭 참조 정보를 결정한다.
제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 제1 스위칭 패킷의 스위칭 참조 정보, 및 제2 스위칭 패킷의 스위칭 참조 정보가 각각 시퀀스 번호 또는 타임스탬프일 수 있거나, 또는 각각 시퀀스 번호와 타임스탬프를 포함할 수 있다.
설명의 편의를 위해, 이하, 제1 스위칭 패킷의 시퀀스 번호를 제1 스위칭 시퀀스 번호라 할 수 있고, 제2 스위칭 패킷의 시퀀스 번호를 제2 스위칭 시퀀스 번호라 할 수 있으며, 제1 스위칭 패킷의 타임스탬프를 제1 스위칭 타임스탬프라 할 수 있고, 제2 스위칭 패킷의 시퀀스 번호를 제2 스위칭 타임스탬프라 할 수 있다.
제1 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 제1 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 다음 비디오 프레임의 후속 비디오 프레임이고, 제2 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 제2 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 다음 비디오 프레임의 후속 비디오 프레임이다. x의 값이 1이면, 이 구현에서, 참조 프레임 트레일러 패킷 이후의 적어도 하나의 프레임의 위치에서 비디오 스트림 스위칭을 수행함으로써, 현재 전송되는 비디오 프레임의 손상을 효과적으로 방지한다.
구체적으로, 제1 스위칭 시퀀스 번호는 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 제1 비디오 스트림의 단일 비디오 프레임을 캡슐화하기 위한 패킷의 개수에 기초하여 계산될 수 있고, 제2 스위칭 시퀀스 번호는 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 제2 비디오 스트림의 단일 비디오 프레임을 캡슐화하기 위한 패킷의 개수에 기초하여 계산될 수 있다. 결정된 제1 스위칭 시퀀스 번호와 제1 참조 프레임 트레일러 패킷의 시퀀스 번호 간의 차이가 제1 비디오 스트림의 단일 비디오 프레임을 캡슐화하기 위한 패킷의 개수보다 크거나 같을 수 있고, 결정된 제2 스위칭 시퀀스 번호와 제2 참조 프레임 트레일러 패킷의 시퀀스 번호 간의 차이가 제2 비디오 스트림의 단일 비디오 프레임을 캡슐화하기 위한 패킷의 개수보다 크거나 같을 수 있다.
구체적으로, 제1 스위칭 타임스탬프는 추가적으로, 제1 참조 프레임 트레일러 패킷의 타임스탬프와 제1 비디오 스트림의 단일 비디오 프레임의 지속시간에 기초하여 계산될 수 있고, 제2 스위칭 타임스탬프는 추가적으로, 제2 참조 프레임 트레일러 패킷의 타임스탬프와 제2 비디오 스트림의 단일 비디오 프레임의 지속시간에 기초하여 계산될 수 있다. 결정된 제1 스위칭 타임스탬프와 제1 참조 프레임 트레일러 패킷의 타임스탬프 간의 차이가 제1 비디오 스트림의 단일 비디오 프레임의 지속시간보다 크거나 같을 수 있고, 결정된 제2 스위칭 타임스탬프와 제2 참조 프레임 트레일러 패킷의 타임스탬프 간의 차이가 제2 비디오 스트림의 단일 비디오 프레임의 지속시간보다 크거나 같을 수 있다.
특정 구현 중에, 전송 장치는 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 제1 비디오 스트림의 정렬 프레임 트레일러 패킷(이하, 제1 정렬 프레임 트레일러 패킷(alignment frame trailer packet)이라 함)의 스위칭 참조 정보를 먼저 결정하고, 그런 다음 제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 제1 스위칭 패킷의 스위칭 참조 정보를 결정할 수 있다. 예를 들어, 제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보가 제1 스위칭 패킷의 스위칭 참조 정보로 사용된다. 다른 예를 들면, 제1 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터(blanking area data)를 캡슐화하는 데 사용되는 데이터 패킷의 스위칭 참조 정보가 제1 스위칭 패킷의 스위칭 참조 정보로 결정되고, 제1 정렬 프레임 트레일러 패킷이 제1 참조 프레임 트레일러 패킷의 후속 프레임 트레일러 패킷이다. 또한, 전송 장치는 제2 비디오 스트림의 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 제2 비디오 스트림의 정렬 프레임 트레일러 패킷(이하, 제2 정렬 프레임 트레일러 패킷이라 함)의 스위칭 참조 정보를 먼저 결정하고, 그런 다음 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 제2 스위칭 패킷의 스위칭 참조 정보를 결정할 수 있다. 예를 들어, 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보가 제2 스위칭 패킷의 스위칭 참조 정보로 사용된다. 다른 예를 들면, 제2 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 스위칭 참조 정보가 제2 스위칭 패킷의 스위칭 참조 정보 데이터 패킷의 스위칭 참조 정보로 사용되고, 제2 정렬 프레임 트레일러 패킷이 제2 참조 프레임 트레일러 패킷의 후속 프레임 트레일러 패킷이다. 제1 정렬 프레임 트레일러 패킷과 제2 정렬 프레임 트레일러 패킷은 시간적으로 대응하는 프레임 트레일러 패킷이다. 구체적으로, 제1 정렬 프레임 트레일러 패킷에 대해, 제2 정렬 프레임 트레일러 패킷은, 제2 비디오 스트림의 모든 프레임 트레일러 패킷 중 타임스탬프가 제1 정렬 프레임 트레일러 패킷의 타임스탬프에 가장 가까운 프레임 트레일러 패킷이다. 제1 정렬 프레임 트레일러 패킷에 대응하는 비디오 프레임에 대해, 제2 정렬 프레임 트레일러 패킷에 대응하는 비디오 프레임이 제2 비디오 스트림의 모든 비디오 프레임 내의 제1 정렬 프레임 트레일러 패킷에 대응하는 비디오 프레임과 시간적으로 가장 가까운 비디오 프레임일 수 있다는 것을 이해해야 한다. 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보, 제2 정렬 프레임 트레일러 패킷의 스위칭 참조 정보, 제1 스위칭 패킷의 스위칭 참조 정보, 및 제2 스위칭 패킷의 스위칭 참조 정보가 각각 시퀀스 번호 또는 타임스탬프일 수 있거나, 또는 각각 시퀀스 번호와 타임스탬프를 포함할 수 있다.
구체적으로, 구현 A와 구현 B 중 하나 또는 이들의 조합에서, 제1 비디오 스트림과 제2 비디오 스트림 중 하나의 정렬 트레일러 패킷의 스위칭 참조 정보가 결정될 수 있고, 비디오 스트림의 스위칭 패킷의 스위칭 참조 정보가 결정될 수 있다. 구현 A가 스위칭 패킷의 시퀀스 번호를 결정하는 데 사용되고, 구현 B가 스위칭 패킷의 타임스탬프를 결정하는 데 사용된다.
(구현 A)
구현 A에서, 전송 장치가 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 제1 비디오 스트림의 단일 비디오 프레임의 패킷의 개수에 기초하여 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호를 먼저 계산하고, 그런 다음 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 제1 스위칭 패킷의 시퀀스 번호를 결정할 수 있다. 또한, 전송 장치가 제2 비디오 스트림의 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 제2 비디오 스트림의 단일 비디오 프레임의 패킷의 개수에 기초하여 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호를 먼저 계산하고, 그런 다음 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 제2 스위칭 패킷의 시퀀스 번호를 결정할 수 있다.
도 3a에 도시된 바와 같이, 스위칭 명령이 수신되기 전에 제1 참조 프레임 트레일러 패킷(101)의 시퀀스 번호(20)와 제2 참조 프레임 트레일러 패킷(201)의 시퀀스 번호(10)가 기록되고, 스위칭 명령이 수신된 후 정렬 프레임 트레일러 패킷의 시퀀스 번호가 즉시 결정된다. 제1 정렬 프레임 트레일러 패킷의 결정된 시퀀스 번호가 프레임 트레일러 패킷(102)의 시퀀스 번호(30)이다. 즉, 제1 정렬 프레임 트레일러 패킷이 프레임 트레일러 패킷(102)이다. 제2 정렬 프레임 트레일러 패킷의 결정된 시퀀스 번호가 프레임 트레일러 패킷(202)의 시퀀스 번호(30)이다. 즉, 제2 정렬 프레임 트레일러 패킷이 프레임 트레일러 패킷(202)이다. 프레임 트레일러 패킷(102)과 프레임 트레일러 패킷(202)은 시간적으로 대응하는 프레임 트레일러 패킷이다. 제1 비디오 스트림과 제2 비디오 스트림이 동일한 프레임 레이트와 동일한 시작 프레임 번호를 가지고 있고 또한 프레임 트레일러 패킷(102)과 프레임 트레일러 패킷(202)이 모두 프레임 번호가 n+2인 비디오 프레임인 프레임 트레일러 패킷이라고 가정한다.
구체적으로, 구현 A의 다음의 2가지 구현(구현 A1과 구현 A2)에서 제1 비디오 스트림과 제2 비디오 스트림 중 하나의 정렬 프레임 트레일러 패킷의 시퀀스 번호가 결정될 수 있다.
구현 A1: 서로 다른 비디오 스트림들이 동기화되지 않을 수 있다는 문제를 고려하여, 구현 A1에서, 전송 장치가 제1 비디오 스트림과 제2 비디오 스트림 간의 동기화 관계를 먼저 결정하고, 그런 다음 제1 비디오 스트림과 제2 비디오 스트림 중 하나에 대해, 비디오 스트림의 참조 프레임 트레일러 패킷의 시퀀스 번호와 동기화 관계에 기초하여 비디오 스트림의 정렬 프레임 트레일러 패킷의 시퀀스 번호를 계산한다. 제1 비디오 스트림과 제2 비디오 스트림 간의 동기화 관계는 구체적으로, 제1 비디오 스트림이 제2 비디오 스트림보다 빠르다는 것, 또는 제1 비디오 스트림이 제2 비디오 스트림보다 늦다는 것, 또는 제1 비디오 스트림이 제2 비디오 스트림과 동기화된다는 것일 수 있다. 스위칭되어야 하는 비디오 스트림들 간의 동기 불일치가 일반적으로 하나의 프레임을 초과하지 않는다.
제1 비디오 스트림과 제2 비디오 스트림 간의 동기화 관계가 결정된 후, 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호와 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호가 구체적으로 다음의 방식으로 결정된다. 설명의 편의를 위해, 본 발명의 본 실시예에서, 제1 참조 프레임 트레일러 패킷의 시퀀스 번호가 S11로 표현되고, 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호가 S12로 표현되며, 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 S21로 표현되고, 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호가 S22로 표현된다. 제1 비디오 스트림의 단일 비디오 프레임의 패킷의 개수가 M1로 표현되고, 제2 비디오 스트림의 단일 비디오 프레임의 패킷의 개수가 M2로 표현되며, M1과 M2가 동일하거나 또는 서로 다를 수 있고, 일반적으로 동일하다. 다음의 방식의 일 예에서, M1과 M2가 모두 10이라고 가정한다.
제1 비디오 스트림과 제2 비디오 스트림 간의 결정된 동기화 관계가 제1 비디오 스트림이 제2 비디오 스트림보다 빠르다는 것이면, 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호 S12가 공식(S12 = S11 + m × M1)에 따라 결정되고, 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호 S22가 공식(S22 = S21 + (m+1) × M2)에 따라 결정된다. 여기서, m은 자연수이며 1일 수 있다.
m이 1이고 또한 구현 M이 사용된다고 가정한다. 도 3a에 도시된 바와 같이, 제1 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(101)이고, 제1 참조 프레임 트레일러 패킷의 시퀀스 번호가 20이며, 제1 정렬 프레임 트레일러 패킷(102)의 시퀀스 번호가 20+10, 즉 30이다. 제2 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(201)이고, 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 10이며, 제2 정렬 프레임 트레일러 패킷(202)의 시퀀스 번호가 10+2×10, 즉 30이다.
m이 1이고 또한 구현 N이 사용된다고 가정한다. 도 4a에 도시된 바와 같이, 제1 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(107)이고, 제1 참조 프레임 트레일러 패킷의 시퀀스 번호가 30이며, 제1 정렬 프레임 트레일러 패킷((108)의 시퀀스 번호가 30+10, 즉 40이다. 제2 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(207)이고, 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 20이며, 제2 정렬 프레임 트레일러 패킷(208)의 시퀀스 번호가 20+2×10, 즉 40이다.
제1 비디오 스트림과 제2 비디오 스트림 간의 결정된 동기화 관계가 제1 비디오 스트림이 제2 비디오 스트림보다 늦다는 것이면, 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호(S12)가 공식(S12 = S11 + (n+1) × M1)에 따라 결정되고, 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호(S22)가 공식(S22 = S21 + n × M2)에 따라 결정된다. 여기서, n은 자연수이며 1일 수 있다.
n이 1이고 또한 구현 M이 사용된다고 가정한다. 도 3b에 도시된 바와 같이, 제1 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(103)이고, 제1 참조 프레임 트레일러 패킷의 시퀀스 번호가 10이며, 제1 정렬 프레임 트레일러 패킷(104)의 시퀀스 번호가 10+2×10, 즉 30이다. 제2 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(203)이고, 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 20이며, 제2 정렬 프레임 트레일러 패킷(204)의 시퀀스 번호가 20+10, 즉 30이다.
n이 1이고 또한 구현 N이 사용된다고 가정한다. 도 4b에 도시된 바와 같이, 제1 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(109)이고, 제1 참조 프레임 트레일러 패킷의 시퀀스 번호가 20이며, 제1 정렬 프레임 트레일러 패킷(110)의 시퀀스 번호가 20+2×10, 즉 40이다. 제2 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(209)이고, 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 30이며, 제2 정렬 프레임 트레일러 패킷(210)의 시퀀스 번호가 30+10, 즉 40이다.
제1 비디오 스트림과 제2 비디오 스트림 간의 결정된 동기화 관계가 제1 비디오 스트림이 제2 비디오 스트림과 동기화된다는 것이면, 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호(S12)가 공식(S12 = S11 + k × M1)에 따라 결정되고, 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호(S22)가 공식(S22 = S21 + k × M2)에 따라 결정된다. 여기서, k은 자연수이며 1일 수 있다.
k가 1이고 또한 구현 M이 사용된다고 가정한다. 도 3c에 도시된 바와 같이, 제1 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(105)이고, 제1 참조 프레임 트레일러 패킷의 시퀀스 번호가 10이며, 제1 정렬 프레임 트레일러 패킷(106)의 시퀀스 번호가 10+10, 즉 20이다. 제2 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(205)이고, 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 10이며, 제2 정렬 프레임 트레일러 패킷(206)의 시퀀스 번호가 10+10, 즉 20이다.
k가 1이고 또한 구현 N이 사용된다고 가정한다. 도 4c에 도시된 바와 같이, 제1 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(111)이고, 제1 참조 프레임 트레일러 패킷의 시퀀스 번호가 20이며, 제1 정렬 프레임 트레일러 패킷(112)의 시퀀스 번호가 20+10, 즉 30이다. 제2 참조 프레임 트레일러 패킷이 프레임 트레일러 패킷(211)이고, 제2 참조 프레임 트레일러 패킷의 시퀀스 번호가 20이며, 제2 정렬 프레임 트레일러 패킷(212)의 시퀀스 번호가 20 + 10, 즉 30이다.
구현 A1에서 결정된 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호와 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호에 대응하는 프레임 트레일러 패킷(즉, 제1 정렬 프레임 트레일러 패킷과 제2 정렬 프레임 트레일러 패킷)의 타임스탬프가 기본적으로 동일하고, 프레임 트레일러 패킷의 타임스탬프에 기초하여 결정되는 스위칭 패킷의 타임스탬프도 기본적으로 동일하다. 따라서, 스위칭 중에 시간 차원에서 스위치-아웃 스트림을 스위치-인 스트림과 동기화하도록 보장될 수 있으며, 프레임 중복 또는 프레임 부족이 없다.
구현 A2: 구현 A2에서, 비디오 스트림들 간의 동기화 관계가 고려되지 않지만, 비디오 스트림들이 동기화된다고 가정한다. 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호(S12)가 공식(S12 = S11 + k × M1)에 따라 직접 결정될 수 있고, 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호(S22)가 공식(S22 = S21 + k x M2)에 따라 직접 결정될 수 있다.
제1 정렬 프레임 트레일러 패킷의 시퀀스 번호와 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호가 결정된 후, 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호와 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 다음의 2가지 구현(구현 X1과 구현 X2) 중 하나에서 제1 스위칭 시퀀스 번호와 제2 스위칭 시퀀스 번호가 각각 결정될 수 있다.
구현 X1: 구현 X1이 프레임의 경계에서 비디오 스트림 스위칭을 수행하는 데 사용된다. 구현 X1에서, 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호가 제1 스위칭 시퀀스 번호로 사용되고, 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호가 제2 스위칭 시퀀스 번호로 사용된다.
도 3a에 도시된 바와 같이, 제1 정렬 프레임 트레일러 패킷(102)의 시퀀스 번호(30)가 제1 스위칭 시퀀스 번호로 사용된다. 즉, 제1 정렬 프레임 트레일러 패킷(102)이 제1 비디오 스트림의 스위칭 패킷으로 사용되고, 제2 정렬 프레임 트레일러 패킷(202)의 시퀀스 번호(30)이 제2 스위칭 시퀀스 번호로 사용된다. 즉, 제2 정렬 프레임 트레일러 패킷(202)이 제2 비디오 스트림의 스위칭 패킷으로 사용된다.
구현 X2: 구현 X2이 비디오 프레임의 블랭킹 영역에서 비디오 스트림 스위칭을 수행하는 데 사용된다.
비디오 분야에서, 광 신호를 전기 신호로 변환하는 스캐닝 과정에서, 스캐닝은 항상 이미지의 왼쪽 상단 모서리에서 시작하여 수평으로 오른쪽으로 이동하고, 스캐닝 포인트도 상대적으로 낮은 레이트로 아래로 이동한다. 스캔 포인트가 이미지의 오른쪽 가장자리에 도달하면, 스캔 포인트가 빠르게 왼쪽으로 되돌아가서 제1 행의 시작 포인트 아래의 제2 행을 다시 스캔하기 시작한다. 스캐닝 포인트가 이미지의 오른쪽 모서리에 도달할 때, 스캐닝 포인트는 왼쪽으로 빠르게 되돌아가서 제1 행의 시작 포인트 아래의 제2 행을 다시 스캔한다. 행 간의 되돌아가는 프로세스를 수평 블랭킹(horizontal blanking)이라 한다. 완전한 이미지 스캐닝 신호가 수평 블랭킹 간격으로 분리된 행 신호의 시퀀스를 포함하며 프레임이라고 한다. 프레임을 스캔한 후, 스캔 포인트가 이미지의 오른쪽 아래 모서리에서 왼쪽 상단 모서리로 되돌아와서 새로운 프래임을 스캔하기 시작한다. 이 시간 간격을 수직 블랭킹 또는 필드 블랭킹(field blanking)이라고 한다. 수평 블랭킹과 수직 블랭킹은 SDI 신호에 보이는 콘텐츠를 싣고 있지 않고, 총칭하여 블랭킹 영역이라고 한다. SMPTE RP-168은 스위칭 행 또는 스위칭 영역을 지정하여 SDI 포맷의 비디오 스트림들 간의 스위칭을 안내한다. 스위칭 행 또는 스위칭 영역에 있는 2개의 SDI 신호들 간의 스위칭이 유효한 비디오 데이터를 손상시키지 않는다. SMPTE 2022-6에서, SDI 신호가 IP 패킷에 실린다. 따라서, SMPTE 2022-6에 기반한 비디오 스트림에 대해 클린 스위칭이 수행될 때, 블랭킹 영역에서 클린 스위칭이 수행되어야 한다.
결론적으로, 제1 비디오 스트림과 제2 비디오 스트림이 모두 SMPTE 2022-6에 기초하여 인코딩된 비디오 스트림인 경우, 블랭킹 영역을 캡슐화하기 위한 데이터 패킷에서 비디오 스트림 스위칭을 수행할 수 있다.
제1 비디오 스트림의 경우, 구체적으로, 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호에 대응하는 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 시퀀스 번호가 제1 스위칭 시퀀스 번호로 결정될 수 있다. 예를 들어, 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호와 ΔM1의 합이 제1 스위칭 시퀀스 번호로 결정된다. 여기서,
Figure pct00001
또는
Figure pct00002
이고, OL1은 제1 비디오 스트림의 단일 비디오 프레임에서 각각의 행의 픽셀에 의해 점유된 바이트의 수이며, SL1은 제1 비디오 스트림의 스위칭 행 번호이다.
제2 비디오 스트림의 경우, 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호에 대응하는 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 시퀀스 번호가 제2 스위칭 시퀀스 번호로 결정된다. 예를 들어, 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호와 ΔM2의 합이 제2 스위칭 시퀀스 번호로 결정된다. 여기서,
Figure pct00003
또는
Figure pct00004
이고, OL2는 제2 비디오 스트림의 단일 비디오 프레임에서 각각의 행의 픽셀에 의해 점유된 바이트의 수이며, SL2는 제2 비디오 스트림의 스위칭 행 번호이다.
스위칭 행 번호가 SDI 비디오 표준에 따라 달라질 수 있다. 현재, SMPTE RP-168은 대부분의 비디오 포맷의 스위칭 행 번호를 지정한다. 제1 비디오 스트림의 스위칭 행 번호(SL1)와 제2 비디오 스트림의 스위칭 행 번호(SL2)가 일반적으로 동일하다.
제1 비디오 스트림과 제2 비디오 스트림 중 하나에 대해, 4:2:2 샘플링 방식이 사용되면, 비디오 스트림의 단일 비디오 프레임에서 각각의 행의 픽셀이 차지하는 바이트의 수(OL)가 PL × BS × 2/8이다. 여기서, PL은 비디오 스트림의 비디오 프레임의 각각의 행의 픽셀의 총 수(행 블랭킹 픽셀의 수와 유효한 비디오 픽셀의 수를 포함)이고, BS는 픽셀 비트 심도(pixel bit depth)이다. 제1 비디오 스트림과 제2 비디오 스트림의 픽셀 비트 심도와 샘플링 방식이 동일하면, OL1과 OL2가 대개 동일하다는 것을 이해할 수 있을 것이다.
(구현 B)
구현 B에서, 전송 장치가 제1 참조 프레임 트레일러 패킷의 타임스탬프와 제1 비디오 스트림의 단일 비디오 프레임의 지속시간에 기초하여 제1 정렬 프레임 트레일러 패킷의 타임스탬프를 먼저 계산하고, 그런 다음 제1 정렬 프레임 트레일러 패킷의 타임스탬프에 기초하여 제1 스위칭 패킷의 타임스탬프를 결정할 수 있다. 또한, 전송 장치가 제2 비디오 스트림의 제2 참조 프레임 트레일러 패킷의 타임스탬프와 제2 비디오 스트림의 단일 비디오 프레임의 지속시간에 기초하여 제2 정렬 프레임 트레일러 패킷의 타임스탬프를 먼저 계산하고, 그런 다음 제2 정렬 프레임 트레일러 패킷의 타임스탬프에 기초하여 제2 스위칭 패킷의 타임스탬프를 결정할 수 있다.
구체적으로, 구현 B의 다음의 2가지 구현(구현 B1과 구현 B2)에서 제1 비디오 스트림과 제2 비디오 스트림 중 하나의 정렬 프레임 트레일러 패킷의 타임스탬프가 결정될 수 있다.
구현 B1: 서로 다른 비디오 스트림이 동기화되지 않을 수 있다는 문제를 고려하여, 구현 B1에서, 전송 장치가 제1 비디오 스트림과 제2 비디오 스트림 간의 동기화 관계를 먼저 결정하고, 그런 다음 제1 비디오 스트림과 제2 비디오 스트림 중 하나에 대해, 비디오 스트림의 참조 프레임 트레일러 패킷의 타임스탬프와 동기화 관계에 기초하여 비디오 스트림의 정렬 프레임 트레일러 패킷의 타임스탬프를 계산한다. 제1 비디오 스트림과 제2 비디오 스트림 간의 동기화 관계는 구체적으로, 제1 비디오 스트림이 제2 비디오 스트림보다 빠르다는 것, 제1 비디오 스트림이 제2 비디오 스트림보다 늦다는 것, 또는 제1 비디오 스트림이 제2 비디오 스트림과 동기화된다는 것일 수 있다. 스위칭되어야 하는 비디오 스트림들 간의 동기 불일치가 일반적으로 하나의 프레임을 초과하지 않는다.
제1 비디오 스트림과 제2 비디오 스트림 간의 동기화 관계가 결정된 후, 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷의 타임스탬프와 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 타임스탬프가 구체적으로 다음의 방식으로 결정된다. 설명의 편의를 위해, 본 발명의 본 실시예에서, 제1 참조 프레임 트레일러 패킷의 타임스탬프가 t11로 표현되고, 제1 정렬 프레임 트레일러 패킷의 타임스탬프가 t12로 표현되며, 제2 참조 프레임 트레일러 패킷의 타임스탬프가 t21로 표현되고, 제2 정렬 프레임 트레일러 패킷의 타임스탬프가 t22로 표현된다. 제1 비디오 스트림의 단일 비디오 프레임의 지속시간이 T1로 표현되고, 제2 비디오 스트림의 단일 비디오 프레임의 지속시간이 T2로 표현되며, T1과 T2가 동일할 수 있거나 또는 서로 다를 수 있고, 일반적으로 동일하다.
제1 비디오 스트림과 제2 비디오 스트림 간의 결정된 동기화 관계가 제1 비디오 스트림이 제2 비디오 스트림보다 빠르다는 것이면, 제1 정렬 프레임 트레일러 패킷의 타임스탬프(t12)가 공식( t12 = t11 + m × T1)에 따라 결정되고, 제2 정렬 프레임 트레일러 패킷의 타임스탬프(t22)가 공식(t22 = t21 + (m+1) × T2)에 따라 결정된다. 여기서, m은 자연수이며 1일 수 있다.
제1 비디오 스트림과 제2 비디오 스트림 간의 결정된 동기화 관계가 제1 비디오 스트림이 제2 비디오 스트림보다 늦다는 것이면, 제1 정렬 프레임 트레일러 패킷의 타임스탬프(t12)가 공식(t12 = t11 + (n+1) × T1)에 따라 결정되고, 제2 정렬 프레임 트레일러 패킷의 타임스탬프(t22)가 공식(t22 = t21 + n × T2)에 따라 결정된다. 여기서, n은 자연수이고, 1일 수 있다.
제1 비디오 스트림과 제2 비디오 스트림 간의 결정된 동기화 관계가 제1 비디오 스트림이 제2 비디오 스트림과 동기화된다는 것이면, 제1 정렬 프레임 트레일러 패킷의 타임스탬프(t12)가 공식(t12 = t11 + k × T1)에 따라 결정되고, 제2 정렬 프레임 트레일러 패킷의 타임스탬프(t22)가 공식(t22 = t21 + k × T2)에 따라 결정된다. 여기서, k은 자연수이고, 1일 수 있다.
구현 B1에서 결정되는 제1 정렬 프레임 트레일러 패킷과 제2 정렬 프레임 트레일러 패킷의 타임스탬프가 기본적으로 일치하고, 제1 정렬 프레임 트레일러 패킷과 제2 정렬 프레임 트레일러 패킷의 타임스탬프에 기초하여 결정되는 스위칭 패킷의 타임스탬프도 기본적으로 일치한다. 따라서, 스위치-아웃 스트림이 스위칭 중에 시간 차원에서 스위치-인 스트림과 동기화되고 또한 프레임 중복이나 프레임 부족이 없다는 것이 보장될 수 있다.
구현 B2: 구현 B2에서, 비디오 스트림들 간의 동기화 관계가 고려되지 않지만, 비디오 스트림들이 동기화된다고 가정한다. 제1 정렬 프레임 트레일러 패킷의 타임스탬프(t12)가 공식(t12 = t11 + k × T1)에 따라 직접 결정될 수 있고, 제2 정렬 프레임 트레일러 패킷의 타임스탬프(t22)가 공식(t22 = t21 + k x T2)에 따라 직접 결정될 수 있다.
제1 정렬 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 정렬 프레임 트레일러 패킷의 타임스탬프가 결정된 후, 제1 정렬 프레임 트레일러 패킷의 타임스탬프와 제2 정렬 프레임 트레일러 패킷의 타임스탬프에 기초하여 다음의 2가지 구현(구현 Y1과 구현 Y2) 중 하나에서 제1 스위칭 타임스탬프와 제2 스위칭 타임스탬프가 각각 결정될 수 있다.
구현 Y1: 구현 Y1은 프레임의 경계에서 비디오 스트림 스위칭을 수행하는 데 사용된다. 구현 Y1에서, 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷의 타임스탬프가 제1 스위칭 타임스탬프로 사용되고, 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 타임스탬프가 제2 스위칭 타임스탬프로 사용된다.
구현 Y2: 구현 Y2는 비디오 프레임의 블랭킹 영역에서 비디오 스트림 스위칭을 수행하는 데 사용된다.
제1 비디오 스트림의 경우, 구체적으로, 제1 정렬 프레임 트레일러 패킷의 타임스탬프에 대응하는 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 타임스탬프가 제1 스위칭 타임스탬프로 결정될 수 있다. 예를 들어, 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷의 타임스탬프와 Δt1의 합이 제1 스위칭 타임스탬프로 결정된다. 여기서, Δt1은 간격([tx, ty]) 내의 값이다. 예를 들어, Δt1은 tx 또는 (tx+ty)/2이다. 여기서, tx = T1 × SL1/L1이고, ty = T1 × (SL1 + 1)/L1이며, SL1은 제1 비디오 스트림의 스위칭 행 번호이고, L1은 제1 비디오 스트림의 비디오 프레임의 픽셀의 행의 총 개수이다.
제2 비디오 스트림의 경우, 제2 정렬 프레임 트레일러 패킷의 타임스탬프에 대응하는 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 타임스탬프가 제2 스위칭 타임스탬프로 결정될 수 있다. 예를 들어, 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 타임스탬프와 Δt2의 합이 제2 스위칭 타임스탬프로 결정된다. 여기서, Δt2는 간격([tm, tn]) 내의 값이다. 예를 들어, Δt2는 tm 또는 (tm+tn)/2이다. 여기서, tm = T2 × SL2/L2이고, ty = T2 × (SL2 + 1)/L2이며, SL2는 제2 비디오 스트림의 스위칭 행 번호이고, L2는 제2 비디오 스트림의 비디오 프레임의 픽셀의 행의 총 개수이다. Δt1과 Δt2가 동일한 방법에 따라 계산된다는 것을 유의해야 한다. 예를 들어, Δt1은 공식(Δt1 = T1 × SL1/L1)(즉, Δt1이 tx임)에 따라 계산되고, Δt2는 공식(Δt2 = T2 × SL2/L2)(즉, Δt2는 tm임)에 따라 계산된다.
스위칭 행 번호가 SDI 비디오 표준에 따라 달라질 수 있다. 현재, SMPTE RP-168가 대부분의 비디오 포맷의 스위칭 행 번호를 지정한다. 제1 비디오 스트림의 스위칭 행 번호(SL1)와 제2 비디오 스트림의 스위칭 행 번호(SL2)가 일반적으로 동일하다. 제1 비디오 스트림의 L2와 제2 비디오 스트림의 L2가 일반적으로 동일하다.
본 발명의 실시예 1에서, 전송 장치는 구체적으로, 제1 비디오 스트림의 참조 프레임 트레일러 패킷의 타임스탬프와 제2 비디오 스트림의 참조 프레임 트레일러 패킷의 타임스탬프에 기초하여 제1 비디오 스트림과 제2 비디오 스트림 간의 동기화 관계를 결정할 수 있다.
장치 동기화의 정밀도 편차로 인해, 서로 다른 비디오 소스 장치에 의해 동시에 송신된 데이터 패킷의 타임스탬프들 간에는 편차가 있을 수 있다. 또한, IP 네트워크에서 하나의 패킷으로 정보가 전송되고, 패킷 포워딩의 지터로 인해 일부 동기화 편차가 유발될 수 있다. 따라서, 2개의 참조 프레임 트레일러 패킷의 타임스탬프들 간의 편차가 사전 설정된 시간 차이 임계값보다 작으면 2개의 비디오 스트림이 동기화된다는 것으로 간주할 수 있을 것이다. 동기화가 수행되는지 여부를 판정하는 데 사용되는 시간 차이 임계값이 네트워크 내의 비디오 소스 장치의 클록 동기화 정밀도에 기초하여 결정될 수 있다.
t1 - t2 > Δt1이라고 결정할 때, 전송 장치는 구체적으로, 제1 비디오 스트림이 제2 비디오 스트림보다 빠르다고 결정할 수 있다. t2 - t1 > Δt1이라고 결정할 때, 전송 장치는 구체적으로, 제1 비디오 스트림이 제2 비디오 스트림보다 늦다고 결정할 수 있다. |t1 - t2| < Δt2이라고 결정할 때, 전송 장치는 구체적으로, 제1 비디오 스트림이 제2 비디오 스트림과 동기화된다고 결정할 수 있다. 여기서, t1은 제1 참조 프레임 트레일러 패킷의 타임스탬프이고, t2는 제2 참조 프레임 트레일러 패킷의 타임스탬프이며, Δt1은 사전 설정된 제1 시간 차이 임계값이고, Δt2는 사전 설정된 제2 시간 차이 임계값이며, Δt1과 Δt2는 모두 0보다 크고 T보다 작은 값이고, Δt2는 Δt1보다 작거나 같을 수 있다. 또한, Δt1과 Δt2는, T/2 < Δt1 < T을 만족하도록 사전 설정될 수 있다. 예를 들어, Δt1은 3 × T/4일 수 있고, 0 < Δt2 < T/2이다. 예를 들어, Δt2는 T/4일 수 있고, T는 단일 비디오 프레임의 지속시간이다. 본 발명의 본 실시예에서, T는 사전 설정될 수 있거나, 또는 사전 설정된 비디오 정보(예를 들어, 프레임 레이트)에 기초하여 계산을 통해 얻어질 수 있다. 또한, 비디오 스트림이 스위칭될 필요가 있는, 하나의 비디오 스트림의 단일 비디오 프레임의 지속시간과 다른 비디오 스트림의 단일 비디오 프레임의 지속시간이 일반적으로 동일하기 때문에, T는 제1 비디오 스트림과 제2 비디오 스트림 중 하나의 수신된 데이터 패킷에 기초하여 계산을 통해 대안적으로 획득될 수 있다. 예를 들어, T는 비디오 스트림의 2개의 인접한 프레임 트레일러 패킷의 타임스탬프들 간의 차이에 기초하여 계산을 통해 얻어질 수 있다.
S150. 전송 장치가 제1 스위칭 패킷의 스위칭 참조 정보와 제2 스위칭 패킷의 스위칭 참조 정보에 기초하여 타깃 이그레스 포트를 통해 송신된 제1 비디오 스트림에서 제2 비디오 스트림으로 스위칭된다.
일 구현에서, 제1 스위칭 패킷의 스위칭 참조 정보와 제2 스위칭 패킷의 스위칭 참조 정보는 각각 시퀀스 번호이고, 전송 장치는 구체적으로, 타깃 이그레스 포트를 통해, 제1 비디오 스트림의 시퀀스 번호가 제1 스위칭 시퀀스 번호보다 클 때 획득되는, 수신된 데이터 패킷을 송신하지 않을 수 있지만, 제2 비디오 스트림의 시퀀스 번호가 제2 스위칭 시퀀스 번호보다 클 때 획득되는, 수신된 데이터 패킷을 타깃 이그레스 포트를 통해 송신할 수 있다.
시퀀스 번호가 계산을 통해 획득되는 제1 스위칭 시퀀스 번호와 제2 스위칭 시퀀스 번호가 수신되지 않은 데이터 패킷의 시퀀스 번호이므로, 제1 스위칭 시퀀스 번호와 제2 스위칭 시퀀스 번호가 계산을 통해 획득될 때, 제1 비디오 스트림의 시퀀스 번호가 제1 스위칭 시퀀스 번호보다 작거나 같을 때 획득된 데이터 패킷과 제2 비디오 스트림의 시퀀스 번호가 제2 스위칭 시퀀스 번호보다 작거나 같을 때 획득된 데이터 패킷이 일반적으로 더 수신된다. 단계 S150에서, 전송 장치는 제1 비디오 스트림의 수신된 데이터 패킷의 시퀀스 번호에 기초하여, 타깃 이그레스 포트를 통해 데이터 패킷을 송신할지 여부를 판정할 수 있다. 시퀀스 번호가 제1 스위칭 시퀀스 번호보다 작거나 같으면, 전송 장치는 여전히 타깃 이그레스 포트를 통해 데이터 패킷을 송신한다. 시퀀스 번호가 제1 스위칭 시퀀스 번호보다 크면, 전송 장치는 타깃 이그레스 포트를 통해 데이터 패킷을 송신하지 않는다. 따라서, 전송 장치는 수신된 제2 비디오 스트림의 데이터 패킷의 시퀀스 번호에 기초하여, 타깃 이그레스 포트를 통해 데이터 패킷을 송신할지 여부를 판정할 수 있다. 시퀀스 번호가 제2 스위칭 시퀀스 번호보다 작거나 같으면, 전송 장치는 타깃 이그레스 포트를 통해 데이터 패킷을 송신하지 않는다. 시퀀스 번호가 제2 스위칭 시퀀스 번호보다 크면, 전송 장치는 타깃 이그레스 포트를 통해 데이터 패킷을 송신한다.
다른 구현에서, 제1 스위칭 패킷의 스위칭 참조 정보와 제2 스위칭 패킷의 스위칭 참조 정보가 각각 타임스탬프이고, 전송 장치는 구체적으로, 제1 비디오 스트림의 타임스탬프가 제1 스위칭 타임스탬프일 때 획득되는, 수신된 데이터 패킷을 타깃 이그레스 포트를 통해 송신하지만, 제2 비디오 스트림의 타임스탬프가 제2 스위칭 타임스탬프보다 클 때 획득되는, 수신된 데이터 패킷을 타깃 이그레스 포트를 통해 송신할 수 있다. 또한, 전송 장치는 추가적으로, 제1 비디오 스트림의 타임스탬프가 제1 스위칭 타임스탬프보다 작거나 같을 때 획득되는, 수신된 데이터 패킷을 타깃 이그레스 포트를 통해 송신하지 않을 수 있지만, 제2 비디오 스트림의 타임스탬프가 제2 스위칭 타임스탬프보다 작거나 같을 때 획득되는, 수신된 데이터 패킷을 타깃 이그레스 포트를 통해 송신하지 않는다.
또 다른 구현에서, 제1 스위칭 패킷의 스위칭 참조 정보와 제2 스위칭 패킷의 스위칭 참조 정보가 각각 시퀀스 번호와 타임스탬프를 포함한다. 제1 비디오 스트림의 수신된 데이터 패킷의 경우, 데이터 패킷의 타임스탬프와 제1 스위칭 패킷의 타임스탬프 간의 차이의 절대값(Dif1)이 임계값 1보다 크고 또한 데이터 패킷의 타임스탬프가 제1 스위칭 패킷의 타임스탬프보다 크면, 또는 Dif1이 임계값 1보다 크거나 같고 또한 데이터 패킷의 시퀀스 번호가 제1 스위칭 패킷의 시퀀스 번호보다 크면, 데이터 패킷이 타깃 이그레스 포트를 통해 포워딩되지 않는다. 제2 비디오 스트림의 수신된 데이터 패킷의 경우, 데이터 패킷의 타임스탬프와 제2 스위칭 패킷의 타임스탬프 간의 차이의 절대값(Dif2)이 임계값 2보다 크고 또한 데이터 패킷의 타임스탬프가 제2 스위칭 패킷의 타임스탬프보다 크면, 또는 Dif2가 임계값 2보다 작거나 같고 데이터 패킷의 시퀀스 번호가 제2 스위칭 패킷의 시퀀스 번호보다 크면, 데이터 패킷이 타깃 이그레스 포트를 통해 포워딩된다. 또한, 제1 비디오 스트림의 수신된 데이터 패킷의 경우, Dif1이 임계값 1보다 크고 또한 데이터 패킷의 타임스탬프가 제1 스위칭 패킷의 타임스탬프보다 작으면, 또는 Dif1이 임계값 1보다 작거나 같고 데이터 패킷의 시퀀스 번호가 제1 스위칭 패킷의 시퀀스 번호보다 작거나 같으면, 데이터 패킷이 타깃 이그레스 포트를 통해 포워딩된다. 제2 비디오 스트림의 수신된 데이터 패킷의 경우, Dif2가 임계값 2보다 크고 데이터 패킷의 타임스탬프가 제2 스위칭 패킷의 타임스탬프보다 작으면, 또는 Dif2가 임계값 2보다 작거나 같고 데이터 패킷의 시퀀스 번호가 제2 스위칭 패킷의 시퀀스 번호보다 작으면, 데이터 패킷이 타깃 이그레스 포트를 통해 포워딩되지 않는다.
임계값 1과 임계값 2가 동일할 수 있거나 또는 서로 다를 수 있고, 각각이 1/4T보다 크거나 같은 값으로 설정될 수 있다. 구체적으로, 임계값 1과 임계값 2가 각각 1/4T보다 크거나 같고 7/4T보다 작거나 같은 값, 예를 들어 3/4T로 설정될 수 있다. 여기서, T는 제1 비디오 스트림 또는 제2 비디오 스트림의 단일 비디오 프레임의 지속시간이다.
제1 비디오 스트림과 제2 비디오 스트림 중 하나의 경우, 비디오 스트림이 안정 상태로 진입한다고 결정된 후, 예를 들어 단계 S150이 수행되기 시작한 후 데이터 스트림의 데이터 패킷의 미리 결정된 개수(예를 들어, M 또는 2M)이 처리되었다고 결정된 후, 또는 단계 S130이 수행되기 시작한 후 사전 설정된 지속시간(예를 들어, T 또는 2T)이 경과하였다고 결정된 후, 데이터 스트림의 시퀀스 번호 또는 타임스탬프가 데이터 스트림의 스위칭 시퀀스 번호 또는 스위칭 타임스탬프보다 작거나 같을 때 획득되는 데이터 패킷이 수신될 확률이 매우 낮다. 따라서, 데이터 스트림의 수신된 데이터 패킷을 타깃 이그레스 포트를 통해 송신할지 여부가 데이터 패킷의 시퀀스 번호 또는 타임스탬프를 검사하여 결정되지 않을 수 있지만, 데이터 패킷이 속한 데이터 스트림(즉, 상기 데이터 스트림)이 송신될 필요가 있는 데이터 스트림인지 여부를 나타내는 데 사용되는 상태 정보에 기초하여 결정된다. 이와 같이, 포워딩 효율이 향상된다. 여기서, M은 비디오 스트림의 단일 비디오 프레임의 패킷의 개수이고, T는 비디오 스트림의 단일 비디오 프레임의 지속시간이다.
전송 장치가 복수의 이그레스 포트를 포함할 수 있다는 것을 유의해야 한다. 상기 방법(100)의 단계 S110과 단계 S150이 타깃 이그레스 포트에 대응하는 데이터 패킷의 처리만을 담당하는 유닛에 의해 수행되면, 단계 S110과 단계 S150에서, 상기 유닛은 타깃 이그레스 포트를 통해 포워딩될 필요가 없는 데이터 패킷을 폐기할 수 있다.
다운스트림 장치에 대한 영향을 줄이기 위해, 다운스트림 장치가 스위칭을 감지하지 못하도록, 제2 비디오 스트림의 데이터 패킷을 포워딩할 때, 전송 장치가 제2 비디오 스트림의 데이터 패킷의 정보를 추가로 수정할 수 있다.
구체적으로, 스위칭 전후의 비디오 스트림의 일치를 개선하기 위해, 스위칭 이후의 제2 비디오 스트림의 제1 필드의 값이 스위칭 이전의 제1 비디오 스트림의 데이터 패킷의 제1 필드의 값과 동일할 수 있도록, 전송 장치가 제2 비디오 스트림의 데이터 패킷의 제1 필드의 값을 수정할 수 있다. 여기서, 제2 비디오 스트림의 데이터 패킷과 제1 비디오 스트림의 데이터 패킷이 타깃 이그레스 포트를 통해 송신된다. 제1 필드는 멀티캐스트 주소 필드 또는 페이로드 타입 필드일 수 있다. RTP가 비디오 스트림 전송에 사용되면, 제1 필드는 대안적으로 동기화 소스(Synchronization source, SSRC) 필드일 수 있다. 제1 필드는 대안적으로, SMPTE 2022-6에 정의된 HBRMT 계층 파라미터, 예를 들어 FRCount일 수 있다. FRCount는 SMPTE 2022-6에 정의된 높은 비트 전송 레이트 미디어 페이로드 헤더(High Bit Rate Media Payload Header)의 프레임 카운트(Frame Count) 필드이고, 비디오 스트림에 누적되는 비디오 프레임의 개수를 나타낸다.
이그레스 포트의 경우, 복수의 입력 비디오 스트림이 반복적으로 스위칭되어야 할 수 있기 때문에, 현재의 스위치-아웃 스트림(switch-out stream)이 이전의 스위치-인 스트림(switch-in stream)일 수 있다.
전송 장치는 타깃 이그레스 포트를 통해 복수의 비디오 스트림 중 어느 하나를 송신할 때, 비디오 스트림의 데이터 패킷의 제1 필드의 값을 미리 설정된 값으로, 예를 들어 비디오 스트림의 데이터 패킷의 멀티캐스트 주소를 사전 설정된 멀티캐스트 주소(예를 들어, 239.0.2.1)로 수정할 수 있다.
S110에서 설명된 바와 같이, 전송 장치는 타깃 이그레스 포트에 대응하는 복수의 비디오 스트림을 수신할 수 있고, 타깃 이그레스 포트를 통해 복수의 비디오 스트림 중 하나를 송신하며, 복수의 비디오 스트림 중 타깃 이그레스 포트를 통해 송신되는 비디오 스트림을 스위칭할 수 있다. 예를 들어, 복수의 비디오 스트림은 스트 림1, 스트 림2, 및 스트림 3을 포함한다. 전송 장치는 먼저 스트림 2를 먼저 포워딩하고, 그런 다음 순차적으로 스트림 1과 스트림 3으로 스위칭한다. 타깃 이그레스 포트를 통해 복수의 비디오 스트림 중 하나(예를 들어, 스트림 2)를 처음 포워딩할 때, 전송 장치는 비디오 스트림의 제1 필드의 값을 추가로 기록하고, 이후 다른 비디오 스트림으로 스위칭할 때, 다른 비디오 스트림의 데이터 패킷의 제1 필드의 값을 비디오 스트림의 제1 필드의 기록된 값으로 수정할 수 있다. 예를 들어, 스트림 1로 스위칭할 때, 전송 장치는 스트림 1의 데이터 패킷의 제1 필드의 값을 스트림 2의 제1 필드의 값으로 변경하고, 스트림 3으로 스위칭할 때, 스트림 3의 데이터 패킷의 제1 필드의 값을 스트림 2의 제1 필드의 값으로 변경할 수도 있다.
스위칭 이전과 이후의 비디오 스트림의 연속성을 개선하기 위해, 스위칭 이후 제2 비디오 스트림의 데이터 패킷을 송신할 때, 송신 장치는, 스위칭 이후의 제2 비디오 스트림의 데이터 패킷의 제2 필드의 값이 스위칭 이전의 제1 비디오 스트림의 데이터 패킷의 제2 필드의 값과 연속적일 수 있도록, 제2 비디오 스트림의 데이터 패킷의 제2 필드의 값을 추가로 수정할 수 있다. 여기서, 제2 비디오 스트림의 데이터 패킷과 제1 비디오 스트림의 데이터 패킷이 타깃 이그레스 포트를 통해 송신된다. 제2 필드의 값이 시퀀스 번호, 또는 프레임 번호, 및 타임스탬프 중 하나 이상일 수 있다.
제2 필드(예를 들어, 시퀀스 번호)의 값들이 연속적이라는 것을 보장하기 위해, 구체적으로, 제2 비디오 스트림의 송신될 데이터 패킷의 제2 필드의 값이 ΔV만큼 증가할 수 있다. 여기서, ΔV = V1 - V2이고, V1은 제1 비디오 스트림의 시퀀스 번호가 제1 스위칭 시퀀스 번호와 같을 때 획득되는 데이터 패킷이 타깃 이그레스 포트를 통해 송신될 때 전달되는 제2 필드의 값이며, V2는 제2 비디오 스트림의 시퀀스 번호가 제2 스위칭 시퀀스 번호일 때 획득되는 데이터 패킷이 수신될 때 전달되는 제2 필드의 값이다.
단계 S130을 수행하기 전에, 전송 장치는 단계 S115을 더 수행하여 제1 비디오 스트림과 제2 비디오 스트림 각각의 최신 프레임 트레일러 패킷의 타깃 정보를 기록할 수 있다. 기록된 타깃 정보는 최신 프레임 트레일러 패킷의 시퀀스 번호와 타임스탬프 중 적어도 하나를 포함한다. 따라서, 단계 S130에서, 참조 프레임 트레일러 패킷이 최신 프레임 트레일러 패킷의 타깃 정보로서 단계 S115에서 기록된 타깃 정보에 기초하여 결정될 수 있다. 예를 들어, 제1 비디오 스트림과 제2 비디오 스트림 중 하나에 대해, 비디오 스트림의 최신 프레임 트레일러 패킷으로서 단계 S130이 수행되기 전에 단계 S115에서 마지막으로 기록된 최신 프레임 트레일러 패킷의 타깃 정보(예를 들어, 시퀀스 번호)가 비디오 스트림의 참조 프레임 트레일러 패킷의 스위칭 참조 정보(예를 들어, 시퀀스 번호)로 사용된다.
전송 장치는 단계 S120 이전에 단계 S115를 수행하기 시작할 수 있다. S110에서 설명된 바와 같이, 전송 장치는 타깃 이그레스 포트에 대응하는 복수의 비디오 스트림을 수신하고, 타깃 이그레스 포트를 통해 복수의 비디오 스트림 중 하나를 송신하며, 복수의 비디오 스트림 중 타깃 이그레스 포트를 통해 송신된 비디오 스트림을 스위칭할 수 있다. 타깃 이그레스 포트를 통해 복수의 비디오 스트림을 통해 포워딩하기 시작할 때, 전송 장치는 복수의 비디오 스트림 각각의 최신 프레임 트레일러 패킷의 타깃 정보를 기록하기 시작한다. 전송 장치가 추후에 비디오 스트림 중 2개를 스위칭할 필요가 있을 때, 전송 장치는 2개의 비디오 스트림 중 2개의 기록된 최신 프레임 트레일러 패킷의 타깃 정보를 이용하여 단계 S130과 단계 S140을 수행하여 스위칭 참조 정보를 결정할 수 있다. 전술한 구현 M이 사용될 때, 전송 장치는 단계 S120 이전에 단계 S115를 수행하기 시작할 수 있다.
대안적으로, 전송 장치는 단계 S120 이후에 단계 S115를 수행하기 시작할 수 있다. 구체적으로, 스위칭 명령을 수신한 후, 전송 장치는 스위칭되어야 하는 2개의 비디오 스트림 각각의 최신 프레임 트레일러 패킷의 타깃 정보를 기록하기 시작하고, 2개의 비디오 스트림 각각의 최신 프레임 트레일러 패킷의 기록된 타깃 정보에 기초하여 단계 S130과 단계 S140을 더 수행하여 스위칭 패킷의 스위칭 참조 정보를 결정한다. 전술한 구현 N이 사용될 때, 전송 장치는 단계 S120 이후에 단계 S115를 수행하기 시작할 수 있다.
전송 장치가 단계 S120이전에 단계 S115를 수행하기 시작하면, 복수의 비디오 스트림 중 어느 하나에 대해, 비디오 스트림 내의 제1 프레임 트레일러 패킷을 수신할 때, 전송 장치는 프레임 트레일러 패킷의 타깃 정보를 비디오 스트림의 최신 프레임 트레일러 패킷의 타깃 정보로 기록하고, 비디오 스트림의 추후에 수신되는 데이터 패킷에 기초하여 비디오 스트림의 최신 프레임 트레일러 패킷의 타깃 정보를 갱신한다. 또한, 스위칭 명령을 수신한 후, 최신 프레임 트레일러 패킷의 타깃 정보(예를 들어, 시퀀스 번호)로서 스위칭 명령이 수신되기 전에 기록된 타깃 정보에 기초하여 스위칭 패킷의 스위칭 참조 정보(예를 들어, 시퀀스 번호)를 계산하기 위해, 전송 장치는 단계 S130과 단계 S140를 즉시 수행한다. 도 3a에 도시된 바와 같이, 전송 장치는 제1 비디오 스트림의 최신 프레임 트레일러 패킷(101)의 시퀀스 번호(20)로서 스위칭 명령이 수신되기 전에 기록된 시퀀스 번호(20)에 기초하여 제1 스위칭 시퀀스 번호를 계산하고, 제2 비디오 스트림의 최신 프레임 트레일러 패킷(201)의 시퀀스 번호(10)로서 스위칭 명령이 수신되기 전에 기록된 시퀀스 번호(10)에 기초하여 제2 스위칭 시퀀스 번호를 계산한다.
전송 장치가 단계 S120 이후에 단계 S115를 수행하기 시작하면, 제1 비디오 스트림과 제2 비디오 스트림 중 하나에 대해, 비디오 스트림 내의 제1 프레임 트레일러 패킷을 수신할 때, 전송 장치는 프레임 트레일러 패킷의 타깃 정보를 비디오 스트림의 최신 프레임 트레일러 패킷의 타깃 정보로 기록할 수 있다. 하나의 비디오 스트림의 다른 프레임 트레일러 패킷을 수신할 때, 전송 장치가 다른 비디오 스트림의 제1 프레임 트레일러 패킷을 수신하지 않으면, 전송 장치가 다른 비디오 스트림의 제1 프레임 트레일러 패킷을 수신하고 그에 따라 다른 비디오 스트림의 최신 프레임 트레일러 패킷의 타깃 정보를 기록할 때까지, 전송 장치는 비디오 스트림의 최신 프레임 트레일러 패킷의 타깃 정보를 갱신할 수 있다. 또한, 제1 비디오 스트림의 단일 비디오 프레임의 패킷의 개수와 제2 비디오 스트림의 단일 비디오 프레임의 패킷의 개수가 각각 인접한 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 계산되면, 스위칭 시퀀스 번호가 계산되기 전에 각각의 비디오 스트림의 적어도 2개의 프레임 트레일러 패킷이 수신된다. 프레임 트레일러 패킷이 수신될 때마다, 프레임 트레일러 패킷의 타깃 정보가 프레임 트레일러 패킷이 속한 비디오 스트림의 최신 프레임 트레일러 패킷의 타깃 정보로 기록된다. 또한, 수신된 2개의 인접한 프레임 트레일러 패킷 시퀀스 번호들 간의 차이가 패킷이 속한 비디오 스트림의 단일 비디오 프레임의 패킷의 개수로 사용될 수 있거나, 또는 수신된 2개의 인접한 프레임 트레일러 패킷의 타임스탬프들 간의 차이가 패킷이 속한 비디오 스트림의 단일 비디오 프레임의 지속시간으로 사용될 수 있다.
도 4a에 도시된 바와 같이, 제1 스위칭 시퀀스 번호는 제1 비디오 스트림의 최신 프레임 트레일러 패킷(107)의 시퀀스 번호(30)로서 스위칭 명령이 수신된 후 기록된 시퀀스 번호(30)에 기초하여 계산되고, 제2 스위칭 시퀀스 번호는 제2 비디오 스트림의 최신 프레임 트레일러 패킷(207)의 시퀀스 번호(20)로서 스위칭 명령이 수신된 후 기록된 시퀀스 번호(20)에 기초하여 계산된다.
전송 장치는 구체적으로, 다음의 방식으로 비디오 스트림 중 어느 하나의 최신 프레임 트레일러 패킷의 타깃 정보를 갱신할 수 있다.
전송 장치가 비디오 스트림의 프레임 트레일러 패킷을 수신할 때마다, 전송 장치는 비디오 스트림의 최신 프레임 트레일러 패킷의 시퀀스 번호를 프레임 트레일러 패킷의 시퀀스 번호로 갱신하고, 비디오 스트림의 최신 프레임 트레일러 패킷의 타임스탬프를 프레임 트레일러 패킷의 타임스탬프로 갱신할 수 있다.
갱신 중에, 전송 장치는 발생할 수 있는 인터-프레임 패킷 오정렬(disorder)과 프레임 트레일러 패킷 손실도 고려할 수 있다. 인터-프레임 패킷 오정렬이 일어나면, 구체적으로, 현재의 프레임의 비프레임 트레일러 패킷이 이전 프레임의 프레임 트레일러 패킷보다 먼저 도착하거나 또는 이전 프레임의 프레임 트레일러 패킷보다 먼저 전송 장치에 의해 처리되거나, 또는 프레임 트레일러 패킷 손실이 발생하면, 비디오 스트림의 최신 프레임 트레일러 패킷의 시퀀스 번호는 대안적으로, 시퀀스 번호가 수신되지 않은 프레임 트레일러 패킷의 시퀀스 번호보다 큰 비프레임 트레일러 패킷에 기초하여 추정되는 프레임 트레일러 패킷의 시퀀스 번호일 수 있다. 따라서, 전송 장치는 다음의 방식으로 갱신을 수행할 수 있다.
비디오 스트림의 수신된 데이터 패킷이 프레임 트레일러 패킷이 아니고 또한 데이터 패킷의 시퀀스 번호가 비디오 스트림의 최신 프레임 트레일러 패킷의 시퀀스 번호의 합과 비디오 스트림의 단일 비디오 프레임의 패킷의 개수(M)의 합보다 크다고 결정되면, 비디오 스트림의 최신 프레임 트레일러 패킷의 기록된 시퀀스 번호가 M만큼 증가한다. 타깃 정보가 타임스탬프를 더 포함하면, 그에 따라, 비디오 스트림의 최신 프레임 트레일러 패킷의 기록된 타임스탬프가 단일 비디오 프레임의 지속시간(T)만큼 증가한다. 비디오 스트림의 수신된 데이터 패킷이 프레임 트레일러 패킷이라고 결정되면, 갱신 연산이 직접 수행될 수 있다. 구체적으로, 비디오 스트림의 최신 프레임 트레일러 패킷의 시퀀스 번호가 데이터 패킷의 시퀀스 번호로 갱신되고, 비디오 스트림의 최신 프레임 트레일러 패킷의 타임스탬프가 데이터 패킷의 타임스탬프로 갱신되거나, 또는 데이터 패킷의 타임스탬프가 비디오 스트림의 최신 프레임 트레일러 패킷의 기록된 타임스탬프보다 큰지 여부가 추가로 판정될 수 있고, 데이터 패킷의 타임스탬프가 비디오 스트림의 최신 프레임 트레일러 패킷의 기록된 타임스탬프보다 클 때에만 갱신 연산이 수행된다.
이하, 단계 S115의 구체적인 구현에 대해 상세하게 설명한다.
전송 장치가 비디오 스트림 스위칭 테이블을 구축한다. 단계 S115가 단계 S120 이전에 수행되면, 스위칭 테이블이 복수의 비디오 스트림 각각의 레코드를 기록할 수 있다. 단계 S115가 단계 S120 이후에 수행되면, 표 1에 나타낸 바와 같이, 스위칭 테이블은 스위칭될 필요가 있는 2개의 비디오 스트림(즉, 제1 비디오 스트림과 제2 비디오 스트림)의 레코드만을 포함할 수 있다.
스위칭 테이블은 필드 FT_TS와 필드 FT_SN를 포함할 수 있고, 각각의 비디오 스트림에 대응하는 FT_TS의 값과 각각의 비디오 스트림에 대응하는 FT_SN의 값이 각각 타임스탬프와 비디오 스트림의 최신 프레임 트레일러 패킷의 시퀀스 번호이다.
비디오 스트림 스위칭 테이블은 Flow, Outport, State, FrameTime, 및 FramePackets 필드 중 어느 하나 또는 이들의 임의의 조합을 더 포함할 수 있다. Flow의 값이 대응하는 비디오 스트림을 식별하는 데 사용된다. 각각의 비디오 스트림에 대응하는 Outport의 값이 비디오 스트림에 대응하는 이그레스 포트의 포트 번호를 기록하는 데 사용된다. 즉, Outport의 값이 비디오 스트림이 포워딩되는 전송 장치의 포트를 나타낸다. 본 발명의 본 실시예에서, 동일한 이그레스 포트에 대응하는 비디오 스트림이 스위칭된다. 각각의 비디오 스트림에 대응하는 State의 값이 비디오 스트림의 현재 상태를 기록하는 데 사용된다. 여기서, SW_Forwarding은 비디오 스트림이 전송 장치에 의해 포워딩되는 비디오 스트림이라는 것을 나타내고, SW_Discard는 비디오 스트림이 대응하는 이그레스 포트를 통해 전송 장치에 의해 포워딩되지 않은 비디오 스트림이라는 것을 나타낸다. 각각의 비디오 스트림에 대응하는 FrameTime의 값이 비디오 스트림의 단일 비디오 프레임의 지속시간을 기록하는 데 사용된다. RTP가 비디오 스트림 전송에 사용되면, FrameTime의 단위가 RTP 헤더 내의 TS 필드의 단위와 동일하다. 각각의 비디오 스트림에 대응하는 FramePackets의 값이 비디오 스트림의 단일 비디오 프레임의 패킷의 개수를 기록하는 데 사용된다.
비디오 스트림 스위칭 테이블은 SW_SN를 더 포함할 수 있고, 각각의 비디오 스트림에 대응하는 SW_SN의 값이 비디오 스트림의 스위칭 시퀀스 번호를 기록하는 데 사용된다.
(표 1)
Figure pct00005
이하, 비디오 스트림 스위칭 테이블 내의 어떤 비디오 스트림도 비디오 스트림 A라고 한다.
비디오 스트림 A에 대해, 비디오 스트림 A의 어느 데이터 패킷(이하, 패킷 a라고 함)이 수신되면, 패킷 a가 프레임 트레일러 패킷인지 여부가 먼저 판정된다.
일례로 RTP 패킷이 사용된다. RFC 3550에 정의된 RTP 패킷 헤더의 포맷에 따르면, RTP 패킷 헤더 내의 M(Marker) 필드의 값이 RTP 패킷이 프레임 트레일러 패킷인지 여부를 나타내는 데 사용된다. M의 값이 1이면, RTP 패킷이 프레임 트레일러 패킷이라는 것을 나타내고. M의 값이 0이면, RTP 패킷이 프레임 트레일러 패킷이 아니라는 것을 나타낸다.
RTP 패킷 헤더 내의 시퀀스 번호(Sequence number, SN) 필드의 값이 RTP 스트림 내의 RTP 패킷의 시퀀스 번호를 나타내고, 동일한 RTP 스트림 내의 RTP 패킷의 시퀀스 번호가 1만큼 단조 증가한다. RTP 패킷 헤더는 타임스탬프(Timestamp, TS)를 더 포함한다. 멀티미디어 통신 시스템(예를 들어, TV 제작 및 방송 시스템의 비디오 소스 장치가 클럭 동기화를 유지하고, 동시에 송신되는 RTP 패킷의 타임스탬프 필드의 값들이 매우 가깝다. 따라서, 타임스탬프 필드의 값들이 서로 다른 비디오 스트림 내의 비디오 프레임들이 동일한 순간의 비디오 프레임인지 여부를 판정하는 데 사용될 수 있고, 스위칭 중에 서로 다른 비디오 스트림을 정렬시키는 데 사용됨으로써, 스위칭 중에 시간 차원의 동기화를 구현한다.
패킷 a가 프레임 트레일러 패킷이면서 제1 비디오 스트림의 프레임 트레일러 패킷 A라고 결정되면, 패킷 a의 TS 필드의 값과 SN 필드의 값이 제1 스위칭 테이블 내의 비디오 스트림 A에 대응하는 FT_TS 필드와 FT_SN 필드에 각각 기록된다.
패킷이 프레임 트레일러 패킷이지만 제1 비디오 스트림의 프레임 트레일러 패킷 A가 아니라고 결정되면, 패킷 a의 TS 필드의 값이 제1 스위칭 테이블 내의 비디오 스트림 A에 대응하는 FT_TS 필드의 값과 비교된다. 패킷의 TS 필드의 값이 제1 스위칭 테이블 내의 비디오 스트림 A에 대응하는 FT_TS 필드의 값보다 크면, 패킷 a가 최신 프레임 트레일러 패킷이다. 그러므로, 제1 스위칭 테이블 내의 비디오 스트림 A에 대응하는 FT_TS 필드의 값과 FT_SN 필드의 값이 패킷 a의 TS 필드의 값과 SN 필드의 값으로 갱신된다. 패킷 a 의 TS 필드의 값이 제1 스위칭 테이블 내의 비디오 스트림 A에 대응하는 FT_TS 필드의 값보다 작으면, 갱신이 수행되지 않는다.
패킷이 프레임 트레일러 패킷이 아니라고 결정되면, 인터-프레임 오정렬이 일어나는지 여부가 판정된다. 패킷이 네트워크에서 전송될 때 오정렬이 일어날 수 있다. 패킷이 통과하는 전송 장치의 프로세서가 수신된 패킷에 대해 멀티-스레드 동시 처리(multi-thread concurrent processing)를 수행하고, 처리 중에 패킷이 오정렬될 수도 있다. 그러므로, 프레임의 비프레임 트레일러 패킷이 이전 프레임의 프레임 트레일러 패킷 이전에 전송 장치에 도달할 수 있거나 또는 이전 프레임의 프레임 트레일러 패킷 이전에 처리될 수 있다. 프레임의 패킷이 이전 프레임의 프레임 트레일러 패킷 이전에 도달하거나 또는 이전 프레임의 프레임 트레일러 패킷 이전에 처리되면, 인터-프레임 패킷 오정렬이 일어난다는 것을 나타낸다.
패킷이 프레임 트레일러 패킷이 아니고 또한 패킷 a의 시퀀스 번호가 비디오 스트림의 최신 프레임 트레일러 패킷의 시퀀스 번호 A와 M의 합보다 크면, 즉 패킷 a가 이전 프레임의 프레임 트레일러 패킷 이전에 도달하면, 이전 프레임의 프레임 트레일러 패킷에서 오정렬이나 패킷 손실이 일어날 수 있다. 이 경우, FT_TS 필드의 값과 T의 합이 프레임 트레일러 패킷의 추정된 타임스탬프로 사용될 수 있고, FT_SN 필드와 M의 값의 합이 추정된 프레임 트레일러 패킷의 시퀀스 번호로 사용될 수 있다. 또한, FT_TS 필드의 값과 FT_SN 필드의 값이 추정된 타임스탬프와 추정된 시퀀스 번호로 갱신될 수 있다. 여기서, FT_TS 필드와 FT_SN 필드는 제1 스위칭 테이블 내의 비디오 스트림 A에 대응한다. 즉, FT_TS 필드의 값이 1만큼 증가하고, FT_SN 필드의 값이 M만큼 증가한다.
본 발명의 실시예 1에 따르면, 본 발명의 실시예 2는 전송 장치(200)를 제공한다. 도 5에 도시된 바와 같이, 전송 장치(200)는 처리 유닛(210)과 통신 유닛(220)을 포함한다.
통신 유닛(220)은 제1 비디오 스트림과 제2 비디오 스트림을 수신하고, 전송 장치의 타깃 이그레스 포트를 통해 제1 비디오 스트림을 송신하며, 스위칭 명령을 수신하도록 구성된다. 여기서, 스위칭 명령은 타깃 이그레스 포트를 통해 송신된 제1 비디오 스트림에서 제2 비디오 스트림으로 스위칭하도록 지시하는 데 사용된다.
처리 유닛(210)은 스위칭 명령에 기초하여 제1 비디오 스트림의 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 제2 비디오 스트림의 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보를 결정하고, 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 제1 비디오 스트림의 제1 스위칭 패킷의 스위칭 참조 정보를 결정하며, 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 제2 비디오 스트림의 제2 스위칭 패킷의 스위칭 참조 정보를 결정하도록 구성된다.
통신 유닛(220)은 추가적으로, 제1 스위칭 패킷의 스위칭 참조 정보와 제2 스위칭 패킷의 스위칭 참조 정보에 기초하여 타깃 이그레스 포트를 통해 송신된 제1 비디오 스트림에서 제2 비디오 스트림으로 스위칭하도록 구성된다.
본 발명의 실시예 2에서 설명된 기능 유닛은 실시예 1의 방법의 송신 장치에 의해 수행되는 동작을 구현하도록 구성될 수 있다. 구체적으로, 통신 유닛(220)은 다른 장치와 통신하도록, 예를 들어 제어 시그널링을 수신하거나, 또는 데이터 패킷을 수신하거나, 또는 데이터 패킷을 포워딩하거나, 또는 데이터 패킷을 포워딩할 때 데이터 패킷의 정보를 수정하도록 구성된다. 처리 유닛(210)은 스위치-인 스트림의 스위칭 시퀀스 번호와 스위치-아웃 스트림 등의 스위칭 시퀀스 번호를 결정하도록 구성된다.
처리 유닛(210)은 스위칭될 필요가 있는 비디오 스트림의 이그레스 포트(예를 들어, 전술한 타깃 이그레스 포트)에 개별적으로 대응하는 복수의 처리 서브유닛을 포함할 수 있다. 통신 유닛(220)은 스위칭될 필요가 있는 비디오 스트림의 이그레스 포트에 개별적으로 대응하는 복수의 송신 서브유닛을 포함할 수 있다. 각각의 이그레스 포트의 처리 서브유닛이 이그레스 포트의 스위치-인 스트림의 스위칭 패킷의 스위칭 참조 정보(예를 들어, 시퀀스 번호)와 이그레스 포트의 스위치-아웃 스트림의 스위칭 패킷의 스위칭 참조 정보를 결정한다. 각각의 이그레스 포트에 대응하는 송신 서브유닛이 이그레스 포트를 통해 포워딩될 필요가 있는 비디오 스트림의 데이터 패킷을 이그레스 포트를 통해 포워딩하고, 이그레스 포트를 통해 포워딩될 필요가 없는 비디오 스트림의 데이터 패킷을 직접 폐기한다.
본 발명의 실시예 2에서 제공되는 전송 장치(200)에 따르면, 비디오 스트림 스위칭 중에 스위칭 전후에 송신된 데이터 패킷의 위치를 고려하므로, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것이 효과적으로 감소될 수 있다.
본 발명의 실시예 1에 따르면, 본 발명의 실시예 3은 전송 장치(1000)를 제공한다. 도 6에 도시된 바와 같이, 전송 장치(1000)는 프로세서(1010)와 포트(1020)를 포함한다.
프로세서(1010)는 본 발명의 실시예 1에서 제공된 방법(100)의 송신 장치에 의해 수행되는 동작을 구현하도록 구성된다. 프로세서(1010)는 구체적으로 중앙 처리 장치(central processing unit, CPU) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)일 수 있거나, 또는 본 발명의 본 실시예를 구현하는 하나 이상의 집적 회로로서 구성될 수 있다.
도 6에 도시된 바와 같이, 전송 장치(1000)는 메모리(1030)를 더 포함할 수 있다. 버스를 이용하여 프로세서(1010)와 메모리(1030) 간의 통신이 완료될 수 있다. 메모리(1030)는 컴퓨터 연산 명령을 저장하도록 구성되고, 구체적으로 고속 랜덤 액세스 메모리(Random Access Memory, RAM) 또는 비휘발성 메모리(non-volatile memory)일 수 있다. 프로세서(1010)는 구체적으로, 메모리(1030)에 저장된 컴퓨터 연산 명령을 실행하고, 전송 장치(1000)가 실시예 1의 방법의 전송 장치에 의해 수행되는 동작을 수행할 수 있도록 컴퓨터 연산 명령을 수행할 수 있다. 구체적인 구현 중에, 메모리(1030)는 도 5에 도시된 처리 유닛(210)과 통신 유닛(220)의 기능을 각각 구현하도록 구성된 처리 모듈(1031)과 통신 모듈(1032)을 포함할 수 있다. 따라서, 프로세서(1010)는 구체적으로 처리 모듈(1031)에서 명령을 실행하여 처리 유닛(210)의 기능을 구현하고, 통신 모듈(1032)에서 명령을 실행하여 통신 유닛(220)의 기능을 구현한다.
본 발명의 실시예 3에서 제공되는 전송 장치(1000)에 따르면, 비디오 스트림 스위칭 중에 스위칭 전후에 전송되는 데이터 패킷의 위치를 고려하므로, 전송되는 비디오 이미지가 스위칭 작업으로 인해 손상되는 것이 효과적으로 감소될 수 있다.
전술한 실시예의 전부 또는 일부가 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합을 이용하여 구현될 수 있다. 이러한 실시예가 소프트웨어를 이용하여 구현될 때, 이러한 실시예는 컴퓨터 프로그램의 형태로 전체적으로 또는 부분적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령을 포함한다. 컴퓨터 프로그램 명령이 컴퓨터 상에 로딩되어 실행될 때, 본 발명의 실시예에 따른 절차 또는 기능이 전체적으로 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 또는 전용 컴퓨터, 또는 컴퓨터 네트워크, 또는 다른 프로그램 가능한 장치일 수 있다. 컴퓨터 명령은 컴퓨터 판독가능 저장 매체에 저장되거나, 또는 하나의 컴퓨터 판독가능 저장 매체에서 다른 컴퓨터 판독가능 저장 매체로 전송될 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터에 액세스할 수 있는 사용 가능한 매체일 수 있다. 사용 가능한 매체는 자기 매체(예를 들어, 플로피 디스크, 또는 하드 디스크, 또는 자기 테이프), 광학 매체(예를 들어, DVD), 또는 반도체 매체(예를 들어, 솔리드 스테이트 드라이브(Solid State Disk, SSD)) 등일 수 있다.

Claims (22)

  1. 비디오 스트림 스위칭을 수행하기 위한 방법으로서,
    전송 장치가 제1 비디오 스트림과 제2 비디오 스트림을 수신하는 단계;
    상기 전송 장치가 타깃 이그레스 포트(target egress port)를 통해 상기 제1 비디오 스트림을 송신하는 단계;
    상기 전송 장치가 스위칭 명령을 수신하는 단계 - 상기 스위칭 명령은 상기 타깃 이그레스 포트를 통해 송신된 상기 제1 비디오 스트림에서 상기 제2 비디오 스트림으로 스위칭하도록 지시하는 데 사용됨 -;
    상기 전송 장치가, 상기 스위칭 명령에 따라 상기 제1 비디오 스트림의 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 제2 비디오 스트림의 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보를 결정하는 단계;
    상기 전송 장치가 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제1 비디오 스트림의 제1 스위칭 패킷의 스위칭 참조 정보를 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제2 비디오 스트림의 제2 스위칭 패킷의 스위칭 참조 정보를 결정하는 단계; 및
    상기 전송 장치가, 상기 제1 스위칭 패킷의 스위칭 참조 정보와 상기 제2 스위칭 패킷의 스위칭 참조 정보에 기초하여, 상기 타깃 이그레스 포트를 통해 송신된 상기 제1 비디오 스트림에서 상기 제2 비디오 스트림으로 스위칭하는 단계
    를 포함하는 비디오 스트림 스위칭을 수행하기 위한 방법.
  2. 제1항에 있어서,
    상기 제1 참조 프레임 트레일러 패킷과 상기 제2 참조 프레임 트레일러 패킷은 각각, 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보가 결정되기 전에 수신되는, 상기 제1 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷과 상기 제2 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷이고, x는 자연수인, 비디오 스트림 스위칭을 수행하기 위한 방법.
  3. 제2항에 있어서,
    x의 값이 1이고;
    상기 제1 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 상기 제1 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 상기 다음 비디오 프레임의 후속 비디오 프레임이고, 상기 제2 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 상기 제2 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 상기 다음 비디오 프레임의 후속 비디오 프레임인, 비디오 스트림 스위칭을 수행하기 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제1 스위칭 패킷의 스위칭 참조 정보, 및 상기 제2 스위칭 패킷의 스위칭 참조 정보는 각각 시퀀스 번호를 포함하는, 비디오 스트림 스위칭을 수행하기 위한 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제1 스위칭 패킷의 스위칭 참조 정보, 및 상기 제2 스위칭 패킷의 스위칭 참조 정보는 각각 타임스탬프를 포함하는, 비디오 스트림 스위칭을 수행하기 위한 방법.
  6. 제4항에 있어서,
    상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 상기 제1 비디오 스트림의 제1 스위칭 패킷의 시퀀스 번호를 결정하는 것은,
    상기 제1 비디오 스트림과 상기 제2 비디오 스트림 간의 동기화 관계와 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 상기 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷(alignment frame trailer packet)의 시퀀스 번호를 결정하고, 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호를 상기 제1 스위칭 패킷의 시퀀스 번호로 사용하거나; 또는 상기 제1 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터(blanking area data)를 캡슐화하는 데 사용되는 데이터 패킷의 시퀀스 번호를 상기 제1 스위칭 패킷의 시퀀스 번호로 결정하는 것
    을 포함하고;
    상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 상기 제2 비디오 스트림의 제2 스위칭 패킷의 시퀀스 번호를 결정하는 것은,
    상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 상기 동기화 관계에 기초하여 상기 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호를 결정하고, 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호를 상기 제2 스위칭 패킷의 시퀀스 번호로 사용하거나; 또는 상기 제2 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 시퀀스 번호를 상기 제2 스위칭 패킷의 시퀀스 번호로 결정하는 것 - 상기 제1 정렬 프레임 트레일러 패킷과 상기 제2 정렬 프레임 트레일러 패킷은 시간적으로 대응하는 프레임 트레일러 패킷임 -
    을 포함하는, 비디오 스트림 스위칭을 수행하기 위한 방법.
  7. 제6항에 있어서,
    상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 빠르다는 것이라고 결정되면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 m × M1의 합을 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 (m+1) × M2의 합을 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하거나 - 여기서, M1은 상기 제1 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이고, M2는 상기 제2 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이며, m은 자연수임 -; 또는
    상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 늦다는 것이라고 결정되면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 (n+1) × M1의 합을 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 n × M2의 합을 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하거나 - 여기서, M1은 상기 제1 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이고, M2는 상기 제2 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이며, n은 자연수임 -; 또는
    상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림과 동기화된다는 것이라고 결정되면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 k × M1의 합을 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 k × M2의 합을 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하며, M1은 상기 제1 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이고, M2는 상기 제2 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이며, k는 자연수인, 비디오 스트림 스위칭을 수행하기 위한 방법.
  8. 제6항 또는 제7항에 있어서,
    상기 전송 장치는 구체적으로, 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프와 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프에 기초하여 상기 제1 비디오 스트림과 상기 제2 비디오 스트림 간의 상기 동기화 관계를 결정하는, 비디오 스트림 스위칭을 수행하기 위한 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 타깃 이그레스 포트를 통해 상기 전송 장치에 의해 송신된 상기 제2 비디오 스트림의 데이터 패킷의 제1 필드의 값은 상기 타깃 이그레스 포트를 통해 상기 전송 장치에 의해 송신된 상기 제1 비디오 스트림의 데이터 패킷의 제1 필드의 값과 동일하고, 상기 제1 필드는 멀티캐스트 주소 필드 또는 페이로드 타입 필드인, 비디오 스트림 스위칭을 수행하기 위한 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 타깃 이그레스 포트를 통해 상기 전송 장치에 의해 송신된 상기 제2 비디오 스트림의 데이터 패킷의 제2 필드의 값은 상기 타깃 이그레스 포트를 통해 상기 전송 장치에 의해 송신된 상기 제1 비디오 스트림의 데이터 패킷의 제2 필드의 값과 연속적이고, 상기 제2 필드는 시퀀스 번호 필드, 또는 프레임 번호 필드, 또는 타임스탬프 필드인, 비디오 스트림 스위칭을 수행하기 위한 방법.
  11. 전송 장치로서,
    상기 전송 장치는 처리 유닛과 통신 유닛을 포함하고,
    상기 통신 유닛은 제1 비디오 스트림과 제2 비디오 스트림을 수신하고, 상기 전송 장치의 타깃 이그레스 포트(target egress port)를 통해 상기 제1 비디오 스트림을 송신하며, 상기 타깃 이그레스 포트를 통해 송신된 상기 제1 비디오 스트림에서 상기 제2 비디오 스트림으로 스위칭하도록 지시하는 데 사용되는 스위칭 명령을 수신하도록 구성되고;
    상기 처리 유닛은 상기 스위칭 명령에 따라 상기 제1 비디오 스트림의 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 제2 비디오 스트림의 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보를 결정하고, 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제1 비디오 스트림의 제1 스위칭 패킷의 스위칭 참조 정보를 결정하며, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보에 기초하여 상기 제2 비디오 스트림의 제2 스위칭 패킷의 스위칭 참조 정보를 결정하도록 구성되며;
    상기 통신 유닛은 추가적으로, 상기 제1 스위칭 패킷의 스위칭 참조 정보와 상기 제2 스위칭 패킷의 스위칭 참조 정보에 기초하여, 상기 타깃 이그레스 포트를 통해 송신된 상기 제1 비디오 스트림에서 상기 제2 비디오 스트림으로 스위칭하도록 구성된, 전송 장치.
  12. 제11항에 있어서,
    상기 제1 참조 프레임 트레일러 패킷과 상기 제2 참조 프레임 트레일러 패킷은 각각, 상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보와 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보가 결정되기 전에 수신되는, 상기 제1 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷과 상기 제2 비디오 스트림의 뒤에서 x번째 프레임 트레일러 패킷이고, x는 자연수인, 전송 장치.
  13. 제12항에 있어서,
    x의 값이 1이고;
    상기 제1 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 상기 제1 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 상기 다음 비디오 프레임의 후속 비디오 프레임이고, 상기 제2 스위칭 패킷의 비디오 데이터가 속한 비디오 프레임이 상기 제2 참조 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임 또는 상기 다음 비디오 프레임의 후속 비디오 프레임인, 전송 장치.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서,
    상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제1 스위칭 패킷의 스위칭 참조 정보, 및 상기 제2 스위칭 패킷의 스위칭 참조 정보는 각각 시퀀스 번호를 포함하는, 전송 장치.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 제1 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제2 참조 프레임 트레일러 패킷의 스위칭 참조 정보, 상기 제1 스위칭 패킷의 스위칭 참조 정보, 및 상기 제2 스위칭 패킷의 스위칭 참조 정보는 각각 타임스탬프를 포함하는, 전송 장치.
  16. 제14항에 있어서,
    상기 처리 유닛이 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 상기 제1 비디오 스트림의 제1 스위칭 패킷의 시퀀스 번호를 결정하도록 구성된다는 것은,
    상기 제1 비디오 스트림과 상기 제2 비디오 스트림 간의 동기화 관계와 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 상기 제1 비디오 스트림의 제1 정렬 프레임 트레일러 패킷(alignment frame trailer packet)의 시퀀스 번호를 결정하고, 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호를 상기 제1 스위칭 패킷의 시퀀스 번호로 사용하거나; 또는 상기 제1 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터(blanking area data)를 캡슐화하는 데 사용되는 데이터 패킷의 시퀀스 번호를 상기 제1 스위칭 패킷의 시퀀스 번호로 결정하는 것
    을 포함하고,
    상기 처리 유닛이 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호에 기초하여 상기 제2 비디오 스트림의 제2 스위칭 패킷의 시퀀스 번호를 결정하도록 구성된다는 것은,
    상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 상기 동기화 관계에 기초하여 상기 제2 비디오 스트림의 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호를 결정하고, 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호를 상기 제2 스위칭 패킷의 시퀀스 번호로 사용하거나; 또는 상기 제2 정렬 프레임 트레일러 패킷의 비디오 데이터가 속한 비디오 프레임의 다음 비디오 프레임의 블랭킹 영역 데이터를 캡슐화하는 데 사용되는 데이터 패킷의 시퀀스 번호를 상기 제2 스위칭 패킷의 시퀀스 번호로 결정하는 것 - 상기 제1 정렬 프레임 트레일러 패킷과 상기 제2 정렬 프레임 트레일러 패킷은 시간적으로 대응하는 프레임 트레일러 패킷임 -
    을 포함하는, 전송 장치.
  17. 제16항에 있어서,
    상기 처리 유닛은 구체적으로,
    상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 빠르다는 것이라고 결정하면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 m × M1의 합을 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 (m+1) × M2의 합을 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하거나 - 여기서, M1은 상기 제1 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이고, M2는 상기 제2 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이며, m은 자연수임 -; 또는
    상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림보다 늦다는 것이라고 결정하면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 (n+1) × M1의 합을 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 n × M2의 합을 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하며 - 여기서, M1은 상기 제1 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이고, M2는 상기 제2 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이며, n은 자연수임 -; 또는
    상기 동기화 관계가 상기 제1 비디오 스트림이 상기 제2 비디오 스트림과 동기화된다는 것이라고 결정하면, 상기 제1 참조 프레임 트레일러 패킷의 시퀀스 번호와 k × M1을 상기 제1 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하고, 상기 제2 참조 프레임 트레일러 패킷의 시퀀스 번호와 k × M2의 합을 상기 제2 정렬 프레임 트레일러 패킷의 시퀀스 번호로 결정하도록 구성되고, M1은 상기 제1 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이고, M2는 상기 제2 비디오 스트림의 비디오 프레임을 캡슐화하는 데 필요한 데이터 패킷의 개수이며, k는 자연수인, 전송 장치.
  18. 제16항 또는 제17항에 있어서,
    상기 처리 유닛은 구체적으로, 상기 제1 참조 프레임 트레일러 패킷의 타임스탬프와 상기 제2 참조 프레임 트레일러 패킷의 타임스탬프에 기초하여 상기 제1 비디오 스트림과 상기 제2 비디오 스트림 간의 상기 동기화 관계를 결정하도록 구성된, 전송 장치.
  19. 제11항 내지 제18항 중 어느 한 항에 있어서,
    상기 타깃 이그레스 포트를 통해 상기 통신 유닛에 의해 송신된 상기 제2 비디오 스트림의 데이터 패킷의 제1 필드의 값은 상기 타깃 이그레스 포트를 통해 상기 통신 유닛에 의해 송신된 상기 제1 비디오 스트림의 데이터 패킷의 제1 필드의 값과 동일하고, 상기 제1 필드는 멀티캐스트 주소 필드 또는 페이로드 타입 필드인, 전송 장치.
  20. 제11항 내지 제19항 중 어느 한 항에 있어서,
    상기 타깃 이그레스 포트를 통해 상기 통신 유닛에 의해 송신된 상기 제2 비디오 스트림의 데이터 패킷의 제2 필드의 값은 상기 타깃 이그레스 포트를 통해 상기 통신 유닛에 의해 송신된 상기 제1 비디오 스트림의 데이터 패킷의 제2 필드의 값과 연속적이고, 상기 제2 필드는 시퀀스 번호 필드, 또는 프레임 번호 필드, 또는 타임스탬프 필드인, 전송 장치.
  21. 비디오 스트림 스위칭을 수행하기 위한 시스템으로서,
    상기 비디오 스트림 스위칭을 수행하기 위한 시스템은 컨트롤러와 제11항 내지 제20항 중 어느 한 항의 전송 장치를 포함하고,
    상기 컨트롤러는 상기 전송 장치에 스위칭 명령을 송신하도록 구성된, 비디오 스트림 스위칭을 수행하기 위한 시스템.
  22. 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 저장 매체는 명령을 포함하고, 상기 명령은 컴퓨터 상에서 실행될 때 상기 컴퓨터로 하여금 제1항 내지 제10항 중 어느 한 항의 비디오 스트림 스위칭을 수행하기 위한 방법을 수행할 수 있게 하는, 컴퓨터 판독가능 저장 매체.
KR1020217006921A 2018-08-22 2019-08-18 비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템 KR20210041052A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237010789A KR102671249B1 (ko) 2018-08-22 2019-08-18 비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810962907.4 2018-08-22
CN201810962907.4A CN110858925B (zh) 2018-08-22 2018-08-22 一种实现视频流切换的方法、设备、系统和存储介质
PCT/CN2019/101241 WO2020038309A1 (zh) 2018-08-22 2019-08-18 一种实现视频流切换的方法、装置和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237010789A Division KR102671249B1 (ko) 2018-08-22 2019-08-18 비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템

Publications (1)

Publication Number Publication Date
KR20210041052A true KR20210041052A (ko) 2021-04-14

Family

ID=69592280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217006921A KR20210041052A (ko) 2018-08-22 2019-08-18 비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템

Country Status (6)

Country Link
US (1) US11483495B2 (ko)
EP (1) EP3836552A4 (ko)
JP (1) JP7224439B2 (ko)
KR (1) KR20210041052A (ko)
CN (2) CN110858925B (ko)
WO (1) WO2020038309A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338456B (zh) * 2020-09-25 2024-03-22 浙江宇视科技有限公司 图像采集设备状态确定方法、装置、电子设备及介质
CN113794942B (zh) * 2021-09-09 2022-12-02 北京字节跳动网络技术有限公司 自由视角视频的视角切换方法、装置、系统、设备和介质
CN115314643B (zh) * 2022-07-28 2023-12-15 中央广播电视总台 一种实现净切换的方法、系统、设备及存储介质

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4474310B2 (ja) * 2005-03-24 2010-06-02 パナソニック株式会社 デバイス切替システム、送信元および配信先デバイス
CN1331359C (zh) 2005-06-28 2007-08-08 清华大学 交互式多视点视频系统中视频流的传输方法
CA2650869A1 (en) * 2006-05-02 2007-11-15 Kazunori Nakamura Video signal switching system
US20080021971A1 (en) * 2006-07-21 2008-01-24 Halgas Joseph F System and Method for Electronic Messaging Notification Using End-User Display Devices
CN100559877C (zh) 2007-04-27 2009-11-11 北京大学 一种支持多视点视频合成的网络流媒体播放器及方法
JP2009100411A (ja) * 2007-10-19 2009-05-07 Hitachi Ltd 映像配信システム、映像中継装置、及び映像中継方法
CN101316357B (zh) * 2008-06-30 2011-09-14 华为技术有限公司 一种频道切换的方法和终端
WO2010017656A1 (en) 2008-08-12 2010-02-18 Telefonaktiebolaget L M Ericsson (Publ) Fast content switching in a communication system
CN101753973B (zh) 2008-12-12 2013-01-02 华为技术有限公司 一种频道切换方法、装置和系统
US20100225811A1 (en) * 2009-03-05 2010-09-09 Nokia Corporation Synchronization of Content from Multiple Content Sources
JP5428734B2 (ja) * 2009-10-14 2014-02-26 ソニー株式会社 ネットワーク機器、情報処理装置、ストリーム切替方法、情報処理方法、プログラムおよびコンテンツ配信システム
CN101917390B (zh) 2009-12-17 2013-03-06 新奥特(北京)视频技术有限公司 一种多功能网络播放器
EP2343845A3 (en) * 2009-12-31 2011-10-19 Thomson Licensing Precise compensation of video propagation duration
CN101854533B (zh) * 2010-06-10 2012-05-23 华为技术有限公司 频道切换方法、装置及系统
EP2448265A1 (en) 2010-10-26 2012-05-02 Google, Inc. Lip synchronization in a video conference
DE102011078021A1 (de) 2011-06-22 2012-12-27 Institut für Rundfunktechnik GmbH Vorrichtung und Verfahren zum Schalten von Echtzeitmedienströmen
US20130301830A1 (en) 2012-05-08 2013-11-14 Hagai Bar-El Device, system, and method of secure entry and handling of passwords
TW201349848A (zh) * 2012-05-22 2013-12-01 Chunghwa Telecom Co Ltd 多視角互動電視之影音串流方法
US9860458B2 (en) * 2013-06-19 2018-01-02 Electronics And Telecommunications Research Institute Method, apparatus, and system for switching transport stream
GB2516316A (en) * 2013-07-19 2015-01-21 Sony Corp Video network
MX2017006581A (es) * 2014-11-28 2017-09-01 Sony Corp Dispositivo de transmision, metodo de transmision, dispositivo de recepcion, y metodo de recepcion.
EP3280150A4 (en) 2015-03-31 2018-02-07 Panasonic Intellectual Property Corporation of America Transmission method, reception method, transmission device and reception device
US10038651B2 (en) * 2015-09-05 2018-07-31 Nevion Europe As Asynchronous switching system and method
EP3185564A1 (en) * 2015-12-22 2017-06-28 Harmonic Inc. Video stream splicing of groups of pictures (gop)
CN106937155B (zh) * 2015-12-29 2020-06-02 北京华为数字技术有限公司 接入设备、因特网协议电视iptv系统和频道切换方法
CN105554532A (zh) * 2016-02-15 2016-05-04 北京中传数广技术有限公司 一种直播电视精准广告、信息投放的方法及系统
CN106162235B (zh) 2016-08-17 2018-06-01 北京百度网讯科技有限公司 用于切换视频流的方法和装置
CN107770538B (zh) 2016-08-23 2020-09-11 华为技术有限公司 一种检测场景切换帧的方法、装置和系统
US10412441B2 (en) * 2016-12-06 2019-09-10 Rgb Spectrum Systems, methods, and devices for high-bandwidth digital content synchronization
CN107086963B (zh) * 2017-03-10 2018-10-09 中国传媒大学 一种基于sdn的目的端精准视频切换方法
CN107135169B (zh) * 2017-04-25 2018-08-28 中国传媒大学 一种基于sdn交换机的视频净切换方法
CN107018379B (zh) 2017-04-25 2019-07-23 北京东土科技股份有限公司 一种视频流的传输方法和装置
CN107888909B (zh) * 2017-11-29 2019-01-18 中国传媒大学 一种ip视频净切换系统的测量方法
CN110891182B (zh) * 2018-09-11 2022-04-12 华为技术有限公司 一种实现视频流切换的方法、装置和系统
CN111629158B (zh) * 2019-02-28 2021-08-03 华为技术有限公司 一种音频流和视频流同步切换方法及装置

Also Published As

Publication number Publication date
US11483495B2 (en) 2022-10-25
WO2020038309A1 (zh) 2020-02-27
CN110858925A (zh) 2020-03-03
US20210176408A1 (en) 2021-06-10
JP7224439B2 (ja) 2023-02-17
EP3836552A4 (en) 2021-08-18
JP2021535658A (ja) 2021-12-16
EP3836552A1 (en) 2021-06-16
KR20230047512A (ko) 2023-04-07
CN110858925B (zh) 2021-10-15
CN114143606A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN110891182B (zh) 一种实现视频流切换的方法、装置和系统
US11483495B2 (en) Method, apparatus, and system for implementing video stream switching
US11184627B2 (en) Video transcoding system, method, apparatus, and storage medium
US11758209B2 (en) Video distribution synchronization
US20090293093A1 (en) Content server, information processing apparatus, network device, content distribution method, information processing method, and content distribution system
US11368634B2 (en) Audio stream and video stream synchronous switching method and apparatus
EP3241326B1 (en) Improved multicast to unicast conversion
JP2017533605A (ja) ルーターファブリック
US20060161676A1 (en) Apparatus for IP streaming capable of smoothing multimedia stream
KR102671249B1 (ko) 비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템
CN113645491A (zh) 一种多个直播播放端实现实时同步播放的方法
CN112272306B (zh) 一种多路实时交互视频融合传输方法
US20190191195A1 (en) A method for transmitting real time based digital video signals in networks
JP5367771B2 (ja) 映像伝送システム
Simpson et al. IP Video Technology Update 2013

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2023101000684; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20230329

Effective date: 20231016