KR102314713B1 - 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치 - Google Patents

스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치 Download PDF

Info

Publication number
KR102314713B1
KR102314713B1 KR1020200183770A KR20200183770A KR102314713B1 KR 102314713 B1 KR102314713 B1 KR 102314713B1 KR 1020200183770 A KR1020200183770 A KR 1020200183770A KR 20200183770 A KR20200183770 A KR 20200183770A KR 102314713 B1 KR102314713 B1 KR 102314713B1
Authority
KR
South Korea
Prior art keywords
data
bits
overlay
image data
information
Prior art date
Application number
KR1020200183770A
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 KR1020200183770A priority Critical patent/KR102314713B1/ko
Application granted granted Critical
Publication of KR102314713B1 publication Critical patent/KR102314713B1/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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]

Abstract

전자 장치가 개시된다. 본 전자 장치는 통신 장치, 오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 저장하는 메모리, 및 기 설정된 크기의 화소 단위의 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹하고, 복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성하고, 생성된 스트리밍 데이터가 전송되도록 통신 장치를 제어하는 프로세서를 포함한다.

Description

스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치{IMAGE DATA PACKING METHOD FOR STREAMING AND ELECTRONIC APPARATUS USING IT}
본 개시는 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치에 관한 것으로, 보다 구체적으로는 오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 패킹하여 전송할 수 있는 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치에 관한 것이다.
현재 영상 제작에서 그래픽 오버레이의 처리는 오버레이 영상 데이터와 오버레이 영역 데이터를 이용하여, 오버레이 영상 데이터와 오버레이 영역 데이터에 대응되는 자막을 생성하고, 생성된 자막을 원본 영상 위에 오버레이하는 방식을 이용하고 있다.
최근에는 원본 영상, 오버레이 영상 데이터, 오버레이 영역 데이터 각각을 IP를 이용한 RTP(Real-time Transport Protocol) 영상 전송 패킷 형태로 인코딩하여 송수신하고 있다.
이와 같은 방식으로 원본 영상을 제외한 오버레이 영상의 각 데이터(오버레이 영상 데이터 및 오버레이 영역 데이터)를 스트리밍 전송하는 경우, 스트림당 HD 화질의 경우 초당 10 만개, UHD 화질의 경우 초당 97 만개 정도의 패킷이 소요된다는 점에서, 오버레이 영상 데이터 및 오버레이 영역 데이터를 송수신하는데 필요한 패킷을 줄일 수 있는 방법이 요구되었다.
본 개시는 상술한 문제점을 해결하기 위한 것으로서, 본 개시의 목적은 오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 패킹하여 전송할 수 있는 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치를 제공하는 데 있다.
본 개시는 일 실시 예에 따른 영상 데이터 패킹 방법은 오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 저장하는 단계, 기 설정된 크기의 화소 단위의 상기 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 상기 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹하는 단계, 및 복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성하는 단계를 포함한다.
이 경우, 상기 패킹하는 단계는 상기 오버레이 영상 데이터의 휘도 정보, 상기 오버레이 영상 데이터의 색차 정보, 상기 오버레이 영역 데이터의 휘도 정보를 기 설정된 순서에 따라 순차적으로 배치하여 하나의 화소 그룹 데이터로 패킹할 수 있다.
한편, 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터 각각은 4:2:2 샘플링 포맷을 가지며, 상기 기 설정된 크기의 화소 단위는, 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터의 색 데이터 비트 수가 8 비트, 12비트 또는 16비트이면 2개 화소 단위이고, 상기 색 데이터 비트 수가 10 비트이면 4개 화소 단위일 수 있다.
또는, 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터 각각은 4:2:0 샘플링 포맷을 가지며, 상기 기 설정된 크기의 화소 단위는, 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터의 색 데이터 비트 수가 8 비트, 12 비트 또는 16 비트이면 4개 화소 단위이고, 상기 색 데이터 비트 수가 10 비트이면 8개 화소 단위일 수 있다.
한편, 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터는 휘도와 색차로 구성된 색 공간으로 표현되는 데이터일 수 있다.
한편, 상기 스트리밍 데이터는 RTP(Real-time Transport Protocol) 패킷 구조를 가질 수 있다.
한편, 본 영상 데이터 패킹 방법은 상기 스트리밍 데이터를 전송하는 단계를 더 포함할 수 있다.
한편, 본 영상 데이터 패킹 방법은 패킹 방식에 대한 정보를 포함하는 SDP(Session Description Protocol)를 전송하는 단계를 더 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치는 통신 장치, 오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 저장하는 메모리, 및 기 설정된 크기의 화소 단위의 상기 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 상기 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹하고, 복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성하고, 상기 생성된 스트리밍 데이터가 전송되도록 상기 통신 장치를 제어하는 프로세서를 포함한다.
이 경우, 상기 프로세서는 상기 오버레이 영상 데이터의 휘도 정보, 상기 오버레이 영상 데이터의 색차 정보, 상기 오버레이 영역 데이터의 휘도 정보를 기 설정된 순서에 따라 순차적으로 배치하여 하나의 화소 그룹 데이터로 패킹할 수 있다.
한편, 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터 각각은 4:2:2 샘플링 포맷을 가지며, 상기 기 설정된 크기의 화소 단위는, 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터의 색 데이터 비트 수가 8 비트, 12비트 또는 16비트이면 2개 화소 단위이고, 상기 색 데이터 비트 수가 10 비트이면 4개 화소 단위일 수 있다.
또는, 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터 각각은 4:2:0 샘플링 포맷을 가지며, 상기 기 설정된 크기의 화소 단위는 상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터의 색 데이터 비트 수가 8 비트, 12 비트 또는 16 비트이면 4개 화소 단위이고, 상기 색 데이터 비트 수가 10 비트이면 8개 화소 단위일 수 있다.
한편, 상기 프로세서는 패킹 방식에 대한 정보를 포함하는 SDP(Session Description Protocol)를 전송하도록 상기 통신 장치를 제어할 수 있다.
이상 설명한 바와 같이, 본 개시의 다양한 실시 예에 따르면, 오버레이 영상 데이터와 오버레이 영역 데이터를 패킹하여 전송할 수 있는바, 자막 오버레이 하는 시스템의 네트워크 트래픽을 감소 시킬 수 있다.
도 1은 본 개시의 일 실시 예에 따른 영상 송신 시스템의 구성을 나타내는 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 도시한 도면,
도 3은 본 개시의 일 실시 예에 따른 전송 패킷의 형태를 설명하기 위한 도면,
도 4 내지 도 6은 제1 실시 예에 따른 패킹 동작을 설명하기 위한 도면,
도 7 내지 도 9는 제2 실시 예에 따른 패킹 동작을 설명하기 위한 도면,
도 10 내지 도 12는 제3 실시 예에 따른 패킹 동작을 설명하기 위한 도면,
도 13은 본 개시의 일 실시 예에 따른 영상 데이터 패킹 방법을 설명하기 위한 흐름도, 그리고,
도 14는 본 개시의 일 실시 예에 따른 패킹된 영상 데이터의 복원 방법을 설명하기 위한 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다." 또는 "구성되다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하여 본 개시에 대해 더욱 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 따른 영상 송신 시스템의 구성을 나타내는 도면이다.
도 1을 참조하면, 본 개시의 일 실시 예에 따른 영상 송신 시스템(1000)은 영상 생성 장치(100), 오버레이 영상 처리 장치(200) 및 스위처(300)를 포함할 수 있다. 여기서 각 장치들은 공용 인터넷망을 통하여 연결될 수 있다.
영상 생성 장치(100)는 원본 영상을 생성하고, 생성된 원본 영상을 스트리밍 데이터로 스위처(300)에 전송할 수 있다. 이러한 영상 생성 장치(100)는 카메라와 같은 촬상 장치일 수 있으며, 스트리밍 데이터는 IP를 이용한 RTP 영상 전송 패킷일 수 있다. RTP 영상 전송 패킷에 대해서는 도 3을 참조하여 후술한다.
오버레이 영상 처리 장치(200)는 원본 영상에 덮여질 오버레이 영상을 생성하고, 생성된 오버레이 영상에 대응되는 오버레이 영상 데이터와 오버레이 영역 데이터를 생성할 수 있다. 여기서, 오버레이 영상은 원본 영상에 슈퍼임포즈될 수 있는 영상으로 그래픽 영상, 자막 영상, 원본 영상과 다른 영상 등일 수 있다. 그리고 오버레이 영상 데이터는 FILL 영상으로 지칭될 수 있다. 그리고 오버레이 영역 데이터는 KEY 영상으로 지칭될 수 있으며, 오버레이 영상 데이터가 표시될 영역에 대한 정보로, 흑백 영상의 속성을 갖는다.
오버레이 영역 데이터를 YCbCr과 같은 휘도 정보와 색차 정보로 표현하는 경우, 휘도 정보가 의미있는 정보일 뿐, 색차 정보는 무의미한 정보이다.
따라서, 본 개시는 이러한 점을 고려하여, 오버레이 영상 데이터와 오버레이 영역 데이터에 대한 패킹 시에 오버레이 영역 데이터의 색차 정보를 반영하지 않음으로써 데이터 전송에 필요한 패킷의 크기를 줄인다.
이를 위하여, 오버레이 영상 처리 장치(200)는 기 설정된 크기의 화소 단위로 화소 그룹 데이터를 패킹할 때, 해당 화소 단위 내의 오버레이 영상 데이터의 휘도 정보, 색차 정보 및 오버레이 영역 데이터의 휘도 정보만으로 화소 그룹 데이터를 구성할 수 있다. 오버레이 영상 처리 장치(200)에서의 이와 같은 패킹 동작에 대해서는 도 4 내지 도 12를 참조하여 후술한다.
오버레이 영상 처리 장치(200)는 복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성하고, 생성한 스트리밍 데이터를 스위처(300)에 전송할 수 있다. 여기서, 스트리밍 데이터는 IP를 이용한 RTP 영상 전송 패킷일 수 있다.
스위처(300)는 영상 생성 장치(100)로부터 원본 영상에 대응되는 스트리밍 데이터를 수신하고, 오버레이 영상 처리 장치(200)로부터 오버레이 영역 데이터와 오버레이 영상 데이터가 패킹된 스크리밍 데이터를 수신할 수 있다.
스위처(300)는 패킹된 스트리밍 데이터로부터 오버레이 영역 데이터와 오버레이 영상 데이터를 복원하고, 복원된 오버레이 영역 데이터와 오버레이 영상 데이터를 이용하여 수신된 원본 영상 상에 자막을 오버레이할 수 있다.
그리고 스위처(300)는 자막이 오버레이된 원본 영상을 스트리밍 데이터로 출력할 수 있다. 여기서, 스트리밍 데이터는 IP를 이용한 RTP 영상 전송 패킷일 수 있다.
이상과 같이 본 실시 예에 따른 영상 송신 시스템(1000)은 영상 오버레이에 필요한 오버레이 영상 데이터와 오버레이 영역 데이터를 하나로 병합하여 스위처(300)에 제공하는바 네트워크 트래픽을 감소시킬 수 있다.
한편, 도 1을 도시하고 설명함에 있어서, 영상 송신 시스템(1000)에 하나의 영상 생성 장치가 포함되는 것으로 도시하고 설명하였지만, 구현 시에 영상 송신 시스템(1000)은 복수의 영상 생성 장치를 포함할 수 있으며, 스위처(300)는 복수의 영상 송신 장치에서 수신된 원본 영상 중 하나를 선택하고, 선택한 하나의 원본 영상에 오버레이 영상을 슈퍼임포즈하여 출력할 수 있다.
한편, 도 1을 도시하고 설명함에 있어서, 오버레이 영상 처리 장치(200)가 직접 오버레이 영상 데이터와 오버레이 영역 데이터를 생성하고, 이를 패킹하여 전송하는 것으로 설명하였지만, 구현 시에 오버레이 영상 처리 장치(200)는 외부로부터 영상 데이터와 오버레이 영역 데이터를 제공받고, 제공받은 두 데이터를 패킹하여 전송하는 기능만을 수행할 수 있다. 또는 오버레이 영상 처리 장치(200)는 영상 데이터와 자막 데이터를 생성하는 중단 단계를 생략하고, 오버레이 이미지(또는 그래픽 이미지, 자막 이미지)를 바로 오버레이 영상 데이터와 오버레이 영역 데이터가 병합된 패킹 데이터로 인코딩하는 것도 가능하다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 도시한 도면이다.
구체적으로, 도 1의 영상 송신 시스템(1000)에서 패킹된 데이터를 생성하는 오버레이 영상 처리 장치, 패킹된 데이터를 수신하여 오버레이 영상 데이터, 오버레이 영역 데이터로 복원하는 스위처 등을 전자 장치라고 지칭할 수 있다. 이러한 전자 장치는 PC(Personal computer), 노트북, 스마트폰, 태블릿, 서버 등 다양한 장치일 수 있다.
도 2를 참조하면, 전자 장치(400)는 통신 장치(410), 메모리(420) 및 프로세서(430)를 포함할 수 있다.
통신 장치(410)는 전자 장치(400)를 외부 장치(미도시)와 연결하기 위해 형성되고, 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 외부 장치에 접속되는 형태뿐만 아니라, USB(Universal Serial Bus) 포트 또는 무선 통신(예를 들어, WiFi 802.11a/b/g/n, NFC, Bluetooth) 포트를 통하여 접속되는 형태도 가능하다. 이러한 통신 장치(410)는 송수신부(transceiver)로 지칭될 수도 있다.
또한, 통신 장치(410)는 유선 방식뿐만 아니라, 공용 인터넷 망에 연결되는 라우터 또는 공유기를 경유하여 다른 전자 장치에 연결될 수 있으며, 라우터 또는 공유기와는 유선 방식뿐만 아니라 와이파이, 블루투스, 셀룰러 통신 등의 무선 방식으로도 연결될 수 있다. 여기서 셀룰러 통신은 예를 들면, LTE(Long-Term Evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications)을 포함할 수 있다.
통신 장치(410)는 영상을 스트리밍 방식으로 송수신할 수 있다. 여기서, 스트리밍 방식은 RTP 영상 전용 패킷 구조를 갖는 데이터를 실시간으로 전송하는 방식일 수 있다. 그리고 영상은 원본 영상, 오버레이 영상, 오버레이 영역 영상, 오버레이 영상과 오버레이 영역 영상이 하나로 패킹된 영상(이하, 패킹 영상), 그래픽이 오버레이된 원본 영상(이하, 출력 영상)일 수 있다.
또한, 통신 장치(410)는 SDP를 송수신할 수 있다. 여기서 SDP(Session Description Protocol)는 세션 기술을 위한 프로토콜로, 패킹 방식(구체적으로, 하나의 픽셀 그룹 데이터 내의 데이터의 배치 정보 등)에 대한 정보로 RTP 표준의 Custom type으로 기술될 수 있다.
메모리(420)는 전자 장치(400)의 구동을 위한 프로그램을 저장한다. 구체적으로, 메모리(420)는 전자 장치(400)의 구동시 필요한 각종 명령어의 집합인 프로그램을 저장할 수 있다. 여기서 프로그램은 특정된 서비스를 제공하기 위한 응용 프로그램뿐만 아니라, 응용 프로그램을 구동시키기 위한 운영체제를 포함한다. 여기서 프로그램은 오버레이 영상 데이터 및 오버레이 영역 데이터를 하나의 데이터로 패킹하는 프로그램 또는 패킹 데이터를 오버레이 영상 데이터 및 오버레이 영역 데이터로 복원하는 프로그램을 포함할 수 있다.
그리고 메모리(420)는 송수신 영상을 저장할 수 있다. 또한, 메모리(420)는 후술하는 그래픽 오버레이 과정에서 생성되는 중간산물(예를 들어, 패킹 영상에서 복원된 오버레이 영상, 오버레이 영역 영상)을 저장할 수도 있다.
그리고 메모리(420)는 전자 장치(400) 내의 저장 매체 및 외부 저장 매체, 예를 들어, USB 메모리를 포함한 Removable Disk, 네트워크를 통한 웹서버(Web server) 등으로 구현될 수 있다.
프로세서(430)는 오버레이를 위한 오버레이 영상(또는 오버레이 이미지)을 생성할 수 있으며, 생성된 오버레이 영상에 대한 오버레이 영상 이미지 및 오버레이 영역 이미지를 생성할 수 있다.
그리고 프로세서(430)는 생성된 오버레이 영상 및 오버레이 영역 영상 각각에 대한 오버레이 영상 데이터와 오버레이 영역 데이터를 생성할 수 있다. 여기서 오버레이 영상 및 오버레이 영역은 인코딩 전의 영상이고, 오버레이 영상 데이터 및 오버레이 영역 데이터는 서브샘플링을 통하여 인코딩된 자막 영상 또는 인코딩 이미지를 구성하는 복수의 RTP 영상 전송 패킷 또는 패킷 내의 복수의 픽셀 그룹 데이터일 수 있다.
프로세서(430)는 오버레이 영상 데이터 및 오버레이 영역 데이터를 이용하여 패킹 데이터를 생성할 수 있다. 구체적으로, 프로세서(430)는 기 설정된 크기의 화소 단위의 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹할 수 있다.
여기서 기 설정된 크기의 화소 수는 아래의 표와 같이 샘플링 및 색 데이터 비트 수에 따라 결정될 수 있다. 구체적으로, 기 설정된 크기의 화소 수는 샘플링 단위의 배수 중 하나의 픽셀 그룹 데이터의 비트 수가 8의 배수를 만족하는 가장 작은 값일 수 있다.
영상 샘플링 색 데이터 비트 수 셀 그룹 화소 수 기설정된 화소 단위
4:2:2 8-bit 2 2
10-bit 2 4
12-bit 2 2
16-bit 2 2
4:2:0 8-bit 4 4
10-bit 4 8
12-bit 4 4
16-bit 4 4
표 1을 참조하면, 기설정된 화소 단위는 샘플링 포맷에 따른 셀 그룹 화소수와 유사하나, 10 비트 색 데이터 비트 수인 경우에는 영상 샘플링을 구성하는 화소 수의 2배 크기의 화소수로 패킹 데이터를 생성하는 것을 확인할 수 있다. 즉, 상술한 패킹 시의 화소 단위는 영상 샘플링 시의 화소 단위와는 차이가 있다.
보다 구체적으로, 프로세서(430)는 오버레이 영상 데이터의 휘도 정보, 오버레이 영상 데이터의 색차 정보, 오버레이 영역 데이터의 휘도 정보를 기 설정된 순서에 따라 순차적으로 배치하여 하나의 화소 그룹 데이터로 패킹할 수 있다.
예를 들어, 오버레이 영상 데이터와 오버레이 영역 데이터가 4:2:0 샘플링 포맷을 갖는 경우, 두 데이터의 동일한 4개의 픽셀 영역에 대한 휘도 정보, 색차 정보 중 화소 위치에 따라 교번적으로 오버레이 영상 데이터의 휘도 정보와 오버레이 영상 데이터의 휘도 정보를 순차적으로 배치하고, 이후에 오버레이 영상 데이터의 색차 정보를 배치 시킴으로써 하나의 화소 그룹 데이터를 생성할 수 있다. 한편, 구현 시에는 오버레이 영상 데이터의 정보들을 먼저 배치하고, 이후에 오버레이 영역 데이터의 휘도 정보를 배치하는 형태로도 구현할 수 있고, 반대로 오버레이 영역 데이터의 휘도 정보를 배치하고, 이후에 오버레이 영상 데이터의 휘도 정보 및 색차 정보를 배치하는 형태로도 가능하다. 즉, 배치 순서는 다양하게 구현될 수 있다.
이와 같은 패킹 동작에 있어서, 주요한 특징은 오버레이 영역 데이터의 색차 정보는 포함시키지 않고 화소 그룹 데이터를 패킹한다는 점이다. 구체적으로, 오버레이 영역 데이터에 있어서의 휘도 정보와 색차 정보 중 색차 정보는 무의미한 정보라는 점에서, 패킹 시에 오버레이 영역 데이터의 색차 정보를 반영하지 않는다.
한편, 이상에서는 기설정된 화소 단위로 패킹을 수행한다고 하였지만, 상술한 표현은 샘플링 그룹 단위로 표현할 수도 있다. 예를 들어, 프로세서(430)는 셀 그룹 화소 수와 기설정된 화소 단위가 동일한 경우(예를 들어, 색 데이터 비트 수가 8 비트, 12 비트, 16 비트)이면, 영상 샘플링과 동일한 그룹 단위로 패킹을 수행할 수 있고, 셀 그룹 화소 수와 기설정된 화소 단위가 다른 경우(예를 들어, 색 데이터 비트 수가 10 비트)이면, 영상 샘플링의 그룹을 두 개씩 묶은 단위로 패킹을 수행할 수 있다.
그리고 프로세서(430)는 복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성할 수 있다. 여기서 헤더 정보는 IP 를 이용한 전송에 필요한 제어 정보를 포함하는 영역으로, 구체적인 설명은 도 3을 참조하여 후술한다.
그리고 프로세서(430)는 생성된 스트리밍 데이터가 전송되도록 통신 장치(410)를 제어할 수 있다. 이때, 프로세서(430)는 패킹 방식에 대한 정보를 포함하는 SDP(Session Description Protocol)를 전송하도록 통신 장치(410)를 제어할 수 있다. 여기서 패킹 방식은 하나의 화소 그룹 데이터가 포함하는 픽셀의 개수 정보, 화소 그룹 데이터 내에 포함된 정보의 순서 정보 등을 포함할 수 있다.
한편, 전자 장치(400)가 도 1의 스위처(300)인 경우, 프로세서(430)는 수신된 패킹 이미지를 이용하여, 오버레이 영상 데이터와 오버레이 영역 데이터를 복원하고, 복원된 오버레이 영상 데이터와 오버레이 영역 데이터를 이용하여 원본 영상에 대한 자막 오버레이 처리를 수행할 수 있다. 그리고 전자 장치(400)는 자막 오버레이 처리된 영상이 스트리밍 방식으로 출력되도록 통신 장치(410)를 제어할 수 있다.
한편, 이상과 같은 전자 장치(400)는 오버레이 영상 데이터 및 오버레이 영역 데이터를 패킹하여 송수신하는 바, 네트워크 트래픽을 절감할 수 있다.
한편, 도 3을 도시하고 설명함에 있어서, 전자 장치(400)의 기본 구성만을 도시하고 설명하였지만, 구현 시에는 패킹 동작의 적용 여부 등을 설정받기 위하여, 사용자 조작 장치 등을 더 포함할 수 있다.
한편, 도 3을 도시하고 설명함에 있어서, 데이터 패킹을 수행함에 있어서, 오버레이 영상 데이터 및 오버레이 영역 데이터를 생성하고, 생성된 두 데이터를 이용하여 패킹 데이터를 생성하는 것으로 설명하였지만, 구현 시에는 오버레이 영상에 대한 인코딩 과정에서 바로 패킹 데이터를 생성할 수도 있다.
도 3은 본 개시의 일 실시 예에 따른 전송 패킷의 형태를 설명하기 위한 도면이다.
도 3을 참조하면, RTP 영상 전송 패킷(30)은 헤더(10) 및 복수의 화소 그룹 데이터(20-1, 20-2, 20-3, …, 20-n)를 포함한다.
헤더(10)는 전송되는 패킷에 대한 제어 정보를 저장하는 영역으로, IP 헤더(11), UDP 헤더(12), RTP 헤더(13), RTP 페이로드 헤더(14)를 포함할 수 있다.
IP 헤더(11)는 IP 프로토콜에 정의된 패킷의 헤더로, 서비스의 품질에 대한 정보, 주소 관련 정보, 패킷 버전, 헤더 길이, 패킷 길이 등에 대한 정보를 포함할 수 있다.
UDP 헤더(12)는 송수신 프로세서에 할당된 네트워크 포트 번호에 대한 정보, UDP 데이터 그램의 크기 정보, 체크썸 정보 등을 포함할 수 있다.
RTP 헤더(13)는 RTP 패킷에 존재하는 헤더로, RTP 버전 정보, 패딩(padding) 정보, 송신 구분자 정보, 타임스탬프 정보 등을 포함할 수 있다.
RTP 페이로드 헤더(14)는 RTP 영상 전송 패킷에서 전송하는 화소 데이터 라인의 길이 및 영상내 위치 등에 대한 정보를 포함할 수 있다.
복수의 화소 그룹 데이터(20-1, 20-2, 20-3, …, 20-n) 각각은 기 설정된 크기의 화소 단위의 영상 정보를 포함할 수 있다. 여기서 기 설정된 화소 단위는 샘플링 포맷의 종류 및 색 데이터 비트 수에 따라 다를 수 있다. 예를 들어, 4:4:4 샘플링 포맷에서 색 데이터 비트 수가 8 비트 또는 16 비트인 경우, 기 설정된 화소 단위는 1일 수 있다. 그리고 해당 포맷에서 색 데이터 비트 수가 10 비트인 경우 기 설정된 화소 단위는 4이고, 색 데이터 비트 수가 12 비트인 경우 기 설정된 화소 단위는 2일 수 있다. 그리고 화소 그룹 데이터에 포함되는 픽셀에 대한 색 공간은 YCbCr, ICtCp, CLYCbCr 등 휘도와 색차로 구성된 색 공간일 수 있다.
일반적인 원본 영상뿐만 아니라, KEY 영상 및 FILL 영상도 상술한 바와 같은 RTP 영상 전송 패킷 구조로 전송이 가능하다.
상술한 바와 같이 KEY 영상은 FILL 영상이 원본 영상 상에서 표시될 영역을 지정하는 정보를 포함한다는 점에서, KEY 영상이 YCbCr 색 공간으로 표시되는 경우, 휘도 정보만이 의미 있는 정보이고, 색차 정보는 무의미한 정보이다. 즉, KEY 영상은 흑백 영상과 같은 속성을 갖는바, KEY 영상에 대한 색차 정보는 그래픽 오버레이 관계에서 이용되지 않는 정보이다.
또한, KEY 영상과 FILL 영상을 개별적으로 전송하는 경우, 영상별로 개별적인 헤더가 추가된다. 따라서, KEY 영상과 FILL 영상을 하나로 패킹하여 전송하는 경우, 전체 전송할 RTP 영상 전송 패킷의 개수를 줄일 수 있다.
이러한 점에서, 본 개시에서는 KEY 영상과 FILL 영상을 패킹하되, 패킹 시에 KEY 영상의 색차 정보는 화소 그룹 데이터에 반영하지 않는다. 이에 따라, 그래픽 오베레이를 위한 영상 제공 단계에서의 네트워크 트래픽을 줄일 수 있다.
이하에서는 영상의 다양한 샘플링 방식에 따른 본 개시의 패킹 방법을 도 4 내지 도 12를 참조하여 설명한다.
도 4 내지 도 6은 제1 실시 예에 따른 패킹 동작을 설명하기 위한 도면이다.
구체적으로, 제1 실시 예는 4:2:0 샘플링 포맷 및 색 데이터 비트 수가 8비트, 12 비트 또는 16 비트인 경우의 패킹 방법의 예이다.
도 4를 참조하면, 색 공간이 YCbCr이고, 4:2:0 샘플링 포맷을 갖는 영상의 구조를 도시한다.
동영상의 경우 복수의 이미지(또는 프레임)로 구성되며, 각 이미지는 매트릭스 형태로 배치되는 복수의 화소를 갖는다. 크로마 서브샘플링은 휘도 정보(또는 명도 정보)에 비해 색차 정보를 줄여서 영상을 인코딩하는 방식이다. 예를 들어, 4:2:0 샘플링 방식은 인접한 2x2 픽셀(즉, 4개 픽셀)에 대해서 4개의 픽셀의 명도 값은 유지하고 색차 정보(Cb, Cr)(또는 색차 컴포넌트)(이하에서는 Cb 색차 정보, Cr 색차 정보로 지칭한다)의 수평 및/또는 수직 해상도를 줄인다. 이와 같은 샘플링 포맷은 MPEG-2와 같은 MPEG, NTSC, ATSC, DVB, PAL, DVD, HDV 등에서 사용되고 있다.
이에 따라, 4:2:0 샘플링 포맷을 이용하는 경우, 인접한 4개의 화소(41, 42, 43, 44)가 하나의 화소 그룹(40)으로 묶일 수 있다. 이에 따라, 하나의 화소 그룹은 4개의 화소를 포함하며, 4개의 화소 중 하나의 화소(41)만 휘도 정보(Y1)와 색차 정보(Cb1, Cr1)를 갖고, 나머지 3개 화소(42, 43, 44) 각각은 휘도 정보(Y2, Y3, Y4)만을 포함한다.
이와 같은 4:2:0 샘플링 포맷을 스트리밍하는 경우에 하나의 화소 그룹 데이터는 도 5에 도시된 바와 같이 해당 그룹에 속한 4개의 화소 데이터가 제1 화소(41)의 휘도 정보(Y1), 제2 화소(42)의 휘도 정보(Y2), 제3 화소(43)의 휘도 정보(Y3), 제4 화소(44)의 휘도 정보(Y4), 제1 화소(41)의 제1 Cb 색차 정보(Cb1), 제1 화소(41)의 제1 Cr 색차 정보(Cr1) 순서로 배치될 수 있다. 한편, 이와 같은 배치 순서는 예시이며, 구현 시에는 다양한 방식으로 배치될 수 있다.
FILL 영상(또는 오버레이 영상 데이터, FILL 이미지) 및 KEY 영상(또는 오버레이 영역 데이터, FILL 이미지)도 도 4와 같은 구조를 갖는데, 이하에서는 도 6을 참조하여 4:2:0 샘플링 포맷 및 색 데이터 비트 수가 8 비트, 12 비트 또는 16 비트인 경우의 패킹 방법의 예를 설명한다.
도 6을 참조하면, 동일한 영역에 대한 FILL 영상 및 KEY 영상 각각에 대한 화소 그룹 데이터는 제1 화소 그룹 데이터(610)와 제2 화소 그룹 데이터(620)와 같을 수 있다.
이와 같은 두 화소 그룹 데이터(610, 620)를 패킹하는 경우, 그룹 내의 위치는 그대로 유지하되, KEY 영상 내의 색차 정보는 제외하고, 두 화소 그룹 데이터의 정보를 패킹하여 제3 화소 그룹 데이터(630)를 생성할 수 있다.
제3 화소 그룹 데이터(630)는 도시된 바와 같이 FILL 영상의 휘도 정보(Y1, Y2, Y3, Y4) 및 색차 정보(Cb1, Cr1)를 모두 포함하는데 반해, KEY 영상의 휘도 정보(K1, K2, K3, K4)만을 포함하는 것을 확인할 수 있다.
그리고 제3화소 그룹 데이터(630) 내의 데이터를 도시된 바와 같이 기 설정된 순서(정보의 속성별로 두 그룹 내의 정보를 순차적으로 전송)로, 예를 들어, FILL 영상의 제1 픽셀의 휘도 정보(Y1), KEY 영상의 제1 픽셀의 휘도 정보(K1), FILL 영상의 제2 픽셀의 휘도 정보(Y2), KEY 영상의 제2 픽셀의 휘도 정보(K2), FILL 영상의 제3 픽셀의 휘도 정보(Y3), KEY 영상의 제3 픽셀의 휘도 정보(K3), FILL 영상의 제4 픽셀의 휘도 정보(Y4), KEY 영상의 제4 픽셀의 휘도 정보(K4), FILL 영상의 제1 픽셀의 Cb 색차 정보(Cb1), FILL 영상의 제1 픽셀의 Cr 색차 정보 (Cr1)순으로 배치하여 하나의 화소 그룹 데이터(640)로 패킹할 수 있다.
이와 같은 패킹은 영상 내의 모든 영역을 기 설정된 화소 단위로 수행될 수 있으며, 도 3에 도시된 바와 같이 기 설정된 개수의 화소 그룹 데이터를 헤더와 함께 묶어 RTP 패킷으로 생성할 수 있다.
한편, 도시된 예에서는 설명을 용이하게 하기 위하여, 제3 화소 그룹 데이터(630)를 도시한 것일 뿐, 구현 시에는 FILL 영상 및 KEY 영상에서 바로 순차적으로 배치되는 화소 그룹 데이터(640)를 생성할 수 있다.
이와 같이 패킹을 수행하는 경우에도, 화소 그룹 데이터는 8 비트의 배수가 된다. 예를 들어, 색 데이터 비트 수가 8인 경우, 하나의 화소 그룹 데이터는 80 비트로 8의 배수이고, 색 데이터 비트 수가 12인 경우, 하나의 화소 그룹 데이터는 120 비트로 이 역시 8의 배수가 된다.
기존과 같이 4개의 화소(즉, 하나의 화소 그룹 데이터)에 대한 FILL 영상과 KEY 영상을 각각 전송하는 경우, 색 데이터 비트 수가 8비트인 경우 96 비트(2*8*6)가 필요한데 반해, 본 개시에 따른 패킹 방법을 이용하는 경우 80비트만 필요하다는 점에서, 헤더의 절감 효과를 제외하더라도 16%의 트래픽을 절감할 수 있다.
한편, 4:2:0 샘플링 포맷에서 색 데이터 비트 수가 10 비트인 경우, 상술한 방식으로 구성하는 경우 화소 그룹 데이터가 60 비트가 되어 8의 배수가 되지 않는다. 이에 따라서, 4:2:0 샘플링 포맷에서 색 데이터 비트 수가 10 비트인 경우에는 하나의 화소 그룹 데이터를 구성하는 픽셀의 개수를 8개로 하여 진행할 수 있다. 즉, 4:2:0 샘플링 포맷의 두개의 셀 그룹 단위로 패킹을 수행할 수 있다. 이와 같은 구현 예에 대해서는 도 10 내지 도 12를 참조하여 후술한다.
도 7 내지 도 9는 제2 실시 예에 따른 패킹 동작을 설명하기 위한 도면이다.
구체적으로, 제2 실시 예는 4:2:2 샘플링 포맷 및 색 데이터 비트 수가 8비트, 12 비트 또는 16비트인 경우의 패킹 방법의 예이다.
도 7을 참조하면, 4:2:2 샘플링 포맷의 경우, 인접한 2개의 화소가 하나의 화소 그룹으로 묶일 수 있다. 이에 따라, 하나의 화소 그룹(700)은 2개의 화소(710, 720)를 포함하며, 2개의 화소 중 하나의 화소(710)만 휘도 정보와 색차 정보를 갖고, 나머지 한 화소(720)는 휘도 정보만을 포함한다.
이와 같은 경우, 하나의 화소 그룹 데이터는 해당 그룹에 속한 2개의 화소 데이터가 도 8에 도시된 바와 같이 제1 화소(710)의 Cb 색차 정보, 제1 화소(710)의 휘도 정보, 제1 화소(710)의 Cr 색차 정보, 제2 화소(720)의 휘도 정보가 순차적으로 배치될 수 있다. 이와 같은 배치 순서는 예시이며, 도 8과 같이 먼저, 두 영상의 휘도 정보가 픽셀 위치별로 교번적으로 배치되고, 이후에 색차 정보가 배치될 수도 있다.
FILL 영상 및 KEY 영상도 도 7과 같은 구조를 갖는데, 이하에서는 도 9를 참조하여 4:2:2 샘플링 포맷 및 색 데이터 비트 수가 8 비트, 12 비트 또는 16 비트인 경우의 패킹 방법의 예를 설명한다.
도 9를 참조하면, 동일한 영역에 대한 FILL 영상 및 KEY 영상 각각에 대한 화소 그룹 데이터는 제1 화소 그룹 데이터(910)와 제2 화소 그룹 데이터(920)와 같을 수 있다.
이와 같은 두 화소 그룹 데이터(910, 920)를 패킹하는 경우, 그룹 내의 위치는 그대로 유지하되, KEY 영상 내의 색차 정보는 제외하고, 두 화소 그룹 데이터의 정보를 패킹하여 제3 화소 그룹 데이터(930)를 생성할 수 있다.
제3 화소 그룹 데이터(930)는 도시된 바와 같이 FILL 영상의 휘도 정보 및 색차 정보를 모두 포함하는데 반해, KEY 영상의 휘도 정보만을 포함하는 것을 확인할 수 있다.
그리고 제3화소 그룹 데이터(930) 내의 데이터를 도시된 바와 같이 기 설정된 순서, 예를 들어, FILL 영상의 제1 픽셀의 Cb 색차 정보, FILL 영상의 제1 픽셀의 휘도 정보, KEY 영상의 제1 픽셀의 휘도 정보, FILL 영상의 제1 픽셀의 Cr 색차 정보, FILL 영상의 제2 픽셀의 휘도 정보, KEY 영상의 제2 픽셀의 휘도 정보 순으로 배치하여 하나의 화소 그룹 데이터(940)로 패킹할 수 있다.
이와 같이 패킹을 수행하는 경우에도, 화소 그룹 데이터는 8 비트의 배수가 된다. 예를 들어, 색 데이터 비트 수가 8인 경우, 하나의 화소 그룹 데이터는 48 비트로 8의 배수이고, 색 데이터 비트 수가 12인 경우, 하나의 화소 그룹 데이터는 72 비트로 이 역시 8의 배수가 된다.
기존과 같이 2개의 화소(즉, 하나의 화소 그룹 데이터)에 대한 FILL 영상과 KEY 영상을 각각 전송하는 경우, 색 데이터 비트 수가 8비트인 경우 64 비트(2*8*4)가 필요한데 반해, 본 개시에 따른 패킹 방법을 이용하는 경우 48비트만 필요하다는 점에서, 헤더의 절감 효과를 제외하더라도 약 25%의 트래픽을 절감할 수 있다.
한편, 4:2:2 샘플링 포맷에서 색 데이터 비트 수가 10 비트인 경우, 상술한 방식으로 구성하는 경우 화소 그룹 데이터가 100 비트가 되어 8의 배수가 되지 않는다. 이에 따라서, 4:2:2 샘플링 포맷에서 색 데이터 비트 수가 10 비트인 경우에는 하나의 화소 그룹 데이터를 구성하는 픽셀의 개수를 4개로 하여 진행할 수 있다. 즉, 4:2:2 샘플링 포맷의 두 개의 셀 그룹 단위(즉, 4= 2*2)로 패킹할 수 있다.
도 10 내지 도 12는 제3 실시 예에 따른 패킹 동작을 설명하기 위한 도면이다.
구체적으로, 제3 실시 예는 4:2:0 샘플링 포맷 및 색 데이터 비트 수가 10비트인 경우의 패킹 방법의 예이다.
도 10을 참조하면, 색 공간이 YCbCr이고, 4:2:0 샘플링 포맷 및 색 데이터 비트 수가 10 비트를 갖는 영상의 구조를 도시한다.
영상(또는 프레임)은 복수의 화소를 가지며, 4:2:0 샘플링 포맷에서는 상술한 바와 같이 인접한 4개의 화소가 하나의 화소 그룹으로 묶일 수 있다.
한편, 제1 실시 예에서 설명한 바와 같이 색 데이터 비트 수가 10비트인 경우, 샘플링 포맷의 셀 그룹 단위와 동일한 단위로 패킹을 수행하는 경우, 즉, 4개의 화소 단위로 패킹을 수행하는 경우, 하나의 화소 그룹 데이터는 60 비트가 되어 8의 배수가 되지 않는다.
이러한 점을 해결하기 위하여, 제3 실시 예에서는 샘플링 단위의 2배, 즉 8개의 화소 단위로 패킹을 수행할 수 있다.
이와 같은 경우, 하나의 화소 그룹 데이터는 해당 그룹에 속한 8개의 화소 데이터가 도 11에 도시된 바와 같이 제1 화소의 휘도 정보, 제2 화소의 휘도 정보, 제3 화소의 휘도 정보, 제4 화소의 휘도 정보, 제1 화소의 제1 Cb 색차 정보, 제1 화소의 제1 Cr 색차 정보 순서, 제5 화소의 휘도 정보, 제6 화소의 휘도 정보, 제7 화소의 휘도 정보, 제8 화소의 휘도 정보, 제5 화소의 제1 Cb 색차 정보, 제5 화소의 제1 Cr 색차 정보 순서로 배치될 수 있다.
이에 따라 도 12와 같이, FILL 영상에 대한 제1 화소 그룹 데이터(1210)와 KEY 영상에 대한 제2 화소 그룹 데이터(1220)를 제3 화소 그룹 데이터(1230)와 같이 패킹할 수 있다. 도시된 바와 같이 제3 화소 그룹 데이터(1230)는 제2 화소 그룹 데이터의 색차 정보를 포함하지 않는다.
그리고 제3 화소 그룹 데이터(1230) 내의 데이터를 도시된 바와 같이 기 설정된 순서(정보의 속성별로 두 그룹 내의 정보를 순차적으로 전송)로 배치하여 하나의 화소 그룹 데이터(1240)로 패킹할 수 있다.
이와 같이 패킹을 수행하는 경우에도, 화소 그룹 데이터는 200비트 즉, 8 비트의 배수가 된다.
한편, 이상에서는 4:2:0, 4:2:2 샘플링 포맷인 경우의 패킹 동작에 대해서만 도시하고 설명하였지만, 구현 시에는 4:1:1 샘플링 포맷 등과 같은 다른 샘플링 포맷으로 확장할 수 있다.
도 13은 본 개시의 일 실시 예에 따른 영상 데이터 패킹 방법을 설명하기 위한 흐름도이다.
도 13을 참조하면, 오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 저장한다(S1310). 여기서 오버레이 영상 데이터, 오버레이 영역 데이터 각각은 YCbCr, ICtCp, CLYCbCr 중 하나의 색 공간으로 표현되는 데이터일 수 있으며, 4:2:2 샘플링 포맷, 4:2:0 샘플링 포맷, 또는 4:1:1 샘플링 포맷 등을 가질 수 있다.
그리고 기 설정된 크기의 화소 단위로 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹한다(S1320). 예를 들어, 오버레이 영상 데이터의 휘도 정보, 오버레이 영상 데이터의 색차 정보, 오버레이 영역 데이터의 휘도 정보를 기 설정된 순서에 따라 순차적으로 배치하여 하나의 화소 그룹 데이터로 패킹할 수 있다.
그리고 복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성한다(S1330). 여기서 스트리밍 데이터는 RTP(Real-time Transport Protocol) 패킷 구조를 가질 수 있다.
또한, 스트리밍 데이터가 생성되면, 생성된 스트리밍 데이터를 스위처에 전송할 수 있다. 이때, 스트리밍 데이터의 전송 시 또는 전송 전에 패킹 방식에 대한 정보를 포함하는 SDP(Session Description Protocol)를 전송할 수 있다.
따라서, 본 실시 예에 따른 영상 데이터 패킹 방법은 종래에 개별적으로 전송하는 오버레이 영상 데이터와 오버레이 영역 데이터를 하나로 처리하여 전송할 수 있으며, 그에 따라 전송에 필요한 네트워크 트래픽을 감소시킬 수 있다. 도 13과 같은 패킹 방법은 도 1의 구성을 갖는 오버레이 영상 처리 장치 또는 도 2의 구성을 갖는 전자 장치 상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 전자 장치상에서도 실행될 수 있다.
도 14는 본 개시의 일 실시 예에 따른 패킹된 영상 데이터의 복원 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 원본 영상 및 자막 데이터(상술한 패킹 데이터) 각각에 대한 스트리밍 데이터를 수신할 수 있다(S1410). 여기서, 원본 영상, 자막 데이터 각각은 RTP 영상 전송 패킷으로 수신될 수 있다.
그리고 패킹 데이터로부터 오버레이 영상 데이터와 오버레이 영역 데이터를 복원할 수 있다(S1420). 구체적으로, 패킹 데이터 내의 휘도 정보 및 색차 정보를 이용하여 오버레이 영상 데이터를 복원할 수 있다. 오버레이 영역 데이터는 패킹 데이터에 포함된 휘도 정보와 색차 정보는 기 설정된 값(예를 들어, Cb, Cr 값 각각을 0)을 넣어 오버레이 영역 데이터를 복원할 수 있다.
구현시에는 자막 데이터에 대응되는 RTP 패킷 단위 또는 화소 그룹 데이터 단위로 복원 동작을 수행할 수도 있고, 수신한 전송 패킷을 이용하여 이미지를 복원한 이후에, 이미지 단위로 복원 동작을 수행할 수도 있다.
그리고 복원된 오버레이 영상 데이터와 오버레이 영역 데이터를 이용하여 원본 영상에 대한 오버레이 처리를 수행할 수 있다(S1430).
그리고 오버레이 처리된 영상이 스트리밍 방식으로 출력되도록 전송할 수 있다(S1440).
따라서, 본 실시 예에 따른 영상 데이터의 복원 방법은 트래픽이 절감된 데이터를 수신하더라도, 기존과 동일한 오버레이 영상 데이터 및 오버레이 영역 데이터를 복원할 수 있다. 도 14와 같은 복원 방법은 도 1의 구성을 갖는 스위처 또는 도 2의 구성을 갖는 전자 장치 상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 전자 장치상에서도 실행될 수 있다.
또한, 상술한 바와 같은 방법들은 컴퓨터에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상술한 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치의 제어 방법은 비일시적 판독 가능 매체(non-transitory readable medium) 에 저장될 수 있다. 이러한 비일시적 판독 가능 매체는 다양한 장치에 탑재되어 사용될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 방법을 수행하기 위한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
1000: 영상 송신 시스템 100: 영상 생성 장치
200: 오버레이 영상 처리 장치 300: 스위처
400: 전자 장치 410: 통신 장치
420: 메모리 430: 프로세서

