KR20230004339A - 사전선택의 목적의 시그널링 - Google Patents

사전선택의 목적의 시그널링 Download PDF

Info

Publication number
KR20230004339A
KR20230004339A KR1020220080683A KR20220080683A KR20230004339A KR 20230004339 A KR20230004339 A KR 20230004339A KR 1020220080683 A KR1020220080683 A KR 1020220080683A KR 20220080683 A KR20220080683 A KR 20220080683A KR 20230004339 A KR20230004339 A KR 20230004339A
Authority
KR
South Korea
Prior art keywords
video
picture
indicator
preselection
media data
Prior art date
Application number
KR1020220080683A
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 KR20230004339A publication Critical patent/KR20230004339A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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
    • H04N21/23439Processing 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 for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/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
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47208End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting near-video-on-demand content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

미디어 데이터를 처리하는 방법. 이 방법은, 미디어 데이터와 미디어 데이터 파일 사이의 변환을 위해, 사전선택 요소가 표시자를 포함한다고 결정하는 단계 ㅡ 표시자는 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역 상에 오버레이된 것처럼 나타나는 픽처-인-픽처 경험을 제공하기 위한 것임을 나타냄 ㅡ; 및 표시자 기초하여 미디어 데이터와 미디어 데이터 파일 사이의 변환을 수행하는 단계를 포함한다. 대응하는 비디오 코딩 장치 및 비일시적인 컴퓨터 판독가능한 기록 매체도 개시된다.

Description

