KR20180123847A - 슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법 - Google Patents

슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법 Download PDF

Info

Publication number
KR20180123847A
KR20180123847A KR1020170058096A KR20170058096A KR20180123847A KR 20180123847 A KR20180123847 A KR 20180123847A KR 1020170058096 A KR1020170058096 A KR 1020170058096A KR 20170058096 A KR20170058096 A KR 20170058096A KR 20180123847 A KR20180123847 A KR 20180123847A
Authority
KR
South Korea
Prior art keywords
slice
slices
frame
image
frame image
Prior art date
Application number
KR1020170058096A
Other languages
English (en)
Other versions
KR102497216B1 (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 KR1020170058096A priority Critical patent/KR102497216B1/ko
Priority to US15/815,060 priority patent/US10812804B2/en
Priority to CN201711462803.9A priority patent/CN108881951B/zh
Priority to SG10201803184UA priority patent/SG10201803184UA/en
Publication of KR20180123847A publication Critical patent/KR20180123847A/ko
Application granted granted Critical
Publication of KR102497216B1 publication Critical patent/KR102497216B1/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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

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

Abstract

슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법이 개시된다. 본 개시의 기술적 사상의 일측면에 따른 영상 처리 방법은, 제1 내지 제N 슬라이스들을 포함하는 제1 프레임 영상의 일부의 슬라이스에 대한 제1 방식의 압축을 통해 I 슬라이스를 생성하는 단계(단, N은 2 이상의 정수)와, 상기 제1 프레임 영상의 다른 일부의 슬라이스에 대한 제2 방식의 압축을 통해 다수 개의 P 슬라이스들을 생성하는 단계 및 상기 제1 프레임 영상에 대해, 상기 생성된 I 슬라이스 및 P 슬라이스들을 포함하는 N 미만의 개수의 패킷을 전송하는 단계를 구비하는 것을 특징으로 한다.

Description

슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법{Image Processing Device and Image Processing Method Performing Slice-based Compression}
본 개시의 기술적 사상은 영상 처리 장치에 관한 것으로서, 구체적으로는 슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법에 관한 것이다.
일반적으로 영상 처리 장치는 영상을 코딩하여 송수신함으로써 영상의 전송 효율을 향상한다. 다양한 종류의 코덱 기술에 영상 압축이 적용될 수 있으며, 영상 압축 방법의 일 예로서 다른 영역의 영상을 참조하여 영상을 압축하는 인터 예측(inter prediction)과, 다른 영역의 영상을 참조하지 않고 영상을 압축하는 인트라 예측(intra prediction)이 적용될 수 있다. 일 예로서, 프레임 단위를 기준으로 할 때, 인터 예측에 따라 압축되는 프레임은 I 프레임으로 지칭될 수 있으며, 인트라 예측에 따라 압축되는 프레임은 P 프레임 또는 B 프레임으로 지칭될 수 있다.
인코딩된 영상은 한정된 대역폭을 갖는 네트워크를 통해 수신 장치로 전송된다. 전술한 바와 같이, 프레임들은 압축 방식에 기반하여 I 프레임과 P, B 프레임으로 분류될 수 있으며, I 프레임은 이전의 프레임을 참조함이 없이 압축이 해제될 수 있어야 하므로, I 프레임은 P, B 프레임에 비해 상대적으로 큰 사이즈(또는, 큰 용량)를 가질 수 있다. 그러나, 한정된 대역폭을 통해 영상을 전송함에 있어서, 상대적으로 용량이 큰 I 프레임이 전송되는 경우 네트워크 사용량이 증가되며, 또한 전송 에러 발생 가능성이 높아지는 문제가 있다.
본 개시의 기술적 사상은 네트워크 사용량을 균일화할 수 있으며 디코딩 에러 발생 가능성을 감소시킨 영상 처리 장치 및 영상 처리 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 영상 처리 방법은, 제1 내지 제N 슬라이스들을 포함하는 제1 프레임 영상의 일부의 슬라이스에 대한 제1 방식의 압축을 통해 I 슬라이스를 생성하는 단계(단, N은 2 이상의 정수)와, 상기 제1 프레임 영상의 다른 일부의 슬라이스에 대한 제2 방식의 압축을 통해 다수 개의 P 슬라이스들을 생성하는 단계 및 상기 제1 프레임 영상에 대해, 상기 생성된 I 슬라이스 및 P 슬라이스들을 포함하는 N 미만의 개수의 패킷을 전송하는 단계를 구비하는 것을 특징으로 한다.
또한, 본 개시의 기술적 사상의 다른 일측면에 따른 영상 처리 방법에 있어서, 하나의 프레임 영상은 N 개의 슬라이스들을 포함하고(단, N은 2 이상의 정수), 상기 N 개의 슬라이스들에 대한 I 슬라이스들이 전송되는 주기가 설정되며, 상기 주기에 포함된 다수의 프레임 구간들 중 N 개의 프레임 구간들을 선택하는 단계와, 상기 N 개의 슬라이스들에 대한 I 슬라이스들을 상기 선택된 N 개의 프레임 구간들에 분산하여 생성하는 단계 및 상기 선택된 N 개의 프레임 구간들 각각에서, 하나의 I 슬라이스를 포함하는 제1 패킷 및 다수 개의 P 슬라이스들을 포함하는 제2 패킷을 생성하는 단계를 구비하는 것을 특징으로 한다.
한편, 본 개시의 기술적 사상의 일측면에 따른 영상 처리 장치는, 제1 프레임 영상을 수신하고, 상기 제1 프레임 영상에 포함된 다수의 슬라이스들로부터 제1 방식의 압축에 기반하는 I 슬라이스 및 제2 방식의 압축에 기반하는 다수 개의 P 슬라이스들을 생성하는 인코더 및 상기 I 슬라이스 및 P 슬라이스들을 포함하는 패킷들을 생성하고, 상기 제1 프레임 영상의 전송을 위해 상기 생성된 I 슬라이스 및 P 슬라이스들을 상기 슬라이스들의 개수보다 적은 개수의 패킷들에 할당하는 패킷타이저를 구비하는 것을 특징으로 한다.
본 개시의 기술적 사상에 따른 영상 처리 장치 및 영상 처리 방법은, 하나의 화면을 표시하기 위한 다수의 I 슬라이스들이 다수의 프레임 구간들에 분산되어 생성되고, 생성된 슬라이스들에 대한 최적의 패킷화를 통해 네트워크의 대역폭이 과도하게 상승하는 것을 방지하고 네트워크를 효율적으로 이용할 수 있는 효과가 있다.
또한, 본 개시의 기술적 사상에 따른 영상 처리 장치 및 영상 처리 방법은, 슬라이스 전송에서 디코딩 에러가 발생되는 경우, 디코딩 에러가 발생된 위치의 슬라이스에 대해 선택적으로 I 슬라이스를 생성하여 전송하며, 이에 따라 네트워크의 대역폭 상승을 최소화하여 영상 전송 안정성을 확보할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 영상 처리 장치를 포함하는 영상 처리 시스템을 나타내는 블록도이다.
도 2는 도 1의 영상 송신 장치의 일 구현 예를 나타내는 블록도이다.
도 3은 도 1의 영상 수신 장치의 일 구현 예를 나타내는 블록도이다.
도 4a,b는 하나의 프레임 영상을 다수 개의 슬라이스들로 분할한 일 예 및 프레임들의 전송 예를 나타낸다.
도 5는 일반적인 영상 전송 방식의 일 예를 나타내는 도면이다.
도 6a,b는 본 발명의 일 실시예에 따른 영상 전송 방식의 일 예를 나타내는 도면이다.
도 7a,b 및 도 8은 본 발명의 실시예들에 따른 다양한 영상 전송 방식의 일 예를 나타내는 도면이다.
도 9 및 도 10은 본 발명의 예시적인 실시예들에 따른 영상 처리 방법을 나타내는 플로우차트이다.
도 11 및 도 12는 압축된 슬라이스들을 포함하는 패킷의 일 예를 나타내는 도면이다.
도 13은 본 발명의 실시예들에 따른 영상 처리 방법이 소프트웨어적으로 구현되는 예를 나타내는 블록도이다.
도 14는 영상 처리 모드를 설정할 수 있는 영상 처리 장치의 일 구현 예를 나타내는 블록도이다.
도 15 및 도 16은 본 발명의 예시적인 실시예에 따른 영상 처리 장치에서 에러 리커버리 동작의 일 예를 나타내는 도면이다.
도 17 및 도 18은 하나의 패킷에 포함될 슬라이스들을 선택하는 일 예를 나타내는 도면이다.
도 19a,b 및 도 20a,b는 하나의 패킷에 포함될 슬라이스들을 선택하는 다른 예들을 나타내는 도면이다.
도 21은 전술한 실시예들에 따른 영상 처리 장치를 포함하는 컴퓨팅 시스템을 도시한 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 영상 처리 장치를 포함하는 영상 처리 시스템을 나타내는 블록도이다. 도 1에 도시된 영상 처리 시스템(10)은 본 발명의 실시예에 따른 영상 처리 장치로서 영상 송신 장치(100) 및 영상 수신 장치(200)를 포함할 수 있다. 또는, 본 발명의 실시예에 따른 영상 처리 장치는 영상을 송신하는 기능 및 수신하는 기능을 함께 포함할 수 있으며, 이에 따라 영상 처리 장치는 영상 처리 시스템(10)에 해당할 수도 있다.
영상 처리 시스템(10)은 다양한 종류의 시스템에 해당할 수 있다. 일 예로서, 영상 처리 시스템(10)에서 영상 송신 장치(100)와 영상 수신 장치(200)는 무선 또는 유선 네트워크를 통해 서로 영상을 포함하는 정보를 송수신할 수 있다. 만약, 영상 처리 시스템(10)이 무선 통신 시스템에 해당하는 경우, 영상 송신 장치(100) 및 영상 수신 장치(200)는 각각 영상을 인코딩하여 기지국으로 송신하거나 기지국으로부터 수신된 영상을 디코딩하는 스마트 폰 등의 단말 장치일 수 있다. 또는, 영상 처리 시스템(10)은 인터넷 방송이나 IPTV 등 다양한 종류의 네트워크 시스템에 해당할 수 있다.
영상 송신 장치(100)는 영상에 대한 압축 동작을 포함하는 인코딩을 수행할 수 있다. 일 예로서, 영상 송신 장치(100)는 MPEG, H.264/AVC, VP8, 및 HEVC 등 다양한 영상 표준에 기반하여 인코딩 동작을 수행할 수 있다. 인코딩 동작의 일 예로서, 영상 압축 동작은 소정의 단위의 영상(예컨대, 프레임 영상)에 대해 수행될 수 있으며, 각각의 프레임 영상은 인터 예측(inter prediction)에 기반하여 압축이 수행되거나 또는 인트라 예측(intra prediction)에 기반하여 압축이 수행될 수 있다. 인트라 예측에 기반하는 경우, 현재 프레임 영상은 이전 프레임 영상을 참조함이 없이 압축될 수 있으며, 인터 예측에 기반하는 경우, 현재 프레임 영상은 하나 이상의 이전 프레임 영상을 참조함에 의해 압축될 수 있다.
전술한 바와 같이, 프레임 영상은 다양한 방식에 따라 압축될 수 있으며, 인트라 예측에 기반하는 압축을 통해 I 프레임이 생성될 수 있으며, I 프레임은 다른 프레임의 디코딩 동작에 이용되는 참조(reference) 프레임에 해당한다. 압축된 영상을 복원하는 동작 또한 상기 압축 방식에 기반하여 수행될 수 있다. 일 예로서, 영상 수신 장치(200)는 다른 프레임을 참조함이 없이 I 프레임을 디코딩할 수 있는 반면에, 인터 예측에 기반하여 압축된 프레임 영상(예컨대, P 프레임)은 다른 I 프레임 및/또는 P 프레임을 참조함에 의해 디코딩할 수 있다. 영상 송신 장치(100)는 인코딩된 영상을 비디오 스트리밍(video streaming) 형태로 영상 수신 장치(200)로 전송할 수 있으며, P 프레임에 비해 상대적으로 큰 사이즈를 갖는 I 프레임이 전송되는 경우 대역폭 상승(bandwidth rising)으로 인해 영상 품질 저하가 발생되거나 영상 전송이 실패되는 문제가 발생될 수 있다.
본 발명의 예시적인 실시예에 따라, 영상 송신 장치(100)는 영상 생성부(110), 인코더(120) 및 패킷타이저(130)를 포함할 수 있다. 또한, 영상 수신 장치(200)는 디패킷타이저(210), 디코더(220) 및 렌더러(230)를 포함할 수 있다. 영상 생성부(110)는 로 데이터(raw data)를 생성하는 카메라 등의 장치를 포함할 수 있다. 그러나, 이는 일 실시예에 불과한 것으로서, 영상 송신 장치(100)는 외부로부터 생성된 영상을 수신하고 이를 인코더(120)로 제공하여도 무방하다.
인코더(120)는 다양한 영상 표준에 기반하는 인코딩 동작을 수행할 수 있다. 전술한 바와 같이, 인코더(120)는 인터 또는 인트라 예측에 기반하여 프레임 영상을 압축할 수 있다. 또한, 인코더(120)는 하나의 프레임 영상을 다수 개의 영역들(예컨대, 슬라이스들)로 분할하고, 프레임 영상에 대해 슬라이스 단위의 압축을 수행하며, 압축된 슬라이스를 패킷타이저(130)로 제공할 수 있다. 패킷타이저(130)는 압축된 슬라이스에 대해 본 발명의 실시예들에 따른 다양한 방식의 패킷화(packetization) 동작을 수행하고, 네트워크를 통해 패킷(Packet)을 영상 수신 장치(200)로 전송할 수 있다.
한편, 영상 수신 장치(200)는 영상 송신 장치(100)에서의 처리 동작의 역순에 기반하여 영상을 처리할 수 있다. 일 예로서, 디패킷타이저(210)는 네트워크를 통해 수신된 패킷(Packet)으로부터 실제 정보 부분(예컨대, 페이로드(payload))를 추출하고, 추출된 정보를 디코더(220)로 제공할 수 있다. 디코더(220)는 수신된 정보에 대한 디코딩 동작을 통해 다수의 슬라이스들을 복원함으로써 프레임 영상을 복원할 수 있으며, 복원된 프레임 영상을 렌더러(230)로 제공할 수 있다. 렌더러(230)는 디코더(220)로부터 제공되는 복원된 프레임 영상을 이용하여 화면에 영상을 표시할 수 있다.
슬라이스 단위의 압축을 수행함에 있어서, 다른 프레임 영상의 슬라이스를 참조함이 없이 압축되는 슬라이스는 I 슬라이스로 정의될 수 있으며, 반면에 다른 프레임의 슬라이스를 참조하여 압축되는 슬라이스는 P 슬라이스 또는 B 슬라이스로 정의될 수 있다. P 슬라이스는 이전의 하나 이상의 프레임들의 슬라이스를 참조하여 압축된 슬라이스고, B 슬라이스는 이전 및 이후의 하나 이상의 프레임들의 슬라이스를 참조하여 압축된 슬라이스일 수 있다. 이하에서는, I 슬라이스와 P 슬라이스를 전송하는 실시예들이 설명될 것이나, 이는 단지 설명의 편의를 위한 것으로서 영상 송신 장치(100)는 I 슬라이스, P 슬라이스 및 B 슬라이스를 전송하여도 무방하다.
도 4a,b는 하나의 프레임 영상을 다수 개의 슬라이스들로 분할한 일 예 및 프레임들의 전송 예를 나타낸다.
도 4a를 참조하면, 이더넷(Ethernet) 환경 등의 네트워크에서 MTU(Maximum Transmission Unit)은 소정의 사이즈(예컨대, 1500 Byte)로 제한될 수 있으며, 패킷 전달을 위해 필요한 TCP/IP 및 RTP 관련 헤더(header)를 제외한 나머지 영상 부분(payload)은 1200 내지 1440 Byte 정도의 사이즈를 가질 수 있다. 하나의 프레임 영상은 네트워크 상태 및 압축된 영상의 사이즈를 고려하여 다수 개의 슬라이스들로 분할될 수 있으며, 일 예로서 도 4a는 하나의 프레임 영상이 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)로 분할된 예를 나타낸다.
프레임 영상에 대해 슬라이스 단위의 압축 동작이 수행되고, 적용된 압축 방식에 따라 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)은 I 슬라이스 및 P 슬라이스로 분류될 수 있다. I 슬라이스는 다른 프레임 영상의 슬라이스를 참조함이 없이 압축된 슬라이스에 해당하는 반면에, P 슬라이스는 다른 프레임 영상의 슬라이스를 참조하여 압축된 슬라이스에 해당한다. 일 예로서, 프레임 영상의 특정 슬라이스는 이전 프레임에서의 동일한 위치의 슬라이스(I 슬라이스 및/또는 P 슬라이스)를 참조하여 압축될 수 있다. 예컨대, 도 4a의 제2 슬라이스(Slice 2)가 P 슬라이스로 압축되는 경우, 제2 슬라이스(Slice 2)는 이전의 하나 이상의 프레임들의 제2 슬라이스를 이용하여 압축되거나 또는 복원될 수 있다.
한편, 도 4b에서는 10 FPS(Frame Per Second) 환경에서 다수의 프레임들이 전송되는 예가 도시된다. I 프레임은 소정의 간격에 따라 주기적으로 전송될 수 있다. 도 4b에서는, 1 초에 전송되는 10 개의 프레임들 중 첫 번째와 여섯 번째의 프레임이 I 프레임에 해당하는 예가 도시되었으나, 본 발명의 실시예들은 이에 국한될 필요가 없다. 일 예로서, 1 초에 3 회 이상 I 프레임이 전송되어도 무방하며, 또는 1 초에 1 개의 I 프레임이 전송되어도 무방하다.
한편, I 프레임이 전송되는 주기(예컨대, I 프레임 주기(Period))가 정의될 수 있다. 도 4b의 예에서는 1 초에 2 회의 I 프레임이 전송됨에 따라, 상기 I 프레임 주기(Period)는 0.5 초에 해당할 수 있다. 만약, 전술한 바와 같이 하나의 프레임 영상이 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)을 포함하는 경우, 상기 I 프레임 주기(Period) 내에서 각각 I 슬라이스로 압축된 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)이 적어도 1 회 전송될 필요가 있다.
다시 도 1을 참조하면, 상대적으로 큰 사이즈의 I 프레임 전송시 네트워크 대역폭 증가 및 이에 따른 전송 실패 가능성을 감소하기 위해, 영상 송신 장치(100)는 어느 하나의 프레임 영상에 대응하여 I 슬라이스를 포함하는 패킷(Packet(I)) 및 P 슬라이스를 포함하는 패킷(Packet(P))을 생성하고, 생성된 패킷들(Packet(I), Packet(P))을 영상 수신 장치(200)로 전송한다. 일 예로서, 도 4b에서 하나의 프레임이 전송되는 구간을 프레임 구간으로 정의할 때, 하나의 프레임 구간에서 I 슬라이스를 포함하는 패킷(Packet(I)) 및 P 슬라이스를 포함하는 패킷(Packet(P))이 함께 생성될 수 있다. 예컨대, 도 4a에서 제1 슬라이스(Slice 1)는 I 슬라이스로 압축되고, 제2 내지 제4 슬라이스들(Slice 2 ~ Slice 4) 각각은 P 슬라이스로 압축될 수 있다. 또한, 일 실시예에 따라, 영상 송신 장치(100)는 I 슬라이스 및 P 슬라이스를 함께 포함하는 패킷(Packet(I & P))을 생성할 수 있다.
또한, 하나의 I 프레임 주기(Period)에서 각각 I 슬라이스에 해당하는 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)이 1 회 전송될 수 있다. 본 발명의 일 실시예에 따라 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)에 대해 하나의 I 프레임 주기(Period) 내의 서로 다른 프레임 구간에서 I 슬라이스가 생성될 수 있다. 일 예로서, 제1 프레임 구간에서는 제1 슬라이스(Slice 1)가 I 슬라이스로 압축되고, 제2 프레임 구간에서는 제2 슬라이스(Slice 2)가 I 슬라이스로 압축되며, 나머지 프레임 구간들 중 선택된 일부의 프레임 구간들에서 제3 슬라이스(Slice 3) 및 제4 슬라이스(Slice 4)가 각각 I 슬라이스로 압축될 수 있다.
일 실시예에 따라, 패킷타이저(130)는 생성된 I 슬라이스 및 P 슬라이스를 다양한 방식에 따라 패킷화할 수 있다. 패킷타이저(130)는 하나의 슬라이스를 포함하는 패킷을 생성하거나, 또는 두 개 이상의 슬라이스들을 포함하는 패킷을 생성할 수 있다. 일 예로서, 하나의 프레임 영상에 대해, 패킷타이저(130)는 하나의 I 슬라이스를 포함하는 패킷(Packet(I))을 생성함과 함께, 하나의 프레임 영상에 대해 나머지 슬라이스들에 대해 생성된 다수 개의 P 슬라이스을 포함하는 패킷(Packet(P))을 함께 생성할 수 있다.
전술한 예시적인 실시예에 따르면, 특정 프레임 구간에서 대역폭이 급격이 증가하는 문제를 개선함과 함께, 영상의 전송 오류가 감소될 수 있다. 또한, 하나의 프레임 영상에 대응하여 생성되는 패킷 수가 조절될 수 있으며, 예컨대 패킷 수를 최소화함으로써 네트워크를 통해 전송되는 전체 정보의 양(또는, 사이즈)이 감소될 수 있다.
도 2는 도 1의 영상 송신 장치(100)의 일 구현 예를 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 영상 송신 장치(100)는 슬라이싱 모듈(121), 압축 모듈(122) 및 패킷타이저(130)를 포함할 수 있다. 슬라이싱 모듈(121) 및 압축 모듈(122)은 도 1의 인코더(120)에 구비될 수 있다. 슬라이싱 모듈(121), 압축 모듈(122) 및 패킷타이저(130) 각각은 하드웨어로 구현될 수 있으며, 또는 소프트웨어로 구현될 수 있다. 또는, 슬라이싱 모듈(121), 압축 모듈(122) 및 패킷타이저(130) 각각은 하드웨어 및 소프트웨어의 조합으로 구현될 수 있다. 도 2에 도시된 구성이 소프트웨어적으로 구현되는 경우, 모듈들 및 패키타이저의 기능을 수행하기 위한 프로그램들이 저장된 메모리(예컨대, 워킹 메모리)가 영상 송신 장치(100)에 구비될 수 있으며, 프로세서(미도시)가 메모리에 저장된 프로그램들을 실행함으로써 도 2에 도시된 각종 구성들의 기능이 수행될 수 있다.
슬라이싱 모듈(121)은 프레임 영상(Frame)을 수신하고, 프레임 영상(Frame)을 다수 개의 슬라이스들(Slices)로 분할한다. 압축 모듈(122)은 슬라이스들(Slices)을 수신하고 프레임 영상(Frame)에 대해 슬라이스 단위의 압축을 수행한다. 압축 방식에 따라 압축 모듈(122)은 I 슬라이스(S_I) 및 P 슬라이스(S_P)를 패킷타이저(130)로 제공할 수 있다.
패킷타이저(130)는 I 슬라이스(S_I) 및/또는 P 슬라이스(S_P)를 포함하는 패킷(Packet)을 생성할 수 있다. 또한, 패킷타이저(130)는 각각의 패킷(Packet)에 포함될 슬라이스의 종류 및 개수를 조절할 수 있다. 도 2에 도시된 압축 동작 및 패킷화 동작을 수행하기 위한 기능은 하드웨어적 또는 소프트웨어적으로 영상 송신 장치(100)에 구비될 수 있다.
도 3은 도 1의 영상 수신 장치(200)의 일 구현 예를 나타내는 블록도이다.
영상 수신 장치(200)는 디패킷타이저(210), 복원 모듈(221) 및 프레임 구성 모듈(222)을 포함할 수 있다. 복원 모듈(221) 및 프레임 구성 모듈(222)은 도 1의 디코더(220)에 구비될 수 있다. 디패킷타이저(210)는 패킷(Packet)에 포함된 페이로드 영역에서 I 슬라이스(S_I) 및/또는 P 슬라이스(S_P)를 추출하고, 추출된 I 슬라이스(S_I) 및/또는 P 슬라이스(S_P)를 복원 모듈(221)로 제공한다. 복원 모듈(221)은 압축 해제 동작을 통해 슬라이스들(Slices)을 복원하고, 복원 결과에 따른 슬라이스들(Slices)을 프레임 구성 모듈(222)로 제공한다. 프레임 구성 모듈(222)은 슬라이스들(Slices)을 결합하여 원래의 프레임 영상(Frame)을 생성할 수 있다.
이하, 본 발명의 예시적인 실시예들에 따른 영상 전송 방법을 설명한다.
도 5는 일반적인 영상 전송 방식의 일 예를 나타내는 도면이다. 도 5에 도시된 그래프에서, 가로 축은 시간 축(또는, 프레임 축)을 나타내고 세로 축은 각 프레임 구간에서 전송되는 슬라이스를 나타내는 축에 해당한다. 또한, 도 5에서는 영상이 10 FPS 에 따라 전송되고, 1 초에 1 개의 I 프레임이 전송되는 경우가 예시된다.
도 5를 참조하면, 프레임 영상은 다수 개(예컨대, 4 개)의 슬라이스들로 분할되고, 프레임 영상에 대한 슬라이스들 단위의 압축을 통해 I 슬라이스 및 P 슬라이스가 생성될 수 있다. I 프레임이 전송되는 프레임 구간에서, 하나의 프레임 영상으로부터 4 개의 I 슬라이스들이 생성되어 전송될 수 있다. 도 5에 도시된 바와 같이, 각각의 I 슬라이스는 P 슬라이스에 비해 큰 사이즈를 가질 수 있다. 한편, P 프레임이 전송되는 프레임 구간에서, 하나의 프레임 영상으로부터 4 개의 P 슬라이스들이 생성되어 전송될 수 있다.
도 5에 도시된 일반적인 전송 방식에서, I 프레임이 전송되는 프레임 구간에서 각각 I 슬라이스가 별개의 패킷에 포함되어 전송될 수 있으며, 4 개의 I 슬라이스들을 전송하기 위해 4 개의 패킷들을 전송하기 위해 대역폭이 급격히 증가하게 된다. 이로 인하여 각각 I 슬라이스를 포함하는 4 개의 패킷들 중 하나 이상의 패킷의 전송이 실패될 수 있으며, 이 경우 상기 I 프레임을 참조하여 복원되는 이후의 P 프레임에 대한 복원 성능에 저하가 발생될 수 있다.
이하에서는, 본 발명의 실시예들에 따른 영상 처리 동작이 설명될 것이다. 설명의 편의상 슬라이스는 압축 처리되기 전의 슬라이스 또는 압축 처리된 후의 슬라이스를 지칭하는 용어로 이용될 수 있을 것이다. 또한, 제1 방식(예컨대, 인트라 예측)에 기반하여 압축된 제1 슬라이스는 제1 I 슬라이스로 지칭될 수 있을 것이다. 또한, 제2 방식(예컨대, 인터 예측)에 기반하여 압축된 제2 슬라이스는 제2 P 슬라이스로 지칭될 수 있을 것이다.
도 6a,b는 본 발명의 일 실시예에 따른 영상 전송 방식의 일 예를 나타내는 도면이다. I 프레임 주기(Period)는 10 개의 프레임들에 해당하고, 각각의 프레임은 4 개의 슬라이스들로 분할되는 것으로 가정될 것이나, 본 발명의 실시예는 이에 국한될 필요가 없이 다양한 규칙에 따라 영상이 전송될 수 있을 것이다.
도 6a를 참조하면, 하나의 I 프레임 주기(Period)에서, 제1 내지 제4 I 슬라이스들(I_Slice 1 ~ I_Slice 4) 각각은 1 회 생성될 수 있다. 또한, 제1 내지 제4 I 슬라이스들(I_Slice 1 ~ I_Slice 4)은 하나의 I 프레임 주기(Period) 내의 서로 다른 프레임 구간에서 분산되어 생성될 수 있다. 일 예로서, 제1 I 슬라이스(I_Slice 1)는 첫 번째 프레임 구간에서 생성되고, 제2 I 슬라이스(I_Slice 2)는 네 번째 프레임 구간에서 생성되며, 제3 I 슬라이스(I_Slice 3)는 세 번째 프레임 구간에서 생성되고, 제4 I 슬라이스(I_Slice 4)는 여섯 번째 프레임 구간에서 생성되는 예가 도시된다.
즉, 전술한 실시예에 따르면, 하나의 화면을 표현하기 위한 다수의 I 슬라이스들(I_Slice 1 ~ I_Slice 4)이 한꺼번에 생성되는 것이 아니라, 상기 다수의 I 슬라이스들(I_Slice 1 ~ I_Slice 4)은 서로 다른 시간(또는, 서로 다른 다수의 프레임 구간들)에 분산되어 생성되므로, 전체 프레임 구간에서 대역폭이 균일해질 수 있으며, 이에 따라 네트워크 점유 특성이 향상될 수 있다.
한편, 전술한 바와 같이 생성되는 I 및 P 슬라이스들은 다양한 방식에 따라 전송될 수 있다. 도 6b에서는 하나의 화면을 표현하기 위한 제1 내지 제4 I 슬라이스들(I_Slice 1 ~ I_Slice 4)이 여러 프레임 구간들에 분산되어 생성됨에 있어서, 첫 번째, 네 번째, 여섯 번째 및 아홉 번째 프레임 구간에서 각각 하나의 I 슬라이스가 생성되는 예가 도시된다. 또한, 본 발명의 실시예에 따라 생성되는 패킷에 대한 구체적인 설명을 위해, 도 6b의 세로 축은 전송되는 패킷을 나타내는 축에 해당한다.
제1 내지 제4 I 슬라이스들(I_Slice 1 ~ I_Slice 4)이 여러 프레임 구간들에 분산되어 생성되고, 상기 분산 생성에 기반하여 각각의 프레임 구간에서 서로 다른 방식에 따라 패킷화 동작이 수행될 수 있다. 일 예로서, 각각의 프레임 구간에서, 전송되는 패킷의 개수는 프레임 영상에 포함되는 슬라이스의 개수보다 적을 수 있다. 또한, I 슬라이스가 전송되는 프레임 구간에서 생성되는 패킷의 개수는 P 슬라이스가 전송되는 프레임 구간에서 생성되는 패킷의 개수보다 많을 수 있다. 예컨대, I 슬라이스가 전송되는 첫 번째 프레임 구간에서, 제1 I 슬라이스(I_Slice 1)를 포함하는 패킷과 나머지 3 개의 P 슬라이스들(P_Slices)을 포함하는 패킷이 전송될 수 있다. 반면에, I 슬라이스가 전송되지 않는 프레임 구간(예컨대, 두 번째 프레임 구간)의 경우, 프레임 영상으로부터 4 개의 P 슬라이스들(P_Slice)이 생성되고, 4 개의 P 슬라이스들(P_Slice)을 포함하는 하나의 패킷이 전송될 수 있다.
이후, 다른 하나의 I 프레임 주기(예컨대, 제2 주기(Period 2))에서도 전술한 제1 주기(Period 1)와 동일한 방식에 따라 패킷들이 전송될 수 있다. 일 실시예에 따라, 하나의 I 프레임 주기 내에서 I 슬라이스가 생성되는 프레임 구간의 위치는 기 설정되어 변동되지 않거나, 또는 I 프레임 주기마다 I 슬라이스가 생성되는 프레임 구간의 위치가 변동되어도 무방하다. 또한, 일 실시예에 따라, I 슬라이스가 전송되지 않는 프레임 구간에서 4 개의 P 슬라이스들(P_Slice)이 하나의 패킷에 포함되는 것으로 도시되었으나, 상기 4 개의 P 슬라이스들(P_Slice)이 두 개 이상의 패킷들에 나누어 포함되어도 무방하다. 즉, P 슬라이스들(P_Slice)을 전송하기 위한 프레임 구간에서도 두 개 이상의 패킷들이 전송되어도 무방하다.
전술한 실시예에서, 하나의 프레임에서 하나의 I 슬라이스가 생성되는 예가 설명되었으나, 본 발명의 실시예는 이에 국한될 필요가 없다. 예컨대, 네트워크의 대역폭을 고려하여, 하나의 프레임 구간에서 두 개 이상의 I 슬라이스들이 생성될 수도 있을 것이다. 하나의 프레임이 N 개의 슬라이스들로 분할되는 경우, 하나의 프레임 구간에서 N 개 미만의 I 슬라이스들이 생성될 수 있을 것이다. 만약, 하나의 슬라이스가 작은 사이즈로 분할됨에 따라 하나의 프레임이 많은 개수의 슬라이스들로 분할되는 경우, 다수의 I 슬라이스들을 프레임 구간들에 분산함에 있어서 하나의 프레임 구간에서 두 개 이상의 I 슬라이스들이 생성될 수 있을 것이다.
이 때, 하나의 프레임 영상에서 생성된 다수의 I 슬라이스들 및 다수의 P 슬라이스들에 대해, 전술한 실시예에 따라 다양한 방식의 패킷화 동작이 가능할 것이다. 일 예로서, 하나의 프레임 영상에 대해, 다수의 I 슬라이스들이 하나의 패킷에 포함되거나, 또는 각각의 I 슬라이스가 별개의 패킷에 포함될 수 있을 것이다. 또한, 생성된 다수의 P 슬라이스들은 하나의 패킷에 포함될 수 있을 것이다.
도 7a,b 및 도 8은 본 발명의 실시예들에 따른 다양한 영상 전송 방식의 일 예를 나타내는 도면이다. 이하의 실시예들에서는 I 프레임 주기(Period)가 10 개의 프레임들에 해당하고, 각각의 프레임은 4 개의 슬라이스들로 분할되며, 다수의 P 슬라이스들(예컨대, 하나의 프레임을 구성하는 4 개의 P 슬라이스들)은 하나의 패킷에 포함되는 것으로 가정될 것이나, 전술하였던 바와 같이 본 발명의 실시예들은 다른 다양한 전송 방식에 대해서도 적용될 수 있을 것이다.
비디오 스트리밍이 시작될 때, 적어도 하나의 참조(reference) 프레임이 우선적으로 전송될 필요가 있으며, 이에 따라 하나의 화면을 표현하기 위한 다수의 I 슬라이스들이 가능한한 빨리 전송될 필요가 있다. 도 7a를 참조하면, 본 발명의 일 실시예에 따라, 최초의 I 프레임 주기(Period 1)의 처음의 하나 이상의 프레임 구간에서 하나의 화면을 표현하는 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 전송될 수 있다. 예컨대, 첫 번째 프레임 구간에서는 제1 및 제2 I 슬라이스들(I1, I2)이 전송되고, 두 번째 프레임 구간에서는 제3 및 제4 I 슬라이스들(I3, I4)이 전송될 수 있다.
일 실시예에 따라, 첫 번째 프레임 구간에서 프레임 영상으로부터 제1 및 제2 I 슬라이스들(I1, I2)만이 선택적으로 생성되어 전송될 수 있다. 이후, 두 번째 프레임 구간에서는 제3 및 제4 I 슬라이스들(I3, I4)이 생성되어 전송될 수 있다. 일 예로서, 두 번째 프레임 구간에서 제3 및 제4 I 슬라이스들(I3, I4)이 전송됨과 함께, 상기 첫 번째 프레임 구간에서 전송된 I 슬라이스들을 참조로 하여 제1 및 제2 P 슬라이스들(P)이 생성되어 전송될 수 있다.
또는, 변형 가능한 실시예로서, 첫 번째 프레임 구간에서 프레임 영상으로부터 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 모두 생성되어 전송될 수 있다. 도 7a에 도시된 예에 따르면, 대역폭을 고려하여 제1 및 제2 I 슬라이스들(I1, I2)이 먼저 전송되고, 먼저 전송되는 제1 및 제2 I 슬라이스들(I1, I2)은 전송이 성공하는 반면에, 이후에 전송되는 나머지 제3 및 제4 I 슬라이스들(I3, I4)의 전송은 실패된 경우에 해당할 수 있다. 또한, 이와 유사하게, 두 번째 프레임 구간에서는 제3 및 제4 I 슬라이스들(I3, I4)이 제1 및 제2 I 슬라이스들(I1, I2)에 비해 먼저 전송될 수 있다.
이후, 최초의 I 프레임 주기(Period 1)의 나머지 프레임 구간들에서는 각각의 프레임 영상으로부터 P 슬라이스들(P)이 생성되며, 다음의 I 프레임 주기(Period 2)가 시작됨에 따라 I 슬라이스들(I1 ~ I4)이 전송될 수 있다. 예컨대, 전술한 실시예에서와 같이, 하나의 화면을 표현하기 위한 제1 내지 제4 I 슬라이스들(I1 ~ I4)은 서로 다른 프레임 구간들에서 분산되어 생성될 수 있다. 도 7a의 예에서는, 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 다수의 프레임 구간들에 대해 불연속하게 분산되어 생성되는 예가 도시되며, 일 예로서 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 첫 번째, 네 번째, 여섯 번째 및 아홉 번째 프레임 구간들에 분산되어 생성될 수 있다.
한편, 도 7b는 변형 가능한 실시예를 나타내며, 비디오 스트리밍이 시작될 때 적어도 하나의 참조(reference) 프레임을 우선적으로 전송함에 있어서, 최초의 I 프레임 주기(Period 1)의 첫 번째 프레임 구간에서 하나의 화면을 표현하는 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 모두 전송될 수 있다. 하나의 프레임 구간에서 제1 내지 제4 I 슬라이스들(I1 ~ I4)을 모두 전송함에 있어서, 네트워크 대역폭을 고려하여 제1 내지 제4 I 슬라이스들(I1 ~ I4)의 압축률이 크게 설정될 수 있다. 이 때, 제1 내지 제4 I 슬라이스들(I1 ~ I4) 각각은 다른 슬라이스를 참조함이 없이 압축되며, 대역폭을 고려하여 크게 설정된 압축률에 따라 압축되므로 그 전송 실패 확률이 감소될 수 있다.
이후, 최초의 I 프레임 주기(Period 1)의 나머지 프레임 구간들에서는 각각의 프레임 영상으로부터 P 슬라이스들(P)이 생성되며, 다음의 I 프레임 주기(Period 2)가 시작됨에 따라 전술한 실시예들에서 설명된 바와 같이 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 다수의 프레임 구간들에 분산되어 전송될 수 있다.
한편, 도 8을 참조하면, 제1 내지 제4 I 슬라이스들(I1 ~ I4)을 다수의 프레임 구간들에 분산하여 생성함에 있어서, 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 연속된 프레임 구간들에 분산되어 전송될 수 있다. 전술한 도 7a,b의 실시예에서는 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 기 설정된 간격에 따라 다수의 프레임 구간들에 불연속하게 분산되어 전송되고, I 프레임 주기(Period 1) 전체에 걸쳐 대역폭의 상승이 균일한 특성을 가질 수 있다.
반면에, 도 8에 도시된 실시예에 따르면, 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 다음의 I 프레임 주기(Period 2)의 처음 4 개의 프레임 구간들에 분산되어 전송되는 예가 도시된다. 이 경우, 각각의 I 프레임 주기에서 하나의 화면을 표현하기 위한 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 최대한 빠르게 전송될 수 있다. 전술한 도 8의 실시예에서는 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 모두 연속한 프레임 구간들에서 전송되는 예가 도시되었으나, 제1 내지 제4 I 슬라이스들(I1 ~ I4) 중 일부만 연속한 프레임 구간들에서 전송되도록 그 전송 타이밍이 설정되어도 무방할 것이다.
도 9 및 도 10은 본 발명의 예시적인 실시예들에 따른 영상 처리 방법을 나타내는 플로우차트이다.
도 9를 참조하면, 하나의 프레임 영상이 제1 내지 제N 슬라이스들로 분할될 수 있으며, 어느 하나의 I 프레임 주기 동안 하나의 화면을 표현하기 위한 제1 내지 제N I 슬라이스들이 영상 수신 장치로 전송될 필요가 있다.
하나의 I 프레임 주기에서 다수의 프레임 영상들에 대한 압축 동작이 수행된다. 일 예로서, 각각의 프레임 영상은 제1 내지 제N 슬라이스들을 포함하고, 각각의 프레임 영상에 대해 슬라이스 단위의 압축 동작이 수행된다. 먼저, I 프레임 주기의 제1 프레임 구간에서 제1 프레임 영상의 다수의 슬라이스들 중 일부의 슬라이스에 대해 제1 방식의 압축을 통해 I 슬라이스가 생성된다. 예컨대, 제1 슬라이스에 대한 I 슬라이스가 생성될 수 있다(S11). 또한, 제1 프레임 영상의 제2 내지 제N 슬라이스들을 P 슬라이스로 압축함에 따라, 제2 내지 제N 슬라이스들에 대한 P 슬라이스들이 생성될 수 있다(S12). 상기와 같이 I 슬라이스 및 P 슬라이스들이 생성되면, 패킷화 과정을 통해 I 슬라이스 및 P 슬라이스들을 포함하는 패킷들이 생성된다. 일 예로서, 제1 I 슬라이스를 포함하는 제1 패킷과 제2 내지 제N P 슬라이스들을 포함하는 제2 패킷이 생성될 수 있다(S13).
한편, 하나의 화면을 표시하기 위한 다른 슬라이스로서 제2 내지 제N 슬라이스들에 대한 I 슬라이스들은 다른 프레임 구간들에 분산되어 전송된다. 예컨대, 제2 프레임 영상의 제2 슬라이스에 대한 I 슬라이스가 생성될 수 있으며(S14), 또한 제2 프레임의 나머지 슬라이스들로서 제1, 제3 내지 제N 슬라이스들에 대한 P 슬라이스들이 생성될 수 있다(S15). 상기와 같이 제2 프레임에 대한 I 슬라이스 및 P 슬라이스들이 생성되면, 제2 I 슬라이스를 포함하는 제1 패킷과 제1, 제3 내지 제N P 슬라이스들을 포함하는 제2 패킷이 생성될 수 있다(S16).
상기와 같은 과정들이 어느 하나의 I 프레임 주기의 다른 프레임 구간에서 더 수행될 수 있으며, 예컨대 제3 내지 제N 슬라이스들에 대한 I 슬라이스들은 다른 프레임 구간에 분산되어 전송될 수 있다.
한편, 도 10을 참조하면, 비디오 스트리밍이 시작될 때 적어도 하나의 참조(reference) 프레임을 우선적으로 전송하기 위해, 최초 I 프레임 주기에서 처음의 k 개의 프레임 구간들이 선택될 수 있다(S21). 하나의 프레임 영상이 N 개의 슬라이스들을 포함함에 따라, k 개의 프레임 구간들은 N 개의 슬라이스들의 개수보다 적은 개수에 해당한다. 바람직하게는, 참조(reference) 프레임이 최대한 빠르게 전송될 수 있도록, 최초 I 프레임 주기에서 처음의 하나 또는 두 개의 프레임 구간들이 선택될 수 있다.
상기 선택된 k 개의 프레임 구간들에서, k 개의 프레임 영상들로부터 하나의 화면을 표현하기 위한 N 개의 I 슬라이스들이 생성될 수 있다(S22). 일 예로서, 하나의 프레임 구간이 선택되는 경우, 첫 번째 프레임 영상에서 N 개의 I 슬라이스들이 생성될 수 있다. 또는, 두 개의 프레임 구간들이 선택되는 경우, 첫 번째 프레임 영상에서 N/2 개의 I 슬라이스들이 생성되고, 두 번째 프레임 영상에서 나머지 N/2 개의 I 슬라이스들이 생성될 수 있다. 일 실시예에 따라, 하나의 프레임 영상에서 N 개의 I 슬라이스들이 모두 생성되는 경우, 상기 프레임 영상에 적용되는 압축률이 크게 설정될 수 있다.
상기와 같이 생성된 I 슬라이스들에 대한 패킷화 동작이 수행되고, 상기 k 개의 프레임 구간들을 통해 N 개의 I 슬라이스들이 전송될 수 있다(S23). 이후, 최초 I 프레임 주기의 나머지 프레임 영상들로부터는 P 슬라이스들이 생성되고, 영상 수신 장치로 전송될 수 있다.
이후, 다음의 I 프레임 주기에서, 전술한 실시예들에 따라 하나의 화면을 표시하기 위한 N 개의 I 슬라이스들은 다수의 프레임 구간들에 분산되어 전송될 수 있다. 일 실시예에 따라, 하나의 I 프레임 주기가 M 개의 프레임 구간들을 포함할 때, 다음의 I 프레임 주기의 M 개의 프레임 구간들 중 I 슬라이스가 전송될 N 개의 프레임 구간들이 선택될 수 있다(S24). 이 때, M은 N 보다 큰 값을 가질 수 있다.
선택된 N 개의 프레임 구간들에서, 각각의 프레임 영상에 대해 슬라이스 단위의 압축 동작이 수행되고, 압축 동작에 따라 I 슬라이스와 P 슬라이스가 함께 생성될 수 있다(S25). 일 예로서, N 개의 슬라이스들 중 어느 하나의 슬라이스는 I 슬라이스로 압축될 수 있으며, 나머지 N-1 개의 슬라이스들은 P 슬라이스들로 압축될 수 있다. 또한, 선택된 N 개의 프레임 영상들에 대한 압축 동작시, N 개의 프레임 영상들에서 서로 다른 위치의 슬라이스가 I 슬라이스로 압축될 수 있다.
전술한 실시예에 따라, 선택된 N 개의 프레임 구간들은 서로 연속한 프레임 구간들에 해당할 수 있다. 또는, 선택된 N 개의 프레임 구간들은 서로 연속하지 않은 프레임 구간들에 해당할 수 있다.
한편, 다음의 I 프레임 주기의 나머지 프레임 구간들(예컨대, M-N 개의 프레임 구간들)에서는 P 슬라이스들이 생성될 수 있다(S26). 예컨대, M-N 개의 프레임 영상들 각각으로부터 P 슬라이스들이 생성될 수 있다.
도 11 및 도 12는 압축된 슬라이스들을 포함하는 패킷의 일 예를 나타내는 도면이다. 도 11 및 도 12에서는 어느 하나의 프레임 영상으로부터 생성된 I 슬라이스 및 P 슬라이스들을 전송하기 위한 패킷들이 도시된다.
패킷화 동작은 MTU(Maximum Transmission Unit) 사이즈를 고려하여 수행될 수 있다. 일 예로서, MTU(Maximum Transmission Unit)가 1500 Byte로 제한되는 것으로 가정할 때, I 슬라이스와 P 슬라이스 및 헤더 사이즈들을 고려하여 패킷에 포함될 슬라이스의 종류 및 개수가 선택될 수 있다. 전술한 실시예들에 따른 패킷타이저는, 어느 하나의 프레임 영상으로부터 생성된 I 슬라이스 및 P 슬라이스를 하나의 프레임 영상에 포함되는 슬라이스들보다 적은 개수의 패킷들에 할당함에 의해 패킷화 동작을 수행할 수 있다.
도 11을 참조하면, 하나의 프레임 영상은 제1 내지 제4 슬라이스들로 분할되고, 본 발명의 일 실시예에 따라 제1 내지 제4 슬라이스들 중 하나의 슬라이스(예컨대, 제1 슬라이스)가 I 슬라이스(I1)으로 압축되고 나머지 슬라이스들(예컨대, 제2 내지 제4 슬라이스들)이 P 슬라이스들(P2, P3, P4)로 압축될 수 있다. 그리고, 하나의 프레임 구간에서 I 슬라이스(I1)와 P 슬라이스들(P2, P3, P4)이 함께 전송될 수 있다.
I 슬라이스(I1)와 P 슬라이스들(P2, P3, P4)에 대한 패킷화 동작을 수행함에 있어서, P 슬라이스들(P2, P3, P4)이 하나의 패킷에 포함되어 전송될 수 있으며, 또한 I 슬라이스(I1)가 다른 하나의 패킷에 포함되어 전송될 수 있다. 상기와 같은 패킷화 동작은, MTU의 사이즈를 고려하여, 헤더의 사이즈와 슬라이스의 사이즈가 MTU의 사이즈를 초과하지 않도록 패킷화 동작이 수행될 수 있다.
한편, 도 12를 참조하면, 어느 하나의 패킷에 I 슬라이스와 P 슬라이스가 함께 포함될 수 있다. 일 실시예에 따라, 제1 슬라이스가 I 슬라이스(I1)로 압축되고 제2 내지 제4 슬라이스들이 P 슬라이스들(P2, P3, P4)로 압축되는 경우, I 슬라이스(I1)와 P 슬라이스들(P2, P3, P4) 각각의 사이즈에 따라 하나의 패킷에 서로 다른 방식으로 압축된 슬라이스들이 포함될 수 있다.
예컨대, P 슬라이스들(P2, P3, P4) 중 적어도 하나의 P 슬라이스와 I 슬라이스(I1) 및 이에 대응하는 헤더의 사이즈를 합한 결과가 MTU의 사이즈를 초과하지 않는 경우, I 슬라이스(I1)와 적어도 하나의 P 슬라이스가 하나의 패킷에 포함될 수 있다. 도 12의 예에서, 제2 슬라이스를 압축한 P 슬라이스(P2)가 다른 P 슬라이스들에 비해 상대적으로 작은 사이즈를 가지고, I 슬라이스(I1)와 P 슬라이스(P2) 및 이에 대응하는 헤더의 사이즈를 합한 결과가 MTU의 사이즈를 초과하지 않을 때, I 슬라이스(I1)와 P 슬라이스(P2)는 하나의 패킷에 포함되도록 패킷화 동작이 수행될 수 있다.
상기와 같은 패킷화 동작에 따르면, 도 6b 내지 도 8에 도시된 실시예들의 그래프에서 어느 하나의 프레임 구간(I 슬라이스가 전송되는 구간)의 패킷은 도 12에 도시된 바와 같이 표현될 수 있다. 즉, I 슬라이스를 포함하는 패킷에 적어도 하나의 P 슬라이스가 함께 포함될 수 있으며, 이후의 실시예에서 구체적으로 설명되듯이 I 슬라이스를 포함하는 패킷에 포함되는 P 슬라이스의 개수 및 위치는 각 프레임 구간 별로 변동이 가능할 것이다.
도 13은 본 발명의 실시예들에 따른 영상 처리 방법이 소프트웨어적으로 구현되는 예를 나타내는 블록도이다.
도 13을 참조하면, 영상 처리 장치(300)는 프로세서(310) 및 워킹 메모리(320)를 포함할 수 있다. 프로세서(310)는 워킹 메모리(320)에 저장된 프로그램들을 실행할 수 있다. 워킹 메모리(320)는 전술한 실시예들에 따른 슬라이싱 동작, 압축 동작 및 패킷화 동작 동작을 위한 각종 프로그램들을 저장할 수 있으며, 프로그램들은 그 기능에 따라 슬라이스 제어 모듈(321), 압축 모듈(322) 및 패킷 제어 모듈(323)을 포함할 수 있다.
일 예로서, 프로세서(310)는 본 발명의 실시예들에 따른 영상 처리 동작을 전반적으로 제어할 수 있다. 예컨대, 프로세서(310)는 슬라이스 제어 모듈(321)를 실행함으로써 프레임 영상을 다수 개의 슬라이스들로 분할할 수 있다. 또한, 프로세서(310)는 압축 모듈(322)을 실행함으로써 다수 개의 슬라이스들로 분할된 프레임 영상에 대해 전술한 실시예들에 따른 압축 동작을 수행한다. 예컨대, 어느 하나의 프레임 영상의 다수의 슬라이스들에 대해, 일부의 슬라이스들에 대해서는 I 슬라이스들을 생성하고, 다른 일부의 슬라이스들에 대해서는 P 슬라이스들을 생성할 수 있다. 또한, 하나의 화면을 표시하기 위한 다수의 슬라이스들은 서로 다른 프레임 구간에서 각각 I 슬라이스로 압축될 수 있으며, 압축 모듈(322)을 실행함에 의해 I 슬라이스가 생성될 프레임 영상이 선택될 수 있다.
또한, 프로세서(310)는 패킷 제어 모듈(323)을 실행함에 의해 패킷 생성 동작을 제어할 수 있다. 예컨대, 전술한 실시예들에 따라, 패킷에는 I 슬라이스 또는 P 슬라이스가 포함될 수 있으며, 또는 하나의 패킷에 I 슬라이스 및 P 슬라이스가 함께 포함되도록 패킷이 구성될 수도 있을 것이다.
도 13에 도시된 실시예에서는 전술한 실시예들의 기능들이 모두 소프트웨어적으로 구현되는 것으로 도시되었으나, 본 발명의 실시예는 이에 국한될 필요가 없다. 예컨대, 상기 전술한 실시예들의 기능들은 하드웨어와 소프트웨어의 조합으로 구현될 수도 있으며, 이 때 도 13에 도시된 각종 모듈들의 일부의 기능들은 하드웨어적으로 구현되어도 무방할 것이다.
도 14는 영상 처리 모드를 설정할 수 있는 영상 처리 장치의 일 구현 예를 나타내는 블록도이다.
도 14를 참조하면, 영상 처리 장치(400)는 모드 설정 회로(421), 인코더(422) 및 패킷타이저(423)를 포함할 수 있다. 영상 처리 장치(400)는 영상 처리 시스템(20)에 구비될 수 있으며, 영상 처리 시스템(20) 내의 프로세서(21)에 의해 제어될 수 있다. 예컨대, 모드 설정 회로(421)는 프로세서(21)의 제어에 따라 영상 처리에 관련된 각종 설정 값이 저장될 수 있으며, 모드 설정 회로(421)로부터의 설정 값에 따라 인코더(422) 및 패킷타이저(423) 각각의 동작 모드가 제어될 수 있다.
일 실시예에 따라, 인코더(422)는 모드 설정 회로(421)의 제어에 기반하여 전술한 실시예들에 따른 압축 동작을 포함하는 인코딩 동작을 수행할 수 있다. 예컨대, 하나의 화면에 대응하는 다수 개의 I 슬라이스들이 서로 다른 다수의 프레임 구간들에 분산되어 생성될 수 있으며, 모드 설정 회로(421)의 제어에 기반하여 I 슬라이스들이 생성될 프레임 구간들이 선택될 수 있다. 또한, 각각의 프레임 영상에 대해, I 슬라이스가 생성될 슬라이스의 위치가 선택될 수 있다.
또한, 패킷타이저(423)는 모드 설정 회로(421)의 제어에 기반하여 전술한 실시예들에 따른 패킷 생성 동작을 수행할 수 있다. 예컨대, 모드 설정 회로(421)의 제어에 기반하여 I 슬라이스 또는 P 슬라이스만을 선택적으로 포함하는 패킷이 생성되거나, I 슬라이스 및 P 슬라이스를 함께 포함하는 패킷이 생성될 수 있다.
도 14에 도시된 영상 처리 시스템(20)은 다양한 종류의 장치에 해당할 수 있다. 예컨대, 영상 처리 시스템(20)은 단말 장치 등의 사용자 장치일 수 있다. 또는, 영상 처리 시스템(20)은 프로세서(21)와 코덱(CODEC)으로서 영상 처리 장치(400)가 하나의 칩으로 구현된 어플리케이션 프로세서(Application Processor)에 해당할 수도 있다.
도 15 및 도 16은 본 발명의 예시적인 실시예에 따른 영상 처리 장치에서 에러 리커버리 동작의 일 예를 나타내는 도면이다.
영상 수신 장치가 패킷 수신에 실패하거나 수신된 패킷에 대한 디코딩 에러가 발생할 때, 에러 리커버리(error recovery)를 위해 영상 수신 장치는 영상 송신 장치로 특정 위치의 슬라이스에서 디코딩 에러가 발생되었음을 나타내는 신호를 전송할 수 있다. 특히, I 프레임(또는, I 슬라이스)의 정상적인 수신이 실패하여 디코딩 에러가 발생되면, 그 이후에 수신되는 프레임들(또는, 슬라이스들)의 디코딩 동작에서도 에러가 발생될 확률이 증가하게 된다. 그러나, 전술한 영상 전송의 일반적인 경우에서, I 프레임의 모든 슬라이스들이 I 슬라이스들로 압축됨에 따라 네트워크 대역폭이 증가하게 되고, I 프레임이 영상 수신 장치로 재차 전송되더라도 디코딩 에러가 발생할 확률은 여전이 높을 수 있다.
본 발명의 예시적인 실시예에 따라, 영상 송신 장치는 영상 수신 장치로부터 특정 슬라이스에 디코딩 에러가 발생되었음을 나타내는 신호(NACK)를 수신하고, 이에 대응하여 특정 슬라이스에 대한 I 슬라이스를 생성하여 전송할 수 있다. 즉, 상기 신호(NACK)에 대응하여 영상 송신 장치는 프레임 영상의 특정 위치의 슬라이스를 선택적으로 I 슬라이스로 압축할 수 있다. 도 15를 참조하면, 하나의 화면을 표시하기 위한 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 다수의 프레임 구간들을 통해 분산되어 전송되고, 제1 I 프레임 주기(Period 1)의 어느 하나의 프레임 구간(Fk)에서 전송되는 제3 I 슬라이스(I3)에 디코딩 에러가 발생된 경우가 가정된다.
영상 수신 장치에 구비되는 디코더(510)는 제3 I 슬라이스(I3)에 디코딩 에러가 발생되었음을 판단하고, 디코딩 에러가 발생되었음을 나타내는 신호(NACK)를 영상 송신 장치로 전송한다. 일 예로서, 제2 I 프레임 주기(Period 2)의 어느 하나의 프레임 구간(Fr)에서 영상 송신 장치가 신호(NACK)를 수신하는 예가 도시되며, 영상 송신 장치는 이후의 어느 하나의 프레임 구간에서 제3 슬라이스를 I 슬라이스(I3)로 압축하여 전송할 수 있다.
일 예로서, 제2 I 프레임 주기(Period 2) 동안 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 다수의 프레임 구간들을 통해 분산되어 전송될 수 있으며, 영상 송신 장치는 신호(NACK)를 수신한 프레임 구간(Fr)의 다음의 프레임 구간(F(r+1))에서 제3 I 슬라이스(I3)를 생성하고 전송할 수 있다. 일 실시예에 따라, 제2 I 프레임 주기(Period 2) 동안 제1 내지 제4 I 슬라이스들(I1 ~ I4)이 전송되는 프레임 구간들과 별개로, 신호(NACK)에 응답하여 I 슬라이스(예컨대, 제3 I 슬라이스(I3))를 추가로 생성하고 이를 전송할 수 있다. 즉, 프레임 구간(F(r+1))은 원래 P 슬라이스들을 전송하는 구간에 해당하나, 영상 송신 장치는 신호(NACK)에 응답하여 제3 I 슬라이스(I3)를 프레임 구간(F(r+1))에서 전송할 수 있다.
도 15에는 도시되지 않았으나, 전술한 프레임 구간(F(r+1))이 원래 어느 하나의 I 슬라이스를 전송하는 프레임 구간에 해당하는 경우에는, 영상 송신 장치는 그 다음의 프레임 구간들 중 I 슬라이스를 전송하지 않는 어느 하나의 프레임 구간에서 제3 I 슬라이스(I3)를 추가로 전송할 수 있을 것이다.
한편, 도 16에 도시된 실시예에 따르면, 영상 송신 장치는 디코딩 에러가 발생되었음을 나타내는 신호(NACK)에 응답하여 제1 내지 제4 I 슬라이스들(I1 ~ I4)의 전송 순서를 변경할 수 있다. 예컨대, 영상 수신 장치에 구비되는 디코더(520)는 제4 I 슬라이스(I4)에 디코딩 에러가 발생되었음을 판단하고, 신호(NACK)를 영상 송신 장치로 전송하며, 영상 송신 장치는 제2 I 프레임 주기(Period 2)의 첫 번째 프레임 구간(F1)에서 신호(NACK)를 수신하는 예가 도시된다.
영상 송신 장치는 제2 I 프레임 주기(Period 2)의 일부의 프레임 구간들에서 제1 내지 제4 I 슬라이스들(I1 ~ I4)을 전송할 수 있으며, 일 예로서 첫 번째, 두 번째, 네 번째 및 여섯 번째 프레임 구간들(F1, F2, F4, F6)에서 제1 내지 제4 I 슬라이스들(I1 ~ I4)을 전송할 수 있다. 만약, 디코딩 에러가 발생되지 않은 경우에는 두 번째 프레임 구간(F2)에서 제2 I 슬라이스(I2)가 전송되나, 영상 송신 장치는 신호(NACK)에 응답하여 디코딩 에러가 발생된 제4 I 슬라이스(I4)를 두 번째 프레임 구간(F2)에서 우선적으로 전송할 수 있다. 또한, 나머지 네 번째 및 여섯 번째 프레임 구간들(F4, F6)에서 나머지 I 슬라이스들(I2, I3)이 전송될 수 있다.
도 16에 도시된 실시예에 따르면, 어느 하나의 I 프레임 주기에서 I 슬라이스를 전송하는 횟수를 증가시킴이 없이 디코딩 에러에 적절하게 대응할 수 있다. 즉, 디코딩 에러가 발생된 특정 I 슬라이스가 다른 I 슬라이스들보다 먼저 전송되도록 함으로써, 영상 수신 장치에서 디코딩 성능이 저하되는 문제가 개선될 수 있다.
도 17 및 도 18은 하나의 패킷에 포함될 슬라이스들을 선택하는 일 예를 나타내는 도면이다.
도 17을 참조하면, 영상 처리 장치(600)는 슬라이싱 모듈(610), 압축 모듈(620), 패킷타이저(630), 연산 모듈(640) 및 슬라이스 선택 모듈(650)을 포함할 수 있다. 전술한 실시예에서와 유사하게, 영상 처리 장치(600)에 구비되는 각종 모듈들은 하드웨어 또는 소프트웨어로 구현되거나, 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있다. 또한, 상기 연산 모듈(640) 및 슬라이스 선택 모듈(650)이 서로 구분된 구성인 것으로 도시되었으나, 상기 모듈들의 기능들은 하나의 모듈로 구현되어도 무방할 것이다.
슬라이싱 모듈(610)은 프레임 영상(Frame)을 수신하고, 프레임 영상(Frame)을 다수 개의 슬라이스들(Slices)로 분할한다. 압축 모듈(620)은 전술한 실시예들에 따라 I 슬라이스(S_I) 및 P 슬라이스(S_P)를 생성한다. 일 실시예에 따라, 어느 하나의 프레임 영상(Frame)에서 I 슬라이스(S_I) 및 P 슬라이스(S_P)가 함께 생성될 수 있다. 또한, 패킷타이저(630)는 하나 이상의 슬라이스를 포함하는 패킷(Packet)을 생성할 수 있으며, 일 실시예에 따라 패킷(Packet)에는 I 슬라이스(S_I)가 포함되거나 P 슬라이스(S_P)가 포함될 수 있다. 또는, 패킷(Packet)에는 I 슬라이스(S_I) 및 P 슬라이스(S_P)가 함께 포함될 수 있다.
압축 모듈(620)은 생성된 I 슬라이스(S_I) 및 P 슬라이스(S_P)의 사이즈에 관련된 정보(Info_s)를 더 생성하고, 생성된 정보(Info_s)를 연산 모듈(640)로 제공할 수 있다. 연산 모듈(640)은 정보(Info_s)를 기반으로 하는 연산 동작을 수행하고, 연산 수행 결과(Res)를 슬라이스 선택 모듈(650)로 제공할 수 있다. 슬라이스 선택 모듈(650)은 연산 수행 결과(Res)에 기반하여 하나의 패킷(Packet)에 포함될 슬라이스들을 선택하고, 선택 결과에 따라 패킷 생성 동작을 제어하기 위한 제어신호(ctrl_p)를 패킷타이저(630)로 제공할 수 있다.
도 17에 도시된 구성들에 따른 동작의 일 예를 도 18을 참조하여 설명한다.
압축 모듈(620)에 의해 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)에 대한 압축 동작이 수행된다. 압축 결과로서, 제1 내지 제3 슬라이스들(Slice 1 ~ Slice 3)은 P 슬라이스로 압축되고, 제4 슬라이스(Slice 4)는 I 슬라이스로 압축될 수 있다. 일 예로서, P 슬라이스로 압축된 제1 내지 제3 슬라이스들(Slice 1 ~ Slice 3)은 각각 500 Byte, 150 Byte, 900 Byte의 사이즈를 가지고, I 슬라이스로 압축된 제4 슬라이스(Slice 4)는 1250 Byte의 사이즈를 갖는 예가 도시된다.
연산 모듈(640)에 의해 상기 사이즈들을 이용한 연산 동작이 수행된다. 일 예로서, 압축된 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)의 사이즈에 따른 순서로 소팅(sorting) 동작이 수행될 수 있으며, 가장 큰 사이즈를 갖는 I 슬라이스로 압축된 제4 슬라이스(Slice 4)와 소정의 값으로 정의되는 MTU 사이즈를 이용한 연산이 수행된다. 예컨대, MTU 사이즈에 해당하는 1500 Byte에서 패킷의 헤더 사이즈 및 제4 슬라이스(Slice 4)의 사이즈를 감산한 나머지 사이즈(R)가 계산된다. 도 18에서는 나머지 사이즈(R)가 190 Byte로 계산될 수 있다.
이후, 나머지 사이즈(R)와 다른 슬라이스들의 사이즈를 이용한 연산 동작을 통해 양(+)의 값을 갖는 나머지 사이즈(R)가 계산될 수 있는 지가 판단된다. 예컨대, 이전에 산출된 190 Byte의 나머지 사이즈(R)에서 두 번째로 큰 사이즈를 갖는 제3 슬라이스(Slice 3)의 사이즈를 감산할 수 있으며, 이와 같은 경우에는 나머지 사이즈(R)가 음(-)의 값으로 산출된다. 이와 같은 연산 동작을 통해, 양(+)의 값을 갖는 나머지 사이즈(R)가 계산될 수 있는 슬라이스(예컨대, 제2 슬라이스(Slice 2))가 선택될 수 있다.
상기 제4 슬라이스(Slice 4) 및 제2 슬라이스(Slice 2)가 선택된 후, 상기와 같은 연산 동작을 통해 양(+)의 값을 갖는 나머지 사이즈(R)가 계산될 수 있는 다른 슬라이스가 더 존재하는 지 판단될 수 있다. 도 18에 도시된 실시예에서는 양(+)의 값을 갖는 나머지 사이즈(R)가 계산될 수 있는 다른 슬라이스는 존재하지 않게 된다.
상기와 같은 연산 결과(Res)가 슬라이스 선택 모듈(650)로 제공되면, 슬라이스 선택 모듈(650)은 제4 슬라이스(Slice 4)와 제2 슬라이스(Slice 2)가 하나의 패킷에 포함될 수 있음을 판단하고, 이를 나타내는 제어신호(ctrl_p)를 패킷타이저(630)로 제공할 수 있다. 또한, 슬라이스 선택 모듈(650)은 제3 슬라이스(Slice 3)와 제1 슬라이스(Slice 1)가 하나의 패킷에 포함될 수 있음을 판단하고, 이를 나타내는 제어신호(ctrl_p)를 패킷타이저(630)로 제공할 수 있다. 패킷타이저(630)는 제4 및 제2 슬라이스들(Slice 4, Slice 2)을 포함하는 패킷을 생성함과 함께, 제3 및 제3 슬라이스들(Slice 3, Slice 1)을 포함하는 패킷을 생성할 수 있다.
도 18에 도시된 패킷 생성 결과를 참조하면, 각각의 패킷은 하나 이상의 슬라이스들을 포함함과 함께, 패킷에 적용된 프로토콜에 따라 다양한 헤더 정보들을 포함할 수 있다. 일 예로서, IP 헤더(IP Header), UDP 헤더(User Datagram Protocol Header) 및 RTP 헤더(Real Time Protocol Header) 등이 패킷에 포함되는 예가 도시된다. 그러나, 본 발명의 실시예는 도 18에 도시된 프로토콜에 한정될 필요는 없으며, 다른 다양한 프로토콜에 따른 헤더 정보들이 패킷에 포함되어도 무방할 것이다.
도 19a,b 및 도 20a,b는 하나의 패킷에 포함될 슬라이스들을 선택하는 다른 예들을 나타내는 도면이다.
도 19a를 참조하면, 압축 결과의 일 예로서 제2 및 제4 슬라이스들(Slice 2, Slice 4)은 I 슬라이스로 압축되고, 제1 및 제3 슬라이스들(Slice 1, Slice 3)은 P 슬라이스로 압축될 수 있다. 또한 일 예로서, 도 19a의 (a)에서는 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)은 각각 160 Byte, 420 Byte, 120 Byte 및 520 Byte의 사이즈를 갖는 예가 도시된다.
또한, 전술한 실시예에서와 같이, (b)에 도시된 바에 따라 상기 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)에 대한 소팅 동작이 수행되고, 큰 사이즈를 갖는 슬라이스의 순서대로 각각의 슬라이스의 사이즈를 이용한 연산이 수행될 수 있다. 예컨대, 소정의 값으로 정의되는 MTU 사이즈(예컨대, 1500 Byte), 헤더 사이즈(예컨대, 60 Byte) 및 전술한 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)의 사이즈를 이용한 연산이 수행되고, 또한 나머지 사이즈(R)가 계산될 수 있다. 예컨대, (b)에 도시된 바와 같이 제4 슬라이스(Slice 4)를 이용한 연산을 통해 나머지 사이즈(R)가 계산되고, 계산 결과에 따라 제4 슬라이스(Slice 4)가 패킷에 포함될 슬라이스로서 선택될 수 있다.
또한 (c)에서와 같이, 그 다음으로 사이즈가 큰 제2 슬라이스(Slice 2)를 이용한 연산이 수행되고, 제2 슬라이스(Slice 2)가 패킷에 포함될 슬라이스로서 더 선택될 수 있다. 또한, (d)에서와 같이, 그 다음으로 사이즈가 큰 제1 슬라이스(Slice 1)를 이용한 연산이 수행되고, 제1 슬라이스(Slice 1)가 패킷에 포함될 슬라이스로서 더 선택될 수 있다. 또한, (e)에서와 같이 가장 사이즈가 작은 제3 슬라이스(Slice 3)를 이용한 연산이 수행되고, 상기 제3 슬라이스(Slice 3)를 이용한 연산 결과를 통해 양(+)의 값을 갖는 나머지 사이즈(R)가 계산될 수 있으므로 제3 슬라이스(Slice 3)가 패킷에 포함될 슬라이스로서 더 선택될 수 있다. 이에 따라, 상기 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)이 모두 하나의 패킷에 포함될 수 있다.
도 19b를 참조하면, 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)과 함께 IP 헤더(IP Header), UDP 헤더(User Datagram Protocol Header) 및 RTP 헤더(Real Time Protocol Header) 등이 포함된 하나의 패킷이 예시된다.
한편, 도 20a를 참조하면, 압축 결과의 일 예로서 제1 슬라이스(Slice 1)는 I 슬라이스로 압축되고, 제2 내지 제4 슬라이스들(Slice 2 ~ Slice 4)은 P 슬라이스로 압축될 수 있다. 또한 일 예로서, 도 20a의 (a)에서는 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)은 각각 1200 Byte, 60 Byte, 140 Byte 및 120 Byte의 사이즈를 갖는 예가 도시된다.
전술한 실시예에서와 유사하게, (b)에서와 같이 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)에 대한 소팅 동작이 수행되고, 소정의 값으로 정의되는 MTU 사이즈(예컨대, 1500 Byte), 헤더 사이즈(예컨대, 60 Byte) 및 전술한 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4)의 사이즈를 이용한 연산이 수행된다. 먼저, 가장 사이즈가 큰 제1 슬라이스(Slice 1)를 이용한 연산이 수행되고, 연산 결과에 따라 제1 슬라이스(Slice 1)가 패킷에 포함될 슬라이스로서 선택될 수 있다.
또한, (c)에서와 같이, 다음으로 사이즈가 큰 제3 슬라이스(Slice 3)를 이용한 연산이 수행되고, 연산 결과에 따라 제3 슬라이스(Slice 3)가 패킷에 포함될 슬라이스로서 더 선택될 수 있다. 또한, 그 다음으로 사이즈가 큰 제4 슬라이스(Slice 4)를 이용한 연산이 수행되고, 이 때 제4 슬라이스(Slice 4)를 이용한 연산 결과로서 음(-)의 값을 갖는 나머지 사이즈(R)가 계산될 수 있다. 이에 따라, (d)에서와 같이 제4 슬라이스(Slice 4)는 상기 제1 및 제3 슬라이스들(Slice 1, Slice 3)과 동일한 패킷에 포함될 슬라이스로서 포함되지 않는다.
한편, 나머지 제2 슬라이스(Slice 2)를 이용한 연산이 더 수행되고, 연산 결과로서 양(+)의 값을 갖는 나머지 사이즈(R)가 계산될 수 있다. 이에 따라, 제2 슬라이스(Slice 2)가 패킷에 포함될 슬라이스로서 더 선택될 수 있다. 도 20b를 참조하면, 앞서 선택된 제1 내지 제3 슬라이스들(Slice 1 ~ Slice 3)과 함께 IP 헤더(IP Header), UDP 헤더(User Datagram Protocol Header) 및 RTP 헤더(Real Time Protocol Header) 등이 동일한 패킷에 포함될 수 있다. 반면에, 전술한 과정에서 선택되지 않은 제4 슬라이스(Slice 4)는 별도의 패킷에 포함될 수 있다.
일 실시예에 따라, 전체 슬라이스들 중 상기 연산 과정을 통해 일부의 슬라이스들이 선택될 수 있으며, 선택되지 않은 나머지 슬라이스들에 대해서는 전술한 연산 과정을 재차 수행함에 의해 하나의 패킷에 포함될 슬라이스가 선택될 수 있다. 만약, 제1 내지 제4 슬라이스들(Slice 1 ~ Slice 4) 중 제1 및 제2 슬라이스들(Slice 1, Slice 2)이 동일한 패킷에 포함될 슬라이스들로서 선택된 경우, 나머지 제3 및 제4 슬라이스들(Slice 3, Slice 4)에 대해 MTU 사이즈(예컨대, 1500 Byte) 및 헤더 사이즈(예컨대, 60 Byte)를 이용한 연산 과정이 재차 수행될 수 있다. 그리고, 모든 슬라이스들에 대한 선택 과정이 완료되면, 선택 결과에 기반하여 하나 이상의 패킷들이 생성될 수 있다.
도 21은 전술한 실시예들에 따른 영상 처리 장치를 포함하는 컴퓨팅 시스템을 도시한 블록도이다.
도 21을 참조하면, 컴퓨팅 시스템(700)은 프로세서(710), 메모리 장치(720), 저장 장치(730), 입출력 장치(740), 파워 서플라이(750) 및 이미지 센서(760) 등을 포함할 수 있다. 한편, 도 19에는 도시되지 않았지만, 컴퓨팅 시스템(700)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트들(ports)을 더 포함할 수 있다.
프로세서(710)는 시스템 온 칩(System On Chip, SoC)으로 구현되는 어플리케이션 프로세서(Application Processor)일 수 있다. 프로세서(710)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시 예에 따라, 프로세서(710)는 마이크로프로세서(micro-processor), 중앙 처리 장치 (Central Processing Unit(CPU))를 포함할 수 있다. 프로세서(710)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 메모리 장치(720), 저장 장치(730) 및 입출력 장치(740)와 통신을 수행할 수 있다.
메모리 장치(720)는 컴퓨팅 시스템(700)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(720)는 DRAM(dynamic random access memory), 모바일 DRAM, SRAM, 플래시 메모리, PRAM, FRAM, RRAM 및/또는 MRAM 등으로 구현될 수 있다. 저장 장치(730)는 SSD(solid state drive), HDD(hard disk drive), 또는 CD-ROM 등을 포함할 수 있다. 입출력 장치(740)는 키보드(heyboard), 키 패드(keypad), 마우스(mouse) 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 파워 서플라이(750)는 컴퓨팅 시스템(700)의 동작에 필요한 동작 전압을 공급할 수 있다.
본 발명의 실시예에 따른 압축 동작을 수행하는 기능은 프로세서(710)의 코덱 모듈(711)에 의해 수행될 수 있으며, 코덱 모듈(711)은 전술한 실시예들에 따른 영상 압축 동작 및 패킷타이징 동작을 수행할 수 있다. 일 예로서, 코덱 모듈(711)은 이미지 센서(760)에서 생성된 프레임 영상을 수신하고, 수신된 프레임 영상을 처리함으로써 I 및 P 슬라이스들을 생성하며, 생성된 I 및 P 슬라이스들을 포함하는 패킷을 외부의 장치로 전송할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 제1 내지 제N 슬라이스들을 포함하는 제1 프레임 영상의 일부의 슬라이스에 대한 제1 방식의 압축을 통해 I 슬라이스를 생성하는 단계(단, N은 2 이상의 정수);
    상기 제1 프레임 영상의 다른 일부의 슬라이스에 대한 제2 방식의 압축을 통해 다수 개의 P 슬라이스들을 생성하는 단계; 및
    상기 제1 프레임 영상에 대해, 상기 생성된 I 슬라이스 및 P 슬라이스들을 포함하는 N 미만의 개수의 패킷을 전송하는 단계를 구비하는 것을 특징으로 하는 영상 처리 방법.
  2. 제1항에 있어서,
    상기 제1 방식의 압축은 이전의 프레임 영상의 슬라이스를 참조함이 없는 압축이고, 상기 제2 방식의 압축은 이전의 하나 이상의 프레임 영상의 슬라이스를 참조하는 압축인 것을 특징으로 하는 영상 처리 방법.
  3. 제1항에 있어서,
    상기 제1 프레임 영상으로부터 하나의 I 슬라이스 및 (N-1) 개의 P 슬라이스들이 생성되고,
    상기 패킷을 생성하는 단계는, 상기 하나의 I 슬라이스를 포함하는 제1 패킷과, 상기 (N-1) 개의 P 슬라이스들을 포함하는 제2 패킷을 생성하는 단계를 포함하는 것을 특징으로 하는 영상 처리 방법.
  4. 제1항에 있어서,
    상기 제1 프레임 영상으로부터 하나의 I 슬라이스 및 (N-1) 개의 P 슬라이스들이 생성되고,
    상기 패킷을 전송하는 단계는, 상기 하나의 I 슬라이스 및 적어도 하나의 P 슬라이스를 포함하는 제1 패킷과, 나머지 P 슬라이스들을 포함하는 제2 패킷을 생성하는 단계를 포함하는 것을 특징으로 하는 영상 처리 방법.
  5. 제1항에 있어서,
    상기 제1 슬라이스에 대한 압축을 통해 상기 I 슬라이스가 생성되고, 상기 제2 내지 제N 슬라이스들 각각에 대한 압축을 통해 상기 P 슬라이스가 생성되는 것을 특징으로 하는 영상 처리 방법.
  6. 제5항에 있어서,
    제1 내지 제N 슬라이스들을 포함하는 제2 프레임 영상에서, 상기 제2 프레임 영상의 제2 슬라이스에 대한 I 슬라이스를 생성하는 단계; 및
    상기 제2 프레임 영상의 제1, 제3 내지 제N 슬라이스들 각각에 대한 P 슬라이스를 생성하는 단계를 더 구비하는 것을 특징으로 하는 영상 처리 방법.
  7. 제1항에 있어서,
    제1 내지 제N 슬라이스들을 포함하는 제2 프레임 영상에서, 상기 제2 프레임 영상의 제1 내지 제N 슬라이스들 각각에 대한 P 슬라이스를 생성하는 단계를 더 구비하는 것을 특징으로 하는 영상 처리 방법.
  8. 제1항에 있어서,
    하나의 화면을 표현하기 위한 N 개의 I 슬라이스들을 전송하는 I 프레임 주기가 설정되고, 상기 I 프레임 주기는 M 개의 프레임 영상을 전송하기 위한 M 개의 프레임 구간들을 포함하며(단, M은 N 보다 큰 정수),
    최초의 I 프레임 주기의 처음의 k 개의 프레임 영상으로부터 상기 N 개의 I 슬라이스들을 생성하는 단계(k는 N 미만의 정수); 및
    상기 k 개의 프레임 영상에 대응하는 프레임 구간을 통해, 상기 N 개의 I 슬라이스들을 전송하는 단계를 더 구비하는 것을 특징으로 하는 영상 처리 방법.
  9. 제1항에 있어서,
    상기 생성된 I 슬라이스의 사이즈와 P 슬라이스의 사이즈를 이용한 연산을 수행하는 단계; 및
    상기 연산 결과에 따라, 상기 I 슬라이스와 동일한 패킷에 포함될 적어도 하나의 P 슬라이스를 선택하는 단계를 더 구비하는 것을 특징으로 하는 영상 처리 방법.
  10. 제1항에 있어서,
    상기 I 슬라이스로 압축된 제1 슬라이스에 대한 디코딩 실패를 나타내는 신호를 수신하는 단계;
    이후 전송될 제2 프레임 영상에 대해, 상기 제2 프레임 영상의 제1 슬라이스에 대한 I 슬라이스를 생성하는 단계; 및
    상기 제2 프레임 영상의 나머지 슬라이스들에 대한 P 슬라이스를 생성하는 단계를 더 구비하는 것을 특징으로 하는 영상 처리 방법.
  11. 영상 처리 방법에 있어서,
    하나의 프레임 영상은 N 개의 슬라이스들을 포함하고(단, N은 2 이상의 정수), 상기 N 개의 슬라이스들에 대한 I 슬라이스들이 전송되는 주기가 설정되며,
    상기 주기에 포함된 다수의 프레임 구간들 중 N 개의 프레임 구간들을 선택하는 단계;
    상기 N 개의 슬라이스들에 대한 I 슬라이스들을 상기 선택된 N 개의 프레임 구간들에 분산하여 생성하는 단계; 및
    상기 선택된 N 개의 프레임 구간들 각각에서, 하나의 I 슬라이스를 포함하는 제1 패킷 및 다수 개의 P 슬라이스들을 포함하는 제2 패킷을 생성하는 단계를 구비하는 것을 특징으로 하는 영상 처리 방법.
  12. 제11항에 있어서,
    상기 선택된 N 개의 프레임 구간들 각각에서 생성되는 패킷의 개수는, 비선택된 프레임 구간들 각각에서 생성되는 패킷의 개수보다 많은 것을 특징으로 하는 영상 처리 방법.
  13. 제11항에 있어서,
    상기 선택된 N 개의 프레임 구간들 각각에서 하나의 I 슬라이스 및 (N-1) 개의 P 슬라이스들이 생성되고,
    상기 제1 패킷은, 상기 하나의 I 슬라이스 및 적어도 하나의 P 슬라이스를 포함하는 것을 특징으로 하는 영상 처리 방법.
  14. 제13항에 있어서,
    상기 제2 패킷은, 상기 (N-1) 개의 P 슬라이스들 중 상기 제1 패킷에 포함된 P 슬라이스를 제외한 나머지 P 슬라이스들을 포함하는 것을 특징으로 하는 영상 처리 방법.
  15. 제11항에 있어서,
    상기 다수의 프레임 구간들 중 선택되지 않은 프레임 구간들 각각에서, 하나의 프레임 영상에 포함되는 N 개의 슬라이스들에 대한 P 슬라이스들을 생성하는 단계; 및
    상기 N 개의 P 슬라이스들을 포함하는 패킷을 전송하는 단계를 더 구비하는 것을 특징으로 하는 영상 처리 방법.
  16. 제1 프레임 영상을 수신하고, 상기 제1 프레임 영상에 포함된 다수의 슬라이스들로부터 제1 방식의 압축에 기반하는 I 슬라이스 및 제2 방식의 압축에 기반하는 다수 개의 P 슬라이스들을 생성하는 인코더; 및
    상기 I 슬라이스 및 P 슬라이스들을 포함하는 패킷들을 생성하고, 상기 제1 프레임 영상의 전송을 위해 상기 생성된 I 슬라이스 및 P 슬라이스들을 상기 슬라이스들의 개수보다 적은 개수의 패킷들에 할당하는 패킷타이저를 구비하는 것을 특징으로 하는 영상 처리 장치.
  17. 제16항에 있어서,
    상기 인코더는, 제1 프레임 영상에 포함된 N 개의 슬라이스들로부터 1 개의 I 슬라이스 및 (N-1) 개의 P 슬라이스를 생성하는 것을 특징으로 하는 영상 처리 장치(단, N은 2 이상의 정수).
  18. 제16항에 있어서,
    상기 패킷타이저는, 적어도 하나의 I 슬라이스와 적어도 하나의 P 슬라이스를 함께 포함하는 패킷을 생성하는 것을 특징으로 하는 영상 처리 장치.
  19. 제16항에 있어서, 상기 인코더는,
    제2 프레임 영상 내지 제M 프레임 영상을 더 수신하고, 상기 제1 내지 제M 프레임 영상들 각각을 N 개의 슬라이스들로 분할하며(단, N은 2 이상 M 미만의 정수),
    상기 제1 내지 제M 프레임 영상들 중 선택된 N 개의 프레임 영상들로부터 하나의 화면을 표현하기 위한 N 개의 I 슬라이스들을 생성하는 것을 특징으로 하는 영상 처리 장치.
  20. 제16항에 있어서,
    외부로부터 I 슬라이스가 포함된 제1 패킷 및 P 슬라이스가 포함된 제2 패킷을 수신하고, 수신된 제1 및 제2 패킷들로부터 상기 I 슬라이스 및 P 슬라이스를 추출하는 디패킷타이저; 및
    상기 추출된 I 슬라이스 및 P 슬라이스를 이용한 디코딩 동작을 통해 프레임 영상을 복원하는 디코더를 더 구비하는 것을 특징으로 하는 영상 처리 장치.
