KR20240052832A - 비디오 처리 방법, 장치 및 매체 - Google Patents

비디오 처리 방법, 장치 및 매체 Download PDF

Info

Publication number
KR20240052832A
KR20240052832A KR1020247011049A KR20247011049A KR20240052832A KR 20240052832 A KR20240052832 A KR 20240052832A KR 1020247011049 A KR1020247011049 A KR 1020247011049A KR 20247011049 A KR20247011049 A KR 20247011049A KR 20240052832 A KR20240052832 A KR 20240052832A
Authority
KR
South Korea
Prior art keywords
video
representation
esr
descriptor
data
Prior art date
Application number
KR1020247011049A
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 바이트댄스 아이엔씨
Publication of KR20240052832A publication Critical patent/KR20240052832A/ko

Links

Classifications

    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8405Generation or processing of descriptive data, e.g. content descriptors represented by keywords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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
    • 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

Landscapes

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

Abstract

본 개시의 실시예는 비디오 처리를 위한 솔루션을 제공한다. 비디오 처리 방법을 제안한다. 방법은 제1 디바이스에서, 제2 디바이스로부터 메타데이터 파일을 수신하는 단계; 및 상기 메타데이터 파일 중 데이터 세트 중의 디스크립터를 결정하는 단계를 포함하되, 상기 디스크립터의 존재는 상기 데이터 세트 중의 표현이 외부 스트림 표현(ESR)임을 지시하는 비디오 처리 방법이다.

Description

