KR20230069566A - 영상 송신 장치 및 방법 - Google Patents

영상 송신 장치 및 방법 Download PDF

Info

Publication number
KR20230069566A
KR20230069566A KR1020210155700A KR20210155700A KR20230069566A KR 20230069566 A KR20230069566 A KR 20230069566A KR 1020210155700 A KR1020210155700 A KR 1020210155700A KR 20210155700 A KR20210155700 A KR 20210155700A KR 20230069566 A KR20230069566 A KR 20230069566A
Authority
KR
South Korea
Prior art keywords
resolution
frame rate
dual
threshold
image
Prior art date
Application number
KR1020210155700A
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 KR1020210155700A priority Critical patent/KR20230069566A/ko
Priority to CN202280049608.6A priority patent/CN117678226A/zh
Priority to PCT/KR2022/012095 priority patent/WO2023085559A1/ko
Priority to EP22892982.4A priority patent/EP4344217A1/en
Priority to US17/900,243 priority patent/US20230156150A1/en
Publication of KR20230069566A publication Critical patent/KR20230069566A/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/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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 개시의 다양한 실시예는 영상 수신 장치로부터 수신한 소정의 제어 정보에 기초하여 결정된 네트워크 대역 예측값 및 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율을 변경함으로써 네트워크 대역 변동성에 강건하게 대처할 수 있는 영상 송신 장치 및 방법에 관한 것이다. 이를 위한 영상 송신 장치는 영상 신호를 입력받고; 상기 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값을 설정하고; 영상 수신 장치로부터 수신한 소정의 제어 정보에 기초하여 네트워크 대역 예측값을 결정하고; 상기 네트워크 대역 예측값 및 상기 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단하고; 해상도 또는 프레임율이 변경된 경우, 프레임 시퀀스 정보를 갱신하고; 변경된 해상도 또는 프레임율에 기초하여 인코딩 파라미터를 설정하고; 상기 설정된 인코딩 파라미터에 기초하여 영상 신호를 인코딩하고; 상기 인코딩된 영상 신호를 상기 영상 수신 장치에게 송신하는 동작들을 포함할 수 있다.

Description