사전선택의 목적의 시그널링{SIGNALING THE PURPOSE OF PRESELECTION}
관련 출원의 상호참조
적용가능한 특허법 및/또는 파리 협약에 따른 규칙들 하에서, 본 출원은 2021년 6월 30일 출원된 미국 가출원 제63/216,975호에 대한 우선권을 주장한다. 법에 따른 모든 목적을 위해, 앞서 언급된 출원의 전체 개시내용은 본 출원의 개시내용의 일부로서 참조에 의해 포함된다.
본 개시내용은 대체로 비디오 스트리밍, 특히 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(Dynamic Adaptive Streaming over Hypertext Transfer Protocol)(DASH)에서의 픽처-인-픽처(picture-in-picture) 서비스들의 지원에 관한 것이다.
디지털 비디오는 인터넷 및 기타의 디지털 통신 네트워크들에서 이용되는 가장 큰 대역폭을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 접속된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 이용에 대한 대역폭 수요는 계속 증가할 것으로 예상된다.
개시된 양태들/실시예들은 사전선택 요소(preselection element)에 표시자를 통합하는 기술들을 제공한다. 한 실시예에서, 표시자는, 사전선택의 목적이 픽처-인-픽처(일명, 픽처-인-픽처 경험 또는 픽처-인-픽처 서비스들)를 포함하는 것임을 나타낸다. 따라서, 비디오 코딩 프로세스는 종래의 비디오 코딩 기술들에 비해 개선된다.
제1 양태는 미디어 데이터를 처리하는 방법에 관한 것이다. 이 방법은, 미디어 데이터와 미디어 데이터 파일 사이의 변환을 위해, 사전선택 요소가 표시자를 포함한다고 결정하는 단계 ㅡ 표시자는, 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역 상에 오버레이된 것처럼 나타나는 픽처-인-픽처 경험을 제공하기 위한 것임을 나타냄 ㅡ; 및 표시자 기초하여 미디어 데이터와 미디어 데이터 파일 사이의 변환을 수행하는 단계를 포함한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 @tag 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 @value 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 사전선택 요소의 목적이 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 "PicInPic"의 값을 갖는다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 사전선택 요소의 목적이 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 "PicInPic"의 값을 갖는 @tag 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 사전선택 요소의 목적이 픽처-인-픽처 경험을 제공하는 것임을 나타내는 "PicInPic"의 값을 갖는 @value 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 사전선택 요소에서 CommonAttributesElements 요소 내에 @tag 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 사전선택 요소에서 Role 요소의 @value 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 디코더에 대한 선택 목적으로 이용될 수 있는 표현, 적응 세트, 또는 사전선택 요소를 역시 명시하는 @tag 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 역할 주석부기 방식에 관한 정보를 명시하는 Role 요소의 @value 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 코딩된 비디오 데이터 유닛들이 부가 비디오의 대응하는 비디오 데이터 유닛들로 대체될 수 있는지를 명시하는 @dataUnitsReplacable 속성을 사전선택 요소가 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 "PicInPic"의 값을 갖는 @tag 속성일 때 사전선택 요소는 @dataUnitsReplacable 속성만을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 사전선택 요소는 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 각각의 코딩된 비디오 데이터 유닛에 대한 식별자(ID)를 명시하는 @regionsIds 속성을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 표시자가 "PicInPic"의 값을 갖는 @tag 속성일 때 사전선택 요소는 @regionsIds 속성만을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 사전선택 요소가 미디어 프레젠테이션 서술(Media Presentation Description)(MPD) 파일에 배치된다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 사전선택 요소가 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH) 사전선택 요소라는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 변환이 미디어 데이터를 비트스트림으로 인코딩하는 것을 포함한다는 것을 제공한다.
선택사항으로서, 선행 양태들 중 임의의 것에서, 본 양태의 또 다른 구현은, 변환이 비트스트림으로부터 미디어 데이터를 디코딩하는 것을 포함한다는 것을 제공한다.
프로세서 및 명령어들을 갖춘 비일시적인 메모리를 포함하는 비디오 데이터를 처리하기 위한 장치로서, 명령어들은, 프로세서에 의한 실행시, 프로세서로 하여금: 미디어 데이터와 미디어 데이터 파일 사이의 변환을 위해, 사전선택 요소가 표시자를 포함한다고 결정하게 하고 ㅡ 표시자는, 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역 상에 오버레이된 것처럼 나타나는 픽처-인-픽처 경험을 위한 것임을 나타냄 ㅡ; 및 표시자 기초하여 미디어 데이터와 미디어 데이터 파일 사이의 변환을 수행하게 한다.
비디오 처리 장치에 의해 수행되는 방법에 의해 생성된 비디오의 미디어 프레젠테이션 서술(MPD)을 저장한 비일시적인 컴퓨터 판독가능한 기록 매체로서, 이 방법은: 사전선택 요소가 표시자를 포함한다고 결정하는 단계 ㅡ 표시자는, 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역에 오버레이되는 것처럼 나타나는 픽처-인-픽처(Picture-in-Picture) 경험임을 나타냄 ㅡ; 및 표시자에 기초하여 MPD를 생성하는 단계를 포함한다.
명료성을 위해, 전술한 실시예들 중 임의의 하나는 본 개시내용의 범위 내에서 새로운 실시예를 생성하기 위해 다른 전술한 실시예들 중 임의의 하나 이상과 조합될 수 있다.
이들 및 다른 피처들은 첨부된 도면들 및 청구항들과 관련하여 취해지는 이하의 상세한 설명으로부터 더 명확하게 이해될 것이다.
본 개시내용의 더 완전한 이해를 위해, 이제, 유사한 참조 번호가 유사한 부분을 나타내는 첨부된 도면에 관한 이하의 간략한 설명과 상세한 설명을 참조한다.
도 1은 DASH에서 이용되는 미디어 프레젠테이션 서술(MPD)에 의한 비디오 또는 미디어 데이터의 서술을 나타내는 개략도이다.
도 2는 타일들, 슬라이스들, 및 서브픽처들로 파티션화된 픽처의 한 예이다.
도 3은 서브픽처 기반의 뷰포트 종속 360° 비디오 전달 방식의 한 예이다.
도 4는 서브픽처 추출의 한 예이다.
도 5는 VVC(versatile video coding) 서브픽처에 기초한 픽처-인-픽처 지원의 한 예이다.
도 6은 한 예시적인 비디오 처리 시스템을 도시하는 블록도이다.
도 7은 비디오 처리 장치의 블록도이다.
도 8은 비디오 코딩 시스템의 한 예를 나타내는 블록도이다.
도 9는 비디오 인코더의 한 예를 나타내는 블록도이다.
도 10은 비디오 디코더의 한 예를 나타내는 블록도이다.
도 11은 본 개시내용의 한 실시예에 따른 미디어 데이터를 처리하는 방법이다.
하나 이상의 실시예의 예시적 구현이 이하에서 제공되지만, 개시된 시스템들 및/또는 방법들은 현재 알려져 있든 이미 존재하는 것이든지에 관계없이 임의 갯수의 기술을 이용하여 구현될 수 있다는 것을 처음부터 이해하여야 한다. 본 개시내용은, 어떠한 방식으로든, 여기서 예시되고 설명된 예시적 설계 및 구현을 포함한, 이하에서 나타내는 예시적 구현, 도면, 및 기술로 제한되어서는 안 되며, 그 전체 범위의 균등물과 함께 첨부된 청구항들의 범위 내에서 수정될 수 있다.
H.266 용어는 일부 설명에서 이해의 편의를 위해서만 사용되며, 개시된 기술들의 범위를 제한하기 위한 것이 아니다. 따라서, 여기서 설명된 기술들은 다른 비디오 코덱 프로토콜들 및 설계들에도 적용가능하다.
비디오 코딩 표준들은 주로, 널리 알려진 ITU-T(International Telecommunication Union - Telecommunication) 및 ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 표준들의 개발을 통해 발전했다. ITU-T는 H.261과 H.263을 생성했고, ISO/IEC는 Moving Picture Experts Group(MPEG)-1과 MPEG-4 Visual을 생성했고, 2개의 조직은 공동으로 H.262/MPEG-2 Video와 H.264/MPEG-4 Advanced Video Coding (AVC) 및 H.265/High Efficiency Video Coding(HEVC) 표준들을 생성했다.
H.262 이후로, 비디오 코딩 표준들은, 시간적 예측과 변환 코딩이 이용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC를 넘어 미래의 비디오 코딩 기술들을 탐색하기 위해, JVET(Joint Video Exploration Team)가 VCEG(Video Coding Experts Group)와 MPEG에 의해 2015년에 공동으로 설립되었다. 그 이후로, JVET에 의해 많은 새로운 방법들이 채택되었고 JEM(Joint Exploration Model)이라는 레퍼런스 소프트웨어에 적용되었다.
2018년 4월, VCEG(Q6/16)와 ISO/IEC JTC1 SC29/WG11(MPEG) 사이의 JVET(Joint Video Expert Team)가 HEVC에 비해 50 퍼센트(50%) 비트레이트 감소를 목표로 하는 VVC(Versatile Video Coding) 표준 작업을 위해 창설되었다. VVC 버전 1은 2020년 7월에 완성되었다.
VVC 표준(ITU-T H.266 | ISO/IEC 23090-3) 및 연관된 VSEI(Versatile Supplemental Enhancement Information) 표준(ITU-T H.274 | ISO/IEC 23002-7)은, 텔레비전 방송, 화상 회의, 또는 저장 매체로부터의 재생 등의 전통적인 이용과, 적응형 비트 레이트 스트리밍, 비디오 영역 추출, 복수의 코딩된 비디오 비트스트림으로부터의 콘텐츠의 합성 및 병합, 멀티뷰 비디오, 스케일가능한 계층화된 코딩, 및 뷰포트 적응형 삼백육십도(360°) 몰입형 미디어 등의 또한 더 새롭고 더 진보된 이용 사례 양쪽 모두를 포함한, 최대로 넓은 범위의 응용에서의 이용을 위해 설계되었다.
필수 비디오 코딩(EVC) 표준(ISO/IEC 23094-1)은, MPEG에 의해 최근에 개발된 또 다른 비디오 코딩 표준이다.
미디어 스트리밍 응용들은 전형적으로 인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP) 및 하이퍼텍스트 전송 프로토콜(HTTP) 트랜스포트 방법들에 기초하며, 전형적으로 ISO 베이스 미디어 파일 포맷(ISOBMFF) 등의 파일 포맷에 의존한다. 한 이러한 스트리밍 시스템이 DASH이다. ISOBMFF 및 DASH에서 비디오 포맷을 이용하는 경우, ISO/IEC 14496-15: "Information technology ― Coding of audio-visual objects ― Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format,"에서의 AVC 파일 포맷 및 HEVC 파일 포맷 등의, 비디오 포맷 특유의 파일 포맷 명세가, ISOBMFF 트랙들과 DASH 표현들 및 세그먼트들에서 비디오 콘텐츠를 캡슐화하는데 필요할 것이다. 비디오 비트스트림들에 관한 중요한 정보, 예를 들어, 프로파일, 티어, 및 레벨과, 기타의 여러 정보들은, 콘텐츠 선택 목적을 위해, 예를 들어, 스트리밍 세션 시작시 초기화와 스트리밍 세션 동안의 스트림 적응 양쪽 모두를 위한 적절한 미디어 세그먼트들의 선택을 위해, 파일 포맷 레벨 메타데이터 및/또는 DASH 미디어 프레젠테이션 서술(MPD)로서 노출될 필요가 있다.
마찬가지로, ISOBMFF에서 이미지 포맷을 이용하기 위해, ISO/IEC 23008-12: "Information technology ― High efficiency coding and media delivery in heterogeneous environments ― Part 12: Image File Format,"에서의 AVC 이미지 파일 포맷 및 HEVC 이미지 파일 포맷 등의, 이미지 포맷 특유의 파일 포맷 명세가 필요할 것이다.
ISOBMFF에 기초한 VVC 비디오 콘텐츠 저장을 위한 파일 포맷인, VVC 비디오 파일 포맷은, MPEG에 의해 현재 개발 중이다. VVC 비디오 파일 포맷의 최신 초안 명세가, 2020년 11월에 ISO/IEC JTC 1/SC 29/WG 03 output document N0035, "Potential improvements on Carriage of VVC and EVC in ISOBMFF,"에 포함되었다.
ISOBMFF에 기초하여 VVC를 이용하여 코딩된 이미지 콘텐츠를 저장하기 위한 파일 포맷인 VVC 이미지 파일 포맷이 MPEG에 의해 현재 개발 중이다. VVC 이미지 파일 포맷의 최신 초안 명세가, ISO/IEC JTC 1/SC 29/WG 03 output document N0038, "Information technology ― High efficiency coding and media delivery in heterogeneous environments ― Part 12: Image File Format ― Amendment 3: Support for VVC, EVC, slideshows and other improvements (CD stage),"에 2020년 11월에 포함되었다.
도 1은, DASH에서 이용되는 MPD(100)에 의한 비디오 또는 미디어 데이터의 서술을 나타내는 개략도이다. MPD(100)는, 기간들(110), 적응 세트들(120), 표현들(130), 및 세그먼트들(140)의 관점에서 미디어 스트림들을 서술한다.
DASH에서, 멀티미디어 콘텐츠의 비디오 및/또는 오디오 데이터에 대한 복수의 표현이 있을 수 있고, 상이한 표현들은 상이한 코딩 특성들(예를 들어, 비디오 코딩 표준의 상이한 프로파일들 또는 레벨들, 상이한 비트레이트들, 상이한 공간 해상도들 등)에 대응할 수 있다. 이러한 표현들의 내용목록(manifest)은 MPD 데이터 구조에서 정의될 수 있다. 미디어 프레젠테이션은 DASH 스트리밍 클라이언트 디바이스(예를 들어, 스마트폰, 전자 태블릿, 랩탑 등)에 액세스할 수 있는 구조화된 데이터 모음에 대응할 수 있다. DASH 스트리밍 클라이언트 디바이스는 클라이언트 디바이스의 사용자에게 스트리밍 서비스를 프리젠팅하기 위해 미디어 데이터 정보를 요청 및 다운로드할 수 있다. 미디어 프레젠테이션은, MPD의 업데이트를 포함할 수 있는 MPD 데이터 구조에서 기술될 수 있다.
미디어 프레젠테이션은 하나 이상의 기간(110)의 시퀀스를 포함할 수 있다. 각각의 기간(110)은, 다음 기간(110)의 시작까지, 또는 마지막 기간(110)의 경우 미디어 프레젠테이션의 끝까지 연장될 수 있다. 각각의 기간(110)은 동일한 미디어 콘텐츠에 대한 하나 이상의 표현(130)을 포함할 수 있다. 표현(130)은, 오디오, 비디오, 정시 텍스트(timed text), 또는 기타의 이러한 데이터의 다수의 대체 인코딩된 버전들 중 하나일 수 있다. 표현들(130)은, 인코딩 유형별로, 예를 들어, 비디오 데이터의 경우 비트레이트, 해상도, 및/또는 코덱별로, 오디오 데이터의 경우 비트레이트, 언어 및/또는 코덱별로 다를 수 있다. 표현(130)이라는 용어는, 멀티미디어 콘텐츠의 특정한 기간(110)에 대응하고 특정한 방식으로 인코딩된, 인코딩된 오디오 또는 비디오 데이터의 섹션을 지칭하기 위해 사용될 수 있다.
특정한 기간(110)의 표현들(130)은, 그 표현들(130)이 속하는 적응 세트(120)를 나타내는 MPD(100)의 속성에 의해 표시되는 그룹에 할당될 수 있다. 동일한 적응 세트(120)의 표현들(130)은 일반적으로, 클라이언트 디바이스가 예를 들어 대역폭 적응을 수행하기 위해 이들 표현들(130) 사이에서 동적으로 매끄럽게 전환할 수 있다는 점에서, 서로에 대한 대안으로서 간주된다. 예를 들어, 특정한 기간에 대한 비디오 데이터의 각각의 표현(130)은, 그 표현들(130) 중 임의의 표현이, 대응하는 기간(110) 동안 멀티미디어 콘텐츠의 비디오 데이터 또는 오디오 데이터 등의 미디어 데이터를 프리젠팅하기 위한 디코딩을 위해 선택될 수 있도록, 동일한 적응 세트(120)에 할당될 수 있다. 하나의 기간(110) 내의 미디어 콘텐츠는, 존재하는 경우 그룹 0으로부터의 하나의 표현(130)에 의해, 또는 일부 예에서는, 각각의 0이 아닌 그룹으로부터의 최대 하나의 표현의 조합에 의해 표현될 수 있다. 소정 기간(110)의 각각의 표현(130)에 대한 타이밍 데이터는 그 기간(110)의 시작 시간에 관해 표현될 수 있다.
표현(130)은 하나 이상의 세그먼트(140)를 포함할 수 있다. 각각의 표현(130)은 초기화 세그먼트(140)를 포함할 수 있거나, 표현의 각각의 세그먼트(140)는 자체 초기화될 수 있다. 존재하는 경우, 초기화 세그먼트(140)는 표현(130)에 액세스하기 위한 초기화 정보를 포함할 수 있다. 일반적으로, 초기화 세그먼트(140)는 미디어 데이터를 포함하지 않는다. 세그먼트(140)는, URL(uniform resource locator), URN(uniform resource name), 또는 URI(uniform resource identifier) 등의 식별자에 의해 고유하게 참조될 수 있다. MPD(100)는 각각의 세그먼트(140)에 대한 식별자들을 제공할 수 있다. 일부 예에서, MPD(100)는 또한, URL, URN, 또는 URI에 의해 액세스가능한 파일 내의 세그먼트(140)에 대한 데이터에 대응할 수 있는, 범위 속성의 형태로 바이트 범위들을 제공할 수 있다.
상이한 유형들의 미디어 데이터에 대한 실질적으로 동시 회수를 위해 상이한 표현들(130)이 선택될 수 있다. 예를 들어, 클라이언트 디바이스는, 세그먼트들(140)을 회수할 오디오 표현(130), 비디오 표현(130), 및 정시 텍스트 표현(130)을 선택할 수 있다. 일부 예에서, 클라이언트 디바이스는 대역폭 적응을 수행하기 위한 특정한 적응 세트들(120)을 선택할 수 있다. 즉, 클라이언트 디바이스는, 비디오 표현들(130)을 포함하는 적응 세트(120), 오디오 표현들(130)을 포함하는 적응 세트(120), 및/또는 정시 텍스트를 포함하는 적응 세트(120)를 선택할 수 있다. 대안으로서, 클라이언트 디바이스는, 소정 유형들의 미디어(예를 들어, 비디오)에 대한 적응 세트들(120)을 선택하고, 다른 유형들의 미디어(예를 들어, 오디오 및/또는 정시 텍스트)에 대한 표현들(130)을 직접 선택할 수 있다.
한 전형적인 DASH 스트리밍 절차는 다음과 같은 단계들에 의해 보여줄 수 있다.
먼저, 클라이언트는 MPD를 얻는다. 한 실시예에서, 클라이언트 디바이스는, 클라이언트 디바이스가 MPD를 요청한 후에 콘텐츠 소스로부터 MPD를 수신한다.
둘째, 클라이언트는 다운링크 대역폭을 추정하고, 추정된 다운링크 대역폭 및 코덱, 디코딩 능력, 디스플레이 크기, 오디오 언어 설정 등에 따라 비디오 표현(130) 및 오디오 표현(130)을 선택한다.
셋째, 미디어 프레젠테이션의 끝에 도달하지 않는 한, 클라이언트는 선택된 표현들(130)의 미디어 세그먼트들(140)을 요청하고 스트리밍 콘텐츠를 사용자에게 프리젠팅한다.
넷째, 클라이언트는 다운링크 대역폭을 계속 추정한다. 대역폭이 크게 변하면(예를 들어, 더 낮아지면), 클라이언트는 새로 추정된 대역폭과 정합하도록 상이한 비디오 표현(130)을 선택하고, 절차는 셋째 단계로 돌아간다.
VVC에서, 픽처는 하나 이상의 타일 행과 하나 이상의 타일 열로 분할(예를 들어, 파티션화)될 수 있다. 타일은 픽처의 직사각형 영역을 덮는 코딩 트리 유닛(CTU)들의 시퀀스이다. 타일 내의 CTU들은 그 타일 내에서 래스터 스캔 순서(raster scan order)로 스캔된다.
슬라이스는, 정수 개수의 완전한 타일들 또는 픽처의 타일 내에서 정수 개수의 연속적인 완전한 CTU 행들로 구성된다.
2개의 슬라이스 모드, 즉, 래스터 스캔 슬라이스 모드와 직사각형 슬라이스 모드가 지원된다. 래스터 스캔 슬라이스 모드에서, 슬라이스는 픽처의 타일 래스터 스캔에서 완전한 타일들의 시퀀스를 포함한다. 직사각형 슬라이스 모드에서, 슬라이스는 픽처의 직사각형 영역을 집합적으로 형성하는 다수의 완전한 타일들 또는 픽처의 직사각형 영역을 집합적으로 형성하는 하나의 타일의 다수의 연속적인 완전한 CTU 행들을 포함한다. 직사각형 슬라이스 내의 타일들은, 그 슬라이스에 대응하는 직사각형 영역 내에서 타일 래스터 스캔 순서로 스캔된다.
서브픽처는 픽처의 직사각형 영역을 집합적으로 덮는 하나 이상의 슬라이스를 포함한다.
도 2는, 타일들(202), 서브픽처들/슬라이스들(204), 및 CTU들(206)로 파티션화된 픽처(200)의 한 예이다. 도시된 바와 같이, 픽처(200)는 18개의 타일(202) 및 24개의 서브픽처/슬라이스(204)로 파티션화되었다. VVC에서, 각각의 서브픽처는, 도 2에 도시된 바와 같이 픽처의 직사각형 영역을 집합적으로 덮는 하나 이상의 완전한 직사각형 슬라이스로 구성된다. 서브픽처는 추출가능한 것(즉, 디코딩 순서에서 동일한 픽처의 및 이전 픽처들의 다른 서브픽처들과 독립적으로 코딩됨) 또는 추출불가능한 것 중 어느 하나로 명시될 수 있다. 서브픽처가 추출가능한지의 여부에 관계없이, 인루프 필터링(디블록킹, SAO(Sample Adaptive Offset) 및 ALF(adaptive loop filter)를 포함한) 인코더는, 각각의 서브픽처에 대해 서브픽처 경계들에 걸쳐 개별적으로 적용되는지를 제어할 수 있다.
기능적으로, 서브픽처들은 HEVC의 MCTS(motion-constrained tile set)들과 유사하다. 이들 양쪽 모두는, 뷰포트 종속 360° 비디오 스트리밍 최적화 및 관심대상 영역(ROI) 애플리케이션들 등의 이용 사례들에 대해, 코딩된 픽처들의 시퀀스 중의 직사각형 서브세트의 독립적인 코딩 및 추출을 허용한다.
360° 비디오(전방향 비디오라고도 함) 스트리밍에서, 임의의 특정한 순간에 전체 전방향 비디오 구면체의 서브세트(예를 들어, 현재 뷰포트)만이 사용자에게 렌더링되는 반면, 사용자는 언제든지 자신의 고개를 돌려 시청 방향을 변경하고 결과적으로 현재 뷰포트를 변경할 수 있다. 클라이언트에서 이용가능한 현재 뷰포트에 포함되지 않은 영역의 적어도 일부의 저품질의 표현을 갖고 사용자가 갑자기 자신의 시청 방향을 구면체 상의 임의의 곳으로 변경하는 경우 사용자에게 렌더링할 준비가 되어 있는 것이 바람직하지만, 전방향 비디오의 고품질 표현은 임의의 주어진 순간에 사용자에게 렌더링되고 있는 현재 뷰포트에 대해서만 필요하다. 전체 전방향 비디오의 고품질 표현을 적절한 세분도에서 서브픽처들로 분할하는 것은, 좌측에 12개의 고해상도 서브픽처가 있고 우측에 저해상도의 전방향성 비디오의 나머지 12개 서브픽처가 있는 도 2에 도시된 바와 같은 최적화를 가능케한다.
도 3은 서브픽처 기반의 뷰포트 종속 360° 비디오 전달 방식(300)의 한 예이다. 도 3에 도시된 바와 같이, 전체 비디오의 고해상도 표현만이 서브픽처들을 이용한다. 전체 비디오의 저해상도 표현은 서브픽처들을 이용하지 않으며 고해상도 표현보다 덜 빈번한 랜덤 액세스 포인트(random access point)(RAP)들로 코딩될 수 있다. 클라이언트는 저해상도의 전체 비디오를 수신하는 반면, 고해상도 비디오의 경우, 클라이언트는 현재 뷰포트를 커버하는 서브픽처들만을 수신하고 디코딩한다.
서브픽처들과 MCTS들 사이에는 몇 가지 설계 차이가 있다. 첫째, VVC의 서브픽처 피처는, 코딩 블록의 모션 벡터들이 서브픽처가 추출가능한 경우에도 서브픽처 외부를 가리키는 것을 허용한다. 그렇게 하기 위해, 서브픽처 피처는, 이 경우에는 픽처 경계와 유사한 서브픽처 경계들에 샘플 패딩을 적용한다. 둘째, 병합 모드에서 및 VVC의 디코더측 모션 벡터 개선 프로세스에서 모션 벡터들의 선택 및 도출에 대한 추가 변경들이 도입되었다. 이것은, MCTS들에 대해 인코더 측에서 적용되는 비표준 모션 제약들에 비해 더 높은 코딩 효율을 허용한다. 셋째, 슬라이스 헤더(SH)(및 존재하는 경우 픽처 헤더(PH) 네트워크 추상화 계층(NAL) 유닛들)를 재작성하는 것은, 픽처 시퀀스로부터 하나 이상의 추출 가능한 서브픽처를 추출하여 순응하는 비트스트림인 서브비트스트림을 생성할 때 필요하지 않다. HEVC MCTS들에 기초한 서브비트스트림 추출들에서, SH의 재기입이 필요하다. HEVC MCTS 추출 및 VVC 서브픽처 추출 양쪽 모두에서, 시퀀스 파라미터 세트(SPS)들 및 픽처 파라미터 세트(PPS)들의 재기입이 필요하다는 점에 유의한다. 그러나, 전형적으로, 비트스트림에는 몇개의 파라미터 세트만 있을 수 반면, 각각의 픽처는 적어도 하나의 슬라이스를 갖는다. 따라서, SH들의 재기입은 애플리케이션 시스템들에 상당한 부담이 될 수 있다. 넷째, 픽처 내의 상이한 서브픽처들의 슬라이스들은 상이한 NAL 유닛 유형들을 갖는 것이 허용된다. 이것은 종종, 아래에서 더 상세히 논의되는 바와 같이, 픽처 내의 혼합된 NAL 유닛 유형들 또는 혼합된 서브픽처 유형들이라고 지칭되는 피처이다. 다섯째, VVC는 가상 참조 디코더(HRD) 및 서브픽처 시퀀스들에 대한 레벨 정의들을 명시하므로, 각각의 추출가능한 서브픽처 시퀀스의 서브비트스트림의 순응이 인코더들에 의해 보장될 수 있다.
AVC 및 HEVC에서, 픽처 내의 모든 비디오 코딩 계층(VCL) NAL 유닛은 동일한 NAL 유닛 유형을 가질 필요가 있다. VVC는, 픽처 내에서 서브픽처들을 소정의 상이한 VCL NAL 유닛 유형들과 혼합하는 옵션을 도입하므로, 픽처 레벨에서뿐만 아니라 서브픽처 레벨에서도 랜덤 액세스에 대한 지원을 제공한다. VVC에서, 서브픽처 내의 VCL NAL 유닛들은 여전히, 동일한 NAL 유닛 유형을 가질 필요가 있다.
인트라 랜덤 액세스 픽처(Intra Random Access Pictures)(IRAP) 서브픽처들로부터의 랜덤 액세싱의 능력은 360° 비디오 애플리케이션들에 대해 유리하다. 도 3에 표시된 것과 유사한 뷰포트 종속 360° 비디오 전달 방식들에서, 공간적으로 이웃하는 뷰포트들의 내용은 크게 중첩된다, 즉, 뷰포트 내의 서브픽처들의 일부만이 뷰포트 방향 변경 동안에 새로운 서브픽처들로 대체되는 반면, 대부분은 서브픽처들은 뷰포트에 남아 있다. 뷰포트에 새로 도입되는 서브픽처 시퀀스들은 IRAP 슬라이스들에서 시작해야 하지만, 뷰포트 변경시에 나머지 서브픽처들이 인터 예측을 실행하는 것이 허용될 때 전체 전송 비트 레이트에서의 상당한 감소가 달성될 수 있다.
픽처가 NAL 유닛들의 단일 유형만을 포함하는지 또는 하나보다 많은 유형을 포함하는지의 표시는, 픽처에 의해 참조되는 PPS에서 제공된다(즉, pps_mixed_nalu_types_in_pic_flag라 불리는 플래그를 이용하여). 픽처는, IRAP 슬라이스들을 포함하는 서브픽처들, 및 후행 슬라이스들을 포함하는 서브픽처들을 동시에 포함할 수 있다. RASL(Random Access Skipped Leading) 및 RADL(Random Access Decodable Leading)의 NAL 유닛 유형들의 선두 픽처 슬라이스들을 포함한, 픽처 내의 상이한 NAL 유닛 유형들의 몇몇 다른 조합들도 역시 허용되어, 상이한 비트스트림들로부터 추출된 개방형(open)(GOP)(group of pictures) 및 폐쇄형(close) GOP 코딩 구조들과 서브픽처 시퀀스들의 하나의 비트스트림으로의 병합을 허용한다.
VVC에서 서브픽처들의 레이아웃은 SPS에서 시그널링되며, 따라서 코딩된 계층 비디오 시퀀스(coded layer video sequence)(CLVS) 내에서 일정하다. 각각의 서브픽처는 그 상단 좌측의 CTU의 위치와 CTU의 개수로 된 그 폭과 높이에 의해 시그널링되므로, 서브픽처가 CTU 세분도로 픽처의 직사각형 영역을 커버하는 것을 보장한다. SPS에서 서브픽처들이 시그널링되는 순서는 픽처 내의 각각의 서브픽처의 인덱스를 결정한다.
SH들 또는 PH들의 재기입없이 서브픽처 시퀀스들의 추출 및 병합을 가능케하기 위해, VVC의 슬라이스 어드레싱 방식은 서브픽처 ID들 및 서브픽처-특유의 슬라이스 인덱스에 기초하여 슬라이스들을 서브픽처들에 연관시킨다. 슬라이스 헤더(SH)에서, 슬라이스를 포함하는 서브픽처의 서브픽처 식별자(ID)와 서브픽처-레벨 슬라이스 인덱스가 시그널링된다. 특정한 서브픽처의 서브픽처 ID의 값은, 그 서브픽처 인덱스의 값과는 상이할 수 있다는 점에 유의한다. 이들 둘 사이의 맵핑은 SPS 또는 PPS에서(양쪽 모두는 아님) 시그널링되거나, 묵시적으로 추론된다. 존재하는 경우, 서브픽처 서브비트스트림 추출 프로세스 동안 SPS들 및 PPS들을 재기입할 때 서브픽처 ID 맵핑이 재기입되거나 추가될 필요가 있다. 서브픽처 ID 및 서브픽처-레벨 슬라이스 인덱스는 함께, 디코딩된 픽처의 디코딩된 픽처 버퍼(DPB) 슬롯 내에서 슬라이스의 첫 번째 디코딩된 CTU의 정확한 위치를 디코더에게 표시한다. 서브비트스트림 추출 후, 서브픽처의 서브픽처 ID는 변경되지 않은 채로 유지되는 반면 서브픽처 인덱스는 변경될 수 있다. 서브픽처의 슬라이스 내의 첫 번째 CTU의 래스터 스캔 CTU 주소가 원래의 비트스트림에서 값과 비교하여 변경된 경우에도, 각각의 SH에서의 서브픽처 ID 및 서브픽처-레벨 슬라이스 인덱스의 변경되지 않은 값들은, 추출된 서브비트스트림의 디코딩된 픽처에서 각각의 CTU의 위치를 여전히 올바르게 결정할 것이다.
도 4는 서브픽처 추출(400)의 한 예이다. 특히, 도 4는, 서브픽처 추출(400)을 가능케하는, 서브픽처 ID, 서브픽처 인덱스, 및 서브픽처-레벨 슬라이스 인덱스의 이용을 나타낸다. 예시된 실시예에서, 서브픽처 추출(400)은 2개의 서브픽처 및 4개의 슬라이스를 포함한다.
서브픽처 추출(400)과 유사하게, 서브픽처들에 대한 시그널링은, 상이한 비트스트림들이 (예를 들어, 별개의 서브픽처 ID들을 이용하지만, CTU 크기, 크로마 포맷, 코딩 도구 등의, 대부분 정렬된 SPS, PPS 및 PH 파라미터들을 이용하여) 대등하게 생성되는 경우, SPS들 및 PPS들을 재기입만 함으로써, 상이한 비트스트림들로부터의 수개의 서브픽처들을 단일의 비트스트림 내에 병합하는 것을 허용한다.
서브픽처들 및 슬라이스들은 SPS와 PPS에서 각각 독립적으로 시그널링되지만, 순응하는 비트스트림을 형성하기 위해 서브픽처와 슬라이스 레이아웃들 사이에는 고유한 상호제약들이 있다. 첫째, 서브픽처들의 존재는 직사각형 슬라이스들을 요구하고 래스터-스캔 슬라이스들을 금지한다. 둘째, 주어진 서브픽처의 슬라이스들은 디코딩 순서에서 연속적인 NAL 유닛들이며, 이것은, 서브픽처 레이아웃이 비트스트림 내에서 코딩된 슬라이스 NAL 유닛들의 순서를 제약한다는 것을 의미한다.
픽처-인-픽처(picture-in-picture) 서비스들은 더 큰 해상도의 픽처 내에 작은 해상도의 픽처를 포함하는 능력을 제공한다. 이러한 서비스는 사용자에게 2개의 비디오를 동시에 보여주기에 유리할 수 있고, 이로써 더 큰 해상도의 비디오가 메인 비디오로서 간주되고, 더 작은 해상도의 비디오는 부가 비디오로서 간주된다. 이러한 픽처-인-픽처 서비스는 메인 비디오가 사이니지 비디오(signage video)에 의해 보충되는 접근성 서비스들을 제공하는데 이용될 수 있다.
VVC 서브픽처들은, VVC 서브픽처들의 추출 및 병합 속성들 양쪽 모두를 이용함으로써 픽처-인-픽처 서비스에 이용될 수 있다. 이러한 서비스를 위해, 메인 비디오는 다수의 서브픽처를 이용하여 인코딩된다. 서브픽처들 중 하나는 부가 비디오와 동일한 크기이며, 부가 비디오를 메인 비디오 내에 합성하고자 하는 정확한 위치에 놓인다. 부가 비디오는 추출을 가능케하도록 독립적으로 코딩된다. 사용자가 부가 비디오를 포함하는 서비스 버전을 보기로 선택하면, 메인 비디오의 픽처-인-픽처 영역에 대응하는 서브픽처가 메인 비디오 비트스트림으로부터 추출되고, 부가 비디오 비트스트림이 그 위치에서 메인 비디오 비트스트림과 병합된다.
도 5는 VVC 서브픽처들에 기초한 픽처-인-픽처 지원(500)의 한 예이다. Subpic ID 0으로 라벨링된 메인 비디오의 부분은, 메인 비디오의 그 부분이 Subpic ID 0을 갖는 부가 비디오로 대체될 것이기 때문에 여기서는 타겟 픽처-인-픽처 영역이라고 지칭될 수 있다. 즉, 부가 비디오는 도 5에 도시된 바와 같이 메인 비디오에 임베딩되거나 오버레이된다. 이 예에서, 메인 비디오와 부가 비디오의 픽처들은 동일한 비디오 특성들을 공유한다. 특히, 메인 비디오와 부가 비디오에 대한 비트 깊이, 샘플 종횡비, 크기, 프레임 레이트, 색상 공간 및 전달 특성, 크로마 샘플 위치는 동일해야 한다. 메인 비디오 및 부가 비디오 비트스트림들은 각각의 픽처 내에서 동일한 NAL 유닛 유형들을 이용할 필요가 없다. 그러나, 메인 비디오와 부가 비디오 비트스트림들 내의 픽처들의 코딩 순서는 동일할 필요가 있다.
여기서는 서브픽처들의 병합이 이용되므로, 메인 비디오와 부가 비디오 내에서 이용되는 서브픽처 ID들은 중첩될 수 없다. 부가 비디오 비트스트림이 더 이상의 타일이나 슬라이스 파티션화 없이 하나의 서브픽처만으로 구성되는 경우에도, 서브픽처 정보(예를 들어, 특히 서브픽처 ID 및 서브픽처 ID 길이)는 부가 비디오 비트스트림과 메인 비디오 비트스트림의 병합을 가능케하기 위해 시그널링될 필요가 있다. 부가 비디오 비트스트림의 슬라이스 NAL 유닛들 내에서 서브픽처 ID 신택스 요소의 길이를 시그널링하는데 이용되는 서브픽처 ID 길이는, 메인 비디오 비트스트림의 슬라이스 NAL 유닛들 내에서 서브픽처 ID들을 시그널링하는데 이용되는 서브픽처 ID 길이와 동일해야 한다. 또한, PPS 파티션 정보를 재기입할 필요 없이 부가 비디오 비트스트림과 메인 비디오 비트스트림의 병합을 간소화하기 위하여, 메인 비디오의 대응하는 영역 내에서 부가 비디오를 인코딩하기 위해 하나의 슬라이스와 하나의 타일만을 이용하는 것이 유리할 수 있다. 메인 및 부가 비디오 비트스트림들은, SPS, PPS 및 픽처 헤더에서 동일한 코딩 도구들을 시그널링해야 한다. 이것은, 블록 파티션화 대해 동일한 최대 및 최소 허용 크기들, 및 PPS에서 시그널링된 것과 동일한 초기 양자화 파라미터 값(pps_init_qp_minus26 신택스 요소의 동일한 값)을 이용하는 것을 포함한다. 코딩 도구 이용은 슬라이스 헤더 레벨에서 수정될 수 있다.
메인 및 부가 비트스트림들 양쪽 모두가 DASH 기반의 전달 시스템을 통해 이용가능한 경우, 함께 병합 및 렌더링되도록 의도된 메인 및 부가 비트스트림들을 시그널링하기 위해 DASH 사전선택이 이용될 수 있다. DASH 사전선택은 DASH 플레이어에 의해 공동으로 소비될 것으로 예상되는 MPD의 미디어 컴포넌트들의 서브세트를 정의하며, 여기서 소비는 디코딩 및 렌더링을 포함할 수 있다. DASH 사전선택을 위한 메인 미디어 컴포넌트를 포함하는 적응 세트는 메인 적응 세트라고 지칭된다. 또한, 각각의 DASH 사전선택은 하나 또는 복수의 부분적 적응 세트를 포함할 수 있다. 부분적 적응 세트는 메인 적응 세트와 조합하여 처리될 필요가 있을 수 있다. 메인 적응 세트 및 부분적 적응 세트는 사전선택 서술자에 의해 또는 사전선택 요소에 의해 표시될 수 있다.
불행히도, DASH에서 픽처-인-픽처 서비스를 지원하려고 시도할 때 다음과 같은 문제들이 관찰되었다. 첫째, 픽처-인-픽처 경험을 위해 DASH 사전선택을 이용하는 것이 가능하지만, 이러한 목적에 대한 표시가 부족하다.
둘째, 픽처-인-픽처 경험을 위해 (예를 들어, 위에서 논의된 바와 같이) VVC 서브픽처들을 이용하는 것이 가능하지만, 메인 비디오에서 타겟 픽처-인-픽처 영역을 나타내는 코딩된 비디오 데이터 유닛들을 부가 비디오의 대응하는 비디오 데이터 유닛들로 대체하지 못하는 다른 코덱들 및 방법들을 이용하는 것도 가능하다. 따라서, 이러한 대체가 가능한지를 표시할 필요가 있다.
셋째, 상기의 대체가 가능할 때, 클라이언트는 대체를 수행할 수 있기 위해 메인 비디오의 각각의 픽처에서 어떤 코딩된 비디오 데이터 유닛들이 타겟 픽처-인-픽처 영역을 나타내는지를 알 필요가 있다. 따라서 이 정보는 시그널링될 필요가 있다.
넷째, 콘텐츠 선택 목적으로(및 아마도 역시 다른 목적으로), 메인 비디오에서 타겟 픽처-인-픽처 영역의 위치와 크기를 시그널링하는 것이 유용할 것이다.
전술한 문제들 중 하나 이상을 해결하는 기술들이 여기서 개시된다. 예를 들어, 본 개시내용은 사전선택 요소에 표시자를 통합하는 기술들을 제공한다. 한 실시예에서, 표시자는, 사전선택 요소의 목적이 픽처-인-픽처(일명, 픽처-인-픽처 경험 또는 픽처-인-픽처 서비스들)를 요소가 포함하는 것임을 나타낸다. 따라서, 비디오 코딩 프로세스는 종래의 비디오 코딩 기술들에 비해 개선된다.
이하의 상세한 실시예들은 일반적인 개념들을 설명하기 위한 예들로서 간주되어야 한다. 이들 실시예들은 좁은 의미로 해석되어서는 안 된다. 또한, 이들 실시예들은 임의의 방식으로 결합될 수 있다.
이하의 논의에서, 비디오 유닛(일명, 비디오 데이터 유닛)은, 픽처들의 시퀀스, 픽처, 슬라이스, 타일, 브릭, 서브픽처, CTU/코딩 트리 블록(CTB), CTU/CTB 행, 하나 또는 복수의 코딩 유닛(CU)/코딩 블록(CB), 하나 또는 복수의 CTU/CTB, 하나 또는 복수의 가상 파이프라인 데이터 유닛(VPDU), 픽처/슬라이스/타일/브릭 내의 하위영역일 수 있다. 부친 비디오 유닛(일명, 부모 비디오 유닛)은 비디오 유닛보다 큰 유닛을 나타낸다. 전형적으로, 부친 비디오 유닛은 수개의 비디오 유닛을 포함할 것이다, 예를 들어 비디오 유닛이 CTU일 때, 부친 비디오 유닛은, 슬라이스, CTU 행, 복수의 CTU 등일 수 있다. 일부 실시예에서, 비디오 유닛은 샘플/픽셀일 수 있다.
예 1
1). 첫 번째 문제를 해결하기 위해, 표시는 MPD에서 시그널링된다. 표시는 사전선택(일명, 사전선택, DASH 사전선택 등)의 목적이 픽처-인-픽처 경험을 제공하는 것임을 나타낸다. 즉, 사전선택 요소에서의 표시자는, 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역 상에서 오버레이되는 것처럼 나타나는 픽처-인-픽처 경험을 제공하기 위한 것임을 나타낸다.
a. 한 예에서, 표시는 사전선택의 @tag 속성의 특정한 값에 의해 시그널링된다(예를 들어, CommonAttributesElements를 통해). 한 실시예에서, @tag의 특정한 값은 "PicInPic"이다.
b. 한 예에서, 표시는 사전선택의 Role 요소의 @value 속성의 특정한 값에 의해 시그널링된다. 한 실시예에서, @value의 특정한 값은 "PicInPic"이다.
예 2
2) 두번째 문제를 해결하기 위해, 표시는 MPD에서 시그널링된다. 표시는, 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 코딩된 비디오 데이터 유닛들이 부가 비디오의 대응하는 비디오 데이터 유닛들로 대체될 수 있는지를 나타낸다.
a. 한 예에서, 표시는 속성에 의해 시그널링된다. 한 실시예에서, 속성은 사전선택의 @dataUnitsReplacable로 명시되거나 명명된다.
b. 한 예에서, 표시는 선택사항인 것으로 명시된다.
i. 한 예에서, 표시는 사전선택의 @tag 속성이 사전선택의 목적이 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 경우에만 존재할 수 있다.
c. 표시가 존재하지 않는 경우, 이러한 대체가 가능한지는 알려지지 않는다.
d. 한 예에서, @dataUnitsReplacable이 참일 때, 클라이언트는, 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 코딩된 비디오 데이터 유닛들을, 비디오 디코더에 전송하기 전에 부가 비디오의 대응하는 코딩된 비디오 데이터 유닛들로 대체하기로 선택할 수 있다는 것이 명시된다. 이러한 방식으로, 메인 비디오와 부가 비디오의 별도의 디코딩을 피할 수 있다.
e. 한 예에서, 메인 비디오의 특정한 픽처에 대해, 부가 비디오의 대응하는 비디오 데이터 유닛들은 부가 비디오 표현의 디코딩-시간-동기화된 샘플의 모든 코딩된 비디오 데이터 유닛이라는 것이 명시된다.
예 3
3) 세번째 문제를 해결하기 위해, 영역 ID 목록이 MPD에서 시그널링된다. 영역 ID들의 목록은, 메인 비디오의 각각의 픽처 내의 어느 코딩된 비디오 데이터 유닛들이 타겟 픽처-인-픽처 영역을 나타내는지를 나타낸다.
a. 한 예에서, 영역 ID들의 목록은 사전선택의 속성으로 시그널링된다. 한 실시예에서, 속성은 @regionIds로 명명된다.
b. 한 예에서, 표시는 선택사항인 것으로 명시된다.
i. 한 예에서, 표시는 사전선택의 @tag 속성이 사전선택의 목적이 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 경우에만 존재할 수 있다.
c. 한 예에서, 특정한 비디오 코덱들에 대해 영역 ID들의 구체적인 시맨틱스가 명시적으로 명시될 필요가 있다고 명시된다.
i. 한 예에서, VVC의 경우, 영역 ID들은 서브픽처 ID들이고, 코딩된 비디오 데이터 유닛들은 VCL NAL 유닛들인 것으로 명시된다. 메인 비디오에서 타겟 픽처-인-픽처 영역을 나타내는 VCL NAL 유닛들은, 부가 비디오의 대응하는 VCL NAL 유닛들에서의 서브픽처 ID들과 동일한 이들 서브픽처 ID들을 갖는 것들이다. 전형적으로, 부가 비디오에서 한 픽처의 모든 VCL NAL 유닛들은 명시적으로 시그널링되는 동일한 서브픽처 ID를 공유한다. 이 경우, 영역 ID들의 목록에는 단 하나의 영역 ID만이 있다.
계층은 한 세트의 VCL NAL 유닛들로서, 모두가 nuh_layer_id의 특정한 값 및 연관된 비-VCL NAL 유닛들을 갖는다. 네트워크 추상화 계층(network abstraction layer)(NAL) 유닛은, 추종할 데이터 유형의 표시와 필요한 경우 에뮬레이션 방지 바이트들이 산재된 원시 바이트 시퀀스 페이로드(raw byte sequence payload)(RBSP) 형태로 된 그 데이터를 포함하는 바이트들을 포함하는 신택스 구조이다. 비디오 코딩 계층(VCL) NAL 유닛은, VVC 표준에서 VCL NAL 유닛들로 분류되는 nal_unit_type의 예약된 값들을 갖는 코딩된 슬라이스 NAL 유닛들 및 NAL 유닛들의 서브세트를 총칭하는 용어이다.
ii. 한 예에서, VVC의 경우, 클라이언트가 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 (VCL NAL 유닛들인) 코딩된 비디오 데이터 유닛들을, 비디오 디코더에 전송하기 전에 부가 비디오의 대응하는 VCL NAL 유닛들로 대체하기로 선택할 때, 각각의 서브픽처 ID에 대해, 메인 비디오의 VCL NAL 유닛들은, 대응하는 VCL NAL 유닛들의 순서를 변경하지 않고, 부가 비디오의 그 서브픽처 ID를 갖는 대응하는 VCL NAL 유닛들로 대체된다는 것이 명시된다.
예 4
4) 네번째 문제를 해결하기 위해, 메인 비디오의 위치와 크기에 관한 정보가 MPD에서 시그널링된다. 한 실시예에서, 메인 비디오의 위치 및 크기 정보는, 메인 비디오보다 크기가 작은 부가 비디오를 임베딩/오버레이할 때 이용될 수 있다.
a. 한 예에서, 위치 및 크기 정보는 4개의 값, 즉, x, y, 폭 및 높이를 시그널링함으로써 시그널링된다. 이 실시예에서, x 및 y는 영역의 상단 좌측 코너의 위치를 명시하고, 폭과 높이는 영역의 폭과 높이를 명시한다. 유닛들은 루마 샘플들/픽셀들일 수 있다.
b. 한 예에서, 위치 및 크기 정보는 사전선택의 속성 또는 요소에 의해 시그널링된다.
c. 한 예에서, 위치 및 크기 정보는 사전선택의 메인 적응 세트의 속성 또는 요소에 의해 시그널링된다.
d. 한 예에서 @dataUnitsReplacable이 참이고 위치 및 크기 정보가 존재하는 경우, 위치와 크기는 메인 비디오의 타겟 픽처-인-픽처 영역을 정확히 나타내야 한다고 명시된다.
e. 한 예에서 @dataUnitsReplacable이 거짓이고 위치 및 크기 정보가 존재할 때, 위치 및 크기 정보는 부가 비디오를 임베딩/오버레이하기 위한 선호 영역을 나타낸다(즉, 클라이언트는 부가 비디오를 메인 비디오의 상이한 영역에서 오버레이할 것을 선택할 수 있음)는 것이 명시된다.
f. 한 예에서, @dataUnitsReplacable이 거짓이고 위치 및 크기 정보가 존재하지 않을 때, 부가 비디오를 오버레이할 위치에 관한 정보 또는 권장이 제안되지 않고, 부가 비디오를 오버레이할 위치는 완전히 클라이언트가 선택할 수 있다는 것이 명시된다.
이하에는, 위에서 논의된 예들에 대응하는 일부 예시적인 실시예들이다. 실시예들은 DASH에 적용될 수 있다. 아래의 신택스 및/또는 시맨틱스에서 추가되거나 수정된 가장 관련성이 높은 부분들은 이탤릭체로 표시된다. 본질적으로 편집사항이므로 강조표시되지 않은 어떤 다른 변경사항이 있을 수 있다.
사전선택 요소의 시맨틱스가 제공된다. 사전선택 서술자에 대한 한 대안으로서, 사전선택들은 표 1에 제공된 사전선택 요소를 통해 정의될 수 있다. 사전선택들의 선택은 사전선택 요소에 포함된 속성들 및 요소들에 기초한다.
표 1 ― 사전선택 요소의 시맨틱스
Figure pat00001
Figure pat00002
Figure pat00003
Figure pat00004
XML(Extensible Markup Language) 신택스가 제공된다.
Figure pat00005
사전선택에 기초하는 픽처-인-픽처가 논의된다.
사전선택의 (CommonAttributesElements 요소를 통한) @tag 속성의 값이 "PicInPic"과 같을 때, 사전선택의 목적은 픽처-인-픽처 경험을 위한 것이다. 픽처-인-픽처 서비스들은 더 큰 공간 해상도를 가진 비디오 내에 더 작은 공간 해상도를 가진 비디오를 포함하는 능력을 제공한다. 이 경우, 메인 비디오의 상이한 비트스트림들/표현들은 사전선택의 메인 적응 세트에 포함되고, 부가 비디오의 상이한 비트스트림들/표현들은 사전선택의 부분적 적응 세트에 포함된다.
@tag가 "PicInPic"과 같고 @dataUnitsReplacable 속성이 존재하고 참과 같을 때, 클라이언트는 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 코딩된 비디오 데이터 유닛들을, 비디오 디코더에 전송하기 전에, 부가 비디오의 대응하는 코딩된 비디오 데이터 유닛들로 대체하기로 선택할 수 있다. 이러한 방식으로, 메인 비디오와 부가 비디오의 별도의 디코딩을 피할 수 있다.
메인 비디오의 특정한 픽처에 대해, 부가 비디오의 대응하는 비디오 데이터 유닛들은 부가 비디오 표현의 디코딩-시간-동기화된 샘플의 모든 코딩된 비디오 데이터 유닛이다.
VVC의 경우, 클라이언트가 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 (VCL NAL 유닛들인) 코딩된 비디오 데이터 유닛들을, 비디오 디코더에 전송하기 전에 부가 비디오의 대응하는 VCL NAL 유닛들로 대체하기로 선택할 때, 각각의 서브픽처 ID에 대해, 메인 비디오의 VCL NAL 유닛들은, 대응하는 VCL NAL 유닛들의 순서를 변경하지 않고, 부가 비디오의 그 서브픽처 ID를 갖는 대응하는 VCL NAL 유닛들로 대체된다.
도 6은 여기서 개시된 다양한 기술들이 구현될 수 있는 한 예시적인 비디오 처리 시스템(600)을 보여주는 블록도이다. 다양한 구현은 비디오 처리 시스템(600)의 컴포넌트들 중 일부 또는 전부를 포함할 수 있다. 비디오 처리 시스템(600)은 비디오 콘텐츠를 수신하기 위한 입력(602)을 포함할 수 있다. 비디오 콘텐츠는, 원시 또는 압축되지 않은 포맷, 예를 들어 8 또는 10비트 다중 컴포넌트 픽셀 값들로 수신될 수 있거나, 압축되거나 인코딩된 포맷일 수 있다. 입력(602)은, 네트워크 인터페이스, 주변기기 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예는, Ethernet, 수동 광 네트워크(PON; passive optical network) 등의 유선 인터페이스들, 및 Wi-Fi 또는 셀룰러 인터페이스들 등의 무선 인터페이스들을 포함한다.
비디오 처리 시스템(600)은, 본 문서에서 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(604)를 포함할 수 있다. 코딩 컴포넌트(604)는, 비디오의 코딩된 표현을 생성하기 위해 입력(602)으로부터 코딩 컴포넌트(604)의 출력으로 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술들은, 때때로, 비디오 압축 또는 비디오 트랜스코딩 기술들이라고도 한다. 코딩 컴포넌트(604)의 출력은, 컴포넌트(606)에 의해 표현되는 바와 같이, 접속된 통신을 통해 저장되거나 전송될 수 있다. 입력(602)에서 수신된 비디오의 저장되거나 전달된 비트스트림(또는 코딩된) 표현은, 디스플레이 인터페이스(610)로 전송되는 픽셀 값들 또는 디스플레이가능한 비디오를 생성하기 위해 컴포넌트(608)에 의해 이용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축해제라고도 불린다. 더욱이, 소정의 비디오 처리 동작들은 "코딩" 동작들 또는 툴들이라고 지칭되지만, 코딩 툴들 또는 동작들은 인코더에서 이용되고, 코딩의 결과들을 역전시키는 대응하는 디코딩 툴들 또는 동작들은 디코더에 의해 수행될 것이라는 것을 이해할 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예들은, USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 저장 인터페이스들의 예들로는, SATA(serial advanced technology attachment), PCI(Peripheral Component Interconnect), IDE(Integrated Drive Electronics) 인터페이스 등이 포함된다. 본 문서에서 설명된 기술들은, 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 전화들, 랩탑들, 스마트폰들, 또는 기타의 디바이스들 등의 다양한 전자 디바이스에 구현될 수 있다.
도 7은 비디오 처리 장치(700)의 블록도이다. 비디오 처리 장치(700)는 여기서 설명된 방법들 중 하나 이상을 구현하는데 이용될 수 있다. 비디오 처리 장치(700)는, 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등에서 구현될 수 있다. 비디오 처리 장치(700)는, 하나 이상의 프로세서(702), 하나 이상의 메모리(704) 및 비디오 처리 하드웨어(706)(일명, 비디오 처리 회로)를 포함할 수 있다. 프로세서(들)(702)는 본 문서에서 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(704)는 여기서 설명된 방법들 및 기술들을 구현하는데 이용되는 데이터 및 코드를 저장하는데 이용될 수 있다. 비디오 처리 하드웨어(706)는 본 문서에 설명된 일부 기술을 하드웨어 회로로 구현하는데 이용될 수 있다. 일부 실시예에서, 비디오 처리 하드웨어(706)는, 프로세서(702), 예를 들어, 그래픽 프로세서에 적어도 부분적으로 또는 완전히 위치할 수 있다.
도 8은 본 개시내용의 기술들을 이용할 수 있는 비디오 코딩 시스템(800)의 한 예를 나타내는 블록도이다. 도 8에 도시된 바와 같이, 비디오 코딩 시스템(800)은 소스 디바이스(810) 및 목적지 디바이스(820)를 포함할 수 있다. 소스 디바이스(810)는 비디오 인코딩 디바이스라고 지칭될 수 있는 인코딩된 비디오 데이터를 생성한다. 목적지 디바이스(820)는 비디오 디코딩 디바이스라고 지칭될 수도 있는 소스 디바이스(810)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있다.
소스 디바이스(810)는, 비디오 소스(812), 비디오 인코더(814), 및 입력/출력(I/O) 인터페이스(816)를 포함할 수 있다.
비디오 소스(812)는, 비디오 캡처 디바이스 등의 소스, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하는 인터페이스, 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(814)는 비디오 소스(812)로부터의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스를 포함할 수 있다. 비트스트림은 코딩된 픽처들 및 연관된 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 연관된 데이터는, 시퀀스 파라미터 세트들, 픽처 파라미터 세트들, 및 기타의 신택스 구조들을 포함할 수 있다. I/O 인터페이스(816)는 변조기/복조기(모뎀) 및/또는 전송기를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크(830)를 통해 I/O 인터페이스(816)를 경유하여 목적지 디바이스(820)에 직접 전송될 수 있다. 인코딩된 비디오 데이터는 또한, 목적지 디바이스(820)에 의한 액세스를 위해 저장 매체/서버(840)에 저장될 수 있다.
목적지 디바이스(820)는, I/O 인터페이스(826), 비디오 디코더(824), 및 디스플레이 디바이스(822)를 포함할 수 있다.
I/O 인터페이스(826)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(826)는 소스 디바이스(810) 또는 저장 매체/서버(840)로부터 인코딩된 비디오 데이터를 취득할 수 있다. 비디오 디코더(824)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 디바이스(822)는 디코딩된 비디오 데이터를 사용자에게 디스플레이할 수 있다. 디스플레이 디바이스(822)는 목적지 디바이스(820)와 통합될 수 있거나, 외부 디스플레이 디바이스와 인터페이스하도록 구성된 목적지 디바이스(820)의 외부에 있을 수 있다.
비디오 인코더(814) 및 비디오 디코더(824)는, HEVC(High Efficiency Video Coding) 표준, VVC(Versatile Video Coding) 표준, 및 기타의 현재 및/또는 추가 표준 등의 비디오 압축 표준에 따라 동작할 수 있다.
도 9는 도 8에 나타낸 비디오 코딩 시스템(800)의 비디오 인코더(814)일 수 있는 비디오 인코더(900)의 한 예를 나타내는 블록도이다.
비디오 인코더(900)는 본 개시내용의 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수 있다. 도 9의 예에서, 비디오 인코더(900)는 복수의 기능 컴포넌트를 포함한다. 본 개시내용에서 설명된 기술들은 비디오 인코더(900)의 다양한 컴포넌트들 사이에서 공유될 수 있다. 일부 예에서, 프로세서는 본 개시내용에서 설명된 기술들 중 임의의 것 또는 모든 기술들을 수행하도록 구성될 수도 있다.
비디오 인코더(900)의 기능적 컴포넌트들은, 파티션 유닛(901), 모드 선택 유닛(903), 모션 추정 유닛(904), 모션 보상 유닛(905) 및 인트라 예측 유닛(906)을 포함할 수 있는 예측 유닛(902), 잔차 생성 유닛(907), 변환 유닛(908), 양자화 유닛(909), 역양자화 유닛(910), 역변환 유닛(911), 복원 유닛(912), 버퍼(913), 및 엔트로피 인코딩 유닛(914)을 포함할 수 있다.
다른 예들에서, 비디오 인코더(900)는, 더 많거나 더 적거나 또는 상이한 기능적 컴포넌트들을 포함할 수 있다. 한 예에서, 예측 유닛(902)은 인트라 블록 복사(IBC; intra block copy) 유닛을 포함할 수 있다. IBC 유닛은 적어도 하나의 참조 픽처가 현재의 비디오 블록이 위치해 있는 픽처인 IBC 모드에서 예측을 수행할 수 있다.
또한, 모션 추정 유닛(904) 및 모션 보상 유닛(905) 등의 일부 컴포넌트는 고도로 통합될 수 있지만, 설명의 목적을 위해 도 9의 예에서는 별개로 표시된다.
파티션 유닛(901)은 픽처를 하나 이상의 비디오 블록으로 파티션화할 수 있다. 도 8의 비디오 인코더(814) 및 비디오 디코더(824)는 다양한 비디오 블록 크기를 지원할 수 있다.
모드 선택 유닛(903)은, 예를 들어, 에러 결과들에 기초하여, 코딩 모드들 중 하나, 즉, 인트라 또는 인터 코딩 모드를 선택할 수 있고, 결과적인 인트라- 또는 인터-코딩된 블록을 잔차 생성 유닛(907)에 제공하여 잔차 블록 데이터를 생성하고 복원 유닛(912)에 제공하여 참조 픽처로서 이용하기 위해 인코딩된 블록을 복원할 수 있다. 일부 예에서, 모드 선택 유닛(903)은 예측이 인터 예측 신호 및 인트라 예측 신호에 기초하는 CIIP(intra and inter prediction) 모드의 조합을 선택할 수 있다. 모드 선택 유닛(903)은 또한, 인터 예측의 경우 블록에 대하여 모션 벡터에 대한 해상도(예를 들어, 서브픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재의 비디오 블록에 관한 인터 예측을 수행하기 위해, 모션 추정 유닛(904)은, 버퍼(913)로부터의 하나 이상의 참조 프레임을 현재의 비디오 블록과 비교함으로써 현재의 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상 유닛(905)은, 현재의 비디오 블록과 연관된 픽처 이외의 버퍼(913)로부터의 픽처들의 모션 정보 및 디코딩된 샘플들에 기초하여 현재의 비디오 블록에 대한 예측된 비디오 블록을 결정할 수 있다.
모션 추정 유닛(904) 및 모션 보상 유닛(905)은, 예를 들어 현재의 비디오 블록이, I 슬라이스, P 슬라이스, 또는 B 슬라이스인지에 따라 현재의 비디오 블록에 대해 상이한 동작들을 수행할 수 있다. I-슬라이스들(또는 I-프레임들)은 압축가능성이 가장 낮지만 디코딩을 위해 다른 비디오 프레임들을 요구하지 않는다. P-슬라이스들(또는 P-프레임들)은 압축해제를 위해 이전 프레임들로부터의 데이터를 이용할 수 있고 I-프레임들보다 더 많이 압축가능하다. B-슬라이스들(또는 B-프레임들)은 데이터 참조를 위해 이전 프레임들과 전방 프레임들 양쪽 모두를 이용하여 가장 많은 양의 데이터 압축을 얻을 수 있다.
일부 예에서, 모션 추정 유닛(904)은 현재의 비디오 블록에 대한 일방 예측을 수행할 수 있고, 모션 추정 유닛(904)은 현재의 비디오 블록에 대한 기준 비디오 블록에 대해 목록 0 또는 목록 1의 참조 픽처들을 검색할 수도 있다. 그 다음, 모션 추정 유닛(904)은, 기준 비디오 블록, 및 현재의 비디오 블록과 기준 비디오 블록 사이의 공간적 변위를 나타내는 모션 벡터를 포함하는 목록 0 또는 목록 1의 참조 픽처를 나타내는 기준 인덱스를 생성할 수 있다. 모션 추정 유닛(904)은, 기준 인덱스, 예측 방향 표시자, 및 모션 벡터를, 현재의 비디오 블록의 모션 정보로서 출력할 수 있다. 모션 보상 유닛(905)은, 현재의 비디오 블록의 모션 정보가 나타내는 기준 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정 유닛(904)은 현재의 비디오 블록에 대한 양방향 예측을 수행할 수 있고, 모션 추정 유닛(904)은 현재의 비디오 블록에 대한 기준 비디오 블록에 대해 목록 0에서 참조 픽처들을 검색할 수 있고, 또한, 현재의 비디오 블록에 대한 또 다른 기준 비디오 블록에 대해 목록 1에서 참조 픽처들을 검색할 수도 있다. 그 다음, 모션 추정 유닛(904)은, 기준 비디오 블록들과 현재의 비디오 블록 사이의 공간적 변위들을 나타내는 모션 벡터들 및 기준 비디오 블록들을 포함하는 목록 0 및 목록 1의 참조 픽처들을 나타내는 기준 인덱스들을 생성할 수 있다. 모션 추정 유닛(904)은, 현재의 비디오 블록의 모션 정보로서 현재의 비디오 블록의 기준 인덱스들 및 모션 벡터들을 출력할 수 있다. 모션 보상 유닛(905)은, 현재의 비디오 블록의 모션 정보가 나타내는 기준 비디오 블록들에 기초하여 현재의 비디오 블록의 예측된 비디오 블록을 생성할 수 있다.
일부 예에서, 모션 추정 유닛(904)은 디코더의 디코딩 처리를 위한 모션 정보의 전체 세트를 출력할 수 있다.
일부 예에서, 모션 추정 유닛(904)은 현재의 비디오에 대한 모션 정보의 전체 세트를 출력하지 않을 수도 있다. 오히려, 모션 추정 유닛(904)은 또 다른 비디오 블록의 모션 정보를 참조하여 현재의 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정 유닛(904)은 현재의 비디오 블록의 모션 정보가 이웃 비디오 블록의 모션 정보와 충분히 유사하다고 결정할 수 있다.
한 예에서, 모션 추정 유닛(904)은, 현재의 비디오 블록과 연관된 신택스 구조에서, 현재의 비디오 블록이 또 다른 비디오 블록과 동일한 모션 정보를 갖는다는 것을 비디오 디코더(824)에 나타내는 값을 표시할 수 있다.
또 다른 예에서, 모션 추정 유닛(904)은, 현재의 비디오 블록과 연관된 신택스 구조에서, 또 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 모션 벡터 차이는, 현재의 비디오 블록의 모션 벡터와 표시된 비디오 블록의 모션 벡터 사이의 차이를 나타낸다. 비디오 디코더(824)는 표시된 비디오 블록의 모션 벡터와 모션 벡터 차이를 이용하여 현재의 비디오 블록의 모션 벡터를 결정할 수 있다.
위에서 논의된 바와 같이, 비디오 인코더(814)는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(814)에 의해 구현될 수 있는 예측 시그널링 기술들의 2개의 예는 AMVP(advanced motion vector prediction) 및 병합 모드 시그널링을 포함한다.
인트라 예측 유닛(906)은 현재의 비디오 블록에 관해 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(906)이 현재의 비디오 블록에 대해 인트라 예측을 수행할 때, 인트라 예측 유닛(906)은 동일한 픽처 내의 다른 비디오 블록들의 디코딩된 샘플들에 기초하여 현재의 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재의 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소를 포함할 수 있다.
잔차 생성 유닛(907)은 현재 비디오 블록으로부터 현재 비디오 블록의 예측된 비디오 블록(들)을 차감(예를 들어, 빼기 부호로 표시)함으로써 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재의 비디오 블록의 잔차 데이터는 현재의 비디오 블록 내의 샘플들의 상이한 샘플 성분들에 대응하는 잔차 비디오 블록들을 포함할 수 있다.
다른 예들에서, 현재의 비디오 블록에 대한 잔차 데이터가 없을 수 있고, 예를 들어 스킵 모드에서, 잔차 생성 유닛(907)은 차감 동작을 수행하지 않을 수 있다.
변환 유닛(908)은, 현재의 비디오 블록과 연관된 잔차 비디오 블록에 하나 이상의 변환을 적용함으로써 현재의 비디오 블록에 대한 하나 이상의 변환 계수 비디오 블록을 생성할 수 있다.
변환 유닛(908)이 현재의 비디오 블록과 연관된 변환 계수 비디오 블록을 생성한 후, 양자화 유닛(909)은 현재의 비디오 블록과 연관된 하나 이상의 양자화 파라미터(QP) 값에 기초하여 현재의 비디오 블록과 연관된 변환 계수 비디오 블록을 양자화할 수 있다.
역양자화 유닛(910) 및 역변환 유닛(911)은 변환 계수 비디오 블록에 역양자화 및 역변환을 각각 적용하여, 변환 계수 비디오 블록으로부터 잔차 비디오 블록을 복원할 수 있다. 복원 유닛(912)은, 버퍼(913)에 저장하기 위한 현재 블록과 연관된 복원된 비디오 블록을 생성하기 위해 예측 유닛(902)에 의해 생성된 하나 이상의 예측된 비디오 블록으로부터의 대응하는 샘플들에 복원된 잔차 비디오 블록을 추가할 수 있다.
복원 유닛(912)이 비디오 블록을 복원한 후, 루프 필터링 동작이 수행되어 비디오 블록에서 비디오 블록화 아티팩트들을 감소시킬 수 있다.
엔트로피 인코딩 유닛(914)은 비디오 인코더(900)의 다른 기능 컴포넌트들로부터 데이터를 수신할 수 있다. 엔트로피 인코딩 유닛(914)이 데이터를 수신할 때, 엔트로피 인코딩 유닛(914)은 하나 이상의 엔트로피 인코딩 동작들 수행하여 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력할 수 있다.
도 10은 도 8에 나타낸 비디오 코딩 시스템(800)의 비디오 디코더(824)일 수 있는 비디오 디코더(1000)의 한 예를 나타내는 블록도이다.
비디오 디코더(1000)는 본 개시내용의 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수 있다. 도 10의 예에서, 비디오 디코더(1000)는 복수의 기능 컴포넌트를 포함한다. 본 개시내용에서 설명된 기술들은 비디오 디코더(1000)의 다양한 컴포넌트들 사이에서 공유될 수 있다. 일부 예에서, 프로세서는 본 개시내용에서 설명된 기술들 중 임의의 것 또는 모든 기술들을 수행하도록 구성될 수도 있다.
도 10의 예에서, 비디오 디코더(1000)는, 엔트로피 디코딩 유닛(1001), 모션 보상 유닛(1002), 인트라 예측 유닛(1003), 역양자화 유닛(1004), 역변환 유닛(1005), 복원 유닛(1006) 및 버퍼(1007)를 포함한다. 비디오 디코더(1000)는, 일부 예에서, 비디오 인코더(814)(도 8)에 관하여 설명된 인코딩 패스와는 대체로 역 관계를 이루는 디코딩 패스를 수행할 수 있다.
엔트로피 디코딩 유닛(1001)은 인코딩된 비트스트림을 회수할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록들)를 포함할 수 있다. 엔트로피 디코딩 유닛(1001)은 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상 유닛(1002)은, 모션 벡터들, 모션 벡터 정밀도, 참조 픽처 목록 인덱스들, 및 기타의 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상 유닛(1002)은, 예를 들어, AMVP 및 병합 모드 시그널링을 수행함으로써 이러한 정보를 결정할 수 있다.
모션 보상 유닛(1002)은, 아마도 보간 필터들에 기초한 보간을 수행하여, 모션 보상된 블록들을 생성할 수 있다. 서브픽셀 정밀도로 이용될 보간 필터들에 대한 식별자들이 신택스 요소들에 포함될 수 있다.
모션 보상 유닛(1002)은, 기준 블록의 정수이하 픽셀들에 대한 보간된 값들을 계산하기 위해 비디오 블록의 인코딩 동안에 비디오 인코더(814)에 의해 이용되는 보간 필터들을 이용할 수 있다. 모션 보상 유닛(1002)은 수신된 신택스 정보에 따라 비디오 인코더(814)에 의해 이용되는 보간 필터들을 결정할 수 있고 보간 필터들을 이용하여 예측 블록들을 생성할 수 있다.
모션 보상 유닛(1002)은, 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)을 인코딩하는데 이용되는 블록들의 크기를 결정하기 위해 신택스 정보, 인코딩된 비디오 시퀀스의 픽처의 각각의 매크로블록이 어떻게 파티션화되어 있는지를 기술하는 파티션 정보, 각각의 파티션이 어떻게 인코딩되어 있는지를 나타내는 모드들, 각각의 인터 인코딩된 블록에 대한 하나 이상의 참조 프레임(및 참조 프레임 목록들), 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 기타의 정보 중 일부를 이용한다.
인트라 예측 유닛(1003)은 공간적으로 인접한 블록들로부터 예측 블록을 형성하기 위해 예를 들어 비트스트림에서 수신된 인트라 예측 모드들을 이용할 수 있다. 역양자화 유닛(1004)은, 비트스트림에서 제공되고 엔트로피 디코딩 유닛(1001)에 의해 디코딩되는 양자화된 비디오 블록 계수들을 역양자화, 즉, 양자화해제한다. 역변환 유닛(1005)은 역변환을 적용한다.
복원 유닛(1006)은 디코딩된 블록들을 형성하기 위해 모션 보상 유닛(1002) 또는 인트라-예측 유닛(1003)에 의해 생성된 대응하는 예측 블록들과 잔차 블록들을 합산할 수 있다. 원한다면, 블록현상 아티팩트를 제거하기 위하여 디블록킹 필터도 역시 적용되어 디코딩된 블록들을 필터링한다. 그 다음, 디코딩된 비디오 블록들은 버퍼(1007)에 저장되며, 버퍼(1007)는 후속 모션 보상/인트라 예측을 위한 기준 블록들을 제공하고, 또한, 디스플레이 디바이스 상의 프레젠테이션을 위해 디코딩된 비디오를 생성한다.
도 11은 본 개시내용의 한 실시예에 따른 미디어 데이터를 처리하는 한 방법(1100)이다. 이 방법(1100)은 프로세서 및 메모리를 갖는 코딩 장치(예를 들어, 인코더)에 의해 수행될 수 있다. 이 방법(1100)은 픽처-인-픽처 서비스들이 표시될 필요가 있을 때 구현될 수 있다.
블록 1102에서, 코딩 장치는, 미디어 데이터와 미디어 데이터 파일 사이의 변환을 위해, 사전선택 요소가 표시자를 포함한다고 결정한다. 한 실시예에서, 표시자는, 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역에 오버레이되는 것처럼 나타나는 픽처-인-픽처 경험을 제공하기 위한 것임을 나타낸다.
블록 1104에서, 코딩 장치는 표시자에 기초하여 미디어 데이터와 미디어 데이터 파일 사이의 변환을 수행한다. 인코더에서 구현될 때, 변환은, 미디어 파일(예를 들어, 비디오 유닛)을 수신하는 것 및 미디어 파일을 비트스트림으로 인코딩하는 것을 포함한다. 디코더에서 구현될 때, 변환은, 미디어 파일을 포함하는 비트스트림을 수신하는 것 및 미디어 파일을 획득하기 위해 비트스트림을 디코딩하는 것을 포함한다.
한 실시예에서, 표시자는 @tag 속성을 포함한다. 한 실시예에서, 표시자는 @value 속성을 포함한다. 한 실시예에서, 표시자는 사전선택 요소의 목적이 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 "PicInPic"의 값을 갖는다.
한 실시예에서, 표시자는 사전선택 요소의 목적이 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 "PicInPic"의 값을 갖는 @tag 속성을 포함한다. 한 실시예에서, 표시자는 사전선택 요소의 목적이 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 "PicInPic"의 값을 갖는 @value 속성을 포함한다.
한 실시예에서, 표시자는 사전선택 요소에서 CommonAttributesElements 요소 내에 @tag 속성을 포함한다. 한 실시예에서, 표시자는 사전선택 요소에서 Role 요소의 @value 속성을 포함한다.
한 실시예에서, 표시자는 디코더에 대한 선택 목적에 이용될 수 있는 표현, 적응 세트, 또는 사전선택 요소를 역시 명시하는 @tag 속성을 포함한다. 한 실시예에서, 표시자는 역할 주석부기 방식에 관한 정보를 명시하는 Role 요소의 @value 속성을 포함한다.
한 실시예에서, 사전선택 요소는 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 코딩된 비디오 데이터 유닛들이 부가 비디오의 대응하는 비디오 데이터 유닛들로 대체될 수 있는지를 명시하는 @dataUnitsReplacable 속성을 포함한다. 한 실시예에서, 사전선택 요소는 표시자가 "PicInPic"의 값을 갖는 @tag 속성인 경우에만 @dataUnitsReplacable 속성을 포함한다.
한 실시예에서, 사전선택 요소는 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 각각의 코딩된 비디오 데이터 유닛에 대한 ID를 명시하는 @regionsIds 속성을 포함한다. 한 실시예에서, 사전선택 요소는 표시자가 "PicInPic"의 값을 갖는 @tag 속성인 경우에만 @regionsIds 속성을 포함한다.
한 실시예에서, 사전선택 요소는 미디어 프레젠테이션 서술(MPD) 파일에 배치된다. 한 실시예에서, 사전선택 요소는 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH) 사전선택 요소이다.
한 실시예에서, 변환은 미디어 데이터를 비트스트림으로 인코딩하는 것을 포함한다. 한 실시예에서, 변환은 비트스트림으로부터 미디어 데이터를 디코딩하는 것을 포함한다.
한 실시예에서, 이 방법(1100)은 여기서 개시된 다른 방법들의 피처들 또는 프로세스들 중 하나 이상을 이용하거나 통합할 수 있다.
일부 실시예에 의해 선호되는 솔루션들의 목록이 다음으로 제공된다.
이하의 솔루션들은 본 개시내용(예를 들어, 예 1)에서 논의된 기술의 예시적인 실시예들을 보여준다.
1. 비디오 데이터를 처리하는 방법으로서, 비디오 데이터와 상기 비디오 데이터의 서술자 사이의 변환을 수행하는 단계를 포함하고, 상기 서술자는 포맷 규칙을 따르고, 상기 포맷 규칙은 상기 서술자가 상기 서술자의 사전선택 신택스 구조의 픽처-인-픽처 이용을 나타내는 신택스 요소를 포함한다는 것을 명시하는, 방법.
2. 제1항에 있어서, 상기 신택스 요소는 사전선택 신택스 구조의 태그 속성인, 방법.
3. 제1항에 있어서, 상기 신택스 요소는 사전선택 신택스 구조의 역할 속성인, 방법.
4. 비디오 데이터를 처리하는 방법으로서, 비디오 데이터와 상기 비디오 데이터의 서술자 사이의 변환을 수행하는 단계를 포함하고, 상기 서술자는 포맷 규칙을 따르고, 상기 포맷 규칙은, 상기 서술자가, 픽처-인-픽처 영역에 대응하는 비디오 데이터 내의 메인 비디오의 비디오 데이터 유닛들이 상기 비디오 데이터 내의 부가 비디오의 비디오 데이터 유닛들로 대체될 수 있는지를 나타내는 신택스 요소를 선택적으로 포함한다는 것을 명시하는, 방법.
5. 제4항에 있어서, 상기 신택스 요소는 상기 서술자의 속성 필드인, 방법.
6. 제4항에 있어서, 상기 신택스 요소는 상기 서술자의 태그 속성 값에 기초하여 선택적으로 포함되는, 방법.
7. 비디오 데이터를 처리하는 방법으로서, 비디오 데이터와 상기 비디오 데이터의 서술자 사이의 변환을 수행하는 단계를 포함하고, 상기 서술자는 포맷 규칙을 따르고, 상기 포맷 규칙은, 상기 서술자가, 타겟 픽처-인-픽처 영역에 대응하는 비디오 데이터 내의 메인 비디오의 픽처들의 비디오 데이터 유닛들을 나타내는 영역 식별자들의 목록을 포함한다는 것을 명시하는, 방법.
8. 제7항에 있어서, 상기 목록은 사전선택 신택스 구조의 속성으로서 상기 서술자에 포함되는, 방법.
9. 제7항 또는 제8항에 있어서, 상기 영역 식별자들은 상기 메인 비디오를 코딩하는데 이용되는 코딩 방식에 따라 상기 비디오 데이터 유닛들을 표시하는데 이용되는 신택스 필드들에 대응하는, 방법.
10. 비디오 데이터를 처리하는 방법으로서, 비디오 데이터와 상기 비디오 데이터의 서술자 사이의 변환을 수행하는 단계를 포함하고, 상기 서술자는 포맷 규칙을 따르고, 상기 포맷 규칙은, 상기 서술자가 부가 비디오를 오버레이하거나 임베딩하는데 이용되는 메인 비디오 내의 영역의 위치 및/또는 크기 정보를 나타내는 하나 이상의 필드를 포함한다는 것을 명시하는, 방법.
11. 제10항에 있어서, 상기 위치 및 크기 정보는, 상기 영역의 위치 좌표, 높이 및 폭을 포함하는 4개의 값을 포함하는, 방법.
12. 제10항 또는 제11항에 있어서, 상기 하나 이상의 필드는 사전선택 신택스 구조의 속성 또는 요소를 포함하는, 방법.
13. 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 영역이 정확한 대체가능한 영역인지 또는 선호되는 대체가능한 영역인지는 또 다른 신택스 요소에 기초하여 결정되는, 방법.
14. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 서술자는 미디어 프레젠테이션 서술(MPD)인, 방법.
15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오로부터 상기 비트스트림을 생성하는 것을 포함하는, 방법.
16. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 변환은 상기 비트스트림으로부터 상기 비디오를 생성하는 것을 포함하는, 방법.
17. 제1항 내지 제16항 중 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코딩 장치.
18. 제1항 내지 제16항 중 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코딩 장치.
19. 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품으로서, 상기 코드는 프로세서에 의해 실행될 때 상기 프로세서로 하여금 제1항 내지 제16항 중 어느 하나에 언급된 방법을 구현하게 하는, 컴퓨터 프로그램 제품.
20. 제1항 내지 제16항 중 임의의 하나 이상에 기재된 방법에 따라 비트스트림을 생성하는 단계 및 상기 비트스트림을 컴퓨터 판독가능한 매체에 저장하는 단계를 포함하는 비디오 처리 방법.
21. 본 문서에서 설명된 방법, 장치, 또는 시스템.
이하의 문서들은 그 전체가 참조에 의해 포함된다:
Figure pat00006
본 문서에서 설명된 개시된 및 기타의 솔루션들, 예들, 실시예들, 모듈들, 및 기능적 동작들은, 본 문서에서 개시된 구조들 및 그들의 구조적 균등물들을 포함한, 디지털 전자 회로로, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 개시된 및 기타의 실시예들은, 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위한 컴퓨터 판독가능한 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능한 매체는, 머신 판독가능한 저장 디바이스, 머신 판독가능한 저장 기판, 메모리 디바이스, 머신 판독가능한 전파된 신호에 영향을 미치는 물질의 조성, 또는 이들 중 하나 이상의 조합일 수 있다. 용어 "데이터 처리 장치"는, 예로서 프로그램가능한 프로세서, 컴퓨터, 또는 복수의 프로세서나 컴퓨터를 포함한, 데이터를 처리하기 위한 모든 장치, 디바이스, 및 머신을 포괄한다. 장치는, 하드웨어 외에도, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합으로 구성된 코드를 포함할 수 있다. 전파된 신호는, 인공적으로 생성된 신호, 예를 들어, 적절한 수신 장치로의 전송을 위해 정보를 인코딩하도록 생성된 머신-생성된 전기적, 광학적, 또는 전자기 신호이다.
(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 알려진) 컴퓨터 프로그램은, 컴파일형 또는 인터프리터형 언어를 포함한 임의의 형태의 프로그래밍 언어로 작성될 수 있고-, 단독형 프로그램이나, 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서 이용하기에 적합한 기타의 유닛을 포함한, 임의 형태로 배치될 수 있다. 컴퓨터 프로그램은 반드시 파일 시스템 내의 파일에 대응할 필요는 없다. 프로그램은 다른 프로그램이나 데이터를 보유하고 있는 파일(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)의 일부로서, 해당 프로그램에 전용된 단일 파일에, 또는 복수의 조율된 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램, 또는 코드의 부분들을 저장하고 있는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터에서, 또는 적어도 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐 분산되고 통신 네트워크를 통해 상호접속된 복수의 컴퓨터에서 실행되도록 배치될 수 있다.
본 문서에서 설명된 프로세스들 및 로직 흐름들은, 하나 이상의 입력 데이터에 관해 동작하고 출력을 생성함으로써 하나 이상의 컴퓨터 프로그램을 실행하여 기능을 수행하는 하나 이상의 프로그램가능한 프로세서에 의해 수행될 수 있다. 프로세스들과 로직 흐름들은 또한, 특별 목적 로직 회로, 예를 들어, FPGA(필드 프로그래머블 게이트 어레이) 또는 ASIC(application specific integrated circuit; 주문형 집적 회로)에 의해 수행될 수 있고, 또한 장치가 이들로서 구현될 수 있다.
컴퓨터 프로그램을 실행하기에 적합한 프로세서로는, 예로서, 범용 마이크로프로세서 및 특별 목적 마이크로프로세서 양쪽 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서가 포함된다. 일반적으로, 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 양쪽 모두로부터 명령어와 데이터를 수신할 것이다. 컴퓨터의 본질적 요소들은, 명령어들을 수행하기 위한 프로세서와, 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크를 포함하거나, 이들로부터 데이터를 수신, 이들에게 데이터를 전송, 또는 양쪽 모두를 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 이러한 디바이스를 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능한 매체는, 예로서, 반도체 메모리 디바이스들, 예컨대, 소거가능한 프로그래머블 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그래머블 판독 전용 메모리(EEPROM), 및 플래시 메모리 디바이스들; 자기 디스크들, 예컨대, 내부 하드 디스크들 또는 착탈식 디스크들; 광자기 디스크들; 및 컴팩트 디스크 판독-전용 메모리(CD ROM)와 디지털 다목적 디스크-판독 전용 메모리(DVD-ROM) 디스크들을 포함한, 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특별 목적 로직 회로에 의해 보충되거나, 이에 병합될 수 있다.
본 특허 문서가 많은 특정한 사항들을 포함하지만, 이들은 임의의 주제의 범위 또는 청구될 수 있는 대상에 관한 제한들로서 해석되어서는 안 되고, 특정한 기술들의 특정한 실시예들 특유일 수 있는 피처들의 설명으로서 해석되어야 한다. 별개의 실시예들의 정황에서 본 특허 문서에서 설명된 소정의 피처들은 또한, 단일의 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 정황에서 설명된 다양한 피처들은 또한, 복수의 실시예에서 별개로 구현되거나 임의의 적절한 하위조합(subcombination)으로 구현될 수 있다. 게다가, 피처들이 상기에서 소정 조합으로 작용하는 것으로 설명되거나 심지어 그와 같이 처음 청구되더라도, 청구된 조합으로부터의 하나 이상의 피처들은 일부 경우에는 그 조합으로부터 삭제될 수도 있고, 청구된 조합은 하위조합이나 하위조합의 변형에 관한 것일 수도 있다.
유사하게, 동작들이 도면에서 특정 순서로 도시되더라도, 이것은, 바람직한 결과를 달성하기 위해 이러한 동작들이 도시된 특정 순서로 또는 순차적 순서로 수행될 것을 요구하거나, 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안 된다. 또한, 본 특허 문헌에서 설명된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 개의 구현 및 예들만이 설명되었지만, 본 특허 문서에서 설명되고 예시된 내용에 기초하여 다른 구현, 개선 및 변형이 이루어질 수 있다.
본 특허 문서가 많은 특정한 사항들을 포함하지만, 이들은 임의의 주제의 범위 또는 청구될 수 있는 대상에 관한 제한들로서 해석되어서는 안 되고, 특정한 기술들의 특정한 실시예들 특유일 수 있는 피처들의 설명으로서 해석되어야 한다. 별개의 실시예들의 정황에서 본 특허 문서에서 설명된 소정의 피처들은 또한, 단일의 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 정황에서 설명된 다양한 피처들은 또한, 복수의 실시예에서 별개로 구현되거나 임의의 적절한 하위조합(subcombination)으로 구현될 수 있다. 게다가, 피처들이 상기에서 소정 조합으로 작용하는 것으로 설명되거나 심지어 이러한 것으로서 처음 청구되더라도, 청구된 조합으로부터의 하나 이상의 피처는 일부 경우에는 그 조합으로부터 삭제될 수 있고, 청구된 조합은 서브조합이나 서브조합의 변형에 관한 것일 수도 있다.
유사하게, 동작들이 도면에서 특정 순서로 도시되더라도, 이것은, 바람직한 결과를 달성하기 위해 이러한 동작들이 도시된 특정 순서로 또는 순차적 순서로 수행될 것을 요구하거나, 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안 된다. 또한, 본 특허 문헌에서 설명된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 개의 구현 및 예들만이 설명되었지만, 본 특허 문서에서 설명되고 예시된 내용에 기초하여 다른 구현, 개선 및 변형이 이루어질 수 있다.

