KR20220124031A - 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법 - Google Patents

영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR20220124031A
KR20220124031A KR1020210027706A KR20210027706A KR20220124031A KR 20220124031 A KR20220124031 A KR 20220124031A KR 1020210027706 A KR1020210027706 A KR 1020210027706A KR 20210027706 A KR20210027706 A KR 20210027706A KR 20220124031 A KR20220124031 A KR 20220124031A
Authority
KR
South Korea
Prior art keywords
packets
frame
nack
frames
traffic
Prior art date
Application number
KR1020210027706A
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 KR1020210027706A priority Critical patent/KR20220124031A/ko
Priority to US17/501,470 priority patent/US11777860B2/en
Priority to CN202210090239.7A priority patent/CN115002385A/zh
Publication of KR20220124031A publication Critical patent/KR20220124031A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/06Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station
    • H04B7/0613Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission
    • H04B7/0615Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission of weighted versions of same signal
    • H04B7/0617Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission of weighted versions of same signal for beam forming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1864ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/6437Real-time Transport Protocol [RTP]
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64776Control signals issued by the network directed to the server or the client directed to the server for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

전자 장치가 개시된다. 본 개시에 따른 전자 장치는, 계층적 P(prediction) 코딩에 기반하여, 다른 프레임들의 디코딩에 종속적인 참조 프레임들 및 다른 프레임의 디코딩에 독립적인 비-참조 프레임들을 포함하는 복수의 프레임들을 생성하는 인코더, 상기 복수의 프레임들에 기반하여, 상기 참조 프레임들을 구성하는 제1 패킷들 및 상기 비-참조 프레임들을 구성하는 제2 패킷들을 생성하는 패킷 생성 회로, 상기 제1 패킷들 및 상기 제2 패킷들을 임시로 저장하는 NACK 버퍼, 상기 제1 패킷들 및 상기 제2 패킷들을 외부 장치에게 송신하는 송신 회로, 상기 외부 장치가 수신 실패한 재전송 대상 패킷들을 지시하는 NACK 요청을 수신하는 수신 회로 및 상기 NACK 요청에 상응하는 상기 재전송 대상 패킷들 중 적어도 일부 패킷들만 재전송할 것을 판단하는 NACK 핸들러를 포함할 수 있다.

Description