KR1020170058096A 2017-05-10 2017-05-10 슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법 KR102497216B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170058096A KR102497216B1 (ko) 2017-05-10 2017-05-10 슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법
US15/815,060 US10812804B2 (en) 2017-05-10 2017-11-16 Image processing device and image processing method performing slice-based compression
CN201711462803.9A CN108881951B (zh) 2017-05-10 2017-12-28 执行基于条带的压缩的图像处理装置和图像处理方法
SG10201803184UA SG10201803184UA (en) 2017-05-10 2018-04-17 Image processing device and image processing method performing slice-based compression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170058096A KR102497216B1 (ko) 2017-05-10 2017-05-10 슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법

Publications (2)

Publication Number Publication Date
KR20180123847A true KR20180123847A (ko) 2018-11-20
KR102497216B1 KR102497216B1 (ko) 2023-02-07

Family

ID=64097483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170058096A KR102497216B1 (ko) 2017-05-10 2017-05-10 슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법

Country Status (4)

Country Link
US (1) US10812804B2 (ko)
KR (1) KR102497216B1 (ko)
CN (1) CN108881951B (ko)
SG (1) SG10201803184UA (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889847A (zh) * 2019-01-18 2019-06-14 昆山优尼电能运动科技有限公司 低延时无线传输编解码系统
CN112788344B (zh) * 2020-12-30 2023-03-21 北京大数据研究院 基于编码单元重组的视频解码方法、装置、系统、介质及终端
CN112788336B (zh) * 2020-12-30 2023-04-14 北京大数据研究院 数据元素的排序还原方法、系统、终端及标记方法
CN112804562B (zh) * 2020-12-30 2022-01-07 北京大学 基于片重组的视频编码方法、装置、终端及介质
CN112822488B (zh) * 2020-12-30 2023-04-07 北京大学 基于块重组的视频编解码系统、方法、装置、终端及介质
US11451770B2 (en) * 2021-01-25 2022-09-20 Dell Products, Lp System and method for video performance optimizations during a video conference session
KR20220124031A (ko) 2021-03-02 2022-09-13 삼성전자주식회사 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법
US11729099B2 (en) * 2021-07-30 2023-08-15 Avago Technologies International Sales Pte. Limited Scalable E2E network architecture and components to support low latency and high throughput

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050259613A1 (en) * 2004-05-13 2005-11-24 Harinath Garudadri Method and apparatus for allocation of information to channels of a communication system
KR101416901B1 (ko) * 2013-06-19 2014-07-08 주식회사 케이티 손실된 영상 패킷을 복구하는 방법 및 장치
US20170105010A1 (en) * 2015-10-09 2017-04-13 Microsoft Technology Licensing, Llc Receiver-side modifications for reduced video latency

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0152034B1 (ko) 1994-06-29 1998-10-15 김광호 인트라부호화방법
US7046910B2 (en) 1998-11-20 2006-05-16 General Instrument Corporation Methods and apparatus for transcoding progressive I-slice refreshed MPEG data streams to enable trick play mode features on a television appliance
US6868122B2 (en) * 2001-02-07 2005-03-15 Sun Microsystems, Inc. Distributed intraframe transmission in digital video compression
KR100799669B1 (ko) 2006-06-20 2008-01-30 삼성전자주식회사 영상신호 송수신효율 향상을 위한 정보통신방법 및 장치
EP2237562A4 (en) 2007-11-28 2016-12-28 Panasonic Ip Man Co Ltd IMAGE ENCODING METHOD AND IMAGE ENCODING DEVICE
JP5062110B2 (ja) 2008-09-04 2012-10-31 富士通株式会社 映像伝送装置、映像伝送方法および映像伝送プログラム
KR101478243B1 (ko) 2008-10-06 2014-12-31 삼성전자주식회사 영상 통화 서비스에서 전송 자원 할당 방법 및 시스템
US20120106632A1 (en) * 2010-10-28 2012-05-03 Apple Inc. Method and apparatus for error resilient long term referencing block refresh
CN102547375A (zh) 2010-12-23 2012-07-04 上海讯垒网络科技有限公司 一种快速实现预览h.264编码帧的传输方法
US8930649B2 (en) 2011-09-06 2015-01-06 Cleversafe, Inc. Concurrent coding of data streams
CN102413307B (zh) 2011-11-30 2013-11-27 晶门科技(深圳)有限公司 电视视频聊天的自适应码率调整方法及调整装置
CN102665140B (zh) 2012-05-16 2014-04-09 哈尔滨工业大学深圳研究生院 一种avs视频帧的rtp封装方法
CN108965883B (zh) * 2012-06-28 2022-08-30 阿克西斯股份公司 使用虚拟帧内帧对视频内容进行编码的系统和方法
US10271067B2 (en) 2013-01-07 2019-04-23 Telefonaktiebolaget L M Ericsson (Publ) Encoding and decoding of slices in pictures of a video stream using different maximum transform sizes
US20160065980A1 (en) 2013-04-05 2016-03-03 Samsung Electronics Co., Ltd. Video stream encoding method according to a layer identifier expansion and an apparatus thereof, and a video stream decoding method according to a layer identifier expansion and an apparatus thereof
US20160100173A1 (en) 2014-10-03 2016-04-07 International Business Machines Corporation Enhanced Video Streaming
US9955159B2 (en) 2014-10-31 2018-04-24 Google Llc Multi-video decoding with input switching
GB2525948B (en) 2014-11-04 2017-01-04 Imagination Tech Ltd Packet loss and bandwidth coordination

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050259613A1 (en) * 2004-05-13 2005-11-24 Harinath Garudadri Method and apparatus for allocation of information to channels of a communication system
KR101416901B1 (ko) * 2013-06-19 2014-07-08 주식회사 케이티 손실된 영상 패킷을 복구하는 방법 및 장치
US20170105010A1 (en) * 2015-10-09 2017-04-13 Microsoft Technology Licensing, Llc Receiver-side modifications for reduced video latency

Also Published As

Publication number Publication date
US20180332293A1 (en) 2018-11-15
KR102497216B1 (ko) 2023-02-07
CN108881951A (zh) 2018-11-23
CN108881951B (zh) 2022-06-21
US10812804B2 (en) 2020-10-20
SG10201803184UA (en) 2018-12-28

Similar Documents

Publication Publication Date Title
KR102497216B1 (ko) 슬라이스 기반의 압축을 수행하는 영상 처리 장치 및 영상 처리 방법
JP5778672B2 (ja) バックワードルッキングロバストヘッダ圧縮レシーバ
US9661053B2 (en) Generating a plurality of streams
JP6294346B2 (ja) 通信装置及びシステム及び方法
CN106162199B (zh) 带反向信道消息管理的视频处理的方法和系统
JP4850932B2 (ja) 画像伝送装置
US20120314948A1 (en) Multiple description coding with plural combined diversity
US20150312294A1 (en) Content Message for Video Conferencing
KR20150131175A (ko) Http를 통한 동적 적응형 스트리밍에서 미디어 세그먼트들의 손실 존재시의 회복력
CN110740380A (zh) 视频处理方法和装置、存储介质及电子装置
EP4154547A1 (en) Performing and evaluating split rendering over 5g networks
JPWO2015015879A1 (ja) 情報処理装置、情報処理方法及びプログラム
KR101953580B1 (ko) 영상회의 시스템에서 데이터 송수신 장치 및 방법
KR101760018B1 (ko) 영상 데이터 통신 방법 및 영상 데이터 통신 장치
US7627184B2 (en) Content distribution/reception device, content transmission/reception method, and content distribution/reception program
US9838463B2 (en) System and method for encoding control commands
JP2015504288A (ja) ストリーミングサービスを提供する方法及び装置
JP4321454B2 (ja) 動画像伝送システム、動画像符号化装置、動画像復号化装置、動画像伝送プログラム及び動画像伝送方法
JP4280927B2 (ja) 動画像伝送システム、動画像符号化装置、動画像復号化装置、動画像伝送プログラム及び動画像伝送方法
JP7261860B2 (ja) ユーザ・データグラム・プロトコル(udp)を利用するロバストなビデオ送信のためのシステム、デバイス、及び方法
EP3565246B1 (en) Progressive i-slice reference for packet loss resilient video coding
WO2024094277A1 (en) Controlling the sending of at least one picture over a communication network
CN115348451A (zh) 一种编码处理方法、装置、服务器和介质
JPWO2019017298A1 (ja) データ配信装置、システム、方法および記録媒体
JP2005012780A (ja) 画像伝送方法および画像伝送装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
E801 Decision on dismissal of amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant