KR20160023777A - 그래픽 처리기를 이용한 비디오 디코딩에 대한 픽처 참조 제어 - Google Patents

그래픽 처리기를 이용한 비디오 디코딩에 대한 픽처 참조 제어

Info

Publication number
KR20160023777A
KR20160023777A KR1020167000884A KR20167000884A KR20160023777A KR 20160023777 A KR20160023777 A KR 20160023777A KR 1020167000884 A KR1020167000884 A KR 1020167000884A KR 20167000884 A KR20167000884 A KR 20167000884A KR 20160023777 A KR20160023777 A KR 20160023777A
Authority
KR
South Korea
Prior art keywords
picture
parameter set
picture buffering
current
graphics processor
Prior art date
Application number
KR1020167000884A
Other languages
English (en)
Other versions
KR102163440B1 (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 KR20160023777A publication Critical patent/KR20160023777A/ko
Application granted granted Critical
Publication of KR102163440B1 publication Critical patent/KR102163440B1/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/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/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
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/162User input
    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • H04N19/427Display on the fly, e.g. simultaneous writing to and reading from decoding memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 디코더는 인코딩된 비디오 비트스트림의 현재 픽처와 연관된 제 1 픽처 버퍼링 파라미터 세트를 획득한다. 제 1 픽처 버퍼링 파라미터 세트는 그래픽 처리기에 의해 현재 픽처를 디코딩하는데 사용하기 위한 하나 이상의 참조 픽처로 이루어진 세트를 식별한다. 비디오 디코더는 제 1 픽처 버퍼링 파라미터 세트를 그래픽 처리기에 의해 현재 픽처를 디코딩하는데 사용하기 위한 (상이한) 제 2 픽처 버퍼링 파라미터 세트로 수정한다. 제 2 픽처 버퍼링 파라미터 세트는 현재 픽처를 디코딩하기 위해 그래픽 처리기로 전송된다.

Description

그래픽 처리기를 이용한 비디오 디코딩에 대한 픽처 참조 제어{PICTURE REFERENCING CONTROL FOR VIDEO DECODING USING A GRAPHICS PROCESSOR}
비디오 레코딩은, 비디오 재생을 위해 일련의 디스플레이가능한 픽처를 정의하는 인코딩된 이미지 데이터로서 디지털 형태로 전달될 수 있고/있거나 저장될 수 있다. 일부 비디오 인코딩 포맷은 산업 및 소비자에 의해 널리 수용될 수 있도록 표준화 기구에 의해 정의된다(예컨대, H.261, MPEG-1, H.262/MPEG-2, H.263, MPEG-4 Part 2, H.264/AVC, SMPTE VC-1, 및 H.265/HEVC). 비디오 인코딩은 통상적으로 비디오 레코딩과 연관된 전송 및 저장 요건을 감소시키는 압축 특징을 포함한다. 예를 들어, 압축된 비디오는 컴퓨팅 장치에서 보다 적은 저장 공간을 차지하며 컴퓨팅 장치에 대해 보다 짧은 주기로 전송(예컨대, 스트리밍)될 수 있다. 디지털 데이터가 디코딩될 때, 코딩된 비디오 시퀀스 내의 각각의 인코딩된 픽처에 대한 데이터가 디코딩되어 컴퓨터 화면, 전화기 화면, 또는 기타 디스플레이 장치와 같은 디스플레이 상의 프리젠테이션을 위한 디스플레이가능한 픽처를 생성한다.
또한, 소정의 프로세서 집약적 디코딩 동작을 덜기 위해, 그래픽 처리기가 컴퓨팅 시스템 내의 호스트 프로세서와 함께 사용된다. 인코딩된 이미지 데이터를 디코딩하는 중에 호스트 프로세서 실행 디코더(host-processor-executed decoder)와 그래픽 처리기 사이의 상호작용은 시스템 성능을 크게 향상시킬 수 있다. 이러한 상호작용은 비디오를 인코딩하는데 사용된 표준에 의존할 수 있으며 그 자체가 표준화된 인터페이스에 의해 조절될 수 있다.
노멀 재생은 비디오 재생 시스템에서 가장 빈번하게 사용되는 동작 모드이기 때문에, 비디오 인코딩 표준은 흔히 비디오의 노멀(normal) 재생에 집중된다. 그 결과, "트릭 플레이(trick play)"이라고도 하는 다른 재생 모드(예컨대, 빨리 감기, 되감기, 전방 건너뛰기 탐색(skip ahead/forward seek), 후방 건너뛰기(skip back/rewind) 등)가 디코딩 난제를 제시할 수 있다. 예를 들어, 이러한 트릭 플레이(trick play) 동작을 위한 디코딩은, 트릭 플레이 모드가 실행될 때 아직 완전히 전송되지도 디코딩되지도 또는 달리 이용가능하지 않은 비디오 데이터에 의존할 수 있다. 따라서, 이용가능하지 않은 비디오 데이터로 인해 트릭 플레이 동작 동안 성능 및/또는 화질이 떨어지게 될 수 있다.
본 명세서에 기술되고 청구된 구현예는 인코딩된 비디오 비트스트림의 현재 픽처와 연관된 제 1 픽처 버퍼링 파라미터 세트를 획득함으로써 전술한 문제들을 처리한다. 제 1 픽처 버퍼링 파라미터 세트는 그래픽 처리기에 의해 현재 픽처를 디코딩하는데 사용하기 위한 하나 이상의 참조 픽처로 이루어진 세트를 식별한다. 비디오 디코더는 제 1 픽처 버퍼링 파라미터 세트를 그래픽 처리기에 의해 현재 픽처를 디코딩하는데 사용하기 위한 (상이한) 제 2 픽처 버퍼링 파라미터 세트로 수정(revise)한다. 제 2 픽처 버퍼링 파라미터 세트는 현재 픽처를 디코딩하기 위해 그래픽 처리기로 전송된다.
본 개요는 후속하여 발명의 상세한 설명 부분에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 개요는 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 함도 아니다.
다른 구현들도 또한 여기에 기재되고 열거된다.
도 1은 비디오 재생 장치를 위한 비디오 디코딩 시스템의 일례를 도시한 것이다.
도 2는 입력 채널에서 수신된 인코딩된 비디오 비트스트림으로부터 인코딩된 픽처를 디코딩하기 위해 픽처 버퍼링 파라미터를 이용하는 예시적인 호스트 처리 장치를 도시한 것이다.
도 3은 트릭 플레이 모드 동안 사용하기 위한 수정된 파라미터의 생성 및/또는 인코딩/디코딩 프로세스의 일례를 도시한 것이다.
도 4는 일련의 디스플레이가능한 픽처를 구성하는데 사용될 수 있는 예시적인 인코딩된 픽처들의 시퀀스를 도시한 것이다.
도 5는 비디오 트릭 플레이 동작을 위한 예시적인 프로세스를 도시한 것이다.
도 6은 본 명세서에 기술된 기법을 구현하는데 유용할 수 있는 예시적인 시스템을 도시한 것이다.
도 1은 비디오 재생 장치를 위한 비디오 디코딩 시스템(100)의 일례를 도시한 것이다. 이 예에서, 수신된 비디오 데이터 스트림을 인코딩된 비디오 비트스트림(102)이라고도 하는데, 이것은 다양한 소스로부터 수신될 수 있다. 예를 들어, 비디오 데이터 스트림은, 인터넷 상에 위치한 사이트, 클라우드 내의 하나 이상의 저장 장치 또는 서비스, 저장 디스크(예컨대, DVD), 비디오 원격회의 시스템, 텔레비전 방송 시스템, 원격으로 위치한 카메라 시스템, 동일한 비디오 재생 장치의 일부를 형성하는 메모리 등으로부터 수신될 수 있다.
호스트 처리 장치(104)는 비디오 소스(예컨대, 웹 기반 비디오 서비스)로부터 인코딩된 비디오 비트스트림(102)을 입력 버퍼(110)(예컨대, 메모리)에 수신한다. 플레이어 모듈(114)은 호스트 처리기의 일례인 중앙 처리 장치(CPU)(112)에 의해 또는 이와 조합하여 실행되고, 입력 버퍼(110)로부터의 인코딩된 비디오 비트스트림(102)의 디코딩 및 대응하는 디스플레이가능 픽처의 재생을 관리한다. 따라서, 플레이어(114)는 인코딩된 비디오 비트스트림(102)의 어느 인코딩된 픽처를, 재생을 위해 디코더(116)에 의해 디코딩할지 지시한다. 도 1의 예에서, 플레이어(114)는 디코더(116)에게 노멀 전방 재생(normal forward playback)을 위해 인코딩된 비디오 비트스트림 데이터(102)를 디코딩하도록 지시할 수 있다. 또한, 플레이어(114)는 디코더(116)에게, 제한없이 데이터 에러(예컨대, 데이터 손실 또는 손상)의 은닉 및 "트릭 플레이" 동작(예컨대, 빨리 감기, 되감기, 비디오 픽처 시퀀스 내의 임의의 픽처로의 건너뛰기 등)과 관련된 재생을 포함한, 다른 유형의 재생을 위해 인코딩된 비디오 비트스트림(102)을 디코딩하도록 지시할 수 있다. 데이터 전송 모듈(117)은 인코딩된 비디오 비트스트림(102) 및 기타 데이터를 호스트 처리 장치(104)로부터 그래픽 처리기(106)로 전송하는데 사용된다. 도시된 예에서, 데이터 전송 모듈(117)과 그래픽 처리기(106) 사이의 인터페이스는 DDI(device driver interface) 또는 API(application program interface)와 같은 표준화된 인터페이스(107)에 의해 관리된다.
그래픽 처리기(106)는 저장된(또는 버퍼링된) 참조 픽처 세트를 이용하여 인코딩된 비디오 비트스트림(102)의 디스플레이가능한 픽처를 디코딩하는 것과 같은 특정 기능을 수행하도록 고도로 특화될 수 있다. 한 구현예에서, 각각의 참조 픽처는 전체 픽처(예컨대, 소정 픽처에 대한 모든 픽셀)의 3개의 컬러 성분을 구성하는 3개의 샘플 어레이(예컨대, 휘도를 표현하는 컬러 성분, 청색에 대한 색차(chrominance difference) 및 적색에 대한 색차)를 표현한다. 각각의 인코딩된 픽처의 디코딩에 사용하기 위한 픽처 식별 파라미터는, 본 명세서에서 참조 픽처 세트의 구성요소라고도 하는데, 인코딩된 비디오 비트스트림(102)의 헤더 데이터(예컨대, 픽처 레벨 또는 슬라이스 레벨 헤더 데이터, 여기서 각각의 슬라이스는 픽처의 별개의 디코딩가능 영역에 대응한다)에서 식별되며 디코더(116)에 의해 추출된다. 이 예에서, 참조 픽처 세트는, 인코딩된 비디오 비트스트림(102)의 인코딩된 픽처를 디코딩하고 비디오 디스플레이(108) 상에 디스플레이가능한 픽처를 생성하기 위해 그래픽 처리기(106)에 의해 사용된다. 그래픽 처리기(106)의 서비스가 호출될 경우, 디코더(116)는 그래픽 처리기(106)에게 식별된 참조 픽처 세트를 사용하여 현재의 인코딩된 픽처를 디코딩하도록 지시한다.
노멀 디스플레이 순서는 통상적으로 노멀 전방 재생 동안 코딩된 비디오 시퀀스의 비디오 픽처가 디스플레이되는 순서를 지칭한다. 그러나, 인코딩된 비디오 픽처가 인코딩된 비디오 비트스트림(102)에 나타나는 순서는 픽처가 일반적으로 비디오 디스플레이에 디스플레이되는 순서와 다를 수 있다. 인코딩된 비디오 비트스트림(102) 내의 픽처 순서 정보는 디코더에서의 노멀 디코딩 순서("비트스트림 순서"라고도 함)와 노멀 출력 순서("노멀 디스플레이 순서"라고도 함) 사이의 임의의 차이를 식별한다. 노멀 재생 모드 동안에, 그래픽 처리기(106)는 적시에 현재 픽처를 디코딩하는데 사용하기 위해 참조 픽처 세트에서 식별된 (예컨대 그래픽 처리기(106)의 버퍼 메모리 내의)모든 참조 픽처의 저장된 사본에 대한 액세스를 갖는다.
그러나, 트릭 플레이 동작 동안, 재생은 디스플레이가능 픽처의 노멀 재생 시퀀스를 따르지 않고, 따라서 이전에 버퍼링된 참조 픽처가 트릭 플레이의 타겟 픽처에 적용되지 않을 수 있다. 예를 들어, 빨리 감기 동작의 경우, 빨리 감기 시퀀스의 다음 픽처는 코딩된 비디오 시퀀스에 대한 노멀 출력 순서에서 현재 픽처 앞의 몇 개의 픽처일 수 있다. 따라서, 이전에 버퍼링된 참조 픽처는 빨리 감기 동작의 다음 픽처에 적용되지 않을 수 있고, 빨리 감기 동작의 다음 픽처와 연관된 참조 픽처들 중 일부는 (이들은 빨리 감기 동작 동안 건너뛰어지므로) 다음 픽처를 디코딩하는데 사용하는데 이용가능하지 않을 수 있다. 따라서, 디코더(116)는 다음 픽처를 디코딩하는 것과 연관된 참조 픽처 세트를 수정하여 이용가능하지 않은 참조 픽처를 무시할 수 있다. 참조 픽처 세트의 이러한 수정은 빨리 감기, 스무스 리버스(smooth reverse), 채널 획득, 랜덤 탐색(random seek) 등을 비롯한 다른 유형의 트릭 플레이에 이용될 수도 있다.
구체적으로, 채널 획득 및 랜덤 탐색과 같은 비디오 픽처 시퀀스 내의 임의의 위치 또는 새로운 데이터 스트림으로 동작이 전환되는 트릭 플레이의 경우, 이전에 버퍼링된 픽처는 트릭 플레이를 위한 새로운 타겟 픽처에 대한 참조 픽처 세트와 아무런 관계가 없거나 거의 관계가 없을 수 있다. 따라서, 새로운 타겟 픽처에 대한 참조 픽처 세트의 수정은, 예컨대, 디코딩 시간이 많이 걸리는 참조 픽처를 생략함으로써(예컨대, 많은 버퍼링되지 않은 참조 픽처의 사전 디코딩을 요구하는 참조 픽처를 생략함으로써) 새로운 타겟 픽처의 디코딩을 빠르게 할 수 있다.
이러한 참조 픽처의 수정은 인코딩된 비디오 비트스트림(102)에서 (예컨대 손실된 데이터와 같은) 에러를 은닉하는데 이용될 수 있다. 예를 들어, 디코더(116)가 현재 픽처를 디코딩하는데 통상적으로 사용되는 참조 픽처가 손실되었음을 검출하면, 디코더(116)는, 예컨대 손실된 참조 픽처를 현재 픽처를 디코딩하는데 사용하기 위한 다른 이용가능한 참조 픽처로 대체함으로써, 현재 픽처의 참조 픽처 세트로부터 손실된 참조 픽처를 제거할 수 있다.
또 다른 구현예에서, 컴퓨팅 자원(예컨대, 비디오 디코더 자원, 그래픽 처리기 자원 등) 및/또는 통신 대역폭이 재생이 늦어지게 하거나 또는 늦어지게 할 위험을 가질 수 있다. 이러한 경우, 디코더는 기술된 기법을 이용하여 픽처 시퀀스의 디코딩을 단순화하기로 결정할 수 있다(예컨대, 소정의 픽처의 디코딩을 건너뛰거나, 시퀀스 내의 각 픽처의 디코딩으로부터 소정의 참조 픽처를 생략하거나 하여, 재생이 예컨대 오디오 스트림을 따라 잡도록 디코딩 속도를 높임). 마찬가지로, 디코더는 비디오 비트스트림을 제공하는 비디오 서버에 대한 데이터 전달 요청에서 소정의 픽처를 생략할 수도 있다. 이들 픽처는 비디오 시퀀스에서 소정의 픽처에 대한 참조 픽처로서 생략될 수 있다.
전술한 바와 같이, 호스트 처리 장치(104)는 그래픽 처리기(106)에게 현재 픽처를 디코딩할 때 상이한 참조 픽처 세트를 이용하도록 지시함으로써 이러한 운영 모드를 처리할 수 있다. 따라서, 통상적으로 노멀 재생 동안 제1 버퍼링된 참조 픽처 세트를 이용하여 디코딩되는 픽처가 트릭 플레이 또는 에러 은닉 동작 동안 다른 참조 픽처의 세트(예컨대, 서브세트)를 이용하여 디코딩될 수 있다. 수정된 참조 픽처 세트는 그래픽 처리기(106)가 이미 버퍼링한 참조 픽처 또는 이용가능한 픽처로부터 신속하게 디코딩될 수 있는 참조 픽처를 지정할 수 있다. 따라서, 현재 픽처 자체가 이들 이미 버퍼링되었거나 또는 신속하게 디코딩된 참조 픽처로부터 신속하게 디코딩될 수 있다. 현재 픽처가 디코딩되면, 호스트 처리 장치는, 디스플레이가능 픽처를 생성할 경우, 디코딩된 디스플레이가능 픽처를 사용자에게 프리젠테이션(예컨대, 디스플레이)하기 위해 비디오 디스플레이(108)로 송신한다.
도 2는 입력 채널(202)에서 수신된 인코딩된 비디오 비트스트림으로부터 인코딩된 픽처를 디코딩하기 위해 픽처 버퍼링 파라미터를 이용하는 예시적인 호스트 처리 장치(204)를 도시한 것이다. 호스트 처리 장치(204)는 인코딩된 비디오 비트스트림을 수신하고 CPU(203), 플레이어(205), 및 디코더(207)를 이용하여 인코딩된 비디오 비트스트림을 처리한다. 그래픽 처리기(206)는 인코딩된 비디오 비트스트림의 디코딩을 돕기 위한 특화된 그래픽 처리에 이용된다.
디코더(207)는 인코딩된 픽처를 디코딩하여 디스프레이가능한 픽처를 생성하기 위해 그래픽 처리기(206)에 의해 사용될 참조 픽처 세트를 지정한다. 예를 들어, 다양한 비디오 표준에 따른, 인코딩된 픽처의 전형적인 유형은 I 픽처, P 픽처, 및 B 픽처로 지칭된다. 각각의 디스플레이가능 픽처는 이들 인코딩된 픽처들 중 하나로부터 디코딩될 수 있다. 참조 픽처는 I 픽처를 디코딩하는데 사용되지 않지만, 하나 이상의 참조 픽처는 P 픽처 또는 B 픽처를 디코딩하는데 사용된다. 예를 들어, 영화가 새가 푸른 하늘을 가로질러 날아가는 장면을 포함하면, 비디오 콘텐츠의 대다수는 하나의 디스플레이된 픽처로부터 그 다음 픽처까지 동일한 내용을 유지한다. 주 변화는 새가 하늘을 가로질러 이동함에 따른 새의 위치이다. 따라서, 각각의 인코딩된 P 픽처나 B 픽처에 대한 완전히 새로운 비디오 데이터 세트를 전송하기 보다는, 비디오 인코딩은 후속하는 디스플레이가능 픽처를 인코딩하기 위해 다른 픽처들(예컨대, 이전에 인코딩된 픽처들)로부터의 이미지 데이터를 재사용한다. 새/하늘 예에서, 푸른 하늘은 변하지 않고, 따라서 푸른 하늘 영역에 대응하는 이전에 디코딩된 픽처의 부분들은 후속하여 디코딩된 P 픽처 및 B 픽처를 디코딩하는데 재사용될 수 있다. 이 접근법은 호스트 처리 장치(204)에 다운로드되는 데이터의 양과 인코딩 및 디코딩되는 데이터의 양을 감소시킨다.
이 디코딩 방안의 예시로서, 도 2는 현재 픽처에 대한 참조 픽처 세트(220)로서 지정된 데이터 어레이를 보여준다. 참조 픽처 세트(220)는 (예컨대, 노멀 비디오 재생을 위해 디코딩 프로세스를 수행할 때) 현재 픽처 및 임의의 후속 픽처를 코딩된 비디오 시퀀스에 대한 디코딩 순서로 디코딩하기 위한 하나 이상의 참조 픽처를 지정할 수 있다. 따라서, 참조 픽처 세트(220)는 그래픽 처리기(206)에게 현재 픽처 및 후속하는 픽처를 노멀 디코딩 순서로 디코딩하기 위해 버퍼링되어야 하는 디코딩된 참조 픽처를 확인시킬 수 있다. 각각의 현재 픽처를 디코딩하기 위한 디코더(207) 및/또는 그래픽 처리기(206)에 의한 디코딩 프로세스의 동작은 각각의 픽처에 대한 인코딩된 데이터에 의존하고, 픽처 순서 및 타이밍에 대한 정보 뿐만 아니라 디코딩 프로세스에 사용된 참조 픽처가 비트스트림 데이터에서 단기 참조 픽처로서 아니면 장기 참조 픽처로서 식별되는지 여부에 대한 분류에 의존할 수 있다. 현재 픽처에 대한 디코딩 프로세스는, 예컨대, 참조 픽처가 픽처 버퍼링 파라미터에서 식별되는 방법 또는 참조 픽처와 연관된 모션 벡터 데이터가 사용되는 방법에 대해, 디코딩 프로세스에 사용된 참조 픽처가 비트스트림 데이터에서 단기 참조 픽처로서 아니면 장기 참조 픽처로서 식별되는지 여부에 의존할 수 있다. 예를 들어, 단기 참조 픽처로서 아니면 장기 참조 픽처로서의 픽처의 식별이 인코딩된 비트스트림 데이터 포맷 및 디코딩 프로세스에 영향을 주는 방법은 H.264/AVC 표준에 지정된 대로, H.265/HEVC 표준에 지정된 대로, 또는 다른 비디오 코딩 기법에 사용된 대로일 수 있다.
도시된 예에서, 참조 픽처 세트(220) 내의 각각의 엔트리는 특정 엔트리가 다른 파라미터에 의해 참조될 수 있도록 색인된다. 도 2에서, 3개의 픽처 버퍼링 파라미터, 즉 RefPicSetStCurrBefore[], RefPicSetStCurrAfter[], 및 RefPicSetLtCurr[]는 현재 픽처를 디코딩하는데 사용되는 참조 픽처 세트(220) 내의 참조 픽처를 지정하기 위해 정의된다. 참조 픽처 세트(220)는 (예컨대, 현재 픽처를 디코딩하는데 사용되지 않지만 몇몇 다른 후속 픽처를 디코딩하는데 사용될 수 있는 참조 픽처 세트 내의 픽처를 식별하기 위해)이들 3개의 픽처 버퍼링 파라미터에 포함되지 않는 소정의 추가적인 엔트리(도 2에 도시되지 않음)를 포함할 수 있다. 이 예의 3개의 도시된 픽처 버퍼링 파라미터는 이하에서 더 자세히 설명한다.
RefPicSetStCurrBefore[] - 코딩된 비디오 시퀀스 내 현재의 인코딩된 픽처에 대한 디코딩 프로세스에서 단기 참조 픽처로서 사용되는, 노멀 디스플레이 순서에서 현재 픽처에 앞서는(precede) 0개 이상의 픽처를 지정하는 픽처 버퍼링 파라미터
RefPicSetStCurrAfter[] - 코딩된 비디오 시퀀스 내 현재의 인코딩된 픽처에 대한 디코딩 프로세스에서 단기 참조 픽처로서 사용되는, 노멀 디스플레이 순서에서 현재 픽처에 뒤따르는(follow) 0개 이상의 픽처를 지정하는 픽처 버퍼링 파라미터
RefPicSetLtCurr[] - 코딩된 비디오 시퀀스 내 현재의 인코딩된 픽처에 대한 디코딩 프로세스에서 장기 참조 픽처로서 사용되는, 0개 이상의 픽처를 지정하는 픽처 버퍼링 파라미터
이들 픽처 버퍼링 파라미터는 각각 어레이(224, 226, 228)로서 나타내어진다. 이들 파라미터 각각은 참조 픽처 세트(220) 내의 특정 참조 엔트리를 지정하는 하나 이상의 색인을 유지한다. 디코더(207)는 이들 파라미터를 (예컨대, DDI(209)를 통해) 디코딩되어야 하는 각 인코딩된 픽처를 위한 그래픽 처리기(206)에게 전달하며, 따라서 그래픽 처리기(206)가 현재의 인코딩된 픽처를 디코딩하는데 사용할 참조 픽처를 식별할 수 있다. 현재의 인코딩된 픽처에 대한 이들 픽처 버퍼링 파라미터(어레이(224, 226, 228))에 의해 지정된 참조 픽처를 참조 픽처 세트의 현재의 부분이라 한다. 참조 픽처 세트의 현재의 부분은 (후속 픽처가 아닌)현재 픽처와 연관된 참조 픽처 세트를 식별하고 디코딩 순서에서 연관된 픽처 이전의 모든 참조 픽처(이는 현재 픽처의 픽처간 예측에 사용될 수 있다)를 포함한다. 참조 픽처 세트의 현재의 부분을 포함하는 것에 더하여, 참조 픽처 세트(220)는 현재 픽처에 속하지 않는 추가적인 엔트리를 포함할 수도 있다(예컨대, 이들 엔트리는 디코딩 순서에서 후속 픽처에 속할 수 있다).
도 2에서, 3개의 도시된 픽처 버퍼링 파라미터(어레이(224, 226, 228))는 참조 픽처 세트(220) 내의 적절한 엔트리를 참조한다. 예를 들어, RefPicSetStCurrBefore[] 어레이(224)는 참조 픽처 세트(220) 내의 엔트리(230, 232)를 참조한다. 도시된 픽처 버퍼링 파라미터(어레이(224, 226, 228) 내의 각 엔트리와 연관된 데이터는, 참조 픽처 세트(220) 내의 대응하는 엔트리의 식별자에 더하여, 픽처 순서 위치 데이터, 픽처 타이밍 데이터 등과 같은 일부 부가적인 관련 데이터를 포함할 수 있다. 참조 픽처 세트(220) 내의 각 엔트리와 연관된 데이터가 또한 참조 픽처 세트 내의 엔트리와 연관된 픽처의 식별자에 더하여 일부 부가적인 관련 데이터를 포함할 수 있다. 다른 구현에서, 픽처 버퍼링 파라미터와 연관된 데이터는 참조 픽처 세트(220)를 통해 참조 픽처를 간접적으로 식별하기보다는 이들 참조 픽처를 직접 식별할 수 있다.
도 1과 관련하여 논의한 바와 같이, 픽처 버퍼링 파라미터는 인코딩된 비디오 비트스트림 내의 각각의 인코딩된 픽처의 슬라이스 헤더로부터 추출될 수 있다. 그러나, 어떤 환경(예컨대, 트릭 플레이이 동작, 에러 은닉 동작 등)에서는, 디코더(207)는 픽처 버퍼링 파라미터를 그래픽 처리기(206)에 전달하기 전에 이들을 변경할 수 있다. 이들 변경은, 제한적인 것은 아니지만, (현재 픽처에 대한 참조 픽처 세트 내의)하나의 참조 픽처에 대한 참조를 다른 참조 픽처에 대한 참조로 대체하는 것을 포함할 수 있다. 한 구현예에서, 변경된 참조 픽처 세트는 참조 픽처 세트에서 이미 식별된 참조 픽처에 복제 참조를 포함할 수 있다. 다른 구현예에서, 대체 참조 픽처는 그래픽 처리기에 의해 이미 버퍼링된 다른 참조 픽처일 수 있다. 또 다른 구현예에서, 대체 참조 픽처는 원래의 변경되지 않은 참조 픽처 세트에서 식별된 참조 픽처보다 (예컨대, 쉽게 이용가능한 인코딩된 픽처 데이터 및/또는 버퍼링된 참조 픽처로부터) 그래픽 처리기에 의해 더 빨리 디코딩될 수 있는 인코딩된 픽처에 대응할 수 있다.
도 3은 인코딩 디코딩 프로세스(300)의 일례를 도시한 것이다. 도시된 프로세스는 트릭 플레이 동작 동안 사용하기 위한 수정된 픽처 버퍼링 파라미터를 생성한다. 유사한 프로세스가 에러 은닉 동작 또는 몇몇 다른 재생 동작 동안 사용하기 위해 수정된 픽처 버퍼링 파라미터를 생성할 수 있다. 비디오 카메라와 같은 기록 장치가 픽처의 최초 시퀀스(302)를 캡처한다. 픽처의 최초 시퀀스는 컴퓨터 메모리 버퍼에 저장되고 인코더(304)에 입력되며, 인코더(304)는 캡처된 비디오 데이터를 인코딩된 포맷으로 변환하는데, 이는 픽처(A-N)에 대한 데이터 세트(306)로 예시되어 있다. 예를 들어, 데이터 세트(A1, A2, A3)는 3개의 픽처 버퍼링 파라미터로 이루어진 세트를 나타내고, A4는 하부 이미지 데이터 및 인코딩된 픽처(A)를 디코딩하는데 사용될 수 있는 다른 디코딩 파라미터를 나타낸다. 3개의 픽처 버퍼링 파라미터(A1, A2, A3)는 픽처(A)에 대한 참조 픽처 세트를 지정하는 3개의 픽처 버퍼링 파라미터를 나타낸다. 다른 픽처 버퍼링 파라미터(도시되어 있지 않음) 및 다른 데이터가 개별 비디오 이미지의 인코딩 및 디코딩에 사용될 수도 있음을 이해해야 한다. 포매터(308)는 통신망(312)을 통해 전송될 수 있는 인코딩된 비디오 비트스트림(310)을 형성하는데 사용된다. 인코딩된 비디오 비트스트림(210)은 또한 다른 수단을 통해 저장 및/또는 전송될 수 있음을 이해해야 한다.
호스트 처리 시스템은 통신망(312)으로부터 인코딩된 비디오 비트스트림(310')을 수신한다. 호스트 처리 시스템의 플레이어(314)는 인코딩된 비디오 비트스트림(310')의 슬라이스 헤더로부터 픽처 버퍼링 파라미터를 포함하는 원래의 데이터 세트(316)를 추출한다. 정상 재생 모드 동안, 원래의 데이터 세트(316)(예컨대, 픽처 버퍼링 파라미터(A1, A2, A3 및 기타 데이터(A4))는 대응하는 인코딩된 픽처의 디코딩을 위해 인터페이스를 통해 그래픽 처리기로 전달되어 디스플레이할 픽처(A, B, ... N)를 생성한다. 그러나, 트릭 플레이 모드 동안, 디코더(318)는 예컨대 새로운 픽처 버퍼링 파라미터(A'1, A'2, A'3)를 생성하기 위해 원래의 데이터 세트(A1, A2, A3)를 수정할 수 있다(픽처 버퍼링 파라미터 중 하나 이상은 플레이어(314)에 의해 실행된 재생에 의존하여 수정될 수 있지만, 모든 픽처 버퍼링 파라미터가 수정될 필요는 없다는 것을 이해해야 한다). 이들 하나 이상의 수정된 픽처 버퍼랑 파라미터는 다른 데이터(예컨대, A4)와 함께, 디코더(318)에 의해 인터페이스를 통해 그래픽 프로세서(322)에 제공되어, 약간 다른(또는 상당히) 다른 디코딩된 픽처(A', B', C', D' ... N')를 생성한다. 시퀀스(A', B', C', ... N')는, 예를 들어 빨리 감기 트릭 플레이 동작 동안 디스플레이된 수정된 픽처 세트(324)를 나타낸다.
도 4는 일련의 디스플레이가능한 픽처를 구성하는데 사용될 수 있는 인코딩된 픽처들(이 중 많은 수가 참조 픽처일 수 있다)의 예시적인 시퀀스(400)를 도시한 것이다. 비디오 디스플레이에 디스플레이되는 각각의 픽처는 픽처간 예측이라고 하는 기법을 이용하여 디코딩된 픽처 및 0개 이상의 참조 픽처 세트로부터 구성될 수 있다. 도 4의 화살표는, 화살표로 지시된 각각의 특정 픽처에 대한 디스플레이가능한 픽처를 생성하기 위해 어떤 다른 픽처가 현재의 인코딩된 픽처를 디코딩하는데 사용되는지를 나타낸다. 도 4는 I, P, B 픽처를 보여준다. I 픽처는 대응하는 디스플레이가능한 픽처를 생성하기 위해 픽처간 예측을 이용하지 않고 혼자 디코딩가능하다. 따라서, 도 4에서 I 픽처를 가리키는 화살표는 없다. 반면에, P 및 B 픽처는 픽처간 예측 참조를 이용한다. 따라서, 도 4에서 P 및 B 픽처를 가리키는 다양한 화살표가 존재한다.
도 4에서, 각 픽처는 픽처 타입에 따라서, I, P, 또는 B로 지정된다. 또한, 각 픽처가 특정 픽처를 가리키는 화살표를 갖는 픽처에 대응하는 참조 픽처를 이용하여 디코딩될 때, 디스플레이가능한 픽처가 생성된다. 각각의 I, P, 또는 B에 대한 위첨자(superscript)는 이들이 인코딩된 비디오 비트스트림으로부터 순서대로 디코딩될 때의 일련의 픽처에 대한 노멀 디코딩 순서를 나타낸다. 각각의 I, P, 또는 B에 대한 아래첨자는 노멀 재생 모드 동안 각각의 인코딩된 픽처로부터 디코딩되는 픽처들의 디스플레이 순서(즉, 노멀 디스플레이 순서)를 나타낸다. 따라서, 예를 들어, 픽처(P4 1)는 I0 0 이후에 디코딩된 첫 번째 픽처이고, 픽처가 I0 0 으로부터 구성된 후에 디스플레이된 네 번째 픽처를 생성하는데 사용된다.
전술한 바와 같이, 참조 픽처 세트는 현재 픽처 및 가능하게는 코딩된 비디오 시퀀스 내의 모든 후속 픽처를 디코딩 순서로 디코딩하는데 사용되는 하나 이상의 참조 픽처의 리스트를 특정한다. 따라서, 참조 픽처 세트에서 지정된 픽처는 현재 픽처 및 후속 픽처를 디코딩하는데 사용하기 위해 버퍼링된다. 도 4의 도시된 예에서, 노멀 전방 재생에서 첫 번째 20개의 픽처에 대한 참조 픽처 세트의 콘텐츠는 다음과 같다. 간락화를 위해, "참조 픽처 세트의 현재 부분"이라고 하는 대응하는 현재 픽처를 디코딩하는데 사용되는 참조 픽처에서의 엔트리만 아래에서 설명한다. 각각의 P 또는 B 픽처는, P 또는 B 픽처에 대한 픽처간 예측을 위해 참조 픽처로서 사용되는, 다른 픽처(I, P, 또는 B 픽처)에 대한 참조를 이용하여 디코딩된다.
- 픽처(I0 0)의 경우, I0 0은 I 픽처이고 따라서 어떠한 픽처간 예측 참조도 사용하지 않기 때문에, 참조 픽처 세트의 현재 부분에 어떠한 픽처도 존재하지 않는다.
- 픽처(P4 1)의 경우, 참조 픽처 세트의 현재 부분은 {I0 0}을 포함한다.
- 픽처(B2 2)의 경우, 참조 픽처 세트의 현재 부분은 {I0 0, P4 1}을 포함한다.
- 픽처(B1 3)의 경우, 참조 픽처 세트의 현재 부분은 {I0 0, B2 2}를 포함한다.
- 픽처(B3 4)의 경우, 참조 픽처 세트의 현재 부분은 {I0 0, P4 1, B2 2}를 포함한다.
- 픽처(P8 5)의 경우, 참조 픽처 세트의 현재 부분은 {I0 0, P4 1}을 포함한다.
- 픽처(B6 6)의 경우, 참조 픽처 세트의 현재 부분은 {P4 1, P8 5}을 포함한다.
- 픽처(B5 7)의 경우, 참조 픽처 세트의 현재 부분은 {P4 1, B6 6}을 포함한다.
- 픽처(B7 8)의 경우, 참조 픽처 세트의 현재 부분은 {P4 1, P8 5, B6 6}을 포함한다.
- 픽처(P12 9)의 경우, 참조 픽처 세트의 현재 부분은 {I0 0, P8 5}을 포함한다.
- 픽처(B10 10)의 경우, 참조 픽처 세트의 현재 부분은 {P8 5, P12 9}을 포함한다.
- 픽처(B9 11)의 경우, 참조 픽처 세트의 현재 부분은 {P8 5, B10 10}을 포함한다.
- 픽처(B11 12)의 경우, 참조 픽처 세트의 현재 부분은 {P8 5, B10 10, P12 9}을 포함한다.
- 픽처(I16 13)의 경우, I16 13은 I 픽처이고 따라서 어떠한 픽처간 예측 참조도 사용하지 않기 때문에, 참조 픽처 세트의 현재 부분에 어떠한 픽처도 존재하지 않는다.
- 픽처(B14 14)의 경우, 참조 픽처 세트의 현재 부분은 {P12 9, I16 13}을 포함한다.
- 픽처(B13 15)의 경우, 참조 픽처 세트의 현재 부분은 {P12 9, B14 14}을 포함한다.
- 픽처(B15 16)의 경우, 참조 픽처 세트의 현재 부분은 {P12 9, I16 13, B14 14}을 포함한다.
- 픽처(P20 17)의 경우, 참조 픽처 세트의 현재 부분은 {I16 13}을 포함한다.
- 픽처(B18 18)의 경우, 참조 픽처 세트의 현재 부분은 {I16 13, P20 17}을 포함한다.
- 픽처(B17 19)의 경우, 참조 픽처 세트의 현재 부분은 {I16 13, B18 18}를 포함한다.
- 픽처(B19 20)의 경우, 참조 픽처 세트의 현재 부분은 {I16 13, P20 17, B18 18}를 포함한다.
트릭 플레이 동작이 호스트 처리 장치와 같은 비디오 플레이어 시스템에 의해 수행될 때, 현재 픽처와 연관된 참조 픽처들 중 일부는 버퍼링된 디코딩된 픽처로서 현재 쉽게 이용가능하지 않을 수 있는데, 이는 이들이 디코딩되지 않았거나, 이들이 이전에 디코딩되었지만 (예컨대, 버퍼링 용량 제한 때문에)더 이상 버퍼링되지 않거나 하기 때문일 수 있다. 따라서, 한 구현예에서, 특정한 인코딩된 픽처를 디코딩하기 위해 인코딩된 비트스트림에서 특정되는 일부 참조 픽처의 일부 재전송 및 재디코딩을 회피하는 것이 바람직하다. 예를 들어, 디코더가 그래픽 처리기에게 인코딩된 픽처(B1 3)를 디코딩하도록 지시하면, 노멀 재생 디코딩 프로세스는 B1 3에 대한 현재의 참조 픽처에서 지정된 참조 픽처(I0 0 , B2 2)를 사용하여 픽처(B1 3)를 디코딩한다. 또한, B2 2는 P4 1에 의존하기 때문에, P4 1은 B2 2가 디코딩될 수 있도록 디코딩될 것이다. 반면에, 트릭 플레이 모드 동안, B2 2에 대한 참조 픽처는 더 이상 버퍼링되지 않을 수 있으며, 따라서 디코더는 B2 2의 디코딩을 건너뛰고 P4 1에 대해 B1 3의 참조 픽처 세트 내의 B2 2의 참조 위치를 대체하도록 선택할 수 있다. 도 4는 참조 픽처(B2 2)(점선 화살표(402)로 표시)를 P4 1로 대체(실선 화살표(44)로 표시)하는 것을 도시하고 있다. 즉,
- 픽처(B1 3)에 대해, 참조 픽처 세트가 {I0 0, P4 1}를 포함하고, B2 2에 대한 참조를 생략하도록 수정된다.
B7 8에 대한 액세스가 지시되면, 완벽한 재구성은 B7 8에 대한 참조 픽처 내의 픽처를 첫 번째로 디코딩하는 것을 포함할 것이다. 따라서, I0 0, 그 다음에 P4 1, 그 다음에 P8 5, 그 다음에 B6 6, 그리고 그 다음에 B7 8이 디코딩되어 B7 8의 완벽한 재구성을 달성할 것이다. 트릭 플레이 모드 동안에, 호스트 플레이어는, 예컨대 B7 8에 액세스할 때 B6 6을 P4 1이나 P8 5로 대체하거나 또는 참조들을 P4 1에 대해 P8 5 및 B6 6 모두로 대체함으로써, 이들 픽처 중 일부의 디코딩을 건너뛰도록 선정될 수 있다.
트릭 플레이 상황에 대해 적용될 수 있는 다른 방법은 다른 픽처를 원하는 타겟 픽처로 단순히 대체하는 것이다. 예를 들어, 플레이어가 빨리 감기 동작을 수행하고 있고 디코딩할 이상적인 타겟 픽처가 B15 16 픽처이면, 디코더는 대신에 그래픽 프로세서가 대체 픽처(I16 13)를 디코딩하고 디스플레이하도록 지시할 수 있다. 픽처(I16 13 )는 독립형 픽처이며, 따라서 이 예에서는 어떠한 추가적인 참조 픽처도 디코딩될 필요가 없을 것이다. 따라서, 디스플레이될 타겟 픽처를 적절히 대체하는 것이 시간을 절감할 수 있는 기법이 될 수 있다.
최초 타겟 픽처 대신에 대안적인 픽처로 대체하는 것의 조합이 구현될 수도 있다. 따라서, 액세스할 이상적인 타겟 픽처가 픽처(B13 15)이면, 호스트 처리기는 픽처(B13 15) 대신에 픽처(P12 9)로 대체할 수 있다. 또한, 호스트 처리기는 P12 9를 디코딩하기 위해 참조 픽처로서 사용된 픽처 세트를 변경함으로써(예컨대, P8 5의 디코딩을 건너뛰고 대신에 P8 5에 대한 참조 대신에 P4 1에 대한 참조를 대체함으로써) 대안적인 타겟 픽처의 디코딩을 단순화할 수 있다. 이 간략화는 타겟 픽처에 대한 참조 픽처 등 디코딩하는데 사용된 참조 픽처에 대해 반복적으로 구현될 수 있다.
위 예들은 대체된 데이터가 어떻게 트릭 플레이 빨리감기 동작 동안 이용될 수 있는지를 예시한다. 다른 트릭 플레이 모드가 또한 이용될 수 있다. 예를 들어, 랜덤 액세스 탐색 동안에, 호스트 처리 시스템은 사용자에 의해 무작위로 선택된 비디오 비트스트림 내의 위치로 이동할 수 있다. 이것은 흔히 결과적으로 비디오 비트스트림 내의 랜덤 지점에 플레이어를 배치하게 될 것이다. 그 결과, 재생이 시작될 때 정확한 픽처 묘사를 가능하게 하기 위한 데이터가 불충분하게 버퍼링될 수 있다. 따라서, 모든 데이터가 디코딩될 수 있을 때까지 재생을 지연시키기보다, 호스트 처리 시스템은 나중에 디코딩될 픽처 대신에 이미 디코딩된(또는 첫 번째로 디코딩될) 일부 픽처를 대체할 수 있다. 이것은, 디스플레이된 픽처가 노멀 디코딩 프로세스가 타겟 픽처에 대해 수반되면 디스플레이되는 픽처와 정확히 동일하지 않은 경우에도, 픽처가 보다 빨리 디코딩되어 디스플레이될 수 있게 할 것이다. 재생이 계속됨에 따라, 호스트 처리 시스템은 수정이 더 이상 이용되지 않도록 따라잡을 수 있다.
역재생(reverse play) 및 되감기의 트릭 플레이 동작은 전술한 빨리 감기 플레이와 유사하게 구현될 수 있다. 호스트 프로세서는 픽처가 역재생되도록 선택할 수 있지만, 선택된 역재생 픽처에 대한 참조 픽처는 즉시(또는 빨리) 이용가능하지 않을 수 있다. 역재생 디코딩에 대한 메모리 용량 요건은 특히 어려울 수 있으며 일부 픽처를 디코딩한 후에 메모리로부터 이들을 폐기하는 것을 포함할 수 있다. 따라서, 호스트 프로세서는 그래픽 처리기 보다 빠르게 픽처를 생성할 수 있게 하기 위해 참조 픽처 세트 내의 픽처를 대체할 수 있다. 그 후 생성된 픽처는 역재생 또는 빨리 감기를 위해 일련의 픽처의 일부로서 비디오 디스플레이 상에서 디스플리될 수 있다.
유사한 프로세스가 에러 은닉(error concealment)에 이용될 수도 있다. 픽처에 대한 데이터가 손실되거나 손상된 것으로 판정되면, 다른 픽처가 그 픽처에 대한 대체물로서 디스플레이될 수 있고, 그 픽처를 픽처간 예측에 대한 참조 픽처로서 사용하는 다른 픽처 세트에 대한 참조 픽처 세트가 이 대체를 설명하기 위해 적절히 수정될 수 있다. 따라서, 노멀 재생 동작 동안에도, 손실되거나 손상된 픽처 대신에 수정된 픽처를 제공하기 위해 수정된 참조 픽처 세트가 사용될 수 있다.
도 5는 픽처 버퍼링 파라미터의 수정된 세트를 이용하여 픽처를 디코딩하는 예시적인 동작을 도시한 것이다. 수신 동작(502)은 인코딩된 비디오 비트스트림을 획득한다. 인코딩된 비디오 비트스트림은 외부 네트워크로부터의 다운로드 동작의 일부로서 직접 획득될 수도 있고 그 밖의 다른 몇몇 방법으로 획득될 수 있다. 예를 들어, 인코딩된 비디오 비트스트림은 비디오 플레이어와 연관된 컴퓨터 메모리로부터 수신될 수 있다.
추출 동작(504)은 인코딩된 비디오 비트스트림으로부터 제1 픽처 버퍼링 파라미트 세트를 추출한다. 트릭 플레이 모드가 호출될 때, 제1 픽처 버퍼링 파라미터 세트는 보다 효율적인 트릭 플레이 동작을 용이하게 하도록 수정될 수 있다. 수정 동작(506)은 제1 픽처 버퍼링 파라미터 세트를 인코딩된 픽처를 디코딩하기 위한 제2 픽처 버퍼링 파라미터 세트로 수정한다. 제2 픽처 버퍼링 파라미터 세트는 현재 픽처와 연관된 인코딩된 비디오 비트스트림으로부터 획득될 수 있는 픽처 버퍼링 파라미터와 일치하지 않는다(예컨대 매칭되지 않는다).
전송 동작(508)은 제2 픽처 버퍼링 파라미터 세트를 그래픽 처리기로 전송한다. 디코딩 동작(510)은 그래픽 처리기를 통해 제2 픽처 버퍼링 파라미터 세트를 사용하여 현재 픽처를 디코딩한다. 디스플레이 동작(512)은 제2 픽처 버퍼링 파라미터 세트를 이용하여 그래픽 처리기에 의한 현재 픽처의 디코딩으로 인한 픽처를 디스플레이한다.
도 6은 본 명세서에 기술된 기법을 구현하는데 유용할 수 있는 예시적인 시스템을 도시한 것이다. 전술한 기술을 구현하기 위한 예시적인 하드웨어 및 운영 환경은 게이밍 콘솔 또는 컴퓨터(20) 형태의 범용 컴퓨팅 장치, 모바일 전화기, PDA(personal data assistant), 셋탑박스 또는 다른 유형의 컴퓨팅 장치와 같은 컴퓨팅 장치를 포함한다. 도 6의 구현예에서, 예를 들어, 컴퓨터(20)는 처리 유닛(21), 시스템 메모리(22), 및 시스템 메모리를 포함한 다양한 시스템 컴포넌트를 처리 유닛(21)에 연결하는 시스템 버스(23)를 포함할 수 있다. 하나의 처리 유닛만 있을 수도 있고 한 개보다 많은 처리 유닛이 있을 수도 있으며, 따라서, 컴퓨터20)의 프로세서는 단일 중앙 처리 장치(CPU) 또는 일반적으로 병렬 처리 환경이라고 하는 복수의 처리 유닛(예컨대, 그래픽 프로세서)를 포함한다. 컴퓨터(20)는 종래의 컴퓨터, 분산 컴퓨터, 또는 임의의 다른 유형의 컴퓨터일 수 있으며, 구현예들은 이에 제한되지 않는다. 구체적으로, 그래픽 처리기는 하나 이상의 호스트 처리기의 부담을 줄이는 방식으로 참조 픽처 세트를 이용하여 비디오 픽처에 대한 디코딩 프로세스의 전부 또는 일부를 수행하는 임의의 구조적 구성요소를 포함할 수 있다.
시스템 버스(23)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 스위치 패브릭(switched fabric) 구조와 점 대 점(point-to-point) 연결, 및 다양한 버스 아키텍처 중 어느 하나를 이용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조들 중 임의의 버스 구조일 수 있다. 시스템 메모리(23)는 단순히 메모리라고도 하며, 판독 전용 메모리(ROM)(24) 및 RAM(25)을 포함한다. 예컨대 시동(start-up) 중에 컴퓨터(20) 내의 구성 요소들 사이에서 정보 전달을 돕는 기본 루틴을 포함하는 기본 입력/출력 시스템(26)(BIOS)은 ROM(24)에 저장된다. 컴퓨터(20)는 하드 디스크에 대한 판독 및 기록을 위한 하드 디스크 드라이브(27), 착탈식 자기 디스크(29)에 대한 판독 또는 기록을 위한 자기 디스크 드라이브(28), 및 CD ROM, DVD 또는 기타 광학 매체와 같은 착탈식 광 디스크(31)에 대한 판독 또는 기록을 위한 광학 디스크 드라이브를 더 포함한다.
하드 디스크 드라이브(27), 자기 디스크 드라이브(28), 및 광학 디스크 드라이브(30)는 제각기 하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33), 및 광학 디스크 드라이브 인터페이스(34)에 의해 시스템 버스(23)에 연결된다. 드라이브 및 이들의 관련 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(20)를 위한 기타 데이터를 비휘발성으로 저장한다. 당업자는 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, RAM, ROM 등과 같이 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 임의의 유형의 컴퓨터 판독가능 매체가 예시적인 운영 환경에 사용될 수 있다는 것을 알 수 있을 것이다.
운영 체제(35), 하나 이상의 애플리케이션 프로그램(36), 기타 프로그램 모듈(37) 및 프로그램 데이터(38)를 비롯한 다수의 프로그램 모듈이 하드 디스크, 자기 디스크(29), 광학 디스크(31), ROM(24) 또는 RAM(25)에 저장될 수 있다. 사용자는 키보드(40) 및 포인팅 장치(42)와 같은 입력 장치를 통해 커맨드 및 정보를 개인용 컴퓨터(20)에 입력할 수 있다. 다른 입력 장치(도시되어 있지 않음)는 (예컨대, 음성 입력을 위한)마이크, 카메라(예컨대, NUI(natural user interface)용), 조이스틱, 게임 패드, 위성 접시, 스캐너, 터치 패드(예컨대, 제스처나 터치 입력용) 등을 포함할 수 있다. 이들 및 다른 입력 장치는 흔히 시스템 버스에 연결되어 있는 직렬 포트 인터페이스(46)를 통해 처리 유닛(21)에 연결되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은 다른 인터페이스에 의해 연결될 수도 있다. 모니타(47) 또는 다른 유형의 디스플레이 장치가 또한 비디오 어댑터(48)와 같은 인터페이스를 통해 시스템 버스(23)에 연결된다. 모니터 외에도, 컴퓨터는 통상적으로 스피커 및 프린터와 같은 다른 주변 출력 장치(도시되어 있지 않음)를 포함한다.
컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 원격 컴퓨터에 대한 논리 접속을 이용하여 네트워킹된 환경에서 동작할 수 있다. 이들 논리 접속은 컴퓨터(20) 또는 그 일부에 결합된 통신 장치에 의해 이루어지며, 구현예들은 통신 장치의 특정한 유형에 한정되지 않는다. 원격 컴퓨터(49)는 다른 컴퓨터, 서버, 라우터, 네트워크 PC, 클라이언트, 피어 장치 또는 기타 공통 네트워크 노드일 수 있으며, 도 6에는 메모리 저장 장치(50)만 도시되어 있지만, 통상적으로 컴퓨터(20)와 관련하여 전술한 요소들 전부 또는 대다수를 포함한다. 도 6에 도시된 논리 접속부는 LAN(51) 및 WAN(52)을 포함한다. 이들 네트워킹 환경은 사무실 네트워크, 기업향 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔히 볼 수 있는 모든 유형의 네트워크이다.
LAN 네트워킹 환경에서 사용될 경우, 컴퓨터(20)는 통신 장치의 한 유형인 네트워크 인터페이스 또는 어댑터(53)를 통해 로컬 네트워크(51)에 접속된다. WAN 네트워킹 환경에서 사용될 경우, 컴퓨터(20)는 통상적으로 모뎀(54), 네트워크 어댑터, 한 유형의 통신 장치 또는 WAN(52)을 통해 통신을 확립하는 다른 유형의 통신 수단을 포함한다. 모뎀(54)은 내부 또는 외부에 있을 수 있으며, 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 연결된다. 네트워킹된 환경에서, 개인용 컴퓨터(20)에 대해 도시된 프로그램 엔진 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속은 예시적인 것이며 컴퓨터들 사이에 통신 링크를 확립하는 다른 수단 및 통신 장치가 사용될 수도 있음을 알 수 있을 것이다.
일실시예에서, 비디오 플레이어, 디코더, 데이터 전송 모듈, 픽처 버퍼링 파라미터, 인코딩된 픽처, 참조 픽처, 디스플레이가능 픽처, 및 기타 데이터를 제공하기 위한 소프트웨어 또는 펌웨어 명령어 및 데이터는 메모리(22) 및/또는 저장 장치(29 또는 31)에 저장될 수 있고 처리 유닛(21)에 의해 처리될 수 있다. 픽처 버퍼링 파라미터, 인코딩된 픽처, 참조 픽처, 디스플레이가능 픽처 및 기타 데이터는 메모리(22) 및/또는 영구 데이터 저장소인 저장 장치(29 또는 31)에 저장될 수 있다.
일부 실시예는 제품을 포함할 수 있다. 제품은 로직을 저장하는 유형의 저장 매체를 포함할 수 있다. 저장 매체의 예로는 휘발성 메모리 또는 비휘발성 메모리, 착탈식 또는 비착탈식 메모리, 소거가능 또는 소거불가능 메모리, 기록가능 또는 재기록가능 메모리 등을 비롯한, 전자 데이터를 저장할 수 있는 하나 이상의 유형의 컴퓨터 판독가능 저장 매체를 들 수 있다. 로직의 예로는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메소드, 프로시저, 소프트웨어 인터페이스, API(application program interface), DDI(device driver interface), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심볼, 또는 이들의 조합과 같은 다양한 소프트웨어 요소를 들 수 있다. 일실시예에서, 예를 들어, 제품은, 컴퓨터에 의해 실행되는 경우에 컴퓨터로 하여금 전술한 실시예에 따른 방법 및/또는 동작을 수행하게 하는 실행가능 컴퓨터 프로그램 명령어를 저장할 수 있다. 실행가능 컴퓨터 프로그램 명령어는 소스 코드, 컴파일 코드, 해석 코드, 실행가능 코드, 정적 코드, 동적 코드 등과 같은 임의의 유형의 코드를 포함할 수 있다. 실행가능 컴퓨터 프로그램 명령어는 컴퓨터가 소정의 기능을 수행하도록 명령하는 사전에 정의된 컴퓨터 언어, 방식 또는 신택스에 따라서 구현될 수 있다. 이들 명령어는 임의의 적절한 고수준, 저수준, 객체 지향, 비주얼, 컴파일 및/또는 해석 프로그래밍 언어를 이용하여 구현될 수 있다.
본 명세서에 기술된 구현예들은 하나 이상의 컴퓨터 시스템에서 논리적 단계들로서 구현된다. 논리적 동작은 (1) 하나 이상의 컴퓨터 시스템에서 실행되는 일련의 프로세서 구현 단계 및 (2) 하나 이상의 컴퓨터 시스템 내의 상호 연결된 긱 또는 회로 모듈로서 구현될 수 있다. 이들 구현예는 이용되는 컴퓨터 시스템의 성능 요건에 따른 선택의 문제이다. 따라서, 본 명세서에 기술된 구현예를 구성하는 논리적 동작은 동작, 단계, 객체, 또는 모듈로서 다양하게 지칭된다. 또한, 논리적 동작은, 명시하거나 청구항 용어에 의해 본질적으로 특정 순서가 요구되지 않는 한, 임의의 순서로 수행될 수 있다.
이상의 세부사항, 예들 및 데이터는 예시적인 구현예의 구조 및 사용에 대한 완전한 설명을 제공한다. 청구항의 발명의 사상 및 범주로부터 벗어나지 않고 많은 구현예들이 이루어질 수도 있기 때문에, 첨부한 청구범위의 청구항들이 본 발명을 정의한다. 또한, 다른 예들의 구조적 특징은 청구항들로부터 벗어나지 않고 또 다른 구현예에 결합될 수도 있다.

Claims (10)

  1. 방법에 있어서,
    인코딩된 비디오 비트스트림의 현재 픽처(picture)와 연관된 제1 픽처 버퍼링 파라미터 세트 - 상기 제1 픽처 버퍼링 파라미터 세트는 그래픽 처리기에 의해 상기 현재 픽처를 디코딩하는데 사용하기 위한 하나 이상의 참조 픽처로 이루어진 세트를 식별함 - 를 획득하는 단계와,
    상기 제1 픽처 버퍼링 파라미터 세트를, 상기 그래픽 처리기에 의해 상기 현재 픽처를 디코딩하는데 사용하기 위한 제2 픽처 버퍼링 파라미터 세트 - 상기 제2 픽처 버퍼링 파라미터 세트는 상기 제1 픽처 버퍼링 파라미터 세트와 상이한 하나 이상의 참조 픽처로 이루어진 세트를 식별함 - 로 수정(revise)하는 단계와,
    상기 현재 픽처를 디코딩하기 위해 상기 제2 픽처 버퍼링 파라미터 세트를 상기 그래픽 처리기로 전송하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 제1 픽처 버퍼링 파라미터 세트를 획득하는 단계는,
    디코더에서 상기 인코딩된 비디오 비트스트림을 수신하는 단계와,
    상기 인코딩된 비디오 비트스트림으로부터 상기 제1 픽처 버퍼링 파라미터 세트를 추출하는 단계를 포함하는 것인 방법.
  3. 제1항에 있어서, 상기 제1 픽처 버퍼링 파라미터 세트를 수정하는 단계는,
    전체 현재 픽처를 디코딩하는데 사용되는 것으로 표시된 제1 픽처 버퍼링 파라미터 세트를 상기 전체 현재 픽처를 디코딩하는데 사용되는 것으로 표시된 제2 픽처 버퍼링 파라미터 세트로 대체하는 단계를 포함하고, 상기 제2 픽처 버퍼링 파라미터 세트는 상기 제1 픽처 버퍼링 파라미터 세트와 비교하여 적어도 하나의 다른 참조 픽처를 참조하는 것인 방법.
  4. 제1항에 있어서,
    상기 제1 픽처 버퍼링 파라미터 세트 및 상기 제2 픽처 버퍼링 파라미터 세트 각각은 참조 픽처 세트를 포함하는 것인 방법.
  5. 제1항에 있어서,
    상기 제1 픽처 버퍼링 파라미터 세트 및 상기 제2 픽처 버퍼링 파라미터 세트 각각은 참조 픽처 세트 내의 적어도 하나의 엔트리를 참조하는 픽처 버퍼링 파라미터를 포함하고, 상기 적어도 하나의 엔트리는, 노멀(normal) 디스플레이 순서에서 상기 현재 픽처에 앞서며(precede) 상기 현재 픽처에 대한 디코딩 프로세스에서 단기(short-term) 참조 픽처로서 사용되는 픽처를 식별하는 것인 방법.
  6. 제1항에 있어서,
    상기 제1 픽처 버퍼링 파라미터 세트 및 상기 제2 픽처 버퍼링 파라미터 세트 각각은 참조 픽처 세트 내의 적어도 하나의 엔트리를 참조하는 픽처 버퍼링 파라미터를 포함하고, 상기 적어도 하나의 엔트리는, 노멀 디스플레이 순서에서 상기 현재 픽처에 뒤따르며(follow) 상기 현재 픽처에 대한 디코딩 프로세스에서 단기 참조 픽처로서 사용되는 픽처를 식별하는 것인 방법.
  7. 제1항에 있어서,
    상기 제1 픽처 버퍼링 파라미터 세트 및 상기 제2 픽처 버퍼링 파라미터 세트는 참조 픽처 세트 내의 적어도 하나의 엔트리를 참조하는 픽처 버퍼링 파라미터를 포함하고, 상기 적어도 하나의 엔트리는 상기 현재 픽처에 대한 디코딩 프로세스에서 장기(long-term) 참조 픽처로서 사용되는 픽처를 식별하는 것인 방법.
  8. 제1항에 있어서,
    상기 제2 픽처 버퍼링 파라미터 세트는, 상기 그래픽 처리기에 의해 상기 인코딩된 비디오 비트스트림으로부터 획득가능한 대응하는 픽처 버퍼링 파라미터 세트와 일치하지 않는 것인 방법.
  9. 컴퓨터 시스템에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 실행가능 명령어를 인코딩하는 하나 이상의 컴퓨터 판독가능 저장 매체에 있어서,
    상기 컴퓨터 프로세스는,
    인코딩된 비디오 비트스트림의 현재 픽처와 연관된 제1 픽처 버퍼링 파라미터 세트 - 상기 제1 픽처 버퍼링 파라미터 세트는 그래픽 처리기에 의해 상기 현재 픽처를 디코딩하는데 사용하기 위한 하나 이상의 참조 픽처로 이루어진 세트를 식별함 - 를 획득하는 단계와,
    상기 제1 픽처 버퍼링 파라미터 세트를, 상기 그래픽 처리기에 의해 상기 현재 픽처를 디코딩하는데 사용하기 위한 제2 픽처 버퍼링 파라미터 세트 - 상기 제2 픽처 버퍼링 파라미터 세트는 상기 제1 픽처 버퍼링 파라미터 세트와 상이한 하나 이상의 참조 픽처로 이루어진 세트를 식별함 - 로 수정하는 단계와,
    상기 현재 픽처를 디코딩하기 위해 상기 제2 픽처 버퍼링 파라미터 세트를 상기 그래픽 처리기로 전송하는 단계
    를 포함하는 것인 컴퓨터 판독가능 저장 매체.
  10. 시스템에 있어서,
    인코딩된 비디오 비트스트림의 현재 픽처와 연관된 제1 픽처 버퍼링 파라미터 세트 - 상기 제1 픽처 버퍼링 파라미터 세트는 그래픽 처리기에 의해 상기 현재 픽처를 디코딩하는데 사용하기 위한 하나 이상의 참조 픽처로 이루어진 세트를 식별함 - 를 획득하고, 상기 제1 픽처 버퍼링 파라미터 세트를, 상기 그래픽 처리기에 의해 상기 현재 픽처를 디코딩하는데 사용하기 위한 제2 픽처 버퍼링 파라미터 세트 - 상기 제2 픽처 버퍼링 파라미터 세트는 상기 제1 픽처 버퍼링 파라미터 세트와 상이한 하나 이상의 참조 픽처로 이루어진 세트를 식별함 - 로 수정하는 디코더와,
    상기 현재 픽처를 디코딩하기 위해 상기 제2 픽처 버퍼링 파라미터 세트를 상기 그래픽 처리기로 전송하는 데이터 전송 모듈
    을 포함하는 시스템.
KR1020167000884A 2013-06-24 2013-09-18 그래픽 처리기를 이용한 비디오 디코딩에 대한 픽처 참조 제어 KR102163440B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/925,477 2013-06-24
US13/925,477 US9565454B2 (en) 2013-06-24 2013-06-24 Picture referencing control for video decoding using a graphics processor
PCT/US2013/060236 WO2014209414A1 (en) 2013-06-24 2013-09-18 Picture referencing control for video decoding using a graphics processor

Publications (2)

Publication Number Publication Date
KR20160023777A true KR20160023777A (ko) 2016-03-03
KR102163440B1 KR102163440B1 (ko) 2020-10-08

Family

ID=49356489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000884A KR102163440B1 (ko) 2013-06-24 2013-09-18 그래픽 처리기를 이용한 비디오 디코딩에 대한 픽처 참조 제어

Country Status (6)

Country Link
US (1) US9565454B2 (ko)
EP (1) EP3014885A1 (ko)
JP (1) JP2016525297A (ko)
KR (1) KR102163440B1 (ko)
CN (1) CN105379281B (ko)
WO (1) WO2014209414A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432928B2 (en) * 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
CN109639926A (zh) * 2018-12-27 2019-04-16 Tcl移动通信科技(宁波)有限公司 移动终端蓝牙图像传输处理方法、移动终端及存储介质
CN110012295B (zh) * 2019-05-07 2021-05-25 杭州当虹科技股份有限公司 一种avs2解码器参考图像管理的容错方法
CN112463335A (zh) * 2020-12-03 2021-03-09 Oppo广东移动通信有限公司 一种应用程序运行方法、装置和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006075635A1 (ja) * 2005-01-17 2006-07-20 Matsushita Electric Industrial Co., Ltd. 画像復号化方法
WO2013043892A2 (en) * 2011-09-23 2013-03-28 Qualcomm Incorporated Reference picture list construction for video coding

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801710B1 (en) 2000-11-16 2004-10-05 Genesis Microchip Inc. Methods and apparatus for smooth reverse playback of MPEG encoded media
JP2005080073A (ja) 2003-09-02 2005-03-24 Alpine Electronics Inc 画像再生装置および画像データの逆方向再生方法
CN101686364B (zh) 2004-04-28 2013-03-13 松下电器产业株式会社 流产生装置,流产生方法,编码装置,编码方法,记录介质及其程序
JP4483773B2 (ja) * 2005-12-01 2010-06-16 パナソニック株式会社 食器洗い乾燥機
US9627006B2 (en) * 2007-08-07 2017-04-18 Samsung Electronics Co., Ltd. Content information display method and apparatus
EP2192780A1 (en) 2008-11-28 2010-06-02 Thomson Licensing Method for video decoding supported by Graphics Processing Unit
US8363721B2 (en) * 2009-03-26 2013-01-29 Cisco Technology, Inc. Reference picture prediction for video coding
US8340510B2 (en) * 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
US9525884B2 (en) 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
US20120230423A1 (en) 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding
GB2488830B (en) 2011-03-10 2015-07-29 Canon Kk Method and device for encoding image data and method and device for decoding image data
US9247266B2 (en) 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
BR112014010193B1 (pt) * 2011-10-28 2022-09-20 Samsung Electronics Co., Ltd Método para previsão inter, método para compensação de movimento, aparelho para previsão inter, aparelho para compensação de movimento, e mídia de gravação legível por computador
US8693793B2 (en) * 2012-01-19 2014-04-08 Sharp Laboratories Of America, Inc. Reducing reference picture set signal overhead on an electronic device
EP2635025B1 (en) 2012-02-29 2015-04-08 Advanced Digital Broadcast S.A. Video processing method and video appliance implementing the method
US9532046B2 (en) * 2012-04-16 2016-12-27 Qualcomm Incorporated Reference picture set prediction for video coding
WO2014069920A1 (en) * 2012-11-01 2014-05-08 Samsung Electronics Co., Ltd. Recording medium, reproducing device for providing service based on data of recording medium, and method thereof
US9179144B2 (en) * 2012-11-28 2015-11-03 Cisco Technology, Inc. Fast switching hybrid video decoder
US9516330B2 (en) * 2013-02-06 2016-12-06 Broadcom Corporation Virtual field buffer based decoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006075635A1 (ja) * 2005-01-17 2006-07-20 Matsushita Electric Industrial Co., Ltd. 画像復号化方法
WO2013043892A2 (en) * 2011-09-23 2013-03-28 Qualcomm Incorporated Reference picture list construction for video coding

Also Published As

Publication number Publication date
US20140376641A1 (en) 2014-12-25
US9565454B2 (en) 2017-02-07
JP2016525297A (ja) 2016-08-22
CN105379281A (zh) 2016-03-02
CN105379281B (zh) 2020-06-19
KR102163440B1 (ko) 2020-10-08
EP3014885A1 (en) 2016-05-04
WO2014209414A1 (en) 2014-12-31

Similar Documents

Publication Publication Date Title
US11418809B2 (en) Signaling of state information for a decoded picture buffer and reference picture lists
US11997313B2 (en) Dependent random access point pictures
US10602156B2 (en) Devices and methods for identifying a leading picture
EP2642764B1 (en) Transcoding a video stream to facilitate accurate display
US11336965B2 (en) Method and apparatus for processing video bitstream, network device, and readable storage medium
US11356739B2 (en) Video playback method, terminal apparatus, and storage medium
US20130272619A1 (en) Devices for identifying a leading picture
US10419769B2 (en) Image processing apparatus, image processing method, and non-transitory computer readable storage medium
US10070174B2 (en) Movie package file format to persist HLS onto disk
JP5170708B2 (ja) 動画像ストリーム加工方法及び装置、それを用いた動画像再生装置並びに動画像配信装置
CN105379281B (zh) 用于使用图形处理器的视频解码的图片参考控制
US8300701B2 (en) Offspeed playback in a video editing system of video data compressed using long groups of pictures
WO2020184672A1 (ja) 画像復号装置、画像復号方法、画像符号化装置、および画像符号化方法
US20230067994A1 (en) Encoding and decoding video data
JP2015065528A (ja) 画像編集装置、画像編集方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right