KR20180057624A - 엠펙 미디어 전송을 위한 고효율 비디오 코딩 비트 스트림의 랜덤 액세스를 위한 방법 및 장치 - Google Patents

엠펙 미디어 전송을 위한 고효율 비디오 코딩 비트 스트림의 랜덤 액세스를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20180057624A
KR20180057624A KR1020187007633A KR20187007633A KR20180057624A KR 20180057624 A KR20180057624 A KR 20180057624A KR 1020187007633 A KR1020187007633 A KR 1020187007633A KR 20187007633 A KR20187007633 A KR 20187007633A KR 20180057624 A KR20180057624 A KR 20180057624A
Authority
KR
South Korea
Prior art keywords
packet
packets
memory
value
fragment
Prior art date
Application number
KR1020187007633A
Other languages
English (en)
Other versions
KR102561581B1 (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 삼성전자주식회사
Publication of KR20180057624A publication Critical patent/KR20180057624A/ko
Application granted granted Critical
Publication of KR102561581B1 publication Critical patent/KR102561581B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/70Media network packetisation
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/762Media network packet handling at the source 
    • 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/188Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/46Embedding additional information in the video signal during the compression process
    • 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
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]

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

MPEG(moving picture experts group) 미디어 전송(MPEG media transport, MMT)을 위한 고효율 비디오 코딩(high efficiency video coding, HEVC) 비트 스트림에 랜덤으로 액세스하기 위한 방법 및 장치. 방법은 디코딩 순서로 비디오에 대한 복수의 패킷들을 수신하는 과정을 포함한다. 또한, 방법은 비디오를 처리하기 시작하기 위해 표시된 패킷을 결정하는 단계, 표시된 패킷 내의 리딩 픽처들의 패킷들을 메모리로부터 제거하는 단계 및 메모리에 남아있는 패킷들을 처리하는 과정을 포함한다.

Description