Claims (20)

  1. 미디어 데이터를 처리하는 방법으로서,
    미디어 데이터와 미디어 데이터 파일 사이의 변환을 위해, 사전선택 요소가 표시자를 포함한다고 결정하는 단계 ㅡ 상기 표시자는 상기 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역 상에 오버레이된 것처럼 나타나는 픽처-인-픽처 경험을 제공하기 위한 것임을 나타냄 ㅡ; 및
    상기 표시자에 기초하여 상기 미디어 데이터와 상기 미디어 데이터 파일 사이의 변환을 수행하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 표시자는 @tag 속성을 포함하는, 방법.
  3. 제1항에 있어서, 상기 표시자는 @value 속성을 포함하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 표시자는 상기 사전선택 요소의 목적이 상기 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 "PicInPic"의 값을 갖는, 방법.
  5. 제1항, 제2항, 및 제4항 중 어느 한 항에 있어서, 상기 표시자는 상기 사전선택 요소의 목적이 상기 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 "PicInPic"의 값을 갖는 @tag 속성을 포함하는, 방법.
  6. 제1항, 제3항, 및 제4항 중 어느 한 항에 있어서, 상기 표시자는 상기 사전선택 요소의 목적이 상기 픽처-인-픽처 경험을 제공하기 위한 것임을 나타내는 "PicInPic"의 값을 갖는 @value 속성을 포함하는, 방법.
  7. 제1항, 제2항, 제4항, 및 제5항 중 어느 한 항에 있어서, 상기 표시자는 상기 사전선택 요소에서 CommonAttributesElements 요소 내에 @tag 속성을 포함하는, 방법.
  8. 제1항, 제3항, 제4항 및 제6항 중 어느 한 항에 있어서, 상기 표시자는 상기 사전선택 요소에서 Role 요소의 @value 속성을 포함하는, 방법.
  9. 제1항, 제2항, 제4항 및 제5항 중 어느 한 항에 있어서, 상기 표시자는 디코더에 대한 선택 목적에 이용될 수 있는 표현, 적응 세트, 또는 사전선택 요소를 역시 명시하는 @tag 속성을 포함하는, 방법.
  10. 제1항, 제3항, 제4항 및 제6항 중 어느 한 항에 있어서, 상기 표시자는 역할 주석부기 방식에 관한 정보를 명시하는 Role 요소의 @value 속성을 포함하는, 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 사전선택 요소는 상기 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 코딩된 비디오 데이터 유닛들이 상기 부가 비디오의 대응하는 비디오 데이터 유닛들로 대체될 수 있는지를 명시하는 @dataUnitsReplacable 속성을 포함하는, 방법.
  12. 제1항, 제2항, 제4항 및 제5항 중 어느 한 항에 있어서, 상기 사전선택 요소는 상기 표시자가 "PicInPic"의 값을 갖는 @tag 속성인 경우에만 @dataUnitsReplacable 속성을 포함하는, 방법.
  13. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 사전선택 요소는 상기 메인 비디오의 타겟 픽처-인-픽처 영역을 나타내는 각각의 코딩된 비디오 데이터 유닛에 대한 식별자(ID)를 명시하는 @regionsIds 속성을 포함하는, 방법.
  14. 제1항, 제2항, 제4항 및 제5항 중 어느 한 항에 있어서, 상기 사전선택 요소는 상기 표시자가 "PicInPic"의 값을 갖는 @tag 속성인 경우에만 @regionsIds 속성을 포함하는, 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 사전선택 요소는 미디어 프레젠테이션 서술(Media Presentation Description)(MPD) 파일에 배치되는, 방법.
  16. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 사전선택 요소는 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(Dynamic Adaptive Streaming over Hypertext Transfer Protocol)(DASH) 사전선택 요소인, 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 변환은 상기 미디어 데이터를 비트스트림으로 인코딩하는 것을 포함하는, 방법.
  18. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 변환은 상기 비트스트림으로부터 상기 미디어 데이터를 디코딩하는 것을 포함하는, 방법.
  19. 프로세서 및 명령어들을 갖춘 비일시적인 메모리를 포함하는 미디어 데이터를 처리하기 위한 장치로서, 상기 명령어들은, 상기 프로세서에 의한 실행시, 상기 프로세서로 하여금:
    미디어 데이터와 미디어 데이터 파일 사이의 변환을 위해, 사전선택 요소가 표시자를 포함한다고 결정하게 하고 ㅡ 상기 표시자는 상기 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역 상에 오버레이된 것처럼 나타나는 픽처-인-픽처 경험을 제공하기 위한 것임을 나타냄 ㅡ; 및
    상기 표시자에 기초하여 상기 미디어 데이터와 상기 미디어 데이터 파일 사이의 변환을 수행하게 하는, 장치.
  20. 비디오 처리 장치에 의해 수행되는 방법에 의해 생성되는 비디오의 미디어 프레젠테이션 서술(MPD)을 저장한 비일시적인 컴퓨터 판독가능한 기록 매체로서, 상기 방법은:
    사전선택 요소가 표시자를 포함한다고 결정하는 단계 ㅡ 상기 표시자는 상기 사전선택 요소의 목적이 부가 비디오가 메인 비디오의 타겟 픽처-인-픽처 영역 상에 오버레이된 것처럼 나타나는 픽처-인-픽처 경험을 제공하기 위한 것임을 나타냄 ㅡ; 및
    상기 표시자에 기초하여 상기 MPD를 생성하는 단계
    를 포함하는, 비일시적인 컴퓨터 판독가능한 기록 매체.
KR1020220080683A 2021-06-30 2022-06-30 사전선택의 목적의 시그널링 KR20230004339A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163216975P 2021-06-30 2021-06-30
US63/216,975 2021-06-30

Publications (1)

Publication Number Publication Date
KR20230004339A true KR20230004339A (ko) 2023-01-06

Family

ID=82493947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220080683A KR20230004339A (ko) 2021-06-30 2022-06-30 사전선택의 목적의 시그널링

Country Status (5)

Country Link
US (1) US20230007210A1 (ko)
EP (1) EP4114018A1 (ko)
JP (1) JP7460693B2 (ko)
KR (1) KR20230004339A (ko)
CN (1) CN115550719A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023159143A2 (en) * 2022-02-17 2023-08-24 Bytedance Inc. Method, apparatus, and medium for video processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4081772B2 (ja) 2005-08-25 2008-04-30 ソニー株式会社 再生装置および再生方法、プログラム、並びにプログラム格納媒体
KR102637023B1 (ko) 2015-11-25 2024-02-16 소니그룹주식회사 수신 장치, 송신 장치, 및 데이터 처리 방법
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
US11297298B2 (en) 2018-02-27 2022-04-05 Lg Electronics Inc. Method for transmitting and receiving 360-degree video including camera lens information, and device therefor

Also Published As

Publication number Publication date
US20230007210A1 (en) 2023-01-05
EP4114018A1 (en) 2023-01-04
JP2023008952A (ja) 2023-01-19
JP7460693B2 (ja) 2024-04-02
CN115550719A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
JP7397036B2 (ja) 映像符号化におけるサブピクチャエンティティ
JP7355791B2 (ja) サブピクチャトラックの参照および処理
JP2022553599A (ja) サブピクチャ、スライス、およびタイルをサポートするビデオ符号化
US11985333B2 (en) Indicating which video data units represent a target picture-in-picture region
US20230007210A1 (en) Signaling the Purpose of Preselection
JP7418489B2 (ja) サブピクチャエンティティグループに対するレベルインジケータ
KR20240050413A (ko) 비디오 처리를 위한 방법, 장치 및 매체
KR20240049612A (ko) 비디오 처리를 위한 방법, 기기 및 매체