영상 송신 장치 및 방법 {VIDEO TRANSMISSION APPARATUS AND METHOD OF THE SAME}
본 개시의 다양한 실시예들은 영상 수신 장치로부터 수신한 소정의 제어 정보에 기초하여 결정된 네트워크 대역 예측값 및 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율을 변경함으로써, 네트워크 대역 변동성에 강건하게 대처할 수 있는 영상 송신 장치 및 방법에 관한 것이다.
영상 송신 장치는 IP 기반 네트워크를 통해 영상 수신 장치에게 영상을 스트리밍함으로써 영상을 공유할 수 있다. 영상 송신 장치는 영상을 인코딩하고 스트리밍 데이터 패킷을 생성하여 영상 수신 장치에게 전송하고, 영상 수신 장치는 스트리밍 데이터 패킷을 수신하고 영상을 디코딩한 후 영상을 재생할 수 있다. 영상 송신 장치가 송신하는 일련의 스트리밍 데이터 패킷을 스트림(Stream)이라고 한다.
적응적 스트리밍 서비스란, 전송 대역폭과 같은 네트워크 환경 변화에 따라 영상의 해상도 및 프레임율 등 스트리밍 서비스의 품질을 적응적으로 변경하여 전송하는 방식을 의미한다.
적응적 스트리밍 서비스의 일 예로서, 청크(chunk) 단위의 적응적 스트리밍 서비스의 경우, 영상 송신 장치가 각각의 해상도 및 프레임율로 인코딩된 영상을 일정한 길이로 분할된 청크 형태로 저장하고 있는 상태에서, 네트워크 환경 변화에 따라 청크 단위로 스트림을 전환하므로, 즉각적으로 네트워크 변동성에 대응하기 어렵고 이로 인한 지연이 발생할 수 있다는 문제점이 있다.
이러한 문제점을 해결하고자 청크를 구성하는 프레임 단위로 적응적 스트리밍 서비스를 제공하는 경우, 각각의 해상도 또는 프레임율 구간을 대응되는 임계값을 이용하여 나누고, 영상 송신 장치가 임계값에 기초하여 네트워크 환경 변화에 따라 프레임 단위로 해상도 또는 프레임율을 변경하여 스트리밍하므로, 상기 청크 단위의 스트리밍 서비스와 비교하였을 때 상대적으로 저지연 스트리밍이 가능할 수 있다. 그러나, 프레임 단위의 적응적 스트리밍 서비스의 경우, 네트워크 대역 변동성에 대한 민감도가 높아져 프레임 단위로 빈번하게 해상도 또는 프레임율이 변경될 수 있고, 해상도 또는 프레임율 변경에 따라 독립적인 인코딩이 요구되는 비압축/기준 프레임인 I 프레임(Infra Frame)이 과다 사용됨에 따라 압축 성능 저하 및 이로 인한 화질 저하가 발생할 수 있다.
도 1은 종래의 프레임 단위의 적응적 스트리밍 서비스에서, 영상 송신 장치가 네트워크 대역 변동성에 대응하여 영상의 해상도를 변경하는 시나리오를 개념적으로 도시한다. 도 1을 참조하면, 영상 송신 장치는 BW_TH1, BW_TH2의 2개 임계값에 기초하여, 영상을 4K, 2K, HD의 3개 해상도 구간으로 나누어 영상 스트리밍 서비스를 제공한다. 네트워크 대역이 파란 실선으로 표시된 바와 같이 순차적으로 변동될 경우, 영상 송신 장치는 BW_TH1 임계값 주변에서 해상도를 7번 변경할 수 있고, 해상도 변경에 따라 I 프레임도 7번 사용하여 인코딩할 수 있다. I 프레임은 프레임간 압축을 사용하지 않으므로, P 프레임(Predicted Frame) 또는 B 프레임(Bidirectional Frame)에 비해 압축 효율이 수십 내지 수백 배가 낮다. 따라서, 종래 프레임 단위의 적응적 스트리밍 서비스에서는 짧은 시간에 많은 I 프레임의 사용으로 인한 급격한 압축 성능 저하 및 화질 저하가 발생할 수 있다.
적응적 스트리밍 서비스를 제공함에 있어서, 각각의 해상도 또는 프레임율 구간에 대응되는 임계값 주변으로 네트워크 대역이 빈번하게 변동되어 네트워크 대역 변동성이 민감한 경우, 영상 송신 장치는 실시간으로 적응적 스트리밍을 하되 동시에 해상도 또는 프레임율의 빈번한 변경을 억제하여 네트워크 대역 변동성에 강건하게 대처할 필요가 있다.
본 개시의 다양한 실시예들은 영상 수신 장치로부터 수신한 소정의 제어 정보에 기초하여 결정된 네트워크 대역 예측값 및 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율을 변경하는 영상 송신 장치 및 방법을 제공하는데 있다.
본 개시의 일 실시예에 따르면 영상 송신 장치는 네트워크를 통해 데이터를 송수신하는 통신부; 영상 신호를 입력받는 영상 입력부; 상기 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값을 저장하는 메모리; 상기 이중 대역 임계값을 설정하여 상기 메모리에 저장하고, 상기 통신부를 제어하여 영상 수신 장치로부터 수신한 소정의 제어 정보에 기초하여 네트워크 대역 예측값을 결정하고, 상기 네트워크 대역 예측값 및 상기 이중 대역 임계값에 기초하여 상기 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단하는 영상 전처리부; 해상도 또는 프레임율이 변경된 경우 프레임 시퀀스 정보를 갱신하고, 변경된 해상도 또는 프레임율에 기초하여 인코딩 파라미터를 설정하고, 상기 설정된 인코딩 파라미터에 기초하여 영상 신호를 인코딩하는 영상 인코딩부; 및 상기 인코딩된 영상 신호를 상기 영상 수신 장치에게 송신하도록 상기 통신부를 제어하는 영상 출력부를 포함할 수 있다.
또한, 본 개시의 일 실시예에 따르면 영상 송신 방법은, 영상 신호를 입력받는 동작; 상기 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값을 설정하는 동작; 영상 수신 장치로부터 수신한 소정의 제어 정보에 기초하여 네트워크 대역 예측값을 결정하는 동작; 상기 네트워크 대역 예측값 및 상기 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단하는 동작; 및 해상도 또는 프레임율이 변경된 경우, 프레임 시퀀스 정보를 갱신하는 동작; 변경된 해상도 또는 프레임율에 기초하여 인코딩 파라미터를 설정하는 동작; 상기 설정된 인코딩 파라미터에 기초하여 영상 신호를 인코딩하는 동작; 및 상기 인코딩된 영상 신호를 상기 영상 수신 장치에게 송신하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 영상 송신 장치가 네트워크 대역 변동을 고려하여 적응적으로 영상을 인코딩함으로써, 저지연으로 고화질 영상을 전송할 수 있다.
또한, 각각의 해상도 또는 프레임율 구간에 대응되는 임계값 주변으로 네트워크 대역이 빈번하게 변동되어 네트워크 대역 변동성이 민감한 경우, 영상 송신 장치가 이중 대역 임계값 또는 다중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단함으로써, 해상도 또는 프레임율의 변경 빈도수를 줄일 수 있고 비압축 I 프레임의 과다 사용을 막을 수 있으며 이를 통해 압축 성능 저하 및 화질 저하를 방지할 수 있고, 네트워크 대역 변동성에 강건하게 대처할 수 있다.
이와 같은 저지연 고화질 영상 스트리밍을 통해, 댁내 어디서든 영상을 끊김없이 자유롭게 시청하거나 공유할 수 있는 일체화된 시청 경험을 제공할 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 종래 기술인 프레임 단위의 적응적 스트리밍 서비스에서, 영상 송신 장치가 네트워크 대역 변동성에 대응하여 영상의 해상도를 변경하는 시나리오를 개념적으로 도시한다.
도 2는 본 개시의 일 실시예에 따른 적응적 스트리밍 서비스를 제공하는 시스템을 개략적으로 도시한다.
도 3은 본 개시의 일 실시예에 따른 적응적 스트리밍 서비스를 제공하는 영상 송신 장치의 개략적인 블록도이다.
도 4 및 도 5는 본 개시의 일 실시예에 따른 영상 송신 장치가 네트워크 대역 변동성에 대응하여 영상의 해상도를 변경하는 시나리오를 개념적으로 도시한다.
도 6은 본 개시의 일 실시예에 따른 해상도 별 비트율과 시청 화질 간의 상관 관계를 도시한다.
도 7은 본 개시의 일 실시예에 따른 영상 송신 방법의 개략적인 흐름도이다.
본 개시의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도, 판례 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하에서는 도면을 참조하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 동일한 참조부호는 동일한 구성요소를 지칭하며, 도면 상에서 각 구성 요소의 크기는 설명의 명료성을 위하여 과장되어 있을 수 있다.
도 2는 본 개시의 일 실시예에 따른 적응적 스트리밍 서비스를 제공하는 시스템을 개략적으로 도시한다.
도 2를 참조하면, 본 실시예에 따른 적응적 스트리밍 서비스 제공 시스템(200)은 영상 송신 장치(210) 및 영상 수신 장치(220)를 포함할 수 있다. 영상 송신 장치(210)는 네트워크 환경 변화에 따라 해상도 또는 프레임율을 변경하여 영상 프레임을 인코딩하여 영상 수신 장치(220)에게 영상 스트림(또는 영상 신호)을 제공하고, 영상 수신 장치(220)는 영상 송신 장치(210)로부터 영상 스트림을 수신하여 재생할 수 있다. 영상 송신 장치(210)는 영상 수신 장치(220)로부터 수신한 소정의 제어 정보에 기초하여, 네트워크 환경 변화에 따른 네트워크 대역 예측값을 결정할 수 있거나, 영상 수신 장치(220)가 결정한 네트워크 대역 예측값을 영상 수신 장치(220)로부터 수신할 수 있다. 예를 들어, 영상 송신 장치(210)는 영상 수신 장치(220)로부터 수신한 ACK(Acknoledgement, 긍정 확인 응답) 신호의 네트워크 전송 시간을 고려하여 네트워크 환경 변화에 따른 네트워크 대역 예측값을 결정할 수 있으나, 다양한 제어 정보를 이용할 수 있음은 당업자에게 자명하다. 영상 수신 장치(220)가 네트워크 대역 예측값을 결정하여 영상 송신 장치(210)에게 송신하는 경우, 영상 수신 장치(220)는 이전에 전송된 영상 스트림 전송 정보에 기초하여 네트워크 대역 예측값을 결정할 수 있으나, 다양한 방식으로 네트워크 대역 예측값을 결정할 수 있음은 당업자에게 자명하다. 영상 송신 장치(210)는 상기 네트워크 대역 예측값에 기초하여 프레임 단위로 해상도 및 프레임율을 결정함으로써, 네트워크 환경 변화를 고려하여 적응적으로 저지연 영상 스트리밍 서비스를 제공할 수 있다. 영상 송신 장치(210)는 TV, PC, 스마트폰, 태블릿, 셋톱박스, 게임 콘솔 등 다양한 영상 소스 장치를 포함할 수 있고, 영상 수신 장치(220)는 TV, 스마트폰, 태블릿, PC 등 다양한 영상 재생 장치를 포함할 수 있다. 영상 송신 장치(210) 및 영상 수신 장치(220)가 특정 유형의 장치에 제한되지 않음은 당업자에게 자명하다.
영상 송신 장치(210) 및 영상 수신 장치(220)는 네트워크(230)를 통해 영상 스트림 및 제어 정보를 송수신할 수 있다. 다양한 실시예에 따르면, 영상 송신 장치(210) 및 영상 수신 장치(220)를 연결하는 네트워크(230)는 WiFi(Wireless Fidelity) 등과 같은 근거리 통신 네트워크와 셀룰러 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크를 포함할 수 있고, IP 통신 프로토콜 기반으로 통신할 수 있다. 상기 셀룰러 네트워크는 GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), CDMA(Code Division Multiple Access), TDMA(Time Division Multiplexing Access), 5G, LTE(Long Term Evolution) 및 LTE-A(LTE Advance)를 포함할 수 있다. 네트워크(230)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(230)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(230)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(230)는 사물 등 분산된 구성 요소들 간에 정보를 주고받아 처리하는 IoT(Internet of Things, 사물인터넷) 망을 지원할 수 있다.
도 3은 본 개시의 일 실시예에 따른 적응적 스트리밍 서비스를 제공하는 영상 송신 장치의 개략적인 블록도이다.
도 3을 참조하면, 영상 송신 장치(300)는 영상 입력부(310), 영상 전처리부(320), 영상 인코딩부(330) 및 영상 출력부(340)를 포함할 수 있다. 영상 송신 장치(300)는 메모리(미도시), 프로세서(미도시) 및 통신부(미도시)를 더 포함할 수 있다. 영상 송신 장치(300)는 도시된 구성요소 외에 추가적인 구성요소를 포함하거나, 도시된 구성요소 중 적어도 하나를 생략할 수 있다.
일 실시예에 따르면, 상기 메모리는 하나 이상의 명령어들(instructions)을 포함하는 프로그램 또는 설정 정보와 같은 데이터를 저장할 수 있다. 상기 메모리는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 상기 메모리는 상기 프로세서의 요청에 따라 저장된 데이터를 제공할 수 있다.
일 실시예에 따르면, 상기 통신부는 다른 시스템들 또는 장치와의 통신을 위한 인터페이스를 제공할 수 있다. 상기 통신부는 외부 망(예: 네트워크)을 통한 통신을 가능하게 하는 네트워크 인터페이스 카드 또는 무선 송/수신부를 포함할 수 있다. 상기 통신부는 무선 망에 접속하기 위한 신호 처리를 수행할 수 있다. 상기 무선 망은, 예를 들어, 무선랜, 또는 셀룰러 망(예: LTE(Long Term Evolution)) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 통신부 및 상기 메모리와 전기적으로 연결되고, 상기 메모리에 저장된 프로그램을 이용하여 영상 송신 장치(300)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 상기 프로세서는 영상 입력부(310), 영상 전처리부(320), 영상 인코딩부(330) 및 영상 출력부(340)에 대응하는 적어도 하나의 명령어를 실행할 수 있다. 상기 프로세서는 중앙처리장치(CPU), 그래픽처리장치(GPU), MCU(Micro Controller Unit), 센서 허브, 보조 프로세서(Supplementary Processor), 통신 프로세서(Communication Processor), 애플리케이션 프로세서(Application Processor), ASIC(Application Specific Integrated Circuit), 또는 FPGA(Field Programmable Gate Arrays) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다.
일 실시예에 따르면, 영상 입력부(310)는 영상 프레임을 입력 받을 수 있다. 상기 영상 프레임은 영상 송신 장치(300)의 외부로부터 수신되거나, 영상 송신 장치(300)에 내장된 것일 수 있다. 영상 입력부(310)는 상기 통신부를 제어하여, 유선 또는 무선 방식으로 외부로부터 영상 프레임을 수신할 수 있다.
일 실시예에 따르면, 영상 전처리부(320)는 영상 수신 장치(220)로부터 수신한 소정의 제어 정보에 기초하여 네트워크 대역 예측값을 결정할 수 있거나, 영상 수신 장치(220)로부터 수신한 네트워크 대역 예측값을 획득할 수 있다. 예를 들어, 영상 전처리부(320)는 영상 수신 장치(220)로부터 수신한 ACK(Acknoledgement, 긍정 확인 응답) 신호의 네트워크 전송 시간을 고려하여 네트워크 환경 변화에 따른 네트워크 대역 예측값을 결정할 수 있으나, 다양한 제어 정보를 이용할 수 있음은 당업자에게 자명하다. 영상 수신 장치(220)가 네트워크 대역 예측값을 결정하여 영상 송신 장치(300)에게 송신하는 경우, 영상 수신 장치(220)는 이전에 전송된 영상 스트림 전송 정보에 기초하여 네트워크 대역 예측값을 결정할 수 있으나, 다양한 방식으로 네트워크 대역 예측값을 결정할 수 있음은 당업자에게 자명하다.
영상 전처리부(320)는 이중 대역 임계값을 설정하여 상기 메모리에 저장하고, 상기 네트워크 대역 예측값 및 상기 설정된 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단할 수 있다. 상기 이중 대역 임계값은 제1 해상도 또는 제1 프레임율에서 제2 해상도 또는 제2 프레임율로 해상도 또는 프레임율을 높일지 여부를 판단하기 위한 기준값인 상한 대역 임계값 및 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 낮출지 여부를 판단하기 위한 기준값인 하한 대역 임계값을 포함할 수 있다. 영상 전처리부(320)는 외부입력에 기초하여 상기 이중 대역 임계값을 설정할 수 있다.
영상 전처리부(320)는 상기 네트워크 대역 예측값이 상기 상한 대역 임계값을 초과하는 경우, 상기 제1 해상도 또는 상기 제1 프레임율에서 상기 제2 해상도 또는 상기 제2 프레임율로 해상도 또는 프레임율을 변경할 수 있다. 영상 전처리부(320)는 상기 네트워크 대역 예측값이 상기 하한 대역 임계값 미만인 경우, 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 변경할 수 있다.
일 실시예에 따르면, 영상 인코딩부(330)는 해상도 또는 프레임율이 변경된 경우, 프레임 시퀀스 정보를 갱신할 수 있다. 프레임 시퀀스 정보란 프로파일, 레벨, 해상도, 프레임율 등 프레임 시퀀스의 인코딩 또는 디코딩에 관련된 정보가 포함되어 있는 헤더 정보를 의미한다. 예를 들어, 상기 프레임 시퀀스 정보는 H.264 코덱의 SPS(Sequence Parameter Set)를 포함할 수 있으나, 이에 제한되지 않음은 당업자에게 자명하다. 상기 프로파일은 영상의 인코딩/디코딩 동작을 구성하는 기술요소 중 대표적인 응용시스템에 대해 최소한으로 필요한 기술요소와 기능을 모아둔 것을 의미한다.
영상 인코딩부(330)는 영상 전처리부(320)에 의해 결정된 해상도 또는 프레임율에 기초하여 인코딩 파라미터를 설정할 수 있다. 상기 인코딩 파라미터는 프레임율, 인트라(Intra)/인터(Inter) 모드 예측, 인루프 필터(In-loop Filter), Slice type 등 적어도 하나의 인코딩 정보를 포함할 수 있으나, 이에 제한되지 않음은 당업자에게 자명하다. 인터 모드 예측이란 이전 시간에 코딩된 픽쳐로부터 예측 블록을 생성하는 인코딩 방식을 의미하고, 인트라 모드 예측이란 현재 픽쳐 내의 부호화된 인접 픽셀들로부터 코딩하려는 블록에 대한 예측 값을 생성하는 인코딩 방식을 의미한다. 인루프 필터는 복원영상의 화질을 향상시키기 위한 기술로서, 디블록킹 필터(Deblocking filter), SAO(Sample Adaptive Offset) 및 적응적 루프 필터(ALF: Adaptive Loop Filter) 등을 포함할 수 있다. 디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. Slice type이란, 인코딩을 위한 기본 단위인 슬라이스의 종류를 표시하며, P, B, I, SP, SI 슬라이스 등을 포함할 수 있다. P 슬라이스란 화면내 부호화 또는 참조픽처 한 장을 사용한 화면간 예측부호화를 수행하는 슬라이스를 의미한다. B 슬라이스란 화면내 부호화 또는 참조픽처 두 장을 사용한 화면간 예측부호화를 수행하는 슬라이스를 의미한다. I 슬라이스란 화면내 부호화 만을 수행하는 슬라이스를 의미한다. SP 슬라이스란 비트열 전환을 수행하기 위한 특별한 P 슬라이스를 의미한다. SI 슬라이스란 비트열 전환을 수행하기 위한 특별한 I 슬라이스를 의미한다. 영상 인코딩부(330)는 해상도 또는 프레임율이 변경된 후 최초 프레임은, 이전 프레임들과 독립적으로, I 슬라이스로 인코딩할 수 있다. 영상 송신 장치(300)는 설정된 인코딩 파라미터에 기초하여, 프레임을 인코딩할 수 있다.
일 실시예에 따르면, 영상 출력부(340)는 인코딩된 프레임을 포함하는 영상 신호를 네트워크(230)를 통해 영상 수신 장치(220)에게 송신하도록 상기 통신부를 제어할 수 있다.
도 4 및 도 5는 본 개시의 일 실시예에 따른 영상 송신 장치가 네트워크 대역 변동성에 대응하여 영상의 해상도를 변경하는 시나리오를 개념적으로 도시한다.
도 4를 참조하면, 영상 전처리부(320)는 영상의 해상도를 4K에서 2K로 낮출지 여부를 판단하기 위한 기준값인 하한 대역 임계값(BW_TH1_L) 및 영상의 해상도를 2K에서 4K로 높일지 여부를 판단하기 위한 기준값인 상한 대역 임계값(BW_TH1_H)을 포함하는 제1 이중 대역 임계값을 외부입력에 기초하여 설정할 수 있다. 또한, 영상 전처리부(320)는 영상의 해상도를 2K에서 HD로 낮출지 여부를 판단하기 위한 기준값인 하한 대역 임계값(BW_TH2_L) 및 영상의 해상도를 HD에서 2K로 높일지 여부를 판단하기 위한 기준값인 상한 대역 임계값(BW_TH2_H)을 포함하는 다른 제1 이중 대역 임계값을 외부입력에 기초하여 설정할 수 있다.
도시된 예를 참조하면, 영상 전처리부(320)는 네트워크 대역 예측값이 상한 대역 임계값 BW_TH1_H를 초과하는 경우, 2K 해상도에서 4K 해상도로 영상의 해상도를 변경할 수 있다. 또한, 영상 전처리부(320)는 네트워크 대역 예측값이 하한 대역 임계값 BW_TH1_L 미만인 경우, 4K 해상도에서 2K 해상도로 영상의 해상도를 변경할 수 있다. 도시된 예에서, 영상 전처리부(320)는 상기 제1 이중 대역 임계값 및 상기 네트워크 대역 예측값에 기초하여 2번의 해상도 변경을 수행할 수 있다. 영상 인코딩부(330)는 해상도가 변경된 후 최초 프레임을 이전 프레임들과 독립적인 I 프레임으로 인코딩하므로, 2번의 I 프레임 인코딩이 수행될 수 있다.
본 실시예에 따르면, 각각의 해상도 또는 프레임율 구간에 대응되는 임계값 주변으로 네트워크 대역이 빈번하게 변동되어 네트워크 대역 변동성이 민감한 경우, 영상 전처리부(320)가 상기 제1 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단함으로써, 해상도 또는 프레임율의 변경 빈도수를 줄일 수 있고 비압축 I 프레임의 과다 사용을 막을 수 있으며 이를 통해 압축 성능 저하 및 화질 저하를 방지할 수 있고, 네트워크 대역 변동성에 강건하게 대처할 수 있다.
도 6은 본 개시의 일 실시예에 따른 해상도 별 비트율과 시청 화질 간의 상관 관계를 도시한다.
도 6을 참조하면, 4K와 같은 고해상도 영상은 화질은 우수하나 화소 수가 그 만큼 많으므로, 네트워크의 전송 비트율이 낮아지면 저해상도 영상 대비 압축률이 높아지므로 화질 저하가 심해질 수 있다. 도시된 예를 참조하면, 4K 영상과 2K 영상의 시청 화질은 7Mbps의 비트율에서 교차하고, 2K 영상과 HD 영상은 3Mbps의 비트율에서 교차할 수 있다. 시청 화질은 MOS(Mean Opinion Score) 및 VMAF (Video Multimethod Assessment Fusion) 등의 평가 측정법으로 측정될 수 있으나, 다양한 평가 측정법을 사용하여 측정할 수 있음은 당업자에게 자명하다.
따라서, 영상 전처리부(320)가 7Mbps와 같이 시청 화질이 교차되는 비트율 주변에서 상기 하한 대역 임계값 BW_TH1_L 및 상기 상한 대역 임계값 BW_TH1_H을 포함하는 이중 대역 임계값을 설정하고, 상기 이중 대역 임계값에 기초하여 영상의 해상도 변경 여부를 판단하더라도 시청 화질을 저하시키지 않으면서도 동시에 해상도 변경 빈도수를 줄일 수 있으므로 네트워크 대역 변동성에 강건하게 대처할 수 있다.
또한, 도 5를 참조하면, 이중 대역 임계값은 도 4를 참조하여 상술한 제1 이중 대역 임계값 이외에 제2 이중 대역 임계값을 더 포함할 수 있다. 상기 제2 이중 대역 임계값은 제1 해상도 또는 제1 프레임율에서 제2 해상도 또는 제2 프레임율로 해상도 또는 프레임율을 높일지 여부를 판단하기 위한 기준값인 제2 상한 대역 임계값(BW_TH1_HH, BW_TH2_HH) 및 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 낮출지 여부를 판단하기 위한 기준값인 제2 하한 대역 임계값(BW_TH1_LL, BW_TH2_LL)을 포함할 수 있다. 상기 제2 상한 대역 임계값은 상기 제1 상한 대역 임계값보다 소정값만큼 큰 값이고, 상기 제2 하한 대역 임계값은 상기 제1 하한 대역 임계값보다 소정값만큼 작은 값일 수 있다.
영상 전처리부(320)는 소정 시간 이내에 프레임율 또는 해상도 변경 이력이 있는 경우, 상기 네트워크 대역 예측값 및 상기 제2 이중 대역 임계값에 기초하여 해상도 또는 프레임율 변경 여부를 판단할 수 있다. 즉, 소정 시간 이내에 프레임율 또는 해상도 변경 이력이 있는 경우, 영상 전처리부(320)가 상기 제2 상한 대역 임계값과 상기 제2 하한 대역 임계값 간의 간격이 더 넓은 상기 제2 이중 대역 임계값에 기초하여 해상도 또는 프레임율 변경 여부를 판단함으로써, 네트워크 대역 변동성에 강건하게 대처할 수 있다.
도 5를 참조하면, 이전 5 프레임의 시간 이내에 해상도의 변경이 있는 경우, 영상 전처리부(320)는 네트워크 대역 예측값이 상기 제2 상한 대역 임계값 BW_TH1_HH를 초과하는 경우, 2K 해상도에서 4K 해상도로 영상의 해상도를 변경할 수 있다. 또한, 이전 5 프레임의 시간 이내에 해상도의 변경이 있는 경우, 영상 전처리부(320)는 네트워크 대역 예측값이 상기 제2 하한 대역 임계값 BW_TH1_LL 미만인 경우, 4K 해상도에서 2K 해상도로 영상의 해상도를 변경할 수 있다. 도시된 예에서, 영상 전처리부(320)는 5번째 프레임에서 4K에서 2K로의 해상도의 변경이 있었으므로, 8번째 프레임의 경우 상기 제2 이중 대역 임계값 및 네트워크 대역 예측값에 기초하여 해상도 변경 여부를 판단하므로, 결과적으로 해상도를 변경하지 않는 것으로 판단할 수 있다.
일 실시예에 따르면, 영상 전처리부(320)는 외부입력에 기초하여 상기 제2 이중 대역 임계값을 설정할 수 있다. 또는, 영상 전처리부(320)는 상기 제2 상한 대역 임계값과 상기 제2 하한 대역 임계값 간의 차이값이 해상도 및 프레임율 중 적어도 하나가 가장 최근에 변경된 영상 프레임과 현재 영상 프레임 간의 시간 차이에 대응되는 소정값을 갖도록 상기 제2 이중 대역 임계값을 동적으로 설정할 수 있다. 즉, 해상도 및 프레임율 중 적어도 하나가 가장 최근에 변경된 프레임과의 시간 차이가 짧을수록, 상기 제2 상한 대역 임계값과 상기 제2 하한 대역 임계값 간의 간격이 소정값만큼 더 커지도록 상기 제2 이중 대역 임계값을 동적으로 설정할 수 있다.
또한, 일 실시예에 따르면, 영상 전처리부(320)는 소정 시간 이내에 프레임율 또는 해상도 변경이 있는 경우, 해상도 또는 프레임율의 변경을 하지 않도록 판단할 수 있다.
또한, 일 실시예에 따르면, 영상 전처리부(320)는 적어도 하나의 네트워크 대역 변동 수준에 각각 대응되는 적어도 하나의 이중 대역 임계값을 포함하는 다중 대역 임계값을 설정할 수 있다. 네트워크 대역 변동 수준은 일정 시간 동안의 이전 네트워크 대역 정보들에 기초하여 평균 대역값 및 분산 등의 통계값을 이용하여 결정할 수 있으나, 다양한 방법을 이용하여 결정할 수 있음은 당업자에게 자명하다. 네트워크 대역 변동 수준이 높은 경우 대응되는 상한 대역 임계값과 하한 대역 임계값 간의 간격을 더 키우고, 네트워크 대역 변동 수준이 낮은 경우 대응되는 상한 대역 임계값과 하한 대역 임계값 간의 간격을 더 줄이는 방식으로 상기 다중 대역 임계값을 설정할 수 있다. 상기 다중 대역 임계값은 네트워크 대역 변동 수준을 변수로 하여 동적으로 설정될 수도 있다. 영상 전처리부(320)는 상기 다중 대역 임계값 중, 상기 네트워크 대역 예측값의 소정 시간 동안의 변동 수준에 대응되는 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단할 수 있다.
도 7은 본 개시의 일 실시예에 따른 영상 송신 방법의 개략적인 흐름도이다.
일 실시예에 따르면, 영상 송신 장치(300)는 영상 프레임(또는 영상 신호)을 입력 받을 수 있다. 상기 영상 프레임은 영상 송신 장치(300)의 외부로부터 수신되거나, 영상 송신 장치(300)에 내장된 것일 수 있다.
일 실시예에 따르면, 영상 송신 장치(300)는 영상 수신 장치(220)로부터 수신한 소정의 제어 정보에 기초하여 네트워크 대역 예측값을 결정할 수 있거나, 영상 수신 장치(220)로부터 수신한 네트워크 대역 예측값을 획득할 수 있다.
일 실시예에 따르면, 영상 송신 장치(300)는 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값을 설정하여 메모리에 저장할 수 있다.
일 실시예에 따른 동작 710에서, 영상 송신 장치(300)는 상기 네트워크 대역 예측값 및 상기 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단할 수 있다.
일 실시예에 따르면, 상기 이중 대역 임계값은 제1 이중 대역 임계값을 포함할 수 있다. 상기 제1 이중 대역 임계값은 제1 해상도 또는 제1 프레임율에서 제2 해상도 또는 제2 프레임율로 해상도 또는 프레임율을 높일지 여부를 판단하기 위한 기준값인 제1 상한 대역 임계값 및 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 낮출지 여부를 판단하기 위한 기준값인 제1 하한 대역 임계값을 포함할 수 있다. 영상 송신 장치(300)는 외부입력에 기초하여 상기 제1 이중 대역 임계값을 사전에 설정할 수 있다. 영상 송신 장치(300)는 상기 네트워크 대역 예측값이 상기 제1 상한 대역 임계값을 초과하는 경우, 상기 제1 해상도 또는 상기 제1 프레임율에서 상기 제2 해상도 또는 상기 제2 프레임율로 해상도 또는 프레임율을 변경할 수 있다. 또한, 영상 송신 장치(300)는 상기 네트워크 대역 예측값이 상기 제1 하한 대역 임계값 미만인 경우, 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 변경할 수 있다.
또한, 일 실시예에 따르면, 상기 이중 대역 임계값은 제2 이중 대역 임계값을 더 포함할 수 있다. 상기 제2 이중 대역 임계값은 상기 제1 해상도 또는 상기 제1 프레임율에서 상기 제2 해상도 또는 상기 제2 프레임율로 해상도 또는 프레임율을 높일지 여부를 판단하기 위한 기준값인 제2 상한 대역 임계값 및 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 낮출지 여부를 판단하기 위한 기준값인 제2 하한 대역 임계값을 포함할 수 있다. 상기 제2 상한 대역 임계값은 상기 제1 상한 대역 임계값보다 소정값만큼 큰 값이고, 상기 제2 하한 대역 임계값은 상기 제1 하한 대역 임계값보다 소정값만큼 작은 값일 수 있다. 영상 송신 장치(300)는 소정 시간 이내에 프레임율 또는 해상도 변경 이력이 있는 경우, 상기 네트워크 대역 예측값, 상기 제2 상한 대역 임계값 및 상기 제2 하한 대역 임계값에 기초하여 해상도 또는 프레임율 변경 여부를 판단할 수 있다. 영상 송신 장치(300)는 외부입력에 기초하여 상기 제2 이중 대역 임계값을 사전에 설정할 수 있다. 또는, 영상 송신 장치(300)는 상기 제2 상한 대역 임계값과 상기 제2 하한 대역 임계값 간의 차이값이 해상도 및 프레임율 중 적어도 하나가 가장 최근에 변경된 영상 프레임과 현재 영상 프레임 간의 시간 차이에 대응되는 소정값을 갖도록 상기 제2 이중 대역 임계값을 동적으로 설정할 수 있다.
또한, 일 실시예에 따르면, 영상 송신 장치(300)는 소정 시간 이내에 프레임율 또는 해상도 변경이 있는 경우, 해상도 또는 프레임율의 변경을 하지 않도록 판단할 수 있다.
또한, 일 실시예에 따르면, 영상 송신 장치(300)는 적어도 하나의 네트워크 대역 변동 수준에 각각 대응되는 적어도 하나의 이중 대역 임계값을 포함하는 다중 대역 임계값을 설정할 수 있다. 이 경우, 영상 송신 장치(300)는 상기 다중 대역 임계값 중, 상기 네트워크 대역 예측값의 소정 시간 동안의 변동 수준에 대응되는 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단할 수 있다.
영상 송신 장치(300)는 해상도 또는 프레임율이 변경된 경우 동작 720을 수행하고, 해상도 또는 프레임율이 변경되지 않은 경우 동작 740을 수행할 수 있다.
동작 720에서, 영상 송신 장치(300)는 상기 네트워크 대역 예측값 및 상기 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율을 변경할 수 있다.
동작 730에서, 영상 송신 장치(300)는 프레임 시퀀스 정보를 갱신할 수 있다. 프레임 시퀀스 정보란 프로파일, 레벨, 해상도, 프레임율 등 프레임 시퀀스의 인코딩 또는 디코딩에 관련된 정보가 포함되어 있는 헤더 정보를 의미한다.
동작 740에서, 영상 송신 장치(300)는 결정된 해상도 또는 프레임율에 기초하여 인코딩 파라미터를 설정할 수 있다.
동작 750에서, 영상 송신 장치(300)는 결정된 해상도 또는 프레임율에 기초하여, 영상 프레임(또는 영상 신호)을 인코딩할 수 있다. 영상 송신 장치(300)는 상기 인코딩된 영상 신호를 영상 수신 장치(220)에게 송신할 수 있다.
본 개시를 통해 설명된 영상 송신 장치(300) 및 영상 송신 장치(300)에 의해 실행되는 프로그램은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 프로그램은 컴퓨터로 읽을 수 있는 명령어들을 수행할 수 있는 모든 시스템에 의해 수행될 수 있다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(Read-Only Memory), RAM(Random-Access Memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 실시예들에 따른 프로그램은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 소프트웨어 프로그램, 소프트웨어 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 디바이스의 제조사 또는 전자 마켓(예를 들어, 구글 플레이스토어, 앱 스토어)을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션 (downloadable application))을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 소프트웨어 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 디바이스로 구성되는 시스템에서, 서버의 저장매체 또는 디바이스의 저장매체를 포함할 수 있다. 또는, 서버 또는 디바이스와 통신 연결되는 제3의 디바이스(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3의 디바이스의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 디바이스 또는 제3 디바이스로 전송되거나, 제3 디바이스로부터 디바이스로 전송되는 소프트웨어 프로그램 자체를 포함할 수 있다. 이 경우, 서버, 디바이스 및 제3 디바이스 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 디바이스 및 제3 디바이스 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다. 예를 들면, 서버가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 디바이스가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다. 또 다른 예로, 제3 디바이스가 컴퓨터 프로그램 제품을 실행하여, 제3 디바이스와 통신 연결된 디바이스가 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다. 제3 디바이스가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 디바이스는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 디바이스는 프리로드 (pre-loaded)된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 컴퓨터 시스템 또는 모듈 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (14)

  1. 네트워크를 통해 데이터를 송수신하는 통신부;
    영상 신호를 입력받는 영상 입력부;
    상기 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값을 저장하는 메모리;
    상기 이중 대역 임계값을 설정하여 상기 메모리에 저장하고, 상기 통신부를 제어하여 영상 수신 장치로부터 수신한 소정의 제어 정보에 기초하여 네트워크 대역 예측값을 결정하고, 상기 네트워크 대역 예측값 및 상기 이중 대역 임계값에 기초하여 상기 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단하는 영상 전처리부;
    해상도 또는 프레임율이 변경된 경우 프레임 시퀀스 정보를 갱신하고, 변경된 해상도 또는 프레임율에 기초하여 인코딩 파라미터를 설정하고, 상기 설정된 인코딩 파라미터에 기초하여 영상 신호를 인코딩하는 영상 인코딩부; 및
    상기 인코딩된 영상 신호를 상기 영상 수신 장치에게 송신하도록 상기 통신부를 제어하는 영상 출력부를 포함하는, 영상 송신 장치.
  2. 제 1항에 있어서,
    상기 이중 대역 임계값은 제1 이중 대역 임계값을 포함하고;
    상기 제1 이중 대역 임계값은 제1 해상도 또는 제1 프레임율에서 제2 해상도 또는 제2 프레임율로 해상도 또는 프레임율을 높일지 여부를 판단하기 위한 기준값인 제1 상한 대역 임계값 및 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 낮출지 여부를 판단하기 위한 기준값인 제1 하한 대역 임계값을 포함하고;
    상기 영상 전처리부는 외부입력에 기초하여 상기 제1 이중 대역 임계값을 설정하는, 영상 송신 장치.
  3. 제 2항에 있어서,
    상기 영상 전처리부는
    상기 네트워크 대역 예측값이 상기 제1 상한 대역 임계값을 초과하는 경우, 상기 제1 해상도 또는 상기 제1 프레임율에서 상기 제2 해상도 또는 상기 제2 프레임율로 해상도 또는 프레임율을 변경하고,
    상기 네트워크 대역 예측값이 상기 제1 하한 대역 임계값 미만인 경우, 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 변경하는, 영상 송신 장치.
  4. 제 2항에 있어서,
    상기 이중 대역 임계값은 제2 이중 대역 임계값을 더 포함하고;
    상기 제2 이중 대역 임계값은 상기 제1 해상도 또는 상기 제1 프레임율에서 상기 제2 해상도 또는 상기 제2 프레임율로 해상도 또는 프레임율을 높일지 여부를 판단하기 위한 기준값인 제2 상한 대역 임계값 및 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 낮출지 여부를 판단하기 위한 기준값인 제2 하한 대역 임계값을 포함하고;
    상기 제2 상한 대역 임계값은 상기 제1 상한 대역 임계값보다 소정값만큼 큰 값이고, 상기 제2 하한 대역 임계값은 상기 제1 하한 대역 임계값보다 소정값만큼 작은 값이고;
    상기 영상 전처리부는
    소정 시간 이내에 프레임율 또는 해상도 변경 이력이 있는 경우, 상기 네트워크 대역 예측값 및 상기 제2 이중 대역 임계값에 기초하여 해상도 또는 프레임율 변경 여부를 판단하는, 영상 송신 장치.
  5. 제 4항에 있어서,
    상기 영상 전처리부는
    외부입력에 기초하여 상기 제2 이중 대역 임계값을 설정하거나,
    상기 제2 상한 대역 임계값과 상기 제2 하한 대역 임계값 간의 차이값이 해상도 및 프레임율 중 적어도 하나가 가장 최근에 변경된 영상 프레임과 현재 영상 프레임 간의 시간 차이에 대응되는 소정값을 갖도록 상기 제2 이중 대역 임계값을 설정하는, 영상 송신 장치.
  6. 제 1항에 있어서,
    상기 영상 전처리부는
    소정 시간 이내에 프레임율 또는 해상도 변경이 있는 경우, 해상도 또는 프레임율의 변경을 하지 않도록 판단하는, 영상 송신 장치.
  7. 제 1항에 있어서,
    상기 영상 전처리부는
    적어도 하나의 네트워크 대역 변동 수준에 각각 대응되는 적어도 하나의 이중 대역 임계값을 포함하는 다중 대역 임계값을 설정하고,
    상기 다중 대역 임계값 중, 상기 네트워크 대역 예측값의 소정 시간 동안의 변동 수준에 대응되는 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단하는, 영상 송신 장치.
  8. 영상 신호를 입력받는 동작;
    상기 영상 신호의 해상도 또는 프레임율의 변경 여부를 판단할 수 있는 기준값인 이중 대역 임계값을 설정하는 동작;
    영상 수신 장치로부터 수신한 소정의 제어 정보에 기초하여 네트워크 대역 예측값을 결정하는 동작;
    상기 네트워크 대역 예측값 및 상기 이중 대역 임계값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단하는 동작; 및
    해상도 또는 프레임율이 변경된 경우, 프레임 시퀀스 정보를 갱신하는 동작;
    변경된 해상도 또는 프레임율에 기초하여 인코딩 파라미터를 설정하는 동작;
    상기 설정된 인코딩 파라미터에 기초하여 영상 신호를 인코딩하는 동작; 및
    상기 인코딩된 영상 신호를 상기 영상 수신 장치에게 송신하는 동작을 포함하는, 영상 송신 방법.
  9. 제 8항에 있어서,
    상기 이중 대역 임계값은 제1 이중 대역 임계값을 포함하고;
    상기 제1 이중 대역 임계값은 제1 해상도 또는 제1 프레임율에서 제2 해상도 또는 제2 프레임율로 해상도 또는 프레임율을 높일지 여부를 판단하기 위한 기준값인 제1 상한 대역 임계값 및 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 낮출지 여부를 판단하기 위한 기준값인 제1 하한 대역 임계값을 포함하고;
    상기 이중 대역 임계값을 설정하는 동작은 외부입력에 기초하여 상기 제1 이중 대역 임계값을 설정하는, 영상 송신 방법.
  10. 제 9항에 있어서,
    상기 네트워크 대역 예측값이 상기 제1 상한 대역 임계값을 초과하는 경우, 상기 제1 해상도 또는 상기 제1 프레임율에서 상기 제2 해상도 또는 상기 제2 프레임율로 해상도 또는 프레임율을 변경하는 동작; 및
    상기 네트워크 대역 예측값이 상기 제1 하한 대역 임계값 미만인 경우, 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 변경하는 동작을 더 포함하는, 영상 송신 방법.
  11. 제 9항에 있어서,
    상기 이중 대역 임계값은 제2 이중 대역 임계값을 더 포함하고;
    상기 제2 이중 대역 임계값은 상기 제1 해상도 또는 상기 제1 프레임율에서 상기 제2 해상도 또는 상기 제2 프레임율로 해상도 또는 프레임율을 높일지 여부를 판단하기 위한 기준값인 제2 상한 대역 임계값 및 상기 제2 해상도 또는 상기 제2 프레임율에서 상기 제1 해상도 또는 상기 제1 프레임율로 해상도 또는 프레임율을 낮출지 여부를 판단하기 위한 기준값인 제2 하한 대역 임계값을 포함하고;
    상기 제2 상한 대역 임계값은 상기 제1 상한 대역 임계값보다 소정값만큼 큰 값이고, 상기 제2 하한 대역 임계값은 상기 제1 하한 대역 임계값보다 소정값만큼 작은 값이고;
    상기 영상의 해상도 또는 프레임율의 변경 여부를 판단하는 동작은 소정 시간 이내에 프레임율 또는 해상도 변경 이력이 있는 경우, 상기 네트워크 대역 예측값 및 상기 제2 이중 대역 임계값에 기초하여 해상도 또는 프레임율 변경 여부를 판단하는, 영상 송신 방법.
  12. 제 11항에 있어서,
    상기 이중 대역 임계값을 설정하는 동작은
    외부입력에 기초하여 상기 제2 이중 대역 임계값을 설정하거나,
    상기 제2 상한 대역 임계값과 상기 제2 하한 대역 임계값 간의 차이값이 해상도 및 프레임율 중 적어도 하나가 가장 최근에 변경된 영상 프레임과 현재 영상 프레임 간의 시간 차이에 대응되는 소정값을 갖도록 상기 제2 이중 대역 임계값을 설정하는, 영상 송신 방법.
  13. 제 8항에 있어서,
    상기 영상의 해상도 또는 프레임율의 변경 여부를 판단하는 동작은
    소정 시간 이내에 프레임율 또는 해상도 변경이 있는 경우, 해상도 또는 프레임율의 변경을 하지 않도록 판단하는, 영상 송신 방법.
  14. 제 8항에 있어서,
    적어도 하나의 네트워크 대역 변동 수준에 각각 대응되는 적어도 하나의 이중 대역 임계값을 포함하는 다중 대역 임계값을 설정하는 동작; 및
    상기 다중 대역 임계값 중 상기 네트워크 대역 예측값의 소정 시간 동안의 변동 수준에 대응되는 이중 대역 임계값 및 상기 네트워크 대역 예측값에 기초하여 영상의 해상도 또는 프레임율의 변경 여부를 판단하는 동작을 더 포함하는, 영상 송신 방법.
KR1020210155700A 2021-11-12 2021-11-12 영상 송신 장치 및 방법 KR20230069566A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020210155700A KR20230069566A (ko) 2021-11-12 2021-11-12 영상 송신 장치 및 방법
CN202280049608.6A CN117678226A (zh) 2021-11-12 2022-08-12 图像发送设备和方法
PCT/KR2022/012095 WO2023085559A1 (ko) 2021-11-12 2022-08-12 영상 송신 장치 및 방법
EP22892982.4A EP4344217A1 (en) 2021-11-12 2022-08-12 Image transmission device and method
US17/900,243 US20230156150A1 (en) 2021-11-12 2022-08-31 Device and method for transmitting video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210155700A KR20230069566A (ko) 2021-11-12 2021-11-12 영상 송신 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230069566A true KR20230069566A (ko) 2023-05-19

Family

ID=86336232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210155700A KR20230069566A (ko) 2021-11-12 2021-11-12 영상 송신 장치 및 방법

Country Status (2)

Country Link
KR (1) KR20230069566A (ko)
WO (1) WO2023085559A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101514128B1 (ko) * 2013-05-29 2015-04-21 삼성에스디에스 주식회사 콘텐츠 제공 장치 및 방법
KR102064792B1 (ko) * 2013-12-17 2020-01-10 한국전자통신연구원 Http 기반의 멀티미디어 스트리밍 서비스를 위한 네트워크 대역폭 적응적 콘텐츠 생성 방법 및 시스템
KR20170098632A (ko) * 2016-02-22 2017-08-30 에스케이텔레콤 주식회사 인코더 장치 및 그 비디오 데이터 제공 방법
KR20170130253A (ko) * 2016-05-18 2017-11-28 에스케이텔레콤 주식회사 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치
KR102337811B1 (ko) * 2020-03-09 2021-12-09 국방과학연구소 가변적 협대역 네트워크 환경에 적응적인 영상 압축 장치 및 영상 압축 방법

Also Published As

Publication number Publication date
WO2023085559A1 (ko) 2023-05-19

Similar Documents

Publication Publication Date Title
CN109964482B (zh) 视频译码中指示双边滤波器使用的方法
US10412419B2 (en) Adaptive filtering in video coding
JP2020017986A (ja) 映像復号化方法、映像符号化方法および記録媒体
TWI479869B (zh) 色調片段位準量化系數偏移及解塊
US20180367818A1 (en) Block Partition Structure in Video Compression
CN110199522B (zh) 编码方法、解码方法和解码设备
US20220224919A1 (en) Small chroma block size restriction in video coding
JP2016523007A (ja) 改善されたrtpペイロードフォーマット設計
US20210006839A1 (en) Picture filtering method and apparatus, and video codec
KR20170126889A (ko) 저 복잡도 샘플 적응 오프셋 (sao) 코딩
JP2018511232A (ja) 非正方形区分を使用してビデオデータを符号化するための最適化
WO2018203202A1 (en) Quantization partitioning for enhanced image compression
JP2024038261A (ja) 4:4:4の彩度形式でのビデオ符号化の方法および装置
JP2009124518A (ja) 画像送信装置
KR20170044682A (ko) 비디오 코딩에서 인-루프 필터링을 위한 시스템 및 방법
US11611765B2 (en) Refinement mode processing in video encoding and decoding
JP2006141037A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US20220303580A1 (en) Methods and apparatus of video coding in 4:4:4 chroma format
KR20230069566A (ko) 영상 송신 장치 및 방법
US20230156150A1 (en) Device and method for transmitting video
WO2021119337A1 (en) Methods and apparatus of video coding in 4:4:4 chroma format
WO2021056575A1 (zh) 一种低延迟信源信道联合编码方法及相关设备
CN114868388A (zh) 在4:4:4色度格式下进行视频编解码的方法和装置
WO2024077574A1 (zh) 基于神经网络的环路滤波、视频编解码方法、装置和系统
WO2024077575A1 (zh) 基于神经网络的环路滤波、视频编解码方法、装置和系统