비디오 처리 방법, 장치 및 매체
관련 출원의 교차 인용
본 출원은 2021년 10월 1일에 출원된 미국 임시 출원 No.63/251,336의 이익을 요구하며, 본 출원의 내용은 인용을 통해 이에 통합됩니다.
[기술분야]
본 개시의 실시예는 일반적으로 비디오 코딩 기술에 관한 것이며, 특히 외부 스트림 표현 디스크립터(discriptor)에 관한 것이다.
미디어 스트리밍 애플리케이션은 전형적으로 인터넷 프로토콜(Internet Protocol, IP), 전송 제어 프로토콜(Transmission Control Protocol, TCP) 및 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol, HTTP) 전송 방법을 기반으로 하며, 전형적으로 ISO 기본 미디어 파일 형식(ISOBMFF)과 같은 파일 형식에 의존한다. 그러한 스트리밍 시스템 중 하나가 HTTP를 통한 동적 적응형 스트리밍(DASH)이다. DASH에는 멀티미디어 콘텐츠의 비디오 및/또는 오디오 데이터에 대한 여러 표현이 있을 수 있으며, 서로 다른 표현은 서로 다른 코딩 특성(예: 서로 다른 비디오 코딩 표준의 프로파일 또는 레벨, 서로 다른 비트율, 서로 다른 공간 해상도 등)에 대응될 수 있다. 더욱이, 확장된 의존형 랜덤 액세스 포인트(EDRAP) 픽처 기반의 비디오 코딩 및 스트리밍이 제안된다. 따라서 외부 스트림 표현을 식별하는 메커니즘에 대해 연구할 가치가 있다.
본 개시 내용의 실시예는 비디오 처리를 위한 솔루션을 제공한다.
첫 번째 측면에서는 비디오 처리 방법이 제안된다. 방법은 제1 디바이스에서 제2 디바이스로부터 메타데이터 파일을 수신하는 단계; 및 상기 메타데이터 파일 중 데이터 세트 중의 디스크립터를 결정하는 단계를 포함하되, 상기 디스크립터의 존재는 상기 데이터 세트 중의 표현이 외부 스트림 표현(ESR)임을 지시한다.
본 개시의 첫 번째 측면에 따른 방법에 기초하여, ESR을 식별하기 위해 디스크립터가 사용된다. ESR을 식별하기 위해 속성(attribute)을 활용하는 기존 솔루션과 비교하여, 제안된 방법은 ESR을 보다 효율적으로 식별할 수 있다는 장점이 있다.
두 번째 측면에서는 또 다른 비디오 처리 방법이 제안된다. 방법은 제2 디바이스에서, 메타데이터 파일 중 데이터 세트 중의 디스크립터를 결정하는 단계로서, 상기 디스크립터의 존재는 상기 데이터 세트 중의 표현이 ESR임을 지시하는 단계; 및 상기 메타데이터 파일을 제1 디바이스로 전송하는 단계를 포함한다.
본 개시의 두 번째 측면에 따른 방법에 기초하여, ESR을 식별하기 위해 디스크립터가 사용된다. ESR을 식별하기 위해 속성을 활용하는 기존 솔루션과 비교하여, 제안된 방법은 ESR을 보다 효율적으로 식별할 수 있다는 장점이 있다.
세 번째 측면에서는 비디오 데이터를 처리하는 장치가 제안된다. 비디오 데이터를 처리하는 장치는 프로세서 및 명령어를 갖는 비일시적 메모리를 포함한다. 상기 명령어는 프로세서에 의해 실행될 때 프로세서로 하여금 본 개시의 첫 번째 또는 두 번째 측면에 따른 방법을 수행하도록 한다.
네 번째 측면에서는 비일시적 컴퓨터 판독가능 저장 매체가 제안된다. 상기 비일시적 컴퓨터 판독가능 저장 매체는 프로세서로 하여금 본 개시의 첫 번째 또는 두 번째 측면에 따른 방법을 수행하도록 하는 명령어를 저장한다.
본 발명의 상세한 설명 부분에서는 아래의 발명의 실시를 위한 형태 부분에서 추가로 설명되는 단순화된 형태로 개념 선택을 소개하기 위해 제공된다. 본 발명의 상세한 설명 부분은 청구된 주제의 주요 특징이나 필수적인 특징을 식별하기 위한 것이 아니며 청구된 주제의 범위를 제한하는 데 사용하려는 의도도 없다.
첨부된 도면을 참조한 이하의 상세한 설명을 통해, 본 개시의 예시적인 실시예의 상기 목적 및 기타 목적, 특징 및 장점이 더욱 명백해질 것이다. 본 개시의 실시예에서, 동일한 참조번호는 통상적으로 동일한 구성요소를 지칭한다;
도 1은 본 개시의 일부 실시예에 따른 예시적인 비디오 코딩 시스템의 블록도를 나타낸다;
도 2는 본 개시의 일부 실시예에 따른 예시적인 비디오 인코더의 블록도를 나타낸다;
도 3은 본 개시의 일부 실시예에 따른 예시적인 비디오 디코더의 블록도를 나타낸다;
도 4 및 도 5는 랜덤 액세스 포인트(random access point, RAP)의 개념을 나타낸다;
도 6 및 도 7은 의존형 랜덤 액세스 포인트(dependent random access point, DRAP)의 개념을 나타낸다;
도 8 및 도 9는 확장된 의존형 랜덤 액세스 포인트(extended dependent random access point, EDRAP)의 개념을 나타낸다;
도 10 및 도 11은 EDRAP 기반 비디오 스트리밍을 나타낸다;
도 12는 본 개시의 일부 실시예에 따른 비디오 처리 방법의 흐름도를 나타낸다;
도 13은 본 개시의 일부 실시예에 따른 비디오 처리 방법의 흐름도를 나타낸다; 및
도 14는 본 개시의 다양한 실시예가 구현될 수 있는 컴퓨팅 디바이스의 블록도를 나타낸다.
도면 전체에 걸쳐 동일 또는 유사한 참조번호는 통상적으로 동일 또는 유사한 구성요소를 지칭한다.
본 개시의 원리는 이제 일부 실시예를 참조하여 설명될 것이다. 이들 실시예는 예시의 목적으로만 설명되었으며, 본 기술 분야의 통상의 지식을 가진 자가 본 개시를 이해하고 구현하는 데 도움을 준다는 것일 뿐, 본 개시의 범위에 대한 어떠한 제한도 제시하지 않는 것을 이해해야 한다. 본 문에서 설명되는 개시는 아래에서 설명되는 것 외에도 다양한 방식으로 구현될 수 있다.
다음 설명 및 청구범위에서 달리 정의되지 않는 한, 본 문에 사용된 모든 기술 및 과학 용어는 본 개시가 속하는 기술 분야 통상의 지식을 가진 자에 의해 공통으로 이해되는 것과 동일한 의미를 갖는다.
본 개시에서 "일 실시예", "실시예", "예시적인 실시예" 등의 언급은 설명된 실시예가 특정한 특징, 구조 또는 특성을 포함할 수 있지만 모든 실시예가 상기 특정한 특징, 구조 또는 특성을 포함할 필요는 없음을 나타낸다. 또한, 이러한 문구는 반드시 동일한 실시예를 언급하는 것은 아니다. 또한, 특정한 특징, 구조 또는 특성이 예시적인 실시예와 관련하여 설명될 때, 명시적으로 설명되었는지와 무관하게, 다른 실시예와 관련하여 그러한 특징, 구조 또는 특성에 영향을 미치는 것은 본 분야의 통상의 지식을 가진 자의 지식에 포함되었을 것이다.
본 문에서는 "제1" 및 "제2" 등의 용어가 다양한 요소를 설명하기 위해 사용될 수 있지만, 이러한 요소가 이러한 용어에 의해 제한되어서는 안 된다는 것이 이해되어야 한다. 이러한 용어는 한 요소를 다른 요소와 구별하는 데에만 사용된다. 예를 들어, 예시 실시예의 권리 범위를 벗어나지 않으면서 제1 요소는 제2 요소로 명명될 수 있고, 유사하게 제2 요소도 제1 요소로 명명될 수 있다. 본 문에 사용된 바와 같이, 용어 "및/또는"은 나열된 용어 중 하나 이상의 임의의 조합 및 모든 조합을 포함한다.
본 문에서 사용된 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 본 문에서 사용된 단수형 "한(a)", "하나(an)" 및 "당해(the)"는 문맥상 명백하게 달리 나타내지 않는 한 복수형도 포함하도록 의도된다. 본 문에서 사용되는 용어 "포함하다", "포함하는", "가지다", "가지는", "포괄하다" 및/또는 "포괄하는"은 기술된 특징, 요소 및/또는 구성요소 등의 존재를 특정한다는 것이 이해될 것이다. 그러나 하나 이상의 다른 특징, 요소, 구성요소 및/또는 이들의 조합의 존재 또는 추가를 배제하지 않는다.
예시 환경
도 1은 본 개시의 기술을 활용할 수 있는 예시적인 비디오 코딩 시스템(100)을 나타내는 블록도이다. 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 디바이스(110) 및 목적지 디바이스(120)를 포함할 수 있다. 소스 디바이스(110)는 비디오 인코딩 디바이스라고 지칭될 수도 있고, 목적 디바이스(120)는 비디오 디코딩 디바이스라고도 지칭될 수 있다. 동작 시, 소스 디바이스(110)는 인코딩된 비디오 데이터를 생성하도록 구성될 수 있고, 목적지 디바이스(120)는 소스 디바이스(110)에 의해 생성된 인코딩된 비디오 데이터를 디코딩하도록 구성될 수 있다. 소스 디바이스(110)는 비디오 소스(112), 비디오 인코더(114) 및 입출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는 비디오 캡처 디바이스와 같은 소스를 포함할 수 있다. 비디오 캡처 디바이스의 예로는 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하기 위한 인터페이스, 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템 및/또는 이들의 조합을 포함하지만 이에 제한되지는 않는다.
비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비디오 소스(112)로부터의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트 시퀀스를 포함할 수 있다. 비트스트림은 코딩된 픽처와 관련 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 관련 데이터에는 시퀀스 파라미터 세트, 픽처 파라미터 세트 및 기타 신택스 구조가 포함될 수 있다. I/O 인터페이스(116)는 변조기/복조기 및/또는 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크(130A)를 통해 I/O 인터페이스(116)를 통해 목적지 디바이스(120)에 직접 전송될 수 있다. 인코딩된 비디오 데이터는 또한 목적지 디바이스(120)에 의한 액세스를 위해 저장 매체/서버(130B)에 저장될 수 있다.
목적지 디바이스(120)는 I/O 인터페이스(126), 비디오 디코더(124) 및 디스플레이 디바이스(122)를 포함할 수 있다. I/O 인터페이스(126)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 디바이스(110) 또는 저장 매체/서버(130B)로부터 인코딩된 비디오 데이터를 획득할 수 있다. 비디오 디코더(124)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 디바이스(122)는 디코딩된 비디오 데이터를 사용자에게 디스플레이할 수 있다. 디스플레이 디바이스(122)는 목적지 디바이스(120)와 통합될 수 있거나, 외부 디스플레이 디바이스와 인터페이싱하도록 구성된 목적지 디바이스(120)의 외부에 있을 수 있다.
비디오 인코더(114) 및 비디오 디코더(124)는 고효율 비디오 코딩(High Efficiency Video Coding, HEVC) 표준, 다용도 비디오 코딩(Versatile Video Coding, VVC) 표준 및 기타 현재 및/또는 추가 표준과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 2는 본 개시의 일부 실시예에 따른, 도 1에서 나타낸 시스템(100)의 비디오 인코더(114)의 예일 수 있는 비디오 인코더(200)의 예를 나타내는 블록도이다.
비디오 인코더(200)는 본 개시의 기술 중 임의의 것 또는 전부를 구현하도록 구성될 수 있다. 도 2의 예에서, 비디오 인코더(200)는 복수의 기능적 구성요소를 포함한다. 본 개시에서 설명된 기술들은 비디오 인코더(200)의 다양한 구성요소들 사이에서 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에서 설명된 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수 있다.
일부 실시예에서, 비디오 인코더(200)는 분할 유닛(201), 모드 선택 유닛(203), 모션 추정 유닛(204), 모션 보상 유닛(205) 및 인트라 예측 유닛(206)을 포함할 수 있는 예측 유닛(202), 레지듀얼 생성 유닛(207), 변환 유닛(208), 양자화 유닛(209), 역양자화 유닛(210), 역변환 유닛(211), 복원 유닛(212), 버퍼(213) 및 엔트로피 인코딩 유닛(214)을 포함할 수 있다.
다른 예에서, 비디오 인코더(200)는 더 많거나, 더 적거나, 다른 기능적 구성요소들을 포함할 수도 있다. 예에서, 예측 유닛(202)은 인트라 블록 복사(Intra Block Copy, IBC) 유닛을 포함할 수 있다. IBC 유닛은 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치하는 픽처인 IBC 모드에서 예측을 수행할 수 있다.
또한, 모션 추정 유닛(204) 및 모션 보상 유닛(205)과 같은 일부 구성요소는 통합될 수 있지만, 도 2의 예에서는 설명을 위해 별도로 표시된다.
분할 유닛(201)은 픽처를 하나 이상의 비디오 블록으로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기를 지원할 수 있다.
모드 선택 유닛(203)은 예를 들어 에러 결과에 기초하여 인트라 또는 인터 코딩 모드 중 하나를 선택하고, 그 결과인 인트라 코딩 또는 인터 코딩된 블록을 레지듀얼 생성 유닛(207)에 제공하여 레지듀얼 블록 데이터를 생성할 수 있고, 복원 유닛(212)에 제공하여 인코딩된 블록을 복원하여 참조 픽처로서 사용할 수 있다. 일부 예에서, 모드 선택 유닛(203)은 예측이 인터 예측 시그널 및 인트라 예측 시그널에 기초하는 인트라 및 인터 예측 조합(Combination of Intra and Inter Predication, CIIP) 모드를 선택할 수 있다. 모드 선택 유닛(203)은 또한 인터 예측의 경우 블록에 대한 모션 벡터에 대한 해상도(예를 들어, 서브 픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에 대한 인터 예측을 수행하기 위해, 모션 추정 유닛(204)은 버퍼(213)로부터의 하나 이상의 참조 프레임을 현재 비디오 블록과 비교함으로써 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상 유닛(205)은 모션 정보 및 버퍼(213)로부터의 현재 비디오 블록과 관련된 픽처를 제외한 픽처의 디코딩된 샘플에 기초하여 현재 비디오 블록에 대한 예측 비디오 블록을 결정할 수 있다.
모션 추정 유닛(204) 및 모션 보상 유닛(205)은 예를 들어, 현재 비디오 블록이 I-슬라이스, P-슬라이스 또는 B-슬라이스에 있는지 여부에 따라 현재 비디오 블록에 대해 서로 다른 동작을 수행할 수 있다. 본 문에서 사용된 바와 같이, "I-슬라이스"는 모두 동일한 픽처 내의 매크로블록에 기초하는 매크로블록으로 구성된 픽처의 일부를 의미할 수 있다. 또한, 본 문에서 사용된 바와 같이, 일부 양상들에서 "P-슬라이스" 및 "B-슬라이스"는 동일한 픽처의 매크로블록에 의존하지 않는 매크로블록으로 구성된 픽처의 부분을 지칭할 수 있다.
일부 예에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 단방향 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 또는 리스트 1의 참조 픽처를 검색할 수 있다. 그 다음, 모션 추정 유닛(204)은 참조 비디오 블록을 포함하는 리스트 0 또는 리스트 1 중 참조 픽처를 나타내는 참조 인덱스와 현재 비디오 블록과 참조 비디오 블록 사이의 공간 변위를 나타내는 모션 벡터를 생성할 수 있다. 모션 추정 유닛(204)은 참조 인덱스, 예측 방향 지시자(indicator) 및 모션 벡터를 현재 비디오 블록의 모션 정보로 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보가 나타내는 참조 비디오 블록을 기초로 현재 비디오 블록의 예측된 비디오 블록을 생성할 수 있다.
또는, 다른 예에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대해 양방향 예측을 수행할 수 있다. 모션 추정 유닛(204)은 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 중 참조 픽처를 검색할 수 있고, 현재 비디오 블록에 대한 다른 참조 비디오 블록에 대해 리스트 1 중 참조 픽처를 검색할 수도 있다. 그 다음, 모션 추정 유닛(204)은 참조 비디오 블록을 포함하는 리스트 0 및 리스트 1 중 참조 픽처를 나타내는 참조 인덱스와 참조 비디오 블록과 현재 비디오 블록 사이의 공간 변위를 나타내는 모션 벡터를 생성할 수 있다. 모션 추정 유닛(204)은 현재 비디오 블록의 참조 인덱스 및 모션 벡터를 현재 비디오 블록의 모션 정보로서 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보가 지시하는 참조 비디오 블록을 기초로 현재 비디오 블록의 예측된 비디오 블록을 생성할 수 있다.
일부 예에서, 모션 추정 유닛(204)은 디코더의 디코딩 처리를 위한 모션 정보의 전체 세트를 출력할 수 있다. 또한, 일부 실시예에서, 모션 추정 유닛(204)은 다른 비디오 블록의 모션 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정 유닛(204)은 현재 비디오 블록의 모션 정보가 이웃 비디오 블록의 모션 정보와 충분히 유사하다고 결정할 수 있다.
일 예에서, 모션 추정 유닛(204)은 현재 비디오 블록과 연관된 신택스 구조에서, 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 갖는다는 것을 비디오 디코더(300)에 지시하는 값을 지시할 수 있다.
다른 예에서, 모션 추정 유닛(204)은 현재 비디오 블록과 연관된 신택스 구조에서 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 모션 벡터 차이는 현재 비디오 블록의 모션 벡터와 지시된 비디오 블록의 모션 벡터 간의 차이를 나타낸다. 비디오 디코더(300)는 지시된 비디오 블록의 모션 벡터와 모션 벡터 차이를 이용하여 현재 비디오 블록의 모션 벡터를 결정할 수 있다.
위에서 논의된 바와 같이, 비디오 인코더(200) 는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수 있는 예측 시그널링 기술의 두 가지 예는 개선된 모션 벡터 예측(Advanced Motion Vector Predication, AMVP) 및 병합 모드 시그널링(merge mode signaling)을 포함한다.
인트라 예측 유닛(206)은 현재 비디오 블록에 대해 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(206)은 현재 비디오 블록에 대해 인트라 예측을 수행하는 경우, 동일 픽처 내 다른 비디오 블록의 디코딩된 샘플을 기초로 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소를 포함할 수 있다.
레지듀얼 생성 유닛(207)은 현재 비디오 블록에서 현재 비디오 블록의 예측된 비디오 블록(들)을 빼는 것(예를 들어, 마이너스 부호로 표시됨)에 의해 현재 비디오 블록에 대한 레지듀얼 데이터를 생성할 수 있다. 현재 비디오 블록의 레지듀얼 데이터는 현재 비디오 블록의 샘플의 서로 다른 샘플 성분에 대응하는 레지듀얼 비디오 블록을 포함할 수 있다.
다른 예에서, 예를 들어, 스킵 모드에서는 현재 비디오 블록에 대한 현재 비디오 블록에 대한 레지듀얼 데이터가 없을 수 있고, 레지듀얼 생성 유닛(207)은 감산 동작을 수행하지 않을 수 있다.
변환 처리 유닛(208)은 현재 비디오 블록과 연관된 레지듀얼 비디오 블록에 하나 이상의 변환을 적용함으로써 현재 비디오 블록에 대한 하나 이상의 변환 계수 비디오 블록을 생성할 수 있다.
변환 처리 유닛(208)이 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 생성한 후, 양자화 유닛(209)은 현재 비디오 블록과 연관된 하나 이상의 양자화 파라미터(QP) 값에 기초하여 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 양자화할 수 있다.
역양자화 유닛(210) 및 역변환 유닛(211)은 변환계수 비디오 블록에 각각 역양자화 및 역변환을 적용하여 변환계수 비디오 블록으로부터 레지듀얼 비디오 블록을 복원할 수 있다. 복원 유닛(212)은 예측 유닛(202)에 의해 생성된 하나 이상의 예측 비디오 블록으로부터의 대응 샘플에 복원된 레지듀얼 비디오 블록을 더하여 현재 비디오 블록과 연관된 복원된 비디오 블록을 생성하여 버퍼(213)에 저장할 수 있다.
복원 유닛(212)이 비디오 블록을 복원한 후, 루프 필터링 동작을 수행하여 비디오 블록 중 비디오 블로킹 아티팩트를 감소할 수 있다.
엔트로피 인코딩 유닛(214)은 비디오 인코더(200)의 다른 기능 구성요소로부터 데이터를 수신할 수 있다. 엔트로피 인코딩 유닛(214)이 데이터를 수신하면, 엔트로피 인코딩 유닛(214)은 하나 이상의 엔트로피 인코딩 동작을 수행하여 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력할 수 있다.
도 3은 본 개시의 일부 실시예에 따른, 도 1에 나타낸 시스템(100) 중 비디오 디코더(124)의 예일 수 있는 비디오 디코더(300)의 예를 예시하는 블록도이다.
비디오 디코더(300)는 본 개시의 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수 있다. 도 3의 예에서, 비디오 디코더(300)는 복수의 기능 구성요소를 포함한다. 본 개시에 설명된 기술들은 비디오 디코더(300)의 다양한 구성요소들 사이에서 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에서 설명된 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수도 있다.
도 3의 예에서, 비디오 디코더(300)는 엔트로피 디코딩 유닛(301), 모션 보상 유닛(302), 인트라 예측 유닛(303), 역양자화 유닛(304), 역변환 유닛(305), 복원 유닛(306) 및 버퍼(307)를 포함한다. 비디오 디코더(300)는 일부 예에서 비디오 인코더(200)에 관해 설명된 인코딩 패스와 일반적으로 상반되는 디코딩 패스를 수행할 수 있다.
엔트로피 디코딩 유닛(301)은 인코딩된 비트스트림을 검색할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록)를 포함할 수 있다. 엔트로피 디코딩 유닛(301)은 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터 모션 보상 유닛(302)은 모션 벡터, 모션 벡터 정밀도, 참조 픽처 리스트 인덱스 및 기타 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 예를 들어, 모션 보상 유닛(302)은 AMVP 및 병합 모드를 수행함으로써 이러한 정보를 결정할 수 있다. 인접한 PB 및 참조 픽처로부터의 데이터를 기반으로 가장 가능성이 높은 여러 후보를 도출하는 것을 포함하여 AMVP가 사용된다. 모션 정보는 전형적으로 수평 및 수직 모션 벡터 변위 값, 하나 또는 두 개의 참조 픽처 인덱스, 그리고 B 슬라이스의 예측 영역의 경우 참조 픽처 리스트가 각 인덱스와 연관되어 있다는 식별을 포함한다. 본 문에서 사용된 바와 같이, 일부 측면에서, "병합 모드"는 공간적으로 또는 시간적으로 이웃하는 블록으로부터 모션 정보를 도출하는 것을 의미할 수 있다.
모션 보상 유닛(302)은 모션 보상된 블록을 생성할 수 있고, 보간 필터에 기초하여 보간을 수행할 수 있다. 서브 픽셀 정밀도로 사용되는 보간 필터에 대한 식별자가 신택스 요소에 포함될 수 있다.
모션 보상 유닛(302)은 참조 블록의 서브-정수 픽셀에 대한 보간된 값을 계산하기 위해 비디오 블록의 인코딩 동안 비디오 인코더(200)에 의해 사용되는 보간 필터를 사용할 수 있다. 모션 보상 유닛(302)은 수신된 신택스 정보에 따라 비디오 인코더(200)가 사용하는 보간 필터를 결정하고, 상기 보간 필터를 사용하여 예측 블록을 생성할 수 있다.
모션 보상 유닛(302)은 신택스 정보의 적어도 일부를 사용하여, 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)를 인코딩하는 데 사용되는 블록의 크기, 인코딩된 비디오 시퀀스의 픽처의 각 매크로블록이 어떻게 분할되는지를 설명하는 분할 정보, 각 인터 인코딩된 블록에 대한 하나 이상의 참조 프레임(및 참조 프레임 리스트), 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 기타 정보를 결정할 수 있다. 본 문에서 사용된 바와 같이, 일 측면에서, "슬라이스(slice)"는 엔트로피 코딩, 시그널 예측 및 레지듀얼 시그널 본원의 관점에서 동일한 픽처의 다른 슬라이스들로부터 독립적으로 디코딩될 수 있는 데이터 구조를 지칭할 수 있다. 슬라이스는 전체 픽처일 수 있고 픽처의 영역일 수도 있다.
인트라 예측 유닛(303)은 예를 들어 비트스트림에서 수신된 인트라 예측 모드를 사용하여 공간적으로 인접한 블록으로부터 예측 블록을 형성할 수 있다. 역양자화 유닛(304)은 엔트로피 디코딩 유닛(301)에 의해 디코딩된 비트스트림 중에서 제공된 양자화된 비디오 블록 계수를 역양자화, 즉 de-quantize 한다. 역변환 유닛(305)은 역변환을 적용한다.
복원 유닛(306)은, 예를 들어, 모션 보상 유닛(302) 또는 인트라 예측 유닛(303)에 의해 생성된 대응하는 예측 블록과 레지듀얼 블록을 합산함으로써 디코딩된 블록을 얻을 수 있다. 바람직하게, 블록화 아티팩트를 제거하기 위해 또한 디블로킹 필터를 적용하여 디코딩된 블록을 필터링하 수 있다. 그 다음 디코딩된 비디오 블록은 버퍼(307)에 저장되며, 이는 후속 모션 보상/인트라 예측을 위한 참조 블록을 제공하고 또한 디스플레이 장치에 프리젠팅하기 위해 디코딩된 비디오를 생성한다.
본 개시의 일부 예시적인 실시예가 이하에서 상세히 설명될 것이다. 본 문서에서는 이해를 쉽게 하기 위해 섹션 표제가 사용되었으며, 섹션에 개시된 실시예가 해당 섹션에만 제한되지 않는다는 점을 이해해야 한다. 더욱이, 특정 실시예는 다용도 비디오 코딩(Versatile Video Coding, VCC) 또는 다른 특정 비디오 코덱을 참조하여 설명되지만, 개시된 기술은 다른 비디오 코딩 기술에도 적용 가능한다. 더욱이, 일부 실시예에서는 비디오 코딩 단계를 자세히 설명하지만, 코딩을 복구하는 대응하는 디코딩 단계는 디코더에 의해 구현될 것이라는 것이 이해될 것이다. 더욱이, 비디오 처리라는 용어는 비디오 코딩 또는 압축, 비디오 디코딩 또는 압축 해제 및 비디오 픽셀이 하나의 압축 형식에서 다른 압축 형식으로 또는 다른 압축 비트율로 표현되는 비디오 트랜스코딩을 포함한다.
1. 요약
본 개시는 비디오 스트리밍과 관련된다. 구체적으로 확장된 의존형 랜덤 액세스 포인트(EDRAP) 기반 비디오 스트리밍을 위한 메인 스트림 표현 디스크립터 및 외부 스트림 표현 디스크립터의 설계와 메인 스트림 표현에서 스트림 액세스 포인트(SAP)의 시그널링에 관한 것이다. 아이디어는 예를 들어 HTTP를 통한 동적 적응형 스트리밍(DASH) 표준 또는 그 확장을 기반으로 하는 미디어 스트리밍 시스템에 대해 개별적으로 또는 다양한 조합으로 적용될 수 있다.
2. 배경
2.1. 비디오 코딩 표준
비디오 코딩 표준은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 발전해 왔다. ITU-T는 H.261과 H.263을 제작하고, ISO/IEC는 MPEG-1과 MPEG-4 Visual을 제작하며, 두 조직은 H.262/MPEG-2 Video와 H.264/MPEG-4 Advanced Vedio Coding (AVC) 및 H.265/HEVC 표준을 공동으로 제작했다. H.262 이후 비디오 코딩 표준은 시간적 예측과 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC 이상의 미래 비디오 코딩 기술을 탐색하기 위해 2015년 VCEG와 MPEG가 공동으로 연합 비디오 탐사 팀(Joint Video Exploration Team, JVET)를 설립했다. 이후 JVET는 많은 새로운 방법을 채택하여 연합 탐색 모델(Joint Exploration Model, JEM)이라는 참조 소프트웨어에 추가했다. JVET는 나중에 다용도 비디오 코딩(Versatile Video Coding, VVC) 프로젝트가 공식적으로 시작되면서 연합 비디오 전문팀(Joint Video Experts Team, JVET)으로 이름이 변경되었다. VVC는 HEVC에 비해 비트율이 50% 감소를 목표로 하는 새로운 코딩 표준으로, 2020년 7월 1일에 끝난 제19차 JVET 회의에서 최종 확정되었다.
다용도 비디오 코딩(Versatile Video Coding, VVC) 표준(ITU-T H.266 | ISO/IEC 23090-3) 및 관련 다용도 보충 강화 정보(Versatile Supplemental Enhancement Information, VSEI) 표준(ITU-T H.274 | ISO/IEC 23002-7)은 텔레비전 방송, 화상 회의, 또는 저장 미디어 재생 등의 전통적인 용도뿐 아니라 적응형 비트율 스트리밍, 비디오 영역 추출, 여러 코딩된 비디오 비트스트림으로부터의 내용의 구성(composition) 및 병합(merge), 다중 뷰 비디오, 확장 가능한(scalable) 계층 코딩 및 뷰포트 적응형 360° 몰입형 미디어와 같은 더욱 새롭고 향상된 사용 케이스를 포함하여 최대한 광범위한 애플리케이션에 사용하도록 설계되었다.
필수 비디오 코딩(Essential Video Coding, EVC) 표준(ISO/IEC 23094-1)은 MPEG에서 최근 개발한 또 다른 비디오 코딩 표준이다.
2.2. 파일 형식 표준
미디어 스트리밍 애플리케이션은 전형적으로 IP, TCP 및 HTTP 전송 방법을 기반으로 하며 ISO 기본 미디어 파일 형식(ISOBMFF)과 같은 파일 형식에 의존한다. 그러한 스트리밍 시스템 중 하나가 HTTP를 통한 동적 적응형 스트리밍(DASH)이다. ISOBMFF 및 DASH를 이용한 비디오 형식을 사용하려면 ISOBMFF 트랙과 DASH 표현 및 세그먼트의 비디오 콘텐츠를 캡슐화하기 위해 AVC 파일 형식 및 HEVC 파일 형식과 같은 비디오 형식에 특정된 파일 형식 규격이 필요한다. 비디오 비트스트림에 대한 중요한 정보(예: 프로필, 타이어(tier), 레벨 및 기타 여러 정보)는 콘텐츠 선택 목적(예: 스트리밍 세션 시작 시 초기화와 스트리밍 세션 동안 스트림 적응을 위해 적절한 미디어 세그먼트를 선택)을 위해 파일 형식 레벨 메타데이터 및/또는 DASH미디어 프리젠테이션 기술(media presentation description, MPD)로 노출되어야 한다.
마찬가지로 ISOBMFF를 이용한 이미지 형식을 사용하려면 AVC 이미지 파일 형식 및 HEVC 이미지 파일 형식과 같은 이미지 형식에 특정된 파일 형식 규격이 필요한다.
ISOBMFF 기반의 VVC 비디오 콘텐츠 저장을 위한 파일 형식인 VVC 비디오 파일 형식은 현재 MPEG에서 개발 중이다.
ISOBMFF를 기반으로 VVC를 사용하여 코딩된 이미지 콘텐츠를 저장하기 위한 파일 형식인 VVC 이미지 파일 형식은 현재 MPEG에서 개발 중이다.
2.3. DASH
HTTP를 통한 동적 적응형 스트리밍(Dynamic Adaptive Streaming over HTTP, DASH)에는 멀티미디어 콘텐츠의 비디오 및/또는 오디오 데이터에 대한 여러 표현이 있을 수 있으며, 다양한 표현은 다양한 코딩 특성(예: 비디오 코딩 표준의 다양한 프로필 또는 레벨, 다양한 비트율, 다양한 공간 해상도 등)에 해당된다. 이러한 표현의 매니페스트는 미디어 프리젠테이션 기술(Media Presentation Description, MPD) 데이터 구조에서 정의될 수 있다. 미디어 프레젠테이션은 DASH 스트리밍 클라이언트 디바이스에 접속할 수 있는 구조화된 데이터의 집합에 해당할 수 있다. DASH 스트리밍 클라이언트 디바이스는 미디어 데이터 정보를 요청하고 다운로드하여 클라이언트 디바이스의 사용자에게 스트리밍 서비스를 프리젠팅할 수 있다. 미디어 프리젠테이션은 MPD의 업데이트를 포함할 수 있는 MPD 데이터 구조에서 설명될 수 있다.
미디어 프레젠테이션은 하나 이상의 구간의 시퀀스를 포함할 수 있다. 각 구간은 다음 구간이 시작될 때까지 연장될 수 있으며, 마지막 구간의 경우 미디어 프레젠테이션이 끝날 때까지 연장될 수 있다. 각 구간에는 동일한 미디어 콘텐츠에 대한 하나 이상의 표현이 포함될 수 있다. 표현은 오디오, 비디오, 타임드 텍스트(timed text) 또는 기타 데이터의 여러 대체 가능한 인코딩 버전 중 하나일 수 있다. 표현은 인코딩 유형(예: 비디오 데이터의 경우 비트율, 해상도 및/또는 코덱, 오디오 데이터의 경우 비트율, 언어 및/또는 코덱)에 따라 다를 수 있다. 표현이라는 용어는 멀티미디어 컨텐츠의 특정 구간에 대응하고 특정 방식으로 인코딩된 인코딩된 오디오 또는 비디오 데이터의 섹션을 지칭하는 데 사용될 수 있다.
특정 구간의 표현은 표현이 속하는 적응 세트(adaptation set)를 나타내는 MPD의 속성에 의해 지시된 그룹에 할당될 수 있다. 동일한 적응 세트 중의 표현은 일반적으로 클라이언트 디바이스가 예를 들어 대역폭 적응을 수행하기 위해 이러한 표현 사이에서 동적으로 원활하게 스위칭할 수 있다는 점에서 서로에 대한 대안으로 간주된다. 예를 들어, 특정 구간의 비디오 데이터의 각 표현은 동일한 적응 세트에 할당될 수 있으므로, 해당 구간의 멀티미디어 콘텐츠의 비디오 데이터 또는 오디오 데이터와 같은 미디어 데이터를 프리젠팅하기 위해, 표현 중 임의의 표현이 선택될 수 있다. 하나의 구간 내의 미디어 콘텐츠는 (존재하는 경우) 그룹 0으로부터의 하나의 표현 또는 일부 예에서 0이 아닌 각 그룹으로부터 최대 하나의 표현의 조합으로 표현될 수 있다. 구간의 각 표현에 대한 타이밍 데이터는 해당 구간의 시작 시간을 기준으로 표현(expressed)될 수 있다.
표현은 하나 이상의 세그먼트를 포함할 수 있다. 각 표현은 초기화 세그먼트를 포함할 수 있으며, 표현의 각 세그먼트는 자체 초기화될 수 있다. 존재하는 경우 초기화 세그먼트에는 표현에 접속하기 위한 초기화 정보가 포함될 수 있다. 일반적으로 초기화 세그먼트에는 미디어 데이터가 포함되어 있지 않는다. 세그먼트는 URL(Uniform Resource Locator), URN(Uniform Resource Name) 또는 URI(Uniform Resource Identifier)와 같은 식별자에 의해 유일하게 참조될 수 있다. MPD는 각 세그먼트에 대한 식별자를 제공할 수 있다. 일부 예에서, MPD는 URL, URN 또는 URI에 의해 접속 가능한 파일 내의 세그먼트에 대한 데이터에 대응할 수 있는 범위 속성의 형태로 바이트 범위를 제공할 수도 있다.
다양한 유형의 미디어 데이터에 대한 실질적으로 동시 검색을 위해 다양한 표현이 선택될 수 있다. 예를 들어, 클라이언트 장치는 세그먼트를 검색할 오디오 표현, 비디오 표현 및 타임드 텍스트 표현을 선택할 수 있다. 일부 예에서, 클라이언트 디바이스는 대역폭 적응을 수행하기 위해 특정 적응 세트를 선택할 수 있다. 즉, 클라이언트 디바이스는 비디오 표현을 포함하는 적응 세트, 오디오 표현을 포함하는 적응 세트, 및/또는 타임드 텍스트를 포함하는 적응 세트를 선택할 수 있다. 대안적으로, 클라이언트 디바이스는 특정 유형의 미디어(예: 비디오)에 대한 적응 세트를 선택하고 다른 유형의 미디어(예: 오디오 및/또는 타임드 텍스트)에 대한 표현을 직접 선택할 수 있다.
젼형적인 DASH 스트리밍 절차는 다음 단계로 나타낸다.
1) 클라이언트는 MPD를 얻는다.
2) 클라이언트는 다운링크 대역폭을 추정하고, 추정된 다운링크 대역폭과 코덱, 디코딩 능력, 디스플레이 크기, 오디오 언어 설정 등에 따라 비디오 표현과 오디오 표현을 선택한다.
3) 미디어 프레젠테이션의 끝을 도달하지 않는 한 클라이언트는 선택한 표현의 미디어 세그먼트를 요청하고 스트리밍 콘텐츠를 사용자에게 프리젠팅한다.
4) 클라이언트는 다운링크 대역폭을 계속 추정한다. 대역폭이 특정 방향으로 크게 변경(예: 낮아지는)하는 경우 클라이언트는 새로 추정된 대역폭과 매치되는 다른 비디오 표현을 선택하고 단계3으로 이동한다.
2.4. 확장된 의존형 랜덤 액세스 포인트(EDRAP) 픽처 기반 비디오 코딩 및 스트리밍
SEI (Supplemental Enhancement Information) 메시지를 사용한 EDRAP 픽처의 시그널링은 JVET-U0084 의 제안에서 제안되었으며 2021년 1월 제21차 JVET 회의에서 VSEI 규격으로 채택되었다. 2021년 1월 제133차 MPEG 회의에서는 MPEG 입력 문서 m56020의 제안을 기반으로EDRAP 샘플 그룹이 합의되었다. EDRAP 기반 비디오 스트리밍 지원을 위해 2021년 4월 제134차 MPEG 회의에서 MPEG 입력 문서 m56675는 ISOBMFF에 대한 외부 스트림 트랙(EST) 설계를 제안하였다. MPEG 입력 문서 m57430은 DASH에 대한 외부 스트림 표현(ESR) 설계를 제안하였다.
도 4 및 도 5는 기존의 랜덤 액세스 포인트(Random Access Point, RAP) 개념을 예시한다. 애플리케이션(예: 적응형 스트리밍)은 랜덤 액세스 포인트(Random Access Point, RAP)의 빈도(예: RAP 구간 1s 또는 2s)를 결정한다. 종래적으로 RAP는 도 4와 같이 IRAP 픽처을 코딩함으로써 제공된다. RAP 픽처 사이의 논-키(non-key) 픽처에 대한 인터 예측 참조는 도시되지 않았으며 출력 순서는 왼쪽부터 오른쪽이다. CRA6으로부터 랜덤 액세스할 때 디코더는 도 5와 같이 픽처를 수신하고 정확하게 디코딩한다.
도 6 및 도 7은 의존형 랜덤 액세스(dependent Random Access Point, DRAP)의 개념을 예시한다. DRAP 방식은 도 6에 도시된 바와 같이DRAP 픽처(및 후속 픽처)가 인터 예측을 위해 이전 IRAP 픽처를 참조하는 것을 허용함으로써 개선된 코딩 효율성을 제공한다. RAP 픽처 사이의 논-키(non-key) 픽처에 대한 인터 예측은 도시되지 않았으며 출력 순서는 왼쪽부터 오른쪽이다. DRAP6으로부터 랜덤 액세스할 때 디코더는 도 7과 같이 픽처를 수신하고 정확하게 디코딩한다.
도 8 및 도 9는 확장된 의존형 랜덤 액세스 포인트(extended dependent Random Access Point, EDRAP)의 개념을 예시한다. EDRAP 방식은 예를 들어 도 8에 도시된 바와 같이 EDRAP 픽처(및 후속 픽처)가 소수의 앞선 RAP 픽처(IRAP 또는 EDRAP)를 참조하는 것을 허용함으로써 좀금 더 많은 유연성을 제공한다. RAP 픽처 사이의 논-키(non-key) 픽처에 대한 인터 예측은 도시되지 않았으며 출력 순서는 왼쪽부터 오른쪽이다. EDRAP6으로부터 랜덤 액세스할 때 디코더는 도 9과 같이 픽처를 수신하고 정확하게 디코딩한다.
도 10 및 도 11은 EDRAP 기반 비디오 스트리밍을 나타낸다. EDRAP6에서 시작하는 세그먼트로부터 랜덤 액세스하거나EDRAP6에서 시작하는 세그먼트로 스위칭하면 디코더는 도 11과 같이 세그먼트를 수신하고 디코딩한다.
MPEG 입력 문서m57430에서 제안된 ESR 설계는 다음과 같다.
2.1.1 요약
외부 스트림 표현(ESR)은 연관된 메인 스트림 표현(MSR), 즉 "노멀(normal)" 표현과 시간 동기화된다. ESR 에는 MSR의 시간 동기화 확장된 의존형 랜덤 액세스 포인트(EDRAP) 픽처/샘플로부터 랜덤 액세스할 때 추가로 필요한 랜덤 액세스 포인트(RAP) 픽처만 포함된다.
설계는 다음과 같이 요약된다.
1) EDRAP 픽처, 외부 기본 스트림, 외부 픽처, 외부 스트림 표현(ESR) 및 메인 스트림 표현(MSR)이라는 용어에 대한 5가지 정의가 제안되었다.
2) 적응 세트 중의 표현이 ESR인지 MSR인지 여부를 지시하기 위해 @esasFlag 라는 옵션 적응 세트 레벨 속성이 제안되었다.
3) @esasFlag 속성의 시맨틱(semantic)의 일부로 다음이 제안된다.
a. 새로 지정된 연관 유형 값 'aest' ("연관된 외부 스트림 트랙(associated external stream track)", ISOBMFF 트랙 참조 유형과 동일한 4CC)를 기반으로 기존 표현 속성 @associationId 및 @associationType 을 통해 MSR에 ESR을 연관시킴.
b. 새로운 EssentialProperty 디스크립터는 ESR을 포함하는 적응 세트에 포함되어 그러한 적응 세트 중의 표현이 다른 비디오 표현 없이 자체적으로 소비되거나 재생할 수 없음을 지시하도록 제안됨.
c. EDRAP 기반 스트리밍 동작을 단순화하기 위한 일부 제약:
i. MSR 중 각 EDRAP 픽처는 세그먼트 중 첫 번째 픽처여야 함.
ii. 서로 연관된 MSR과 ESR의 경우 다음 제약이 적용됨.
1. EDRAP 픽처로 시작하는 MSR 중의 각 세그먼트에 대해 MPD로부터 도출된 세그먼트 시작 시간이 MSR 중의 세그먼트와 동일한 ESR 중의 세그먼트가 있어야 한다. 여기서 ESR 중의 세그먼트는 EDRAP 픽처의 디코딩에 필요한 외부 픽처와 MSR에서 나르는 비트스트림의 디코딩 순서 중 후속 픽처를 나른다.
2. EDRAP 픽처로 시작하지 않는 MSR 중의 각 세그먼트에 대해 MPD로부터 도출된 세그먼트 시작 시간이 MSR 중의 세그먼트와 동일한 ESR 중의 세그먼트가 없어야 한다.
2.1.2 정의
확장된 의존형 랜덤 액세스 포인트(EDRAP) 픽처
ISOBMFF 트랙의 EDRAP 또는 DRAP 샘플 그룹의 구성원인 샘플 중의 픽처
외부 기본 스트림(external elementary stream)
외부 픽처가 있는 액세스 유닛을 포함하는 기본 스트림
외부 픽처
ESR 중 외부 기본 스트림에 있는 픽처로서 MSR 중의 특정 EDRAP 픽처로부터 랜덤 액세스할 때 MSR 중 기본 스트림을 디코딩할 때 인터 예측 참조에 필요한다.
외부 스트림 표현(ESR)
외부 기본 스트림을 포함하는 표현
메인 스트림 표현(MSR)
비디오 기본 스트림을 포함하는 표현
2.1.3 AdaptationSet 요소의 시맨틱
표 1 - AdaptationSet 요소의 시맨틱
2.1.4 XML 신택스
3. 문제점
MPEG 입력 문서 m57430 에서 제안한 설계에는 다음과 같은 문제점이 있다. 메인 스트리밍 표현(MSR)의 경우 다양한 스트림 액세스 포인트(SAP) 유형의 현재 정의 중에는 어느 것도 EDRAP 기반 랜덤 액세스 포인트에 적용될 수 없고, 이는 다른 트랙이나 표현으로부터의 외부 픽처가 필요하기 때문이다. 이로 인해 세그먼트가 SAP로 시작하는지, 그리고 어떤 유형의 SAP로 시작하는지 알 수 없다.
4. 상세한 솔루션
전술한 문제점를 해결하기 위해, 아래에 요약된 방법들이 개시된다. 실시예들은 일반적인 개념을 설명하기 위한 예시로서 고려되어야 하며, 협소하게 해석되어서는 안 된다. 또한, 이들 실시예는 개별적으로 적용되거나 임의의 방식으로 결합되어 적용될 수 있다.
1) 메인 스트림 표현(MSR) 디스크립터는 MSR을 식별하기 위해 지정된다.
a. 일 예에서 MSR 디스크립터는 @schemeIdUri 의 특정 값(예: urn:mpeg:dash:msr:2021)을 갖는EssentialProperty 디스크립터로 정의된다.
i. 일 예에서, MSR 디스크립터는 적응 세트에 포함되도록, 즉 적응 세트 레벨이 되도록 지정된다. 적응 세트에 포함되면 적응 세트 중의 모든 표현이 MSR임을 지시한다.
ii. 일 예에서, MSR 디스크립터는 표현에 포함되도록, 즉 표현 레벨이 되도록 지정된다. 표현에 포함되면 해당 표현이 MSR임을 지시한다.
iii. 일 예에서, MSR 디스크립터는 적응 세트 또는 표현에 포함되도록 지정된다. 즉, 적응 세트 레벨 또는 표현 레벨이 되도록 지정된다.
1. 적응 세트에 포함되면 적응 세트 중의 모든 표현이 MSR임을 지시한다.
a. 또는 적응 세트에 포함된 경우 적응 세트의 표현 중 일부 또는 전부가 MSR일 수 있음을 지시한다.
2. 표현에 포함되면 해당 표현이 MSR임을 지시한다.
b. 일 예에서, MSR디스크립터는 @schemeIdUri의 특정 값(예: urn:mpeg:dash:msr:2021)을 갖는 SupplementalProperty 디스크립터로 정의된다.
2) MSR 중의 각 스트림 액세스 포인트(SAP)는, 관련 ESR에서 나르는 트랙에 있는 시간 동기화된 샘플이 클라이언트에 대해 액세스 가능한 경우, 표현의 콘텐츠에 액세스하는 데 사용될 수 있도록 지정된다.
3) 선택적으로, MSR 중의 각 EDRAP 픽처는 세그먼트의 첫 번째 픽처여야 함(즉, 각 EDRAP 픽처는 세그먼트를 시작해야 함)을 지정한다.
4) 외부 스트림 표현(ESR) 디스크립터는 ESR을 식별하기 위해 지정된다.
a. 일 예에서, ESR 디스크립터는 @schemeIdUri 의 특정 값(예: urn:mpeg:dash:esr:2021)을 갖는 EssentialProperty 디스크립터로 정의된다.
i. 일 예에서, ESR 디스크립터는 적응 세트에 포함되도록, 즉 적응 세트 레벨이 되도록 지정된다. 적응 세트에 포함되면 적응 세트의 모든 표현이 ESR임을 지시한다.
ii. 일 예에서, ESR 디스크립터는 표현에 포함되도록, 즉 표현 레벨이 되도록 지정된다. 표현에 포함되면 해당 표현이ESR 임을 지시한다.
iii. 일 예에서, ESR 디스크립터는 적응 세트 또는 표현에 포함되도록 지정된다. 즉, 적응 세트 레벨 또는 표현 레벨이 되도록 지정된다.
1. 적응 세트에 포함되면 적응 세트 중의 모든 표현이 ESR임을 지시한다.
a. 또는 적응 집합에 포함된 경우 적응 집합의 표현 중 일부 또는 전부가 ESR일 수 있음을 지시다.
2. 표현에 포함되면 해당 표현이 ESR임을 지시한다.
b. 일 예에서, ESR 디스크립터는 @schemeIdUri의 특정 값(예: urn:mpeg:dash:msr:2021)을 갖는 SupplementalProperty 디스크립터로 정의된다.
5) 각 ESR은 다음과 같이 MSR 중의 (기존) 표현-레벨 속성 @associationId 및 @associationType을 통해 MSR과 연결되어야 한다고 지정된다. 연결된 ESR의 @id는 속성 @associationId에 포함된 값에 의해 참조되어야 하고, 이에 대한 속성 @associationType 중의 대응 값은 'aest'이다.
5. 실시예
다음은 위의 섹션 4에서 요약된 모든 솔루션 항목과 해당 하위 항목 중 일부에 대한 일부 예시적인 실시예이다.
5.1.1 정의
확장된 의존형 랜덤 액세스 포인트(EDRAP) 픽처
ISOBMFF 트랙의 EDRAP 또는 DRAP 샘플 그룹의 구성원인 샘플 중의 픽처
외부 기본 스트림(external elementary stream)
외부 픽처가 있는 액세스 유닛을 포함하는 기본 스트림
외부 픽처
ESR 중 외부 기본 스트림에 있는 픽처로서 MSR 중의 특정 EDRAP 픽처로부터 랜덤 액세스할 때 MSR 중 기본 스트림을 디코딩할 때 인터 예측 참조에 필요한다.
외부 스트림 표현(ESR)
외부 기본 스트림을 포함하는 표현
메인 스트림 표현(MSR)
비디오 기본 스트림을 포함하는 표현
5.1.2 MSR 및 ESR디스크립터
적응 세트는 @schemeIdUri가 urn:mpeg:dash:msr:2021인 EssentialProperty 디스크립터를 가질 수 있다. 이 디스크립터를 MSR 디스크립터라고 한다. 이 EssentialProperty 가 존재한다는 것은 이 적응 세트의 각 표현이 MSR임을 지시한다.
MSR에는 다음이 적용된다:
- 적응 세트 중의 MSR 표현에 있는 각 SAP는, 관련 ESR에서 나르는 트랙에 있는 시간 동기화된 샘플이 클라이언트에 대해 액세스 가능한 경우, 표현의 콘텐츠에 액세스하는 데 사용될 수 있다.
- MSR 중의 각 EDRAP 픽처는 세그먼트의 첫 번째 픽처여야 한다(즉, 각 EDRAP 픽처는 세그먼트를 시작해야 한다).
적응 세트는 @schemeIdUri가 urn:mpeg:dash:esr:2021인 EssentialProperty 디스크립터를 가질 수 있다. 이 디스크립터를 ESR 디스크립터라고 한다. 이 EssentialProperty 가 존재한다는 것은 이 적응 세트의 각 표현이 ESR임을 지시한다. ESR은 다른 비디오 표현 없이 자체적으로 소비되거나 재생될 수 없다.
각 ESR은 다음과 같이 MSR 중의 (기존) 표현-레벨 속성 @associationId 및 @associationType을 통해 MSR과 연결되어야 하고, 연결된 ESR의 @id는 속성 @associationId에 포함된 값에 의해 참조되어야 하며, 이에 대한 속성 @associationType 중의 대응 값은 'aest'이다.
옵션적으로, MSR 중 표현 속성 @associationId 및 @associationType를 통해 서로 연관되는 MSR 및 ESR의 경우 다음 제약이 적용된다.
- EDRAP 픽처로 시작하는 MSR 중의 각 세그먼트에 대해 MPD로부터 도출된 세그먼트 시작 시간이 MSR 중의 세그먼트와 동일한 ESR 중의 세그먼트가 있어야 한다. 여기서 ESR 중의 세그먼트는 EDRAP 픽처의 디코딩에 필요한 외부 픽처와 MSR에서 나르는 비트스트림의 디코딩 순서 중 후속 픽처를 나른다.
- EDRAP 픽처로 시작하지 않는 MSR 중의 각 세그먼트에 대해 MPD로부터 도출된 세그먼트 시작 시간이 MSR 중의 세그먼트와 동일한 ESR 중의 세그먼트가 없어야 한다.
5.1.3 AdaptationSet 요소의 시맨틱
표 2 - AdaptationSet 요소의 시맨틱
5.1.4 XML 신택스
본 개시의 실시예는 주요 스트림 표현 디스크립터과 관련된다.
도 12는 본 개시의 일부 실시예에 따른 비디오 처리 방법(1200)의 흐름도를 나타낸다. 방법(1200)은 제1 디바이스에서 구현될 수 있다. 예를 들어, 방법(1200)은 클라이언트 또는 수신기에 이식될 수 있다. 본 문에서 사용된 "클라이언트"라는 용어는 컴퓨터 네트워크의 클라이언트-서버 모델의 일부인 서버에 의해 제공되는 서비스에 액세스하는 컴퓨터 하드웨어 또는 소프트웨어를 의미할 수 있다. 예를 들어, 클라이언트는 스마트폰이나 태블릿일 수 있다. 일부 실시예에서, 제1 디바이스는 도 1에 도시된 목적지 디바이스(120)에서 구현될 수 있다.
블록 1210에서, 제1 디바이스는 제2 디바이스로부터 메타데이터 파일을 수신한다. 메타데이터 파일은 비디오 비트스트림에 관한 중요한 정보(예: 프로필, 타이어(tier) 및 레벨 등)를 포함할 수 있다. 예를 들어, 메타데이터 파일은 DASH 미디어 프리젠테이션 기술(media presentation description, MPD)일 수 있다. 위의 예는 단지 설명의 목적으로만 설명된 것임을 이해해야 한다. 본 개시의 범위는 이러한 점에 제한되지 않는다.
블록 1220에서, 제1 디바이스는 메타데이터 파일 중 데이터 세트 중의 디스크립터를 결정한다. 디스크립터가 존재한다는 것은 데이터 세트 중의 표현이 외부 스트림 표현(ESR)임을 지시한다. 다시 말해, 데이터 세트가 디스크립터를 포함하면 데이터 세트 중의 표현이 ESR임을 의미한다.
방법(1200)에 따르면, ESR을 식별하기 위해 디스크립터가 사용된다. ESR을 식별하기 위해 속성을 활용하는 기존 솔루션과 비교하여, 제안된 방법은 ESR을 보다 효율적으로 식별할 수 있다는 장점이 있다.
일부 실시예에서, 디스크립터는 URN(Uniform Resource Name) 스트링과 동일한 속성을 갖는 데이터 구조로 정의될 수 있다. 일례에서, 메타 데이터 파일은 미디어 프리젠테이션 기술(media presentation description, MPD)일 수 있고, 데이터 구조는 MPD의 EssentialProperty일 수 있다. 또한, 속성은 SchemeIdUri 속성일 수 있고, URN 스트링은 "urn:mpeg:dash:esr:2022"일 수 있다. 즉, 디스크립터는 특정 URN 스트링(예: "urn:mpeg:dash:esr:2022")과 동일한 @schemeIdUri 값을 갖는 EssentialProperty 디스크립터로 정의될 수 있다. 여기에 설명된 URN 스트링의 가능한 구현은 단지 예시일 뿐이므로 어떤 방식으로든 본 개시 내용을 제한하는 것으로 해석되어서는 안 된다는 점을 이해해야 한다.
다른 예에서, 메타데이터 파일은 MPD일 수 있고, 데이터 구조는 MPD 중의 SupplementalProperty일 수 있다. 마찬가지로 속성은 SchemeIdUri 속성일 수 있으며 URN 스트링은 "urn:mpeg:dash:esr:2022"일 수 있다. 즉, 디스크립터는 특정 URN 스트링(예: "urn:mpeg:dash:esr:2022")과 동일한 @schemeIdUri 값을 가진 SupplementalProperty 디스크립터로 정의될 수 있다. 여기에 설명된 URN 스트링의 가능한 구현은 단지 예시일 뿐이므로 어떤 방식으로든 본 개시 내용을 제한하는 것으로 해석되어서는 안 된다는 점을 이해해야 한다.
일부 실시예에서, 데이터 세트는 적응 세트일 수 있다. 이 경우, 적응 세트에 포함된 모든 표현은 ESR일 수 있다. 대안적으로, 적응 세트의 표현 중 일부가 ESR일 수 있다.
일부 실시예에서, 데이터 세트는 표현일 수 있다. 이 경우 표현은 ESR일 수 있다.
일부 실시예에서, ESR은 MSR의 표현-레벨 속성의 세트를 통해 메인 스트림 표현(MSR)과 연관될 수 있다. 예를 들어, 표현-레벨 속성의 세트는 associationId 속성과 associationType 속성을 포함할 수 있다. 예를 들어, ESR의 id 속성은 associationType 속성의 값이 "aest"와 동일한 associationId 속성에 포함된 값으로 참조될 수 있다. 다시 말해, ESR은 다음과 같이 MSR의 표현-레벨 속성 @associationId 및 @associationType를 통해 MSR과 연관될 수 있다: 연관된 ESR의 @id는, 속성 @associationId에 포함된 값에 의해 참조되어야 하며, 상기 속성 @associationId에 대해 속성 @associationType의 해당값이 "aest"와 동일하다. 이에 따라, ESR은 해당 MSR과 연관될 수 있으며, 이는 EDRAP 기반 비디오 스트리밍의 구현을 용이하게 한다.
도 13은 본 개시의 일부 실시예에 따른 비디오 처리 방법(1300)의 흐름도를 나타낸다. 방법(1300)은 제2 디바이스에서 구현될 수 있다. 예를 들어, 방법(1300)은 서버 또는 송신자에 이식될 수 있다. 본 명세서에서 사용되는 "서버"라는 용어는 컴퓨팅이 가능한 디바이스를 의미할 수 있으며, 이 경우 클라이언트는 네트워크를 통해 서비스에 접속한다. 서버는 물리적 컴퓨팅 디바이스일 수 있고 가상 컴퓨팅 디바이스일 수도 있다. 일부 실시예에서, 제2 디바이스는 도 1에 도시된 소스 디바이스(110)에서 구현될 수 있다.
블록 1310에서, 제2 디바이스는 메타데이터 파일 중 데이터 세트중의 디스크립터를 결정한다. 메타데이터 파일은 비디오 비트스트림에 관한 중요한 정보(예: 프로필, 타이어(tier) 및 레벨 등)를 포함할 수 있다. 예를 들어, 메타데이터 파일은 DASH미디어 프리젠테이션 기술(media presentation description, MPD)일 수 있다. 디스크립터가 존재한다는 것은 데이터 세트의 표현이 ESR임을 지시한다. 다시 말해, 데이터 세트가 디스크립터를 포함하면 데이터 세트의 표현이 ESR임을 의미한다.
블록 1320에서, 제2 디바이스는 메타데이터 파일을 제1 디바이스로 전송한다.
방법(1300)에 따르면, ESR을 식별하기 위해 디스크립터가 사용된다. ESR을 식별하기 위해 속성을 활용하는 기존 솔루션과 비교하여, 제안된 방법은 ESR을 보다 효율적으로 식별할 수 있다는 장점이 있다.
일부 실시예에서, 디스크립터는 URN(Uniform Resource Name) 스트링과 동일한 속성을 갖는 데이터 구조로 정의될 수 있다. 일례에서, 메타 데이터 파일은 미디어 프리젠테이션 기술(media presentation description, MPD)일 수 있고, 데이터 구조는 MPD의 EssentialProperty일 수 있다. 또한, 속성은 SchemeIdUri 속성일 수 있고, URN 스트링은 "urn:mpeg:dash:esr:2022"일 수 있다. 즉, 디스크립터는 특정 URN 스트링(예: "urn:mpeg:dash:esr:2022")과 동일한 @schemeIdUri 값을 갖는 EssentialProperty 디스크립터로 정의될 수 있다. 여기에 설명된 URN 스트링의 가능한 구현은 단지 예시일 뿐이므로 어떤 방식으로든 본 개시 내용을 제한하는 것으로 해석되어서는 안 된다는 점을 이해해야 한다.
다른 예에서, 메타데이터 파일은 MPD일 수 있고, 데이터 구조는 MPD 중의 SupplementalProperty일 수 있다. 마찬가지로 속성은 SchemeIdUri 속성일 수 있으며 URN 스트링은 "urn:mpeg:dash:esr:2022"일 수 있다. 즉, 디스크립터는 특정 URN 스트링(예: "urn:mpeg:dash:esr:2022")과 동일한 @schemeIdUri 값을 가진 SupplementalProperty 디스크립터로 정의될 수 있다. 여기에 설명된 URN 스트링의 가능한 구현은 단지 예시일 뿐이므로 어떤 방식으로든 본 개시 내용을 제한하는 것으로 해석되어서는 안 된다는 점을 이해해야 한다.
일부 실시예에서, 데이터 세트는 적응 세트일 수 있다. 이 경우, 적응 세트에 포함된 모든 표현은 ESR일 수 있다. 대안적으로, 적응 세트의 표현 중 일부가 ESR일 수 있다.
일부 실시예에서, 데이터 세트는 표현일 수 있다. 이 경우 표현은 ESR일 수 있다.
일부 실시예에서, ESR은 MSR의 표현-레벨 속성의 세트를 통해 메인 스트림 표현(MSR)과 연관될 수 있다. 예를 들어, 표현-레벨 속성의 세트는 associationId 속성과 associationType 속성을 포함할 수 있다. 예를 들어, ESR의 id 속성은 associationType 속성의 값이 "aest"와 동일한 associationId 속성에 포함된 값으로 참조될 수 있다. 다시 말해, ESR은 다음과 같이 MSR의 표현-레벨 속성 @associationId 및 @associationType를 통해 MSR과 연관될 수 있다: 연관된 ESR의 @id는, 속성 @associationId에 포함된 값에 의해 참조되어야 하며, 상기 속성 @associationId에 대해 속성 @associationType의 해당값이 "aest"와 동일하다. 이에 따라, ESR은 해당 MSR과 연관될 수 있으며, 이는 EDRAP 기반 비디오 스트리밍의 구현을 용이하게 한다.
본 개시의 실시예는 별도로 구현될 수 있다. 대안적으로, 본 개시의 실시예는 임의의 적절한 조합으로 구현될 수 있다. 본 개시의 구현은 다음 조항을 고려하여 설명될 수 있으며, 그 특징은 임의의 합리적인 방식으로 결합될 수 있다.
조항 1. 비디오 처리 방법으로서, 제1 디바이스에서 제2 디바이스로부터 메타데이터 파일을 수신하는 단계; 및 상기 메타데이터 파일 중 데이터 세트 중의 디스크립터를 결정하는 단계를 포함하되, 상기 디스크립터의 존재는 상기 데이터 세트 중의 표현이 외부 스트림 표현(ESR)임을 지시하는, 비디오 처리 방법.
조항 2. 비디오 처리 방법으로서, 제2 디바이스에서 메타데이터 파일 중 데이터 세트 중의 디스크립터를 결정하는 단계, 상기 디스크립터의 존재는 상기 데이터 세트 중의 표현이 ESR임을 지시하고; 및 상기 메타데이터 파일을 제1 디바이스로 전송하는 단계;를 포함하는, 비디오 처리 방법.
조항 3. 조항 1-2 중 어느 하나에 있어서, 상기 디스크립터는 URN(Uniform Resource Name) 스트링과 동일한 속성을 갖는 데이터 구조로 정의되는, 방법.
조항 4. 조항 3에 있어서, 상기 메타데이터 파일은 미디어 프리젠테이션 기술(media presentation description, MPD)이고, 상기 데이터 구조는 상기 MPD 중 EssentialProperty인, 방법.
조항 5. 조항 3에 있어서, 상기 메타데이터 파일은 미디어 프리젠테이션 기술(media presentation description, MPD)이고, 상기 데이터 구조는 상기 MPD 중 SupplementalProperty인, 방법.
조항 6. 조항 4-5 중 어느 하나에 있어서, 상기 속성은 schemeIdUri 속성이고, 상기 URN 스트링은 "urn:mpeg:dash:esr:2022"인, 방법.
조항 7. 조항 1-6 중 어느 하나에 있어서, 상기 데이터 세트는 적응 세트(adaptation set) 또는 표현인, 방법.
조항 8. 조항 1-6 중 어느 하나에 있어서, 상기 데이터 세트는 적응 세트이고, 상기 적응 세트 중 표현 전부 또는 일부가 ESR인, 방법.
조항 9. 조항 1-8 중 어느 하나에 있어서, 상기 ESR은 메인 스트림 표현(MSR) 중의 표현-레벨 속성의 세트를 통해 MSR과 연관되는, 방법.
조항 10. 조항 9에 있어서, 상기 표현-레벨 속성의 세트는 associationId 속성 및associationType 속성을 포함하는, 방법.
조항 11. 조항10에 있어서, 상기 ESR의 id 속성은 AssociationId 속성에 포함된 값에 의해 참조되고, 상기 AssociationId 속성에 대해 상기 AssociationType 속성 중의 값은 "aest"과 동일하는, 방법.
조항 12. 비디오 데이터를 처리하는 장치로서, 프로세서 및 명령어를 갖는 비일시적 메모리를 포함하고, 상기 명령어는 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 조항1-11 중 어느 하나에 따른 방법을 수행하도록 하는 장치.
조항 13. 비일시적 컴퓨터 판독가능 저장 매체로서, 프로세서로 하여금 조항1-11 중 어느 한 항에 따른 방법을 수행하도록 하는 명령어를 저장하는, 비일시적 컴퓨터 판독가능 저장 매체.
예시 디바이스
도 14는 본 개시의 다양한 실시예가 구현될 수 있는 컴퓨팅 디바이스(1400)의 블록도를 나타낸다. 컴퓨팅 디바이스(1400)는 소스 디바이스(110)(또는 비디오 인코더(114 또는 200)) 또는 목적지 디바이스(120)(또는 비디오 디코더(124 또는 300))로서 구현되거나 그 내에 포함될 수 있다.
도 14에 도시된 컴퓨팅 디바이스(1400)는 단지 예시를 위한 것이며, 어떤 방식으로든 본 개시의 실시예의 기능 및 범위에 대한 어떠한 제한도 제안하지 않는다는 것이 이해될 것이다.
도 14에 도시된 바와 같이, 컴퓨팅 디바이스(1400)는 범용 컴퓨팅 디바이스(1400)를 포함한다. 컴퓨팅 디바이스(1400)는 적어도 하나 이상의 프로세서 또는 프로세싱 유닛(1410), 메모리(1420), 저장 유닛(1430), 하나 이상의 통신 유닛(1440), 하나 이상의 입력 디바이스(1450), 및 하나 이상의 출력 디바이스(1460)를 포함할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(1400)는 컴퓨팅 능력을 갖는 임의의 사용자 단말 또는 서버 단말로서 구현될 수 있다. 서버 단말은 서비스 제공자에 의해 제공되는 서버, 대규모 컴퓨팅 디바이스 등이 될 수 있다. 사용자 단말은 예를 들어 이동 전화, 스테이션, 유닛, 디바이스, 멀티미디어 컴퓨터, 멀티미디어 태블릿, 인터넷 노드, 커뮤니케이터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 네트북 컴퓨터, 태블릿 컴퓨터, 개인 통신 시스템(PCS) 디바이스, 개인 내비게이션 디바이스, 개인 디지털 보조(PDA), 오디오/비디오 플레이어, 디지털 카메라/비디오 카메라, 위치 확인 디바이스, 텔레비전 수신기, 라디오 방송 수신기, 전자책 디바이스, 게임 디바이스 또는 이들의 조합, 그리고 이들 디바이스의 액세서리 및 주변 디바이스 또는 이들의 조합을 포함하는 임의의 유형의 이동 단말, 고정 단말 또는 휴대용 단말일 수 있다. 컴퓨팅 디바이스(1400)는 사용자에 대한 임의의 유형의 인터페이스(예를 들어 "웨어러블" 회로 등)를 지원할 수 있다는 것이 고려될 것이다.
프로세싱 유닛(1410)은 물리적 또는 가상 프로세서일 수 있으며, 메모리(1420)에 저장된 프로그램을 기반으로 다양한 프로세스를 구현할 수 있다. 멀티 프로세서 시스템에서, 다수의 프로세싱 유닛은 컴퓨팅 디바이스(1400)의 병렬 처리 능력을 향상시키기 위해 컴퓨터 실행 가능 명령어를 병렬로 실행한다. 프로세싱 유닛(1410)은 중앙 처리 유닛(CPU), 마이크로프로세서, 컨트롤러 또는 마이크로컨트롤러라고도 불릴 수 있다.
컴퓨팅 디바이스(1400)는 전형적으로 다양한 컴퓨터 저장 매체를 포함한다. 이러한 매체는 휘발성 및 비휘발성 매체, 또는 분리형 및 비분리형 매체를 포함하지만 이에 제한되지 않는, 컴퓨팅 디바이스(1400)에 의해 액세스 가능한 임의의 매체일 수 있다. 메모리 (1420)는 휘발성 메모리(예를 들어, 레지스터, 캐시, 랜덤 액세스 메모리(Random Access Memory, RAM)), 비휘발성 메모리(읽기 전용 메모리(ROM), 전기적으로 지울 수 있는 프로그램 가능 읽기 전용 메모리(EEPROM) 또는 플래시 메모리) 또는 이들의 조합일 수 있다. 저장 유닛(1430)은 임의의 분리 가능 또는 비분리 가능 매체일 수 있으며, 정보 및/또는 데이터를 저장하는 데 사용될 수 있고 컴퓨팅 디바이스(1400)에서 액세스될 수 있는 메모리, 플래시 메모리 드라이브, 자기 디스크 또는 다른 매체와 같은 기계 판독 가능 매체를 포함할 수 있다.
컴퓨팅 디바이스(1400)는 추가적인 분리형/비분리형, 휘발성/비휘발성 메모리 매체를 더 포함할 수 있다. 도 14에는 도시되지 않았지만, 분리형 비휘발성 자기 디스크를 읽거나 쓰기 위한 자기 디스크 드라이브와, 분리형 비휘발성 광 디스크를 읽거나 쓰기 위한 광 디스크 드라이브를 제공할 수 있다. 이러한 경우, 각 드라이브는 하나 이상의 데이터 매체 인터페이스를 통해 버스(미도시)에 연결될 수 있다.
통신 유닛(1440)은 통신 매체를 통해 추가 컴퓨팅 디바이스와 통신한다. 또한, 컴퓨팅 디바이스(1400)의 구성요소의 기능은 단일 컴퓨팅 클러스터 또는 통신 연결을 통해 통신할 수 있는 다중 컴퓨팅 머신에 의해 구현될 수 있다. 따라서, 컴퓨팅 디바이스(1400)는 하나 이상의 다른 서버, 네트워크로 연결된 개인용 컴퓨터(PC) 또는 추가 일반 네트워크 노드와의 논리적 연결을 사용하여 네트워크로 연결된 환경에서 작동할 수 있다.
입력 디바이스(1450)는 마우스, 키보드, 트래킹볼, 음성 입력 디바이스 등과 같은 다양한 입력 디바이스 중 하나 이상일 수 있다. 출력 디바이스(1460)는 디스플레이, 라우드스피커(loudspeaker), 프린터 등과 같은 다양한 출력 디바이스 중 하나 이상일 수 있다. 통신 유닛(1440)에 의해, 컴퓨팅 디바이스(1400)는, 사용자로 하여금 컴퓨팅 디바이스(1400)와 상호작용할 수 있게 하는 하나 이상의 디바이스 또는 필요한 경우 컴퓨팅 디바이스(1400)가 하나 이상의 다른 컴퓨팅 디바이스와 통신할 수 있게 하는 임의의 디바이스(네트워크 카드, 모뎀 등)를 사용하여, 저장 디바이스 및 디스플레이 디바이스와 같은 하나 이상의 외부 디바이스(미도시)와 추가로 통신할 수 있다. 이러한 통신은 입출력(I/O) 인터페이스(미도시)를 통해 수행될 수 있다.
일부 실시예에서, 단일 디바이스에 통합되는 대신, 컴퓨팅 디바이스(1400)의 일부 또는 모든 구성요소가 클라우드 컴퓨팅 아키텍처에 마련될 수 있다. 클라우드 컴퓨팅 아키텍처에서 구성요소는 원격으로 제공될 수 있으며 함께 작동하여 본 개시에 설명된 기능을 구현할 수 있다. 일부 실시예에서, 클라우드 컴퓨팅은 컴퓨팅, 소프트웨어, 데이터 액세스 및 저장 서비스를 제공하며, 이는 단말 사용자가 이러한 서비스를 제공하는 시스템 또는 하드웨어의 물리적 위치 또는 구성을 인식할 필요를 없게 한다. 다양한 실시예에서, 클라우드 컴퓨팅은 적절한 프로토콜을 사용하여 광역 네트워크(예: 인터넷)를 통해 서비스를 제공한다. 예를 들어, 클라우드 컴퓨팅 제공자는 웹 브라우저나 기타 컴퓨팅 구성요소를 통해 액세스할 수 있는 광역 네트워크를 통해 애플리케이션을 제공한다. 클라우드 컴퓨팅 아키텍처의 소프트웨어 또는 구성요소와 해당 데이터는 원격 위치의 서버에 저장될 수 있다. 클라우드 컴퓨팅 환경의 컴퓨팅 자원은 원격 데이터 센터의 위치에 병합되거나 분산될 수 있다. 클라우드 컴퓨팅 인프라는 사용자를 위한 단일 액세스 포인트로 작동하지만 공유 데이터 센터를 통해 서비스를 제공할 수 있다. 따라서 클라우드 컴퓨팅 아키텍처는 원격 위치의 서비스 제공자로부터 본 문에서 설명된 구성요소 및 기능을 제공하는 데 사용될 수 있다. 대안적으로, 이들은 기존 서버로부터 제공될 수도 있고, 직접적으로 설치되거나 또는 다른방식으로 클라이언트 디바이스에 설치될 수 있다.
컴퓨팅 디바이스(1400)는 본 개시의 실시예에서 비디오 인코딩/디코딩을 구현하는 데 사용될 수 있다. 메모리(1420)는 하나 이상의 프로그램 명령어를 갖는 하나 이상의 비디오 코딩 모듈(1425)을 포함할 수 있다. 이러한 모듈은 본 문에서 설명된 다양한 실시예의 기능을 수행하기 위해 프로세셍 유닛(1410)에 의해 액세스 가능하고 실행 가능한다.
비디오 인코딩을 수행하는 예시적인 실시예에서, 입력 디바이스(1450)는 인코딩될 입력(1470)으로서 비디오 데이터를 수신할 수 있다. 비디오 데이터는 예를 들어 비디오 코딩 모듈(1425)에 의해 처리되어 인코딩된 비트스트림을 생성할 수 있다. 인코딩된 비트스트림은 출력 디바이스(1460)를 통해 출력(1480)으로서 제공될 수 있다.
비디오 디코딩을 수행하는 예시적인 실시예에서, 입력 디바이스(1450)는 입력(1470)으로서 인코딩된 비트스트림을 수신할 수 있다. 인코딩된 비트스트림은 예를 들어 비디오 코딩 모듈(1425)에 의해 처리되어 디코딩된 비디오 데이터를 생성할 수 있다. 디코딩된 비디오 데이터는 출력 디바이스(1460)를 통해 출력(1480)으로서 제공될 수 있다.
본 개시 내용은 바람직한 실시예를 참조하여 특별히 도시되고 설명되었지만, 당업자는 첨부된 청구항에 의해 한정된 바와 같은 본 출원의 사상 및 범위를 벗어나지 않고 형태 및 세부 사항의 다양한 변경이 이루어질 수 있음을 이해할 것이다. 그러한 변형은 본 출원의 범위에 포함되도록 의도된다. 따라서, 본 출원의 실시예에 대한 전술한 설명은 제한하려는 의도가 아니다.