영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법{AN ELECTRONIC DEVICE FOR TRANSCEIVING VIDEO PACKET AND OPERATING METHOD THEREOF}
본 개시의 기술적 사상은 전자 장치 및 이의 동작 방법에 관한 것으로, 더욱 상세하게는 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법에 관한 것이다.
4G(4th generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G(5th generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(Beyond 4G Network) 통신 시스템 또는 LTE(Long Term Evolution) 시스템 이후(Post LTE) 시스템이라 불리어지고 있다.
5G 통신 시스템이 도입됨에 따라, RTT(round trip time) 시간이 200ms에서 5ms로 감소되는 개선이 이루어졌으며, 영상 통화(video call) 및 스트리밍(streaming)과 같은 실시간(real time) 특징이 중요한 서비스를 제공할 때, 제공된 최대 대역폭을 준수하면서도 패킷 손실에 강건한(robust) 영상 패킷을 전송하는 방법이 요구되고 있다.
본 개시의 기술적 사상이 해결하고자 하는 과제는, 계층적 P 코딩(Hierarchical-P coding)에 기반하여 영상 패킷을 송수신함으로써 계층적 P 코딩에 기반하여 비-참조 프레임을 생성하여, 최대 대역폭 제한으로 인해 패킷 재전송을 수행하지 못함으로써 발생하는 영상 재생의 오류를 해결하는 데에 있다.
본 개시에 따른 전자 장치는, 계층적 P(prediction) 코딩에 기반하여, 다른 프레임들의 디코딩에 종속적인 참조 프레임들 및 다른 프레임의 디코딩에 독립적인 비-참조 프레임들을 포함하는 복수의 프레임들을 생성하는 인코더, 상기 복수의 프레임들에 기반하여, 상기 참조 프레임들을 구성하는 제1 패킷들 및 상기 비-참조 프레임들을 구성하는 제2 패킷들을 생성하는 패킷 생성 회로, 상기 제1 패킷들 및 상기 제2 패킷들을 임시로 저장하는 NACK 버퍼, 상기 제1 패킷들 및 상기 제2 패킷들을 외부 장치에게 송신하는 송신 회로, 상기 외부 장치가 수신 실패한 재전송 대상 패킷들을 지시하는 NACK 요청을 수신하는 수신 회로 및 상기 NACK 요청에 상응하는 상기 재전송 대상 패킷들 중 적어도 일부 패킷들만 재전송할 것을 판단하는 NACK 핸들러를 포함할 수 있다.
본 개시에 따른 전자 장치는, 계층적 P(prediction) 코딩에 기반하여, 다른 프레임들의 디코딩에 종속적인 참조 프레임들 및 다른 프레임의 디코딩에 독립적인 비-참조 프레임들을 포함하는 복수의 프레임들을 생성하는 인코더, 송신 트래픽과 프레임 종류에 기반하여 상기 복수의 프레임들 중 일부 프레임에 대한 프레임 드랍(drop) 여부를 판단하는 패킷화 결정 회로, 상기 복수의 프레임들 중 상기 참조 프레임들을 패킷화하여 제1 패킷들을 생성하고, 상기 비-참조 프레임들을 패킷화하여 제2 패킷들을 생성하는 패킷 생성 회로, 상기 제1 패킷들 및 상기 제2 패킷들을 외부 장치에게 송신하는 송신 회로, 및 상기 외부 장치에게 송신된 상기 제1 패킷들 및 상기 제2 패킷들의 크기에 기반한 송신 트래픽이 최대 트래픽을 초과하는지 모니터링하는 트래픽 레코더를 포함할 수 있다.
본 개시에 따른 전자 장치는, 계층적 P(prediction) 코딩에 기반하여, 제1 프레임, 제2 프레임 및 제3 프레임을 순차적으로 생성하는 인코더, 상기 제1 프레임, 상기 제2 프레임, 상기 제3 프레임 각각에 대한 패킷화 여부를 결정하는 패킷화 결정 회로, 상기 제1 프레임에 상응하는 제1 패킷들, 상기 제2 프레임에 상응하는 제2 패킷들, 및 상기 제3 프레임에 상응하는 제3 패킷들을 생성하는 패킷 생성 회로, 상기 제1 패킷들 내지 상기 제3 패킷들을 임시로 저장하는 NACK 버퍼, 상기 제1 패킷들 내지 상기 제3 패킷들을 외부 장치에게 송신하는 송신 회로, 실시간 송신 트래픽을 모니터링하고, 최대 트래픽을 초과하는지 여부를 판단하는 트래픽 레코더, 상기 외부 장치가 수신 실패한 재전송 대상 패킷들을 지시하는 NACK 요청을 수신하는 수신 회로 및 상기 NACK 요청에 상응하는 상기 재전송 대상 패킷들 중 적어도 일부 패킷들만 재전송할 것을 판단하는 NACK 핸들러를 포함하고, 상기 제2 프레임은, 다른 프레임들의 디코딩에 독립적인 비-참조 프레임이고, 상기 제1 프레임 및 상기 제3 프레임은, 다른 프레임들의 디코딩에 참조되는 참조 프레임일 수 있다.
본 개시의 기술적 사상에 따른 전자 장치 및 이의 동작 방법은, 계층적 P 코딩에 기반하여 비-참조 프레임을 생성하고, 최대 트래픽을 초과하는 경우, 비-참조 프레임을 드랍함으로써 최대 트래픽을 초과하지 않으면서 심리스(seamless)한 영상 서비스를 제공할 수 있다.
본 개시의 기술적 사상에 따른 전자 장치 및 이의 동작 방법은, 외부 장치로부터 수신한 NACK 요청에 응답하여 비-참조 프레임을 제외한 나머지 프레임들을 패킷 재전송을 수행함으로써 최대 트래픽을 초과하지 않으면서 심리스한 영상 서비스를 제공할 수 있다.
본 개시의 기술적 사상에 따른 전자 장치 및 이의 동작 방법은, 외부 장치에게 전송하는 영상 데이터 량이 최대 트래픽을 초과하는 경우, 비-참조 프레임의 패킷화를 바이패스함으로써 최대 트래픽을 초과하지 않는 범위 내에서 영상 서비스를 제공할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 예시적 실시예들에 따른 전자 장치의 블록도이다.
도 2a는 본 개시의 예시적 실시예들에 따른 무선 송신 회로의 블록도이다.
도 2b는 본 개시의 예시적 실시예들에 따른 무선 수신 회로의 블록도이다.
도 3a는 IPPP 코딩에 기반한 프레임들의 예를 도시한다.
도 3b는 본 개시의 예시적 실시예들에 따른 계층적 P 코딩에 기반한 프레임들의 예를 도시한다.
도 4는 본 개시의 예시적 실시예들에 따른 전자 장치의 동작 방법을 도시한다.
도 5는 본 개시의 예시적 실시예들에 따른 프레임 드랍을 결정하는 전자 장치의 동작 방법을 도시한다.
도 6은 본 개시의 예시적 실시예들에 따른 재전송 요청의 수신 시, 전자 장치의 동작 방법을 도시한다.
도 7은 본 개시의 예시적 실시예에 따른 트래픽 변경 요청의 수신 시, 전자 장치의 동작 방법을 도시한다.
도 8는 본 개시의 예시적 실시예들에 따른 전자 장치가 동작하는 논리 흐름을 도시한다.
도 9는 본 개시의 예시적 실시예들에 따른 신호 교환도이다.
도 10은 본 개시의 예시적 실시예들에 따른 재생 오류 없는 영상의 확률을 도시하는 그래프이다.
도 1은 본 개시의 예시적 실시예들에 따른 전자 장치의 블록도이다.
도 1 참고하면, 전자 장치(10)는 입력 인터페이스(110), 제어 회로(120), 패킷 송신 회로(130), 패킷 수신 회로(140) 및 출력 인터페이스(150)를 포함할 수 있다.
다양한 실시예들에 따라, 전자 장치(10)는 영상 패킷을 송신하는 단말(User Equipment, UE)로 구현될 수 있다. 예를 들어, 전자 장치(10)는 외부 장치(미도시)와 영상 통화를 수행할 수 있다. 상기 외부 장치(미도시)는 수신 UE로 지칭될 수 있다. 다른 예를 들어, 전자 장치(10)는 스트리밍 서비스를 제공하는 사업자의 서버 장치에 상응할 수도 있다.
다양한 실시예들에 따라, 입력 인터페이스(110)는 송신 영상을 수신하기 위한 인터페이스 장치들을 포함할 수 있다. 예를 들어, 전자 장치(10)가 송신 UE로 동작하고, 상기 수신 UE와 영상 통화를 수행하는 경우, 입력 인터페이스(110)는 송신 UE의 카메라(미도시)에 상응할 수 있다. 전자 장치(10)는 상기 카메라(미도시)를 통해 전자 장치(10)의 외부 이미지 및/또는 영상을 수신하고, 패킷화(packetization)함으로써 상기 수신 UE에게 전송할 수 있다.
다양한 실시예들에 따라, 제어 회로(120)는 전자 장치(10)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 제어 회로(120)는 영상 통화 어플리케이션을 실행하고, 무선 송신 회로(137)를 통해 영상 패킷을 송신하도록 전자 장치(10)를 제어할 수 있다. 예를 들어, 제어 회로(120)는 실시간 스트리밍을 위한 어플리케이션을 실행하고, 무선 수신 회로(141)를 통해 스트리밍 사업자의 서버 장치(미도시)로부터 송신되는 영상 패킷을 수신하도록 전자 장치(10)를 제어할 수 있다. 제어 회로(120)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다.
다양한 실시예들에 따라, 패킷 송신 회로(130)는, 송신하고자 하는 영상을 인코딩하고, 외부 장치(미도시)에게 송신할 수 있다. 패킷 송신 회로(130)는 인코더(131), 트래픽 레코더(132), 패킷 생성 회로(133), 무선 송신 회로(137) 및 NACK 버퍼(136)를 포함할 수 있다.
인코더(131)는 이미지 데이터에 대한 부호화를 수행할 수 있다. 예를 들어, 인코더(131)는 프레임 이미지에 대한 부호화를 수행할 수 있다. 일 실시예에 따라, 인코더(131)는 제어 신호에 따라 인코딩 모드를 변경할 수 있다. 제어 회로(120)는 실행되는 어플리케이션에 따라 상이한 제어 신호를 인코더(131)에게 전송할 수 있다. 예를 들어, 제어 회로(120)는 카메라 어플리케이션 상에서 슬로우 모션(slow motion) 기능을 활성화하거나, 타임 랩스(time lapse) 기능을 활성화하거나, 또는 심리스한 영상 제공이 중요한 영상 통화 어플리케이션이 실행되는 경우, 인코더(131)에게 계층적 P 코딩을 지시하는 제어 신호를 송신할 수 있다. 인코더(131)는 상기 제어 신호를 수신한 시점부터 프레임 이미지에 대한 계층적 P 코딩을 수행할 수 있다. 계층적 P 코딩에 대한 설명은 후술하기로 한다.
트래픽 레코더(132)는 실시간(real time)으로 송신 트래픽을 측정하고, 이를 모니터링할 수 있다. 예를 들어, 트래픽 레코더(132)는 패킷 생성 회로(133)에서 생성된 영상 패킷이 송신될 때마다, 송신되는 영상 패킷의 크기 정보를 수신하고, 이를 기록할 수 있다. 트래픽 레코더(132)는 패킷 생성 회로(133)로부터 실시간 트래픽 정보의 요청을 수신하는 경우, 상기 요청이 수신된 시점에 실시간 트래픽 정보를 응답할 수도 있다. 다른 예로, 트래픽 레코더(132)는 패킷 생성 회로(133)로부터 실시간 트래픽 정보의 요청에 응답하여, 상기 요청이 수신된 시점에 실시간 트래픽 양이 최대 트래픽을 초과하는지 여부만 응답할 수도 있다.
패킷 생성 회로(133)는 인코더(131)로부터 부호화된 프레임을 수신하고, 수신된 프레임을 영상 패킷으로 생성할 수 있다. 다양한 실시예들에 따라, 패킷 생성 회로(133)는 수신된 모든 프레임을 영상 패킷으로 생성하지 않고, 미리 정의된 조건에 기반하여 영상 패킷을 생성할 수도 있고, 수신된 프레임을 드랍할 수도 있다. 패킷 생성 회로(133)에 포함되는 패킷화 결정 회로(134)는 수신된 프레임의 종류 및 최대 트래픽을 초과하는지 여부에 기반하여 프레임 드랍을 결정할 수 있다. 프레임 드랍에 관한 구체적인 설명은 후술하기로 한다.
NACK 버퍼(136)는 외부 장치(미도시)에게 전송되는 영상 패킷들을 임시로 저장할 수 있다. 패킷 생성 회로(133)는 수신된 프레임에 기반하여 영상 패킷을 생성하고, 생성된 영상 패킷을 NACK 버퍼(136)에 임시로 저장할 수 있다. 생성된 영상 패킷을 NACK 버퍼(136)에 임시로 저장하는 것은 NACK 요청이 수신된 경우, 외부 장치(미도시)에게 전송 실패한 영상 패킷을 다시 전송하기 위함이다.
다양한 실시예들에 따라, 패킷 수신 회로(140)는, 외부 장치(미도시)로부터 수신되는 적어도 하나 이상의 요청을 처리할 수 있다. 예를 들어, 적어도 하나 이상의 요청은, NACK 요청일 수도 있고, 트래픽 변경 요청일 수도 있고, 외부 장치(미도시)로부터 수신된 영상 패킷일 수도 있다. 패킷 수신 회로(140)는 수신되는 영상 패킷을 디코딩하여 이미지로 출력하거나, NACK 요청을 수신함에 응답하여 재전송을 수행하거나, 또는 최대 트래픽 값을 변경할 수 있다. 패킷 수신 회로(140)는 무선 수신 회로(141), 트래픽 핸들러(142), NACK 핸들러(143) 및 디코더(144)를 포함할 수 있다.
NACK 핸들러(143)는 NACK 요청이 수신되는 경우, 재전송을 수행할 지 여부를 판단할 수 있다. NACK 핸들러(143)는 NACK 요청을 디코딩하여 전송 실패한 패킷들의 시퀀스 넘버를 식별하고, 식별된 시퀀스 넘버의 패킷들을 NACK 버퍼(136)에게 쿼리할 수 있다. NACK 핸들러(143)는 NACK 버퍼(136)로부터 수신된 패킷들에 기반하여 NACK 요청을 무시할 수도 있고, 외부 장치(미도시)에게 다시 전송할 수도 있다. NACK 핸들러(143)에 관한 구체적인 설명은 후술하기로 한다.
트래픽 핸들러(142)는 트래픽 변경 요청이 수신되는 경우, 트래픽 레코더(132) 및 인코더(131)의 설정 값을 제어할 수 있다. 예를 들어, 최대 트래픽 값이 상향된 경우, 트래픽 핸들러(142)는 트래픽 레코더(132)에게 상향된 최대 트래픽 값을 반영하도록 제어 신호를 전송할 수 있다. 트래픽 핸들러(142)는 상향된 최대 트래픽 값에 정합(corresponding)하도록 인코더(131)의 비트레이트 값을 변경할 수 있다. 트래픽 핸들러(142)에 관한 구체적인 설명은 후술하기로 한다.
디코더(144)는 수신된 영상 패킷에 대한 복호화를 수행하여 프레임 이미지를 획득할 수 있다. 일 실시예에 따라, 디코더(144)는 제어 신호에 따라 디코딩 모드를 변경할 수 있다. 영상 패킷을 송신한 인코더(131)의 동작 모드에 정합하도록 디코딩 모드를 변경할 수 있다. 예를 들어, 계층적 P 코딩에 기반하여 인코딩된 영상 패킷이 수신되는 경우, 제어 회로(120)는 계층적 P 코딩을 지시하는 제어 신호를 디코더(144)에게 송신할 수 있다.
전술한 실시예에 따르면, 전자 장치(10)는 무선 송신 회로(137) 및 무선 수신 회로(141)를 통해 영상 패킷을 송수신하는 것으로 도시되었으나, 이에 제한되는 것은 아니다. 다양한 실시예들에 따라, 전자 장치(10)는 유선 인터페이스(예를 들어, 이더넷(ethernet))를 통한 네트워크에서도 동일하게 적용될 수 있다.
하나 이상의 실시예에서, 기술된 기능은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 실행될 수 있다. 소프트웨어 실행되면, 기능은 하나 이상의 명령어 또는 코드로 컴퓨터-판독 가능한 매체 상에 저장 또는 전송될 수 있다. 컴퓨터 판독-가능 매체는 컴퓨터 저장 매체 및 한 곳에서 다른 곳으로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 모두를 포함할 수 있다.
도 2a는 본 개시의 예시적 실시예들에 따른 무선 송신 회로의 블록도이다.
도 2a를 참고하면, 무선 송신 회로(137)는 부호화 및 변조부(210), 디지털 빔포밍부(220), 제1 송신 경로(230-1) 내지 제N 송신 경로(230-N), 아날로그 빔포밍부(240)를 포함할 수 있다.
부호화 및 변조부(210)는 채널 인코딩을 수행할 수 있다. 채널 인코딩을 위해, LDPC(low density parity check) 코드, 컨볼루션(convolution) 코드, 폴라(polar) 코드 중 적어도 하나가 사용될 수 있다. 부호화 및 변조부(210)는 성상도 맵핑(constellation mapping)을 수행함으로써 변조 심벌들을 생성할 수 있다.
디지털 빔포밍부(220)은 디지털 신호(예: 변조 심벌들)에 대한 빔포밍을 수행할 수 있다. 이를 위해, 디지털 빔포밍부(220)은 변조 심벌들에 빔포밍 가중치들을 곱한다. 여기서, 빔포밍 가중치들은 신호의 크기 및 위상을 변경하기 위해 사용되며, '프리코딩 행렬(precoding matrix)', '프리코더(precoder)' 등으로 지칭될 수 있다. 디지털 빔포밍부(220)는 제1 송신 경로(230-1) 내지 제N 송신 경로(230-N)로 디지털 빔포밍된 변조 심벌들을 출력할 수 있다. 이때, MIMO(multiple input multiple output) 전송 기법에 따라, 변조 심벌들은 다중화되거나, 제1 송신 경로(230-1) 내지 제N 송신 경로(230-N)로 동일한 변조 심벌들이 제공될 수 있다.
제1 송신 경로(230-1) 내지 제N 송신 경로(230-N)은 디지털 빔포밍된 디지털 신호들을 아날로그 신호로 변환할 수 있다. 이를 위해, 제1 송신 경로(230-1) 내지 제N 송신 경로(230-N) 각각은 IFFT(inverse fast fourier transform) 연산부, CP(cyclic prefix) 삽입부, DAC, 상향 변환부를 포함할 수 있다. CP 삽입부는 OFDM(orthogonal frequency division multiplexing) 방식을 위한 것으로, 다른 물리 계층 방식(예: FBMC(filter bank multi-carrier))이 적용되는 경우 제외될 수 있다. 즉, 제1 송신 경로(230-1) 내지 제N 송신 경로(230-N)는 디지털 빔포밍을 통해 생성된 다수의 스트림(stream)들에 대하여 독립된 신호처리 프로세스를 제공할 수 있다. 단, 구현 방식에 따라, 제1 송신 경로(230-1) 내지 제N 송신 경로(230-N)의 구성요소들 중 일부는 공용으로 사용될 수 있다.
아날로그 빔포밍부(240)는 아날로그 신호에 대한 빔포밍을 수행할 수 있다. 이를 위해, 디지털 빔포밍부(220)은 아날로그 신호들에 빔포밍 가중치들을 곱한다. 여기서, 빔포밍 가중치들은 신호의 크기 및 위상을 변경하기 위해 사용될 수 있다.
도 2b는 본 개시의 예시적 실시예들에 따른 무선 수신 회로의 블록도이다.
도 2b를 참조하면, 무선 수신 회로(141)는 복호화 및 복조부(340), 디지털 빔포밍부(330), 제1 수신 경로(320-1) 내지 제N 수신 경로(320-N), 아날로그 빔포밍부(310)를 포함할 수 있다.
복호화 및 복조부(340)는 채널 디코딩(decoding)을 수행할 수 있다. 채널 디코딩을 위해, LDPC(low density parity check) 코드, 컨볼루션(convolution) 코드, 폴라(polar) 코드, 터보(turbo) 코드 중 적어도 하나가 사용될 수 있다.
다양한 실시예들에 따라, 디지털 빔포밍부(330) 및 아날로그 빔포밍부(310)은 도 2a의 디지털 빔포밍부(220) 및 아날로그 빔포밍부(240)에 상응할 수 있다. 제1 수신 경로(320-1) 내지 제N 수신 경로(320-N)은 디지털 빔포밍된 디지털 신호들을 아날로그 신호로 변환할 수 있다. 이를 위해, 제1 수신 경로(320-1) 내지 제N 수신 경로(320-N) 각각은 FFT(fast fourier transform) 연산부, 아날로그-디지털 컨버터(analog-to-digital converter), CP 제거부, 직렬-병렬 변환부 및 하향 변환부(down converter)를 포함할 수 있다. 구체적으로, 제1 수신 경로(320-1) 내지 제N 수신 경로(320-N) 각각은 수신된 신호를 기저대역 주파수로 하향 변환하며, CP를 제거하여 직렬 시간 도메인 기저대역 신호를 생성하고, 직렬 시간 도메인 기저대역 신호를 병렬 시간 도메인 신호들로 변환하고, FFT 알고리즘을 수행하여 N 병렬 주파수 도메인 신호들을 생성하고, 병렬 주파수 도메인 신호들을 변조된 데이터 심볼들의 시퀀스로 변환할 수 있다. 즉, 제1 수신 경로(320-1) 내지 제N 수신 경로(320-N)는 디지털 빔포밍을 통해 생성된 다수의 스트림(stream)들에 대하여 독립된 신호처리 프로세스를 제공할 수 있다. 단, 구현 방식에 따라, 제1 수신 경로(320-1) 내지 제N 수신 경로(320-N)의 구성요소들 중 일부는 공용으로 사용될 수 있다.
도 3a는 IPPP 코딩에 기반한 프레임들의 예를 도시한다.
도 3a를 참조하면, 제1 프레임(I1) 내지 제10 프레임(P10)은 IPPP 코딩에 기반하여 생성될 수 있다. IPPP 코딩은, 일련의 모든 프레임들이 다양한 실시예들에 따라, 제1 프레임(I1)은 I(intra) 프레임에 상응할 수 있다. I 프레임은 프레임 내의 모든 매크로 블록들에 대하여 인트라 코딩이 수행되는 프레임을 지칭할 수 있다. 즉, I 프레임은, 다른 이미지를 참조하지 않고 독립적으로 복호화가 가능한 프레임일 수 있다. 상기 I 프레임은, 키(key) 프레임으로 지칭될 수 있다.
제2 프레임(P2) 내지 제10 프레임(P10)은 P(predictive) 프레임에 상응할 수 있다. P 프레임은 프레임 내의 적어도 하나 이상의 매크로 블록에 대하여 인터(inter) 코딩이 수행되는 프레임을 지칭할 수 있다. 상기 인터 코딩은 움직임 추정(motion estimation)에 기반한 코딩 방식을 지칭할 수 있다. 즉, P 프레임은 이전 프레임에 기반하여 현재 프레임을 인터 예측(inter prediction)하고, 예측된 현재 프레임과 실제 매크로 블록 값의 차이 값 및 참조된 이전 프레임을 지시하는 모션 벡터(motion vector) 정보를 포함할 수 있다.
제1 프레임(I1) 내지 제9 프레임(P9)은 참조 프레임(reference frame)으로 지칭될 수 있다. 참조 프레임은, 다른 프레임에 의해 참조되는 것을 나타낼 수 있다. 예를 들어, I 프레임에 상응하는 제1 프레임(I1)은, 제2 프레임(P2) 내지 제10 프레임(P10) 중 적어도 하나 이상의 프레임에 의해 참조될 수 있다. 다른 예를 들어, 제3 프레임(P3)은, 이후의 프레임들인 제4 프레임(P4) 내지 제10 프레임(P10) 중 적어도 하나 이상의 프레임에 의해 참조될 수 있다.
제10 프레임(P10)은 비-참조 프레임(Non-reference frame)으로 지칭될 수 있다. 즉, 제10 프레임(P10)은 다른 프레임을 참조하여 인코딩 및 디코딩될 수는 있으나, 다른 프레임들(제1 프레임(I1) 내지 제9 프레임(P9))이 제10 프레임(P10)을 참조하여 인코딩 및 디코딩되지 않을 수 있다.
도 3b는 본 개시의 예시적 실시예들에 따른 계층적 P 코딩에 기반한 프레임들의 예를 도시한다.
도 3b를 참조하면, 제1 프레임(I1) 내지 제10 프레임(P10)은 계층적 P 코딩에 기반하여 생성될 수 있다.
다양한 실시예들에 따라, 제1 프레임(I1) 내지 제10 프레임(P10)은 적어도 둘 이상의 계층들에 상응할 수 있다. 예를 들어, 도 3b를 참조하면, 제1 프레임(I1), 제5 프레임(P5), 및 제9 프레임(P9)는 제1 레이어(Layer 1)에 상응할 수 있다. 제3 프레임(P3), 제7 프레임(P7)은 제2 레이어(Layer 2)에 상응할 수 있다. 제2 프레임(P2), 제4 프레임(P4), 제6 프레임(P6), 제8 프레임(P8), 및 제10 프레임(P10)은 제3 레이어(Layer 3)에 상응할 수 있다.
최상위 레이어(도 3b의 제3 레이어(Layer 3))는 비-참조 프레임들만 포함할 수 있다. 즉, 제2 프레임(P2)은 제1 프레임(I1)을 참조하고, 제4 프레임(P4)은 제3 프레임(P3)을 참조하고, 제6 프레임(P6)은 제5 프레임(P5)을 참조하고, 제8 프레임(P8)은 제7 프레임(P7)을 참조하고, 제10 프레임(P10)은 제9 프레임(P9)을 참조하여 인코딩 및 디코딩될 수 있다. 다시 말해, 최상위 레이어에 포함되는 프레임들은 나머지 프레임들의 인코딩 및 디코딩을 위하여 참조되는 일이 없으며, 최상위 레이어를 제외한 나머지 레이어들은 참조 프레임들만 포함할 수 있다.
다양한 실시예들에 따라, 전자 장치(10)가 계층적 P 코딩을 이용하여 송신 프레임들을 인코딩하는 경우, 전송되는 송신 프레임들은 일정한 패턴에 따라 전송될 수 있다. 예를 들어, 전자 장치(10)가 H.265 표준에 따라 송신 프레임들을 인코딩하는 경우, 송신되는 RTP 패킷들은 각각 TID 값을 포함하여 인코딩될 수 있다. 상기 TID 값은 RTP 패킷의 상대적인 중요도를 지시하는 것으로, 계층적 P 코딩의 레이어에 따라 값이 상이할 수 있다. 예를 들어, 최하위 레이어(Layer 1)의 참조 프레임들에 상응하는 RTP 패킷들의 TID 값은 0으로 가장 작은 값을 가질 수 있다. 예를 들어, 최상위 레이어(Layer 3)의 비-참조 프레임들에 상응하는 RTP 패킷들의 TID 값은 3을 가질 수 있다. 즉, RTP 패킷의 중요도가 클수록(=다른 프레임의 디코딩에 필수적으로 참조되는 참조 프레임인 경우), TID 값은 낮을 수 있다. 상기 일정한 패턴은 TID 값에 대한 패턴에 상응할 수 있다. 예를 들어, 도 3b와 같은 계층적 P 코딩에 기반하여 RTP 스트림을 생성한 경우, 전송되는 RTP 패킷들의 TID 값은 (0, 2, 1, 2)의 반복 패턴을 가질 수 있다. 상기 반복 패턴은 제1 프레임(I1)의 TID 값인 0, 제2 프레임(P2)의 TID 값인 2, 제3 프레임(P3)의 TID 값인 1, 제4 프레임(P4)의 TID 값인 2에 기반할 수 있다. 다양한 실시예들에 따라, 전자 장치(10)가 최대 트래픽을 초과하는지 여부에 따라 적어도 일부 프레임(예를 들어, 비-참조 프레임)을 드랍하는 경우, 영상 패킷을 수신하는 외부 장치(미도시)에서 수신하는 RTP 패킷들의 TID 값은 반복적인 패턴에 기반하지 않을 수 있다. 예를 들어, 제4 프레임(P4)을 송신하는 시점에 최대 트래픽이 모두 점유된 경우, 전자 장치(10)는 제4 프레임(P4)을 패킷화하지 않을 수 있다. 이 경우, 외부 장치(미도시)가 수신하는 프레임들의 TID 값을 연속적으로 나타내면 TID 패턴은 (0, 2, 1, 0, ??)일 수 있다. 예를 들어, 전자 장치(10)가 영상 패킷을 수신하는 경우, 수신된 프레임들의 TID 패턴이 일정하게 반복되지 않는 경우, 외부 장치(미도시)가 최대 대역폭에 기반한 프레임 드랍을 이용하여 RTP 패킷을 송신하는 것으로 식별할 수 있다.
도 4는 본 개시의 예시적 실시예들에 따른 전자 장치의 동작 방법을 도시한다.
도 4를 참조하면, 동작 S110에서, 전자 장치(10)는 인코딩 모드 및 최대 트래픽을 설정할 수 있다. 인코딩 모드는, IPPP 코딩 및 계층적 P 코딩을 포함할 수 있다. 도 1에서 전술한 바와 같이, 제어 회로(120)는 심리스한 영상 제공이 크리티컬한 영상 통화 어플리케이션의 실행에 응답하여, 계층적 P 코딩을 지시하는 제어 신호를 인코더(131)에게 전송할 수 있다. 인코더(131)는 상기 제어 신호에 응답하여, 계층적 P 코딩을 수행하도록 내부 인코딩 설정 값들을 변경할 수 있다. 전자 장치(10)는 트래픽 레코더(132)에게 최대 트래픽 값을 전송할 수 있다. 상기 최대 트래픽 값은 전자 장치(10)와 외부 장치(미도시)간에 RTP(Real time Transmission Protocol) 프로토콜을 위한 UDP(User Datagram Protocol) 세션이 수립(establish)에 필요한 세부 사항을 결정하는 상위 프로토콜(예를 들어, SDP(session description protocol))에 의해 식별될 수 있다. 전자 장치(10)는 UDP 세션 수립 과정에서 식별된 최대 트래픽 값을 트래픽 레코더(132)에게 전송할 수 있다. 트래픽 레코더(132)는 상기 수신된 최대 트래픽 값과 실시간 트래픽 값을 비교하여, 최대 트래픽을 초과하는지 여부를 판단할 수 있을 것이다. 일 실시예에 따라, 전자 장치(10)는 최대 트래픽 값을 인코더(131)에게 전송할 수도 있다. 인코더(131)는 제어 신호에 의해 지시된 인코딩 모드에 따라 계층적 P 코딩을 수행하기 위한 설정 값으로 설정할 수 있고, 상기 최대 트래픽을 효율적으로 사용하기 위한 비트레이트 값을 설정할 수 있다.
동작 S120에서, 전자 장치(10)는 송신 영상에 대한 인코딩을 수행할 수 있다. 이때, 인코더(131)는 계층적 P 코딩에 기반하여 복수의 프레임들을 인코딩할 수 있다. 상기 복수의 프레임들 중 적어도 하나 이상의 프레임은 비-참조 프레임에 상응할 수 있다.
동작 S130에서, 전자 장치(10)는 송신 프레임을 드랍하는지 여부를 결정할 수 있다. 전자 장치(10)의 패킷 생성 회로(133)는 패킷화 결정 회로(134)에 기반하여 송신 프레임을 드랍할 수도 있다. 일 예로, 패킷화 결정 회로(134)는 인코더(131)로부터 수신된 프레임 이미지를 송신하고자 하는 시점에 송신 트래픽이 최대 트래픽을 초과하고, 상기 프레임 이미지가 비-참조 프레임에 상응하는 경우, 상기 수신된 프레임 이미지를 드랍할 수 있다. 동작 S130에 대한 구체적인 설명은 도 5에서 후술하기로 한다.
동작 S140에서, 전자 장치(10)는 송신 프레임을 RTP 패킷화하고 외부 장치(미도시)에게 전송할 수 있다. 전자 장치(10)는 실시간 송신 트래픽이 최대 트래픽을 초과하지 않거나, 실시간 송신 트래픽이 최대 트래픽을 초과하더라도 송신 프레임이 참조 프레임인 경우, 외부 장치(미도시)에게 전송할 것을 결정할 수 있다. 패킷 생성 회로(133)는 패킷화 회로(135)를 이용하여 송신 프레임을 RTP 패킷들로 분할하고, 상기 RTP 패킷들을 외부 장치(미도시)에게 전송할 수 있다.
동작 S150에서, 전자 장치(10)는 트래픽 레코더(132)에 실시간 트래픽을 업데이트 및 NACK 버퍼(136)에 RTP 패킷을 임시로 저장할 수 있다. 다양한 실시예들에 따라, 제어 회로(120)는 송신하는 RTP 패킷들의 크기를 트래픽 레코더(132)에게 제공할 수 있다. 트래픽 레코더(132)는 무선 송신 회로(137)로부터 수신한 크기 정보에 기반하여 송신 트래픽이 최대 트래픽을 초과하는지 실시간으로 모니터링할 수 있다. 또한, 외부 장치가 수신에 실패하여 패킷을 다시 전송해줄 것을 지시하는 NACK 요청에 대비하여, 제어 회로(120)는 송신되는 RTP 패킷들을 NACK 버퍼(136)에 임시로 저장할 수 있다.
도 5는 본 개시의 예시적 실시예들에 따른 프레임 드랍을 결정하는 전자 장치의 동작 방법을 도시한다.
도 5를 참조하면, 동작 S131에서, 패킷화 결정 회로(134)는 트래픽 레코더(132)에게 실시간 트래픽 정보를 쿼리할 수 있다. 이미 최대 트래픽을 초과하여 패킷들을 송신하고 있는 경우, 전송 실패의 확률이 높기 때문에 패킷화는 수행되지 않을 수 있다.
동작 S133에서, 패킷화 결정 회로(134)는 실시간 트래픽이 최대 트래픽을 초과하는지 판단할 수 있다. 트래픽 레코더(132)는 상기 쿼리에 응답하여, 실시간 트래픽 정보를 응답할 수도 있고, 최대 트래픽을 초과하였는지 여부만을 응답할 수도 있다. 패킷화 결정 회로(134)는 트래픽 레코더(132)로부터 응답에 기반하여 실시간 송신 트래픽이 최대 트래픽을 초과하는지 여부를 판단할 수 있다. 패킷화 결정 회로(134)는 실시간 송신 트래픽이 최대 트래픽을 초과하지 않는 경우, 송신 프레임을 패킷화할 것을 결정할 수 있다.
동작 S135에서, 패킷화 결정 회로(134)는 송신 프레임이 참조 프레임인지 여부를 판단하고, 동작 S137에서 패킷화 결정 회로(134)는 수신된 프레임을 드랍할지 여부를 결정할 수 있다. 도 3b를 함께 참조하면, 참조 프레임은 다른 프레임의 인코딩 및 디코딩에 참조되는 프레임인지 나타내는 것으로, 최상위 레이어(L3)의 프레임들을 제외한 나머지 프레임들을 지칭할 수 있다. 예를 들어, 도 3b를 함께 참조하면, 참조 프레임은 제1 프레임(I1) 내지 제10 프레임(P10) 중 제2 프레임(P2), 제4 프레임(P4), 제6 프레임(P6), 제8 프레임(P8) 및 제10 프레임(P10)을 제외한 나머지 프레임들에 상응할 수 있다. 예를 들어, 송신 프레임이 제3 프레임(P3)인 경우, 제3 프레임(P3)은 제4 프레임(P4)에 의해 참조되는 프레임이기 때문에, 패킷화할 것을 결정할 수 있다. 다른 예를 들어, 송신 프레임이 제6 프레임(P6)인 경우, 제6 프레임(P6)을 참조하는 다른 프레임들은 존재하지 않기 때문에, 패킷화할 것을 바이패스(bypass)할 수 있다. 송신 프레임이 비-참조 프레임인 경우, 다른 프레임들을 디코딩하는데 필수적이지 않으므로, 비-참조 프레임의 패킷들은 전송 실패되더라도 영상 재생이 가능할 수 있다. 따라서, 패킷화 결정 회로(134)는 최대 트래픽을 초과한 통신 환경에서 영상 재생에 필수적이지 않은 비-참조 프레임들의 패킷화를 수행하지 않고 프레임을 드랍할 수 있다.
도 6은 본 개시의 예시적 실시예들에 따른 재전송 요청의 수신 시, 전자 장치의 동작 방법을 도시한다.
도 6을 참조하면, 동작 S210에서, 전자 장치(10)는 NACK 요청을 수신할 수 있다. 상기 NACK은 전자 장치(10)에서 패킷을 송신하였으나, 외부 장치(미도시)가 수신 실패한 패킷들을 다시 전송해줄 것을 요청하는 신호에 상응할 수 있다. 다양한 실시예들에 따라, 외부 장치(미도시)는 NACK 요청에 시퀀스 넘버를 포함시킬 수 있다. 외부 장치(미도시)는 수신 실패한 패킷들의 시퀀스 넘버를 NACK 요청에 포함할 수 있다. 일 실시예에 따라, 외부 장치(미도시)는 최대 16개의 패킷들의 시퀀스 넘버를 포함하는 NACK 요청을 전자 장치(10)에게 송신할 수 있다. NACK 요청은 전송 실패한 패킷 식별자를 포함하는 PID(Packet ID) 및 전송 실패한 패킷들의 비트마스크를 포함하는 BLP(bitmask of lost packet)를 포함할 수 있다. PID는 시퀀스 넘버(0 내지 65535)를 나타내는 2 바이트를 포함할 수 있다. BLP는 PID에 의해 지시된 시퀀스 넘버의 패킷부터 최대 16개의 범위에서 전송 실패된 패킷을 추가적으로 지시할 수 있다. 예를 들어, 외부 장치(미도시)가 13197번째 패킷만 수신에 실패한 경우, PID는 13197을 지시하는 2바이트 값을 포함할 수 있고, BLP 값은 0일 수 있다. 상기 13197번째 패킷으로 최대 16개 범위 이내의 패킷들 중 전송 실패한 패킷이 존재하지 않기 때문이다. 다른 예를 들어, 외부 장치(미도시)가 29897번째 패킷 내지 29900번째 패킷의 수신에 실패한 경우, PID는 29897을 지시하는 2바이트 값을 포함할 수 있고, BLP는 나머지 29898 내지 29900번째 패킷을 지시하는 값을 포함할 수 있다. 상기 29897번째 패킷 내지 29900번째 패킷의 수신에 실패한 경우, BLP 값은 0x0007에 상응할 수 있다.
동작 S220에서, NACK 핸들러(143)는 NACK 버퍼(136)에게 NACK 요청의 대상 패킷을 쿼리할 수 있다. 도 4에서 전술한 바와 같이, 전자 장치(10)는 RTP 패킷을 전송할 때마다, NACK 버퍼(136)에게 전송하여 RTP 패킷에 대한 백업을 수행할 수 있다. 따라서, NACK 버퍼(136)는 버퍼 사이즈가 허용하는 한도 내에서, 외부 장치(미도시)에게 전송되었던 모든 RTP 패킷들을 임시로 저장하고 있다. NACK 핸들러(143)는 NACK 요청을 디코딩하여 전송 실패한 RTP 패킷들의 시퀀스 넘버를 획득할 수 있으나, 시퀀스 넘버만으로는 전송이 실패한 RTP 패킷이 비-참조 프레임에 기반한 것인지, 참조 프레임에 기반한 것인지 알 수 없다. NACK 핸들러(143)는 전송 실패한 RTP 패킷이 어떤 프레임에 기반하였는지 알 수 없기 때문에, 재전송할지 여부를 결정할 수 없다. 따라서, NACK 핸들러(143)는 NACK 버퍼(136)에게 획득한 시퀀스 넘버에 상응하는 RTP 패킷들을 쿼리할 수 있다. NACK 버퍼(136)는 NACK 핸들러(143)로부터 수신한 시퀀스 넘버에 상응하는 패킷들을 NACK 핸들러(143)에게 전달할 수 있다.
동작 S230에서, NACK 핸들러(143)는 NACK 버퍼(136)로부터 수신한 패킷이 참조 프레임에 포함되는지 여부를 판단할 수 있다. 일 실시예에서, H.264 표준에 따르는 경우, NACK 핸들러(143)는 NACK 버퍼(136)로부터 수신한 RTP 패킷의 헤더를 디코딩하여 NRI(Non Reference Indicator) 값을 식별할 수 있다. 상기 NRI는, 특정 RTP 패킷에 상응하는 프레임이 참조 프레임인지 비-참조 프레임인지 여부를 지시하는 값이다. 다양한 실시예들에 따라, 0의 NRI 값은 해당 프레임이 비-참조 프레임인 것을 지시할 수 있고, 0이 아닌 값, 즉 1 내지 3의 NRI 값은 해당 프레임이 참조 프레임인 것을 지시할 수 있다. 예를 들어, 시퀀스 넘버 10에 상응하는 RTP 패킷이 제3 프레임(P3)을 구성하는 경우, 시퀀스 넘버 10에 상응하는 RTP 패킷의 NRI 값은 1 내지 3 중 어느 하나일 수 있다. 다른 예를 들어, 시퀀스 넘버 15에 상응하는 RTP 패킷이 제6 프레임(P6)을 구성하는 경우, 시퀀스 넘버 15에 상응하는 RTP 패킷의 NRI 값은 0일 수 있다. 즉, NACK 핸들러(143)는 NACK 버퍼(136)로부터 수신한 RTP 패킷들의 헤더를 디코딩하여 NRI 값을 획득하고, NRI 값이 0인지 여부에 따라 참조 프레임을 구성하는 RTP 패킷인지, 비-참조 프레임을 구성하는 RTP 패킷인지 결정할 수 있다. 다른 실시예에서, H.265 표준에 따르는 경우, NACK 핸들러(143)는 NACK 버퍼(136)로부터 수신한 RTP 패킷의 헤더를 디코딩하여 TID 값을 식별할 수 있다. TID 값은 RTP 패킷의 상대적인 중요도를 지시하는 것으로, 계층적 P 코딩의 레이어에 따라 값이 상이할 수 있다. 예를 들어, 영상 압축 코덱이 H.265인 경우, 최하위 레이어(Layer 1)의 프레임들에 상응하는 RTP 패킷들의 TID 값은, 최상위 레이어(Layer 3)의 비-참조 프레임들에 상응하는 RTP 패킷들의 TID 값보다 클 수 있다. NACK 핸들러(143)는 NACK 버퍼(136)로부터 수신한 RTP 패킷의 TID 값이 가장 큰 경우, 상기 RTP 패킷은 비-참조 프레임을 구성하는 RTP 패킷인 것을 결정할 수 있다.
다양한 실시예들에 따라, 영상 압축 코덱이 H.264인 경우, NRI 값이 0일 때, NACK 핸들러(143)는 절차를 종료할 수 있다. 즉, 외부 장치(미도시)가 수신에 실패하여 재전송 요청을 한 RTP 패킷이 비-참조 프레임을 구성하는 경우, NACK 핸들러(143)는 상기 NACK 요청을 무시할 수 있다. 비-참조 프레임을 구성하는 RTP 패킷은 전송 실패되더라도 영상을 재생하는데 문제를 야기하지 않기 때문이다.
동작 S240에서, NACK 핸들러(143)는 참조 프레임에 포함되는 RTP 패킷을 재전송할 수 있다. 예를 들어, NACK 요청에 포함되는 RTP 패킷의 NRI 값이 0이 아닌 경우, NACK 핸들러(143)는 상기 RTP 패킷을 무선 송신 회로(137)를 통해 재전송할 수 있다. 다시 말해, RTP 패킷의 NRI가 1 내지 3의 값을 가지는 경우, 상기 RTP 패킷은 다른 프레임을 디코딩하는데 필수적으로 참조되는 프레임을 구성할 수 있다. 1 내지 3의 NRI 값을 가지는 RTP 패킷을 재전송하지 않는 경우, 외부 장치(미도시)는 적어도 일부 프레임의 디코딩을 실패하여 영상 재생이 매끄럽지 않을 수 있다. 따라서, NACK 핸들러(143)는 NACK 요청에 의해 지시된 모든 RTP 패킷들 중 NRI가 0이 아닌 모든 RTP 패킷들을 선택적으로 재전송할 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 트래픽 변경 요청의 수신 시, 전자 장치의 동작 방법을 도시한다.
도 7을 참조하면, 동작 S310에서, 전자 장치(10)는 최대 트래픽 변경 요청을 수신할 수 있다. 전자 장치(10)는 무선 수신 회로(141)를 통해 상기 최대 트래픽 변경 요청을 수신하고, 이를 트래픽 핸들러(142)에게 전달할 수 있다. RTP 세션 제어 프로토콜의 RFC 5104 표준을 참조하면, 최대 트래픽 변경 요청은 TMMBR(Temporary Maximum Media Stream Bit Rate Request)에 상응할 수 있다. 상기 TMMBR은 전자 장치(10)와 패킷을 송수신하는 외부 장치(미도시)가 전송할 수 있다. 상기 TMMBR은 외부 장치(미도시)가 수신할 수 있는 최대 비트레이트에 대한 정보를 포함할 수 있다. 예를 들어, 외부 장치(미도시)가 수신 환경이 나쁜 지역(예를 들어, 터널 내부, 기지국 셀 엣지(cell edge) 등등)으로 이동하는 경우, 외부 장치(미도시)가 수신할 수 있는 최대 비트레이트 값을 감소될 수 있다. 전자 장치(10)가 높은 트래픽으로 RTP 패킷을 송신하더라도, 외부 장치(미도시)는 열화된 비트레이트 값에 따라 수신할 수 있을 뿐이므로, 패킷 로스(packet loss)는 점점 증가될 수 있다. 따라서, 외부 장치(미도시)는 전자 장치(10)에게 TMMBR에 최대 비트레이트 값을 포함시켜 송신함으로써 실시간으로 트래픽을 조정할 수 있다.
동작 S320에서, 전자 장치(10)는 트래픽 레코더(132)의 최대 트래픽 값을 재설정할 수 있다. 트래픽 핸들러(142)는 무선 수신 회로(141)로부터 상기 TMMBR을 전달 받고, TMMBR을 디코딩하여 외부 장치(미도시)(수신 측)가 수신할 수 있는 최대 비트레이트 값을 식별할 수 있다. 트래픽 핸들러(142)는 상기 식별된 최대 비트레이트 값을 트래픽 레코더(132)에게 전달할 수 있다. 트래픽 레코더(132)는 상기 최대 비트레이트 값을 전달 받고, 이에 기반하여 최대 트래픽 값을 재설정할 수 있다. 트래픽 레코더(132)는 변경된 최대 트래픽 값과 실시간 트래픽을 비교하여 트래픽 초과 여부를 판단할 수 있다.
동작 S330에서, 전자 장치(10)는 변경된 최대 트래픽 값에 기반하여 인코더(131)의 비트레이트를 조정할 수 있다. 트래픽 핸들러(142)는 변경된 최대 트래픽 값을 인코더(131)에게 직접 전달할 수도 있고, 변경된 최대 트래픽 값에 기반한 인코딩 비트레이트를 계산하고, 상기 인코딩 비트레이트를 인코더(131)에게 전달할 수도 있다. 인코더(131)는 인코딩 비트레이트를 조정함으로써 변경된 최대 트래픽을 최대한 효율적으로 사용하는 인코딩을 수행할 수 있다.
동작 S340에서, 전자 장치(10)는 인코더(131)의 비트레이트 조정이 완료되었음을 지시하는 응답을 송신할 수 있다. 상기 응답은, TMMBR에 의해 지시된 최대 트래픽의 변경 값에 따라 인코딩 비트레이트를 조정하였음을 응답하기 위한 것으로, TMMBN(Temporary Maximum Media Stream Bit Rate Notification)에 상응할 수 있다. 전자 장치(10)와 외부 장치(미도시)는 TMMBR 및 TMMBN의 송수신이 완료된 이후, 변경된 최대 트래픽에 따라 RTP 패킷을 송수신할 수 있다.
도 8은 본 개시의 예시적 실시예들에 따른 전자 장치가 동작하는 논리 흐름을 도시한다.
도 8을 참조하면, 인코더(131)에 대한 초기 설정이 수행될 수 있다. 예를 들어, 제어 회로(120)는 계층적 P 코딩을 수행하도록 인코더(131)를 구성(configure)할 수 있고, 트래픽 레코더(132)에게 초기 트래픽 설정 값을 전송하여 최대 트래픽 값을 업데이트할 수 있다.
인코더(131)는 인코딩한 프레임 이미지를 패킷화할 것인지 판단할 수 있다. 예를 들어, 인코더(131)는 프레임 이미지를 패킷 생성 회로(133)에게 전달할 수 있고, 패킷 생성 회로(133)는 패킷화 결정 회로(134)를 이용할 수 있다. 패킷화 결정 회로(134)는 프레임 이미지를 수신한 시점에 송신 트래픽이 최대 트래픽을 초과하는지 판단할 수 있다. 송신 트래픽이 최대 트래픽을 초과하지 않는다면 프레임 이미지를 패킷화할 수 있다. 송신 트래픽이 최대 트래픽을 초과한다면, 패킷화 결정 회로(134)는 프레임 이미지가 참조 프레임인지 또는 비-참조 프레임인지 여부를 결정할 수 있다. 송신 트래픽이 최대 트래픽을 초과하는 경우, 송신 패킷을 감소시킬 필요가 있기 때문이다. 프레임 이미지가 비-참조 프레임인 경우, 패킷화하여 외부 장치(미도시)에게 전송하지 않더라도 외부 장치(미도시)에서 영상을 재생하는데 문제가 없을 수 있다. 따라서, 패킷화 결정 회로(134)는 프레임 이미지가 비-참조 프레임인 경우, 프레임 이미지를 패킷으로 생성하지 않고, 프레임을 드랍할 수 있다. 프레임 이미지가 참조 프레임인 경우, 송신 트래픽이 최대 트래픽을 초과하는 것은 별론, 프레임 이미지를 패킷화하여 외부 장치(미도시)에게 송신하지 않는 경우, 외부 장치(미도시)에서 재생되는 영상은 끊기거나, 깨질 수 있다. 따라서, 패킷화 결정 회로(134)는 참조 프레임의 프레임 이미지는 패킷화할 것을 결정할 수 있다.
패킷 생성 회로(133)는 패킷화할 것을 결정한 프레임 이미지들에 대한 RTP 패킷화를 수행할 수 있다. 패킷 생성 회로(133)는 프레임 이미지들을 적어도 하나 이상의 RTP 패킷들로 나누어 생성할 수 있다. 예를 들어, 키 프레임인 제1 프레임(I1)은 8개의 RTP 패킷들로 분할될 수 있다. 제1 프레임(I1)을 참조하는 제2 프레임(P2)은 제1 프레임(I1)을 지시하는 모션 벡터와 제1 프레임(I1)과 매크로 블록들의 차이 값들을 포함하므로, 더 적은 개수의 RTP 패킷들(예를 들어, 5개)로 분할될 수 있다. 패킷 생성 회로(133)는 복수의 RTP 패킷들을 생성할 때, 시퀀스 넘버를 생성 및 할당할 수 있다. 상기 시퀀스 넘버는, 패킷 생성 회로(133)에서 몇 번째로 생성된 패킷인지 지시하기 위한 것이다. 외부 장치(미도시)는 RTP 패킷을 수신하고, 수신에 실패한 RTP 패킷들의 시퀀스 넘버를 NACK 요청에 포함시킬 수 있다. 즉, 패킷 생성 회로(133)에서 RTP 패킷들을 생성할 때마다 시퀀스 넘버는 1씩 증가될 수 있다.
패킷 생성 회로(133)는 NACK 버퍼(136)에 생성된 RTP 패킷들을 업데이트한 이후, 외부 장치(미도시)에게 전송할 수 있다. NACK 버퍼(136)는 복수의 RTP 패킷들을 임시로 저장하기 위한 것으로, NACK 요청이 수신되면 NACK 핸들러(143)로부터 쿼리를 수신할 수 있다. NACK 버퍼(136)는 쿼리에서 요청된 시퀀스 넘버들의 RTP 패킷들을 NACK 핸들러(143)에게 출력할 수 있다.
다양한 실시예들에 따라, NACK 핸들러(143)는 NACK 요청을 수신할 수 있다. NACK 요청은 외부 장치(미도시)가 수신하지 못한 RTP 패킷들의 시퀀스 넘버를 포함할 수 있다. 외부 장치(미도시)는 최대 16개의 RTP 패킷들의 시퀀스 넘버를 NACK 요청에 포함시킬 수 있다. NACK 핸들러(143)는 NACK 요청을 수신하면, NACK 요청에 포함된 시퀀스 넘버를 식별하고, 상기 식별된 시퀀스 넘버를 NACK 버퍼(136)에게 쿼리할 수 있다. NACK 핸들러(143)는 시퀀스 넘버만을 이용하여 참조 프레임의 RTP 패킷인지, 비-참조 프레임의 RTP 패킷인지는 판단할 수 없다. NACK 핸들러(143)는 NACK 버퍼(136)로부터 NACK 요청에 의해 지시된 시퀀스 넘버에 상응하는 RTP 패킷들을 수신할 수 있다.
NACK 핸들러(143)는, NACK 요청의 시퀀스 넘버에 의해 지시된 RTP 패킷이 참조 프레임을 구성하는 패킷인 경우, 외부 장치(미도시)에게 재전송할 수 있다. 참조 프레임을 구성하는 RTP 패킷이 전송되지 못하면 외부 장치(미도시)가 영상을 재생할 때 영상이 깨질 수 있기 때문이다. NACK 핸들러(143)는 NACK 요청의 시퀀스 넘버에 의해 지시된 RTP 패킷이 비-참조 프레임을 구성하는 패킷인 경우, NACK 요청을 무시하고, 절차를 종료할 수 있다.
도 9는 본 개시의 예시적 실시예들에 따른 신호 교환도이다.
도 9를 참조하면, 인코더(131)는 계층적 P 코딩에 따라 제1 프레임(I1) 내지 제10 프레임(P10)을 인코딩할 수 있다. 일 실시예에 따라, 제1 프레임(I1) 내지 제10 프레임(P10)은 하위 레이어(Layer 0)와 상위 레이어(Layer 1) 간에 교번적으로 배치될 수 있다.
일 실시예에 따라, 제1 프레임(I1) 내지 제10 프레임(P10) 중 적어도 하나 이상의 프레임은 패킷화 결정 회로(134)에 의해 패킷화될 수 있다. 다만, 각각의 프레임들마다 몇 개의 RTP 패킷으로 분할되는지 여부는 서로 상이할 수 있다. 예를 들어, 제1 프레임(I1)은 패킷 생성 회로(133)에 의해 제1 RTP 패킷 내지 제8 RTP 패킷으로 분할될 수 있고, 제2 프레임(P2)은 패킷 생성 회로(133)에 의해 제9 RTP 패킷 내지 제14 RTP 패킷으로 분할될 수 있다. 제1 프레임(I1) 및 제2 프레임(P2) 구간 동안 실시간 송신 트래픽은 각각 960kbs, 958kbs이므로 최대 트래픽인 960kbs를 초과하지 않고 외부 장치(미도시)에게 성공적으로 모든 패킷들이 전달될 수 있다. 전자 장치(10)는 외부 장치(미도시)에게 제1 RTP 패킷 내지 제14 RTP 패킷을 전송하기 전에, NACK 버퍼(136)에 백업 했으므로, NACK 버퍼(136) 역시 제1 RTP 패킷 내지 제14 RTP 패킷을 저장할 수 있다.
외부 장치(미도시)는 제3 프레임(P3)에 상응하는 RTP 패킷들 중 적어도 일부를 수신하는데 실패할 수 있다. 예를 들어, 제3 프레임(P3)에 상응하는 RTP 패킷들은 제15 RTP 패킷 내지 제20 RTP 패킷일 수 있다. 외부 장치(미도시)는 제3 프레임(P3)에 상응하는 6개의 RTP 패킷들 중 4개의 RTP 패킷들의 수신에 실패할 수 있다. 예를 들어, 외부 장치(미도시)는 제16 RTP 패킷, 제18 RTP 패킷, 제19 RTP 패킷 및 제20 RTP 패킷의 수신을 실패할 수 있다.
외부 장치(미도시)는 제4 프레임(P4)에 상응하는 RTP 패킷들 중 적어도 일부를 수신하는데 실패할 수 있다. 예를 들어, 제4 프레임(P4)에 상응하는 RTP 패킷들은 제21 RTP 패킷 내지 제26 RTP 패킷일 수 있다. 외부 장치(미도시)는 제4 프레임(P4)에 상응하는 6개의 RTP 패킷들 중 3개의 RTP 패킷들의 수신에 실패할 수 있다. 예를 들어, 외부 장치(미도시)는 제21 RTP 패킷, 제23 RTP 패킷 및 제24 RTP 패킷의 수신을 실패할 수 있다.
전자 장치(10)는 외부 장치(미도시)로부터 NACK 요청을 수신할 수 있다. NACK 요청은, 외부 장치(미도시)가 수신하지 못한 RTP 패킷들의 시퀀스 넘버에 대한 정보를 포함할 수 있다. 예를 들어, NACK 요청은 제16, 제18, 제19, 제20, 제21, 제23, 제24 RTP 패킷의 시퀀스 넘버들을 포함할 수 있다.
다양한 실시예들에 따라, NACK 핸들러(143)와 패킷 생성 회로(133)는 독립적으로 및 병렬적으로 동작할 수 있다. 예를 들어, NACK 핸들러(143)는 NACK 요청을 수신하고, NACK 버퍼(136)로부터 전송 실패한 RTP 패킷들을 로드하고, 로드한 RTP 패킷들 중에서 참조 프레임을 구성하는 RTP 패킷들만을 재전송할 것을 결정할 수 있다. 상기 재전송은, 최대 트래픽의 초과 여부와 무관할 수 있다. 재전송으로 결정되는 RTP 패킷들은 외부 장치(미도시)에서 재전송 받지 않는 경우, 재생 영상이 깨지거나, 고르지 못한 스트리밍 서비스를 제공할 수 있기 때문이다. 즉, NACK 핸들러(143)가 NACK 요청을 수신하여, NACK 버퍼(136)에게 RTP 패킷들을 요청하고, 제3 프레임(P3)을 구성하는 RTP 패킷들(제16, 제18, 제19, 제20 RTP 패킷)의 재전송을 판단하는 동안, 패킷 생성 회로(133)는 제5 프레임(P5)에 대한 패킷 생성 여부를 독립적으로 판단할 수 있다. 제5 프레임(P5)에 대한 RTP 패킷들(제27 내지 제29 패킷)의 생성을 판단하는 시점에 실시간 송신 트래픽은 956kbs이므로, 최대 트래픽을 초과하지 않아, 27 내지 29의 시퀀스 넘버를 갖는 RTP 패킷들을 생성 및 전송할 수 있다.
한편, NACK 핸들러(143)는 최대 트래픽의 초과 여부와 무관하게 참조 프레임을 구성하는 RTP 패킷들을 재전송할 수 있다. 예를 들어, NACK 요청의 대상이 되는 RTP 패킷들 중 제16, 제18, 제19, 제20 RTP 패킷들은 하위 레이어(Layer 0)에 상응하는 참조 프레임을 구성하므로, NACK 핸들러(143)는 제16, 제18, 제19, 제20 RTP 패킷들을 재전송할 수 있다. NACK 핸들러(143)는 RTP 패킷의 헤더를 디코딩하여 NRI 또는 TID 값에 기반하여 NACK 요청의 대상이 되는 RTP 패킷들 중 제16, 제18, 제19, 제20 RTP 패킷들을 식별할 수 있다. 예를 들어, NACK 요청의 대상이 되는 RTP 패킷들 중 제16, 제18, 제19, 제20 RTP 패킷들은 헤더의 NRI 값이 0이 아닐 수 있다. NACK 요청의 대상이 되는 RTP 패킷들 중 제21, 제23, 제24 RTP 패킷들은 헤더의 NRI 값이 0일 수 있다. 다른 예를 들어, NACK 핸들러(143)는 NACK 요청의 대상이 되는 RTP 패킷들의 TID 값을 식별할 수 있다. NACK 요청의 대상이 되는 RTP 패킷들 중 제16, 제18, 제19, 제20 RTP 패킷들의 TID 값은 나머지 제21, 제23, 제24 RTP 패킷들의 TID 값보다 작을 수 있다. NACK 핸들러(143)는 TID 값이 작은 제16, 제18, 제19, 제20 RTP 패킷들을 식별하고, 상기 식별된 RTP 패킷들을 재전송할 수 있다. NACK 핸들러(143)는 NRI 값이 0이거나, TID 값이 낮은 제16, 제18, 제19, 제20 RTP 패킷들을 외부 장치(미도시)에게 재전송할 수 있다. 다만, 상기 재전송은 최대 대역폭을 초과하더라도 수행되기 때문에, 재전송이 발생한 시점의 실시간 송신 트래픽은 최대 대역폭보다 클 수 있다. 예를 들어, 도 10을 참조하면, NACK 핸들러(143)가 상기 재전송을 수행한 시점의 송신 트래픽은 973kbs이므로, 최대 트래픽인 960kbs를 초과하는 것을 확인할 수 있다.
다양한 실시예들에 따라, 패킷 생성 회로(133)는 제6 프레임(P6)을 드랍할 것을 결정할 수 있다. 구체적으로, 패킷 생성 회로(133)는 인코더(131)로부터 제6 프레임(P6)을 수신하고, 패킷화 결정 회로(134)를 이용하여 패킷화를 수행할 것인지 판단할 수 있다. 전술한 바와 같이, 패킷 생성 회로(133)가 제6 프레임(P6)을 수신한 시점의 송신 트래픽은 973kbs이므로, 패킷화 결정 회로(134)는 실시간 송신 트래픽이 최대 트래픽을 초과하였음을 결정할 수 있다. 이후, 패킷화 결정 회로(134)는 최대 트래픽이 모두 점유된 상태에서 프레임을 드랍함으로써 트래픽 점유율을 감소시킬 것인지, 최대 트래픽에 무관하게 외부 장치(미도시)의 끊김이나 깨짐 없는 영상 재생을 위해 프레임 이미지를 RTP 패킷화하여 전송할 지 여부를 결정할 수 있다. 도 10을 참조하면, 제6 프레임(P6)은 상위 레이어(Layer 1)의 프레임에 상응할 수 있다. 즉, 제6 프레임(P6)은 제5 프레임(P5)을 참조해야 디코딩될 수 있으며, 디코딩하기 위하여 제6 프레임(P6)을 필수적으로 참조하는 다른 프레임들은 없는 것을 알 수 있다. 패킷화 결정 회로(134)는 제6 프레임(P6)이 비-참조 프레임이므로, 외부 장치(미도시)에게 전송되지 않더라도 영상의 깨짐이 발생하지는 않는다고 판단하고 제6 프레임(P6)을 드랍할 수 있다. 이와 마찬가지로, 패킷화 결정 회로(134)는 제7 프레임(P7)이 인코더(131)로부터 수신된 시점에 실시간 송신 트래픽을 확인할 수 있고, 960kbs의 최대 트래픽을 초과하는 것을 확인할 수 있다. 다만, 패킷화 결정 회로(134)는 제7 프레임(P7)이 참조 프레임인 것을 식별할 수 있다. 즉, 제7 프레임(P7)은 제8 프레임(P8) 및 제9 프레임(P9)을 디코딩하는데 필수적으로 참조되는 프레임일 수 있다. 패킷화 결정 회로(134)는 상기 제7 프레임(P7)이 외부 장치(미도시)에게 전송되지 않는 경우, 영상 재생에 오류가 발생하고 깨짐이 발생할 것이라고 판단할 수 있다. 제7 프레임(P7)이 참조 프레임이므로, 패킷 생성 회로(133)는 최대 트래픽이 모두 점유되었음에도 불구하고 상기 제7 프레임(P7)을 5개의 RTP 패킷들로 분할할 수 있다. 상기 5개의 패킷들은 제30 RTP 패킷 내지 제34 RTP 패킷들에 상응할 수 있다. 제8 프레임(P8)에 대한 설명은, 제6 프레임(P6)과 동일하므로 생략하기로 한다. 제9 프레임(P9) 및 제10 프레임(P10)에 대한 설명은, 제1 프레임(I1) 또는 제2 프레임(P2)과 동일하므로 생략하기로 한다.
다양한 실시예들에 따라, 외부 장치(미도시)는 제1 프레임(I1), 제2 프레임(P2), 제3 프레임(P3), 제5 프레임(P5), 제7 프레임(P7), 제9 프레임(P9) 및 제10 프레임을 성공적으로 디코딩할 수 있다. 제1 프레임(I1), 제2 프레임(P2), 제5 프레임(P5), 제9 프레임(P9) 및 제10 프레임(P10)은 최대 트래픽이 모두 점유되지 않아, 전자 장치(10)로부터 외부 장치(미도시)에게 성공적으로 수신될 수 있다.
제3 프레임(P3) 및 제4 프레임(P4)은 일부 RTP 패킷들의 송신에 실패한 것은 동일할 수 있다. 제3 프레임(P3)에 포함되는 RTP 패킷들만 다시 재전송되고, 제4 프레임(P4)에 포함되는 RTP 패킷들은 재전송 요청에도 불구하고 재전송되지 않았다. 이는, 제3 프레임(P3)이 참조 프레임이므로 외부 장치(미도시)에서 영상 재생에 필수적인 프레임이기 때문이며, 제4 프레임(P4)은 비-참조 프레임이므로 외부 장치(미도시)에 전송되지 않더라도 영상의 끊김이나 오류를 야기시키지 않기 때문이다.
제6 프레임(P6) 및 제7 프레임(P7)은 각각 패킷화되는 시점에 최대 대역폭이 모두 점유된 것은 동일할 수 있다. 제6 프레임(P6)은 패킷화되기 이전에 드랍되었으며, 제7 프레임(P7)은 패킷화되고, 제30 RTP 패킷 내지 제34 RTP 패킷의 5개 RTP 패킷들로 외부 장치(미도시)에게 전송되었다. 이는, 제6 프레임(P6)은 비-참조 프레임이므로 외부 장치(미도시)에게 전달되지 않더라도 영상 재생은 가능하기 때문이다. 제 7 프레임(P7)은 참조 프레임이므로 외부 장치(미도시)의 영상 재생을 위해 필수적으로 전송되어야 하는 프레임이기 때문이다. 외부 장치(미도시)는 제6 프레임(P6)에 연속적으로 제8 프레임(P8)을 수신하지만, RTP 시퀀스 넘버는 순차적으로 증가한 것으로 인식하기 때문에, 제6 프레임(P6)과 제8 프레임(P8) 사이의 패킷 로스를 인식하지 않을 수 있다.
도 10은 본 개시의 예시적 실시예들에 따른 재생 오류 없는 영상의 확률을 도시하는 그래프이다.
도 10을 참조하면, 그래프의 가로 축은 전송한 RTP 패킷의 수를, 그래프의 세로 축은 재생 오류 없는 영상을 획득할 확률을 각각 도시한다. 이하, 도 10은 I 프레임이 1초의 주기로 생성되며, 1초 동안 전송되는 RTP 패킷들의 개수(n)는 85개라고 가정하며, 계층적 P 코딩에 따라 생성된 프레임들 중 비-참조 프레임들의 비율은 20%인 것을 기준으로 설명하기로 한다.
다양한 실시예에 따라, 하기의 표 1은 RTP 패킷의 전송 실패 확률이 달라지는 경우, IPPP 코딩과 계층적 P 코딩 각각의 재생 오류 없는 영상을 획득할 확률을 도시한다.
Loss Ratio Time [s] IPPP 코딩 계층적 P 코딩
0.5% 0.5 81.01% 99.89%
1 65.30% 99.78%
1% 0.5 65.56% 99.58%
1 42.55% 99.15%
3% 0.5 27.82% 96.28%
1 7.50% 92.63%
5% 0.5 11.59% 90.02%
1 1.27% 80.82%
10% 0.5 1.19% 64.78%
1 0.01% 26.91%
상기 표 1을 참조하면, 패킷 로스 확률이 0.5%(강전계 환경)에서 영상 패킷을 송수신 하는 경우 및 패킷 로스 확률이 10%(약전계 환경)에서 영상 패킷을 송수신 하는 경우 모두 계층적 P 코딩을 이용하는 것이 IPPP 코딩을 이용하는 것보다 영상을 유지할 확률 즉, 심리스한 영상을 획득할 확률이 더 높은 것을 확인할 수 있다. 전술한 바와 같이, IPPP 코딩은 키 프레임인 I 프레임부터 연속하여 참조되는 P 프레임들만 생성한다. 즉, IPPP 코딩에 기반한 프레임들은 모두 참조 프레임이므로, 적어도 하나의 프레임에 대한 패킷 로스 발생 시, 패킷 회복에 대한 가능성이 없기 때문에 이후에 순차적으로 디코딩을 수행할 수 없게 되고, 디코딩 오류가 야기될 수 있다. 예를 들어, 패킷 로스 확률이 0.5%인 강전계 환경에서조차 심리스한 영상의 획득 확률은 65.30%에 불과한 것을 확인할 수 있다.
반면에, 계층적 P 코딩은 필수적으로 비-참조 프레임을 포함할 수 있다. 따라서, 패킷 로스가 발생한 프레임이 비-참조 프레임인 경우, 패킷 수신 장치는 상기 비-참조 프레임을 디코딩하지 않더라도 끊김이나 깨짐과 같은 오류 없이 영상을 재생할 수 있다. 또한, 본 개시의 예시적 실시예들에 따라, 패킷 로스가 발생한 프레임이 참조 프레임인 경우, 최대 대역폭이 모두 점유되었는지 여부에 관계 없이 항상 NACK 요청에 응답한 재전송이 수행되므로, 상기 오류가 발생할 확률을 더욱 감소시킬 수 있다. 통신 환경이 열악한 패킷 로스 확률 20%의 약전계 상황에서 IPPP 코딩에 기반하여 1초간 영상 패킷을 송신했을 때, 오류 없는 영상을 재생할 수 있는 확률은 0.13%에 불과하지만, 계층적 P 코딩에 기반하여 1초간 영상 패킷을 송신했을 때 오류 없는 영상을 재생할 수 있는 확률은 12.41%인 것을 볼 때, NACK 요청에 응답하여 참조 프레임들을 재전송하는 것이 효과적임을 알 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 계층적 P(prediction) 코딩에 기반하여, 다른 프레임들의 디코딩에 종속적인 참조 프레임들 및 다른 프레임의 디코딩에 독립적인 비-참조 프레임들을 포함하는 복수의 프레임들을 생성하는 인코더;
    상기 복수의 프레임들에 기반하여, 상기 참조 프레임들을 구성하는 제1 패킷들 및 상기 비-참조 프레임들을 구성하는 제2 패킷들을 생성하는 패킷 생성 회로;
    상기 제1 패킷들 및 상기 제2 패킷들을 임시로 저장하는 NACK 버퍼;
    상기 제1 패킷들 및 상기 제2 패킷들을 외부 장치에게 송신하는 송신 회로;
    상기 외부 장치가 수신 실패한 재전송 대상 패킷들을 지시하는 NACK 요청을 수신하는 수신 회로; 및
    상기 NACK 요청에 상응하는 상기 재전송 대상 패킷들 중 적어도 일부 패킷들만 재전송할 것을 판단하는 NACK 핸들러;를 포함하는 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서,
    상기 재전송 대상 패킷들 중 적어도 일부 패킷들은,
    상기 참조 프레임들을 구성하는 상기 제1 패킷들에 상응하는 것을 특징으로 하는 전자 장치.
  3. 제2항에 있어서,
    실시간 트래픽이 최대 트래픽을 초과하는지 모니터링하는 트래픽 레코더;를 더 포함하고,
    상기 NACK 핸들러는,
    상기 최대 트래픽의 초과 여부에 관계 없이, 상기 제1 패킷들을 재전송하는 것을 특징으로 하는 전자 장치.
  4. 제2항에 있어서,
    상기 NACK 핸들러는, 상기 NACK 요청을 디코딩하여 상기 재전송 대상 패킷들의 시퀀스 넘버를 획득하고,
    상기 획득된 시퀀스 넘버에 상응하는 패킷들을 상기 NACK 버퍼에게 요청하는 것을 특징으로 하는 전자 장치.
  5. 제4항에 있어서,
    상기 NACK 핸들러는,
    상기 NACK 버퍼로부터 수신한 재전송 대상 패킷들 중 NRI(Non Reference Indicator) 값이 0인 패킷들을 제외한 나머지 패킷들을 상기 제1 패킷들로 결정하는 것을 특징으로 하는 전자 장치.
  6. 제4항에 있어서,
    상기 NACK 핸들러는,
    상기 NACK 버퍼로부터 수신한 재전송 대상 패킷들 중 TID 값이 가장 큰 패킷들을 제외한 나머지 패킷들을 상기 제1 패킷들로 결정하는 것을 특징으로 하는 전자 장치.
  7. 계층적 P(prediction) 코딩에 기반하여, 다른 프레임들의 디코딩에 종속적인 참조 프레임들 및 다른 프레임의 디코딩에 독립적인 비-참조 프레임들을 포함하는 복수의 프레임들을 생성하는 인코더;
    송신 트래픽과 프레임 종류에 기반하여 상기 복수의 프레임들 중 일부 프레임에 대한 프레임 드랍(drop) 여부를 판단하는 패킷화 결정 회로;
    상기 복수의 프레임들 중 상기 참조 프레임들을 패킷화하여 제1 패킷들을 생성하고, 상기 비-참조 프레임들을 패킷화하여 제2 패킷들을 생성하는 패킷 생성 회로;
    상기 제1 패킷들 및 상기 제2 패킷들을 외부 장치에게 송신하는 송신 회로; 및
    상기 외부 장치에게 송신된 상기 제1 패킷들 및 상기 제2 패킷들의 크기에 기반한 송신 트래픽이 최대 트래픽을 초과하는지 모니터링하는 트래픽 레코더;를 포함하는 것을 특징으로 하는 전자 장치.
  8. 제7항에 있어서,
    상기 패킷화 결정 회로는,
    상기 트래픽 레코더에 기반하여 상기 최대 트래픽을 초과하는 상기 송신 트래픽이 발생하였는지 판단하고,
    상기 송신 트래픽이 상기 최대 트래픽을 초과하지 않는 경우, 상기 프레임 드랍을 결정하지 않는 것을 특징으로 하는 전자 장치.
  9. 제8항에 있어서,
    상기 패킷화 결정 회로는,
    상기 송신 트래픽이 상기 최대 트래픽을 초과한 경우, 상기 최대 트래픽을 초과한 시점에 상응하는 프레임이 상기 참조 프레임인지 또는 상기 비-참조 프레임인지 판단하는 것을 특징으로 하는 전자 장치.
  10. 제9항에 있어서,
    상기 패킷화 결정 회로는,
    상기 최대 트래픽을 초과한 시점에 상응하는 프레임이 상기 참조 프레임인 경우, 패킷화할 것을 결정하는 것을 특징으로 하는 전자 장치.
    상기 최대 트래픽을 초과한 시점에 상응하는 프레임이 상기 비-참조 프레임인 경우, 패킷화를 바이패스하고 프레임을 드랍하는 것을 특징으로 하는 전자 장치.
KR1020210027706A 2021-03-02 2021-03-02 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법 KR20220124031A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210027706A KR20220124031A (ko) 2021-03-02 2021-03-02 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법
US17/501,470 US11777860B2 (en) 2021-03-02 2021-10-14 Electronic device for transceiving video packet and operating method thereof
CN202210090239.7A CN115002385A (zh) 2021-03-02 2022-01-25 用于收发视频分组的电子设备及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210027706A KR20220124031A (ko) 2021-03-02 2021-03-02 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20220124031A true KR20220124031A (ko) 2022-09-13

Family

ID=83024001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210027706A KR20220124031A (ko) 2021-03-02 2021-03-02 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법

Country Status (3)

Country Link
US (1) US11777860B2 (ko)
KR (1) KR20220124031A (ko)
CN (1) CN115002385A (ko)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421387B1 (en) 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6587985B1 (en) 1998-11-30 2003-07-01 Matsushita Electric Industrial Co., Ltd. Data transmission method, data transmission apparatus, data receiving apparatus, and packet data structure
KR100431003B1 (ko) 2001-10-31 2004-05-12 삼성전자주식회사 데이터 송수신 시스템 및 방법
JP2008523689A (ja) 2004-12-10 2008-07-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 単層符号化を使用する無線ビデオストリーミング及び優先順位付けされたストリーミング
CN101371312B (zh) 2005-12-08 2015-12-02 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
FR2927749B1 (fr) 2008-02-14 2010-12-17 Canon Kk Procede et dispositif de transmission de donnees, notamment video.
US20100086024A1 (en) 2008-10-02 2010-04-08 Nec Laboratories America, Inc. Streaming scalable video over fading wireless channels
US20100125768A1 (en) * 2008-11-17 2010-05-20 Cisco Technology, Inc. Error resilience in video communication by retransmission of packets of designated reference frames
US20110235709A1 (en) * 2010-03-25 2011-09-29 Apple Inc. Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
US9131110B2 (en) 2012-02-10 2015-09-08 Polycom, Inc. System and method for handling critical packets loss in multi-hop RTP streaming
US10009628B2 (en) * 2013-06-07 2018-06-26 Apple Inc. Tuning video compression for high frame rate and variable frame rate capture
KR102080116B1 (ko) 2013-06-10 2020-02-24 삼성전자 주식회사 이동통신 시스템에서 비디오 비트레이트 할당 방법 및 장치
BR112018006009B1 (pt) * 2015-09-25 2023-12-12 Huawei Technologies Co., Ltd Codificador de vídeo, decodificador de vídeo, métodos para a codificação e decodificação preditiva e meio de armazenamento legível por computador
CN108370445B (zh) * 2015-09-25 2020-02-21 华为技术有限公司 一种视频编码器和视频解码器
EP3252979B1 (en) 2016-06-03 2019-01-30 Mitsubishi Electric R&D Centre Europe B.V. Requesting retransmission of data in a multicast network
KR102497216B1 (ko) 2017-05-10 2023-02-07 삼성전자 주식회사 슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법
US20180343098A1 (en) 2017-05-24 2018-11-29 Qualcomm Incorporated Techniques and apparatuses for controlling negative acknowledgement (nack) transmissions for video communications
KR102392888B1 (ko) 2017-10-26 2022-04-29 에스케이텔레콤 주식회사 패킷 손실 복구를 개선하기 위한 장치 및 방법
US20190268601A1 (en) * 2018-02-26 2019-08-29 Microsoft Technology Licensing, Llc Efficient streaming video for static video content

Also Published As

Publication number Publication date
US20220286400A1 (en) 2022-09-08
US11777860B2 (en) 2023-10-03
CN115002385A (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
US12010016B2 (en) Data stream transmission method and device
US7443797B2 (en) Medium streaming distribution system
JP4454320B2 (ja) 伝送装置、伝送制御プログラム、及び伝送方法
US8411581B2 (en) Method and system for medium access control (MAC) layer specialization for voice and multimedia data streams
CN101861709B (zh) 用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置
EP2437421B1 (en) Method, device and communication system for retransmitting based on forward error correction
JP2013070436A (ja) 損失の多いネットワークを通してデータを送信するためのシステム及び方法
CA2594121A1 (en) Adaptive information delivery system using fec feedback
CA2546984C (en) Device and method for the preparation of sending data and corresponding products
Wu et al. Streaming high-definition real-time video to mobile devices with partially reliable transfer
Wu et al. IPTV multicast over wireless LAN using merged hybrid ARQ with staggered adaptive FEC
US20230231787A1 (en) Communication method and an apparatus
KR20060065739A (ko) 콘텐츠 배신 및 수신 장치, 콘텐츠 송수신 시스템, 콘텐츠 배신 및 수신 방법, 콘텐츠 배신 및 수신용 프로그램을 수록한 컴퓨터 판독가능 기록매체
EP3641273B1 (en) Edge node control
KR100851918B1 (ko) 네트워크 적응형 데이터 전송 방법, 이를 위한 데이터 전송시스템, 데이터 송신 장치, 및 데이터 수신 장치
Gorkemli et al. Video streaming over wireless DCCP
KR20220124031A (ko) 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법
US9307441B1 (en) Systems and methods of transferring information to a wireless device
Ho et al. QoS-supporting video streaming system with minimum data service cost over heterogeneous wireless networks
JP5523163B2 (ja) 送信装置、送信方法、プログラム
WO2022228037A1 (zh) 一种流媒体数据传输的方法及相关设备
EP3544370B1 (en) Delivering content over muliple different networks using different transmission modes
Osunkunle Quality of Experience Enhancement Architecture For Video Delivery On WiFi.
Ho et al. Networking cost effective video streaming system over heterogeneous wireless networks
JP2016058909A (ja) 通信システム、通信装置、通信方法及び通信プログラム