Claims (13)

  1. 오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 저장하는 단계;
    기 설정된 크기의 화소 단위로 상기 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 상기 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹하는 단계; 및
    복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성하는 단계;를 포함하고,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터 각각은,
    4:2:2 샘플링 포맷을 가지며,
    상기 기 설정된 크기의 화소 단위는,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터의 색 데이터 비트 수가 8 비트, 12비트 또는 16비트이면 2개 화소 단위이고, 상기 색 데이터 비트 수가 10 비트이면 4개 화소 단위인 영상 데이터 패킹 방법.
  2. 제1항에 있어서,
    상기 패킹하는 단계는,
    상기 오버레이 영상 데이터의 휘도 정보, 상기 오버레이 영상 데이터의 색차 정보, 상기 오버레이 영역 데이터의 휘도 정보를 기 설정된 순서에 따라 순차적으로 배치하여 하나의 화소 그룹 데이터로 패킹하는 영상 데이터 패킹 방법.
  3. 삭제
  4. 오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 저장하는 단계;
    기 설정된 크기의 화소 단위로 상기 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 상기 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹하는 단계; 및
    복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성하는 단계;를 포함하고,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터 각각은,
    4:2:0 샘플링 포맷을 가지며,
    상기 기 설정된 크기의 화소 단위는,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터의 색 데이터 비트 수가 8 비트, 12 비트 또는 16 비트이면 4개 화소 단위이고, 상기 색 데이터 비트 수가 10 비트이면 8개 화소 단위인 영상 데이터 패킹 방법.
  5. 제1항에 있어서,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터는,
    휘도와 색차로 구성된 색 공간으로 표현되는 데이터인 영상 데이터 패킹 방법.
  6. 제1항에 있어서,
    상기 스트리밍 데이터는 RTP(Real-time Transport Protocol) 패킷 구조를 갖는 영상 데이터 패킹 방법.
  7. 제1항에 있어서,
    상기 스트리밍 데이터를 전송하는 단계;를 더 포함하는 영상 데이터 패킹 방법.
  8. 제1항에 있어서,
    패킹 방식에 대한 정보를 포함하는 SDP(Session Description Protocol)를 전송하는 단계;를 더 포함하는 영상 데이터 패킹 방법.
  9. 전자 장치에 있어서,
    통신 장치;
    오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 저장하는 메모리; 및
    기 설정된 크기의 화소 단위의 상기 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 상기 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹하고, 복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성하고, 상기 생성된 스트리밍 데이터가 전송되도록 상기 통신 장치를 제어하는 프로세서;를 포함하고,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터 각각은,
    4:2:2 샘플링 포맷을 가지며,
    상기 기 설정된 크기의 화소 단위는,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터의 색 데이터 비트 수가 8 비트, 12비트 또는 16비트이면 2개 화소 단위이고, 상기 색 데이터 비트 수가 10 비트이면 4개 화소 단위인 전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 오버레이 영상 데이터의 휘도 정보, 상기 오버레이 영상 데이터의 색차 정보, 상기 오버레이 영역 데이터의 휘도 정보를 기 설정된 순서에 따라 순차적으로 배치하여 하나의 화소 그룹 데이터로 패킹하는 전자 장치.
  11. 삭제
  12. 전자 장치에 있어서,
    통신 장치;
    오버레이 영상 데이터(FILL data)와 오버레이 영역 데이터(KEY data)를 저장하는 메모리; 및
    기 설정된 크기의 화소 단위의 상기 오버레이 영상 데이터의 휘도 정보와 색차 정보 및 상기 오버레이 영역 데이터의 휘도 정보만을 하나의 화소 그룹 데이터로 패킹하고, 복수의 화소 그룹 데이터와 헤더 정보를 이용하여 스트리밍 데이터를 생성하고, 상기 생성된 스트리밍 데이터가 전송되도록 상기 통신 장치를 제어하는 프로세서;를 포함하고,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터 각각은,
    4:2:0 샘플링 포맷을 가지며,
    상기 기 설정된 크기의 화소 단위는,
    상기 오버레이 영상 데이터 및 상기 오버레이 영역 데이터의 색 데이터 비트 수가 8 비트, 12 비트 또는 16 비트이면 4개 화소 단위이고, 상기 색 데이터 비트 수가 10 비트이면 8개 화소 단위인 전자 장치.
  13. 제9항에 있어서,
    상기 프로세서는,
    패킹 방식에 대한 정보를 포함하는 SDP(Session Description Protocol)를 전송하도록 상기 통신 장치를 제어하는 전자 장치.