엠펙 미디어 전송을 위한 고효율 비디오 코딩 비트 스트림의 랜덤 액세스를 위한 방법 및 장치
본 개시는 일반적으로 미디어 데이터 변환에 관한 것이다. 보다 구체적으로, 본 개시는 MPEG(moving picture experts group) 미디어 전송(MPEG media transport, MMT)을 위한 고효율 비디오 코딩(high efficiency video coding, HEVC) 비트 스트림의 랜덤 액세스를 위한 방법 및 장치에 관한 것이다.
MPEG(moving picture experts group) 미디어 전송(MPEG media transport, MMT)은 이기종 IP(internet protocol) 네트워크 환경들을 통해 멀티미디어 서비스를 위한 코딩된 미디어 데이터를 전달하기 위한 기술들을 규정하는 디지털 컨테이너 표준 또는 포맷이다. 전달된 코딩된 미디어 데이터는 지정된 시간에 특정 데이터 유닛의 동기화된 디코딩 및 제시를 필요로 하는 시청각 미디어 데이터 즉, 시간이 지정된 데이터 및 사용자에 의한 인터랙션 또는 서비스의 컨텍스트에 따라 임의의 시간에 디코딩되어 제시되는 다른 유형의 데이터 즉, 시간이 지정되지 않은 데이터를 모두 포함한다.
본 개시는 MPEG(moving picture experts group) 미디어 전송(MPEG media transport, MMT)을 위한 고효율 비디오 코딩(high efficiency video coding, HEVC)비트 스트림의 랜덤 액세스를 위한 방법 및 장치를 제공한다.
일 실시 예에서, MPGE(moving picture experts group) 미디어 전송(MPEG media transport, MMT)을 위한 고효율 비디오 코딩(high efficiency video coding, HEVC) 비트 스트림에 랜덤으로 액세스하기 위한 디코더가 제공된다. 디코더는 비디오에 대한 복수의 패킷들을 저장하도록 구성된 메모리 및 메모리에 작동 가능하게 연결된 처리 회로를 포함한다. 처리 회로는 디코딩 순서로 비디오에 대한 복수의 패킷들을 수신하도록 구성된다. 또한, 처리 회로는 비디오를 처리하기 시작하기 위해 프래그먼트(fragment) 패킷을 결정하고, 프래그먼트 패킷의 리딩 픽처들의 패킷들을 메모리에서 제거하고, 메모리에 남아 있는 패킷들을 처리하도록 구성된다.
다른 실시 예에서, MMT를 위한 HEVC 비트 스트림에 랜덤으로 액세스하기 위한 방법이 제공된다. 방법은 디코딩 순서로 비디오에 대한 복수의 패킷들을 수신하는 과정을 포함한다. 또한, 방법은 비디오를 처리하기 시작하기 위해 표시된 패킷을 결정하는 단계, 표시된 패킷의 리딩 픽처들의 패킷들을 메모리에서 제거하는 단계, 및 메모리에 남아 있는 패킷들을 처리하는 과정을 포함한다.
제3 실시 예에서, MMT를 위한 HEVC 비트 스트림에 랜덤으로 액세스하기 위한 서버가 제공된다. 서버는 메모리 및 메모리에 작동 가능하게 연결된 하나 이상의 프로세서를 포함한다. 하나 이상의 프로세서는 패킷이 픽처들의 그룹을 시작할 때 독립적으로 디코딩할 수 있는 비디오 프레임의 비트 스트림 전체 또는 일부를 포함하는 제1 패킷을 지시하는 프래그먼트 정보를 갖는 패킷의 헤더를 인코딩하고, 픽처들의 그룹에서 그들의 디코딩 의존성을 지시하는 비디오 프레임들의 비트 스트림 전체 또는 일부를 운반하는 패킷들 사이의 의존성을 지시하는 의존성 정보를 갖는 패킷의 헤더를 인코딩하고, 복수의 패킷들을 전송하도록 구성된다.
다른 기술적 특징들은 다음의 도면들, 설명들 및 청구 범위들로부터 당업자에게 쉽게 명백해질 수 있다.
아래의 상세 설명을 착수하기 전에, 본 특허 문서 전반에 걸쳐서 사용되는 특정 단어 및 구문들의 정의를 규정하는 것이 유리할 수 있다. 용어 "결합(couple)" 및 그 파생어들은 서로 물리적으로 접촉하든 아니든 두 개 이상의 요소 간의 직접적 또는 간접적 통신을 의미한다. 용어 "전송하다", "수신하다", "통신하다" 및 그 파생어들은 직접적 및 간접적 통신 모두를 포함한다. 용어 "포함하다(include)", "포함하다(comprise)" 및 그 파생어들은 제한없는 포함을 의미한다. 용어 "또는"은 "및/또는"을 의미하는 포함이다. 구문 "~와 관련된" 및 그 파생어들은 포함하는, ~내에 포함되는, ~와 상호 연결하는, 포함하는, ~ 내에 포함되는, ~와 또는 ~에 연결하는, ~와 또는 ~에 결합하는, ~와 통신할 수 있는, ~와 협력하는, 인터리브하는, 나란히 놓는, ~에 인접하는, ~에 또는 ~와 바인딩하는, 갖는, ~의 속성이 있는, ~에 또는 ~와 관계가 있는 등을 의미한다. 용어 "제어기"는 적어도 하나의 동작을 제어하는 장치, 시스템 또는 그 일부를 의미한다. 이러한 제어기는 하드웨어, 또는 하드웨어 및 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있다. 임의의 특정 제어기와 관련된 기능은 국부적으로든 원격으로든 중앙 집중화되거나 분산될 수 있다. 항목들의 목록과 함께 사용될 때 "~의 적어도 하나"라는 구문은 나열된 항목들 중 하나 이상의 상이한 조합들이 사용될 수도 있고, 목록에 있는 하나의 항목만이 요구될 수도 있다는 것을 의미한다. 예를 들어, "A, B 및 C 중 적어도 하나"는 다음의 조합, 즉 A, B, C, A와 B, A와 C, B와 C, 및 A와 B와 C 중 어느 하나를 포함한다.
또한, 후술되는 다양한 기능들은 각각 컴퓨터 판독 가능 프로그램 코드로부터 형성되고 컴퓨터 판독 가능 매체에 구현되는 하나 이상의 컴퓨터 프로그램에 의해 구현되거나 지원될 수 있다. 용어 "어플리케이션" 및 "프로그램"은 적합한 컴퓨터 판독 가능 프로그램 코드로 구현하기 위해 적용된 하나 이상의 컴퓨터 프로그램, 소프트웨어 구성 요소, 명령들의 세트, 절차, 펑션, 목적, 클래스, 인스턴스, 관련 데이터, 또는 그 일부를 의미한다. 구문 "컴퓨터 판독 가능 코드"는 소스 코드, 목적 코드 및 실행 가능 코드를 포함하여 모든 유형의 컴퓨터 코드를 포함한다. 구문 "컴퓨터 판독 가능 매체"는 읽기 전용 메모리(read only memory, ROM), 랜덤 액세스 메모리(random access memory, RAM), 하드 디스크 드라이브, 콤팩트 디스크(compact disc, CD), 디지털 비디오 디스크(digital video disc, DVD), 또는 모든 다른 유형의 메모리와 같이 컴퓨터에 의해 액세스될 수 있는 모든 유형의 매체를 포함한다. "비일시적" 컴퓨터 판독 가능 매체는 유선, 무선, 광학, 또는 일시적인 전기 또는 다른 신호들을 전송하는 다른 통신 링크들을 제외한다. 비일시적 컴퓨터 판독 가능 매체는 데이터를 영구적으로 저장할 수 있는 매체 및 데이터를 저장하고 재기록 가능한 광 디스크 또는 소거 가능한 메모리 장치와 같이 나중에 덮어쓸 수 있는 매체를 포함한다.
다른 특정 단어 및 구문들에 대한 정의는 본 특허 문서 전체에 걸쳐서 제공된다. 당업자들은 대부분의 경우는 아니지만, 이러한 정의들이 이러한 정의된 단어 및 구문들의 이전 및 이후 사용에 적용된다는 것을 이해해야 한다.
다양한 예들은 MPEG(moving picture experts group) 미디어 전송(MPEG media transport, MMT)가 네트워크 추상 계층(network abstraction layer, NAL) 유닛 유형 필드를 보지 않고 SAP(second audio program) 유형 2 및 SAP 유형 3의 HEVC 비트 스트림 사용을 지원할 수 있도록 하는 방법을 제공한다.
본 개시 및 그 장점들에 대한 보다 완전한 이해를 위해, 이제 첨부된 도면들과 함께 주어진 다음의 설명을 참조한다.
도 1은 본 개시의 다양한 실시 예들에 따른 예시적인 컴퓨팅 시스템을 도시한다.
도 2 및 도 3은 본 개시의 다양한 실시 예들에 따른 컴퓨팅 시스템의 예시적인 장치들을 도시한다.
도 4는 본 개시의 다양한 실시 예들에 따른 예시적인 HEVC(high efficiency video coding) 비트 스트림을 도시한다.
도 5는 본 개시의 다양한 실시 예들에 따른 예시적인 패킷 헤더 정보를 도시한다.
도 6은 본 개시의 다양한 실시 예들에 따른 HEVC 비트 스트림들에 랜덤으로 액세스하기 위한 예시적인 프로세스를 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 HEVC 비트 스트림들에 랜덤으로 액세스하기 위한 다른 예시적인 프로세스를 도시한다.
후술되는 도 1 내지 도 7 및 본 특허 문서에서 본 개시의 원리들을 설명하기 위해 사용된 다양한 실시 예들은 단지 예시를 위한 것으로 본 개시의 범위를 한정하는 것으로 해석되어서는 안된다. 본 개시의 원리들이 적절하게 배열된 무선 통신 시스템에서 구현될 수 있음을 당업자들은 이해할 것이다.
MPEG(moving picture experts group) 미디어 전송(MPEG media transport, MMT)은 원래 비트 스트림들이 SAP 유형 1을 갖는 랜덤 액세스 포인트들로 구성된다고 가정하여 설계되었다. 그러나, 현재의 MMT 표준에는 다른 제2 오디오 프로그램(second audio program, SAP) 유형들을 지원하는 규제가 없다. 또한, 고효율 비디오 코딩(high efficiency video coding, HEVC) 규격은 SAP(second audio program) 유형 2 및 SAP 유형 3을 갖는 비트 스트림의 랜덤 액세스를 위한 시스템 계층 운영에 대한 권고를 규정한다.
ISO/IEC 23008-2:2015의 하위 조항 6.6.2.3.2.4에 따르면, 미디어 처리 장치(media processing unit, MPU)에 대한 SAP 유형 2 또는 SAP 유형 3을 갖는 HEVC 비트 스트림의 사용을 지원하기 위해서는 MMTP 비트 스트림을 생성하기 위한 다음의 동작들이 MMT 서버에 의해 수행되어야 한다.
랜덤 액세스가 HEVC 비트 스트림에서 클린 랜덤 액세스(clean random access, CRA) 또는 브로큰 링크 액세스(broken link access, BLA) 픽처를 갖는 랜덤 액세스 포인트에서 발생하는 경우, 관련된 랜덤 액세스 스킵드 리딩(random access skipped leading, RASL) 픽처들은 HEVC 디코더에 공급되기 전에 HEVC 비트 스트림으로부터 폐기된다. CRA/BLA 및 RASL 픽처들의 네트워크 추상 계층(network abstraction layer, NAL) 유닛들은 HEVCConfigurationBox의 HEVCDecoderConfigurationRecord 또는 NAL 유닛 헤더(NAL unit header, NUH)에서 시그널링되는 NAL 유닛 유형(NAL unit type, NUT)에 의해 식별될 수 있다. 랜덤 액세스 포인트에서 NAL 유닛들의 NUT가 CRA인 경우, HEVC 디코더의 변수 HandleCraAsBlaFlag를 1로 설정하거나, CRA 픽처의 NAL 유닛들의 NUH를 HEVC 비트 스트림에서 NUT들의 값을 21에서 17로 변경하여 다시 작성한다. 이는 랜덤 액세스가 발생하는 경우, CRA 픽처가 HEVC 디코더에서 BLA 픽처로서 처리되어야 하기 때문이다. HEVC 디코더의 디코딩된 픽처 버퍼(decoded picture buffer, DPB)는 CRA/BLA 픽처가 디코딩되기 전에 재생된다.
도 1은 본 개시에 따른 예시적인 컴퓨팅 시스템 100을 도시한다. 도 1에 도시된 컴퓨팅 시스템 100의 실시 예는 단지 예시를 위한 것이다. 컴퓨팅 시스템 100의 다른 실시 예들이 본 개시의 범위에서 벗어나지 않고 사용될 수 있다.
도 1에 도시된 바와 같이, 시스템 100은 시스템 100의 다양한 구성 요소들 간의 통신을 용이하게 하는 네트워크 102를 포함한다. 예를 들어, 네트워크 102는 인터넷 프로토콜(internet protocol, IP) 패킷들, 프레임 릴레이 프레임들, 비동기 전송 모드(asynchronous transfer mode, ATM) 셀들, 또는 네트워크 주소들 사이의 다른 정보를 통신할 수 있다. 네트워크 102는 하나 이상의 근거리 네트워크(local area network, LAN), 도시권 네트워크(metropolitan area network, MAN), 광역 네트워크(wide area network, WAN), 인터넷과 같은 글로벌 네트워크의 전체 또는 일부, 또는 하나 이상의 위치에 있는 다른 통신 시스템 또는 시스템들을 포함할 수 있다.
네트워크 102는 적어도 하나의 서버 104와 다양한 클라이언트 장치들 106 내지 114 간의 통신을 용이하게 한다. 각각의 서버 104는 하나 이상의 클라이언트 장치에 컴퓨팅 서비스를 제공할 수 있는 모든 적합한 컴퓨팅 또는 처리 장치를 포함한다. 각각의 서버 104는 예를 들어, 하나 이상의 처리 장치, 데이터 및 명령들을 저장하는 하나 이상의 메모리, 및 네트워크 102를 통한 통신을 용이하게 하는 하나 이상의 네트워크 인터페이스를 포함할 수 있다.
각각의 클라이언트 장치들 106 내지 114는 네트워크 102를 통해 적어도 하나의 서버 또는 다른 컴퓨팅 장치(들)과 인터랙팅하는 모든 적합한 컴퓨팅 또는 처리 장치를 나타낸다. 이러한 예에서, 클라이언트 장치들 106 내지 114는 데스크톱 컴퓨터 106, 휴대 전화 또는 스마트 폰 108, 개인용 정보 단말기(personal digital assistant, PDA) 110, 랩톱 컴퓨터 112, 및 태블릿 컴퓨터 114를 포함한다. 그러나, 다른 또는 추가적인 클라이언트 장치들이 컴퓨팅 시스템 100에서 사용될 수 있다.
이러한 예에서, 일부 클라이언트 장치들 108 내지 114는 네트워크 102와 간접적으로 통신한다. 예를 들어, 클라이언트 장치들 108 내지 110은 셀룰러 기지국 또는 eNodeB들과 같은 하나 이상의 기지국 116을 통해 통신한다. 또한, 클라이언트 장치들 112 내지 114는 IEEE 802.11 무선 액세스 포인트들과 같은 하나 이상의 무선 액세스 포인트 118을 통해 통신한다. 이들은 단지 예시를 위한 것으로 각각의 클라이언트 장치는 네트워크 102와 직접적으로 통신하거나, 모든 적합한 중간 장치(들) 또는 네트워크(들)을 통해 네트워크 102와 간접적으로 통신할 수 있다는 것을 유의해야 한다.
이러한 예시적인 실시 예에서, 컴퓨팅 시스템 100은 MMT를 위한 HEVC 비트 스트림의 랜덤 액세스를 제공한다. 예를 들어, 서버 104 또는 클라이언트 장치들 108 내지 114는 MMTP 패킷의 헤더에 있는 정보에만 의존하는 SAP 유형 2 및 SAP 유형 3을 갖는 HEVC 비트 스트림의 사용을 지원하기 위해 MMT 서버 및 MMT 클라이언트들의 운영을 제공할 수 있다.
도 1은 컴퓨팅 시스템 100의 일 예를 도시하지만, 도 1에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 시스템 100은 적절한 배열로 임의의 수의 각 구성 요소를 포함할 수 있다. 일반적으로, 컴퓨팅 및 통신 시스템들은 다양한 구성으로 제공되고, 도 1이 본 개시의 범위를 임의의 특정 구성으로 제한하지는 않는다. 도 1은 본 특허 문서에 개시된 다양한 특징들이 사용될 수 있는 하나의 운영 환경을 도시하지만, 이들 특징은 다른 적합한 시스템에서 사용될 수 있다.
도 2 및 도 3은 본 개시에 따른 컴퓨팅 시스템의 예시적인 장치들을 도시한다. 특히, 도 2는 예시적인 서버 200을 도시하고, 도 3은 예시적인 클라이언트 장치 300을 도시한다. 서버 200은 도 1의 서버 104를 나타낼 수 있고, 클라이언트 장치 300은 도 1의 클라이언트 장치들 106 내지 114 중 하나 이상을 나타낼 수 있다.
도 2에 도시된 바와 같이, 서버 200은 하나 이상의 프로세서 210, 적어도 하나의 저장 장치 215, 적어도 하나의 통신 유닛 220 및 적어도 하나의 입력/출력(input/output, I/O) 유닛 225 간의 통신을 지원하는 버스 시스템 205를 포함한다.
프로세서(들) 210은 메모리 230에 로딩될 수 있는 명령들을 실행한다. 프로세서(들) 210은 적절한 배열로 적합한 개수(들) 및 유형(들)의 프로세서 또는 다른 장치들을 포함할 수 있다. 프로세서(들) 210의 예시적인 유형들은 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 필드 프로그래밍 가능 게이트 어레이, 주문형 집적 회로, 및 분리 회로를 포함한다. 프로세서(들) 210은 인증된 착용 가능 장치로 전자 장치를 잠금 해제하기 위한 동작들을 수행하도록 구성된다.
메모리 230 및 영구 저장 장치 235는 정보(예를 들어, 데이터, 프로그램 코드, 및/또는 임시적 또는 영구적인 다른 적합한 정보)의 검색을 용이하게 하고 저장할 수 있는 구조(들)을 나타내는 저장 장치들 215의 예이다. 메모리 230은 랜덤 액세스 메모리(random access memory, RAM) 또는 다른 적합한 휘발성 또는 비휘발성 저장 장치(들)을 나타낼 수 있다. 영구 저장 장치 235는 읽기 전용 메모리(read only memory, ROM), 하드 드라이브, 플래시 메모리 또는 광 디스크와 같이 데이터의 장기 저장을 지원하는 하나 이상의 구성 요소 또는 장치들을 포함할 수 있다.
통신 유닛 220은 다른 시스템 또는 장치들과의 통신을 지원한다. 예를 들어, 통신 유닛 220은 네트워크 102를 통한 통신을 용이하게 하는 무선 송수신기 또는 네트워크 인터페이스 카드를 포함할 수 있다. 통신 유닛 220은 모든 적합한 물리적 또는 무선 통신 링크(들)을 통해 통신을 지원할 수 있다.
I/O 유닛 225는 데이터의 입력 및 출력을 가능하게 한다. 예를 들어, I/O 유닛 225는 키보드, 마우스, 키패드, 터치 스크린, 또는 다른 적합한 입력 장치를 통해 사용자 입력을 위한 연결을 제공할 수 있다. 또한, I/O 유닛 225는 디스플레이, 프린터 또는 다른 적합한 출력 장치에 출력을 전송할 수 있다.
이러한 예시적인 실시 예에서, 서버 200은 보다 상세히 후술되는 바와 같이, MMT를 위한 HEVC 비트 스트림들의 랜덤 액세스를 제공하는 장치를 구현할 수 있다. 도 2는 도 1의 서버 104를 나타내는 것처럼 기술되지만, 동일하거나 유사한 구조가 클라이언트 장치들 106 내지 114의 하나 이상에서 사용될 수 있음을 유의해야 한다. 예를 들어, 랩톱 또는 데스크톱 컴퓨터는 도 2에 도시된 것과 동일하거나 유사한 구조를 가질 수 있다.
도 3에 도시된 바와 같이, 클라이언트 장치 300은 안테나 305, 무선 주파수(radio frequency, RF) 송수신기 310, 송신(TX) 처리 회로 315, 마이크로폰 320 및 수신(RX) 처리 회로 325를 포함한다. 또한, 클라이언트 장치 300은 스피커 330, 하나 이상의 프로세서 340, 입력/출력(input/output, I/O) 인터페이스(interface, IF) 345, 키패드 350, 디스플레이 355 및 메모리 360을 포함한다. 메모리 360은 기본 운영 체계(operating system, OS) 프로그램 361 및 하나 이상의 어플리케이션 362를 포함한다.
RF 송수신기 310은 시스템 내의 다른 구성 요소에 의해 전송된 수신 RF 신호를 안테나 305로부터 수신한다. RF 송수신기 310은 중간 주파수(intermediate frequency, IF) 또는 기저 대역 신호를 생성하기 위해 수신 RF 신호를 다운 컨버팅한다. IF 또는 기저 대역 신호는 기저 대역 또는 IF 신호를 필터링, 디코딩 및/또는 디지털화하여 처리된 기저 대역 신호를 생성하는 RX 처리 회로 325로 전송된다. RX 처리 회로 325는 처리된 기저 대역 신호를 (예를 들어, 음성 데이터의 경우에는) 스피커 330으로 전송하거나 (예를 들어, 웹 브라우징 데이터의 경우에는) 추가 처리를 위해 프로세서(들) 340으로 전송한다.
TX 처리 회로 315는 마이크로폰 320으로부터 아날로그 또는 디지털 음성 데이터를 수신하거나 프로세서(들) 340으로부터 (웹 데이터, 이메일 또는 인터랙티브 비디오 게임 데이터와 같은) 다른 발신 기저 대역 데이터를 수신한다. TX 처리 회로 315는 발신 기저 대역 데이터를 인코딩하고, 멀티플렉싱하고, 및/또는 디지털화하여 처리된 기저 대역 또는 IF 신호를 생성한다. RF 송수신기 310은 TX 처리 회로 315로부터 발신 처리된 기저 대역 또는 IF 신호를 수신하고, 기저 대역 또는 IF 신호를 안테나 305를 통해 전송되는 RF 신호로 업 컨버팅한다.
프로세서(들) 340은 하나 이상의 프로세서 또는 다른 처리 장치들을 포함할 수 있고, 클라이언트 장치 300의 전체 운영을 제어하기 위해 메모리 360에 저장된 기본 OS 프로그램 361을 실행할 수 있다. 예를 들어, 프로세서(들) 340은 잘 알려진 원리들에 따라 RF 송수신기 310, RX 처리 회로 325 및 TX 처리 회로 315에 의해 순방향 채널 신호들의 수신 및 역방향 채널 신호들의 송신을 제어할 수 있다. 일부 실시 예에서, 프로세서(들) 340은 적어도 하나의 마이크로프로세서 또는 마이크로제어기를 포함한다.
또한, 프로세서(들) 340은 MMT를 위한 HEVC 비트 스트림에 랜덤으로 액세스하기 위한 동작들과 같이, 메모리 360에 들어 있는 다른 프로세스 및 프로그램들을 실행할 수 있다. 프로세서(들) 340은 실행하는 프로세스가 필요로 할 때 데이터를 메모리 360 안 또는 밖으로 이동시킬 수 있다. 일부 실시 예에서, 프로세서(들) 340은 운영자 또는 외부 장치들로부터 수신된 신호들에 응답하거나 OS 프로그램 361을 기반으로 하여 어플리케이션들 362를 실행하도록 구성된다. 또한, 프로세서(들) 340은 랩톱 컴퓨터 및 핸드헬드 컴퓨터들과 같은 다른 장치들에 연결하는 능력을 클라이언트 장치 300에 제공하는 I/O 인터페이스 345에 결합된다. I/O 인터페이스 345는 이들 부속 장치와 프로세서(들) 340 간의 통신 경로이다.
또한, 프로세서(들) 340은 키패드 350 및 디스플레이 유닛 355에 결합된다. 클라이언트 장치 300의 운영자는 클라이언트 장치 300에 데이터를 입력하기 위해 키패드 350을 사용할 수 있다. 디스플레이 355는 액정 디스플레이, 또는 예를 들어 다른 웹 사이트로부터 텍스트 및/또는 적어도 제한된 그래픽들을 렌더링할 수 있는 다른 디스플레이일 수 있다.
메모리 360은 프로세서(들) 340에 결합된다. 메모리 360의 일부는 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있고, 메모리 360의 다른 일부는 플래시 메모리 또는 다른 읽기 전용 메모리(read-only memory, ROM)를 포함할 수 있다.
보다 상세히 후술되는 바와 같이, 이러한 예시적인 실시 예에서, 클라이언트 장치 300은 MMT를 위한 HEVC 비트 스트림들에 랜덤으로 액세스하고 네트워크 102를 통해 서버 104로부터 인코딩된 비디오들을 수신하는 장치를 구현한다. 도 2 및 도 3은 컴퓨팅 시스템 내의 장치들의 예를 도시하지만, 도 2 및 도 3에 대해 다양한 변경들이 이루어질 수 있다. 예를 들어, 도 2 및 도3의 다양한 구성 요소들은 결합되거나, 더 세분화되거나, 생략될 수 있고, 특정 요구에 따라 추가적인 구성 요소들이 추가될 수 있다. 특정 예로서, 프로세서(들) 340은 하나 이상의 중앙 처리 장치(central processing unit, CPU) 및 하나 이상의 그래픽 처리 장치(graphics processing unit, GPU)와 같이 복수의 프로세서들로 나뉠 수 있다. 또한, 도 3은 휴대 전화 또는 스마트 폰으로서 구성된 클라이언트 장치 300을 도시하지만, 클라이언트 장치들은 다른 유형의 모바일 장치 또는 고정 장치로서 작동하도록 구성될 수 있다. 또한, 컴퓨팅 및 통신 네트워크와 마찬가지로, 클라이언트 장치 및 서버들은 다양한 구성으로 제공될 수 있고, 도 2 및 도 3이 본 개시를 임의의 특정 클라이언트 장치 또는 서버로 제한하지는 않는다.
도 4는 본 개시의 다양한 실시 예들에 따른 예시적인 HEVC 비트 스트림 400을 도시한다.
클라이언트 장치 300과 같은 디코더에 의해 수신된 HEVC 비트 스트림 400에서, 프레임들은 독립 프레임(independent frames)들 405, 변화 프레임(change frame)들 410, 또는 비교 프레임(compare frame) 415, 비교 프레임 420, 비교 프레임 425 및 비교 프레임 430으로서 전송된다. 비트 스트림 400의 처음 프레임은 독립 프레임 405로서 전송된다. 변화 프레임들 410은 이전 프레임으로부터의 변화들로서 전송된다. 각각의 변화 프레임 410은 아주 적은 양의 레코딩된 실제 프레임으로부터의 왜곡을 포함한다. 프레임들 간의 변화들을 전송하면 전송에 필요한 데이터의 양이 감소하기 때문에 전체 전송 속도가 증가한다. 변화 프레임들 410에서의 왜곡은 변화 프레임들 410의 체인(chain)이 증가함에 따라 증가한다. 비디오에서 왜곡을 제거하기 위해, 독립 프레임 405가 주기적으로 전송되어 비디오로부터의 왜곡 손실을 리셋시킨다.
비디오의 왜곡을 더 줄이기 위해, 변화 프레임 410이 독립 프레임 405 또는 다른 변화 프레임 410 바로 다음에 오는 프레임일 필요는 없다. 시스템은 패킷 번호 16과 패킷 번호 18과 같이, 사이에 여러 개의 프레임이 있는 두 개의 프레임 간의 차이를 감지할 수 있다. 이러한 경우, 패킷 번호 17은 비교 패킷 415이다. 시스템은 독립 프레임 405 또는 이전 변화 프레임 410과 독립 프레임 405 또는 이전 변화 프레임 410 바로 다음에 오는 다음 변화 프레임 410 간의 변화들로서 비교 패킷 415 정보들을 전송한다. 시퀀스 440은 독립 프레임 405 또는 변화 프레임 410과 다른 변화 프레임들 410 사이에 복수의 비교 프레임들 415를 포함할 수 있다. 또한, 시퀀스 440은 픽처들의 그룹을 나타낼 수 있다. 프레임 425, 프레임 430 및 프레임 435는 독립 프레임 405 앞에 오기 때문에 리딩 프레임이다.
도 4에 도시된 바와 같이, 패킷 번호 18은 HEVC 시퀀스 440의 중간에 있는 독립 프레임 405이다. 패킷 12는 새로운 독립 프레임 405 이전의 마지막 변화 프레임 420으로서, 전송된 마지막 전체 프레임까지 진행하는 모든 변화 프레임들 410으로부터의 왜곡을 포함한다. 마지막 변화 프레임 420과 독립 프레임 405의 비교는 패킷 12와 패킷 14 간의 변화들이 패킷 12에 선행하는 변화 프레임들 410으로부터 발생한 왜곡을 포함할 것이라는 것을 고려하여 불필요한 왜곡을 초래한다. 따라서, 시스템은 독립 프레임 405로부터의 변화들을 선행하는 변화 프레임 425에 전송한다. 시스템은 마지막 변화 프레임 420과 선행하는 변화 프레임 425 사이의 변화 비교 프레임 435를 사용한다. 선행하는 변화 프레임 425와 독립 프레임 405 사이의 비교 프레임들 430은 선행하는 변화 프레임과 독립 프레임 405 둘 다로부터의 변화들과 함께 정상적으로 전송된다. 도 4는 하나의 비교 프레임 435만을 도시하지만, 독립 프레임 405 또는 변화 프레임 410들 사이에 프레임 수를 증가시키면 비교 레벨의 정도가 증가한다. 또한, 각각의 프레임은 복수의 패킷들 또는 서브 프레임들로 나뉠 수 있다. 복수의 패킷들 또는 서브 프레임들은 전송되어 전체 프레임들과 마찬가지로 비교된다. 시퀀스 440은 비디오를 디코딩 또는 처리하는 순서를 표시한다.
도 5는 본 개시의 다양한 실시 예들에 따른 예시적인 패킷 헤더 정보 500을 도시한다.
패킷 헤더 정보는 패킷 번호(POC) 505, 시작 지시자(R) 510, 전송 유닛(delivery unit, DU) 및 의존성 카운터(dependency counter, dep_count) 520을 포함한다. 패킷 번호는 시퀀스 440에 포함된 정보에 대한 프레임 또는 패킷을 표시한다. POC 505가 변하는 경우 시스템이 식별한다. POC 505의 변화가 감지되는 경우, 시스템은 비디오의 시작을 나타내는 R 510을 식별한다. '1'은 제1 패킷을 표시하고 '0'은 제1 패킷이 아님을 표시한다. 도 5에서, 처음 3개의 열은 모두 패킷 12의 일부이고, R 510은 '1'이 아니다. 시스템은 디코더에 의해 처리될 시퀀스로부터 패킷 12를 제거한다. 시스템은 패킷 16이 비디오의 시작을 지시하는 '1'의 R 510 값을 포함하는 것을 식별한다. 시스템은 패킷 14, 패킷 13 및 패킷 15를 포함하는 값이 0에 도달하는 다음 패킷들을 식별하기 위해 dep_count 520을 검토한다. 이들 패킷은 선행 패킷들로서 식별되고, 시퀀스 440으로부터 또한 제거된다. 패킷 18은 패킷에 대한 마지막 열에서의 0보다 큰 dep_count로 인해 제거되지 않는다. DU 515는 각 패킷에 대한 패킷 정보를 포함하는 열의 개수를 표시한다.
도 6은 본 개시의 다양한 실시 예들에 따른 HEVC 비트 스트림들에 랜덤으로 액세스하기 위한 예시적인 프로세스를 도시하고, SAP 유형 2 또는 SAP 유형 3을 갖는 HEVC 비트 스트림의 사용을 지원하기 위해, FT 필드 값이 2인, HEVC 비트 스트림의 유닉스에 대한 메타프레임(metaframe for Unix, MFU)들을 운반하는 각각의 MMTP 패킷에 대해 다음의 동작이 MMTP 디캡슐레이션 버퍼에 의해 수행되어야 한다.
동작 605에서, 시스템은 MMTP 비디오 비트 스트림을 처리하기 시작하기 위해 표시된 패킷을 식별한다. MMTP 패킷들의 movie_fragment_sequence_number 필드 값이 선행하는 MMTP 패킷들의 동일한 필드 값과 다를 때 픽처들의 그룹의 제1 패킷이 식별된다. R 필드 값이 0인 픽처의 제1 MMTP 패킷들 및 모든 후속 MMTP 패킷들은 동작 610에서 MMTP 디캡슐레이션 버퍼로부터 바로 삭제된다. R 값이 0인 것을 포함하는 제1 프레임을 갖는 픽처들의 패킷들은 디코더 버퍼에 전달되지 않는다. 처리될 초기 픽처인, R 필드 값은 1이지만 movie_fragment_sequence_number 필드 값은 이전에 수신된 MMTP 패킷의 동일한 필드 값과 동일한 MMTP 패킷들은 동작 615에 수신된다.
동작 615에서, R 필드 값이 1인 MMTP 패킷들이 동작 605에서 기술한 바와 같이 먼저 수신되는 경우, 동일한 AU(access unit)에 속하는 MFU들을 운반하는 이러한 MMTP 패킷 및 모든 후속 MMTP 패킷들은 MMTP 디캡슐레이션 버퍼에 의해 처리되어 디코더 버퍼에 전달된다.
동작 620에서, 시스템은 픽처들의 그룹 내의 모든 리딩 프레임들을 식별한다. 동작 615에서 기술한 바와 같이 처리되는 R 필드 값이 1인 MMTP 패킷들을 수신한 후에, movie_fragment_sequence_number 필드 값은 동작 615에서 기술한 MMTP 패킷들의 동일한 필드의 값과 동일하지만, sample_number 필드 값은 동작 615에서 기술한 MMTP 패킷들의 동일한 필드의 값보다 작은 MFU들을 운반하는 모든 후속 MMTP 패킷들은 동작 625에서 MMTP 디캡슐레이션 버퍼로부터 바로 삭제되고, 이들은 movie_fragment_sequence_number 필드 값은 동작 615에서 기술한 MMTP 패킷들의 동일한 필드의 값과 동일하지만 sample_number 필드 값은 동작 615에서 기술한 MMTP 패킷들의 동일한 필드의 값보다 큰 MMTP 패킷이 동작 630에서 수신될 때까지 디코더 버퍼에 전달되지 않는다.
도 7은 본 개시의 다양한 실시 예들에 따른 HEVC 비트 스트림들에 랜덤으로 액세스하기 위한 다른 예시적인 프로세스를 도시한다. SAP 유형 2 또는 SAP 유형 3을 갖는 HEVC 비트 스트림의 사용을 지원하기 위해, FT 필드 값이 2인, HEVC 비트 스트림의 MFU들을 운반하는 각각의 MMTP 패킷들에 대해 다음의 동작이 MMTP 디캡슐레이션 버퍼에 의해 수행된다.
동작 705에서, 디코더는 MMTP 패킷들의 시퀀스를 수신한다. 동작 710에서, movie_fragment_sequence_number 필드의 값이 선행하는 MMTP 패킷들의 동일한 필드의 값과 상이한 MMTP 패킷들이 먼저 수신되는 경우, 디코더는 R 필드 값이 '0'인 MMTP 패킷들 및 모든 후속 MMTP 패킷들을 MMTP 디캡슐레이션 버퍼로부터 삭제한다. movie_fragment_sequence_number 필드의 값은 이전에 수신된 MMTP 패킷의 동일한 필드의 값과 동일하지만 R 필드 값은 1인 MMTP 패킷들이 수신될 때까지 MMTP 패킷들은 디코더 버퍼에 전달되지 않는다.
동작 715에서, R 필드 값이 1인 MMTP 패킷이 동작 705에서 기술한 바와 같이 수신되는 경우, 동일한 AU에 속하는 MFU들을 운반하는 수신된 MMTP 패킷 및 모든 후속 MMTP 패킷들은 MMTP 디캡슐레이션 버퍼에 의해 처리되어 디코더 버퍼에 전달된다.
동작 720에서는, 동작 710에서 기술한 바와 같이 처리되는 R 필드 값이 '1'인 MMTP 패킷을 수신한 후에 movie_fragment_sequence_number 필드의 값이 동작 710에서 기술한 MMTP 패킷의 동일한 필드의 값과 동일한 MFU들을 운반하는 모든 후속 MMTP 패킷들이 MMTP 디캡슐레이션 버퍼로부터 바로 삭제되고, 동작 715에서 기술한 바와 같이 dep_counter 필드의 값은 0이지만, movie_fragment_sequence_number 필드의 값을 갖는 MMTP 패킷이 동작 710에서 기술한 MMTP 패킷들의 동일한 필드의 값과 동일할 때까지 디코더 버퍼에 전달되지 않고, movie_fragment_sequence_number 필드의 값이 동작 715에서 기술한 MMTP 패킷들의 동일한 필드의 값과 동일한 MFU들을 운반하는 모든 후속 MMTP 패킷들에 대해 다음 동작이 적용된다.
MMTP 패킷의 f_i 필드 값이 '00'인 경우, dep_counter 필드 값이 '0'인 이러한 MMTP 패킷의 모든 데이터 유닛은 MMTP 디캡슐레이션 버퍼로부터 바로 삭제되고, dep_counter 필드 값이 '0'이 아닌 데이터 유닛이 발견될 때까지 디코더에 전달되지 않는다.
MMTP 패킷의 f_i 필드 값이 '00'이 아닌 경우, 이러한 MMTP 패킷 및 모든 후속 MMTP 패킷들은 MMTP 디캡슐레이션 버퍼에 저장되고, f_i 필드 값이 '11'인 MMTP 패킷이 수신될 때까지 처리되지 않는다. f_i 필드 값은 '11'이고 dep_counter 필드 값은 '0'인 MMTP 패킷들이 수신되는 경우, movie_fragment_sequence_number 필드 값 및 sample_number 필드 값이 이러한 패킷과 동일한 MMTP 디캡슐레이션 버퍼에 저장된 모든 패킷들은 MMTP 디캡슐레이션 버퍼로부터 바로 삭제되고 디코더 버퍼에 전달되지 않는다.
MMTP 패킷의 f_i 필드 값이 '00'이 아닌 경우, 이러한 MMTP 패킷 및 모든 후속 MMTP 패킷들은 MMTP 디캡슐레이션 버퍼에 저장되고, f_i 필드 값이 '11'인 MMTP 패킷이 수신될 때까지 처리되지 않는다. f_i 필드 값이 '11'인 MMTP 패킷들이 '0'이 아닌 dep_counter 필드 값과 함께 수신되는 경우, 이러한 패킷과 동일한 sample_number 필드 값 및 movie_fragment_sequence_number 필드 값을 갖는 MMTP 디캡슐레이션 버퍼에 저장된 모든 패킷들은 MMTP 디캡슐레이션 버퍼에 의해 처리되어 디코더 버퍼에 전달된다.
본 출원의 설명 중 어느 것도 특정 요소, 단계 또는 기능이 청구 범위에 포함되어야 하는 필수 요소임을 암시하는 것으로 해석되어서는 안된다. 특허 내용의 범위는 청구 범위에 의해서만 정의된다.