Claims (13)

  1. 비디오 처리 방법에 있어서,
    제1 디바이스에서 제2 디바이스로부터 메타데이터 파일을 수신하는 단계; 및
    상기 메타데이터 파일 중 데이터 세트 중의 디스크립터를 결정하는 단계를 포함하되, 상기 디스크립터의 존재는 상기 데이터 세트 중의 표현이 왜부 스트림 표현(ESR)임을 지시하는, 비디오 처리 방법.
  2. 비디오 처리 방법에 있어서,
    제2 디바이스에서 메타데이터 파일 중 데이터 세트 중의 디스크립터를 결정하는 단계, 상기 디스크립터의 존재는 상기 데이터 세트 중의 표현이 ESR임을 지시하고; 및
    상기 메타데이터 파일을 제1 디바이스로 전송하는 단계;를 포함하는, 비디오 처리 방법.
  3. 제1항 내지 제2항 중 어느 한 항에 있어서,
    상기 디스크립터는 URN(Uniform Resource Name) 스트링과 동일한 속성을 갖는 데이터 구조로 정의되는, 방법.
  4. 제3항에 있어서,
    상기 메타데이터 파일은 미디어 프리젠테이션 기술(media presentation description, MPD)이고, 상기 데이터 구조는 상기 MPD 중 EssentialProperty인, 방법.
  5. 제3항에 있어서,
    상기 메타데이터 파일은 미디어 프리젠테이션 기술(media presentation description, MPD)이고, 상기 데이터 구조는 상기 MPD 중 SupplementalProperty인, 방법.
  6. 제4항 내지 제5항 중 어느 한 항에 있어서,
    상기 속성은 schemeIdUri 속성이고, 상기 URN 스트링은 "urn:mpeg:dash:esr:2022"인, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 데이터 세트는 적응 세트(adaptation set) 또는 표현인, 방법.
  8. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 데이터 세트는 적응 세트이고, 상기 적응 세트 중 표현 전부 또는 일부가 ESR인, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 ESR은 메인 스트림 표현(MSR) 중의 표현-레벨 속성의 세트를 통해 MSR과 연관되는, 방법.
  10. 제9항에 있어서,
    상기 표현-레벨 속성의 세트는 associationId 속성 및associationType 속성을 포함하는, 방법.
  11. 제10항에 있어서,
    상기 ESR의 id 속성은 상기 AssociationId 속성에 포함된 값에 의해 참조되고, 상기 AssociationId 속성에 대해 상기 AssociationType 속성 중의 값은 "aest"과 동일하는, 방법.
  12. 비디오 데이터를 처리하는 장치로서,
    프로세서 및 명령어를 갖는 비일시적 메모리를 포함하고,
    상기 명령어는 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하도록 하는 장치.
  13. 비일시적 컴퓨터 판독가능 저장 매체로서,
    프로세서로 하여금 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하도록 하는 명령어를 저장하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020247011049A 2021-10-01 2022-09-29 비디오 처리 방법, 장치 및 매체 KR20240052832A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163251336P 2021-10-01 2021-10-01
