KR20140070896A - 비디오 스트리밍 방법 및 그 전자 장치 - Google Patents

비디오 스트리밍 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR20140070896A
KR20140070896A KR1020120136920A KR20120136920A KR20140070896A KR 20140070896 A KR20140070896 A KR 20140070896A KR 1020120136920 A KR1020120136920 A KR 1020120136920A KR 20120136920 A KR20120136920 A KR 20120136920A KR 20140070896 A KR20140070896 A KR 20140070896A
Authority
KR
South Korea
Prior art keywords
packet
video
transport
transmitting
dummy
Prior art date
Application number
KR1020120136920A
Other languages
English (en)
Inventor
김태형
채정욱
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120136920A priority Critical patent/KR20140070896A/ko
Priority to US14/091,615 priority patent/US20140146836A1/en
Publication of KR20140070896A publication Critical patent/KR20140070896A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Abstract

본 발명은 비디오 스트리밍(video streaming) 서비스에서 레이턴시(latency) 감소를 위한 것으로, 비디오 송신 방법은, 하나의 비디오 프레임을 포함하는 비디오 패킷을 생성하는 과정과, 상기 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하는 과정과, 상기 비디오 프레임의 크기가 임계값을 초과하면, 상기 비디오 패킷의 경계를 지시하기 위한 더미(dummy) 전송 패킷을 송신하는 과정을 포함한다.

Description