Claims (15)

  1. MPEG(moving picture experts group) 미디어 전송(MPEG media transport, MMT)을 위한 고효율 비디오 코딩(high efficiency video coding, HEVC) 비트 스트림에 랜덤으로 액세스하기 위한 방법에 있어서,
    디코딩 순서로 비디오에 대한 복수의 패킷들을 수신하는 과정과,
    상기 비디오를 처리하기 시작하기 위해 표시된(marked) 패킷을 결정하는 과정과,
    상기 표시된 패킷 내의 리딩(leading) 픽처(picture)들의 패킷들을 메모리로부터 제거하는 과정과,
    상기 메모리에 남아 있는 패킷들을 처리하는 과정을 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 비디오를 처리를 시작하기 위한 프래그먼트(fragment)를 결정하는 과정은,
    상기 복수의 패킷들 각각에 대해, 패킷의 movie_fragment_sequence_number 값이 선행(preceding) 패킷의 movie_fragment_sequence_number 값과 다른지 여부를 결정하는 과정과,
    상기 패킷의 movie_fragment_sequence_number 값이 상기 선행 패킷의 movie_fragment_sequence_number 값과 동일한 경우, 제거하는 과정을 포함하는 방법.
  3. 청구항 2에 있어서,
    상기 패킷의 movie_fragment_sequence_number 값이 상기 선행 패킷의 movie_fragment_sequence_number 값과 동일하지 아니한 경우, 제1 패킷의 R 필드 값이 '1'이 아닌지 여부를 결정하는 과정을 더 포함하는 방법.
  4. 청구항 3에 있어서,
    R 필드 값이 '1'인 패킷이 수신될 때까지 패킷들을 제거하는 과정과,
    R 필드 값이 '1'인 상기 패킷들을 처리하는 과정과,
    이 패킷을 포함하여 dep_counter 필드 값이 '0'인 패킷들을 제거하는 과정을 더 포함하는 방법.
  5. 청구항 4에 있어서,
    이 패킷을 포함하여 f_i 필드 값이 '00'이고 dep_counter 필드가 '0'인 패킷들이 발견될 때까지 패킷들을 제거하는 과정을 더 포함하는 방법.
  6. 청구항 5에 있어서,
    이 패킷을 포함하여 f_i 필드 값이 '11'이고 dep_counter 필드가 '0'인 패킷들이 발견될 때까지 패킷들을 제거하는 과정을 더 포함하는 방법.
  7. 청구항 5에 있어서,
    동일한 비디오 프레임을 포함하고 f_i 필드 값이 '11'이고 dep_counter 필드가 '0'이 아닌 패킷일 경우, 단일 비디오 프레임의 일부를 포함하는 패킷들을 처리하는 과정을 더 포함하는 방법.
  8. 서버의 동작 방법에 있어서,
    복수의 패킷들에 대해, 패킷이 픽처들의 그룹을 시작할 때 독립적으로 디코딩할 수 있는 비디오 프레임의 비트 스트림 전체 또는 일부를 포함하는 제1 패킷을 지시하는 프래그먼트(fragment) 정보를 갖는 패킷의 헤더를 인코딩하는 과정과,
    상기 복수의 패킷들에 대해, 픽처들의 그룹에서 그들의 디코딩 의존성(dependency)을 지시하는 비디오 프레임들의 비트 스트림 전체 또는 일부를 운반하는 패킷들 간의 의존성을 지시하는 의존성 정보를 갖는 패킷의 헤더를 인코딩하는 과정과,
    디코딩 순서로 상기 복수의 패킷들을 전송하는 과정을 포함하는 방법.
  9. 청구항 8에 있어서,
    리딩 픽처들을 지시하는 의존성 정보를 갖는 패킷의 헤더를 인코딩하는 과정은,
    페이로드가 완전한 전달 유닛이고 의존 패킷들을 표시하지 않는 의존성 카운터임을 지시하는 프래그먼트화(fragmentation) 지시자들을 갖는 패킷들의 헤더를 인코딩하는 과정을 포함하는 방법.
  10. 청구항 8에 있어서,
    리딩 픽처들을 지시하는 의존성 정보를 갖는 패킷의 헤더를 인코딩하는 과정은,
    부분 페이로드들을 지시하는 프래그먼트화 지시자들을 갖는 공통 샘플 번호를 갖는 그룹들 내의 패킷들의 헤더를 인코딩하는 과정과,
    최종 부분 페이로드를 지시하는 프래그먼트화 지시자 및 의존 패킷들을 표시하지 않는 의존성 카운터를 갖는 그룹 내의 최종 패킷을 인코딩하는 과정을 포함하는 방법.
  11. 청구항 8에 있어서,
    의존 패킷들을 지시하는 의존성 카운터 및 최종 부분 페이로드를 지시하는 프래그먼트화 지시자를 갖는 그룹 내의 최종 패킷 및 부분 페이로드들을 지시하는 프래그먼트화 지시자들을 갖는 공통 샘플 번호를 갖는 메모리에 남아 있는 그룹들 내의 패킷들의 헤더를 인코딩하는 과정을 더 포함하는 방법.
  12. 청구항 8에 있어서, 제1 패킷은 "1"의 R 필드 값으로 인코딩되는 방법.
  13. 청구항 8에 있어서,
    처리될 패킷들은 f_i 필드 값은 "11"이고 dep_counter 필드는 '0'이 아닌 것으로 인코딩되는 방법.
  14. MPEG(moving picture experts group) 미디어 전송(MPEG media transport, MMT)을 위한 고효율 비디오 코딩(high efficiency video coding, HEVC) 비트 스트림에 랜덤으로 액세스하기 위한 장치에 있어서,
    메모리와,
    상기 메모리에 동작적으로 결합된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는 청구항 1 내지 7 중 한 항의 동작을 실시하도록 구성되는 장치.
  15. 서버 장치에 있어서,
    메모리와,
    상기 메모리에 동작적으로 결합된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는, 청구항 8 내지 13 중 한 항의 동작을 실시하도록 구성되는 장치.
