KR20140043767A - 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법 - Google Patents

비디오 인코딩 및 디코딩시의 레이턴시 저감 기법 Download PDF

Info

Publication number
KR20140043767A
KR20140043767A KR1020137034813A KR20137034813A KR20140043767A KR 20140043767 A KR20140043767 A KR 20140043767A KR 1020137034813 A KR1020137034813 A KR 1020137034813A KR 20137034813 A KR20137034813 A KR 20137034813A KR 20140043767 A KR20140043767 A KR 20140043767A
Authority
KR
South Korea
Prior art keywords
frame
latency
frames
video
syntax elements
Prior art date
Application number
KR1020137034813A
Other languages
English (en)
Other versions
KR101944565B1 (ko
Inventor
게리 제이 설리번
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20140043767A publication Critical patent/KR20140043767A/ko
Application granted granted Critical
Publication of KR101944565B1 publication Critical patent/KR101944565B1/ko

Links

Images

Classifications

    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • 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

Abstract

비디오 프레임들의 재배열에 기인하는 레이턴시를 제한함으로써, 또한 비디오 프레임들의 코딩된 데이터를 동반하는 하나 이상의 신택스 요소들로 프레임 재배열 레이턴시에 대한 제한을 나타냄으로써, 비디오 인코딩 및 디코딩시의 레이턴시를 저감하는 기법들 및 수단들이다. 예컨대, 비디오 인코더를 갖춘 실시간 통신 수단은 비디오 시퀀스의 복수의 프레임 사이의 프레임간 종속성들과 일치하는 프레임 재배열 레이턴시에 대한 제한을 나타내는 신택스 요소를 설정하고 나서, 신택스 요소를 출력한다. 비디오 디코더를 갖춘 상응하는 실시간 통신 수단은 프레임 재배열 레이턴시에 대한 제한을 나타내는 신택스 요소를 수신하고, 신택스 요소에 의거하여 프레임 재배열 레이턴시에 대한 제한을 결정하고, 프레임 재배열 레이턴시에 대한 제한을 사용해서 (출력 순서의 관점에서) 복원된 프레임이 출력 준비가 되는 시기를 결정한다.

Description

비디오 인코딩 및 디코딩시의 레이턴시 저감 기법{REDUCING LATENCY IN VIDEO ENCODING AND DECODING}
본 발명은 인코딩 및 디코딩시의 레이턴시 저감 기법에 관한 것이다.
엔지니어들은 디지털 비디오의 비트 레이트(bit rate)를 저감하기 위해 압축(소스 코딩 또는 소스 인코딩이라고도 함)을 이용한다. 압축은 비디오 정보를 보다 낮은 비트 레이트 형태로 변환함으로써 비디오 정보를 저장 및 전송하는 비용을 경감시킨다. 압축해제(디코딩이라고도 함)는 압축된 형태로부터 원래의 정보의 버전을 복원한다. "코덱(codec)"이 인코더/디코더 시스템이다.
지난 20여년에 걸쳐, H.261, H.262(MPEG-2 또는 ISO/IEC 13818-2), H.263 및 H.264(AVC 또는 ISO/IEC 14496-10) 표준 및 MPEG-1(ISO/IEC 11172-2), MPEG-4 Visual(ISO/IEC 14496-2) 및 SMPTE 421M 표준을 포함하는 다양한 비디오 코덱 표준이 채택되고 있다. 보다 최근에는, HEVC 표준의 개발이 진행되고 있다. 비디오 코덱 표준은 인코딩 및 디코딩에서 특정한 특징들을 사용할 때 비트스트림 내의 파라미터들을 열거하는 인코딩된 비디오 비트스트림의 신택스(syntax)에 대한 옵션들을 규정하는 것이 일반적이다. 많은 경우에, 비디오 코덱 표준은 수정된 디코딩을 달성하기 위해 디코더가 수행해야 하는 디코딩 작업(연산)들에 대한 세부사항들도 제공한다.
압축의 기본적인 목표는 양호한 레이트-디스토션(rate-distortion) 성능을 제공하는 것이다. 그래서, 특정 비트 레이트에 대하여, 인코더는 최고 품질의 비디오를 제공하려고 한다. 또는, 원래의 비디오에 대한 특정 레벨의 품질/적합도에 대하여, 인코더는 최저 비트 레이트로 인코딩된 비디오를 제공하려고 한다. 실제로, 이용 시나리오에 따라, 인코딩 시간, 인코딩 복잡도, 인코딩 리소스들, 디코딩 시간, 디코딩 복잡도, 디코딩 리소스들, 전체 지연, 및/또는 재생시의 순조로움 등의 고려사항들도 인코딩 및 디코딩 도중에 이루어진 결정들에 영향을 미친다.
예컨대, 스토리지로부터의 비디오 재생, 네트워크 접속을 통해 스트리밍된 인코딩된 데이터로부터의 비디오 재생, 및 비디오 트랜스코딩(하나의 비트 레이트에서 다른 비트 레이트로, 또는 하나의 표준에서 다른 표준으로) 등의 이용 시나리오를 고려한다. 인코더 측에서는, 이와 같은 응용들은 긴급하지 않은(시간에 민감하지 않은) 오프라인 인코딩을 허용할 수 있다. 따라서, 인코더는 비디오를 압축하는 가장 유효한 방식을 찾기 위해 인코딩 시간을 증가시키는 한편, 인코딩 중에 사용된 리소스들을 증가시킬 수 있고, 이로써 레이트-디스토션 성능을 향상시킨다. 디코더 측에서 소량의 지연이 또한 용인되는 경우에는, 디코더는, 예컨대 시퀀스에서(순서상) 보다 앞서있는 픽처들로부터의 픽처간 종속성(inter-picture dependency)을 활용함으로써, 레이트-디스토션 성능을 더 향상시킬 수 있다.
한편, 원격 데스크톱 회의, 감시 비디오, 영상 통화 및 그 밖의 실시간 통신 시나리오 등의 이용 시나리오를 고려한다. 이와 같은 응용들은 긴급하다(시간에 민감하다). 입력 픽처들의 기록과 출력 픽처들의 재생간의 낮은 레이턴시는 성능에 있어서 핵심적인 요인이다. 비-실시간 통신에 맞춰진 인코딩/디코딩 수단(툴)들이 실시간 통신 시나리오들에 적용될 경우에는, 전체 레이턴시가 용인하기 어려울 정도로 높아지곤 한다. 인코딩 및 디코딩 도중에 이 수단들이 도입하는 지연들은 정규 비디오 재생 성능을 향상시킬 수는 있지만, 실시간 통신에는 지장을 준다.
요컨대, 발명의 상세한 설명은 비디오 인코딩 및 디코딩시의 레이턴시를 저감하는 기법들 및 수단들을 제시한다. 이들 기법들 및 수단들은 실시간 통신시의 응답성을 향상시키기 위해 레이턴시를 저감할 수 있다. 예컨대, 이들 기법들 및 수단들은, 비디오 프레임들의 재배열에 기인하는 레이턴시를 제한함으로써, 또한 비디오 프레임들의 코딩된 데이터를 동반하는 하나 이상의 신택스 요소들로 프레임 재배열 레이턴시에 대한 제한(constraint)을 지시함으로써, 전체 레이턴시를 저감한다.
여기에 기술된 기법들 및 수단들의 일 양태에 따르면, 비디오 인코더, 비디오 인코더를 갖춘 실시간 통신 수단, 또는 그 밖의 수단 등의 수단이 레이턴시에 대한 제한(예컨대, 비디오 시퀀스의 다수의 프레임들 사이의 프레임간 종속성(inter-frame dependency)들과 일치하는 프레임 재배열 레이턴시에 대한 제한)을 나타내는 하나 이상의 신택스 요소를 설정한다. 이 수단은 신택스 요소(들)를 출력하고, 그에 따라 프레임들의 출력 순서에 관점에서, 복원된 프레임들이 출력 준비가 되는 시기의 보다 단순하고 신속한 판정이 가능해진다.
여기에 기술된 기법들 및 수단들의 다른 양태에 따르면, 비디오 디코더, 비디오 디코더를 갖춘 실시간 통신 수단, 또는 그 밖의 수단 등의 수단이 레이턴시에 대한 제한(예컨대, 프레임 재배열 레이턴시에 대한 제한)을 나타내는 하나 이상의 신택스 요소를 수신 및 파스(parse)한다. 이 수단은 비디오 시퀀스의 다수의 프레임들의 인코딩된 데이터도 수신한다. 인코딩된 데이터의 적어도 일부는 프레임들 중 하나를 복원하기 위해 디코딩된다. 이 수단은 신택스 요소(들)에 기초하여 레이턴시에 대한 제한을 판정하고 나서, 레이턴시에 대한 제한을 사용해서, (출력 순서의 관점에서) 복원된 프레임이 출력 준비가 되는 시기를 판정할 수 있다. 이 수단은 복원된 프레임을 출력한다.
본 발명의 전술한 및 다른 목적들, 특징들, 및 장점들은 첨부도면들을 참조하는 이하 발명의 상세한 설명으로부터 더욱 분명해질 것이다.
도 1은 몇몇 기술된 실시예들을 구현할 수 있는 예시적인 컴퓨팅 시스템의 다이어그램이다.
도 2a 및 도 2b는 몇몇 기술된 실시예들을 구현할 수 있는 예시적인 네트워크 환경들의 다이어그램이다.
도 3은 몇몇 기술된 실시예들을 함께 구현할 수 있는 예시적인 인코더 시스템의 다이어그램이다.
도 4는 몇몇 기술된 실시예들을 함께 구현할 수 있는 예시적인 디코더 시스템의 다이어그램이다.
도 5a 내지 도 5e는 프레임들의 코딩된 순서 및 출력 순서를 몇 가지의 예시적인 시리즈로 도시하는 다이어그램이다.
도 6은 레이턴시에 대한 제한을 나타내는 하나 이상의 신택스 요소를 설정 및 출력하는 예시적인 기법을 도시하는 플로차트이다.
도 7은 레이턴시가 저감된 디코딩을 위한 예시적인 기법을 도시하는 플로차트이다.
발명의 상세한 설명은 비디오 인코딩 및 디코딩시의 레이턴시를 저감하는 기법들 및 수단들을 제시한다. 이들 기법들 및 수단들은 실시간 통신시의 응답성을 향상시키기 위해 레이턴시를 저감하는 것을 도울 수 있다.
비디오 코딩/디코딩 시나리오들에 있어서, 입력 비디오 프레임이 수신되는 시간과 그 프레임이 재생되는 시간 사이의 약간의 지연은 불가피하다. 이 프레임은 인코더에 의해 인코딩되어, 디코더에 전달되며, 디코더에 의해 디코딩되고, 인코딩 리소스들, 디코딩 리소스들 및/또는 네트워크 대역폭에 대한 실질적인 한계들에 의해 약간의 레이턴시가 야기된다. 그러나, 그 밖의 레이턴시는 피할 수 있다. 예컨대, 레이트-디스토션 성능을 향상시키기 위해 (예컨대, 시퀀스에서 보다 앞서 있는 픽처들로부터의 프레임간 종속성들을 활용하기 위해) 인코더 및 디코더에 의해 레이턴시가 도입될 수 있다. 레이트-디스토션 성능, 프로세서 이용 또는 재생 순조로움의 관점에서 불이익이 있을 수도 있지만, 이와 같은 레이턴시는 저감될 수 있다.
여기에 기술된 기법들 및 수단들에 의하면, 레이턴시를 제한(그에 따라, 프레임간 종속성들의 시간 범위(temporal extent)를 한정)하는 한편, 레이턴시에 대한 제한을 디코더에 지시함으로써, 레이턴시가 경감된다. 예컨대, 레이턴시에 대한 제한은 프레임 재배열 레이턴시에 대한 제한이다. 대안으로서, 레이턴시에 대한 제한은 초, 밀리초, 또는 그 밖의 시간 단위의 관점에서의 제한이다. 이후, 디코더는 레이턴시에 대한 제한을 판정하고, 그 제한을 이용해서 프레임들이 언제 출력 준비가 되는지를 판정할 수 있다. 이렇게 해서, 원격 데스크톱 회의, 영상 통화, 비디오 감시, 웹 카메라 비디오 및 그 밖의 실시간 통신 응용들에 대한 지연이 저감될 수 있다.
여기에 기술된 혁신들 중 일부는 H.264 및/또는 HEVC 표준에 특정된 신택스 요소들 및 작업들을 참조하여 예시된다. 이와 같은 혁신들은 다른 표준들 또는 포맷들에 대하여 구현될 수도 있다.
보다 일반적으로는, 여기에 기술된 예시들에 대한 다양한 대안이 가능하다. 플로차트 다이어그램들을 참조하여 기술된 특정 기법들은, 특정 단계들을 분할, 반복 또는 생략하는 등에 의해, 플로차트들에 도시된 단계들의 배열을 변경함으로써 바뀔 수 있다. 비디오 인코딩 및 디코딩에 대한 레이턴시 저감의 다양한 양태는 조합하여 또는 별도로 사용될 수 있다. 상이한 실시예들은 여기에 기술된 기법들 및 수단들의 하나 이상을 사용한다. 여기에 기술된 기법들 및 수단들의 일부는 배경기술에서 주지된 하나 이상의 문제점을 다룬다. 통상적으로, 주어진 기법/수단이 이와 같은 모든 문제점을 해결하는 것은 아니다.
I. 예시적인 컴퓨팅 시스템(Example Computing Systems)
도 1은 기술된 몇몇 기법들 및 수단들이 구현될 수 있는 적절한 컴퓨팅 시스템(100)의 일반화된 예를 예시한다. 이들 기법들 및 수단들은 다양한 범용 또는 특수 목적 컴퓨팅 시스템에서 구현될 수 있는 것이기 때문에, 컴퓨팅 시스템(100)은 용도 또는 기능의 범위를 한정하려는 것이 아니다.
도 1을 참조하면, 컴퓨팅 시스템(100)은 하나 이상의 프로세싱 유닛(110, 115) 및 메모리(120, 125)를 포함한다. 도 1에서, 이 가장 기본적인 구성(130)은 점선 내에 포함된다. 프로세싱 유닛들(110, 115)은 컴퓨터-실행 가능한 명령어들을 실행한다. 프로세싱 유닛은 범용 센트럴 프로세싱 유닛(CPU; 중앙 처리 장치), 주문형 집적 회로(ASIC) 내의 프로세서 또는 임의의 다른 유형의 프로세서일 수 있다. 다중처리 시스템에 있어서는, 다수의 프로세싱 유닛이 컴퓨터-실행 가능한 명령어들을 실행해서 처리 능력을 증가시킨다. 예컨대, 도 1은 센트럴 프로세싱 유닛(110)뿐만 아니라 그래픽 프로세싱 유닛 또는 보조-프로세싱 유닛(co-processing unit)(115)을 도시한다. 유형의(tangible) 메모리(120, 125)는 프로세싱 유닛(들)에 의해 액세스 가능한 휘발성 메모리(예컨대, 레지스터, 캐시, RAM), 비-휘발성 메모리(예컨대, ROM, EEPROM, 플래시 메모리 등), 또는 이들 두 메모리의 몇몇 조합일 수 있다. 메모리(120, 125)는 비디오 인코딩 및 디코딩시의 레이턴시를 저감하는 하나 이상의 혁신을 구현하는 소프트웨어(180)를 프로세싱 유닛(들)에 의해 실행하기에 적합한 컴퓨터-실행 가능한 명령어들의 형태로 저장한다.
컴퓨팅 시스템은 추가적인 특징들을 가질 수 있다. 예컨대, 컴퓨팅 시스템(100)은 스토리지(140), 하나 이상의 입력 디바이스(150), 하나 이상의 출력 디바이스(160), 및 하나 이상의 통신 접속부(170)를 포함한다. 버스, 컨트롤러, 또는 네트워크와 같은 상호접속 메커니즘(도시되지 않음)은 컴퓨팅 시스템(100)의 구성요소들을 상호접속한다. 통상적으로, 운영 체계 소프트웨어(도시되지 않음)는 컴퓨팅 시스템(100)에서 실행하는 다른 소프트웨어에 운영 환경을 제공하고, 컴퓨팅 시스템(100)의 구성요소들의 활동들을 관장한다.
유형의 스토리지(140)는 외장형 또는 내장형일 수 있으며, 정보를 비일시적으로 저장하는데 사용될 수 있고 컴퓨팅 시스템(100) 내에서 액세스될 수 있는 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD, 또는 임의의 그 밖의 매체를 포함한다. 스토리지(140)는 비디오 인코딩 및 디코딩시의 레이턴시 저감을 위한 하나 이상의 혁신을 구현하는 소프트웨어(180)의 명령어들을 저장한다.
입력 디바이스(들)(150)는 키보드, 마우스, 펜, 또는 트랙볼과 같은 터치 입력 디바이스, 음성 입력 디바이스, 스캐닝 디바이스, 또는 컴퓨팅 시스템(100)에 입력을 제공하는 다른 디바이스일 수 있다. 비디오 인코딩을 위해서는, 입력 디바이스(들)(150)는 비디오 입력을 아날로그 또는 디지털 형태로 받아들이는 카메라, 비디오 카드, TV 튜너 카드 또는 유사한 디바이스이거나, 또는 비디오 샘플들을 컴퓨팅 시스템(100)에 읽어들이는 CD-ROM 또는 CD-RW일 수 있다. 출력 디바이스(들)(160)는 디스플레이, 프린터, 스피커, CD-라이터(writer), 또는 컴퓨팅 시스템(100)으로부터 출력을 제공하는 다른 디바이스일 수 있다.
통신 접속부(들)(170)는 통신 매체를 통한 다른 컴퓨팅 엔티티와의 통신을 가능하게 한다. 통신 매체는 컴퓨터-실행 가능한 명령어들, 오디오 또는 비디오 입력 또는 출력, 또는 변조된 데이터 신호 내의 다른 데이터와 같은 정보를 실어나른다. 변조된 데이터 신호는 하나 이상의 그 특성이 신호 내의 정보를 인코딩하도록 그렇게 설정 또는 변화되어 있는 신호이다. 한정이 아닌 예로서, 통신 매체는 전기, 광, RF, 또는 다른 캐리어를 사용할 수 있다.
컴퓨터-판독 가능한 매체의 일반적인 맥락에서 이들 기법들 및 수단들을 기술할 수 있다. 컴퓨터-판독 가능한 매체는 컴퓨팅 환경 내에서 액세스될 수 있는 임의의 시판중인 유형의 매체이다. 한정이 아닌 예로서, 컴퓨팅 시스템(100)에 의하면, 컴퓨터-판독 가능한 매체는 메모리(120, 125), 스토리지(140), 및 상술한 것들의 임의의 조합을 포함한다.
대상(target) 실제 또는 가상 프로세서상의 컴퓨팅 시스템에서 실행되는, 프로그램 모듈들에 포함된 것들과 같은, 컴퓨터-실행 가능한 명령어들의 일반적인 맥락에서 이들 기법들 및 수단들을 기술할 수 있다. 일반적으로, 프로그램 모듈들은, 특정 태스크들을 수행하거나 또는 특정 추상 데이터형들을 구현하는 루틴들, 프로그램들, 라이브러리들, 객체들, 클래스들, 구성요소들, 데이터 구조들 등을 포함한다. 프로그램 모듈들의 기능은 다양한 실시예들에서 원하는 대로 프로그램 모듈들 사이에서 결합 또는 분할될 수 있다. 프로그램 모듈들의 컴퓨터-실행 가능한 명령어들은 국소 또는 분산 컴퓨팅 환경 내에서 실행될 수 있다.
"시스템(system)" 및 "디바이스(device)"라는 용어는 여기서는 호환 가능하게 사용된다. 맥락에서 명확하게 달리 지시하지 않는 한, 어떠한 용어도 컴퓨팅 시스템 또는 컴퓨팅 디바이스의 유형에 대한 한정을 내포하는 것은 아니다. 일반적으로, 컴퓨팅 시스템 또는 컴퓨팅 디바이스는 국소형 또는 분산형일 수 있으며, 여기에 기술된 기능을 구현하는 소프트웨어와 함께 특수 목적 하드웨어 및/또는 범용 하드웨어의 임의의 조합을 포함할 수 있다.
설명을 위해, 발명의 상세한 설명은 컴퓨팅 시스템에서 컴퓨터 작업들을 기술하기 위해 "판정(determine)" 및 "사용(use)"과 같은 용어들을 사용한다. 이들 용어는 컴퓨터에 의해 수행된 작업들에 대한 높은 수준의 추상적 개념이며, 인간에 의해 수행된 행위와 혼동되지 않아야 한다. 이들 용어에 대응하는 실제 컴퓨터 작업들은 구현에 따라 서로 다르다.
II. 예시적인 네트워크 환경(Example Network Environments)
도 2a 및 도 2b는 비디오 인코더(220)들 및 비디오 디코더(270)들을 포함하는 예시적인 네트워크 환경들(201, 202)을 도시한다. 인코더(220)들 및 디코더(270)들은 적절한 통신 프로토콜을 사용하여 네트워크(250)를 통해 접속된다. 네트워크(250)는 인터넷 또는 다른 컴퓨터 네트워크를 포함할 수 있다.
도 2a에 도시된 네트워크 환경(201)에 있어서, 각 실시간 통신("RTC") 수단(210)은 양방향 통신을 위해 인코더(220) 및 디코더(270)를 모두 포함한다. 주어진 인코더(220)는, 상응하는 디코더(270)가 인코더(220)로부터 인코딩된 데이터를 받아들일 수 있게, SMPTE 421M 표준, ISO-IEC 14496-10 표준(H.264 또는 AVC로도 공지됨), HEVC 표준, 다른 표준, 또는 독점적(proprietary) 포맷에 부합하는 출력을 생산할 수 있다. 양방향 통신은 화상 회의, 화상 통화, 또는 그 밖의 양자간 통신 시나리오의 일부일 수 있다. 도 2a에서의 네트워크 환경(201)이 2개의 실시간 통신 수단(210)을 포함하고 있지만, 네트워크 환경(201)은 그 대신에 다자간 통신에 참여하는 3개 이상의 실시간 통신 수단(210)을 포함할 수 있다.
실시간 통신 수단(210)은 인코더(220)에 의한 인코딩을 관리한다. 도 3은 실시간 통신 수단(210)에 포함될 수 있는 예시적인 인코더 시스템(300)을 도시한다. 대안으로서, 실시간 통신 수단(210)은 다른 인코더 시스템을 사용한다. 실시간 통신 수단(210)은 디코더(270)에 의한 디코딩도 관리한다. 도 4는 실시간 통신 수단(210)에 포함될 수 있는 예시적인 디코더 시스템(400)을 도시한다. 대안으로서, 실시간 통신 수단(210)은 다른 디코더 시스템을 사용한다.
도 2b에 도시된 네트워크 환경(202)에 있어서, 인코딩 수단(212)은 디코더(270)들을 포함하는 다수의 재생 수단(214)에 전달하기 위한 비디오를 인코딩하는 인코더(220)를 포함한다. 단방향 통신은, 비디오 감시 시스템, 웹 카메라 모니터링 시스템, 원격 데스크톱 회의 프레젠테이션 또는 비디오가 인코딩되어 하나의 장소에서 하나 이상의 다른 장소로 송신되는 다른 시나리오에 제공될 수 있다. 도 2b에서의 네트워크 환경(202)이 2개의 재생 수단(214)을 포함하고 있지만, 네트워크 환경(202)은 더 많거나 적은 재생 수단(214)을 포함할 수 있다. 일반적으로, 재생 수단(214)은 수신할 재생 수단(214)용 비디오의 스트림을 판정하기 위해 인코딩 수단(212)과 통신한다. 재생 수단(214)은 스트림을 수신하고, 수신된 인코딩된 데이터를 적정한 기간 동안 버퍼링하고, 디코딩 및 재생을 개시한다.
도 3은 인코딩 수단(212)에 포함될 수 있는 예시적인 인코더 시스템(300)을 도시한다. 대안으로서, 인코딩 수단(212)은 다른 인코더 시스템을 사용한다. 인코딩 수단(212)은 하나 이상의 재생 수단(214)과의 접속을 관리하는 서버측 컨트롤러 로직을 또한 포함할 수 있다. 도 4는 재생 수단(214)에 포함될 수 있는 예시적인 디코더 시스템(400)을 도시한다. 대안으로서, 재생 수단(214)은 다른 디코더 시스템을 사용한다. 재생 수단(214)은 인코딩 수단(212)과의 접속을 관리하는 클라이언트측 컨트롤러 로직을 또한 포함할 수 있다.
어떤 경우에는, 레이턴시(예컨대, 프레임 재배열 레이턴시)를 지시하기 위한 신택스 요소의 사용이 특정 표준 또는 포맷에 지정된다. 예컨대, 인코딩된 데이터는 레이턴시에 대한 제한을, 표준 또는 포맷에 따라 규정된 기본 코딩된 비디오 비트스트림의 신택스의 일부로서, 또는 인코딩된 데이터에 관하여 규정된 매체 메타데이터로서 나타내는 하나 이상의 신택스 요소를 내포할 수 있다. 이와 같은 경우에는, 레이턴시가 저감되어 있는 실시간 통신 수단(210), 인코딩 수단(212) 및/또는 재생 수단(214)은, 그것들이 행한 결정들이 특정 표준 또는 포맷의 비트스트림 신택스에 의존할 수 있다는 점에서, 코덱 의존적일 수 있다.
다른 경우에는, 레이턴시(예컨대, 프레임 재배열 레이턴시)에 대한 제한을 지시하기 위한 신택스 요소의 사용이 특정 표준 또는 포맷을 벗어난다. 예컨대, 레이턴시에 대한 제한을 나타내는 신택스 요소(들)는 매체 전송 스트림이나, 매체 스토리지 파일의 신택스의 일부로서, 또는 보다 일반적으로는, 매체 시스템 다중화 프로토콜 또는 전송 프로토콜의 일부로서 시그널링될 수 있다. 또는, 레이턴시를 나타내는 신택스 요소(들)는 매체 특성 협상 프로토콜에 따라 실시간 통신 수단(210)들, 인코딩 수단(212)들 및/또는 재생 수단(214)들 사이에서 협상될 수 있다. 이와 같은 경우에는, 레이턴시가 저감되어 있는 실시간 통신 수단(210), 인코딩 수단(212) 및 재생 수단(214)은, 인코딩 도중에 설정된 프레임간 종속성들을 넘는 제어 레벨을 상정하는 임의의 시판중인 비디오 인코더 및 디코더로 작업할 수 있다는 점에서, 코덱 독립적일 수 있다.
III. 예시적인 인코더 시스템(Example Encoder Systems)
도 3은 몇몇 기술된 실시예들을 함께 구현할 수 있는 예시적인 인코더 시스템(300)의 블럭 다이어그램이다. 인코더 시스템(300)은 실시간 통신을 위한 저(low)-레이턴시 인코딩 모드, 트랜스코딩 모드, 및 파일 또는 스트림으로부터 매체 재생을 위한 정규 인코딩 모드와 같은 다수의 인코딩 모드 중 어느 하나에서 작동할 수 있는 범용 인코딩 수단일 수 있거나, 또는 하나의 이와 같은 인코딩 모드에 맞춰진 특수 목적 인코딩 수단일 수 있다. 인코더 시스템(300)은 운영 체계 모듈로서, 애플리케이션 라이브러리의 일부로서 또는 독립형 애플리케이션으로서 구현될 수 있다. 전체적으로, 인코더 시스템(300)은 비디오 소스(310)로부터 일련의 소스 비디오 프레임(311)들을 수신하고, 채널(390)에의 출력으로서 인코딩된 데이터를 생산한다. 채널에 출력된 인코딩된 데이터는 레이턴시가 저감된 디코딩을 가능하게 하기 위해 레이턴시(예컨대, 프레임 재배열 레이턴시)에 대한 제한을 나타내는 하나 이상의 신택스 요소를 포함할 수 있다.
비디오 소스(310)는 카메라, 튜너 카드, 스토리지 매체, 또는 그 밖의 디지털 비디오 소스일 수 있다. 비디오 소스(310)는, 예컨대 초당 30 프레임의 프레임 레이트로 일련의 비디오 프레임들을 생산한다. 여기에 사용된 "프레임(frame)"이라는 용어는 일반적으로 소스, 코딩된 또는 복원된 이미지 데이터를 의미한다. 프로그레시브 비디오(progressive video; 순차 주사 방식)에 대해서는, 프레임이 프로그레시브 비디오 프레임이다. 예시적인 실시예에 있어서, 인터레이스드 비디오(interlaced video; 비월 주사 방식)에 대해서는, 인터레이스드 비디오 프레임이 인코딩에 앞서 디-인터레이싱된다. 대안으로서, 2개의 상보적인 인터레이스드 비디오 필드가 인터레이스드 비디오 프레임으로서 또는 별도의 필드들로서 인코딩된다. "프레임"이라는 용어는, 프로그레시브 비디오 프레임을 지시하는 것 외에, 쌍을 이루지 않는 단일의 비디오 필드, 상보적인 쌍의 비디오 필드들, 정해진 시간에 비디오 객체를 표현하는 비디오 객체 평면, 또는 보다 큰 이미지에서의 관심 구역을 지시할 수 있다. 비디오 객체 평면 또는 구역은 장면의 다수의 객체 또는 구역을 포함하는 보다 큰 이미지의 일부일 수 있다.
도달하는 소스 프레임(311)은 다수의 프레임 버퍼 스토리지 영역들(321, 322, ..., 32n)을 포함하는 소스 프레임 임시 메모리 스토리지 영역(320)에 저장된다. 프레임 버퍼(321, 322, 등)는 소스 프레임 스토리지 영역(320)에 하나의 소스 프레임을 유지한다. 하나 이상의 소스 프레임(311)이 프레임 버퍼들(321, 322, 등)에 저장된 후에, 프레임 실렉터(330)가 소스 프레임 스토리지 영역(320)으로부터 개개의 소스 프레임을 주기적으로 선택한다. 인코더(340)에의 입력을 위해 프레임 실렉터(330)에 의해 프레임들이 선택되는 순서는 비디오 소스(310)에 의해 프레임들이 생산되는 순서와는 상이할 수 있고, 예컨대, 시간적으로 역방향 예측을 가능하게 하는 프레임이 순서상 앞서 있을 수 있다. 인코더 시스템(300)은, 인코더(340) 앞에, 인코딩하기 전에 선택된 프레임(331)의 사전-처리(예컨대, 필터링)를 수행하는 프리-프로세서(pre-processor)(도시되지 않음)를 포함할 수 있다.
인코더(340)는 선택된 프레임(331)을 인코딩해서, 코딩된 프레임(341)을 생산하는 한편, 메모리 관리 제어 신호(342)들도 생산한다. 현재의 프레임이 인코딩되어 있는 제 1 프레임이 아니면, 그 인코딩 프로세스 수행시에, 인코더(340)는 디코딩된 프레임 임시 메모리 스토리지 영역(360)에 저장되어 있는 하나 이상의 미리 인코딩/디코딩된 프레임(369)들을 사용할 수 있다. 이와 같이 저장되어 있는 디코딩된 프레임(369)들이 현재의 소스 프레임(331)의 콘텐트의 프레임간 예측을 위한 기준 프레임들로서 사용된다. 일반적으로, 인코더(340)는 모션 추정 및 보상, 주파수 변환, 양자화 및 엔트로피 코딩과 같은 인코딩 태스크들을 수행하는 다수의 인코딩 모듈들을 포함한다. 인코더(340)에 의해 수행된 정확한 작업들은 압축 포맷에 따라 서로 다를 수 있다. 출력된 인코딩된 데이터의 포맷은 Windows Media Video 포맷, VC-1 포맷, MPEG-x 포맷(예컨대, MPEG-1, MPEG-2, 또는 MPEG-4), H.26x 포맷(예컨대, H.261, H.262, H.263, H.264), HEVC 포맷 또는 그 밖의 포맷일 수 있다.
코딩된 프레임(341)들 및 메모리 관리 제어 신호(342)들은 디코딩 프로세스 에뮬레이터(350)에 의해 처리된다. 디코딩 프로세스 에뮬레이터(350)는 디코더의 일부 기능, 예컨대 모션 추정 및 보상에서 인코더(340)에 의해 사용되는 기준 프레임들을 복원하는 디코딩 태스크들을 구현한다. 디코딩 프로세서 에뮬레이터(350)는, 정해진 코딩된 프레임(341)이 인코딩될 후속 프레임들의 프레임간 예측에서 기준 프레임으로서의 사용을 위해 복원 및 저장될 필요가 있는지의 여부를 판정하기 위해, 메모리 관리 제어 신호(342)들을 사용한다. 제어 신호(342)들이, 코딩된 프레임(341)이 저장될 필요가 있음을 지시하면, 디코딩 프로세스 에뮬레이터(350)는, 코딩된 프레임(341)을 수신하고 상응하는 디코딩된 프레임(351)을 생산하는 디코더에 의해 수행되게 되는 디코딩 프로세스를 모델링한다. 그렇게 함에 있어서, 인코더(340)가 디코딩된 프레임 스토리지 영역(360)에 저장되어 있는 디코딩된 프레임(들)(369)을 사용했을 때, 디코딩 프로세스 에뮬레이터(350)도 스토리지 영역(360)으로부터의 디코딩된 프레임(들)(369)을 디코딩 프로세스의 일부로서 사용한다.
디코딩된 프레임 임시 메모리 스토리지 영역(360)은 다수의 프레임 버퍼 스토리지 영역(361, 362, ..., 36n)을 포함한다. 디코딩 프로세스 에뮬레이터(350)는 기준 프레임들로서의 사용을 위해 인코더(340)가 더 이상 필요로 하지 않는 프레임들로 임의의 프레임 버퍼들(361, 362, 등)을 식별하기 위해 스토리지 영역(360)의 콘텐츠를 관리하는 메모리 관리 제어 신호(342)들을 사용한다. 디코딩 프로세스를 모델링한 후에, 디코딩 프로세스 에뮬레이터(350)는 이렇게 식별되어 있는 프레임 버퍼(361, 362, 등)에 새롭게 디코딩된 프레임(351)을 저장한다.
코딩된 프레임(341)들 및 메모리 관리 제어 신호(342)들은 또한 임시 코딩된 데이터 영역(370)에서 버퍼링된다. 코딩된 데이터 영역(370)에 집합되는 코딩된 데이터는 레이턴시에 대한 제한을 나타내는 하나 이상의 신택스 요소를 기본 코딩된 비디오 비트스트림의 신택스의 일부로서 내포할 수 있다. 또는, 코딩된 데이터 영역(370)에 집합되는 코딩된 데이터는 레이턴시에 대한 제한을 나타내는 신택스 요소(들)를 코딩된 비디오 데이터에 관한 매체 메타데이터의 일부로서(예컨대, 하나 이상의 추가적 개선 정보("SEI") 메시지 또는 비디오 사용성 정보("VUI") 메시지 내의 하나 이상의 파라미터로서) 포함할 수 있다.
임시 코딩된 데이터 영역(370)으로부터의 집합된 데이터(371)는 채널 인코더(380)에 의해 처리된다. 채널 인코더(380)는 매체 스트림으로서 전송하기 위해 집합된 데이터를 패킷화할 수 있고, 그 경우에, 채널 인코더(380)는 레이턴시에 대한 제한을 나타내는 신택스 요소(들)를 매체 전송 스트림의 신택스의 일부로서 추가할 수 있다. 또는, 채널 인코더(380)는 파일로서 저장하기 위해 집합된 데이터를 편성할 수 있고, 그 경우에, 채널 인코더(380)는 레이턴시에 대한 제한을 나타내는 신택스 요소(들)를 매체 스토리지 파일의 신택스의 일부로서 추가할 수 있다. 또는, 보다 일반적으로, 채널 인코더(380)는 하나 이상의 매체 시스템 다중화 프로토콜 또는 전송 프로토콜을 구현할 수 있고, 그 경우에, 채널 인코더(380)는 레이턴시에 대한 제한을 나타내는 신택스 요소(들)를 프로토콜(들)의 신택스의 일부로서 추가할 수 있다. 채널 인코더(380)는 스토리지, 통신 접속부, 또는 다른 출력용 채널을 표현하는 채널(390)에 출력을 제공한다.
IV. 예시적인 디코더 시스템(Example Decoder Systems)
도 4는 몇몇 기술된 실시예들을 함께 구현할 수 있는 예시적인 디코더 시스템(400)의 블럭 다이어그램이다. 디코더 시스템(400)은 실시간 통신을 위한 저-레이턴시 디코딩 모드 및 파일 또는 스트림으로부터 매체 재생을 위한 정규 디코딩 모드와 같은 다수의 디코딩 모드 중 어느 하나에서 작동할 수 있는 범용 인코딩 수단일 수 있거나, 또는 하나의 이와 같은 디코딩 모드에 맞춰진 특수 목적 디코딩 수단일 수 있다. 디코더 시스템(400)은 운영 체계 모듈로서, 애플리케이션 라이브러리의 일부로서 또는 독립형 애플리케이션으로서 구현될 수 있다. 전체적으로, 디코더 시스템(400)은 채널(410)로부터 코딩된 데이터를 수신하고, 출력처(490)에 대한 출력으로서 복원된 데이터를 생산한다. 코딩된 데이터는 레이턴시가 저감된 디코딩을 가능하게 하기 위해 레이턴시(예컨대, 프레임 재배열 레이턴시)에 대한 제한을 나타내는 하나 이상의 신택스 요소를 포함할 수 있다.
디코더 시스템(400)은 스토리지, 통신 접속부, 또는 입력으로서의 코딩된 데이터를 위한 다른 채널을 표현할 수 있는 채널(410)을 포함한다. 채널(410)은 채널 코딩되어 있는 코딩된 데이터를 생산한다. 채널 디코더(420)는 코딩된 데이터를 처리할 수 있다. 예컨대, 채널 디코더(420)는 매체 스트림으로서 전송하기 위해 집합되어 있는 데이터를 디-패킷화(de-packetize)하고, 그 경우에, 채널 디코더(420)는 레이턴시에 대한 제한을 나타내는 신택스 요소(들)를 매체 전송 스트림의 신택스의 일부로서 파스할 수 있다. 또는, 채널 디코더(420)는 파일로서 저장하기 위해 집합되어 있는 코딩된 비디오 데이터를 분리하고, 그 경우에, 채널 디코더(420)는 레이턴시에 대한 제한을 나타내는 신택스 요소(들)를 매체 스토리지 파일의 신택스의 일부로서 파스할 수 있다. 또한, 보다 일반적으로, 채널 디코더(420)는 하나 이상의 매체 시스템 역다중화 프로토콜 또는 전송 프로토콜을 구현할 수 있으며, 그 경우에, 채널 디코더(420)는 레이턴시에 대한 제한을 나타내는 신택스 요소(들)를 프로토콜(들)의 신택스의 일부로서 파스할 수 있다.
채널 디코더(420)로부터 출력되는 코딩된 데이터(421)는 충분한 양의 데이터가 수신될 때까지 임시 코딩된 데이터 영역(430)에 저장된다. 코딩된 데이터(421)는 코딩된 프레임(431)들 및 메모리 관리 제어 신호(432)들을 포함한다. 코딩된 데이터 영역(430) 내의 코딩된 데이터(421)는 레이턴시에 대한 제한을 나타내는 하나 이상의 신택스 요소를 기본 코딩된 비디오 비트스트림의 신택스의 일부로서 내포할 수 있다. 또는, 코딩된 데이터 영역(430) 내의 코딩된 데이터(421)는 레이턴시에 대한 제한을 나타내는 신택스 요소(들)를 인코딩된 비디오 데이터에 관한 매체 메타데이터의 일부로서(예컨대, 하나 이상의 SEI 메시지 또는 VUI 메시지 내의 하나 이상의 파라미터로서) 포함할 수 있다. 일반적으로, 코딩된 데이터 영역(430)은 이와 같은 코딩된 데이터(421)가 디코더(450)에 의해 사용될 때까지 코딩된 데이터(421)를 임시로 저장한다. 그 시점에, 코딩된 프레임(431)의 코딩된 데이터 및 메모리 관리 제어 신호(432)들이 코딩된 데이터 영역(430)으로부터 디코더(450)에 전송된다. 디코딩이 계속됨에 따라, 코딩된 데이터 영역(430)에 새로운 코딩된 데이터가 추가되고, 코딩된 데이터 영역(430)에 남아 있는 가장 오래된 코딩된 데이터가 디코더(450)에 전송된다.
디코더(450)는 코딩된 프레임(431)을 주기적으로 디코딩해서 상응하는 디코딩된 프레임(451)을 생산한다. 적합하게는, 그 디코딩 프로세스를 수행할 때, 디코더(450)는 하나 이상의 미리 디코딩된 프레임(469)을 프레임간 예측을 위한 기준 프레임들로서 사용할 수 있다. 디코더(450)는 디코딩된 프레임 임시 메모리 스토리지 영역(460)으로부터 이와 같은 미리 디코딩된 프레임(469)들을 판독한다. 일반적으로, 디코더(450)는 엔트로피 디코딩, 역양자화, 역주파수 변환 및 모션 보상과 같은 디코딩 태스크들을 수행하는 다수의 디코딩 모듈을 포함한다. 디코더(450)에 의해 수행된 정확한 작업들은 압축 포맷에 따라 서로 다를 수 있다.
디코딩된 프레임 임시 메모리 스토리지 영역(460)은 다수의 프레임 버퍼 스토리지 영역(461, 462, ..., 46n)을 포함한다. 디코딩된 프레임 스토리지 영역(460)은 디코딩된 픽처 버퍼의 일례이다. 디코더(450)는 디코딩된 프레임(451)을 저장할 수 있는 프레임 버퍼(461, 462, 등)를 식별하기 위해 메모리 관리 제어 신호(432)들을 사용한다. 디코더(450)는 그 프레임 버퍼에 디코딩된 프레임(451)을 저장한다.
출력 시퀀서(480)는 출력 순서상 생산될 다음 프레임이 디코딩된 프레임 스토리지 영역(460)에서 이용 가능해지는 시기를 식별하기 위해 메모리 관리 제어 신호(432)들을 사용한다. 인코딩-디코딩 시스템의 레이턴시를 저감하기 위해, 출력 시퀀서(480)는 출력 순서상 생산될 프레임들의 식별을 촉진하기 위해 레이턴시에 대한 제한들을 나타내는 신택스 요소들을 사용한다. 출력 순서상 생산될 다음 프레임(481)이 디코딩된 프레임 스토리지 영역(460)에서 이용 가능해지면, 출력 시퀀서(480)에 의해 판독되어 출력처(490)(예컨대, 디스플레이)에 출력된다. 일반적으로, 디코딩된 프레임 스토리지 영역(460)으로부터 출력 시퀀서(480)에 의해 프레임들이 출력되는 순서는 디코더(450)에 의해 프레임들이 디코딩되는 순서와 상이할 수 있다.
V. 레이턴시가 저감된 인코딩 및 디코딩을 가능하게 하는 신택스 요소들(Syntax Elements that Facilitate Reduced-latency Encoding and Decoding)
대부분의 비디오 코덱 시스템에서, 코딩된 순서(디코딩 순서 또는 비트스트림 순서라고도 함)는 디코딩 도중에 비트스트림 내의 코딩된 데이터에서 비디오 프레임들이 표현되고, 그에 따라 처리되는 순서이다. 코딩된 순서는 인코딩 전에 카메라에 의해 프레임들이 캡처되는 순서와 상이할 수 있으며 또한 디코딩 후에 디코딩된 프레임들이 디스플레이, 저장, 또는 그 밖에 출력되는 순서(출력 순서 또는 디스플레이 순서)와 상이할 수 있다. 출력 순서에 관한 프레임들의 재배열은 (주로 압축 능력의 관점에서) 이점이 있지만, 인코딩 및 디코딩 프로세스의 끝에서 끝까지의 레이턴시(end-to-end latency)를 증가시킨다.
여기에 기술된 기법들 및 수단들은 비디오 프레임들의 재배열에 기인하는 레이턴시를 저감하고, 재배열 레이턴시에 대한 제한에 관한 정보를 디코더 시스템들에 제공함으로써, 디코더 시스템들에 의한 제어턴시 저감도 가능하게 한다. 이와 같은 레이턴시 저감은 다양한 목적에 유용하다. 예컨대, 화상 회의 시스템을 사용하는 인터랙티브 화상 통신에서 발생하는 시간 지연을 저감하는데 사용될 수 있으므로, 원격 참여자들간의 통신의 대화 흐름 및 쌍방향 참가(interactivity)가 더 신속하고 자연스러워지게 된다.
A. 출력 타이밍 및 출력 배열에의 접근방법(pproaches to Output Timing and Output Ordering)
H.264 표준에 따르면, 디코더는 디코딩된 프레임이 출력 준비가 되는 시기를 판정하기 위해 2가지 접근방법을 사용할 수 있다. 디코더는 디코딩 타임스탬프들 및 출력 타임스탬프들의 형태의 타이밍 정보를 (예컨대, 픽처 타이밍 SEI 메시지들에서 시그널링된 것으로서) 사용할 수 있다. 또는, 디코더는 디코딩된 프레임이 출력 준비가 되는 시기를 판정하기 위해 다양한 신택스 요소로 시그널링된 버퍼링 용량 한도들을 사용할 수 있다.
타이밍 정보는 각각의 디코딩된 프레임과 연계될 수 있다. 디코더는 디코딩된 프레임이 출력될 수 있는 시기를 판정하기 위해 타이밍 정보를 사용할 수 있다. 그러나, 실제로는, 이와 같은 타이밍 정보는 디코더에 이용할 수 없는 것일 수 있다. 또한, 타이밍 정보가 이용 가능해질 때에도, (예컨대, 타이밍 정보가 이용 가능한 것인지의 여부에 관계없이 디코더가 가동하도록 설계되어 있기 때문에) 몇몇 디코더는 실제로는 이 정보를 사용하지 않는다.
버퍼링 용량 한도들은, 비트스트림에 시그널링된 신택스 요소 max_dec_frame_buffering, 신택스 요소 num_reorder_frames, 상대적인 배열 정보("픽처 순서 카운트(picture order count)" 정보라고 함) 및 그 밖의 메모리 관리 제어 정보를 포함하는 H.264 표준에 따른 몇몇 신택스 요소들 (및 HEVC 표준의 드래프트 버전들)로 지시된다. 신택스 요소 max_dec_frame_buffering(또는 MaxDpbFrames로서 지정된 유도 변수)은 프레임 버퍼들의 유닛들에서 필요한 사이즈의 디코딩된 픽처 버퍼("DPB")를 지정한다. 이와 같이, 신택스 요소 max_dec_frame_buffering은, 디코더가 픽처들을 수정된 순서로 출력할 수 있게 하도록, 코딩된 비디오 시퀀스에 사용된 최고 수준의 메모리 용량을 나타낸다. 신택스 요소 num_reorder_frames (또는 max_num_reorder_frames)는, 코딩된 순서에서는 임의의 프레임(또는 상보적인 필드 쌍, 또는 쌍을 이루지 않는 필드)에 선행하고 출력 순서에서는 그것에 후행할 수 있는 프레임들(또는 상보적인 필드 쌍들, 또는 쌍을 이루지 않는 필드들)의 최대 개수를 지시한다. 다시 말해, num_reorder_frames는 픽처 재배열에 필요한 메모리 용량에 대한 제한을 지정한다. 신택스 요소 max_num_ref_frames는 시퀀스 내의 임의의 픽처의 인터 예측을 위해 디코딩 프로세스에 의해 사용될 수 있는 단기 및 장기 기준 프레임들(또는 상보적인 기준 필드 쌍들, 또는 쌍을 이루지 않는 기준 필드들)의 최대 개수를 지정한다. 신택스 요소 max_num_ref_frames는 디코딩된 기준 픽처 마킹을 위해 슬라이딩 윈도의 사이즈를 또한 판정한다. num_reorder_frames와 마찬가지로, max_num_ref_frames는 필요한 메모리 용량에 대한 제한을 지정한다.
디코더는 버퍼링 용량 한도가 초과된 시기를 판정하기 위해 max_dec_frame_buffering(또는 MaxDpbFrames) 및 num_reorder_frames 신택스 요소를 사용한다. 이는, 예컨대, 새로운 디코딩된 프레임이 DPB에 저장될 필요가 있지만, DPB에는 이용 가능한 공간이 남아 있지 않을 때 발생한다. 이 상황에서, 디코더는, 디코딩되어 있는 픽처들 중에서, 출력 순서상 가장 빠른 픽처 순서 카운트 정보를 식별에 사용한다. 이후, 출력 순서상 가장 빠른 픽처가 출력된다. 저장될 필요가 있는 새로운 픽처의 도달에 의해 픽처가 DPB에서 "범핑(bumped out)"되기 때문에, 이와 같은 처리를 때때로 "범핑(bumping)"이라고 부른다.
max_dec_frame_buffering(또는 MaxDpbFrames) 및 num_reorder_frames 신택스 요소로 지시된 정보는 디코더에 필요한 메모리 용량을 판정하기에 충분하다. 그러나, 픽처 출력을 위해 "범핑" 프로세스를 제어하는데 사용될 때, 이와 같은 정보의 사용은 불필요하게 레이턴시를 도입할 수 있다. H.264 표준에 규정된 바와 같이, max_dec_frame_buffering 및 num_reorder_frames 신택스 요소는 임의의 특정 픽처에 적용될 수 있는 재배열의 양에 대한 한도를 확립하지 못하고, 그에 따라 끝에서 끝까지의 레이턴시에 대한 한도를 확립하지 못한다. 이들 신택스 요소의 값들에 관계없이, 특정 픽처는, 출력되기 전에, 인코더에 의해 소스 픽처들의 사전-버퍼링(pre-buffering)에 의해 추가된 상당한 레이턴시에 대응하는 장시간 동안 임의적으로 DPB에 유지될 수 있다.
B. 프레임 재배열 레이턴시에 대한 제한들을 나타내는 신택스 요소들(Syntax Elements that Indicate Constraints on Frame Reordering Latency)
여기에 기술된 기법들 및 수단들은 화상 통신 시스템에서의 레이턴시를 저감한다. 인코딩 수단, 실시간 통신 수단, 또는 다른 수단은 코딩된 비디오 시퀀스 내의 임의의 프레임에 적용될 수 있는 재배열의 범위에 대한 한도를 설정한다. 예컨대, 이 한도는 출력 순서에서는 코딩된 비디오 시퀀스 내의 임의의 정해진 프레임에 선행하고 코딩된 순서에서는 그것에 후행할 수 있는 다수의 프레임으로서 나타내진다. 이 한도는 시퀀스 내의 임의의 특정 프레임을 고려한 재배열 레이턴시를 제한한다. 달리 언급하면, 이 한도는 임의의 특정 프레임에 적용될 수 있는 출력 순서와 코딩된 순서 사이의 (프레임들의 관점에서의) 재배열의 시간 범위를 제한한다. 재배열의 범위를 한정하는 것은 끝에서 끝까지의 지연을 저감하는 것을 돕는다. 또한, 이와 같은 한도를 확립하는 것은 레이턴시를 저감하는 것이 중요한 사용 시나리오들의 실시간 시스템 협상 프로토콜들 또는 애플리케이션 사양들에서 유용할 수 있다.
하나 이상의 신택스 요소는 프레임 재배열 레이턴시에 대한 제한을 지시한다. 프레임 재배열 레이턴시에 대한 제한을 시그널링하는 것은, 인터랙티브 실시간 통신 또는 다른 사용 시나리오들의 시스템-레벨 협상을 가능하게 한다. 이는, 프레임 재배열 레이턴시에 대한 제한들을 직접적으로 나타내는 방식을 제공하는 한편, 매체 스트림 또는 세션의 특성들을 특정한다.
비디오 디코더는 디코딩된 비디오 프레임들의 레이턴시가 저감되어 있는 출력이 가능하도록 프레임 재배열 레이턴시에 대한 지시된 제한을 사용할 수 있다. 특히, 프레임 "범핑(bumping)" 프로세스들과 비교하면, 프레임 재배열 레이턴시에 대한 제한을 시그널링하는 것은 출력 준비가 되어 있는 DPB 내의 프레임들을 디코더가 보다 간단하고 신속하게 식별할 수 있게 한다. 예컨대, 디코더는 프레임에 대한 코딩된 순서와 출력 순서간의 차를 연산함으로써 DPB 내의 프레임의 레이턴시 상태를 판정할 수 있다. 프레임의 레이턴시 상태를 프레임 재배열 레이턴시에 대한 제한과 비교함으로써, 디코더는 프레임 레이턴시에 대한 제한이 도달되어 있는 시기를 판정할 수 있다. 디코더는 이 한도에 도달한 임의의 프레임을 즉시 출력할 수 있다. 이는, 다양한 신택스 요소들 및 트래킹 구조들을 사용하는 "범핑" 프로세스들에 비해, 출력 준비가 되어 있는 프레임들을 디코더가 보다 신속하게 식별하는 것을 도울 수 있다. 이렇게 해서, 디코더는 디코딩된 프레임이 출력될 수 있는 시기를 신속하게 (및 보다 일찍) 판정할 수 있다. 프레임들이 출력될 수 있는 시기를 디코더가 보다 신속하게 (및 보다 일찍) 식별할 수 있을수록, 디코더는 디스플레이 또는 후속 처리 단계들에 비디오를 보다 신속하게 (및 보다 일찍) 출력할 수 있게 된다.
따라서, 프레임 재배열 레이턴시에 대한 제한을 사용하면, 디코더는 디코딩된 프레임 스토리지 영역이 가득 차기 전에 디코딩된 프레임 스토리지 영역으로부터 프레임들의 출력을 개시하지만, 여전히 순응적인 디코딩(즉, 프레임들이 다른 종래의 스킴(scheme)을 사용하여 디코딩된 프레임들의 비트-완전 매치(bit-exact matches)인, 그러한 모든 프레임의 디코딩)을 제공할 수 있다. 이는, 레이턴시 신택스 요소에 의해 지시된 (프레임들에서의) 지연이 디코딩된 프레임 스토리지 영역의 (프레임들에서의) 사이즈보다 훨씬 작아질 때, 지연을 현저하게 저감시킨다.
도 5a 내지 도 5e는 상이한 프레임간 종속성들을 갖는 프레임들의 시리즈(501 내지 505)를 예시한다. 이 시리즈는 (1) 예컨대, 신택스 요소 num_reorder_frames로 지시된 바와 같이, 픽처 레코딩에 필요한 메모리 용량(즉, 재배열을 위해 기준 프레임들을 저장하는데 사용된 프레임 버퍼들의 수)에 대한 제한, 및 (2) 예컨대, 변수 MaxLatency Frames에 의해 지정된 바와 같이, 프레임 재배열 레이턴시에 대한 제한에 대하여 상이한 값들로 특정된다. 도 5a 내지 도 5e에 있어서, 정해진 프레임(Fj k)에 대하여, 아래 첨자(j)는 출력 순서에서의 프레임의 위치를 지시하고, 위 첨자(k)는 코딩된 순서에서의 프레임의 위치를 지시한다. 프레임들은 출력 순서로 도시되고 - 출력 순서 아래 첨자 값은 좌에서 우로 증가한다. 화살표들은 모션 보상을 위한 프레임간 종속성들을 예시하고, 그에 따라 코딩된 순서상 선행하는 프레임들이 코딩된 순서상 후행하는 프레임들의 예측에 사용된다. 간략화를 위해, 도 5a 내지 도 5e는 프레임 레벨(또한, 기준 프레임들이 변화될 수 있는 매크로블럭들, 블럭들, 등의 레벨이 아님)에서의 프레임간 종속성들을 도시하고, 도 5a 내지 도 5e는 정해진 프레임에 대한 기준 프레임들로서 최대 2개의 프레임을 도시한다. 실제로는, 몇몇 구현에 있어서, 정해진 프레임 내의 상이한 매크로블럭들, 블럭들, 등은 상이한 기준 프레임들을 사용할 수 있으며, 정해진 프레임에 대하여 2개 이상의 기준 프레임이 사용될 수 있다.
도 5a에 있어서, 시리즈(501)는 9개의 프레임을 포함한다. 출력 순서상 마지막 프레임(F8 1)은 첫 번째 프레임(F0 0)을 기준 프레임으로서 사용한다. 시리즈(501) 내의 다른 프레임들은 마지막 프레임(F8 1)과 첫 번째 프레임(F0 0)을 모두 기준 프레임으로서 사용한다. 이는, 프레임(F0 0)이 가장 먼저 디코딩되고, 이어서 프레임(F8 1)이, 이어서 프레임(F1 2), 등이 디코딩되는 것을 의미한다. 도 5a에 도시된 시리즈(501)에서, num_reorder_frames의 값은 1이다. 도 5a에 도시된 프레임들 중에서, 디코더 시스템의 임의의 처리 지점에서는, 재배열 목적의 디코딩된 프레임 스토리지 영역에 저장된 하나의 프레임(F8 1)만이 존재한다. (첫 번째 프레임(F0 0)이 또한 기준 프레임으로서 사용되고 저장되지만, 재배열 목적으로 저장되지는 않는다. 첫 번째 프레임(F0 0)의 출력 순서가 중간 프레임들의 출력 순서보다 낮기 때문에, 첫 번째 프레임(F0 0)은 num_reorder_frames 용으로 카운트되지 않는다.) num_reorder_frames의 값이 낮음에도 불구하고, 시리즈(501)는 상대적으로 높은 레이턴시를 갖고 - MaxLatencyFrames의 값은 7이다. 첫 번째 프레임(F0 0)을 인코딩한 후에, 시리즈(501)에서는 다음 프레임(F1 2)이 마지막 프레임(F8 1)에 의존하기 때문에, 인코더는 출력 순서상 다음 프레임(F1 2)을 인코딩하기 전에 소스 프레임들을 8개 더 버퍼링하기까지 대기한다. MaxLatencyFrames의 값은 임의의 특정 코딩된 프레임에 대한 아래 첨자 값과 위 첨자 값 사이의 사실상 최대 허용된 차이다.
도 5b에 있어서, 시리즈(502)는 도 5a의 시리즈(501)에서와 마찬가지로 9개의 프레임을 포함하지만, 프레임간 종속성들은 상이하다. 프레임들의 시간 재배열(temporal reordering)은 짧은 범위에 걸쳐 발생한다. 결과적으로, 시리즈(502)는 훨씬 낮은 레이턴시를 갖고 - MaxLatencyFrames의 값은 1이다. num_reorder_frames의 값은 여전히 1이다.
도 5c에 있어서, 시리즈(503)는 10개의 프레임을 포함한다. 가장 긴 프레임간 종속성은 도 5a에서의 가장 긴 프레임간 종속성보다 짧지만(시간 범위에 있어서), 도 5b에서의 가장 긴 프레임간 종속성보다는 길다. 시리즈(503)는 num_reorder_frames에 대해서는 동일한 낮은 값인 1을 갖고, MaxLatencyFrames에 대해서는 상대적으로 낮은 값인 2를 갖는다. 그에 따라, 시리즈(503)는 도 5a의 시리즈(501)보다 낮은 끝에서 끝까지의 레이턴시를 허용하지만, 도 5b의 시리즈(502)의 허용 가능한 레이턴시 만큼 낮지는 않다.
도 5d에 있어서, 시리즈(504)는 프레임간 종속성들에 따라 3개의 시간 층(temporal layer)들을 가진 시간 계층구조(temporal hierarchy)로 편성된 프레임들을 포함한다. 가장 낮은 시간 해상도 층(temporal resolution layer)은 첫 번째 프레임(F0 0) 및 마지막 프레임(F8 1)을 포함한다. 다음 시간 해상도 층은 첫 번째 프레임(F0 0) 및 마지막 프레임(F8 1)에 의존하는 프레임(F4 2)을 추가한다. 가장 높은 시간 해상도 층은 나머지 프레임들을 추가한다. 도 5d에 도시된 시리즈(504)는 마지막 프레임(F8 1)에 대한 코딩된 순서와 출력 순서간의 차로 인해, 적어도 가장 높은 시간 해상도 층에 대해서는, num_reorder_frames에 대하여 상대적으로 낮은 값인 2를 갖고, MaxLatencyFrames에 대하여 상대적으로 높은 값인 7을 갖는다. 중간의 시간 해상도 층 또는 가장 낮은 시간 해상도 층만이 디코딩되는 경우에는, 프레임 재배열 지연에 대한 제한은 (중간의 층에 대해서는) 1 또는 (가장 낮은 층에 대해서는) 0까지 저감될 수 있다. 다양한 시간 해상도에서 레이턴시가 저감된 디코딩을 가능하게 하기 위해, 신택스 요소들은 시간 계층구조상 상이한 층들에 대하여 프레임 재배열 레이턴시에 대한 제한을 지시할 수 있다.
도 5e에 있어서, 시리즈(505)는 상이한 프레임간 종속성들에 따라 3개의 시간 층을 가진 시간 계층구조로 편성된 프레임들을 포함한다. 가장 낮은 시간 해상도 층은 첫 번째 프레임(F0 0), 중간 프레임(F4 1) 및 마지막 프레임(F8 5)을 포함한다. 다음의 시간 해상도 층은 (첫 번째 프레임(F0 0) 및 중간 프레임(F4 1)에 의존하는) 프레임(F2 2) 및 (중간 프레임(F4 1) 및 마지막 프레임(F8 5)에 의존하는) 프레임(F6 6)을 추가한다. 가장 높은 시간 해상도 층은 나머지 프레임들을 추가한다. 도 5d의 시리즈(504)에 비해, 도 5e의 시리즈(505)는 중간 프레임(F4 1) 및 마지막 프레임(F8 5)에 대한 코딩된 순서와 출력 순서간의 차로 인해, 적어도 가장 높은 시간 해상도 층에 대해서는, num_reorder_frames에 대하여 여전히 상대적으로 낮은 값인 2를 갖지만, MaxLatencyFrames에 대하여 낮은 값인 3을 갖는다. 중간의 시간 해상도 층 또는 가장 낮은 시간 해상도 층만이 디코딩되는 경우에는, 프레임 재배열 지연에 대한 제한은 (중간의 층에 대해서는) 1 또는 (가장 낮은 층에 대해서는) 0까지 저감될 수 있다.
도 5a 내지 도 5e에 도시된 예들에 있어서, MaxLatencyFrames의 값이 기지의 값이면, 디코더는 특정 프레임들을 출력 순서상 선행하는 프레임의 수신시에 중간의 출력 준비가 되어 있는 것으로서 식별할 수 있다. 정해진 프레임에 대하여, 프레임의 출력 순서 값에서 프레임의 코딩된 순서 값을 뺀 값은 MaxLatencyFrames의 값과 같은 값일 수 있다. 이 경우에, 정해진 프레임은 출력 순서상 그것에 선행하는 프레임이 수신되자마자 출력 준비가 된다. (그에 반해서, 이와 같은 프레임들은 추가의 프레임들이 수신되었거나 또는 시퀀스의 끝에 도달되었을 때까지는 num_reorder_frames만을 사용하여 출력 준비가 된 것으로서 식별될 수는 없다.) 특히, 디코더는 하기의 프레임들의 보다 이른 출력을 가능하게 하기 위해 MaxLatencyFrames의 값을 사용할 수 있다:
· 도 5a의 시리즈(501)에서는, 프레임 F8 1.
· 도 5b의 시리즈(502)에서는, 프레임 F2 1, F4 3, F6 5, 및 F8 7.
· 도 5c의 시리즈(503)에서는, 프레임 F3 1, F6 4, 및 F9 7.
· 도 5d의 시리즈(504)에서는, 프레임 F8 1.
· 도 5e의 시리즈(505)에서는, 프레임 F4 1 및 F8 5.
또한, 시스템 레벨에서 MaxLatencyFrames의 값의 선언 또는 협상은, num_reorder_frames를 사용하는 재배열 스토리지 용량의 측정 및 이와 같은 용량의 지시에 의해서는 가능해지지 않는 방식으로, 비트스트림 또는 세션의 레이턴시 특성들의 요약 표현을 제공할 수 있다.
C. 예시적인 구현(Example Implementations)
프레임 재배열 레이턴시에 대한 제한을 나타내는 신택스 요소들은 구현에 따라 다양하게 시그널링될 수 있다. 신택스 요소들은 시퀀스 파라미터 세트("SPS"), 픽처 파라미터 세트("PPS"), 또는 비트스트림의 다른 요소의 일부로서 시그널링될 수 있거나, SEI 메시지, VUI 메시지 또는 다른 메타데이터의 일부로서 시그널링될 수 있거나, 또는 몇몇 다른 방식으로 시그널링될 수 있다. 어느 하나의 구현에 있어서, 제한 값을 나타내는 신택스 요소는 무부호 지수-골롬(unsigned exponential-Golomb) 코딩, 약간 다른 형태의 엔트로피 코딩, 또는 고정 길이 코딩을 사용하여 인코딩되고 나서, 시그널링될 수 있다. 디코더는 신택스 요소를 수신한 후에 상응하는 디코딩을 수행한다.
제 1 구현에 있어서는, 플래그 max_latency_limitation_flag가 시그널링된다. 플래그가 제 1 이진값(예컨대, 0)을 가지면, 프레임 재배열 레이턴시에 대한 제한은 부과되지 않는다. 이 경우에, max_latency_frames 신택스 요소의 값은 시그널링되지 않거나 또는 무시된다. 그 외에는(1과 같은 제 2 이진값을 갖는 플래그), max_latency_frames 신택스 요소의 값은 프레임 재배열 레이턴시에 대한 제한을 지시하도록 시그널링된다. 예컨대, 이 경우에, max_latency_frames 신택스 요소에 대하여 시그널링된 값은 임의의 음이 아닌 정수값일 수 있다.
제 2 구현에 있어서, 신택스 요소 max_latency_frames_plus1은 프레임 재배열 레이턴시에 대한 제한을 지시하도록 시그널링된다. max_latency_frames_plus1이 제 1 값(예컨대, 0)을 가지면, 프레임 재배열 레이턴시에 대한 제한은 부과되지 않는다. 다른 값들(예컨대, 0이 아닌 값들)에 대해서는, 프레임 재배열 레이턴시에 대한 제한의 값은 max_latency_frames_plus1 - 1로 설정된다. 예컨대, max_latency_frames_plus1의 값은 0 내지 232 - 2의 범위 내이다.
마찬가지로, 제 3 구현에 있어서, 신택스 요소 max_latency_frames는 프레임 재배열 레이턴시에 대한 제한을 지시하도록 시그널링된다. max_latency_frames가 제 1 값(예컨대, 최대값)을 가지면, 프레임 재배열 레이턴시에 대한 제한은 부과되지 않는다. 다른 값들(예컨대, 최대값보다 작은 값들)에 대해서는, 프레임 재배열 레이턴시에 대한 제한의 값은 max_latency_frames로 설정된다.
제 4 구현에 있어서, 프레임 재배열 레이턴시에 대한 제한은 프레임 메모리의 최대 사이즈에 관하여 지시된다. 예컨대, 레이턴시 제한은 num_reorder_frames 신택스 요소에 관하여 증가로서 시그널링된다. 보통은, (프레임들의 관점에서) 프레임 재배열 레이턴시에 대한 제한은 num_reorder_frames 이상이다. 레이턴시 제한의 시그널링시에 비트를 세이브하기 위해, 레이턴시 제한과 num_reorder_frames간의 차가 인코딩(예컨대, 무부호 지수-골롬 코딩, 몇몇 다른 형태의 엔트로피 코딩을 사용)되고 나서, 시그널링된다. 신택스 요소 max_latency_increase_plus1은 프레임 재배열 레이턴시에 대한 제한을 지시하도록 시그널링된다. max_latency_increase_plus1이 제 1 값(예컨대, 0)을 갖는 경우에는, 프레임 재배열 레이턴시에 대한 제한은 부과되지 않는다. 다른 값들(예컨대, 0이 아닌 값들)에 대해서는, 프레임 재배열 레이턴시에 대한 제한의 값은 num_reorder_frames + max_latency_increase_plus1 - 1로 설정된다. 예컨대, max_latency_increase_plus1의 값은 0 내지 232 - 2의 범위 내이다.
대안으로서, 프레임 재배열 레이턴시에 대한 제한을 나타내는 하나 이상의 신택스 요소는 몇몇 다른 방식으로 시그널링된다.
D. 레이턴시에 대한 제한을 나타내는 다른 방식들(Other Ways of Indicating Constraints on Latency)
많은 상술한 예들에 있어서, 레이턴시에 대한 제한은 프레임들의 카운트의 관점에서 나타내지는 프레임 재배열 레이턴시에 대한 제한이다. 보다 일반적으로는, 레이턴시에 대한 제한은 프레임 카운트의 관점에서 또는 초, 밀리초 또는 그 밖의 시간 단위의 관점에서 나타내질 수 있는 지연에 대한 제한이다. 예컨대, 레이턴시에 대한 제한은 1초 또는 0.5초와 같은 절대 시간 단위로서 나타내질 수 있다. 인코더는 이와 같은 시간 단위를 프레임들의 카운트로 변환(비디오의 프레임 레이트를 고려함)하고 나서, 비디오 시퀀스의 다수의 프레임간의 프레임간 종속성들이 프레임 카운트와 일치하도록 비디오를 인코딩할 수 있다. 또는, 프레임 재배열 및 프레임간 종속성들에 관계없이, 인코더는 인코딩된 비디오의 비트 레이트, 인코딩 복잡도, 네트워크 대역폭 등에서의 단기 변동(short-term fluctuation)들을 없애기 위해 지연이 사용되는 범위를 한정하기 위해 시간 단위를 사용할 수 있다. 디코더는 디코딩된 픽처 버퍼로부터 프레임이 출력될 수 있는 시기를 판정하기 위해 시간 단위를 사용할 수 있다.
레이턴시에 대한 제한은, 인코딩된 비디오의 비트 레이트에서 단기 변동들을 없애는 능력, 인코딩 복잡도에서 단기 변동들을 없애는 능력, 네트워크 대역폭에서 단기 변동들을 없애는 능력 및/또는 증가된 지연으로부터 이익을 얻는 다른 요인과 응답성(지연의 부족)이 균형을 이루도록 송신기측과 수신기측 사이에서 협상될 수 있다. 이와 같은 협상에 있어서는, 프레임 레이트와 무관하게 레이턴시에 대한 제한을 확립 및 특정하는 것이 도움이 될 수 있다. 이후, 비디오의 프레임 레이트를 고래해서, 인코딩 및 디코딩 동안 제한이 적용될 수 있다. 또는, 비디오의 프레임 레이트와 무관하게, 인코딩 및 디코딩 동안 제한이 적용될 수 있다.
E. 신택스 요소들을 설정 및 출력하는 일반화된 기법들(Generalized Techniques for Setting and Outputting Syntax Elements)
도 6은 레이턴시가 저감된 디코딩을 가능하게 하는 신택스 요소들을 설정 및 출력하는 예시적인 기법(600)을 도시한다. 예컨대, 도 2a 및 도 2b를 참조하여 기술된 실시간 통신 수단 또는 인코딩 수단이 기법(600)을 수행한다. 대안으로서, 다른 수단이 기법(600)을 수행한다.
개시하기 위해, 이 수단은 비디오 시퀀스의 다수의 프레임 사이의 프레임간 종속성과 일치하는 레이턴시(예컨대, 프레임 재배열 레이턴시, 시간 단위의 관점에서의 레이턴시)에 대한 제한을 나타내는 하나 이상의 신택스 요소를 설정한다(610). 이 수단이 비디오 인코더를 포함하면, 동 수단은 또한 프레임들을 수신하고, 그 프레임들을 인코딩해서 인코딩된 데이터를 생산하고(프레임 재배열 레이턴시에 대한 제한과 일치하는 프레임간 종속성들을 사용), 저장 또는 전송을 위해 인코딩된 데이터를 출력할 수 있다.
통상적으로, 프레임 재배열 레이턴시에 대한 제한은 비디오 시퀀스 내의 임의의 프레임을 고려한 재배열 레이턴시이다. 그러나, 이 제한은 다양하게 나타내질 수 있으며, 다양한 다른 의미를 가질 수 있다. 예컨대, 이 제한은 출력 순서에서는 정해진 프레임에 선행할 수 있지만 코딩된 순서에서는 정해진 프레임에 후행할 수 있는 프레임들의 최대 카운트의 관점에서 나타내질 수 있다. 또는, 이 제한은 비디오 시퀀스 내의 임의의 프레임에 대한 코딩된 순서와 출력 순서간의 최대 차로서 나타내질 수 있다. 또는, 개개의 프레임에 주목하면, 이 제한은 비디오 시퀀스 내의 정해진 특정 프레임과 연계된 재배열 레이턴시로서 나타내질 수 있다. 또는, 프레임들로 이루어진 그룹에 주목하면, 이 제한은 비디오 시퀀스 내의 프레임들로 이루어진 그룹과 연계된 재배열 레이턴시로서 나타내질 수 있다. 또는, 이 제한은 몇몇 다른 방식으로 나타내질 수 있다.
다음으로, 수단은 신택스 요소(들)를 출력한다(620). 이는, 복원된 프레임들이 다수의 프레임들의 출력 순서의 관점에서 출력 준비가 되는 시기의 판정을 가능하게 한다. 신택스 요소(들)는, 기본 코딩된 비디오 비트스트림 내의 시퀀스 파라미터 세트 또는 픽처 파라미터 세트의 일부로서, 프레임들에 대한 인코딩된 데이터를 또한 포함하는 매체 스토리지 파일 또는 매체 전송 스트림에 대한 신택스의 일부로서, 매체 특성 협상 프로토콜(예컨대, 시스템-레벨 협상에서 스트림 또는 세션 파라미터 값들의 교환 중에)의 일부로서, 프레임들에 대한 인코딩된 데이터로 다중화된 매체 시스템 정보의 일부로서, 또는 프레임들에 대한 인코딩된 데이터에 관한 매체 메타데이터의 일부로서(예컨대, SEI 메시지 또는 VUI 메시지에서) 출력될 수 있다. 메모리 용량 요건들을 지시하기 위해 상이한 신택스 요소들이 출력될 수 있다. 예컨대, (max_dec_frame_buffering과 같은) 버퍼 사이즈 신택스 요소는 DPB의 최대 사이즈를 지시할 수 있고, (num_reorder_frames과 같은) 프레임 메모리 신택스 요소는 재배열을 위한 프레임 메모리의 최대 사이즈를 지시할 수 있다.
레이턴시에 대한 제한의 값은, 섹션 V의 C에 기술된 바와 같이, 다양하게 표현될 수 있다. 예컨대, 상기 수단은 신택스 요소(들)의 존재 유무를 나타내는 플래그를 출력한다. 플래그가 신택스 요소(들)의 부재를 지시하면, 레이턴시에 대한 제한은 규정되지 않거나 디폴트 값을 갖는다. 그렇지 않으면, 신택스 요소(들)는 레이턴시에 대한 제한을 따르고 그것을 지시한다. 또는, 신택스 요소(들)의 하나의 값은 레이턴시에 대한 제한이 규정되지 않거나 또는 디폴트 값을 갖는 것을 지시하고, 신택스 요소(들)의 가능한 다른 값들은 레이턴시에 대한 제한의 정수 카운트를 지시한다. 또는, 레이턴시에 대한 제한이 프레임 재배열 레이턴시에 대한 제한인 경우에 대해서는, 신택스 요소(들)의 정해진 값은 num_reorder_frames과 같은 상이한 신택스 요소로 지시되는 재배열을 위한 프레임 메모리의 최대 사이즈에 관한 프레임 재배열 레이턴시에 대한 제한의 정수 카운트를 지시한다. 대안으로서, 레이턴시에 대한 제한은 몇몇 다른 방식으로 표현된다.
몇몇 구현들에 있어서, 비디오 시퀀스의 프레임들은 시간 계층구조에 따라 편성된다. 이 경우에, 상이한 신택스 요소들은 시간 계층구조의 상이한 시간 층들의 프레임 재배열 레이턴시들에 대한 상이한 제한들을 지시할 수 있다.
F. 신택스 요소들을 수신 및 사용하는 일반화된 기법들(Generalized Techniques for Receiving and Using Syntax Elements)
도 7은 레이턴시가 저감된 디코딩을 가능하게 하는 신택스 요소들을 수신 및 사용하는 예시적인 기법(700)을 도시한다. 예컨대, 도 2a 및 도 2b를 참조하여 기술된 실시간 통신 수단 또는 재생 수단이 기법(700)을 수행한다. 대안으로서, 다른 수단이 기법(700)을 수행한다.
개시하기 위해, 이 수단은 레이턴시(예컨대, 프레임 재배열 레이턴시, 시간 단위의 관점에서의 레이턴시)에 대한 제한을 나타내는 하나 이상의 신택스 요소를 수신해서 파스한다(710). 예컨대, 파스하는 것은 비트스트림으로부터 레이턴시에 대한 제한을 나타내는 하나 이상의 신택스 요소를 저감하는 것을 포함한다. 이 수단은 비디오 시퀀스의 다수의 프레임에 대한 인코딩된 데이터를 또한 수신한다(720). 이 수단은 신택스 요소(들)를 파스할 수 있으며, 신택스 요소(들)에 기초하여 레이턴시에 대한 제한을 판정할 수 있다. 통상적으로, 프레임 재배열 레이턴시에 대한 제한은 비디오 시퀀스 내의 임의의 프레임을 고려한 재배열 레이턴시이다. 그러나, 제한은 다양하게 나타내질 수 있으며, 이전 섹션에 기술된 바와 같이, 다양한 다른 의미들을 가질 수 있다. 신택스 요소(들)는 기본 코딩된 비디오 비트스트림 내의 시퀀스 파라미터 세트 또는 픽처 파라미터 세트의 일부로서, 매체 스토리지 파일 또는 매체 전송 스트림에 대한 신택스의 일부로서, 매체 특성 협상 프로토콜의 일부로서, 인코딩된 데이터가 다중화된 매체 시스템 정보의 일부로서, 또는 인코딩된 데이터에 관한 매체 메타데이터의 일부로서 시그널링될 수 있다. 이 수단은 메모리 용량 요건들, 예컨대 max_dec_frame_buffering과 같은 버퍼 사이즈 신택스 요소 및 num_reorder_frames와 같은 프레임 메모리 신택스 요소를 나타내는 상이한 신택스 요소들을 수신 및 파스할 수 있다.
레이턴시에 대한 제한의 값은, 섹션 V의 C에 기술된 바와 같이, 다양하게 표현될 수 있다. 예컨대, 이 수단은 신택스 요소(들)의 존재 유무를 나타내는 플래그를 수신한다. 플래그가 신택스 요소(들)의 부재를 지시하면, 레이턴시에 대한 제한은 규정되지 않거나 디폴트 값을 갖는다. 그렇지 않으면, 신택스 요소(들)는 레이턴시에 대한 제한을 따르고 그것을 지시한다. 또는, 신택스 요소(들)의 하나의 값은 레이턴시에 대한 제한이 규정되지 않거나 또는 디폴트 값을 갖는 것을 지시하고, 신택스 요소(들)의 가능한 다른 값들은 레이턴시에 대한 제한의 정수 카운트를 지시한다. 또는, 레이턴시에 대한 제한이 프레임 재배열 레이턴시에 대한 제한인 경우에 대해서는, 신택스 요소(들)의 정해진 값은 num_reorder_frames와 같은 상이한 신택스 요소로 지시되는 재배열을 위한 프레임 메모리의 최대 사이즈에 관한 프레임 재배열 레이턴시에 대한 제한의 정수 카운트를 지시한다. 대안으로서, 레이턴시에 대한 제한은 몇몇 다른 방식으로 시그널링된다.
도 7을 참조하면, 이 수단은 프레임들 중 하나를 복원하기 위해 인코딩된 데이터의 적어도 일부를 디코딩한다(730). 이 수단은 복원된 프레임을 출력한다(740). 그렇게 함에 있어서, 이 수단은, 예컨대 비디오 시퀀스의 프레임들의 출력 순서의 관점에서, 복원된 프레임이 출력 준비가 되는 시기를 판정하기 위해 레이턴시에 대한 제한을 사용할 수 있다.
몇몇 구현에 있어서, 비디오 시퀀스의 프레임들은 시간 계층구조에 따라 편성된다. 이 경우에는, 상이한 신택스 요소들이 시간 계층구조의 상이한 시간 층들의 프레임 재배열 레이턴시들에 대한 상이한 제한들을 지시할 수 있다. 이 수단은 출력의 시간 해상도에 의존하여 프레임 재배열 레이턴시들에 대한 상이한 제한들 중 하나를 선택할 수 있다.
개시된 본 발명의 원리들을 적용할 수 있는 다수의 가능한 실시예들의 관점에서는, 예시된 실시예들이 본 발명의 바람직한 예일 뿐이고 발명의 범위를 한정하는 것으로서 취급되어서는 안 된다는 점이 인식되어야 한다. 오히려, 본 발명의 범위는 이하의 청구항들에 의해 규정된다. 따라서, 이들 청구항의 범위 및 정신에 속하는 모든 것을 본 발명으로서 청구한다.

Claims (10)

  1. 비디오 디코더를 구현하는 컴퓨팅 시스템에서의 레지턴시 저감 방법으로서,
    레이턴시에 대한 제한(constraint)을 나타내는 하나 이상의 신택스 요소를 수신 및 파스(parse)하는 단계와,
    비디오 시퀀스의 복수의 프레임에 대한 인코딩된 데이터를 수신하는 단계와,
    상기 복수의 프레임 중 하나를 복원하기 위해 상기 인코딩된 데이터의 적어도 일부를, 상기 비디오 디코더에 의해 디코딩하는 단계와,
    복원된 프레임을 출력하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 레이턴시에 대한 제한은 프레임 재배열 레이턴시에 대한 제한이고,
    상기 방법은
    상기 하나 이상의 신택스 요소를 파스하는 단계와,
    상기 하나 이상의 신택스 요소에 의거하여 상기 프레임 재배열 레이턴시에 대한 제한을 결정하는 단계와,
    상기 프레임 재배열 레이턴시에 대한 제한을 사용하여, 상기 비디오 시퀀스의 복수의 프레임의 출력 순서의 관점에서 상기 복원된 프레임이 출력 준비가 되는 시기를 결정하는 단계
    를 더 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 비디오 시퀀스의 복수의 프레임은 시간 계층구조(temporal hierarchy)에 따라 편성되고, 상이한 신택스 요소들은 상기 시간 계층구조의 상이한 시간 층(temporal layer)들의 프레임 재배열 레이턴시들에 대한 상이한 제한들을 나타내고,
    상기 방법은, 출력의 시간 해상도(temporal resolution)에 의존하여 프레임 재배열 레이턴시들에 대한 상이한 제한들 중 하나를 선택하는 단계를 더 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 레이턴시에 대한 제한은 프레임 재배열 레이턴시에 대한 제한이고, 상기 프레임 재배열 레이턴시에 대한 제한은 상기 비디오 시퀀스 내의 임의의 프레임을 고려한 재배열 레이턴시인
    방법.
  5. 제 1 항에 있어서,
    상기 하나 이상의 신택스 요소 및 상기 인코딩된 데이터는 코딩된 비디오 비트스트림에 대한 신택스의 일부로서 시그널링되고,
    상기 방법은 디코딩된 픽처 버퍼의 최대 사이즈를 나타내는 버퍼 사이즈 신택스 요소 및 재배열을 위한 프레임 메모리의 최대 사이즈를 나타내는 프레임 메모리 신택스 요소를 수신 및 파스하는 단계를 더 포함하되,
    상기 버퍼 사이즈 신택스 요소 및 상기 프레임 메모리 신택스 요소는 상기 레이턴시에 대한 제한을 나타내는 하나 이상의 신택스 요소와는 상이한
    방법.
  6. 제 1 항에 있어서,
    상기 하나 이상의 신택스 요소는, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 상기 인코딩된 데이터도 포함하는 매체 스토리지 파일용 신택스, 상기 인코딩된 데이터도 포함하는 매체 전송 스트림용 신택스, 매체 특성 협상 프로토콜, 상기 인코딩된 데이터로 다중화된 매체 시스템 정보 또는 상기 인코딩된 데이터에 관한 매체 메타데이터의 일부로서 시그널링되는
    방법.
  7. 제 1 항에 있어서,
    상기 하나 이상의 신택스 요소의 가능한 하나의 값은 상기 레이턴시에 대한 제한이 규정되지 않거나 또는 디폴트 값을 갖는 것을 나타내고, 상기 하나 이상의 신택스 요소의 가능한 다른 값들은 상기 레이턴시에 대한 제한의 정수 카운트를 나타내거나, 또는
    상기 하나 이상의 신택스 요소의 값은 재배열을 위한 프레임 메모리의 최대 사이즈에 관한 상기 레이턴시에 대한 제한의 정수 카운트를 나타내고, 상기 재배열을 위한 프레임 메모리의 최대 사이즈는 상이한 신택스 요소로 나타내어지는
    방법.
  8. 컴퓨팅 시스템에서,
    비디오 시퀀스의 복수의 프레임들 사이의 프레임간 종속성(inter-frame dependency)들과 일치하는 레이턴시에 대한 제한을 나타내는 하나 이상의 신택스 요소를 설정하는 단계와,
    상기 하나 이상의 신택스 요소를 출력해서, 상기 복수의 프레임의 출력 순서의 관점에서 복원된 프레임들이 출력 준비가 되는 시기의 결정을 가능하게 하는 단계를 포함하는
    방법.
  9. 제 8 항에 있어서,
    상기 레이턴시에 대한 제한은 프레임 재배열 레이턴시에 대한 제한이며, 상기 컴퓨팅 시스템은 비디오 인코더를 구변하고,
    상기 방법은
    상기 비디오 시퀀스의 상기 복수의 프레임을 수신하는 단계와,
    상기 비디오 인코더에 의해, 상기 복수의 프레임을 인코딩해서 인코딩된 데이터를 생산하는 단계 ―상기 인코딩은 상기 프레임 재배열 레이턴시에 대한 제한과 일치하는 상기 프레임간 종속성들을 사용함― 와,
    저장 또는 전송을 위해 상기 인코딩된 데이터를 출력하는 단계
    를 포함하는 방법.
  10. 프로세서, 메모리 및 스토리지를 포함하는 컴퓨팅 시스템으로서,
    프레임 재배열 레이턴시에 대한 제한을 나타내는 하나 이상의 신택스 요소를 수신 및 파스하는 단계와,
    상기 하나 이상의 신택스 요소에 의거하여 프레임 재배열 레이턴시에 대한 제한을 결정하는 단계 ―상기 프레임 재배열 레이턴시에 대한 제한은 출력 순서에서는 정해진 프레임에 선행하지만 코딩된 순서에서는 상기 정해진 프레임에 후행할 수 있는 프레임들의 최대 카운트의 관점에서 나타내짐― 와,
    비디오 시퀀스의 복수의 프레임에 대한 인코딩된 데이터를 수신하는 단계;
    비디오 디코더에 의해, 상기 인코딩된 데이터의 적어도 일부를 디코딩해서 상기 복수의 프레임 중 하나를 복원하는 단계와,
    상기 비디오 시퀀스의 복수의 프레임의 출력 순서의 관점에서 복원된 프레임이 출력 준비가 되는 시기를 결정하기 위해 상기 프레임 재배열 레이턴시에 대한 제한을 사용하는 것을 포함하는, 상기 복원된 프레임을 출력하는 단계
    를 포함하는 방법을 수행하도록 되어 있는 컴퓨팅 시스템.
KR1020137034813A 2011-06-30 2011-10-11 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법 KR101944565B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161571553P 2011-06-30 2011-06-30
US61/571,553 2011-06-30
PCT/US2011/055835 WO2013002818A1 (en) 2011-06-30 2011-10-11 Reducing latency in video encoding and decoding
US13/270,969 2011-10-11
US13/270,969 US8837600B2 (en) 2011-06-30 2011-10-11 Reducing latency in video encoding and decoding

Publications (2)

Publication Number Publication Date
KR20140043767A true KR20140043767A (ko) 2014-04-10
KR101944565B1 KR101944565B1 (ko) 2019-01-31

Family

ID=47390681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137034813A KR101944565B1 (ko) 2011-06-30 2011-10-11 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법

Country Status (28)

Country Link
US (17) US8837600B2 (ko)
EP (4) EP2727341B1 (ko)
JP (1) JP6059219B2 (ko)
KR (1) KR101944565B1 (ko)
CN (2) CN103621085B (ko)
AU (1) AU2011371809B2 (ko)
BR (1) BR112013033552B1 (ko)
CA (1) CA2840427C (ko)
CL (1) CL2013003736A1 (ko)
CO (1) CO6862115A2 (ko)
DK (1) DK3691268T3 (ko)
ES (1) ES2958967T3 (ko)
HK (2) HK1195430A1 (ko)
HR (1) HRP20231180T1 (ko)
HU (1) HUE063498T2 (ko)
IL (2) IL230189A (ko)
LT (1) LT3691268T (ko)
MX (1) MX2013015154A (ko)
MY (1) MY189650A (ko)
NZ (1) NZ619406A (ko)
PL (1) PL3691268T3 (ko)
PT (1) PT3691268T (ko)
RS (1) RS64742B1 (ko)
RU (1) RU2587467C2 (ko)
SG (1) SG10201408609SA (ko)
TW (3) TWI606722B (ko)
WO (1) WO2013002818A1 (ko)
ZA (1) ZA201308553B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021086448A1 (en) * 2019-10-31 2021-05-06 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2958967T3 (es) 2011-06-30 2024-02-16 Microsoft Technology Licensing Llc Reducción de latencia en codificación y descodificación de vídeo
KR20130058584A (ko) * 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
JP6048941B2 (ja) * 2012-01-27 2016-12-27 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
FR2994785A1 (fr) * 2012-08-23 2014-02-28 France Telecom Procede de traitement d'un flux multimedia, terminal de communication, serveur et produit programme d'ordinateur correspondant.
US9161039B2 (en) 2012-09-24 2015-10-13 Qualcomm Incorporated Bitstream properties in video coding
SG10201502830WA (en) 2012-09-28 2015-05-28 Ericsson Telefon Ab L M Decoding and encoding of pictures of a video sequence
US9374585B2 (en) 2012-12-19 2016-06-21 Qualcomm Incorporated Low-delay buffering model in video coding
JP5811106B2 (ja) * 2013-01-11 2015-11-11 セイコーエプソン株式会社 映像処理装置、表示装置および映像処理方法
WO2014196198A1 (ja) * 2013-06-05 2014-12-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
JP6270808B2 (ja) * 2013-06-27 2018-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 複数の光源を有するモーションセンサ装置
WO2015001770A1 (ja) * 2013-07-01 2015-01-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 複数の光源を有するモーションセンサ装置
JP6352383B2 (ja) * 2013-07-14 2018-07-04 シャープ株式会社 復号方法及び復号装置
US9674257B2 (en) * 2013-12-31 2017-06-06 Echostar Technologies L.L.C. Placeshifting live encoded video faster than real time
JP5866499B2 (ja) * 2014-02-24 2016-02-17 パナソニックIpマネジメント株式会社 監視カメラシステム及び監視カメラシステムの制御方法
US10419703B2 (en) * 2014-06-20 2019-09-17 Qualcomm Incorporated Automatic multiple depth cameras synchronization using time sharing
DE102014214750B3 (de) * 2014-07-28 2015-06-11 Reimar Lenz Bildaufnahmesystem mit schnell vibrierendem Global-Shutter-CMOS-Sensor
TWI500904B (zh) * 2014-09-18 2015-09-21 Vivotek Inc 立體攝影機及用來測量立體攝影機與基準面之距離的自動測距方法
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
US10075692B2 (en) * 2015-01-28 2018-09-11 Hfi Innovation Inc. Method of simple intra mode for video coding
US10638140B2 (en) 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements
US10003813B2 (en) * 2015-06-25 2018-06-19 Samsung Electronics Co., Ltd. Method and system for decoding by enabling optimal picture buffer management
CN106358042B (zh) 2015-07-17 2020-10-09 恩智浦美国有限公司 使用视频图像的帧间预测的并行解码器
US11051026B2 (en) 2015-08-31 2021-06-29 Intel Corporation Method and system of frame re-ordering for video coding
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
TWI632814B (zh) 2016-11-11 2018-08-11 財團法人工業技術研究院 視訊畫幀產生方法及其系統
FR3058858A1 (fr) * 2016-11-15 2018-05-18 Orange Procede et dispositif de codage et de decodage d'une sequence multi-vues
KR102342051B1 (ko) 2017-08-08 2021-12-22 삼성전자주식회사 영상 처리 장치, 영상 처리 방법 및 영상 디스플레이 시스템
US10412383B2 (en) 2017-08-15 2019-09-10 Google Llc Compressing groups of video frames using reversed ordering
US10748844B2 (en) * 2017-12-30 2020-08-18 Intel Corporation Stress isolation for silicon photonic applications
CN108833932B (zh) * 2018-07-19 2021-01-05 湖南君瀚信息技术有限公司 一种实现高清视频超低延迟编解码及传输的方法及系统
US11128916B2 (en) * 2018-08-21 2021-09-21 Rovi Guides, Inc. Systems and methods for real-time adaptive bitrate transcoding and transmission of transcoded media
CN113366846A (zh) 2019-02-02 2021-09-07 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的缓冲区更新
MX2021008963A (es) 2019-02-02 2021-08-24 Beijing Bytedance Network Tech Co Ltd Manejo de bufer para copia intra-bloque en codificacion de video.
US10992960B2 (en) 2019-02-06 2021-04-27 Jared Michael Cohn Accelerated video exportation to multiple destinations
EP3915265A4 (en) * 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
EP3915252A4 (en) 2019-03-04 2022-03-23 Beijing Bytedance Network Technology Co., Ltd. IMPLEMENTATION OF ASPECTS IN AN INTRA BLOCK COPY IN VIDEO ENCODING
JP2022539468A (ja) 2019-07-06 2022-09-09 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのための仮想予測バッファ
CN114175633B (zh) 2019-07-10 2023-12-29 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的样点标识
KR20220030957A (ko) 2019-07-11 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 비트스트림 적합 제약
CN113497932B (zh) * 2020-04-07 2022-10-18 上海交通大学 测量视频传输时延的方法、系统及介质
WO2021243044A1 (en) * 2020-05-27 2021-12-02 Let's Jam, Llc Methods and systems for synchronizing multimedia
CN116195250A (zh) * 2020-06-09 2023-05-30 Lg电子株式会社 基于dpb操作的图像或视频编码
CN112351285B (zh) * 2020-11-04 2024-04-05 北京金山云网络技术有限公司 视频编码、解码方法和装置、电子设备和存储介质
CN112468875B (zh) * 2020-11-30 2022-03-29 展讯通信(天津)有限公司 视频解码帧的显示输出控制方法及装置、存储介质、终端
WO2023075563A1 (ko) * 2021-11-01 2023-05-04 엘지전자 주식회사 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11425423B1 (en) 2022-03-10 2022-08-23 Yendo Hu Memory storage for motion estimation and visual artifact redcution

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040031644A (ko) * 2002-10-03 2004-04-13 가부시키가이샤 엔티티 도코모 비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩장치, 비디오 디코딩 장치, 비디오 인코딩 프로그램, 및비디오 디코딩 프로그램
KR20100005124A (ko) * 2007-04-13 2010-01-13 노키아 코포레이션 비디오 코더
KR20130058584A (ko) * 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309754A (en) 1979-07-30 1982-01-05 International Business Machines Corp. Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4642756A (en) 1985-03-15 1987-02-10 S & H Computer Systems, Inc. Method and apparatus for scheduling the execution of multiple processing tasks in a computer system
EP0537721B1 (en) 1991-10-15 1998-11-25 Hewlett-Packard Company Hardware-configured operating system kernel for a multitasking processor
US6002801A (en) 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
DE19530483A1 (de) 1995-08-18 1997-02-20 Siemens Ag Einrichtung und Verfahren zur Echtzeit-Verarbeitung einer Mehrzahl von Tasks
US5861920A (en) * 1996-11-08 1999-01-19 Hughes Electronics Corporation Hierarchical low latency video compression
JPH10229420A (ja) 1997-02-17 1998-08-25 Matsushita Electric Ind Co Ltd 通信システム
US5909559A (en) 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US6006303A (en) 1997-08-28 1999-12-21 Oki Electric Industry Co., Inc. Priority encoding and decoding for memory architecture
EP0909094A1 (en) 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor
KR100562116B1 (ko) 1997-11-28 2006-05-25 마츠시타 덴끼 산교 가부시키가이샤 처리 효율을 높인 영상음성 처리장치
JP3935252B2 (ja) 1997-12-26 2007-06-20 キヤノン株式会社 画像形成装置及びジョブ処理方法
US6823016B1 (en) 1998-02-20 2004-11-23 Intel Corporation Method and system for data management in a video decoder
JPH11252552A (ja) 1998-03-05 1999-09-17 Sony Corp ビデオ信号の圧縮符号化方法及び圧縮符号化装置、並びに、圧縮符号化データの多重化方法及び多重化装置
US6298166B1 (en) 1998-03-30 2001-10-02 Seiko Epson Corporation Image transformations in the compressed domain
US6859496B1 (en) 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
JP4146950B2 (ja) 1998-11-04 2008-09-10 キヤノン株式会社 画像形成装置、画像形成装置における表示制御方法及び記憶媒体
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6249288B1 (en) 1998-12-14 2001-06-19 Ati International Srl Multi thread display controller
US7370325B1 (en) 1999-02-19 2008-05-06 Lucent Technologies Inc. Eager evaluation of tasks in a workflow system
US6771824B1 (en) 1999-12-28 2004-08-03 Lucent Technologies Inc. Adaptive variable length decoding method
US6574279B1 (en) 2000-02-02 2003-06-03 Mitsubishi Electric Research Laboratories, Inc. Video transcoding using syntactic and semantic clues
JP2002010216A (ja) 2000-04-20 2002-01-11 Canon Inc 復号化装置及びその制御方法並びに記憶媒体
US7206016B2 (en) 2000-05-01 2007-04-17 Polycom, Inc. Filtering artifacts from multi-threaded video
EP1156674A1 (en) 2000-05-19 2001-11-21 THOMSON multimedia Method and device for decoding a video data stream in special reproduction modes
US6963347B1 (en) 2000-08-04 2005-11-08 Ati International, Srl Vertex data processing with multiple threads of execution
GB2366464A (en) 2000-08-14 2002-03-06 Nokia Mobile Phones Ltd Video coding using intra and inter coding on the same data
US20040117427A1 (en) 2001-03-16 2004-06-17 Anystream, Inc. System and method for distributing streaming media
US7366236B1 (en) 2001-06-04 2008-04-29 Cisco Sytems Canada Co. Source adaptive system and method for 2D iDCT
US6870358B2 (en) * 2001-12-31 2005-03-22 Baes Systems Information And Electronic Systems Integration Inc. Methods and apparatuses for peak detection among multiple signals
US7920624B2 (en) 2002-04-01 2011-04-05 Broadcom Corporation Inverse quantizer supporting multiple decoding processes
US7034897B2 (en) 2002-04-01 2006-04-25 Broadcom Corporation Method of operating a video decoding system
US6963613B2 (en) 2002-04-01 2005-11-08 Broadcom Corporation Method of communicating between modules in a decoding system
EP3324624B1 (en) 2002-04-19 2019-06-12 Panasonic Intellectual Property Corporation of America Motion vector calculating method
JP2004088736A (ja) * 2002-06-28 2004-03-18 Matsushita Electric Ind Co Ltd 動画像の符号化方法、復号化方法、データストリーム、データ記録媒体およびプログラム
US7787539B2 (en) * 2002-07-17 2010-08-31 Broadcom Corporation Decoding and presentation time stamps for MPEG-4 advanced video coding
MY134659A (en) * 2002-11-06 2007-12-31 Nokia Corp Picture buffering for prediction references and display
EP2557785A1 (en) 2002-11-29 2013-02-13 Sony Corporation Delay controlled decoding method and apparatus
US7099389B1 (en) 2002-12-10 2006-08-29 Tut Systems, Inc. Rate control with picture-based lookahead window
CA2515354C (en) 2003-02-18 2013-08-06 Nokia Corporation A method for buffering media data in systems where decoding order is different from transmission order
JP4750350B2 (ja) 2003-03-13 2011-08-17 パナソニック株式会社 タスク切換装置、方法及びプログラム
US7646817B2 (en) 2003-03-28 2010-01-12 Microsoft Corporation Accelerating video decoding using a graphics processing unit
US7627039B2 (en) 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
US7869503B2 (en) 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
JP4095559B2 (ja) 2004-02-13 2008-06-04 株式会社東芝 H.264コーデックic、dvd再生装置、h.264コーデック方法
WO2005083684A1 (en) 2004-02-19 2005-09-09 Koninklijke Philips Electronics N.V. Decoding scheme for variable block length signals
BRPI0506370A8 (pt) 2004-04-28 2016-12-06 Matsushita Electric Ind Co Ltd Aparelho de geração de fluxo contínuo, método de geração de fluxo contínuo, mídia de gravação, método de gravação, aparelho de reprodução de fluxo contínuo, método de reprodução de fluxo contínuo e sistema de reprodução
US20060002479A1 (en) 2004-06-22 2006-01-05 Fernandes Felix C A Decoder for H.264/AVC video
US20050289505A1 (en) 2004-06-25 2005-12-29 Williams Stanley N Method and system for improving performance and scalability of applications that utilize a flow-based-programming methodology
WO2006031925A2 (en) 2004-09-15 2006-03-23 Nokia Corporation Providing zapping streams to broadcast receivers
JP4867235B2 (ja) 2004-10-26 2012-02-01 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4375305B2 (ja) 2004-10-26 2009-12-02 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US20060114995A1 (en) 2004-12-01 2006-06-01 Joshua Robey Method and system for high speed video encoding using parallel encoders
US20060126744A1 (en) 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process
US20060126726A1 (en) 2004-12-10 2006-06-15 Lin Teng C Digital signal processing structure for decoding multiple video standards
US7430238B2 (en) 2004-12-10 2008-09-30 Micronas Usa, Inc. Shared pipeline architecture for motion vector prediction and residual decoding
US7817723B2 (en) 2004-12-14 2010-10-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E. V. Apparatus and method of optimizing motion estimation parameters for encoding a video signal
EP1675402A1 (en) 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
JP2008527945A (ja) 2005-01-19 2008-07-24 トムソン ライセンシング リアルタイム並列符号化の方法及び装置
US7565021B2 (en) 2005-03-01 2009-07-21 Microsoft Corporation Efficient implementation of block-based transform on graphics processing unit
WO2006096612A2 (en) 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder
US20060215754A1 (en) 2005-03-24 2006-09-28 Intel Corporation Method and apparatus for performing video decoding in a multi-thread environment
JP4261508B2 (ja) 2005-04-11 2009-04-30 株式会社東芝 動画像復号装置
JP4374548B2 (ja) 2005-04-15 2009-12-02 ソニー株式会社 復号装置および方法、記録媒体、並びに、プログラム
US7920633B2 (en) 2005-04-22 2011-04-05 Broadcom Corporation Method and system for parallel processing video data
US8902989B2 (en) 2005-04-27 2014-12-02 Broadcom Corporation Decoder system for decoding multi-standard encoded video
EP1773063A1 (en) 2005-06-14 2007-04-11 Thomson Licensing Method and apparatus for encoding video data, and method and apparatus for decoding video data
US7119723B1 (en) 2005-07-28 2006-10-10 Texas Instruments Incorporated Decoding variable length codes while using optimal resources
KR100770704B1 (ko) 2005-08-04 2007-10-29 삼성전자주식회사 픽쳐 스킵 방법 및 장치
US8306112B2 (en) 2005-09-20 2012-11-06 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
EP1932361A1 (en) 2005-10-03 2008-06-18 Nokia Corporation Adaptive variable length codes for independent variables
US8270496B2 (en) 2005-10-12 2012-09-18 Thomson Licensing Region of interest H.264 scalable video coding
US8767836B2 (en) 2006-03-27 2014-07-01 Nokia Corporation Picture delimiter in scalable video coding
US7694102B2 (en) 2006-03-30 2010-04-06 International Business Machines Corporation Systems and methods for self-tuning memory
EP1841072B1 (de) 2006-03-30 2016-06-01 Unify GmbH & Co. KG Verfahren und Einrichtung zum Dekodieren von schichtkodierten Daten
US7626518B2 (en) 2006-06-08 2009-12-01 Via Technologies, Inc. Decoding systems and methods in computational core of programmable graphics processing unit
US8369419B2 (en) 2006-06-16 2013-02-05 Via Technologies, Inc. Systems and methods of video compression deblocking
US7586425B2 (en) 2006-07-11 2009-09-08 Nokia Corporation Scalable video coding and decoding
US8699583B2 (en) 2006-07-11 2014-04-15 Nokia Corporation Scalable video coding and decoding
CN1960472A (zh) 2006-08-14 2007-05-09 中兴通讯股份有限公司 一种多媒体移动终端及其接收多媒体数据的处理方法
US8218640B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US8121196B2 (en) 2006-11-02 2012-02-21 Corel Corporation Method and apparatus for multi-threaded video decoding
US7573407B2 (en) 2006-11-14 2009-08-11 Qualcomm Incorporated Memory efficient adaptive block coding
US8428129B2 (en) 2006-12-14 2013-04-23 Thomson Licensing Method and apparatus for encoding and/or decoding video data using enhancement layer residual prediction for bit depth scalability
EP2127394A1 (en) 2006-12-27 2009-12-02 Intel Corporation Methods and apparatus to decode and encode video information
RU2518904C2 (ru) 2007-01-05 2014-06-10 Томсон Лайсенсинг Гипотетический эталонный декодер для масштабируемого видеокодирования
JP5114495B2 (ja) * 2007-01-08 2013-01-09 トムソン ライセンシング ビデオストリームのスプライシングのための方法及び装置
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
WO2008143157A1 (ja) 2007-05-17 2008-11-27 Sony Corporation 情報処理装置および方法
US8396082B2 (en) 2007-06-05 2013-03-12 Core Wireless Licensing S.A.R.L. Time-interleaved simulcast for tune-in reduction
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US20110038424A1 (en) * 2007-10-05 2011-02-17 Jiancong Luo Methods and apparatus for incorporating video usability information (vui) within a multi-view video (mvc) coding system
US20090109988A1 (en) 2007-10-26 2009-04-30 Chowdhary Musunuri Video Decoder with an Adjustable Video Clock
US8121187B2 (en) 2007-12-05 2012-02-21 Alcatel Lucent Method and apparatus for performing multiple bit rate video encoding and video stream switching
WO2010057027A1 (en) * 2008-11-14 2010-05-20 Transvideo, Inc. Method and apparatus for splicing in a compressed video bitstream
EP2392138A4 (en) 2009-01-28 2012-08-29 Nokia Corp METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US20110002376A1 (en) * 2009-07-01 2011-01-06 Wham! Inc. Latency Minimization Via Pipelining of Processing Blocks
JP5604825B2 (ja) 2009-08-19 2014-10-15 ソニー株式会社 画像処理装置および方法
US9237387B2 (en) 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
CN102575041B (zh) 2009-10-06 2014-02-26 陶氏环球技术有限责任公司 具有宽的共聚单体含量分布的挤出聚苯乙烯泡沫
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
CN101938341B (zh) * 2010-09-17 2012-12-05 东华大学 一种跨节点控制的在线视频流选择性重传方法
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
ES2958967T3 (es) 2011-06-30 2024-02-16 Microsoft Technology Licensing Llc Reducción de latencia en codificación y descodificación de vídeo

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040031644A (ko) * 2002-10-03 2004-04-13 가부시키가이샤 엔티티 도코모 비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩장치, 비디오 디코딩 장치, 비디오 인코딩 프로그램, 및비디오 디코딩 프로그램
KR20100005124A (ko) * 2007-04-13 2010-01-13 노키아 코포레이션 비디오 코더
KR20130058584A (ko) * 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JCTVC-E339 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021086448A1 (en) * 2019-10-31 2021-05-06 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices
US11064194B2 (en) 2019-10-31 2021-07-13 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices
US11503285B2 (en) 2019-10-31 2022-11-15 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices

Also Published As

Publication number Publication date
US10805640B2 (en) 2020-10-13
ZA201308553B (en) 2015-02-25
CA2840427A1 (en) 2013-01-03
KR101944565B1 (ko) 2019-01-31
US20240080485A1 (en) 2024-03-07
PL3691268T3 (pl) 2024-02-19
US20220394307A1 (en) 2022-12-08
US11601681B2 (en) 2023-03-07
US20230020316A1 (en) 2023-01-19
TWI533677B (zh) 2016-05-11
SG10201408609SA (en) 2015-02-27
IL247175A (en) 2017-11-30
JP2014523693A (ja) 2014-09-11
RU2013158832A (ru) 2015-07-10
LT3691268T (lt) 2023-10-10
EP2727341A1 (en) 2014-05-07
US10924766B2 (en) 2021-02-16
BR112013033552B1 (pt) 2022-02-22
US8837600B2 (en) 2014-09-16
EP2727341B1 (en) 2020-04-08
US11641487B2 (en) 2023-05-02
HUE063498T2 (hu) 2024-01-28
US9729898B2 (en) 2017-08-08
US11601684B1 (en) 2023-03-07
US20180249184A1 (en) 2018-08-30
TWI606722B (zh) 2017-11-21
EP3691268A1 (en) 2020-08-05
TW201301899A (zh) 2013-01-01
ES2958967T3 (es) 2024-02-16
CA2840427C (en) 2018-03-06
JP6059219B2 (ja) 2017-01-11
US20230008752A1 (en) 2023-01-12
US20230017770A1 (en) 2023-01-19
EP4246968A3 (en) 2023-12-06
HK1195430A1 (zh) 2014-11-07
TW201728180A (zh) 2017-08-01
WO2013002818A1 (en) 2013-01-03
US20170094316A1 (en) 2017-03-30
TWI587693B (zh) 2017-06-11
US20210127138A1 (en) 2021-04-29
CN105721880B (zh) 2019-04-05
EP3691268B1 (en) 2023-08-30
EP4246967A3 (en) 2023-12-20
CO6862115A2 (es) 2014-02-10
CL2013003736A1 (es) 2014-08-01
US11871040B2 (en) 2024-01-09
US20200404337A1 (en) 2020-12-24
RU2587467C2 (ru) 2016-06-20
MY189650A (en) 2022-02-23
EP4246968A2 (en) 2023-09-20
RS64742B1 (sr) 2023-11-30
US9743114B2 (en) 2017-08-22
US20160316228A1 (en) 2016-10-27
US9426495B2 (en) 2016-08-23
AU2011371809B2 (en) 2016-07-14
US11451830B2 (en) 2022-09-20
EP4246967A2 (en) 2023-09-20
US20230015752A1 (en) 2023-01-19
US11641485B2 (en) 2023-05-02
US20170311000A1 (en) 2017-10-26
US11601682B2 (en) 2023-03-07
HK1226567A1 (zh) 2017-09-29
EP2727341A4 (en) 2015-03-11
PT3691268T (pt) 2023-09-20
CN103621085B (zh) 2016-03-16
US20230010753A1 (en) 2023-01-12
DK3691268T3 (da) 2023-10-02
US20140348249A1 (en) 2014-11-27
US11641486B2 (en) 2023-05-02
CN105721880A (zh) 2016-06-29
US20230014518A1 (en) 2023-01-19
MX2013015154A (es) 2014-03-27
IL230189A (en) 2016-09-29
US20130003864A1 (en) 2013-01-03
US20230239509A1 (en) 2023-07-27
CN103621085A (zh) 2014-03-05
BR112013033552A2 (pt) 2017-02-07
US10003824B2 (en) 2018-06-19
HRP20231180T1 (hr) 2024-01-05
NZ619406A (en) 2016-01-29
US11601683B2 (en) 2023-03-07
TW201625008A (zh) 2016-07-01

Similar Documents

Publication Publication Date Title
KR101944565B1 (ko) 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법
AU2011371809A1 (en) Reducing latency in video encoding and decoding

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right