비디오 스트리밍 방법 및 그 전자 장치{METHOD FOR VIDEO STREAMING AND AN ELECTRONIC DEVICE THEREOF}
본 발명은 비디오 스트리밍(video streaming)에 관한 것이다.
비디오 스트리밍은 디지털 비디오 기술 중 하나로서, 통신 수단을 이용하여 일방에 저장된 비디오 컨텐츠(contents)를 타방에서 재생하도록 하는 기술이다. 따라서, 상기 비디오 스트리밍 기술에 의해, 비디오 컨텐츠 데이터 전체를 저장하지 아니하더라도, 비디오 컨텐츠의 재생이 가능해진다.
비디오 스트리밍은 VOD(Video On Demand) 서비스, 화상 통화 서비스, WFD(WifiDisplay) 등 다양한 형태의 서비스에서 이용된다. 비디오 스트리밍 서비스를 제공받는 수신 장치는 비디오 데이터를 수신하며 동시에 재생한다. 이때, 끊김 없는 원활한 재생을 위해, 상기 비디오 데이터를 충분히 버퍼링(buffering)하는 것이 일반적이다. 버퍼링으로 인해, 비디오 데이터 전송에 일시적으로 중단되더라도, 버퍼링된 데이터가 모두 소모되지 아니하는 한, 수신 측에서의 비디오 재생은 끊김 없이 이루어질 수 있다.
그러나, 버퍼링의 크기가 크면 클수록, 비디오 재생의 실시간성은 떨어지게 된다. 다시 말해, 버퍼링의 크기가 크면 클수록, 송신 측에서 비디오 데이터를 송신하는 시점과, 수신 측에서 송신된 비디오를 재생하는 시점의 차이가 커진다. 제공되는 서비스가 단순히 비디오 컨텐츠의 재생에만 주력하는 경우, 실시간성은 중요한 기준이 되지 아니할 것이다. 그러나, 게임 서비스와 같이 즉각적인 반응을 요구하는 어플리케이션의 경우, 비디오 재생의 실시간성이 서비스 품질의 중요한 기준이 될 수 있다. 따라서, 비디오 스트리밍 서비스에서, 실시간성을 강화하기 위한 대안이 제시되어야 한다.
따라서, 본 발명의 일 실시 예는 비디오 스트리밍 서비스에서 실시간성을 강화하기 위한 장치 및 방법을 제공한다.
본 발명의 다른 실시 예는 비디오 스트리밍 서비스에서 비디오 데이터 전달의 시 레이턴시(Latency)를 줄이기 위한 장치 및 방법을 제공한다.
본 발명의 또 다른 실시 예는 비디오 스트리밍 서비스에서 큰 크기의 비디오 패킷의 경계(boundary)를 지시하기 위한 장치 및 방법을 제공한다.
상기 목적을 달성하기 위한 본 발명의 제1견지에 따르면, 비디오 스트리밍(video streaming)을 위한 비디오 송신 방법은, 하나의 비디오 프레임을 포함하는 비디오 패킷을 생성하는 과정과, 상기 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하는 과정과, 상기 비디오 프레임의 크기가 임계값을 초과하면, 상기 비디오 패킷의 경계를 지시하기 위한 더미(dummy) 전송 패킷을 송신하는 과정을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제2견지에 따르면, 비디오 스트리밍을 위한 비디오 송신 장치는, 하나의 비디오 프레임을 포함하는 비디오 패킷을 생성하는 제어부와, 상기 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하고, 상기 비디오 프레임의 크기가 임계값을 초과하면, 상기 비디오 패킷의 경계를 지시하기 위한 더미(dummy) 전송 패킷을 송신하는 통신부를 포함하는 것을 특징으로 한다.
비디오 스트리밍 서비스에서 큰 비디오 패킷에 이어 더미 패킷을 송신하는 것을 통해 비디오 프레임 간격으로 인한 시간 지연을 제거할 수 있고, 이에 따라, 스트리밍 서비스의 실시간성이 강화된다. 그 결과, 레이턴시(latency)에 민감한 어플리케이션 제공 시, 서비스 만족도를 향상시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 비디오 데이터 처리를 도시하는 도면,
도 2는 본 발명의 실시 예에 따른 비디오 패킷들을 도시하는 도면,
도 3은 본 발명의 실시 예에 따른 큰 크기의 비디오 패킷을 도시하는 도면,
도 4는 본 발명의 실시 예에 따른 큰 크기의 비디오 패킷의 경계(boundary)를 지시하는 방식을 도시하는 도면,
도 5는 본 발명의 실시 예에 따른 더미(dummy) 패킷의 구성 예들을 도시하는 도면,
도 6는 본 발명의 실시 예에 따른 비디오 송신 장치의 동작 절차를 도시하는 도면,
도 7는 본 발명의 실시 예에 따른 비디오 송신 장치의 블록 구성을 도시하는 도면,
도 8는 본 발명의 다른 실시 예에 따른 비디오 송신 장치의 블록 구성을 도시하는 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다.
이하 본 발명은 비디오 스트리밍 서비스에서 비디오 데이터 전달의 시 레이턴시(Latency)를 줄이기 위한 기술에 대해 설명한다.
본 발명은 MPEG2 TS(Moving Picture Experts Group-2 Transport Stream) 기반의 전송 시스템을 예로 들어 설명한다. 그러나, 본 발명이 MPEG2 TS 시스템에 제한되는 것은 아니며, 다른 규격의 스트리밍 시스템에도 동일하게 적용될 수 있다.
도 1은 본 발명의 실시 예에 따른 비디오 데이터 처리를 도시하고 있다.
상기 도 1을 참고하면, 비디오를 구성하는 각 프레임(frame)은 인코더(encoder)를 통해 ES(Elementary Stream)(112)로 인코딩되고, 상기 ES(112)에 PES(Packetized ES) 헤더(header)(114)가 부착됨으로써 PES 패킷(110)이 생성된다. 상기 ES(112)의 크기는 프레임의 종류 및 프레임에 포함된 영상에 따라 달라질 수 있다. 상기 PES 패킷(110)은 일정 크기로 분할되며, 각 분할된 부분에 TS(Transport Stream) 헤더(122)가 부탁됨으로써, TS 패킷(120)이 생성된다. 일반적으로, 상기 PES 패킷(110)이 상기 TS 패킷(120) 하나의 페이로드(payload)(124)보다 크므로, 하나의 PES 패킷(110)으로부터 다수의 TS 패킷(120)들이 생성되는 것이 일반적이다.
상기 TS 패킷들(120)은 통신 프로토콜에 따라 처리되어 수신 장치로 송신된다. 상기 도 1의 경우, 상기 TS 패킷들(120)은 RTP(Real-time Transport Protocol) 패킷(130)의 형태로 송신된다. 즉, 적어도 하나의 TS 패킷(120)들을 포함하는 페이로드(134)에 RTP 헤더(132)를 부착함으로써 상기 RTP 패킷(130)이 생성되고, 상기 RTP 패킷(130)이 상기 수신 장치로 전달된다. 이에 따라, 상기 수신 장치는 상기 RTP 패킷(130)으로부터 상기 TS 패킷들(120)을, 상기 TS 패킷들(120)로부터 상기 PES 패킷(110)을 복원하고, 비디오 컨텐츠를 재생할 수 있다.
도 2는 본 발명의 실시 예에 따른 비디오 패킷들을 도시하고 있다. 상기 도 2는 송신 측에서 생성되는 PES 패킷들을 도시한다.
알려진 바와 같이, 비디오 컨텐츠는 다수의 연속되는 정지 화상들로 구성되며, 각 정지 화상은 프레임이라 불린다. 즉, 비디오 컨텐츠는 단위 시간 내에 다수의 정지 화상들 표시함으로써 재생되는데, 30fps(frame per second), 24fps 등이 주로 사용된다. 상기 30fps의 경우, 프레임 간 시간 간격은 약 33ms이다. 즉, 33ms 마다 하나의 프레임이 출력된다.
따라서, 스트리밍 서비스의 경우, 상기 도 2에 도시된 바와 같이, 33ms 마다 PES 패킷이 전송된다. 상기 도 1에서 설명한 바와 같이, 상기 PES 패킷은 헤더 및 페이로드를 포함한다. 또한, 상기 도 2에 도시된 바와 같이, 상기 헤더는 'PES 길이(length)' 필드(202)를 포함한다. 상기 PES 길이 필드는 상기 PES 패킷의 길이를 나타내는 필드이다. 수신 장치는 상기 PES 길이 필드(202)를 통해 수신되는 PES 패킷의 길이를 판단할 수 있고, 판단된 길이에 기초하여 PES 패킷의 경계를 알 수 있다. MPEG2 규격에 따르면, 상기 PES 길이 필드(202)는 2 바이트(byte)의 크기를 가진다. 2 바이트의 크기로 인해, 상기 PES 길이 필드(202)는 0 내지 65535의 값을 표현할 수 있다.
하지만, 비디오를 재생하는 하드웨어의 성능 발달로 인해 비디오 데이터의 크기가 커지고, 이에 따라, 65535 바이트를 초과하는 크기의 PES 패킷이 발생할 수 있다. 이 경우, 상기 PES 길이 필드(202)로는 패킷의 종료 지점이 표현될 수 없으므로, TS 패킷의 헤더가 이용된다. 상기 TS 패킷의 헤더를 이용한 PES 패킷의 경계 식별은 이하 도 3과 같다.
도 3은 본 발명의 실시 예에 따른 큰 크기의 비디오 패킷을 도시하고 있다.
상기 도 3을 참고하면, PES 패킷의 크기가 65535 바이트를 초과하는 경우, PES 길이 필드(202)는 '0'으로 설정된다. 이를 통해, 수신 장치는 수신되는 PES 패킷의 길이가 상기 PES 길이 필드(202)로 표현 가능한 범위를 초과함을 판단할 수 있다. 그리고, 상기 65535 바이트를 초과하는 크기의 PES 패킷의 종료 지점은, 다음 PES 패킷의 시작 지점을 지시함으로써 표현될 수 있다.
상기 도 1에서 설명한 바와 같이, 상기 PES 패킷은 적어도 하나의 TS 패킷으로 분할된다. 이에 따라, TS 패킷들 중 하나는 PES 패킷의 시작 부분을, 다른 적어도 하나는 PES 패킷의 중간 부분을, 다른 하나는 PES 패킷의 끝 부분을 포함할 수 있다. 이때, PES 패킷의 시작 부분을 포함함을 나타내기 위해, 해당 TS 패킷의 헤더는 '1'로 설정된 PUSI(Payload Unit Start Indicator) 필드(302)를 포함한다. 따라서, 상기 PUSI 필드(302)를 이용하면, 수신 장치는 PES 패킷의 경계(boundary)를 식별할 수 있다.
다시 말해, PES 패킷의 크기가 65535 바이트를 초과하는 경우, 송신 장치는 상기 PES 패킷의 PES 길이 필드(202)를 '0'으로 설정한다. 이 경우, 수신 장치는, 다음 PES 패킷의 시작 부분을 포함하는 TS 패킷의 헤더 내의 PUSI 필드(302)를 통해 상기 PES 패킷의 경계를 식별할 수 있다.
그러나, PES 패킷의 크기가 65535 바이트를 초과하는 경우, 상기 수신 장치는 이미 상기 PES 패킷을 모두 수신하였음에도 불구하고, 다음 PES 패킷의 첫 번째 TS 패킷을 수신하기 전까지 상기 PES 패킷의 경계를 식별할 수 없다. 예를 들어, 비디오 컨텐츠가 30fps인 경우, 2개의 PES 패킷들의 전송은 33ms의 시간 간격을 가진다. 따라서, 이미 수신된 PES 패킷의 처리에는 33ms의 시간 지연이 발생하게 된다. 단위 시간 당 프레임 수가 감소하는 경우, 상기 시간 지연은 더 커진다. 따라서, 큰 크기의 PES 패킷의 경계 식별을 위한 시간 지연을 감소는, 비디오 스트리밍의 실시간성 개선을 위해 반드시 요구된다. 이에, PES 패킷의 경계 식별을 위한 시간 지연을 감소시키기 위해, 본 발명은 다음과 같은 방안을 제안한다.
도 4는 본 발명의 실시 예에 따른 큰 크기의 비디오 패킷의 경계를 지시하는 방식을 도시하고 있다.
상기 도 4를 참고하면, 제1PES 패킷(410-1)는 PES 길이 필드(412)로 표현 가능한 값을 초과하는 길이를 가진다. 이에 따라, 상기 제1PES 패킷(410-1)의 헤더 내의 상기 PES 길이 필드(412)는 '0'으로 설정된다. 따라서, 수신 장치는 상기 제1PES 패킷(410-1)의 끝 부분을 포함하는 제1TS 패킷(420-1)을 수신하더라도, 상기 제1PES 패킷(410-1)의 경계를 식별할 수 없다.
상기 제1PES 패킷(410-1)의 경계 식별을 위해, 송신 장치는 상기 제1TS 패킷(420-1)에 이어 더미 패킷(430)을 송신한다. 상기 더미 패킷(430)은 통상의 TS 패킷과 마찬가지로 헤더 및 페이로드로 구성되며, 상기 더미 패킷(430)의 헤더 내의 PUSI 필드(422)는 '1'로 설정된다. 이에 따라, 상기 수신 장치는 상기 더미 패킷(430)의 수신을 통해 상기 제1PES 패킷(410-1)의 경계를 식별할 수 있다. 상술한 바와 같이, 30fps의 경우, 상기 제1PES 패킷(410-1)의 송신으로부터 33ms 이후에 송신되는 제2PES 패킷(410-2)의 첫 번째 TS 패킷(420-2)에 앞서 상기 더미 패킷(430)이 송신됨으로써, 33ms의 시간 지연 없이 상기 제1PES 패킷의 경계가 식별될 수 있다.
상기 더미 패킷(430)은 단지 직전 PES 패킷의 경계 식별을 위한 것이므로, 상기 더미 패킷(430)의 페이로드는 오버헤드(overhead)가 된다. 따라서, 상기 더미 패킷(430)의 페이로드는 크기가 작은 것이 바람직하다. 도 5는 본 발명의 실시 예에 따른 더미 패킷의 구성 예들을 도시하고 있다. 상기 도 5에서, (a)는 페이로드로서 AUD(Access Unit Delimiter)가 포함된 실시 예를, (b)는 페이로드로서SPS(Sequence Parameter Set)가 포함된 실시 예를, (c)는 페이로드로서 PPS(Picture Parameter Set)가 포함된 실시 예를, (d)는 페이로드로서 필터 데이터(filter data)가 포함된 실시 예를, (e)는 페이로드로서 미리 정의된 약속된 시퀀스가 포함된 실시 예를 도시한다.
상기 AUD, 상기 SPS, 상기 PPS는, 상기 필터 데이터 H.264 코덱에 의한 영상 인코딩 시 NAL(Network Abstraction Layer)에서 생성되는 데이터로서, 영상의 데이터가 아닌 부수적인 정보를 포함한다. 상기 AUD는 액세스 단위의 선두를 표시하는 정보를, 상기 SPS는 프로파일, 레벨 등 시퀀스 전체의 부호화에 걸쳐있는 정보를, 상기 PPS는 픽쳐 전체의 부호화 모드(예: 엔트로피부호화 모드)에 대한 정보, 상기 필터 데이터는 형식을 맞추기 위한 의미없는 데이터를 포함한다. 상기 AUD, 상기 SPS, 상기 PPS, 상기 필터 데이터는 영상 프레임에 비해 크기가 작으며, 수신 장치에 수신되더라도 영상 재생에 영향을 주지 아니하므로, 상기 더미 패킷의 페이로드로서 이용될 수 있다. 상기 (e)에 도시된 미리 정의된 시퀀스는 더미 패킷임을 나타내는 값을 가지는 특정한 시퀀스를 의미한다. 상기 (e)의 경우, 오동작을 방지하기 위해 송신 장치 및 수신 장치 간 사전에 약속된 값이 사용되어야 한다.
상기 도 5에 도시된 AUD, SPS, PPS, 필터데이터, 미리 정의된 시퀀스는 더미 패킷의 페이로드의 예시들일 뿐이며, 상기 도 5에 도시된 실시 예들 외 다른 데이터가 상기 더미 패킷의 페이로드로서 포함될 수 있다.
이하 본 발명은 상술한 바와 같이 비디오 패킷을 송신하는 송신 장치의 동작 및 구성에 대하여 도면을 참고하여 상세히 설명한다.
도 6는 본 발명의 실시 예에 따른 비디오 송신 장치의 동작 절차를 도시하고 있다. 상기 도 6은 1개의 비디오 프레임을 송신하는 절차를 도시한다. 비디오 스트리밍 서비스 제공 시, 상기 송신 장치는 다수의 비디오 프레임들을 송신하며, 상기 도 6의 절차가 일정한 시간 간격으로 반복 수행된다.
상기 도 6을 참고하면, 상기 송신 장치는 601단계에서 비디오 패킷을 생성한다. 다시 말해, 상기 송신 장치는 비디오 데이터를 인코딩한 후, 비디오 패킷 헤더를 부착한다. 이때, 상기 비디오 패킷 헤더는 상기 비디오 패킷의 길이를 나타내는 길이 필드를 포함한다. 만일, 상기 비디오 패킷의 길이가 상기 길이 필드로 표현 가능한 범위를 벗어나는 경우, 상기 송신 장치는 상기 길이 필드를 0으로 설정한다. 상기 송신 장치는 하나의 프레임을 하나의 비디오 패킷으로 인코딩할 수 있다. 예를 들어, 상기 비디오 패킷은 PES 패킷일 수 있다.
이어, 상기 송신 장치는 603단계로 진행하여 상기 비디오 패킷으로부터 적어도 하나의 전송 패킷을 생성하고, 상기 적어도 하나의 전송 패킷을 송신한다. 구체적으로, 상기 송신 장치는 상기 비디오 패킷을 상기 전송 패킷의 페이로드 크기로 분할하고, 분할된 각 부분에 전송 패킷 헤더를 부착함으로써 적어도 하나의 전송 패킷을 생성한다. 그리고, 전송 프로토콜에 따라 상기 전송 패킷들을 가공 및 송신한다. 예를 들어, 상기 전송 패킷은 TS 패킷일 수 있다.
이어, 상기 송신 장치는 605단계로 진행하여 상기 비디오 패킷 크기가 임계값을 초과하는지 판단한다. 여기서, 상기 임계값은 상기 비디오 패킷 헤더 내의 길이 필드로 표현 가능한 최대 값이다. 즉, 상기 송신 장치는 상기 비디오 패킷이 상기 길이 필드로 표현 가능한 범위의 길이를 가지는지 판단한다. 다시 말해, 상기 송신 장치는 상기 비디오 패킷 헤더 내의 길이 필드 값이 '0'인지 여부를 판단한다.
만일, 상기 비디오 패킷 크기가 임계값을 초과하면, 상기 송신 장치는 607단계로 진행하여 새로운 비디오 패킷의 시작을 알리는 더미 전송 패킷을 생성하고, 상기 더미 전송 패킷을 송신한다. 다시 말해, 상기 송신 장치는 앞선 전송 패킷이 비디오 패킷의 경계임을 나타내는 정보를 포함하는 더미 전송 패킷을 생성 및 송신한다. 구체적으로, 상기 더미 전송 패킷의 헤더는 새로운 비디오 패킷의 시작을 알리는 지시자를 포함한다. 예를 들어, 상기 전송 패킷이 TS 패킷인 경우, 상기 더미 전송 패킷의 헤더는 1로 설정된 PUSI를 포함한다.
반면, 상기 비디오 패킷 크기가 임계값을 초과하지 아니하면, 상기 송신 장치는 본 절차를 종료한다. 상기 도 6에 도시되지 아니하였으나, 상기 송신 장치는 다음 프레임을 포함하는 비디오 패킷을 송신하기 위해 상기 도 6의 절차를 다시 수행할 수 있다.
도 7는 본 발명의 실시 예에 따른 비디오 송신 장치의 블록 구성을 도시하고 있다.
상기 도 7에 도시된 바와 같이, 상기 송신 장치는 비디오 인코더(710), 패킷화부(720), 전송패킷생성부(730), 통신부(740)를 포함한다.
상기 비디오인코더(710)는 서비스에서 정하는 비디오 압축 규격에 따라 비디오 데이터를 인코딩한다. 예를 들어, 상기 비디오인코더(710)는 H.264 규격에 따라 인코딩을 수행할 수 있다.
상기 패킷화부(720)는 인코딩된 비디오 데이터를 포함하는 비디오 패킷을 생성한다. 즉, 상기 패킷화부(720)는 상기 인코딩된 비디오 데이터에 비디오 패킷 헤더를 부착한다. 이때, 상기 비디오 패킷 헤더는 상기 비디오 패킷의 길이를 나타내는 길이 필드를 포함한다. 만일, 상기 비디오 패킷의 길이가 상기 길이 필드로 표현 가능한 범위를 벗어나는 경우, 상기 송신 장치는 상기 길이 필드를 0으로 설정한다. 예를 들어, 상기 비디오 패킷은 PES 패킷일 수 있다.
상기 전송패킷생성부(730)는 상기 패킷화부(720)에 의해 생성된 비디오 패킷으로부터 적어도 하나의 전송 패킷을 생성한다. 구체적으로, 상기 전송패킷생성부(730)는 상기 비디오 패킷을 상기 전송 패킷의 페이로드 크기로 분할하고, 분할된 각 부분에 전송 패킷 헤더를 부착함으로써 적어도 하나의 전송 패킷을 생성한다. 예를 들어, 상기 전송 패킷은 TS 패킷일 수 있다. 또한, 본 발명의 실시 예에 따라, 상기 전송패킷생성부(730)는 상기 비디오 패킷 크기가 임계값을 초과하는지 판단하고, 상기 비디오 패킷 크기가 임계값을 초과하면, 새로운 비디오 패킷의 시작을 알리는 더미 전송 패킷을 생성한다. 다시 말해, 상기 전송패킷생성부(730)는 앞선 전송 패킷이 비디오 패킷의 경계임을 나타내는 정보를 포함하는 더미 전송 패킷을 생성한다. 구체적으로, 상기 더미 전송 패킷의 헤더는 새로운 비디오 패킷의 시작을 알리는 지시자를 포함한다. 예를 들어, 상기 전송 패킷이 TS 패킷인 경우, 상기 더미 전송 패킷의 헤더는 1로 설정된 PUSI를 포함한다.
상기 통신부(740)는 상기 전송패킷생성부(730)에 의해 생성된 적어도 하나의 전송 패킷을 수신 장치로 송신한다. 상기 통신부(740)는 무선 인터페이스 또는 유선 인터페이스를 지원할 수 있다. 상기 무선 인터페이스를 지원하는 경우, 상기 통신부(740)는 모뎀, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(Digital to Analog Convertor), ADC(Analog to Digital Convertor) 등을 포함할 수 있다.
상기 도 7에 도시되지 아니하였으나, 상기 전송패킷생성부(730)에 의해 생성된 전송 패킷들을 전송 프로토콜에 따라 패킷화하는 블록이 더 포함될 수 있다. 예를 들어, 상기 전송 프로토콜로서 RTP가 사용될 수 있다. 이 경우, 다수의 전송 패킷들이 하나의 RTP 패킷의 페이로드로서 전송될 수 있다.
도 8는 본 발명의 다른 실시 예에 따른 비디오 송신 장치의 블록 구성을 도시하고 있다.
상기 도 8에 도시된 바와 같이, 상기 송신 장치는 제어부(810), 통신부(820)를 포함한다. 상기 제어부(810)는 상기 도 7의 상기 비디오인코더(710), 상기 패킷화부(720), 상기 전송패킷생성부(730)의 기능을 수행한다. 즉, 상기 제어부(810)는 적어도 하나의 프로세서(processor)를 포함하며, 상기 적어도 하나의 프로세서는 상기 비디오인코더(710), 상기 패킷화부(720), 상기 전송패킷생성부(730)의 기능을 수행하도록 코딩된 물리적 장치이거나, 또는, 비디오인코더(710), 상기 패킷화부(720), 상기 전송패킷생성부(730)의 기능을 구현하는 소프트웨어 모듈을 실행하는 장치이다. 상기 통신부(820)는 상기 제어부(810)에 의해 생성된 적어도 하나의 전송 패킷을 수신 장치로 송신하며, 무선 인터페이스 또는 유선 인터페이스를 지원할 수 있다.
상기 도 8에 도시된 본 발명의 실시 예에 따른 송신 장치는, 휴대용 전자 장치(portable electronic device)일 수 있다. 예를 들어, 상기 송신 장치는 스마트폰(smart phone), 휴대용 단말기(portable terminal), 이동 전화(mobile phone), 이동 패드(mobile pad), 미디어 플레이어(media player), 태블릿 컴퓨터(tablet computer), 핸드헬드 컴퓨터(handheld computer) 또는 PDA(Personal Digital Assistant) 중 하나일 수 있다. 또한, 상기 송신 장치는 상술한 장치들 중 둘 이상의 기능들을 결합한 장치일 수 있다. 또한, 송신 장치는 이동성이 없는 장치일 수 있다.
본 발명의 청구항 및/또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(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 (16)

  1. 비디오 스트리밍(video streaming)을 위한 비디오 송신 방법에 있어서,
    하나의 비디오 프레임을 포함하는 비디오 패킷을 생성하는 과정과,
    상기 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하는 과정과,
    상기 비디오 프레임의 크기가 임계값을 초과하면, 상기 비디오 패킷의 경계를 지시하기 위한 더미(dummy) 전송 패킷을 송신하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 더미 전송 패킷은, 새로운 비디오 패킷의 시작을 알리는 지시자를 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 비디오 패킷은, PES(Packetized Elementary Stream)패킷이고,
    상기 전송 패킷은, TS(Transport Stream) 패킷이고,
    상기 지시자는, 1로 설정된 PUSI(Payload Unit Start Indicator)인 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    프레임 간격 시간 경과 후, 다른 하나의 프레임을 포함하는 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 더미 전송 패킷은, 상기 다른 하나의 프레임을 포함하는 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하기에 앞서 송신되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 더미 전송 패킷은, 페이로드로서 AUD(Access Unit Delimiter), SPS(Sequence Parameter Set), PPS(Picture Parameter Set), 필터 데이터(filter data), 미리 정의된 시퀀스 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 비디오 패킷은, 상기 비디오 패킷의 길이를 나타내는 길이 필드를 포함하며,
    상기 길이 필드는, 상기 비디오 패킷의 길이가 상기 임계값을 초과하는 경우, '0'으로 설정되는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 임계값은, 상기 길이 필드로 표현 가능한 최대값인 것을 특징으로 하는 방법.
  9. 비디오 스트리밍(video streaming)을 위한 비디오 송신 장치에 있어서,
    하나의 비디오 프레임을 포함하는 비디오 패킷을 생성하는 제어부와,
    상기 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하고, 상기 비디오 프레임의 크기가 임계값을 초과하면, 상기 비디오 패킷의 경계를 지시하기 위한 더미(dummy) 전송 패킷을 송신하는 통신부를 포함하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 더미 전송 패킷은, 새로운 비디오 패킷의 시작을 알리는 지시자를 포함하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 비디오 패킷은, PES(Packetized Elementary Stream)패킷이고,
    상기 전송 패킷은, TS(Transport Stream) 패킷이고,
    상기 지시자는, 1로 설정된 PUSI(Payload Unit Start Indicator)인 것을 특징으로 하는 장치.
  12. 제9항에 있어서,
    상기 통신부는, 프레임 간격 시간 경과 후, 다른 하나의 프레임을 포함하는 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하는 것을 특징으로 하는 장치.
  13. 제12항에 있어서,
    상기 더미 전송 패킷은, 상기 다른 하나의 프레임을 포함하는 비디오 패킷으로부터 생성된 적어도 하나의 전송 패킷을 송신하기에 앞서 송신되는 것을 특징으로 하는 장치.
  14. 제9항에 있어서,
    상기 더미 전송 패킷은, 페이로드로서 AUD(Access Unit Delimiter), SPS(Sequence Parameter Set), PPS(Picture Parameter Set), 필터 데이터(filter data), 미리 정의된 시퀀스 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  15. 제9항에 있어서,
    상기 비디오 패킷은, 상기 비디오 패킷의 길이를 나타내는 길이 필드를 포함하며,
    상기 길이 필드는, 상기 비디오 패킷의 길이가 상기 임계값을 초과하는 경우, '0'으로 설정되는 것을 특징으로 하는 장치.
  16. 제15항에 있어서,
    상기 임계값은, 상기 길이 필드로 표현 가능한 최대값인 것을 특징으로 하는 장치.
KR1020120136920A 2012-11-29 2012-11-29 비디오 스트리밍 방법 및 그 전자 장치 KR20140070896A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120136920A KR20140070896A (ko) 2012-11-29 2012-11-29 비디오 스트리밍 방법 및 그 전자 장치
US14/091,615 US20140146836A1 (en) 2012-11-29 2013-11-27 Method for video streaming and an electronic device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120136920A KR20140070896A (ko) 2012-11-29 2012-11-29 비디오 스트리밍 방법 및 그 전자 장치

Publications (1)

Publication Number Publication Date
KR20140070896A true KR20140070896A (ko) 2014-06-11

Family

ID=50773268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120136920A KR20140070896A (ko) 2012-11-29 2012-11-29 비디오 스트리밍 방법 및 그 전자 장치

Country Status (2)

Country Link
US (1) US20140146836A1 (ko)
KR (1) KR20140070896A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150128151A (ko) * 2014-05-08 2015-11-18 삼성전자주식회사 비디오 스트리밍 방법 및 이를 지원하는 전자 장치
CN105245918B (zh) * 2015-10-10 2018-03-09 无锡天脉聚源传媒科技有限公司 一种数据封装方法及装置
US11539671B1 (en) 2021-11-17 2022-12-27 Uab 360 It Authentication scheme in a virtual private network
US11943201B2 (en) 2021-11-28 2024-03-26 Uab 360 It Authentication procedure in a virtual private network

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793927A (en) * 1995-06-07 1998-08-11 Hitachi America, Ltd. Methods for monitoring and modifying a trick play data stream to insure MPEG compliance
US6157674A (en) * 1996-03-21 2000-12-05 Sony Corporation Audio and video data transmitting apparatus, system, and method thereof
JP3402177B2 (ja) * 1998-01-26 2003-04-28 ソニー株式会社 ディジタル信号多重化装置及び方法、ディジタル信号伝送方法、ディジタル信号記録方法、並びに、記録媒体
US6909743B1 (en) * 1999-04-14 2005-06-21 Sarnoff Corporation Method for generating and processing transition streams
KR100636110B1 (ko) * 1999-10-29 2006-10-18 삼성전자주식회사 엠펙-4 송수신용 시그널링을 지원하는 단말기
JP3891755B2 (ja) * 2000-03-27 2007-03-14 沖電気工業株式会社 パケット受信装置
US6674758B2 (en) * 2002-06-06 2004-01-06 Clinton Watson Mechanism for implementing voice over IP telephony behind network firewalls
US7933411B2 (en) * 2002-06-28 2011-04-26 Trident Microsystems (Far East) Ltd. Method of constructing MPEG program streams from encrypted MPEG transport streams
JP4201590B2 (ja) * 2002-12-24 2008-12-24 パナソニック株式会社 データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体
US7499469B2 (en) * 2003-01-13 2009-03-03 Broadcom Corporation Method and system for generating digital video broadcast (DVB) transport stream from direct satellite system (DSS) transport stream
JP4078645B2 (ja) * 2003-01-21 2008-04-23 日本ビクター株式会社 撮像装置
JP2004336527A (ja) * 2003-05-09 2004-11-25 Pioneer Electronic Corp データ処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
US7606472B2 (en) * 2003-05-30 2009-10-20 Canon Kabushiki Kaisha Video stream data recording apparatus
EP1643768B1 (en) * 2003-06-30 2012-05-02 Panasonic Corporation Data processing device and data processing method
US7349428B2 (en) * 2003-06-30 2008-03-25 Broadcom Corporation Data alignment of the packetized elementary streams in the coded data buffer for dual decode
JP4162629B2 (ja) * 2004-06-01 2008-10-08 三洋電機株式会社 デコーダ装置
KR100608061B1 (ko) * 2004-07-12 2006-08-02 삼성전자주식회사 전송 스트림 생성을 위한 다중화 방법 및 그 장치
US7571246B2 (en) * 2004-07-29 2009-08-04 Microsoft Corporation Media transrating over a bandwidth-limited network
JP4717452B2 (ja) * 2005-01-31 2011-07-06 ルネサスエレクトロニクス株式会社 データ多重化装置
JP2007104081A (ja) * 2005-09-30 2007-04-19 Toshiba Corp 通信装置および通信制御方法
US7644343B2 (en) * 2006-01-17 2010-01-05 Rajugopal Gubbi Error resilience methods for multi-protocol encapsulation forward error correction implementations
WO2008000289A1 (en) * 2006-06-29 2008-01-03 Telecom Italia S.P.A. Method and apparatus for improving bandwith exploitation in real-time audio/video communications
US8031743B2 (en) * 2006-10-31 2011-10-04 Panasonic Corporation Apparatuses and method for multiplexing elementary streams based on a multiplexing pattern indicating an order of types of data to be multiplexed
JP4905060B2 (ja) * 2006-11-07 2012-03-28 富士通株式会社 受信装置およびデータ再生方法
US7688908B2 (en) * 2007-03-12 2010-03-30 Samsung Electronics Co., Ltd. System and method for processing wireless high definition video data using a shortened last codeword
US20100121974A1 (en) * 2008-11-11 2010-05-13 Einarsson Torbjoem Stepwise probing for adaptive streaming in a packet communication network
US8553582B1 (en) * 2009-01-08 2013-10-08 Marvell Israel (M.I.S.L) Ltd. Traffic spraying in a chassis-based network switch
JP5234172B2 (ja) * 2009-03-11 2013-07-10 富士通株式会社 データ送信装置、データ送信プログラムおよびデータ送受信システム
US8780744B2 (en) * 2010-01-25 2014-07-15 Qualcomm Incorporated Selective allocation of dedicated channel (DCH) resources within a wireless communications system
US8873479B2 (en) * 2010-02-05 2014-10-28 Qualcomm Incorporated Assisted state transition of a user equipment (UE) for delay sensitive applications within a wireless communications system
EP2362653A1 (en) * 2010-02-26 2011-08-31 Panasonic Corporation Transport stream packet header compression
JPWO2012111325A1 (ja) * 2011-02-17 2014-07-03 パナソニック株式会社 映像符号化装置、映像符号化方法、映像符号化プログラム、映像再生装置、映像再生方法及び映像再生プログラム

Also Published As

Publication number Publication date
US20140146836A1 (en) 2014-05-29

Similar Documents

Publication Publication Date Title
KR101868280B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
US10009630B2 (en) System and method for encoding video content using virtual intra-frames
US7870281B2 (en) Content playback device, content playback method, computer-readable storage medium, and content playback system
CN106664458B (zh) 用于发射视频数据的方法、源装置以及存储媒体
CN106686438B (zh) 一种跨设备的音频图像同步播放的方法、装置及系统
TWI364988B (en) Error filter to differentiate between reverse link and forward link video data errors
US10476928B2 (en) Network video playback method and apparatus
US20130031222A1 (en) Methods, apparatuses and computer program products for pausing video streaming content
JP2005176352A (ja) 移動通信端末機の動画像ストリーミングサービスのための無線動画像ストリーミングファイル、サービス方法及びシステム
JPWO2011004886A1 (ja) 配信システムと方法とゲートウェイ装置とプログラム
CN110662084B (zh) 一种mp4文件流直播的方法、移动终端及存储介质
KR20140070896A (ko) 비디오 스트리밍 방법 및 그 전자 장치
CN109862400B (zh) 一种流媒体传输方法、装置及其系统
CN110996122A (zh) 视频帧传输方法、装置、计算机设备及存储介质
US10085029B2 (en) Switching display devices in video telephony
KR102191878B1 (ko) 멀티미디어 시스템에서 미디어 패킷을 수신하는 방법 및 장치
JP2010011287A (ja) 映像伝送方法および端末装置
JP5488694B2 (ja) リモート型携帯通信システム、サーバ装置及びリモート型携帯通信システム制御方法
KR101251312B1 (ko) 동영상 변환 서버에서의 동영상 탐색요청 처리방법
CN112135163A (zh) 视频起播的方法以及装置
CN106534137B (zh) 媒体流传输方法及装置
WO2015153723A1 (en) A method and system for real-time cloud storage of video content
JP2004349743A (ja) 映像ストリーム切替システム、方法、映像ストリーム切替システムを含む映像監視、映像配信システム
US20140369424A1 (en) Video codec system and video stream transmission method
JP2006352784A (ja) 伝送方法、受信装置及びコンピュータプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application