KR1020187007633A 2015-10-19 2016-10-18 엠펙 미디어 전송을 위한 고효율 비디오 코딩 비트 스트림의 랜덤 액세스를 위한 방법 및 장치 KR102561581B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562243203P 2015-10-19 2015-10-19
US62/243,203 2015-10-19
US201562244936P 2015-10-22 2015-10-22
US62/244,936 2015-10-22
US15/013,847 2016-02-02
US15/013,847 US10116576B2 (en) 2015-10-19 2016-02-02 Methods and apparatus for random access of HEVC bitstream for MMT
PCT/KR2016/011689 WO2017069486A1 (en) 2015-10-19 2016-10-18 Methods and apparatus for random access of hevc bitstream for mmt

Publications (2)

Publication Number Publication Date
KR20180057624A true KR20180057624A (ko) 2018-05-30
KR102561581B1 KR102561581B1 (ko) 2023-07-31

Family

ID=58526186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187007633A KR102561581B1 (ko) 2015-10-19 2016-10-18 엠펙 미디어 전송을 위한 고효율 비디오 코딩 비트 스트림의 랜덤 액세스를 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US10116576B2 (ko)
EP (1) EP3342168B1 (ko)
KR (1) KR102561581B1 (ko)
CN (1) CN108141618B (ko)
WO (1) WO2017069486A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10085051B2 (en) * 2015-02-13 2018-09-25 Samsung Electronics Co., Ltd. Method and apparatus for converting MMTP stream to MPEG-2TS
JP6215898B2 (ja) * 2015-11-16 2017-10-18 株式会社Pfu 映像処理装置、映像処理システム、および、映像処理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140161181A1 (en) * 2012-09-28 2014-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Decoding and encoding of pictures of a video sequence

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8501471B2 (en) 2000-10-18 2013-08-06 Sloan-Kettering Institute For Cancer Research Uses of monoclonal antibody 8H9
US7218635B2 (en) * 2001-08-31 2007-05-15 Stmicroelectronics, Inc. Apparatus and method for indexing MPEG video data to perform special mode playback in a digital video recorder and indexed signal associated therewith
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US8605779B2 (en) * 2007-06-20 2013-12-10 Microsoft Corporation Mechanisms to conceal real time video artifacts caused by frame loss
US9380091B2 (en) 2012-06-12 2016-06-28 Wi-Lan Labs, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
EP2362654A1 (en) 2010-02-26 2011-08-31 Panasonic Corporation Short baseband frame headers
US9264717B2 (en) 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
KR102420153B1 (ko) * 2012-04-23 2022-07-12 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
US20150139338A1 (en) * 2012-05-03 2015-05-21 Telefonaktiebolaget L M Ericsson (Publ) Identifying Leading Pictures in Video Coding
US9225978B2 (en) * 2012-06-28 2015-12-29 Qualcomm Incorporated Streaming adaption based on clean random access (CRA) pictures
US9591303B2 (en) * 2012-06-28 2017-03-07 Qualcomm Incorporated Random access and signaling of long-term reference pictures in video coding
US10062416B2 (en) * 2012-07-10 2018-08-28 Sony Corporation Image decoding device, and image decoding method, image encoding device, and image encoding method
US9374583B2 (en) * 2012-09-20 2016-06-21 Qualcomm Incorporated Video coding with improved random access point picture behaviors
US10356143B2 (en) 2012-10-10 2019-07-16 Samsung Electronics Co., Ltd. Method and apparatus for media data delivery control
US9967302B2 (en) 2012-11-14 2018-05-08 Samsung Electronics Co., Ltd. Method and system for complexity adaptive streaming
US11290510B2 (en) 2012-11-29 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files
US9661341B2 (en) 2013-01-07 2017-05-23 Microsoft Technology Licensing, Llc Syntax and semantics for buffering information to simplify video splicing
KR101484843B1 (ko) 2013-04-19 2015-01-20 삼성전자주식회사 멀티미디어 전송 시스템에서 미디어 전송 패킷 전송 방법 및 장치
US20150032845A1 (en) 2013-07-26 2015-01-29 Samsung Electronics Co., Ltd. Packet transmission protocol supporting downloading and streaming
CN104754341B (zh) * 2013-12-31 2019-02-26 华为技术有限公司 一种视频数据编码、解码的方法和装置
US10887651B2 (en) 2014-03-31 2021-01-05 Samsung Electronics Co., Ltd. Signaling and operation of an MMTP de-capsulation buffer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140161181A1 (en) * 2012-09-28 2014-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Decoding and encoding of pictures of a video sequence

