KR102231222B1 - 통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법 - Google Patents

통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR102231222B1
KR102231222B1 KR1020140173049A KR20140173049A KR102231222B1 KR 102231222 B1 KR102231222 B1 KR 102231222B1 KR 1020140173049 A KR1020140173049 A KR 1020140173049A KR 20140173049 A KR20140173049 A KR 20140173049A KR 102231222 B1 KR102231222 B1 KR 102231222B1
Authority
KR
South Korea
Prior art keywords
raw data
packet
size
compressed
data
Prior art date
Application number
KR1020140173049A
Other languages
English (en)
Other versions
KR20160067529A (ko
Inventor
김재현
구명하
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140173049A priority Critical patent/KR102231222B1/ko
Priority to US14/960,038 priority patent/US10348452B2/en
Publication of KR20160067529A publication Critical patent/KR20160067529A/ko
Application granted granted Critical
Publication of KR102231222B1 publication Critical patent/KR102231222B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • H04L1/0003Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 통신 시스템에서 비디오 데이터 송신에 관한 것으로, 송신단의 동작 방법은, 압축된 데이터 및 로우(raw) 데이터 중 데이터 크기(size)에 기초하여 선택된 데이터를 포함하는 패킷을 생성하는 과정과, 상기 패킷을 송신하는 과정을 포함한다. 또한, 본 발명은 상술한 실시 예와 다른 실시 예들도 포함한다.

Description

통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING VIDEO DATA IN COMMUNICATION SYSTEM}
본 발명은 시스템에서 비디오 데이터(video data) 송신 및 수신에 관한 것이다.
통신 기술의 발달로 유선 및 무선 채널을 통해 장치들 간 고화질의 비디오 데이터가 용이하게 전달될 수 있게 되었다. 예를 들어, 셀룰러(cellular) 시스템에서 사용자들은 비디오에 대한 실시간 스트리밍(streaming) 서비스를 제공받거나, 제한된 장소 내에서 구성된 무선 개인 지역 망(WPAN: Wireless Personal Area network)에서 표시 수단을 구비한 다른 장치로 비디오 데이터가 전달될 수 있다. 나아가, 사용자들의 서비스 품질에 대한 기대와 기준이 높아짐에 따라, 본래의(original) 비디오 데이터의 품질을 손실(loss) 없이 유지하며, 단절 없이(discontinuity) 제공하기 위한 기술이 지속적으로 연구되고 있다.
유선 망의 경우, 압축(compression) 없이 로우(raw) 데이터를 송신하는 방식이 사용될 수 있다. 반면, 무선 망의 경우, 무선 자원의 제한으로 인해, 압축을 이용하는 것이 일반적이다. 여기서, 상기 압축은 손실 압축(lossy compression) 및 무손실 압축(lossless compression)으로 구분될 수 있다. 일반적으로, 압축으로 인해 비디오 데이터의 크기(size)는 감소한다. 하지만, 비디오 데이터에 포함되는 픽셀(pixel)들의 값에 따라, 데이터의 크기가 증가할 수 있다. 따라서, 보다 효율적으로 비디오 데이터를 전송하기 위한 대안이 필요하다.
본 발명의 일 실시 예는 통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법을 제공한다.
본 발명의 다른 실시 예는 통신 시스템에서 압축으로 인해 데이터 크기가 증가함으로 인한 문제점을 해소하기 위한 장치 및 방법을 제공한다.
본 발명의 또 다른 실시 예는 통신 시스템에서 선택적으로 데이터를 압축하기 위한 장치 및 방법을 제공한다.
본 발명의 또 다른 실시 예는 통신 시스템에서 데이터 크기에 기초하여 MCS(Modulation and Coding Scheme) 레벨을 선택하기 위한 장치 및 방법을 제공한다.
본 발명의 또 다른 실시 예는 통신 시스템에서 패킷에 포함된 데이터의 압축 여부를 지시하기 위한 장치 및 방법을 제공한다.
본 발명의 실시 예에 따른 통신 시스템에서 송신단의 동작 방법은, 압축된 데이터 및 로우(raw) 데이터 중 데이터 크기(size)에 기초하여 선택된 데이터를 포함하는 패킷을 생성하는 과정과, 상기 패킷을 송신하는 과정을 포함한다.
본 발명의 실시 예에 따른 통신 시스템에서 수신단의 동작 방법은, 압축된 데이터 및 로우(raw) 데이터 중 데이터 크기(size)에 기초하여 선택된 데이터를 포함하는 패킷을 수신하는 과정과, 상기 데이터가 상기 로우 데이터인지 또는 상기 압축된 데이터인지에 기초하여 상기 데이터를 처리하는 과정을 포함한다.
본 발명의 실시 예에 따른 통신 시스템에서 송신단 장치는, 압축된 데이터 및 로우(raw) 데이터 중 데이터 크기(size)에 기초하여 선택된 데이터를 포함하는 패킷을 생성하는 제어부와, 상기 패킷을 송신하는 송신부를 포함한다.
본 발명의 실시 예에 따른 통신 시스템에서 수신단 장치는, 압축된 데이터 및 로우(raw) 데이터 중 데이터 크기(size)에 기초하여 선택된 데이터를 포함하는 패킷을 수신하는 수신부와, 상기 데이터가 상기 로우 데이터인지 또는 상기 압축된 데이터인지에 기초하여 상기 데이터를 처리하는 제어부를 포함한다.
통신 시스템에서 압축 전 및 후의 데이터 크기에 기초하여 선택적으로 압축을 수행함으로써, 송신되는 데이터 크기를 감소시킬 수 있다.
도 1은 통신 시스템에서 패킷 크기의 증가로 인한 버스에서의 충돌 현상의 예를 도시한다.
도 2는 통신 시스템에서 패킷 크기의 증가로 인한 메모리에서의 오버플로(overflow) 현상의 예를 도시한다.
도 3은 본 발명의 실시 예에 따른 통신 시스템에서 하나의 프레임에 대한 선택적 압축의 예를 도시한다.
도 4는 본 발명의 실시 예에 따른 통신 시스템에서 비디오 패킷을 생성하기 위한 기능적 블록 구조를 도시한다.
도 5는 본 발명의 실시 예에 따른 통신 시스템에서 MCS(Modulation and Coding Scheme) 결정을 위한 기능적 블록 구조를 도시한다.
도 6은 본 발명의 실시 예에 따른 통신 시스템에서 비디오 패킷의 구성을 도시한다.
도 7은 본 발명의 실시 예에 따른 통신 시스템에서 비디오 패킷을 해석하기 위한 기능적 블록 구조를 도시한다.
도 8은 본 발명의 실시 예에 따른 통신 시스템에서 비디오 데이터를 압축하기 위한 기능적 블록 구조를 도시한다.
도 9는 본 발명의 실시 예에 따른 통신 시스템에서 비디오 프레임(frame)의 압축 과정의 예를 도시한다.
도 10은 본 발명의 다른 실시 예에 따른 통신 시스템에서 비디오 패킷을 생성하기 위한 기능적 블록 구조를 도시한다.
도 11은 본 발명의 실시 예에 따른 통신 시스템에서 송신단의 동작 절차를 도시한다.
도 12는 본 발명의 다른 실시 예에 따른 통신 시스템에서 송신단의 동작 절차를 도시한다.
도 13은 본 발명의 다른 실시 예에 따른 통신 시스템에서 수신단의 동작 절차를 도시한다.
도 14는 본 발명의 실시 예에 따른 통신 시스템에서 송신단의 블록 구성을 도시한다.
도 15는 본 발명의 실시 예에 따른 통신 시스템에서 송신단의 블록 구성을 도시한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 본 발명은 통신 시스템에서 비디오 데이터를 송신 및 수신하기 위한 기술에 대해 설명한다. 상기 비디오 데이터는 스트리밍 서비스(streaming service), 다른 장치에서의 표시(display), 파일 전송 등을 위해 송신될 수 있다.
이하 설명에서 사용되는 데이터의 형태를 지칭하는 용어, 패킷 내 요소(element)를 지칭하는 용어, 비디오의 데이터 단위를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 발명이 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 대상을 지칭하는 다른 용어가 사용될 수 있다.
이하 사용되는 '…부', '…기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
비디오 데이터를 전송함에 있어서, 압축(compression) 기법을 이용함으로써 데이터의 크기(size)가 감소될 수 있다. 하지만, 경우에 따라, 압축에도 불구하고, 데이터의 크기가 일시적으로 증가할 수 있다. 상기 데이터 크기가 증가함으로 인해 발생할 수 있는 문제점을 상세히 살펴보면, 이하 도 1 및 이하 도 2와 같다.
도 1은 통신 시스템에서 패킷 크기의 증가로 인한 버스(bus)에서의 충돌 현상의 예를 도시한다. 상기 도 1에서, (a)는 압축 없는 로우(raw) 데이터를 포함하는 로우 패킷들(101 내지 104)을 송신하는 경우, (b)는 일부 패킷들(112, 113)이 압축된 데이터를 포함하는 경우를 예시한다. 상기 도 1의 (a) 및 (b)에서, 괄호 내의 숫자는 패킷들의 송신 순서를 의미한다.
상기 도 1의 (a)를 참고하면, 로우 패킷들(101 내지 104)들이 시간의 흐름에 따라 버스를 통해 순차적으로 전달된다. 상기 버스는, 상기 로우 패킷들(101 내지 104)들을 데이터를 패킷화(packetizing)하는 모듈로부터 송신을 위한 모듈로 전달하는 통로이다. 버스의 대역폭(bandwidth)은 미리 정의된 상한의 크기를 가지는 패킷들이 충돌 없이 전달될 수 있도록 설계된다. 여기서, 상기 미리 정의된 상한의 크기는 로우 패킷의 크기 이상임이 바람직하다. 이 경우, 정해진 주기에 따라 상기 로우 패킷들(101 내지 104)이 버스로 출력되더라도, 상기 로우 패킷들(101 내지 104)은 충돌없이 전달될 수 있다.
상기 도 1의 (b)를 참고하면, 제1로우 패킷(111), 제1압축된 패킷(112), 제2압축된 패킷(113), 제2로우 패킷(114)이 버스를 통해 순차적으로 전달된다. 상기 제1압축된 패킷(112)은 압축 전보다 작은 크기를 가지나, 상기 제2압축된 패킷(113)은 압축 전보다 큰 크기를 가진다. 이론적으로, 압축으로 인해 최대 2배까지 크기가 증가할 수 있다. 이 경우, 정해진 주기에 따라 상기 패킷들(111 내지 114)이 버스로 출력되면, 상기 제2압축된 패킷(113) 및 상기 제2로우 패킷(114) 간 충돌이 발생할 수 있다.
도 2는 통신 시스템에서 패킷 크기의 증가로 인한 메모리에서의 오버플로(overflow) 현상의 예를 도시한다. 상기 도 2에서, (a)는 압축 없는 로우 데이터를 포함하는 로우 패킷들(201 내지 204)을 메모리에 저장하는 경우, (b)는 일부 패킷들(212, 213)이 압축된 데이터를 포함하는 경우를 예시한다. 상기 도 2의 (a) 및 (b)에서, 괄호 내의 숫자는 패킷들의 저장 순서를 의미한다.
상기 도 2의 (a)를 참고하면, 로우 패킷들(201 내지 204)들이 메모리에 순차적으로 저장된다. 상기 메모리는 채널을 통한 송신에 앞서 버퍼링(buffering)을 위한 수단일 수 있다. 이때, 메모리는 고정된 메모리 블록(fixed memory block) 개수를 가지며, 각 메모리 블록은 고정된 메모리 블록 크기(fixed memory block size)를 가질 수 있다. 상기 메모리 블록 크기는 미리 정의된 상한의 크기를 가지는 패킷들이 오버플로 없이 저장될 수 있도록 설계된다. 여기서, 상기 미리 정의된 상한의 크기는 로우 패킷의 크기 이상임이 바람직하다. 이 경우, 상기 로우 패킷들(101 내지 104)은 오버플로 없이 저장될 수 있다.
상기 도 2의 (b)를 참고하면, 제1로우 패킷(211), 제1압축된 패킷(212), 제2압축된 패킷(213), 제2로우 패킷(214)이 버스를 통해 순차적으로 전달된다. 상기 제1압축된 패킷(112)은 압축 전보다 작은 크기를 가지나, 상기 제2압축된 패킷(113)은 압축 전보다 큰 크기를 가진다. 이론적으로, 압축으로 인해 최대 2배까지 크기가 증가할 수 있다. 이 경우, 상기 제2압축된 패킷(113)은 상기 메모리에서 오버플로를 야기한다.
상술한 바와 같이, 압축으로 인해 데이터 크기가 증가할 수 있다. 이에 따라, 메모리의 오버플로, 버스에서의 충돌이 발생할 수 있다. 나아가, 압축으로 인한 데이터 크기 증가는 압축을 적용하는 목적과 상반되는 결과로서, 무선 자원 사용의 효율성을 떨어뜨린다.
따라서, 본 발명의 다양한 실시 예들은, 비디오 데이터의 전송 단위 별로 압축 여부를 판단하고, 선택적으로 압축을 수행하는 방안을 제시한다. 상기 전송 단위는 하나의 패킷에 포함되는 단위를 의미하며, 예를 들어, 이하 도 3과 같이, 비디오의 프레임(frame)을 구성하는 픽셀(pixel)들 중 하나의 라인(line)일 수 있다. 상기 프레임은 비디오를 구성하는 개개의 정지 이미지를 의미한다.
도 3은 본 발명의 실시 예에 따른 통신 시스템에서 하나의 프레임에 대한 선택적 압축의 예를 도시한다. 상기 도 3을 참고하면, 하나의 프레임은 다수의 수평 라인(horizontal line)들 및 다수의 수직 라인(vertical line)들로 구성된다. 상기 도 3의 경우, 상기 전송 단위는 하나의 수평 라인을 포함한다. 상기 도 3을 참고하면, 본 발명의 다양한 실시 예들에 따라 선택적으로 압축된 결과, 제1라인(301), 제2라인(302), 제4라인(304) 내의 픽셀들은 압축 없이 로우 데이터로서, 제3라인(303), 제5라인(305), 제6라인(306) 내의 픽셀들은 압축된 데이터로서 송신된다.
상기 압축은 다양한 방식으로 수행될 수 있다. 상기 압축은, 이전 프레임의 특정 픽셀(예: 동일 위치의 픽셀) 값과의 차이, 인접 픽셀 값과의 차이에 기초하여 수행될 수 있다. 구체적으로, 상기 압축으로 인해, 특정 픽셀의 값이 인접 픽셀과의 값과 상기 픽셀의 원래 값 간 차이로 대체될 수 있다. 또한, 상기 압축은 손실 압축(lossy compression) 또는 무손실 압축(lossless compression)일 수 있다. 또는, 상기 압축으로 인해, 압축되는 전송 단위에 포함되는 모든 픽셀 값들이 본래의 값과 달라지거나, 또는, 일부 픽셀 값들만이 달라질 수 있다. 이하 본 발명의 다양한 실시 예에 따른 압축은, 해당 전송 단위 내의 픽셀들 중 적어도 하나의 픽셀의 값이 변경되는 결과를 야기하는 데이터 처리 기법을 의미한다.
상기 압축 여부는 압축 전 데이터의 크기 및 압축 후 데이터의 크기에 기초하여 판단될 수 있다. 여기서, 상기 압축 후 데이터는 실제 압축을 수행한 후에 결정되거나, 데이터의 일부에 대한 압축 결과에 기초하여 추정(estimation)될 수 있다.
도 4는 본 발명의 실시 예에 따른 통신 시스템에서 비디오 패킷을 생성하기 위한 기능적 블록 구조를 도시한다. 상기 도 4는 송신단에 포함되는 비디오 패킷을 생성하기 위한 수단을 예시한다.
상기 도 4를 참고하면, 상기 비디오 패킷을 생성하는 수단은 비디오/데이터 인터페이스(video/data interface)(402), 압축부(404), 패킷 크기 추정부(packet size estimation unit)(406), 제1패킷화부(packetizing unit)(408), 제2패킷화부(410), 로우/압축 및 MCS(Modulation and Coding Scheme) 결정부(raw/compression and MCS decision unit)(412), 스위치(switch)(414), 버스 인터페이스(bus interface)(416)를 포함한다.
상기 비디오/데이터 인터페이스(402)는 비디오 데이터 및 제어 데이터를 외부 장치(external device)로부터 수신한다. 상기 비디오/데이터 인터페이스(402)는 수신된 신호로부터 데이터를 추출한다. 비디오 데이터가 수신되는 경우, 상기 비디오/데이터 인터페이스(402)는 상기 비디오 데이터의 색 공간(color space)을 RGB(red-green-blue) 또는 YCbCr로 변경할 수 있다. 제어 데이터가 수신되는 경우, 상기 비디오/데이터 인터페이스(402)는 데이터를 바이패스(bypass)할 수 있다. 나아가, 상기 비디오/데이터 인터페이스(402)는 상기 비디오 데이터를 전송 단위, 즉, 하나의 비디오 패킷에 포함되는 크기의 단위로 분할한 후, 상기 압축부(404), 상기 패킷 크기 추정부(406), 상기 제1패킷화부(408)로 제공할 수 있다. 이하 설명의 편의를 위해, 상기 '하나의 비디오 패킷에 포함되는 크기의 단위로 분할된 비디오 데이터'는 '데이터 블록'이라 지칭된다.
상기 압축부(404)는 비디오 데이터를 압축한다. 이때, 상기 압축부(404)는 상기 비디오 데이터를 전송 단위, 즉, 하나의 비디오 패킷에 포함되는 크기의 단위의 데이터에 대하여 압축을 수행한다. 여기서, 상기 압축은 손실 압축 또는 무손실 압축일 수 있다. 상기 손실 압축 및 상기 무손실 압축 중 하나의 선택은 설정(setting)에 따라 결정될 수 있다.
상기 패킷 크기 추정부(406)는 압축된 데이터 블록 및 로우 데이터 블록의 크기를 추정 또는 측정한다. 여기서, 상기 압축된 데이터 블록은 상기 압축부(404)로부터, 상기 로우 데이터 블록은 상기 비디오/데이터 인터페이스(402)로부터 제공된다. 일반적으로, 압축된 데이터는 로우 데이터보다 작은 크기를 가지지만, 경우에 따라 압축된 데이터의 크기가 더 클 수 있다. 상기 압축된 데이터의 구체적인 크기는 비디오 소스(source)의 컨텐트(content)에 따라 달라질 수 있다.
상기 제1패킷화부(408) 및 상기 제2패킷화부(410)는 데이터 블록을 포함하는 패킷을 생성한다. 상기 제1패킷화부(408)는 로우 데이터 블록에 헤더(header)를 부가하며, 상기 제2패킷화부(410)는 압축된 데이터 블록에 헤더를 부가한다. 예를 들어, 상기 제1패킷화부(408) 및 상기 제2패킷화부(410)는 2개의 분리된 FIFO(First-In, First-Out) 메모리를 포함할 수 있다. 상기 제2패킷화부(410)로 제공되는 상기 압축된 데이터는, 상기 로우 데이터 블록에 비하여, 상기 압축부(404)의 처리를 더 거친다. 하지만, 일반적으로 압축은 몇몇 샘플 딜레이(few sample delay) 동안 수행 가능하므로, 지연(latency)는 상당히 짧을 수 있다. 데이터 블록이 상기 제1패킷화부(408) 및 상기 제2패킷화부(410)로 제공되는 때, 상기 패킷 크기 추정부(406) 역시 상기 데이터 블록을 제공받는다. 따라서, 상기 패킷 크기 추정부(406)의 데이터 블록 크기 추정은, 상기 제1패킷화부(408) 및 상기 제2패킷화부(410)의 패킷 생성과 근사한 시간 동안(in similar time) 수행되고, 완료될 수 있다.
상기 로우/압축 및 MCS 결정부(412)는 패킷 크기를 기준(criteria)으로 삼아 송신될 패킷을 결정한다. 또한, 상기 로우/압축 및 MCS 결정부(412)는 패킷에 적용될 MCS, 즉, 부호화율 및 변조 차수를 결정한다. 상기 로우/압축 및 MCS 결정부(412)에 의해 결정된 MCS 인덱스는 상기 제1패킷화부(408) 및 상기 제2패킷화부(410)로 제공된다. 또한, 상기 MCS 인덱스는 패킷에 대한 부호화 및 변조를 수행하는 다른 모듈(예: 모뎀(modem), CP(communication processor) 등)로 제공될 수 있다. 상기 로우/압축 및 MCS 결정부(412)는 상기 패킷 크기 추정부(406)로부터 압축된 데이터 블록 및 로우 데이터 블록의 크기를 제공받는다. 상기 패킷 크기 추정부(406)는 상기 제1패킷화부(408) 및 상기 제2패킷화부(410)가 패킷을 생성하는 동안 데이터 블록들의 크기를 추정하므로, 압축된 데이터 블록 및 로우 데이터 블록의 크기는 상기 패킷 생성이 종료되는 시점과 근사한 시점에 제공될 수 있다.
상기 스위치(414)는 상기 로우/압축 및 MCS 결정부(412)의 결정에 따라 상기 제1패킷화부(408)로부터 제공되는 패킷 또는 상기 제2패킷화부(410)로부터 제공되는 패킷 중 하나를 출력한다. 다시 말해, 상기 스위치(414)는 압축된 데이터 블록을 포함하는 패킷 및 로우 데이터 패킷을 포함하는 패킷 중 하나를 상기 버스 인터페이스(416)로 출력한다.
상기 버스 인터페이스(416)는 버스를 통해 패킷 송신을 위한 모듈로 패킷을 제공한다. 상기 패킷 송신을 위한 모듈은 MAC(media access control) 계층의 처리를 수행할 수 있다. 상기 버스는 AHB(advance high performance bus), AXI(advance extensible interface) 중 하나일 수 있다.
도 5는 본 발명의 실시 예에 따른 통신 시스템에서 MCS 결정을 위한 기능적 블록 구조를 도시한다. 상기 도 5는 상기 로우/압축 및 MCS 결정부(412)의 상세한 구성을 예시한다.
상기 도 5를 참고하면, 상기 로우/압축 및 MCS 결정부(412)는 로우/압축 패킷 선택부(raw/compressed packet selection unit)(502), 평균 패킷 크기 추정부(average packet size extimation)(504), MCS 매핑부(MCS mapping unit)(506), MCS 매핑 테이블(MCS mapping table)(508)을 포함한다.
상기 로우/압축 패킷 선택부(502)는 로우 데이터 블록을 포함하는 패킷 및 압축된 데이터 블록을 포함하는 패킷 중 송신될 패킷을 선택한다. 상기 로우/압축 패킷 선택부(502)는 상기 패킷 크기 추정부(406)로부터 제공되는 로우 데이터 블록의 크기 및 압축된 데이터 블록의 크기에 기초하여, 상기 송신될 패킷을 선택한다. 예를 들어, 상기 압축된 데이터 블록의 크기가 상대적으로 더 작으면, 상기 로우/압축 패킷 선택부(502)는 상기 압축된 데이터 블록을 포함하는 패킷을 선택한다.
상기 평균 패킷 크기 추정부(504)는 송신된 패킷들의 평균 크기를 산출한다. 구체적으로, 상기 평균 패킷 크기 추정부(504)는 특정 개수의 송신된 패킷들의 크기를 누적하고, 시스템 메모리(system memory) 또는 MAC 계층으로 이미 전달된 패킷들의 크기의 평균을 추정할 수 있다. 이때, 상기 평균 패킷 크기 추정부(504)는 슬라이딩 윈도우 평균 추정(sliding window average extimation) 기법을 이용할 수 있다. 추정된 평균 패킷 크기는 상기 MCS 매핑부(506)로 제공된다.
상기 MCS 매핑부(506)는 송신될 패킷에 적용될 MCS를 결정한다. 이를 위해, 상기 MCS 매핑부(506)는 상기 MCS 매핑 테이블(508)에서 평균 패킷 크기에 대응하는 MCS 인덱스(index)를 검색할 수 있다. 즉, 상기 MCS 매핑 테이블(508)은 평균 패킷 크기에 따른 MCS 인덱스들을 정의한다. 예를 들어, 상기 MCS 인덱스 및 평균 패킷 크기의 대응 관계는, 평균 패킷 크기가 작을수록 강건한(robust) 부호화율 및 변조 차수가 선택되도록 정의될 수 있다. 이에 따라, 사용 가능한 자원을 최대한 사용함으로써, 신뢰도 높은 전송이 수행될 수 있다. 그리고, 결정된 MCS는 상기 제1패킷화부(408) 및 상기 제2패킷화부(410)로 제공될 수 있다. 이에 따라, 상기 제1패킷화부(408) 및 상기 제2패킷화부(410)는 헤더에 패킷 크기(packet size), MCS 인덱스, 로우/압축 지시자(indicator)를 포함시킬 수 있다.
도 6은 본 발명의 실시 예에 따른 통신 시스템에서 비디오 패킷의 구성을 도시한다. 상기 도 6에서, (a)는 로우 데이터 블록을 포함하는 패킷의 구성을, (b)는 압축된 데이터 블록을 포함하는 패킷의 구성을 예시한다.
상기 도 6의 (a)를 참고하면, 로우 데이터 패킷은 패킷 크기(652), MCS 인덱스(654), 플래그(flag)(656)를 포함하는 데이터 패킷 헤더 및 로우 데이터(658)를 포함한다. 상기 패킷 크기(652)는 상기 로우 데이터 패킷의 전체 크기 또는 상기 로우 데이터(658)의 크기를 지시한다. 상기 MCS 인덱스(654)는 패킷들의 평균 크기에 기초하여 결정된 MCS 레벨을 지시한다. 상기 플래그(656)는 패킷에 포함된 데이터 블록이 로우 데이터인지 또는 압축된 데이터인지 여부를 지시한다. 상기 도 6의 (a)의 경우, 상기 플래그(656)는 '로우'를 지시한다. 상기 로우 데이터(658)는 전송 단위로 분할된 로우 데이터 블록을 포함한다. 본 발명의 다양한 실시 예에 따라, 상기 패킷 크기(652) 및 상기 MCS 인덱스(654) 중 적어도 하나는 제외될 수 있다.
상기 도 6의 (b)를 참고하면, 압축된 데이터 패킷은 패킷 크기(662), MCS 인덱스(664), 플래그(666)를 포함하는 데이터 패킷 헤더 및 로우 데이터(668) 및 압축된 데이터(670)를 포함한다. 상기 패킷 크기(662)는 상기 압축된 데이터 패킷의 전체 크기 또는 상기 로우 데이터(668) 및 상기 압축된 데이터(670)의 크기를 지시한다. 상기 MCS 인덱스(664)는 패킷들의 평균 크기에 기초하여 결정된 MCS 레벨을 지시한다. 상기 플래그(666)는 패킷에 포함된 데이터 블록이 로우 데이터인지 또는 압축된 데이터인지 여부를 지시한다. 상기 도 6의 (b)의 경우, 상기 플래그(666)는 '압축'을 지시한다. 본 발명의 다양한 실시 예에 따라, 상기 패킷 크기(652) 및 상기 MCS 인덱스(654) 중 적어도 하나는 제외될 수 있다. 상기 로우 데이터(668) 및 상기 압축된 데이터(670)는 전송 단위로 분할된 압축 데이터 블록을 포함한다. 여기서, 상기 로우 데이터(668)는 상기 압축된 데이터(670)의 압축에 대한 기준 픽셀의 값으로서 포함된다.
상기 도 6의 (b)의 예시는, 데이터 블록 중 일부의 픽셀 값만 변경되는 압축 방식을 예시한다. 따라서, 일부 픽셀에 대한 값은 상기 압축된 데이터(670)로서, 나머지는 상기 로우 데이터(668)로서 전달된다. 예를 들어, 상기 로우 데이터(668)는 해당 픽셀의 원래 값, 상기 압축된 데이터(670)는 해당 픽셀의 인접 픽셀과의 차이 값을 포함할 수 있다. 상기 로우 데이터(668)에 포함된 적어도 하나의 픽셀 값은 압축을 위한 기준 픽셀의 값이다. 따라서, 상기 로우 데이터(668)에 포함된 적어도 하나의 픽셀 값은 압축 해제를 위한 기준 픽셀의 값으로서 사용된다. 예를 들어, 상기 로우 데이터(668)는 하나의 픽셀의 값만을 포함할 수 있다.
상기 도 6의 (b)에 도시된 실시 예에 따르면, 압축된 데이터 블록은 기준 픽셀 값의 로우 데이터(668)를 포함한다. 그러나, 본 발명의 다른 실시 예에 따라, 상기 로우 데이터(668)는 제외될 수 있다. 이를 위해, 상기 압축된 데이터(668)에 대한 기준 픽셀 값은 미리 정의된 값으로 사용될 수 있다. 이 경우, 수신단은 상기 기준 픽셀 값을 상기 미리 정의된 값으로 설정한다.
도 7은 본 발명의 실시 예에 따른 통신 시스템에서 비디오 패킷을 해석하기 위한 기능적 블록 구조를 도시한다. 상기 도 7은 수신단에 포함되는 비디오 패킷을 해석하기 위한 수단을 예시한다.
상기 도 7을 참고하면, 상기 비디오 패킷을 해석하는 수단은 버스 인터페이스(702), 역-패킷화부(de-packetizing unit)(704), 로우/압축 검출부(raw/compress detecting unit)(706), 스위치(708), 압축해제부(de-compression unit)(710), 비디오/데이터 인터페이스(712)를 포함한다.
상기 버스 인터페이스(702)는 버스를 통해 입력되는 패킷을 수신한다. 상기 버스는 AHB, AXI 중 하나일 수 있다.
상기 역-패킷화부(704)는 상기 패킷을 헤더 및 데이터로 분할한다. 상기 데이터는 페이로드(payload)라 지칭될 수 있다. 즉, 상기 역-패킷화부(704)는 상기 헤더를 분석(parse)함으로써, 패킷의 타입(type)을 결정하기 위한 정보를 상기 헤더로부터 추출한다. 여기서, 상기 패킷의 타입은 비디오 데이터 패킷인지 여부를 나타낸다.
상기 로우/압축 검출부(706)는 상기 패킷이 압축 데이터 블록을 포함하는지 또는 로우 데이터 블록을 포함하는지 판단한다. 예를 들어, 상기 로우/압축 검출부(706)는 상기 패킷의 헤더에 포함된 플래그에 기초하여, 상기 압축 데이터 블록을 포함하는지 여부를 판단할 수 있다.
상기 스위치(708)는 상기 패킷에 압축 해제의 필요 여부에 따라 패킷에서 분리된 데이터를 상기 압축해제부(710) 또는 상기 비디오/데이터 인터페이스(712)로 제공한다. 예를 들어, 상기 패킷의 헤더에 포함된 플래그가 로우 데이터 블록을 지시하는 경우, 상기 스위치(708)는 상기 데이터를 상기 비디오/데이터 인터페이스(712)로 제공한다. 또는, 상기 패킷의 헤더에 포함된 플래그가 압축 데이터 블록을 지시하는 경우, 상기 스위치(708)는 상기 데이터를 상기 압축해제부(710)로 제공한다.
상기 압축해제부(710)는 상기 패킷으로부터 분리된 데이터를 압축 해제함으로써, 로우 데이터를 생성한다. 즉, 상기 압축해제부(710)는 압축 데이터 블록을 로우 데이터 블록으로 변환한다. 이때, 상기 압축해제부(710)는 송신단에서 사용된 압축 기법에 따라 압축 해제한다.
상기 비디오/데이터 인터페이스(712)는 비디오 데이터를 외부 장치 또는 비디오 데이터를 처리할 다른 모듈로 제공한다. 추가적으로, 상기 비디오/데이터 인터페이스(712)는 RGB-YCbCr 변환 또는 YCbCr-RGB 변환을 수행할 수 있다. 나아가, 상기 비디오/데이터 인터페이스(712)는 비디오 서브샘플링(subsampling)을 수생할 수 있다. 또한, 상기 비디오/데이터 인터페이스(712)는 수직 동기화(vertical synchronization), 수평 동기화(horizontal synchronization), 데이터 인에이블(data enable), 인터레이스 제어 신호(interlace control signal) 등을 처리할 수 있다.
도 8은 본 발명의 실시 예에 따른 통신 시스템에서 비디오 데이터를 압축하기 위한 기능적 블록 구조를 도시한다. 상기 도 8은 송신단의 상기 압축부(404)의 상세한 구성을 예시한다.
상기 압축부(404)는 픽셀 제거 및 복제부(pixel removing and duplicating unit)(802), 인코더(encoder)(804)를 포함한다.
상기 픽셀 제거 및 복제부(802)는 픽셀의 값을 구성하는 하위 값들 중 일부를 제거하고, 인접 픽셀의 대응하는 하위 값으로 대체한다. 예를 들어, 비디오가 YCbCr의 색 공간을 가지는 경우, 상기 픽셀 제거 및 복제부(802)는 인접한 일정 개수의 픽셀들 중 하나를 제외한 나머지 픽셀들의 Cb 값 및 Cr 값을 제거하고, 제거된 Cb 값 및 Cb 값을 상기 하나의 픽셀의 Cb 값 및 Cr 값으로 대체할 수 있다. 상기 픽셀 제거 및 복제부(802)에 의한 선처리(pre-process)는 비디오 데이터의 압축률을 향상시킬 수 있다. 상기 픽셀 제거 및 복제부(802)는 작은 크기의 추가 하드웨어(extra hardware) 또는 디지털 게이트(digital gate)로 구현될 수 있다.
상기 인코더(804)는 압축 기법에 의해 정해진 규칙에 따라 데이터를 압축한다. 예를 들어, 상기 인코더(804)는 적어도 하나의 픽셀 값을 기준 픽셀 값과의 차이 값으로 변경할 수 있다. 이때, 상기 차이 값의 크기에 따라, 상기 차이 값을 표현하는 비트 수가 달라질 수 있다. 이 경우, 서로 다른 비트 수로 표현되는 값들의 경계를 구분하기 위해, 일정한 규칙에 따라 값들이 배치되거나, 변환될 수 있다. 상기 픽셀 제거 및 복제부(802)에 의해 일부 픽셀들의 하위 값들이 동일해진 경우, 해당 하위 값들이 인접 픽셀들 간 동일하므로, 성가 일부 픽셀들의 차이 값들은 하나의 비트로 표현될 수 있다.
상기 도 8에 도시된 실시 예에 따르면, 일부 픽셀의 값들이 유실될 수 있다. 이 경우, 상기 픽셀 제거 및 복제부(802) 및 상기 인코더(804)의 조합은 압축 시 비디오 품질의 손실을 야기할 수 있다. 따라서, 본 발명의 다른 실시 예에 따라, 상기 픽셀 제거 및 복제부(802)는 제외될 수 있다.
도 9는 본 발명의 실시 예에 따른 통신 시스템에서 비디오 프레임의 압축 과정의 예를 도시한다. 상기 도 9는 상기 도 8의 상기 픽셀 제거 및 복제부(802)에 의한 픽셀 값 처리 과정을 예시한다.
상기 도 9의 (a)를 참고하면, N개 픽셀들은 YCbCr의 색 공간으로 표현된다. 상기 YCbCr은 픽셀의 값을 휘도(luminance) 및 색차(chrominance)로 표현한다. 각 픽셀 값들은 휘도 값들(901-1 내지 901-N), 제1색차 값들(902-1 내지 902-N), 제2색차 값들(903-1 내지 903-N)로 구분될 수 있다.
상기 도 9의 (b)를 참고하면, 상기 제1색차 값들(902-1 내지 902-N) 중 일부 및 상기 제2색차 값들(903-1 내지 903-N) 중 일부가 제거된다. 예를 들어, 상기 도 9의 (b)와 같이, 상기 제1색차 값들(902-1 내지 902-N)에서 4개 당 1개의 값들(902-1, 902-5, 902-9 등)을 제외한 나머지 값들, 상기 제2색차 값들(903-1 내지 903-N)에서 4개 당 1개의 값들(903-1, 903-5, 903-9 등)을 제외한 나머지 값들이 제거될 수 있다. 다시 말해, 상기 제1색차 값들(902-1 내지 902-N) 중 일부 및 상기 제2색차 값들(903-1 내지 903-N)은 4의 샘플링율(sampling rate)로 선택된다. 이때, 상기 휘도 값들(901-1 내지 901-N)은 모두 유지된다. 일반적으로, 휘도의 변화는 사람의 인식에서 큰 차이로 인지되기 때문이다.
상기 도 9의 (c)를 참고하면, 삭제된 위치의 제1색차 값들(902-2, 902-3, 902-4 등)은 앞선 인덱스의 샘플링된 제1색차 값(902-1 등)으로 대체된다. 다시 말해, 샘플링된 제1색차 값(902-1 등)이 삭제된 위치에 복제된다. 또한, 삭제된 위치의 제2색차 값들(903-2, 903-3, 903-4 등)은 앞선 인덱스의 샘플링된 제2색차 값(903-1 등)으로 대체된다. 다시 말해, 샘플링된 제2색차 값(903-1 등)이 삭제된 위치에 복제된다.
도 10은 본 발명의 다른 실시 예에 따른 통신 시스템에서 비디오 패킷을 생성하기 위한 기능적 블록 구조를 도시한다. 상기 도 10은 송신단에 포함되는 비디오 패킷을 생성하기 위한 수단을 예시한다. 상기 도 10은, 상기 도 4의 실시 예와 달리, 데이터 블록에 대한 압축에 앞서 압축 후의 크기를 예측한 후, 송신할 데이터 블록을 선택하는 실시 예를 도시한다.
상기 도 10를 참고하면, 상기 비디오 패킷을 생성하는 수단은 비디오/데이터 인터페이스(1002), 압축률 선-추정부(compression rate pre-estimation unit)(1004), 로우/압축 결정부(raw/compression decision unit)(1006), MCS 결정부(1008), 패킷화부(1010), 버스 인터페이스(1012)를 포함한다.
상기 비디오/데이터 인터페이스(1002)는 비디오 데이터 및 제어 데이터를 외부 장치로부터 수신한다. 상기 비디오/데이터 인터페이스(1002)는 수신된 신호로부터 데이터를 추출한다. 비디오 데이터가 수신되는 경우, 상기 비디오/데이터 인터페이스(1002)는 상기 비디오 데이터의 색 공간을 RGB 또는 YCbCr로 변경할 수 있다. 나아가, 상기 비디오/데이터 인터페이스(1002)는 상기 비디오 데이터를 데이터 블록 단위로 분할할 수 있다.
상기 압축률 선-추정부(1004)는 데이터 블록의 압축 후 크기를 추정한다. 다시 말해, 상기 압축률 선-추정부(1004)는 압축된 데이터 블록의 크기의 예측 값을 결정한다. 예를 들어, 상기 압축률 선-추정부(1004)는 픽셀 값들의 패턴을 이용하여 상기 압축 후 크기를 추정할 수 있다. 구체적으로, 상기 압축률 선-추정부(1004)는 상기 데이터 블록의 일부 픽셀들에 대하여 압축을 수행한 후, 일부 픽셀들의 압축 후 크기에 기초하여 데이터 블록 전체의 압축 후 크기를 결정할 수 있다. 구체적으로, 상기 압축률 선-추정부(1004)는 상기 데이터 블록의 1/n 부분의 픽셀들을 압축한 크기에 n을 곱함으로써, 상기 데이터 블록의 압축 후 크기를 추정할 수 있다.
상기 로우/압축 결정부(1006)는 상기 압축된 데이터 블록의 크기의 예측 값에 기초하여 데이터 블록의 압축 여부를 결정한다. 즉, 상기 로우/압축 결정부(1006)는 상기 예측 값이 로우 데이터 블록의 크기보다 작으면, 상기 데이터 블록을 압축할 것을 결정한다. 상기 데이터 블록을 압축할 것이 결정된 경우, 상기 로우/압축 결정부(1006)는 상기 데이터 블록을 압축한다. 여기서, 상기 압축은 손실 압축 또는 무손실 압축일 수 있다. 상기 손실 압축 및 상기 무손실 압축 중 하나의 선택은 설정에 따라 결정될 수 있다.
상기 MCS 결정부(1008)는 상기 패킷에 적용될 MCS, 즉, 부호화율 및 변조 차수를 결정한다. 예를 들어, 상기 MCS 결정부(1008)는 상기 패킷의 크기 또는 상기 패킷 및 이미 송신된 패킷들의 평균 크기에 기초하여 상기 MCS를 결정할 수 있다. 구체적으로, 상기 MCS 결정부(1008)는 특정 개수의 송신된 패킷들의 크기들의 평균을 추정하고, 상기 평균에 대응하는 MCS 인덱스를 결정할 수 있다. 이를 위해, 상기 MCS 결정부(1008)는 MCS 매핑 테이블을 포함하거나, 또는, 다른 모듈에 저장된 MCS 테이블을 이용할 수 있다. 예를 들어, 상기 MCS 매핑 테이블은 평균 패킷 크기가 작을수록 강건한(robust) 부호화율 및 변조 차수가 선택되도록 정의될 수 있다. 상기 MCS 결정부(1008)에 의해 결정된 MCS 인덱스는 상기 패킷화부(1010)로 제공된다. 또한, 상기 MCS 인덱스는 패킷에 대한 부호화 및 변조를 수행하는 다른 모듈(예: 모뎀, CP 등)로 제공될 수 있다.
상기 패킷화부(1010)는 상기 데이터 블록을 포함하는 패킷을 생성한다. 여기서, 상기 데이터 블록은 로우 데이터 블록 또는 압축된 데이터 블록 중 하나이다. 즉, 상기 패킷화부(1010)는 상기 로우/압축 결정부(1006)로부터 제공되는 데이터 블록에 헤더를 부가함으로써, 패킷화한다. 예를 들어, 상기 헤더는 패킷 크기, MCS 인덱스, 포함되는 데이터가 로우 데이터인지 압축된 데이터인지 지시하는 플래그 중 적어도 하나를 포함할 수 있다.
상기 버스 인터페이스(1012)는 버스를 통해 패킷 송신을 위한 모듈로 패킷을 제공한다. 상기 패킷 송신을 위한 모듈은 MAC 계층의 처리를 수행할 수 있다. 상기 버스는 AHB, AXI 중 하나일 수 있다.
도 11은 본 발명의 실시 예에 따른 통신 시스템에서 송신단의 동작 절차를 도시한다. 상기 도 11은 비디오 패킷을 송신하는 절차를 도시한다.
상기 도 11을 참고하면, 상기 송신단은 1101단계에서 압축된 데이터 또는 로우 데이터를 선택적으로 포함하는 패킷을 생성한다. 상기 데이터는 비디오 컨텐츠로서, 하나의 프레임에서 전송 단위로 분할된 일부 픽셀 값들을 포함한다. 이를 위해, 상기 송신단은 압축된 데이터의 크기 및 로우 데이터의 크기를 비교함으로써, 상기 패킷에 포함될 데이터를 선택할 수 있다. 그리고, 상기 송신단은 선택된 데이터에 헤더를 부가함으로써, 상기 패킷을 생성한다. 상기 헤더는, 패킷 크기, MCS 인덱스, 데이터가 로우 데이터인지 압축된 데이터인지를 지시하는 지시자 중 적어도 하나를 포함할 수 있다. 상기 MCS 인덱스는 상기 패킷 및 이전 송신된 적어도 하나의 패킷의 평균 크기 또는 상기 이전 송신된 적어도 하나의 패킷의 평균 크기에 기초하여 결정된 MCS 레벨을 지시할 수 있다. 또한, 압축된 데이터는 압축의 기준 픽셀로 사용되는 적어도 하나의 픽셀의 로우 데이터를 포함할 수 있다.
이후, 상기 송신단은 1103단계로 진행하여 상기 패킷을 송신한다. 상기 패킷은 유선 채널 또는 무선 채널을 통해 송신될 수 있다. 구체적으로, 상기 송신단은 상기 패킷에 대한 부호화 및 변조를 수행하고, 아날로그 신호로 변환한 후, 상기 아날로그 신호를 송신할 수 있다. 이때, 상기 송신단은 상기 부호화 및 변조를 위한 MCS 레벨을 결정하며, 상기 MCS 레벨은 패킷들의 평균 크기에 기초하여 결정된 MCS 레벨과 상이할 수 있다. 즉, 상기 패킷들의 평균 크기에 기초하여 결정된 MCS 레벨은 비디오 패킷 생성 과정에서 판단되는 권고(recommendation)이며, 최종적인 MCS 레벨은 채널 상태 등을 더 고려하여 결정될 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 통신 시스템에서 송신단의 동작 절차를 도시한다. 상기 도 12는 패킷에 포함될 데이터를 선택하는 절차를 도시한다.
상기 도 12를 참고하면, 상기 송신단은 1201단계에서 압축 후의 데이터 크기를 결정한다. 상기 데이터는 비디오 컨텐츠로서, 하나의 프레임에서 전송 단위로 분할된 일부 픽셀 값들을 포함한다. 이를 위해, 상기 송신단은 상기 데이터를 압축한 후, 크기를 측정할 수 있다. 또는, 상기 송신단은 상기 데이터의 일부를 압축한 후, 압축된 일부의 크기에 기초하여 압축된 전체 데이터의 크기를 추정할 수 있다.
이후, 상기 송신단은 1203단계로 진행하여 상기 크기에 기초하여 송신할 데이터를 선택한다. 다시 말해, 상기 송신단은 상기 압축 후의 데이터 크기에 기초하여 압축된 데이터 또는 로우 데이터 중 송신할 데이터를 선택한다. 구체적으로, 상기 송신단은 압축 전의 데이터 크기 및 상기 압축 후의 데이터 크기를 비교하고, 상기 압축 전의 데이터 크기가 더 작으면 상기 로우 데이터를 선택하고, 상기 압축 후의 데이터 크기가 더 작으면 상기 압축된 데이터를 선택한다.
도 13은 본 발명의 다른 실시 예에 따른 통신 시스템에서 수신단의 동작 절차를 도시한다. 상기 도 13은 비디오 패킷을 수신하는 절차를 도시한다.
상기 도 13을 참고하면, 상기 수신단은 1301단계에서 압축된 데이터 또는 로우 데이터를 선택적으로 포함하는 패킷을 수신한다. 상기 데이터는 비디오 컨텐츠로서, 하나의 프레임에서 전송 단위로 분할된 일부 픽셀 값들을 포함한다. 상기 패킷은 헤더를 포함하며, 상기 압축된 데이터 및 상기 로우 데이터 중 하나를 포함한다. 상기 헤더는, 패킷 크기, MCS 인덱스, 데이터가 로우 데이터인지 압축된 데이터인지를 지시하는 지시자 중 적어도 하나를 포함할 수 있다. 상기 압축된 데이터 및 상기 로우 데이터 중 어느 데이터가 포함되는지는 송신단에 의해 결정되며, 사기 압축된 데이터 및 상기 로우 데이터 간 크기 비교에 기초하여 결정될 수 있다.
이후, 상기 수신단은 1303단계로 진행하여 상기 패킷에 포함된 데이터를 처리한다. 상기 데이터는 상기 압축된 데이터 및 상기 로우 데이터 중 하나이다. 따라서, 상기 수신단은 상기 패킷에 포함된 데이터의 압축 여부에 기초하여 상기 데이터를 처리한다. 이를 위해, 상기 수신단은 상기 데이터가 상기 로우 데이터인지 또는 상기 압축된 데이터인지 판단한다. 상기 수신단은 상기 헤더에 포함된 지시자를 통해 상기 압축된 데이터가 포함되는지 또는 상기 로우 데이터가 포함되는지 판단할 수 있다. 상기 압축된 데이터가 포함된 경우, 상기 수신단은 상기 패킷으로부터 추출된 데이터에 대한 압축 해제를 수생함으로써, 로우 데이터를 복원한다. 상기 압축된 데이터는 압축의 기준 픽셀로 사용되는 적어도 하나의 픽셀의 로우 데이터를 포함할 수 있다. 이 경우, 상기 수신단은 상기 적어도 하나의 픽셀의 값을 기준으로 압축 해제를 수행할 수 있다. 본 발명의 다른 실시 예에 따라, 상기 압축된 데이터는 상기 기준 픽셀로 사용되는 적어도 하나의 픽셀의 로우 데이터가 포함하지 아니할 수 있다. 이 경우, 상기 수신단은 상기 기준 픽셀의 값을 상기 미리 정의된 값으로 설정한 후, 상기 미리 정의된 값을 기준으로 압축 해제를 수행할 수 있다.
도 14는 본 발명의 실시 예에 따른 통신 시스템에서 송신단의 블록 구성을 도시한다.
상기 도 14을 참고하면, 상기 송신단은 송신부(1410), 저장부(1420), 제어부(1430)를 포함한다.
상기 송신부(1410)는 신호를 송신하기 위한 기능을 수행한다. 예를 들어, 상기 송신부(1410)는 부호화, 변조, 대역 변환, 증폭 등을 수행할 수 있다. 예를 들어, 상기 송신부(1410)는 모뎀, 송신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(Digital to Analog Convertor) 중 적어도 하나를 포함할 수 있다. 본 발명의 실시 예에 따라, 상기 송신부(1410)는 상기 제어부(1430)로부터 제공되는 비디오 패킷을 수신단으로 송신한다. 또한, 상기 송신부(1410)는 상기 제어부(1430)로부터 제공되는 패킷들의 평균 크기에 기초하여 선택된 MCS 레벨에 기초하여 상기 패킷에 적용될 최종적인 MCS 레벨을 결정할 수 있다. 상기 송신부(1410)는 '통신부'로 지칭될 수 있다.
상기 저장부(1420)는 상기 송신단의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 예를 들어, 상기 저장부(1420)는 패킷들의 평균 크기와 MCS 레벨의 매핑 관계를 정의하는 테이블을 저장할 수 있다. 본 발명의 다른 실시 예에 따라, 상기 테이블은 상기 제어부(1430)에 저장될 수 있다. 그리고, 상기 저장부(1420)는 상기 제어부(1430)의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부(1430)는 상기 송신단의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부(1430)는 상기 송신부(1410)을 통해 신호를 송신한다. 또한, 상기 제어부(1430)는 상기 저장부(1420)에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부(1430)는 적어도 하나의 프로세서(processor)를 포함할 수 있다. 예를 들어, 상기 제어부(1430)는 통신을 위한 제어를 수행하는 CP 및 응용 프로그램 등 상위 계층을 제어하는 AP 중 적어도 하나를 포함할 수 있다. 본 발명의 실시 예에 따라, 상기 제어부(1430)는 상기 도 4, 상기 도 5, 상기 도 8, 상기 도 10에 도시된 기능적 유닛들 중 적어도 하나를 구현한 적어도 하나의 프로세서를 포함한다. 상기 제어부(1430)는 상기 송신단이 상기 도 11, 상기 도 12에 도시된 절차를 수행하도록 제어할 수 있다. 본 발명의 실시 예에 따른 상기 제어부(1430)의 동작은 다음과 같다.
본 발명의 일 실시 예에 따라, 상기 제어부(1430)는 압축된 데이터 또는 로우 데이터를 선택적으로 포함하는 패킷을 생성한다. 구체적으로, 상기 제어부(1430)는 압축된 데이터의 크기 및 로우 데이터의 크기를 비교함으로써 상기 패킷에 포함될 데이터를 선택하고, 선택된 데이터에 헤더를 부가함으로써 상기 패킷을 생성한다. 상기 헤더는, 패킷 크기, MCS 인덱스, 데이터가 로우 데이터인지 압축된 데이터인지를 지시하는 지시자 중 적어도 하나를 포함할 수 있다. 그리고, 상기 제어부(1430)는 상기 송신부(1410)를 통해 상기 패킷을 송신한다.
본 발명의 다른 실시 예에 따라, 상기 제어부(1430)는 압축 후의 데이터 크기를 결정한다. 이를 위해, 상기 제어부(1430)는 상기 데이터를 압축한 후, 크기를 측정할 수 있다. 또는, 상기 제어부(1430)는 상기 데이터의 일부를 압축한 후, 압축된 일부의 크기에 기초하여 압축된 전체 데이터의 크기를 추정할 수 있다. 그리고, 상기 제어부(1430)는 상기 압축 후의 데이터 크기에 기초하여 압축된 데이터 또는 로우 데이터 중 송신할 데이터를 선택한다. 구체적으로, 상기 제어부(1430)는 압축 전의 데이터 크기 및 상기 압축 후의 데이터 크기를 비교하고, 상기 압축 전의 데이터 크기가 더 작으면 상기 로우 데이터를 선택하고, 상기 압축 후의 데이터 크기가 더 작으면 상기 압축된 데이터를 선택한다.
도 15는 본 발명의 실시 예에 따른 통신 시스템에서 송신단의 블록 구성을 도시한다.
상기 도 15를 참고하면, 상기 수신단은 수신부(1510), 저장부(1520), 제어부(1530)를 포함한다.
상기 수신부(1510)는 신호를 수신하기 위한 기능을 수행한다. 예를 들어, 상기 수신부(1510)는 증폭, 대역 변환, 복조, 복호화 등을 수행할 수 있다. 예를 들어, 상기 수신부(1510)는 수신 필터, 증폭기, 믹서, 오실레이터, ADC(Analog to Digital Convertor), 모뎀 중 적어도 하나를 포함할 수 있다. 본 발명의 실시 예에 따라, 상기 수신부(1510)는 수신 신호를 복조 및 복호화함으로써 비디오 패킷을 획득하고, 상기 비디오 패킷을 상기 제어부(1530)로 제공한다. 상기 수신부(1510)는 '통신부'로 지칭될 수 있다.
상기 저장부(1520)는 상기 수신단의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 그리고, 상기 저장부(1520)는 상기 제어부(1530)의 요청에 따라 저장된 데이터를 제공한다.
상기 제어부(1530)는 상기 송신단의 전반적인 동작들을 제어한다. 예를 들어, 상기 제어부(1530)는 상기 수신부(1510)을 통해 신호를 수신한다. 또한, 상기 제어부(1530)는 상기 저장부(1520)에 데이터를 기록하고, 읽는다. 이를 위해, 상기 제어부(1530)는 적어도 하나의 프로세서를 포함할 수 있다. 예를 들어, 상기 제어부(1530)는 통신을 위한 제어를 수행하는 CP 및 응용 프로그램 등 상위 계층을 제어하는 AP 중 적어도 하나를 포함할 수 있다. 본 발명의 실시 예에 따라, 상기 제어부(1530)는 상기 도 7에 도시된 기능적 유닛들 중 적어도 하나를 구현한 적어도 하나의 프로세서를 포함한다. 상기 제어부(1530)는 상기 송신단이 상기 도 13에 도시된 절차를 수행하도록 제어할 수 있다. 본 발명의 실시 예에 따른 상기 제어부(1530)의 동작은 다음과 같다.
상기 제어부(1530)는 상기 수신부(1510)를 통해 압축된 데이터 또는 로우 데이터를 선택적으로 포함하는 패킷을 수신한다. 상기 패킷의 헤더는, 패킷 크기, MCS 인덱스, 데이터가 로우 데이터인지 압축된 데이터인지를 지시하는 지시자 중 적어도 하나를 포함할 수 있다. 상기 제어부(1530)는 상기 헤더에 포함된 지시자를 통해 상기 압축된 데이터가 포함되는지 또는 상기 로우 데이터가 포함되는지 판단할 수 있다. 상기 압축된 데이터가 포함된 경우, 상기 제어부(1530)는 상기 패킷으로부터 추출된 데이터에 대한 압축 해제를 수생함으로써, 로우 데이터를 복원한다. 상기 압축된 데이터가 압축의 기준 픽셀로 사용되는 적어도 하나의 픽셀의 로우 데이터를 포함하는 경우, 상기 제어부(1530)는 상기 적어도 하나의 픽셀의 값을 기준으로 압축 해제를 수행할 수 있다. 상기 압축된 데이터가 상기 기준 픽셀로 사용되는 적어도 하나의 픽셀의 로우 데이터가 포함하지 아니하면, 상기 제어부(1530)는 상기 기준 픽셀의 값을 상기 미리 정의된 값으로 설정한 후, 상기 미리 정의된 값을 기준으로 압축 해제를 수행할 수 있다.
본 발명의 실시 예를 적용하는 경우, 비디오 품질의 실질적인 유실 없이, MCS 인덱스가 평균적으로 4 내지 5 레벨 감소될 수 있다. 예를 들어, 압축 없는 로우 비디오 스트림 전송(raw video stream transmission)에서 요구되는 MCS 인덱스가 8이면, 본 발명의 실시 예에 따른 송신단은 3 내지 4의 MCS 인덱스를 사용할 수 있다. 비디오 스트림 또는 데이터 스트림을 낮은 하드웨어 복잡도(complexity)로 처리하기 위해, 패킷에 대한 처리는 실시간(real time)으로 수행되는 것이 바람직하다. 이하 <표 1> 및 이하 <표 2>는 모의 실험을 통해 확인된 본 발명이 적용된 경우와 로우 데이터만을 송신하는 경우의 MCS 인덱스를 나타낸다.
전송 방식 MCS 인덱스
로우 데이터만 전송 8 (전 시간 구간)
로우 데이터 및 압축 데이터
선택적으로 전송
(본 발명)
3 (시간 구간의 60%)
4 (시간 구간의 35%)
2, 5, 6, 7 또는 8 (시간 구간의 5%)
상기 <표 1>은 무손실 압축을 적용한 경우의 MCS 인덱스 관찰 결과이다.
전송 방식 MCS 인덱스
로우 데이터만 전송 8 (전 시간 구간)
로우 데이터 및 압축 데이터
선택적으로 전송
(본 발명)
2 (시간 구간의 70%)
3 (시간 구간의 25%)
1, 4, 5, 6, 7 또는 8 (시간 구간의 5%)
상기 <표 2>은 손실 압축을 적용한 경우의 MCS 인덱스 관찰 결과이다. 즉, 상기 <표 2>는 상기 도 9와 같이 일부 픽셀 값들에 대한 제거 및 복제를 수행한 경우의 모의 실험 결과를 나타낸다. 상기 모의 실험에서, 샘플링율은 2로 설정되었다.
본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 발명의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 발명의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 발명의 구체적인 실시 예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 발명이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (24)

  1. 통신 시스템에서 송신단의 동작 방법에 있어서,
    로우(raw) 데이터의 1/n 부분에 대해 압축을 수행하는 과정,
    상기 로우 데이터의 상기 1/n 부분에 대해 압축된 크기(size)에 n배를 곱함으로써, 상기 로우 데이터의 압축된 크기를 추정하는 과정,
    상기 추정된 로우 데이터의 압축된 크기가 상기 로우 데이터의 크기보다 크거나 같은 경우, 상기 로우 데이터와 헤더(header)를 포함하는 패킷을 생성하는 과정,
    상기 추정된 로우 데이터의 압축된 크기가 상기 로우 데이터의 크기보다 작은 경우, 로우 데이터에 대한 압축을 수행하고 상기 압축된 로우 데이터와 상기 헤더를 포함하는 패킷을 생성하는 과정,
    상기 패킷의 평균 크기에 기반하여 MCS(modulation and coding scheme) 레벨을 결정하는 과정, 상기 패킷의 상기 평균 크기는 미리 결정된 수의 패킷들의 평균 크기를 추정하는 슬라이딩 윈도우 평균 추정을 사용함으로써 결정되고,
    상기 생성된 패킷을 수신단에게 송신하는 과정을 포함하고,
    상기 헤더는 상기 패킷에 적용된 상기 MCS 레벨을 지시하는 인덱스를 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 로우 데이터에 대한 압축은, 휘도(luminance) 값들은 유지하면서, 미리 결정된 샘플링율(sampling rate)에 따라 제1 색차(chrominance) 값과 제2 색차 값을 샘플링 함으로써 수행되는 방법.
  3. 청구항 1에 있어서,
    상기 헤더는, 상기 패킷이 로우 데이터를 포함하는지, 상기 압축된 로우 데이터를 포함하는지를 지시하는 지시자(indicator)를 더 포함하는 방법.
  4. 통신 시스템에서 수신단의 동작 방법에 있어서,
    송신단으로부터 로우(raw) 데이터 또는 압축된 로우 데이터 중 하나와 헤더(header)를 포함하는 패킷을 수신하는 과정과,
    상기 헤더에 기반하여 상기 패킷이 로우 데이터를 포함하는지, 상기 압축된 로우 데이터를 포함하는지를 결정하고,
    상기 패킷이 상기 압축된 로우 데이터를 포함하는 것으로 결정된 경우, 상기 패킷에 대해 압축 해제를 수행하는 과정,
    상기 패킷은, 상기 압축된 로우 데이터의 추정된 크기(size)가 상기 로우 데이터의 크기 보다 크거나 같은 경우, 상기 로우 데이터를 포함하고,
    상기 패킷은, 상기 압축된 로우 데이터의 추정된 크기가 상기 로우 데이터의 크기 보다 적은 경우, 상기 압축된 로우 데이터를 포함하고,
    상기 압축된 로우 데이터의 추정된 크기는 상기 로우 데이터의 1/n 부분에 대해 압축된 크기를 n배를 곱함으로써 추정되고,
    상기 헤더는 상기 패킷에 적용된 MCS(modulation and coding scheme) 레벨을 지시하는 인덱스를 포함하고,
    상기 MCS 레벨은 상기 패킷의 평균 크기에 기반하여 결정되고,
    상기 패킷의 상기 평균 크기는 미리 결정된 수의 패킷들의 평균 크기를 추정하는 슬라이딩 윈도우 평균 추정을 사용함으로써 결정되는 방법.
  5. 청구항 4에 있어서,
    상기 로우 데이터에 대한 압축은, 휘도(luminance) 값들은 유지하면서, 미리 결정된 샘플링율(sampling rate)에 따라 제1 색차(chrominance) 값과 제2 색차 값을 샘플링 함으로써 수행되는 방법.
  6. 청구항 4에 있어서,
    상기 헤더는, 상기 패킷이 로우 데이터를 포함하는지, 상기 압축된 로우 데이터를 포함하는지를 지시하는 지시자(indicator)를 더 포함하는 방법.
  7. 통신 시스템에서 송신단 장치에 있어서,
    송수신부, 및
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    로우(raw) 데이터의 1/n 부분에 대해 압축을 수행하고,
    상기 로우 데이터의 상기 1/n 부분에 대해 압축된 크기(size)에 n배를 곱함으로써, 상기 로우 데이터의 압축된 크기를 추정하고,
    상기 추정된 로우 데이터의 압축된 크기가 상기 로우 데이터의 크기 보다 크거나 같은 경우, 상기 로우 데이터와 헤더(header)를 포함하는 패킷을 생성하고,
    상기 추정된 로우 데이터의 압축된 크기가 상기 로우 데이터의 크기보다 작은 경우, 로우 데이터에 대한 압축을 수행하고 상기 압축된 로우 데이터와 상기 헤더를 포함하는 패킷을 생성하고,
    상기 패킷의 평균 크기에 기반하여 MCS(modulation and coding scheme) 레벨을 결정하고, 상기 패킷의 상기 평균 크기는 미리 결정된 수의 패킷들의 평균 크기를 추정하는 슬라이딩 윈도우 평균 추정을 사용함으로써 결정되고,
    상기 생성된 패킷을 수신단에게 송신하도록 구성되고,
    상기 헤더는 상기 패킷에 적용된 상기 MCS 레벨을 지시하는 인덱스를 포함하는 장치.
  8. 청구항 7에 있어서,
    상기 로우 데이터에 대한 압축은,
    휘도(luminance) 값들은 유지하면서, 미리 결정된 샘플링율(sampling rate)에 따라 제1 색차(chrominance) 값과 제2 색차 값을 샘플링 함으로써 수행되는 장치.
  9. 청구항 7에 있어서,
    상기 헤더는, 상기 패킷이 로우 데이터를 포함하는지, 상기 압축된 로우 데이터를 포함하는지를 지시하는 지시자(indicator)를 더 포함하는 장치.
  10. 통신 시스템에서 수신단 장치에 있어서,
    송수신부, 및
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    송신단으로부터 로우(raw) 데이터 또는 압축된 로우 데이터 중 하나와 헤더(header)를 포함하는 패킷을 수신하고,
    상기 헤더에 기반하여 상기 패킷이 로우 데이터를 포함하는지, 상기 압축된 로우 데이터를 포함하는 지를 결정하고,
    상기 패킷이 상기 압축된 로우 데이터를 포함하는 것으로 결정된 경우, 상기 패킷에 대해 압축 해제를 수행하도록 구성되고,
    상기 패킷은, 상기 압축된 로우 데이터의 추정된 크기(size)가 상기 로우 데이터의 크기 보다 크거나 같은 경우, 상기 로우 데이터를 포함하고,
    상기 패킷은, 상기 압축된 로우 데이터의 추정된 크기가 상기 로우 데이터의 크기 보다 적은 경우, 상기 압축된 로우 데이터를 포함하고,
    상기 압축된 로우 데이터의 추정된 크기는 상기 로우 데이터의 1/n 부분에 대해 압축된 크기를 n배를 곱함으로써 추정되고,
    상기 헤더는 상기 패킷에 적용된 MCS(modulation and coding scheme) 레벨을 지시하는 인덱스를 포함하고,
    상기 MCS 레벨은 상기 패킷의 평균 크기에 기반하여 결정되고,
    상기 패킷의 상기 평균 크기는 미리 결정된 수의 패킷들의 평균 크기를 추정하는 슬라이딩 윈도우 평균 추정을 사용함으로써 결정되는 장치.
  11. 청구항 10에 있어서,
    상기 로우 데이터에 대한 압축은, 휘도(luminance) 값들은 유지하면서 미리 결정된 샘플링율(sampling rate)에 따라 제1 색차(chrominance) 값과 제2 색차 값을 샘플링 함으로써 수행되는 장치.
  12. 청구항 10에 있어서,
    상기 헤더는, 상기 패킷이 로우 데이터를 포함하는지, 상기 압축된 로우 데이터를 포함하는지를 지시하는 지시자(indicator)를 더 포함하는 장치.


  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020140173049A 2014-12-04 2014-12-04 통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법 KR102231222B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140173049A KR102231222B1 (ko) 2014-12-04 2014-12-04 통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법
US14/960,038 US10348452B2 (en) 2014-12-04 2015-12-04 Apparatus and method for transmitting video data in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140173049A KR102231222B1 (ko) 2014-12-04 2014-12-04 통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160067529A KR20160067529A (ko) 2016-06-14
KR102231222B1 true KR102231222B1 (ko) 2021-03-23

Family

ID=56095482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140173049A KR102231222B1 (ko) 2014-12-04 2014-12-04 통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법

Country Status (2)

Country Link
US (1) US10348452B2 (ko)
KR (1) KR102231222B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10904365B2 (en) * 2017-01-27 2021-01-26 Cisco Technology, Inc. Virtualized media processing pipeline
WO2019117623A1 (en) * 2017-12-12 2019-06-20 Samsung Electronics Co., Ltd. Method and apparatus for operating a processor in an electronic device
CN113709510A (zh) * 2021-08-06 2021-11-26 联想(北京)有限公司 高速率数据实时传输方法及装置、设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110103472A1 (en) * 2009-10-01 2011-05-05 Nxp B.V. Methods, systems and devices for compression of data and transmission thereof using video transmission standards

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582652B2 (en) 2007-10-30 2013-11-12 General Instrument Corporation Method and apparatus for selecting a coding mode
CN102474565B (zh) 2009-09-09 2016-03-30 索尼公司 在无线hd1.1中用于图形模式压缩的比特流语法
US8600179B2 (en) 2009-09-17 2013-12-03 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
JP5393574B2 (ja) * 2010-04-08 2014-01-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US20130279804A1 (en) 2012-04-23 2013-10-24 Daniel Kilbank Dual transform lossy and lossless compression
US9953436B2 (en) 2012-06-26 2018-04-24 BTS Software Solutions, LLC Low delay low complexity lossless compression system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110103472A1 (en) * 2009-10-01 2011-05-05 Nxp B.V. Methods, systems and devices for compression of data and transmission thereof using video transmission standards

Also Published As

Publication number Publication date
KR20160067529A (ko) 2016-06-14
US20160165169A1 (en) 2016-06-09
US10348452B2 (en) 2019-07-09

Similar Documents

Publication Publication Date Title
EP3414903B1 (en) Method and device for encoding/decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel
JP6595006B2 (ja) 低レイテンシスクリーンミラーリング
CN108028925B (zh) 用于显示流压缩(dsc)的块预测模式的可变分区大小
EP3132602B1 (en) System and method for selecting quantization parameter (qp) in display stream compression (dsc)
TWI696381B (zh) 用於非4:4:4色度子採樣之顯示串流壓縮(dsc)之熵寫碼技術
KR102342660B1 (ko) 디스플레이 스트림 압축을 위한 서브스트림 멀티플렉싱
US20150229933A1 (en) Adaptive screen and video coding scheme
US8989275B2 (en) Video processing architecture
US10631005B2 (en) System and method for coding in block prediction mode for display stream compression (DSC)
EP3132605B1 (en) System and method for lagrangian parameter calculation for display stream compression (dsc)
RU2008150330A (ru) Сжатие видеоданных без видимых потерь
KR101667970B1 (ko) 서버 장치, 단말, 씬 클라이언트 시스템, 화면 송신 방법 및 프로그램
US10750175B2 (en) Quantization partitioning for enhanced image compression
US9883188B2 (en) Image compression system for dynamically adjusting compression parameters by content sensitive detection in video signal
JPWO2009063554A1 (ja) 符号化装置および復号装置
US20130251261A1 (en) Method And Apparatus For Image Data Compression
KR102231222B1 (ko) 통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법
JP2017515374A (ja) ディスプレイストリーム圧縮(dsc)のための平坦度検出のためのシステムおよび方法
KR20170136526A (ko) 디스플레이 스트림 압축을 위한 복잡한 영역 검출
JP6644766B2 (ja) ディスプレイストリーム圧縮のためにバッファ満杯を決定するためのシステムおよび方法
US20110310955A1 (en) Method and system for repetition based adaptive video compression
US20120033727A1 (en) Efficient video codec implementation
TWI705693B (zh) 用於顯示串流壓縮之基於向量之熵寫碼的裝置及方法
WO2024022039A1 (zh) 一种视频图像解码方法、编码方法、装置及存储介质
JP6401295B2 (ja) ディスプレイストリーム圧縮(dsc)用のパターンモードでのコーディングのためのシステムおよび方法

Legal Events

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