US63/251,336 2021-10-01
PCT/US2022/077305 WO2023056392A1 (en) 2021-10-01 2022-09-29 Method, apparatus, and medium for video processing

Publications (1)

Publication Number Publication Date
KR20240052832A true KR20240052832A (ko) 2024-04-23

Family

ID=85783650

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020247011063A KR20240052834A (ko) 2021-10-01 2022-09-29 비디오 처리 방법, 장치 및 매체
KR1020247011049A KR20240052832A (ko) 2021-10-01 2022-09-29 비디오 처리 방법, 장치 및 매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247011063A KR20240052834A (ko) 2021-10-01 2022-09-29 비디오 처리 방법, 장치 및 매체

Country Status (3)

Country Link
KR (2) KR20240052834A (ko)
CN (2) CN118044199A (ko)
WO (2) WO2023056392A1 (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451229B2 (en) * 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message
US20070110074A1 (en) * 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
DK2526671T3 (en) * 2010-01-18 2017-02-27 ERICSSON TELEFON AB L M (publ) METHODS AND DEVICES FOR HTTP MEDIA FLOW DISTRIBUTION
US9497290B2 (en) * 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
KR20120034550A (ko) * 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9661104B2 (en) * 2011-02-07 2017-05-23 Blackberry Limited Method and apparatus for receiving presentation metadata
US10616297B2 (en) * 2012-07-09 2020-04-07 Futurewei Technologies, Inc. Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol
GB2509953B (en) * 2013-01-18 2015-05-20 Canon Kk Method of displaying a region of interest in a video stream
US9338209B1 (en) * 2013-04-23 2016-05-10 Cisco Technology, Inc. Use of metadata for aiding adaptive streaming clients
US10904642B2 (en) * 2018-06-21 2021-01-26 Mediatek Singapore Pte. Ltd. Methods and apparatus for updating media presentation data
US11616822B2 (en) * 2019-09-30 2023-03-28 Tencent America LLC Session-based information for dynamic adaptive streaming over HTTP

Also Published As

Publication number Publication date
WO2023056386A1 (en) 2023-04-06
CN118056407A (zh) 2024-05-17
CN118044199A (zh) 2024-05-14
KR20240052834A (ko) 2024-04-23
WO2023056392A1 (en) 2023-04-06

Similar Documents

Publication Publication Date Title
US11888913B2 (en) External stream representation properties
WO2023137321A2 (en) Method, apparatus, and medium for video processing
WO2023049915A1 (en) Method, device, and medium for video processing
KR20240052832A (ko) 비디오 처리 방법, 장치 및 매체
WO2023104064A1 (en) Method, apparatus, and medium for media data transmission
WO2023081820A1 (en) Method, apparatus, and medium for media processing
CN118303014A (en) Method, apparatus and medium for media processing
WO2023051757A1 (en) Methods, apparatuses, and medium for video streaming
WO2023159143A2 (en) Method, apparatus, and medium for video processing
WO2023158998A2 (en) Method, apparatus, and medium for video processing
WO2023056455A1 (en) Methods, apparatus, and medium for video prcessing
WO2023137284A2 (en) Method, apparatus, and medium for video processing
WO2023137281A2 (en) Method, apparatus, and medium for video processing
KR20240107160A (ko) 동영상 처리 방법, 장치 및 매체
WO2023092019A1 (en) Method, apparatus, and medium for video processing
WO2023056360A1 (en) Method, apparatus and medium for video processing
WO2023137477A2 (en) Method, apparatus, and medium for video processing
KR20240068711A (ko) 동영상을 처리하는 방법, 장치 및 매체
CN118266221A (en) Method, apparatus and medium for video processing
WO2024006291A1 (en) Edrap in dash based on ari track