KR1020200183770A 2020-12-24 2020-12-24 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치 KR102314713B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200183770A KR102314713B1 (ko) 2020-12-24 2020-12-24 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200183770A KR102314713B1 (ko) 2020-12-24 2020-12-24 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치

Publications (1)

Publication Number Publication Date
KR102314713B1 true KR102314713B1 (ko) 2021-10-20

Family

ID=78268089

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200183770A KR102314713B1 (ko) 2020-12-24 2020-12-24 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치

Country Status (1)

Country Link
KR (1) KR102314713B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170134508A (ko) * 2015-03-20 2017-12-06 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 인공 신경망들에 대한 관련성 스코어 할당
KR20200038170A (ko) * 2018-10-02 2020-04-10 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170134508A (ko) * 2015-03-20 2017-12-06 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 인공 신경망들에 대한 관련성 스코어 할당
KR20200038170A (ko) * 2018-10-02 2020-04-10 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치

Similar Documents

Publication Publication Date Title
US10728567B2 (en) Decoding device and decoding method, encoding device, and encoding method
US10462439B2 (en) Color correction with a lookup table
TWI595777B (zh) 透過hdmi發送顯示管理元數據
JP6202330B2 (ja) 復号装置および復号方法、並びに符号化装置および符号化方法
KR20180013879A (ko) 가상 현실을 위한 메타데이터를 생성하고 송신하기 위한 방법 및 장치
JP6881555B2 (ja) 復号装置および復号方法
US10148959B2 (en) Image coding device and method, and image decoding device and method
KR20210145736A (ko) 서브-픽처 비트스트림 추출 및 재배치
US20200288123A1 (en) Image processing apparatus and image processing method
KR102314713B1 (ko) 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치
US9883192B2 (en) Color space compression
US20230394636A1 (en) Method, device and apparatus for avoiding chroma clipping in a tone mapper while maintaining saturation and preserving hue

Legal Events

Date Code Title Description
GRNT Written decision to grant