Also Published As

Publication number Publication date
CN108141618B (zh) 2021-09-28
WO2017069486A1 (en) 2017-04-27
EP3342168A4 (en) 2018-10-10
KR102561581B1 (ko) 2023-07-31
CN108141618A (zh) 2018-06-08
EP3342168A1 (en) 2018-07-04
EP3342168B1 (en) 2022-08-10
US20170111285A1 (en) 2017-04-20
US10116576B2 (en) 2018-10-30

Similar Documents

Publication Publication Date Title
KR102249788B1 (ko) Mmt 및 dash를 이용한 브로드캐스트 및 브로드밴드 하이브리드 서비스
KR102471088B1 (ko) Mmtp 스트림을 mpeg-2 ts로 변환하는 방법 및 장치
JP6744459B2 (ja) メディアデータに関する情報を送信するための装置
CN109076025B (zh) 用于管理数据去除的方法和装置
US10976986B2 (en) System and method for forwarding an application user interface
JP2009506456A (ja) 任意のフォーマットにおけるラージオブジェクトの通信のためのリモートプロトコルサポート
US11843812B2 (en) High-speed real-time data transmission method and apparatus, device, and storage medium
US10917477B2 (en) Method and apparatus for MMT integration in CDN
KR102561581B1 (ko) 엠펙 미디어 전송을 위한 고효율 비디오 코딩 비트 스트림의 랜덤 액세스를 위한 방법 및 장치
JP6872538B2 (ja) メディア伝送システムにおけるビデオビットストリームのランダムアクセス及び再生方法
CN109151570A (zh) 一种基于html5的流媒体处理方法、系统及相关组件
US20150201253A1 (en) Methods and apparatus for universal presentation timeline alignment
JP2007049557A (ja) ビデオサーバ及びデータ転送方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant