KR101122898B1 - 비디오 스트림 내의 유효 진입점 시그널링 - Google Patents

비디오 스트림 내의 유효 진입점 시그널링 Download PDF

Info

Publication number
KR101122898B1
KR101122898B1 KR1020040092527A KR20040092527A KR101122898B1 KR 101122898 B1 KR101122898 B1 KR 101122898B1 KR 1020040092527 A KR1020040092527 A KR 1020040092527A KR 20040092527 A KR20040092527 A KR 20040092527A KR 101122898 B1 KR101122898 B1 KR 101122898B1
Authority
KR
South Korea
Prior art keywords
frame
field
interlaced
entry point
bitstream
Prior art date
Application number
KR1020040092527A
Other languages
English (en)
Other versions
KR20050046623A (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 KR20050046623A publication Critical patent/KR20050046623A/ko
Application granted granted Critical
Publication of KR101122898B1 publication Critical patent/KR101122898B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement

Abstract

디지털 비디오의 코딩/디코딩 특히, 비디오 스트림 내의 진입점을 결정, 시그널링 및 검출하기 위한 기술 및 툴을 개시한다. 여기에 개시된 기술 및 툴은 수신기, 편집 시스템, 삽입 시스템 및 다른 시스템이 압축된 비디오 내의 유효 진입점을 검출하는 데 사용할 수 있는 비트스트림 내의 진입점 표시자 정보를 내장하는 데 사용된다.
디지털 비디오, 비디오 스트림, 진입점, 시그널링, 코딩, 디코딩, 압축

Description

비디오 스트림 내의 유효 진입점 시그널링{SGNALING VALID ENTRY POINTS IN A VIDEO STREAM}
도 1은 몇몇 설명된 실시예들이 구현될 수 있는 적합한 컴퓨팅 환경의 블록도.
도 2는 몇몇 설명된 실시예에서 사용되는 일반화된 비디오 인코더 시스템의 블록도.
도 3은 몇몇 설명된 실시예에서 사용된 일반화된 비디오 디코더 시스템의 블록도.
도 4는 비트스트림 내의 진입점을 결정 및 표시하기 위한 기술을 나타내는 흐름도.
도 5는 진입점 표시자를 갖는 압축된 비디오 비트스트림을 처리하기 위한 기술을 나타하는 흐름도.
도 6는 프로그레시브 I 프레임 전에 진입점을 시그널링하기 위한 비트스트림 신택스를 나타내는 다이어그램.
도 7은 I/P 프레임 전에 진입점을 시그널링하기 위한 비트스트림 신택스를 나타내는 다이어그램.
도 8은 P/I 프레임 전에 진입점을 시그널링하기 위한 비트스트림 신택스를 나타내는 다이어그램.
도 9는 I/I 프레임 전에 진입점을 시그널링하기 위한 비트스트림 신택스를 나타내는 다이어그램.
도 10은 인터레이스 I 프레임 전에 진입점을 시그널링하기 위한 비트스트림 신택스를 나타내는 다이어그램.
<도면의 주요 부분에 대한 부호의 설명>
205 : 현재 프레임
210 : 모션 측정기
220 : 프레임 저장
225 : 참조 프레임(들)
230 : 모션 보정기
245 : 잔류
260 : 주파수 변환기
266 : 역 주파수 변환기
270 : 양자화기
276 : 역 양자화기
280 : 엔트로피 코더
290 : 버퍼
295 : 압축된 비디오 정보
<관련 출원 정보>
본 출원은 여기에 참조로써 통합된 2003년 11월 13일자 미국 가특허출원 제60/520,543호의 우선권을 주장한다.
<저작권 인증>
본 특허 문서의 개시부는 저작권 보호가 필요한 자료를 포함한다. 본 저작권자는, 본 특허 문서 또는 특허 공개가 PTO(Patent and Trademark Office) 특허 파일 또는 기록에 나타나므로, 이것이 누군가에 의해 복사 재생되는 것에는 이의를 제기하지 않지만, 그렇지 않은 모든 경우에 대해 저작권을 보유한다.
<기술 분야>
디지털 비디오를 코딩/디코딩하기 위한 기술 및 툴이 개시된다. 예를 들어, 비디오 인코더는 비디오 스트림 내의 유효 진입점을 정의 및 시그널링하기 위해 개시된 기술 및 툴을 사용한다.
디지털 비디오는 대량의 저장 및 전송 용량을 소비한다. 일반적인 미가공의(raw) 디지털 비디오 시퀀스는 초당 15 또는 30개의 프레임을 포함한다. 각각의 프레임은 수천수만의 픽셀(펠이라고도 불림)을 포함할 수 있다. 각각의 픽셀은 그림의 매우 작은 요소를 나타낸다. 미가공의 형식으로, 컴퓨터는 흔히 픽셀을 총 24 비트인 3개의 샘플들의 집합으로서 나타낸다. 따라서, 일반적인 미가공의 디지털 비디오 시퀀스의 초당 또는 비트율당 비트수는 5백만 비트/초 이상일 수 있다.
다수의 컴퓨터 및 컴퓨터 네트워크는 미가공의 디지털 비디오를 처리할 자원이 부족하다. 이러한 이유 때문에, 엔지니어들은 디지털 비디오의 비트율을 감소시키기 위하여 압축(코딩 또는 인코딩이라고도 불림)을 사용한다. 압축은 비디오를 보다 낮은 비트율 형식로 전환함으로써 그 비디오를 저장 및 전송하는 비용을 감소시킨다. 압축해제(디코딩이라고도 불림)는 압축 형식으로부터 본래 비디오 버전을 재구성한다. "코덱"은 인코더/디코더 시스템이다. 압축은 비손실적일 수 있고, 이때 비디오 품질은 손상되지 않지만 비트율 감소는 비디오 데이타의 고유 양의 변화도(때때로 엔트로피라고 불림)에 의해 제한된다. 또는, 압축은 손실적일 수 있고, 이때 비디오 품질은 손상되지만 달성가능한 비트율 감소는 더욱 현저하다. 손실적인 압축은 정보의 근사(approximation)를 수립하고 비손실적 압축 기술은 그 근사를 나타내는 데 적용되는 시스템 설계에서, 손실적인 압축은 종종 비손실적인 압축과 함께 사용된다.
일반적으로, 비디오 압축 기술은 "인트라-픽처" 압축 및 "인터-픽처" 압축을 포함하며, 여기서 픽처는 예를 들어 프로그레시브로 스캐닝된 비디오 프레임이다. 프로그레시브 비디오 프레임에 대하여, 인트라-프레임 압축 기술은 개별 프레임(일반적으로 I-프레임 또는 키 프레임이라고 불림)을 압축한다. 인터-프레임 압축 기술은 선행하는/선행하거나 후속하는 프레임{일반적으로 참조 또는 앵커(anchor) 프레임이라고 불림)을 참조하여 프레임{일반적으로 예측된 프레임, P-프레임 또는 양지향성(bi-directional) 예측을 위한 B-프레임이라고 불림}들을 압축한다.
Ⅰ. 인터레이스(interlace) 비디오 및 프로그레시브 비디오
일반적인 인터레이스 비디오 프레임은 상이한 시각에 출발하여 스캐닝된 2개의 필드로 구성된다. 예를 들어, 인터레이스 비디오 프레임은 상단 필드와 하단 필드를 포함한다. 일반적으로, 짝수 라인(상단 필드)은 한 시각(예를 들어, 시각 t)에 출발하여 스캐닝되고, 홀수 라인(하단 필드)은 다른(일반적으로 나중에) 시각(예를 들어, 시각 t+1)에 시작하여 스캐닝된다. 이 타이밍은, 2개의 필드가 상이한 시각에 시작하여 스캐닝되기 때문에 모션(motion)이 존재하는 인터레이스 비디오 프레임의 영역에 고르지 않은 치아와 같은 특성을 생성할 수 있다. 이러한 이유 때문에, 인터레이스 비디오 프레임은 필드 구조에 따른 코딩을 위해 재배열될 수 있어, 홀수 라인은 하나의 필드로서 코딩하기 위해 함께 그룹핑되고 짝수 라인은 다른 필드로서 코딩하기 위해 함께 그룹핑된다. 필드 코딩으로 알려진 이 배열은 하이-모션 그림에서 그러한 고르지 않은 에지 아티팩트(edge artifact)를 감소시키는 데 유용하다. 상이한 필드-코딩된 인터레이스 프레임들 내의 필드들은 상이하게 코딩될 수 있다. 예를 들어, 필드-코딩된 인터레이스 프레임 내의 필드는 인트라-코딩(예를 들어, 인터레이스 I-필드) 또는 인터-코딩(예를 들어, 인터레이스 P-필드 또는 인터레이스 B-필드)될 수 있다.
한편, 정지 영역에서, 인터레이스 비디오 프레임의 이미지 상세는 그러한 코딩 재배열없이 보다 효과적으로 보존될 수 있다. 따라서, 프레임 코딩은 종종 정지 또는 로우-모션 인터레이스 비디오 프레임에서 사용되며, 본래의 변하는 필드 라인 배열은 보존된다. 상이한 프레임-코딩된 인터레이스 프레임들도 상이하게 코딩될 수 있다. 예를 들면, 그러한 프레임들은 인트라-코딩(예를 들어, 인터레이스 I-프레임) 또는 인터-코딩(예를 들어, 인터레이스 P-프레임 또는 인터레이스 B-프레임)될 수 있다.
일반적인 프로그레시브 비디오 프레임은 변하지 않는 라인을 갖는 하나의 컨텐츠 프레임으로 구성된다. 인터레이스 비디오와 대조적으로, 프로그레시브 비디오는 비디오 프레임을 세부 필드들로 나누지 않고, 전체 프레임은 단일 시각에 시작하여 왼쪽에서 오른쪽으로, 위에서 아래로 스캐닝된다. 프로그레시브 프레임은 인트라-코딩(예를 들어, 프로그레시브 I-프레임) 또는 인터-코딩(예를 들어, 프로그레시브 P-프레임 또는 프로그레시브 B-프레임)될 수 있다.
Ⅱ. 비디오 압축 및 압축해제에 대한 표준
몇몇 국제 표준은 비디오 압축 및 압축해제에 관한 것이다. 이 표준은 국제 전기 통신 연합(ITU; International Telecommunication Union)으로부터 MPEC(Motion Picture Experts Group) 1, 2 및 4 표준 및 H.261, H.262(MPEG 2의 다른 이름), H.263 및 H.264(JVT/AVC라고도 불림) 표준을 포함한다. 이 표준들은 비디오 디코더의 양태와 압축된 비디오 정보의 포맷을 지정한다. 직접적으로 또는 내재적으로, 이 표준들은 특정 인코더 상세도 지정하지만, 다른 인코더 상세는 지정하지 않는다. 이 표준들은 인트라프레임과 인터프레임 압축해제 및 압축의 상이한 조합을 사용(또는 그 사용을 지원)한다. 특히, 그들은 디코더 및/또는 에디터에 대하여 상이한 "액세스 포인트(access points)"을 사용하거나 그 사용을 지원한다.
MPEG 2/H.262 표준은 인트라-코딩된 그림(예를 들어, 코딩된 I-프레임) 및 GOP(group-of-picture) 헤더를 설명한다. MPEG 2에서, 인트라-코딩된 그림은 다른 그림을 참조하지 않고 코딩되고, 코딩된 시퀀스에 디코딩이 시작될 수 있는 액세스 포인트를 제공한다. 인트라-코딩된 그림은 비디오 시퀀스 내의 상이한 곳에서 사용될 수 있다. 예를 들어, 인트라-코딩된 그림은 주기적으로 삽입될 수도 있고, 장면 변경과 같은 곳 또는 모션 보정이 효과가 없는 곳에서 사용될 수도 있다. 코딩된 I-프레임은 I-프레임 그림 또는 한쌍의 필드 그림이고, 한쌍의 필드 그림에서, 제1 필드 그림은 I-픽처이며, 제2 필드 그림은 I-픽처 또는 P-픽처이다. MPEG 2 표준은 제1 필드 그림이 P-픽처이고 제2 필드 그림이 I-픽처인 코딩된 I-프레임을 허용하지 않는다.
GOP 헤더는 GOP의 시작을 시그널링하는 MPEG 2 비트스트림 내의 구성이다. GOP는 일반적으로 모두 동일한 I-프레임을 참조하여 인코딩된 비디오 프레임/필드 집합의 경계를 시그널링하는 데 사용된다. GOP 헤더는 코딩된 I-프레임 바로 전에 시그널링되어, 비트 스트림에서 코딩된 I-프레임에 바로 후속하는(그러나, 일반적으로 코딩된 I-프레임을 디스플레이 순서로 선행함) 임의의 제1 연속적인 B-픽처가 랜덤 액세스의 경우에 적합하게 재구성될 수 있는 지를 나타낼 수 있는 선택적인 헤더이다. 그러한 B-픽처에 대하여, 현재 코딩된 I-프레임 전의 참조 그림이 사용가능하지 않다면, B-프레임은 현재 코딩된 I-프레임 또는 인트라 코딩으로부터의 역 예측을 사용하지 않으면 적합하게 재구성될 수 없다. 디코더는 올바르게 디코딩될 수 없는 B-픽처를 디스플레이하는 것을 회피하는 데 이 정보를 사용한다. 따라서, 디코더를 위해, GOP 헤더가 비디오 시퀀스 한가운데에 있어도, GOP 헤더는 디코더가 GOP 헤더로부터 디코딩을 수행할 수 있는 방법을 나타낸다. GOP 헤더는 group_start_code라고 불리는 시작 코드를 포함한다. GOP 헤더 시작 코드는 GOP 헤더 시작 코드 값(6진법의 B8)에 의해 후속되는 24-비트 시작 코드 프리픽스(prefix)(1에 의해 후속되는 23개의 0들)를 포함한다. MPEG 2 내의 시작 코드는 바이트-정렬된다. 바이트 정렬을 보장하기 위해 0들은 시작 코드 프리픽스의 시작 전에 삽입된다. 추가적인 정보에 대하여는, H.262 표준을 참고한다.
MPEG 4 표준은 인트라-코딩된 비디오 객체 플레인(I-VOP) 및 비디오 객체 플레인(VOP) 그룹 헤더를 설명한다. I-VOP는 단지 자기자신으로부터의 정보를 사용하여 코딩된 VOP이다. 논-인트라-코딩된 VOP는 프로그레시브 프레임 또는 인터레이스 프레임으로부터 유도될 수 있다. MPEG 4에서, I-VOP는 다른 그림을 참조하지 않고 코딩되고, 그 코딩된 시퀀스에게 디코딩이 시작될 수 있는 액세스 포인트를 제공한다. VOP 그룹 헤더는 코딩된 I-VOP 바로 전에 사용되어, 코딩된 I-프레임에 바로 후속하는 제1 연속적인 B-VOP가 랜덤 액세스의 경우에 적합하게 재구성될 수 있는 지를 나타낼 수 있는 선택적인 헤더이다. VOP 그룹 헤더는 코딩된 I-VOP에 의해 후속되어야 한다. VOP 그룹 시작 코드는 VOP 그룹 시작 코드 값(6진법의 B3)에 의해 후속되는 24-비트 시작 코드 프리픽스(1에 의해 후속되는 23개의 0들)를 포함한다. MPEG 4 내의 시작 코드는 바이트-정렬되고, 그 표준은 바이트 정렬을 달성하기 위해 비트-채우기를 제공한다. 예를 들어, 1에서 8의 비트를 채우기 위하여는, 이전 코드가 시작 코드가 아닌 한, 1에서 7개의 1에 의해 후속되는 0이 시작 코드 전에 삽입된다. 추가적인 정보에 대하여는 MPEG 4 표준을 참고한다.
JVT/AVC 비디오 표준의 드래프트 JVT-d157에 따르면, I-픽처는 코딩된 시퀀스에게 디코딩이 시작될 수 있는 액세스 포인트를 제공하고, 디코딩에 사용된 다양한 정보는 네트워크 추상 계층(NAL) 유닛에서 시그널링된다. NAL 유닛은 NAL 유닛에서, 에뮬레이션 방지 데이타로 산재된 데이타 자체에 의해 후속되는 어떤 데이타 타입을 예상하는 지를 나타낸다. SEI(supplemental enhancement information) NAL 유닛은 NAL 유닛 타입이다. SEI NAL 유닛은 하나 이상의 SEI 메시지를 포함한다. 각각의 SEI 메시지는 SEI 헤더와 SEI 페이로드(payload)로 구성된다. SEI 페이로드의 타입 및 크기는 확장가능한 신택스(syntax)를 사용하여 코딩된다. SEI 페이로드는 SEI 페이로드 헤더를 가질 수 있다. 예를 들어, 페이로드 헤더는 특정 데이타가 어느 그림에 속하는 지를 나타낼 수 있다.
드래프트 JVT-d157의 부록 C는 HRD(hypothetical reference decoder) 버퍼를 다루기 위한 규칙을 설립한다. 예를 들어, 각각의 디코더 리프레시 지점에서, 버퍼링 기간 SEI 메시지는 디코더 리프레시 전에 최종 그림의 최종 NAL 유닛을 후속하고, 디코더 리프레시 후에 제1 그림의 제1 NAL 유닛에 선행한다. HRD 그림 SEI 메시지는 각각의 그림의 최종 NAL 유닛을 후속해야 하고, 다음 그림의 제1 NAL 유닛에 선행하여야 한다. 이 SEI 메시지 각각은 그것을 후속하는 그림에 속한다.
드래프트 JVT-d157의 부록 D는 랜덤 액세스 포인트 SEI 메시지에 대한 신택스를 설명한다. 랜덤 액세스 포인트 SEI 메시지는 디코더를 위한 랜덤 액세스 진입점의 표시자를 포함한다. 진입점은 현재 그림의 프레임 번호 이전에 코딩된 프레임 번호의 유닛 내의 SEI 메시지의 위치와 관련된 계수로서 나타난다. 부록 D는 버퍼링 기간 SEI 메시지는 HRD 버퍼 모델의 초기화를 설립하기 위하여, 랜덤 액세스 포인트 SEI 메시지에서 나타나는 랜덤 액세스 진입점의 위치에서 전송되어야 한다고 제시한다.
이 국제 표준은 몇몇 중요한 방법으로 제한된다. 예를 들어, MPEG 2에서, GOP 헤더 후의 제1 코딩된 프레임은 "코딩된 I-프레임"(이것은 인트라-코딩된 프레임 그림 또는 한쌍의 필드 그림이고, 한쌍의 필드 그림에서, 제1 필드 그림은 I-픽처이고 제2 필드 그림은 I-픽처 또는 P-픽처임)이어야 한다. GOP 헤더는 임의의 다른 프레임 타입에 선행하는 것이 허용되지 않는다. MPEG 4에서, VOP 그룹 헤더는 코딩된 I-VOP에 의해 후속되어야 한다.
디지털 비디오에 비디오 압축 및 압축해제의 중요성을 부여할 때, 비디오 압축 및 압축해제가 매우 발달된 분야라는 것은 놀라운 사실이 아니다. 그러나, 이전 비디오 압축 및 압축해제 기술의 장점이 무엇이든 간에, 그것은 다음 기술 및 툴의 장점을 가지고 있지 않다.
요약하면, 상세한 설명은 디지털 비디오의 코딩/디코딩을 위한 다양한 기술 및 툴에 관한 것이다. 특히, 기술된 실시예들은 비디오 스트림 내의 진입점을 결정 및 시그널링하기 위한 기술 및 툴을 포함한다.
비디오 압축은 일반적으로, 비디오 컨텐츠를 효과적으로 압축하기 위하여 비디오 필드들 또는 비디오 프레임들 간의 일시적인 상호관련성에 의존한다. 결과적으로, 비디오 필드/프레임의 압축은 이 필드 및 프레임들 간의 일시적 의존성을 도 입한다. 여기에서 설명되는 기술 및 툴은 수신기, 편집 시스템 또는 삽입 시스템이 압축된 비디오 내의 유효한 진입점을 검출하는 데 사용할 수 있는 비트스트림 내의 진입점 표시자 정보를 내장하는 데 사용된다. 내장된 정보는 예를 들어, "트릭" 모드(예를 들어, 빨리 감기, 빨리 되돌리기 등)의 구현에서, 비디오 디코더가 하나의 진입점 또는 키 프레임에서 다른 진입점 또는 키 프레임으로 점프하는 것을 허용함으로써 사용될 수 있다. 다양한 기술 및 툴이 조합으로 또는 독립적으로 사용될 수 있다.
추가적인 특징 및 장점은 첨부 도면을 참조하여 진행되는 상이한 실시예의 다음의 상세한 설명으로부터 명백해질 것이다.
본 출원은 압축된 비디오 내의 유효한 진입점을 결정 및 시그널링하기 위한 기술 및 툴에 관한 것이다. 이 문맥에서, "결정"은 예를 들어, 비디오 프레임이 일단 압축되면 비트스트림 내의 유효한 진입점인 지의 여부를 검출하는 것, 또는 규칙 또는 정책이 압축 시에 유효한 진입점의 생산을 보장하도록 실행하는 것을 의미할 수 있다. 비트스트림 포맷 또는 신택스는 기술을 통합하는 플래그 및 다른 코드를 포함한다. 비트스트림 포맷은 상이한 계층 또는 레벨(예를 들면, 시퀀스 레벨, 프레임/그림/이미지 레벨, 매크로블록 레벨 및/또는 블록 레벨)을 포함한다.
설명된 기술 및 툴은 비디오 프레임 또는 비디오 필드가 비트스트림 내의 유효한 진입점이 되는 조건을 도입한다. 이 조건은 비디오 인코더가 (예를 들면, "트릭" 모드를 활성화하기 위해) 비트스트림 내의 진입점을 생산하도록 비디오 시퀀 스의 인코딩동안 실행하는 정책을 나타낸다. 이 정책은 상이한 위치에서 비트스트림 내의 진입점을 생산할 수 있다. 예를 들어, 정책은 비디오 요약 및 스플라이싱(splicing)과 같은 활동을 각각 용이하게 하기 위하여, 장면이 변경될 때 제공되거나 광고가 삽입되는 곳을 나타내는 진입점을 가리킬 수 있다. 비트스트림 내의 진입점의 삽입을 조절하는 정책도 설계되어, 진입점이 (예를 들어, 서비스에 맞추는 것에 대한 지연을 최소화하기 위하여) 규칙적인 간격 및 특정 시각 간격으로 제공되도록 할 수 있다. 설명된 기술 및 툴은 진입점이 기본 스트림에서 모호하지 않게 시그널링될 수 있는 메카니즘과도 관련된다. 이것은 진입 헤더에 의해 후속되는 특수 시작 코드에 의해 달성될 수 있다.
다양한 기술 및 툴이 조합으로 또는 독립적으로 사용될 수 있다. 상이한 실시예들은 설명된 기술 및 툴 중 하나 이상을 구현한다.
Ⅰ. 컴퓨팅 환경
도 1은 설명된 몇몇 실시예가 구현될 수 있는 적합한 컴퓨팅 환경(100)의 일반화된 예를 도시한다. 기술 및 툴이 여러가지 범용 또는 특수-목적의 컴퓨팅 환경에서 구현될 수 있기 때문에, 컴퓨팅 환경(100)은 사용 또는 기능의 범위에 대하여 어떤 제한도 제시하지 않는다.
도 1을 참조하면, 컴퓨팅 환경(100)은 적어도 하나의 프로세싱 유닛(110)과 메모리(120)를 포함한다. 도 1에서, 가장 기본적인 이 구성(130)은 점선 내에 포함된다. 프로세싱 유닛(110)은 컴퓨터-실행가능한 명령을 실행하고 실제 또는 가상의 프로세서일 수 있다. 멀티-프로세싱 시스템에서는, 다수의 프로세싱 유닛이 컴퓨터-실행가능한 명령을 실행하여 프로세싱 전력을 증가시킨다. 메모리(120)는 휘발성 메모리(예를 들어, 레지스터, 캐시, RAM), 비휘발성 메모리(예를 들어, ROM, EEPROM, 플래시 메모리 등) 또는 이 둘의 조합일 수 있다. 메모리(120)는 비디오 인코더 또는 디코더를 진입점 프로세싱으로 구현하는 소프트웨어(180)를 저장한다.
컴퓨팅 환경은 추가적인 특징을 가질 수 있다. 예를 들면, 컴퓨팅 환경(100)은 저장소(140), 하나 이상의 입력 장치(150), 하나 이상의 출력 장치(160) 및 하나 이상의 통신 접속(170)을 포함한다. 버스, 컨트롤러 또는 네트워크와 같은 상호접속 메카니즘(도시되지 않음)은 컴퓨팅 환경(100)의 컴포넌트에 상호접속한다. 일반적으로, 오퍼레이팅 시스템 소프트웨어(도시되지 않음)는 컴퓨팅 환경(100)에서 실행하는 다른 소프트웨어를 위한 오퍼레이팅 환경을 제공하고, 컴퓨팅 환경(100)의 컴포넌트의 활동을 조정한다.
저장소(140)는 분리형 또는 비분리형일 수 있으며, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD 또는 정보를 저장하는 데 사용될 수 있고 컴퓨팅 환경(100) 내에서 액세스될 수 있는 임의의 다른 매체를 포함한다. 저장소(140)는 비디오 인코더 또는 디코더를 구현하는 소프트웨어(180)에 대한 명령을 저장한다.
입력 장치(들)(150)는 키보드, 마우스, 펜 또는 트랙볼과 같은 터치 입력 장치, 음성 입력 장치, 스캐닝 장치 또는 컴퓨팅 환경(100)에 입력을 제공하는 다른 장치일 수 있다. 오디오 또는 비디오 인코딩을 위하여, 입력 장치(들)(150)는 사운드 카드, 비디오 카드, TV 튜너 카드 또는 오디오나 비디오 입력을 아날로그 또 는 디지털 형식으로 수용하는 유사 장치일 수도 있고, 오디오 또는 비디오 샘플을 컴퓨팅 환경(100) 내로 판독하는 CD-ROM 또는 CD-RW일 수도 있다. 출력 장치(들)(160)는 디스플레이, 프린터, 스피커, CD-라이터 또는 컴퓨팅 환경(100)으로부터의 출력을 제공하는 다른 장치일 수 있다.
통신 접속(들)(170)은 다른 컴퓨팅 개체와의 통신 매체 상의 통신을 가능하게 한다. 통신 매체는 컴퓨터-실행가능한 명령, 오디오 또는 비디오 입력 또는 출력, 또는 변조된 데이타 시그널 내의 다른 데이타와 같은 정보를 전달한다. 변조된 데이타 시그널은 시그널 내의 정보를 인코딩하는 방식으로 설정 또는 변경되는 특징 중 하나 이상을 갖는 시그널이다. 예를 들어, 통신 매체는 전기, 광, RF, 적외선, 초음파 또는 다른 반송파로 구현된 유선 또는 무선 기술을 포함하지만 이것으로 제한되는 것은 아니다.
기술 및 툴은 컴퓨터-판독가능한 매체의 일반적인 문맥에서 설명될 수 있다. 컴퓨터-판독가능한 매체는 컴퓨팅 환경 내에서 액세스될 수 있는 임의의 사용가능한 매체이다. 예를 들면, 컴퓨팅 환경(100) 내에서, 컴퓨터-판독가능한 매체는 메모리(120), 저장소(140), 통신 매체 및 상기한 것들 중 임의의 조합을 포함한다.
기술 및 툴은 타겟의 실제 또는 가상 프로세서 상의 컴퓨팅 환경에서 실행되는 프로그램 모듈에 포함된 명령과 같은 컴퓨터-실행가능한 명령의 일반적인 문맥에서 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이타 타입을 구현하는 루틴, 프로그램, 라이브러리, 오브젝트, 클래스, 컴포넌트, 데이타 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시예에 서 요구되는 대로 프로그램 모듈 사이에서 결합되거나 분리될 수 있다. 프로그램 모듈에 대한 컴퓨터-실행가능한 명령은 로컬 또는 분산 컴퓨팅 환경 내에서 실행될 수 있다.
명시하기 위하여, 상세한 설명은 "결정", "실행" 및 "제공"과 같은 용어를 사용하여 컴퓨팅 환경 내의 컴퓨터 동작을 설명한다. 이 용어는 컴퓨터에 의해 수행되는 동작에 대한 고레벨 추상적 개념이고, 인간에 의해 수행되는 동작과 혼돈해서는 안된다. 이 용어와 대응하는 실제 컴퓨터 동작은 구현에 따라 다양하다.
Ⅱ. 일반화된 비디오 인코더 및 디코더
도 2는 일반화된 비디오 인코더(200)의 블록도이고, 도 3은 일반화된 비디오 디코더(300)의 블록도이다.
인코더 및 디코더 내의 모듈들 사이에 도시되는 관계는 인코더 및 디코더 내의 정보의 주 흐름을 나타낸다. 다른 관계는 간소성을 위해 도시되지 않는다. 특히, 도 2 및 3은 일반적으로 비디오 시퀀스, 프레임, 매크로블록, 블록 등에 사용되는 인코더 설정, 모드, 테이블 등을 나타내는 보조 정보를 도시하지 않는다. 그러한 보조 정보는 일반적으로 보조 정보의 엔트로피 인코딩 후에 출력 비트스트림에서 송신된다. 출력 비트스트림의 포맷은 윈도우 미디어 비디오 포맷 또는 다른 포맷일 수 있다.
인코더(200) 및 디코더(300)는 블록-기반이고, 4:2:0 매크로블록 포맷을 사용한다. 대안적으로, 인코더(200) 및 디코더(300)는 객체-기반일 수도 있고, 상이한 매크로블록 또는 블록 포맷을 사용할 수도 있다.
구현 및 요구되는 압축의 타입에 따라, 인코더 또는 디코더의 모듈이 추가, 생략, 다수의 모듈로 분리, 다른 모듈과 결합 및/또는 유사 모듈로 대체될 수 있다. 대안적인 실시예에서, 상이한 모듈 및/또는 다른 구성의 모듈을 갖는 인코더 또는 디코더는 설명된 기술들 중 하나 이상을 수행한다.
Α. 비디오 인코더
도 2는 일반적인 비디오 인코더 시스템(200)의 블록도이다. 인코더 시스템(200)은 현재 프레임(205)을 포함하는 비디오 프레임의 시퀀스를 수신하고, 압축된 비디오 정보(295)를 출력으로서 생산한다. 비디오 인코더의 특정 실시예는 일반적으로 일반화된 인코더(200)의 변이 또는 보충된 버전을 사용한다.
인코더 시스템(200)은 예측된 프레임 및 키 프레임을 압축한다. 명시를 위해, 도 2는 인코더 시스템(200)을 통한 키 프레임의 경로, 및 예측된 프레임의 경로를 도시한다. 인코더 시스템(200)의 다수의 컴포넌트는 키 프레임과 예측된 프레임 모두를 압축하는 데 사용된다. 이 컴포넌트에 의해 수행되는 정확한 동작은 압축되는 정보의 타입에 따라 다양할 수 있다.
예측된 프레임(P-프레임, 양지향성 예측에 대하여는 B-프레임, 또는 인터-코딩된 프레임이라고도 불림)은 하나 이상의 참조(또는 앵커) 프레임으로부터의 예측(또는 차이) 관점에서 설명된다. 예측 잔류는 예측된 것과 본래 프레임 사이의 차이이다. 반대로, 키 프레임(I-프레임, 인트라-코딩된 프레임 이라고도 불림)은 다른 프레임을 참조하지 않고 압축된다. 인트라-코딩된 프레임은 프로그레시브 I-프레임, 인터레이스 I-프레임(프레임 인터레이스 모드) 및 I/I 프레임(필드 인터레이 스 모드)을 포함한다. 몇몇 다른 프레임도 다른 프레임을 참조하지 않고 압축될 수 있다. 예를 들어, IP-프레임과 P/I 프레임의 I/필드는 다른 프레임을 참조하지 않고 압축되며, 이하에 상세히 설명된다. 일부 경우에, I/P 프레임의 P-필드는 이하에서 설명되는 바와 같이 다른 프레임을 참조하지 않고 압축된다.
현재 프레임(205)이 장래-예측된 프레임인 경우, 모션 측정기(210)는 프레임 저장{예를 들어, 프레임 저장(220)}에 버퍼링된 재구성된 이전 프레임(225)인 참조 프레임에 대하여 매크로블록 또는 현재 프레임(205)의 다른 픽셀 집합의 모션을 측정한다. 현재 프레임(205)이 양지향적으로 예측된 프레임(B-프레임)이라면, 모션 측정기(210)는 2개의 재구성된 참조 프레임에 대하여 현재 프레임(205) 내의 모션을 측정한다. 일반적으로 모션 측정기는 일시적 이전 참조 프레임 및 일시적 미래의 참조 프레임에 대하여 B-프레임 내의 모션을 측정한다.
모션 측정기(210)는 모션 벡터와 같은 보조 정보 모션 정보(215)로서 출력한다. 모션 보정기(230)는 모션 정보(215)를 재구성된 프레임(들)(225)에 적용하여 모션 보정된 현재 프레임(235)을 형성한다. 그러나, 예측은 거의 완전하지 못하고, 모션-보정된 현재 프레임(235)과 본래 현재 프레임(205) 사이의 차이는 예측 잔류(245)이다. 대안적으로, 모션 측정기 및 모션 보정기는 다른 타입의 모션 측정/보정을 적용한다.
주파수 변환기(260)는 공간 도메인 비디오 정보를 주파수 도메인(즉, 공간) 데이타로 변환한다. 그리고 양자화기(270)가 스펙트럼 데이타 계수의 블록을 양자화한다. 양자화에 더하여, 인코더(200)는 프레임 드로핑(dropping), 적응 필터링 또는 레이트 제어를 위한 다른 기술을 사용할 수 있다.
재구성된 현재 프레임이 연속적인 모션 측정/보정에 필요할 때, 역 양자화기(276)는 양자화된 스펙트럼 데이타 계수 상에 역 양자화를 수행한다. 그러면, 역 주파수 변환기(266)는 주파수 변환기(260)의 동작의 역을 수행하여, (예측된 프레임에 대한) 재구성된 예측 잔류 또는 재구성된 키 프레임을 생산한다. 현재 프레임(205)이 키 프레임이었다면, 재구성된 키 프레임은 재구성된 현재 프레임(도시되지 않음)으로서 취해진다. 현재 프레임(205)이 예측된 프레임이었다면, 재구성된 예측 잔류는 모션-보정된 현재 프레임(235)에 추가되어 재구성된 현재 프레임을 형성한다. 프레임 저장{예를 들면, 프레임 저장(220)}은 다른 프레임을 예측하는 데 사용하기 위한 재구성된 현재 프레임을 버퍼링한다.
엔트로피 코더(280)는 양자화기(270)의 출력뿐만 아니라 특정 보조 정보{예를 들면, 모션 정보(215), 양자화 단계 크기}도 압축한다. 일반적인 엔트로피 코딩 기술은 연산 코딩, 차분 코딩, 허프만 코딩, 실행 길이 코딩, LZ 코딩, 딕셔너리 코딩 및 상기한 것들의 조합을 포함한다.
엔트로피 코더(280)는 압축된 비디오 정보(295)를 버퍼(290)에 입력한다. 버퍼 레벨 표시자는 비트 레이트 적응 모듈로 피드백된다. 압축된 비디오 정보(295)는 일정하거나 상대적으로 일정한 비트 레이트로 버퍼(290)로부터 소모되고, 그 비트 레이트로 연속적인 스트리밍을 위해 저장된다. 따라서, 버퍼(290)의 레벨은 주로, 엔트로피 코딩의 효율성에 영향을 주는 필터링되고 양자화되는 비디오 정보의 엔트로피의 기능이다. 대안적으로, 인코더 시스템(200)은 압축에 바로 후속 하는 압축된 비디오 정보를 스트리밍하고, 버퍼(290)의 레벨도 정보가 전송을 위해 버퍼(290)로부터 소모되는 레이트에 의존한다.
버퍼(290) 전 또는 후에, 압축된 비디오 정보(295)는 네트워크를 통한 전송을 위해 채널 코딩될 수 있다. 채널 코딩은 에러 검출 및 정정 데이타를 압축된 비디오 정보(295)에 적용할 수 있다.
Β. 비디오 디코더
도 3은 일반적인 비디오 디코더 시스템(300)의 블록도이다. 디코더 시스템(30)은 압축된 비디오 프레임의 시퀀스에 대한 정보(395)를 수신하고, 재구성된 프레임(305)을 포함한 출력을 생산한다. 비디오 디코더의 특정 실시예는 일반적으로 일반화된 디코더(300)의 변이 또는 보충된 버전을 사용한다.
디코더 시스템(300)은 예측된 프레임 및 키 프레임을 압축해제한다. 명시를 위하여, 도 3은 디코더 시스템(300)을 통한 키 프레임의 경로, 및 예측된 프레임의 경로를 도시한다. 디코더 시스템(300)의 컴포넌트들 중 다수는 키 프레임과 예측된 프레임 모두를 압축해제하는 데 사용된다. 이 컴포넌트들에 의해 수행되는 정확한 동작은 압축해제되는 정보의 타입에 따라 다양할 수 있다.
버퍼(390)는 압축된 비디오 시퀀스에 대한 정보(395)를 수신하고, 수신된 정보가 엔트로피 디코더(380)에 사용가능하게 한다. 버퍼(390)는 일반적으로 시간 상 완전히 일정한 레이트로 정보를 수신하고, 대역폭 또는 전송의 짧은 기간의 변이를 부드럽게 하기 위해 지터(jitter) 버퍼를 포함한다. 버퍼(390)는 재생 버퍼 및 다른 버퍼도 포함할 수 있다. 대안적으로, 버퍼(390)는 변하는 레이트로 정보 를 수신한다. 버퍼(390) 전 또는 후에, 압축된 비디오 정보는 에러 검출 및 정정을 위해 채널 디코딩되고 처리될 수 있다.
엔트로피 디코더(380) 엔트로피는 일반적으로 인코더에서 수행된 엔트로피 코딩의 역을 적용하여 엔트로피-코딩된 양자화된 데이타뿐만 아니라 엔트로피-코딩된 보조 정보{예를 들면, 모션 정보(315), 양자화 단계 크기}도 디코딩한다.
모션 보정기(330)는 모션 정보(315)를 하나 이상의 참조 프레임(325)에 적용하여, 재구성되는 프레임(305)의 예측(335)을 형성한다. 예를 들어, 모션 보정기(330)는 매크로블록 모션 벡터를 사용하여 참조 프레임(325)에서 매크로블록을 검색한다. 프레임 버퍼{예를 들어, 프레임 버퍼(320)}는 참조 프레임으로서 사용하기 위한 이전의 재구성된 프레임을 저장한다. 일반적으로, B-프레임은 하나 이상의 프레임(예를 들어, 일시적 이전의 참조 프레임 및 일시적 미래의 참조 프레임)을 갖는다. 모션 보정기에 의한 예측은 거의 완벽하지 않으므로, 디코더(300)는 예측 잔류도 재구성한다.
디코더가 연속적인 모션 보정을 위해 재구성된 프레임을 필요로 할 때, 프레임 버퍼{예를 들어, 프레임 버퍼(320)}는 다른 프레임을 예측하는 데 사용하기 위해 재구성된 프레임을 버퍼링한다.
역 양자화기(370) 역은 엔트로피-디코딩된 데이타를 양자화한다. 역 주파수 변환기(360)는 양자화된 주파수 도메인 데이타를 공간 도메인 비디오 정보로 변환한다.
Ⅲ. 유효한 진입점 결정 및 시그널링
비트스트림 내의 유효한 진입점은 시스템{예를 들어, 수신기, 비디오 스플라이서(splicer), 광고 삽입 툴, 비디오 편집기, 요약화 엔진 등}이 비트스트림 내의 임의의 선행하는 정보(비트)를 필요로하지 않고 비트스트림을 디코딩 또는 처리할 수 있는 기본 비트스트림 내의 위치이다. 선행하는 프레임을 참조하지 않고 디코딩될 수 있는 프레임은 일반적으로 "키(key)" 프레임으로 불린다.
진입점은 진입점 표시자에 의해 비트스트림에서 시그널링된다. 진입점 표시자의 목적은 디코딩을 시작하거나 다시 시작하는 비트스트림 내의 특정 위치(예를 들면, 진입점 표시자에 바로 후속하는 비디오 프레임을 디코딩하기 위해 과거 디코딩된 비디오 필드 또는 프레임에 대한 의존성이 없는 곳)의 존재를 시그널링하는 것이다. 진입점 표시자는 비트스트림에 규칙적이거나 불규칙적인 간격으로 삽입될 수 있다. 따라서, 인코더는 비트스트림 내의 진입점 표시자의 삽입을 조절하는 상이한 정책을 채용할 수 있다.
도 4는 비트스트림 내의 진입점을 결정 및 표시하기 위한 기술(400)을 도시하는 흐름도이다. 410에서, 진입점은 진입점 정책에 기초하여 비트스트림에서 결정된다. 그 후, 420에서, 진입점 표시자는 인코딩된 비트스트림 내에 포함된다. 도 5는 진입점 표시자를 갖는 압축된 비디오 비트스트림을 (예를 들어, 비디오 디코더에서) 처리하기 위한 기술(500)을 도시하는 흐름도이다. 510에서, 하나 이상의 진입점 표시자를 갖는 압축된 비디오가 (예를 들면, 비디오 디코더, 비디오 에디터, 스플라이서 등에 의해) 수신된다. 그 후, 520에서, 압축된 비디오는 하나 이상의 진입점 표시자에 적어도 부분적으로 기초하여 처리된다.
일례로, 진입점 표시자는 진입점 시작 코드 및 진입점 헤더를 포함할 수 있다.
몇몇 실시예에서, 진입점 시작 코드는 비트스트림 내의 진입점을 시그널링한다. 진입점 시작 코드는 비트스트림 내의 어디에서도 에뮬레이트 되지 않는 특수 32-비트 코드로 구성될 수 있다. 예를 들면, 진입점 시작 코드는 처음 3개의 바이트는 0x000001이고 마지막 바이트는 진입 시작 코드의 시작 코드를 식별하는 독특한 32비트의 시퀀스 형태를 취할 수 있다. 그러나, 기저가 되는 전송이 유사한 정보를 제공하는 데 충분한 시그널링을 포함한다면, 시작 코드의 보다 압축된 표현이 허용된다. 예를 들어, 진입점 시작 코드는 비디오 스트림 내의 다른 종류의 시작 코드로부터 그 진입점 시작 코드를 구별하기 충분한 약식 시작 코드(예를 들면, 한 바이트 또는 소수의 바이트)일 수 있다. 몇몇 구현예에서, 진입점 시작 코드는 비디오 프레임의 마지막 후, 다음 비디오 프레임의 시작 전에 위치된다.
진입점 시작 코드는 시퀀스 시작 코드, 프레임 시작 코드, 필드 시작 코드, 슬라이스 시작 코드 및 사용자 데이타 시작 코드와 같은 비트스트림 내의 기타 시작 코드와 함께 사용될 수 있다. 시작 코드의 각각의 타입은 32비트 필드일 수 있다. 다양한 타입의 시작 코드는 그 시작 코드를 시퀀스 시작 코드, 프레임 시작 코드, 필드 시작 코드, 슬라이스 시작 코드 및 사용자 데이타 시작 코드 등으로서 식별하는 상이한 마지막 바이트를 가질 수 있다.
시작 코드는 "0"-값 비트들 중 임의의 숫자에 의해 선행될 수 있고, 그들은 "1"-값 비트에 의해 선행될 수 있다. 이전 구조의 마지막과 시작 코드의 시작 사 이에 플러싱(flushing) 비트 시퀀스 "10...0"을 사용하는 목적은, 연속적인 시작 코드가 정수의 바이트에 의해 분리되는 것을 허용함으로써, 수신기에 의한 시작 코드의 파싱(parsing)을 용이하게 하는 것이다. 시작 코드 전, 마지막 '0'-값 플러싱 비트 후에는, 0x00-값 바이트들 중 임의의 숫자를 추가하는 것도 가능하다.
몇몇 구현예에서, 진입점 시작 코드는 진입점 헤더에 의해 바로 후속된다. 2개의 연속적인 비디오 프레임 사이에 이미 시퀀스 시작 코드와 시퀀스 헤더가 있는 비트스트림 내의 한 위치에 진입점 시작 코드와 진입점 헤더를 삽입할 필요가 있다면, 진입점 시작 코드와 진입점 헤더는 시퀀스 시작 코드와 시퀀스 헤더를 후속한다.
진입점 시작 코드와 진입점 헤더는 비트스트림 내에서 규칙적이거나 불규칙적인 간격으로 삽입될 수 있기 때문에, 인코더는 진입점 시작 코드 및 관련된 헤더의 삽입을 조절하는 상이한 정책을 채용할 수 있다.
Ⅳ. 예시
몇몇 구현예에서, 진입점 시작 코드 및 관련된 헤더는 비트스트림 내의 유효한 진입점을 시그널링한다. 다르게는, 진입점 시작 코드 및/또는 헤더는 (시간 순으로) 키 프레임 전, 진입점 시작 코드와 헤더 후에 디코딩된 비디오 필드 또는 프레임에 대한 의존성이 없는 비트스트림 내의 특수한 위치의 존재를 시그널링하여, 그 진입점 시작 코드와 헤더 후에 키 프레임에 (시간 순으로) 바로 후속하는 비디오 프레임(들)을 디코딩한다. 따라서, 진입점 키 프레임을 후속할 수 있는 프레임은 이하에 설명되는 특정 조건에서, 스스로가 진입점 프레임일 수 있는 프레임(예 를 들어, 프로그레시브 I-프레임, 프레임 인터레이스 I-프레임, 필드 인터레이스 I/I 프레임, 필드 인터레이스 I/P 프레임, 필드 인터레이스 P/I 프레임 등)과 예측된 프레임 둘다를 포함한다. 이것을 달성하기 위한 조건은 도 6 내지 10을 참조하여 이하의 설명에서 나열된다. 비디오 프레임 및/또는 필드는 그림의 타입에 따라 특정 조건을 만족시켜야 한다. 이 조건은 단지 예시일 뿐이다. 다른 조건이 사용될 수 있다.
이 조건은 진입점 후의 제1 프레임/필드의 타입에 의존한다. 이 예에서, 그림 코딩 타입이 프로그레시브나 프레임 인터레이스로 설정되면, 진입점 시작 코드 헤더를 후속하는 제1 프레임의 타입은 I이다. 그림 코딩 타입이 필드 인터레이스로 설정되면, 진입점 시작 코드와 헤더를 후속하는 처음 2개의 필드의 타입은 I/P(I와 P), P/I(P와 I) 또는 I/I(I와 I)이다.
도 6 내지 10은 특정 비트스트림 구성, 다음의 목록에서 나타나는 정의를 참조한다.
SEQ_SC: 시퀀스 시작 코드
SEQ_HDR: 시퀀스 헤더
ENTRY_SC: 진입점 시작 코드
ENTRY_HDR: 진입점 헤더
FRAME_CS: 프레임 시작 코드
FRAME_HDR:프레임 헤더
FIELD_SC: 필드 시작 코드
FIELD_HDR: 필드 헤더
UD_SC: 사용자 데이타 시작 코드
UD_BYT: 사용자 데이타 바이트
또한, 도 6 내지 10은 FCM 필드를 참조한다. FCM은 비디오 프레임에 사용된 그림 코딩의 타입을 나타내는 가변-크기의 필드이다. 값 "0"은 그림 코딩 타입이 "프로그레시브"라는 것을 나타낸다. 값 "10"은 프레임이 "필드 인터레이스"로서 인코딩된 것을 나타낸다. 필드 인터레이스 그림에서, 프레임은 2개의 별개의 비디오 프레임, 일반적으로 대략 15밀리초 떨어진 상단 프레임과 하단 프레임으로 구성된다. 값 "11"은 "프레임 인터레이스" 타입 그림을 나타낸다. 프레임 인터레이스 그림에서, 인터레이스 비디오 프레임은 필드 모드 또는 프레임 모드의 매크로블록으로 구성된다. 이것은 배경은 정적(그리고, 매크로블록 내의 인터레이스 라인으로서 프레임 모드로 코딩된 것)이지만 그림(메크로블록 내의 분리된 필드로서 필드 모드로 코딩된 것) 내의 축소된 영역에 다수의 전경 모드가 있는 상황에서 유용하다. FCM 값은 각각의 개별적인 도면의 타이틀과 상호 관련한다. 유효 진입점에 대한 조건은 그림이 인코딩된 방법(프로그레시브, 필드 인터레이스 또는 프레임 인터레이스)에 따라 상이하다. 프레임 및 필드에 대한 I, P 또는 B 타입은 프레임 및 필드에 대한 개별 헤더에서 시그널링될 수 있다. 예를 들어, 필드 인터레이스 모드 프레임에 있어서, 제1 필드에 대한 그림 타입은 제1 필드 데이타를 선행하는 프레임 또는 필드 헤더에서 시그널링되고, 제2 필드에 대한 그림 타입은 제2 필드 데이타를 선행하는필드 헤더에서 시그널링된다. 대안적으로, 프레임 헤더 내의 필 드는 한쌍의 필드 예를 들면, I/I, P/I 또는 I/P에 대한 필드 타입의 조합을 나타낸다.
다음의 다이어그램 및 논의는 참조 필드 및 프레임의 위치에 대한 특정 규칙을 통합한다. 일반적으로, 프로그레시브 P-프레임에 대한 참조 프레임은 그 프레임을 선행하는 제1 I- 또는 P-프레임이고, 프로그레시브 B-프레임에 대한 참조 프레임(들)은 그 프레임을 후속하는 제1 I- 또는 P-프레임을 더 포함할 수 있다. 유사한 규칙이 프레임 인터레이스 모드 P-프레임 및 B-프레임에 적용된다. 필드 인터레이스 프레임에 있어서, P-필드에 대한 참조 필드(들)는 예를 들어, 그 필드를 선행하는 제1 I- 또는 P-필드 중 하나 또는 둘다이다. B-필드에 대한 참조 필드(들)는 예를 들어, 2개의 일시적으로 선행하는 필드, 및 2개의 일시적으로 연속하는 필드이다.
A. 프로그레시브 모드의 I-프레임
도 6은 그림 코딩 타입(FCM 필드)이 이진 값 "0"(프로그레시브 모드)으로 설정될 때 진입점 시작 코드 및 헤더가 I-프레임 전에 나타날 수 있는 방법을 설명한다. 도 6은 진입점 시작 코드 전의 시퀀스 시작 코드와 시퀀스 헤더도 도시하지만, 이것이 요구사항은 아니다. 진입점 시작 코드는 항상 그러한 구조에 의해 선행될 필요는 없다.
프레임은 인트라-코딩된 것이기 때문에, 이 I-프레임을 비트스트림 내의 유효 진입점으로 만드는 데 추가적인 조건은 필요하지 않다. 진입점은 진입점 시작 코드 및 헤더를 후속하는 I-프레임에 적용된다. 그것은 비트스트림 내의 그 I-프 레임을 후속하고 표시 시각이 그 I-프레임의 표시 시각보다 이른 B-프레임 데이타 또는 B-필드 데이타에 적용되지 않는다.
B. 필드 인터레이스 모드의 I/P-프레임
도 7은 그림 코딩 타입(FCM 필드)이 이진 값 "10"(필드 인터레이스 모드)으로 설정될 때 진입점 시작 코드 및 헤더가 I/P-프레임 전에 나타날 수 있는 방법을 설명한다. 도 7은 진입점 시작 코드 전의 시퀀스 시작 코드 및 시퀀스 헤더는 도시하지 않지만, 그러한 구조가 진입점 시작 코드를 선행하는 경우일 수 있다.
프레임은 P-필드에 의해 후속되는 I-필드로 구성되기 때문에, 이 I/P 프레임을 비트스트림 내의 유효 진입점으로 만들기 위해 다음의 조건이 만족되어야 한다.
?진입 I/P-프레임의 P-필드의 필드 헤더 내의 "numref" 필드의 값은 이진 값 "0"이어야 한다.
?진입 I/P-프레임의 P-필드의 필드 헤더 내의 "reffield" 필드의 값은 이진 값 "0"이어야 한다.
이 조건은 P-필드가 단지 I-필드로부터 예측될 수 있으므로, 진입점 이전의 프레임 또는 필드에 대한 의존성이 없음을 보장한다{다시 말하면, "numref"(참조 수) 필드는 P-필드에 대한 참조 필드의 수가 1(numref=0)임을 나타내고, "reffield"(참조 필드) 필드는 P-필드에 대한 하나의 참조 필드가 일시적으로 가장 가까운 필드인 I-필드(reffield=0)임을 나타냄}.
진입점은 진입점 시작 코드 및 헤더를 후속하는 I/P-프레임에 적용되지만, 그것은 비트프레임 내의 I/P-프레임을 후속하고 표시 시각이 그 I/P-프레임의 표시 시각보다 더 이른 임의의 B-프레임 데이타 또는 B-필드 데이타에 적용되지 않는다.
C. 필드 인터레이스 모드의 P/I 프레임
도 8은 그림 코드 타입(FCM 필드)이 이진 값 "10"(필드 인터레이스 모드)으로 설정될 때, 진입점 시작 코드 및 헤더가 P/I-프레임 전에 나타날 수 있는 방법을 설명한다. 도 8은 진입점 시작 코드 전의 시퀀스 시작 코드 및 시퀀스 헤더를 도시하지 않지만, 그러한 구조가 진입점 시작 코드를 선행하는 경우일 수 있다.
프레임은 I-필드에 의해 후속되는 P-필드로 구성되어 있기 때문에, 이 P/I-프레임을 비트스트림 내의 유효 진입점으로 만들기 위해 다음의 조건이 만족되어야 한다.
?P/I-프레임의 진입 I-필드를 후속하면서, 필드 인터레이스 모드의 P/P-프레임은 프로그레시브 또는 프레임 인터레이스 모드의 P-프레임의 임의의 발생 전에 비트스트림에 존재해야 한다.
?진입 P/I-프레임을 후속하는 제1 P-필드의 필드 헤더 내의 "numref" 필드의 값은 이진 값 "0"이어야 한다.
?진입 P/I-프레임을 후속하는 제1 P-필드의 필드 헤더 내의 "reffield" 필드의 값은 이진 값 "0"이어야 한다.
?비트스트림 내의 진입 P/I-프레임을 후속하고 표시 시각이 그 진입 P/I-프레임의 표시 시각보다 늦는 임의의 B-프레임은 P/I-프레임에 의존하는 것으로 인코딩되지 않아야 한다.
?비트스트림 내의 진입 P/I-프레임을 후속하고 표시 시각이 그 P/I-프레임 의 표시 시각보다 늦는 B/B-프레임의 제1(일시적인 순서로) B-필드는 진입 P/I-프레임의 P-필드에 의존하는 것으로 인코딩되지 않아야 한다.
이 조건들은 비트스트림 내의 다음 P/P-프레임과 B/B-프레임이 그것에 바로 선행하는 P-필드가 아니라, 진입 I-필드로부터 예측될 수 있다는 것을 보장한다. P/I-프레임으로부터 예측된 P-프레임이 있다면, 여기에 유효 진입점을 갖는 것은 이것이 진입 P/I-프레임의 P-필드에 대한 의존성을 생성하기 때문에 불가능하다는 것도 유념해야 한다.
진입점은 진입점 시작 코드 및 헤더를 후속하는 I-필드에 적용되지만, 비트스트림 내의 I-필드를 후속하고 표시 시각이 그 I-필드의 표시 시각보다 이른 B-프레임 데이타에는 적용되지 않는다. 또한, 진입점은 진입점 시작 코드와 진입 P/I 프레임의 후속하는 I-필드 사이에 위치하는 P-필드 데이타에 적용되지 않는다.
D. 필드 인터레이스 모드의 I/I-프레임
도 9는 그림 코드 타입(FCM 필드)이 이진 값 "10"(필드 인터레이스 모드)으로 설정될 때 진입점 시작 코드 및 헤더가 I/I-프레임 전에 나타날 수 있는 방법을 설명한다. 도 9는 진입점 시작 코드 전의 시퀀스 시작 코드 및 시퀀스 헤더를 도시하지 않지만, 그러한 구조가 진입 시작 코드를 선행하는 경우일 수 있다.
I/I-프레임이 2개의 I-필드로 구성되어 있기 때문에, 이 프레임을 비트스트림 내의 유효 진입점으로 만들기 위해 추가적인 조건은 필요없다.
진입점은 진입점 시작 코드 및 헤더를 후속하는 I/I-프레임에 적용되지만, 비트스트림 내의 I/I-프레임을 후속하고 표시 시각이 그 I/I-프레임의 표시 시각보 다 이른 임의의 B-프레임 데이타 또는 B-필드 데이타에 적용되지 않는다.
E. 프레임 인터레이스 모드의 I-프레임
도 10은 그림 코딩 타입(FCM 필드)이 이진 값 "11"(프레임 인터레이스 모드)로 설정될 때 진입점 시작 코드 및 헤더가 I-프레임 전에 나타날 수 있는 방법을 설명한다. 도 10은 진입점 시작 코드 전의 시퀀스 시작 코드 및 시퀀스 헤더도 도시하지만, 진입 시작 코드가 항상 그러한 구조에 의해 선행된다는 것은 요구조건이 아니다.
프레임은 인트라-코딩된 것이기 때문에, 이 I-프레임을 비트스트림 내의 유효 진입점으로 만들기 위해 추가적인 조건은 필요하지 않다. 진입점은 진입점 시작 코드 및 헤더를 후속하는 I-프레임에 적용되지만, 비트스트림 내의 그 I-프레임을 후속하고 표시 시각이 그 I-프레임의 표시 시각보다 이른 임의의 B-프레임 데이타 또는 B-필드 데이타에 적용되지 않는다.
Ⅴ. 확장
상술된 다양한 대안과 함께 또는 그에 추가하여, 인코더 및 디코더는 다음과 같이 동작할 수 있다.
정책은 비트스트림 내의 한 지점이 유효 진입점 인지의 여부를 평가한다. 인코더는 장면 변경을 유효 진입점으로서 정의(따라서, 압축 엔진이 상술된 제약들 중 하나를 산출하는 것을 보장)하는 정책을 사용할 수 있다. 이 경우에, 화면 변경은 실시간으로 인코더와 인터페이스(통신)할 수 있는 장면 변경 검출기 컴포넌트에 의해 검출될 수 있다. 인코더는 추가적으로 특정 시간 간격으로 I-프레임 또는 I-필드를 생성하기 위한 정책을 사용할 수 있다.
인코더는 또한 그것이 생산하는 압축된 비디오의 타입 및 속성을 모니터할 수 있고, 상기에 진술한 I-, I/P-, P/I- 및 I/I-프레임에 대한 예에서 상술된 조건과 같은 조건들 중 하나를 검증하는 비트스트림 내의 지점을 검출할 수 있다. 그러한 이벤트 검출에 따라, 인코더는 진입점 시작 코드 및 진입점 헤더를 최종 비트스트림에 삽입할 수 있다.
빨리감기 또는 빨리되감기와 같은 모드에서, 비디오 디코더는 진입점 시작 코드를 검색함으로써 진입점 프레임을 검색하고 렌더링 할 수 있다.
진입점은 어플리케이션에 의해, 비디오 시퀀스의 요약된 버전(썸네일; thumbnail)을 압축된 비트스트림으로부터 직접 생산하고 디스플레이하는 데 사용될 수 있다. 그러한 어플리케이션은 비디오 편집 어플리케이션 또는 디지털 텔레비젼 전자 프로그램 가이드일 수 있다.
비디오 스플라이싱을 수행하기 위하여, 비디오 스플라이서는 스플라이싱이 적합한 장면 변경을 찾기 위해 진입점을 검색할 수 있다.
진입점 헤더는 버퍼 상태에 대한 특정 정보를 포함할 수 있다. 이 정보는 버퍼 언더플로우 또는 오버플로우를 피하는 것이 성취되는 데 필요한 버퍼 상태를 나타낸다. 버퍼 상태 정보는 진입 헤더 내의 한 필드에 저장된다. 예를 들어, 버퍼 채움 요구사항 정보를 진입 헤더에 놓는 것은, 디코더가 디코딩이 시작되기 전에 얼마나 최소의 버퍼 채움이 달성되어야 하는 지를 알게 한다.
상기 몇몇 예에서, 진입점은 비트스트림 내의 진입 I-프레임 또는 I-필드를 후속하고 표시 시각이 그 I-프레임 또는 I-필드의 표시 시각보다 더 이른 B-프레임 또는 B-필드 데이타에 적용되지 않는다. 대안적으로, 진입점은, B-프레임 또는 B-필드 데이타가 오직 진입점 I-프레임 또는 I-필드로부터 인트라 코딩되거나 예측된다면, 그러한 B-프레임 또는 B-필드 데이타에 적용되지 않는다.
다양한 실시예를 참조하여 본 발명의 원리를 설명 및 도시하였지만, 다양한 실시예는 그러한 원리에서 벗어나지 않고 순서상 또는 세부사항에 있어서 수정될 수 있음을 인지한다. 여기서 설명된 프로그램, 프로세스 또는 방법은 달리 지시되지 않는다면, 특정 유형의 컴퓨팅 환경에 관련되거나 그것으로 제한되지 않음을 이해해야 한다. 다양한 유형의 범용 또는 특수 컴퓨팅 환경은 여기에 설명된 가르침에 따라 사용되거나 동작을 수행할 수 있다. 소프트웨어로 나타난 실시예의 요소는 하드웨어로 구현될 수 있고, 그 역도 가능하다.
본 발명의 원리가 적용될 수 있는 다수의 가능한 실시예의 관점에서, 본 발명은 다음의 청구범위 및 그 동등물의 범위 및 취지 내에 포함될수 있는 모든 실시예를 주장한다.
본 발명은, 비디오 스트림 내의 유효한 진입점을 검출하여 디지털 비디오의 코딩/디코딩을 수행하는 방법을 제공한다.


Claims (47)

  1. 비디오 인코더를 구현하는 컴퓨팅 장치 내에서,
    상기 비디오 인코더를 구현하는 컴퓨팅 장치를 이용하여, 진입점 정책에 적어도 부분적으로 기초하여, 복수의 비디오 프레임을 포함하는 시퀀스에 대한 하나 이상의 진입점을 결정하는 단계; 및
    상기 비디오 인코더를 구현하는 컴퓨팅 장치를 이용하여, 상기 복수의 비디오 프레임 중 제1 프레임이 상기 하나 이상의 진입점들 중 하나의 진입점임을 나타내는 진입점 표시자를 비트스트림 내에 삽입하는 단계
    를 포함하는 방법으로서,
    상기 제1 프레임은 P 필드와 이를 뒤따르는 I 필드를 포함하는 필드 인터레이스형 P/I 프레임(field interlaced P/I-frame)이고, 상기 P 필드와 상기 I 필드는 디코딩을 위해 개별적인 필드로서 상기 비트스트림 내에 배열되고, 표시 시에(in presentation time) 제2 프레임이 상기 필드 인터레이스형 P/I 프레임에 바로 뒤따르고, 상기 제2 프레임은 예측된 프레임(predicted frame)이고, 상기 비디오 인코더는 상기 진입점 정책에 따라 상기 제2 프레임에 대해 상기 필드 인터레이스형 P/I 프레임의 상기 I 필드 이전의 임의의 움직임 보정(motion compensation) 의존성을 제거하도록 코딩 결정을 내리고,
    상기 진입점 정책은,
    상기 필드 인터레이스형 P/I 프레임 후에, 프로그레시브 P 프레임 또는 프레임 인터레이스형 P 프레임 이전에 적어도 하나의 필드 인터레이스형 P/P 프레임이 상기 비트스트림 내에 존재하는 조건;
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 비트스트림 내의 다음 P 필드가 상기 필드 인터레이스형 P/I 프레임의 상기 I 필드를 참조하지만 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드는 참조하지 않는 조건;
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 필드 인터레이스형 P/I 프레임보다 표시 시간이 늦은, 상기 비트스트림 내의 프로그레시브 B 프레임 또는 프레임 인터레이스형 B 프레임이 상기 필드 인터레이스형 P/I 프레임에 의존하여 인코딩되지 않는 조건;
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 필드 인터레이스형 P/I 프레임보다 표시 시간이 늦은, 상기 비트스트림 내의 다음 B 필드가 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드에 의존하여 인코딩되지 않는 조건
    을 포함하는, 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 진입점은 상이한 간격으로 위치하는 복수의 진입점들을 포함하는, 방법.
  3. 제1항에 있어서,
    상기 진입점 표시자는 진입점 헤더를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 진입점 표시자는 진입점 시작 코드를 포함하는, 방법.
  5. 제1항에 있어서,
    상기 비트스트림은 복수의 신택스 레벨(syntax levels)을 갖고, 상기 진입점 표시자는 시퀀스 레벨 아래의 신택스 레벨에서 포함되는, 방법.
  6. 제1항에 있어서,
    상기 필드 인터레이스형 P/I 프레임을 진입점으로 지정함으로 인하여, 진입점으로 지정되지 않았다면 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드를 움직임 보정에서 참조 필드로 사용했을 수 있는 상기 제2 프레임의 필드가, 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드를 움직임 보정에서 참조 필드로 사용하지 않도록 제한되는, 방법.
  7. 비디오 디코더를 구현하는 컴퓨팅 장치 내에서,
    상기 비디오 디코더를 구현하는 상기 컴퓨팅 장치에서, 복수의 비디오 프레임을 포함하는 시퀀스에 대한 비트스트림을 수신하는 단계 - 상기 복수의 비디오 프레임 각각은 프레임 코딩 타입을 가지고, 상기 복수의 비디오 프레임 각각에 대한 상기 프레임 코딩 타입은 프로그레시브, 필드 인터레이스형, 프레임 인터레이스형 중 하나임 -;
    상기 비디오 디코더를 구현하는 상기 컴퓨팅 장치를 이용하여, 상기 비트스트림 내에서 진입점 표시자를 탐지하는 단계 - 상기 진입점 표시자는 상기 복수의 비디오 프레임 중 제1 프레임을 디코딩을 위한 진입점으로 표시하고, 진입점 정책에 따라 상기 비트스트림 내에 위치함 -; 및
    상기 비디오 디코더를 구현하는 상기 컴퓨팅 장치를 이용하여, 상기 진입점 표시자에 적어도 부분적으로 기초하여 상기 비트스트림의 적어도 일부를 디코딩하는 단계
    를 포함하는 방법으로서,
    상기 진입점 정책은 진입점 표시자 배치를 위한 하나 이상의 조건을 포함하고, 상기 제1 프레임은 P 필드와 이를 뒤따르는 I 필드를 포함하는 필드 인터레이스형 P/I 프레임이고, 상기 P 필드와 상기 I 필드는 디코딩을 위해 개별적인 필드로서 상기 비트스트림 내에 배열되고, 표시 시에 제2 프레임이 상기 필드 인터레이스형 P/I 프레임에 바로 뒤따르고, 상기 제2 프레임의 상기 프레임 코딩 타입은 진입점인 상기 필드 인터레이스형 P/I 프레임에 부분적으로 의존하고,
    상기 진입점 정책의 상기 하나 이상의 조건은,
    상기 필드 인터레이스형 P/I 프레임 후에, 프로그레시브 P 프레임 또는 프레임 인터레이스형 P 프레임 이전에 적어도 하나의 필드 인터레이스형 P/P 프레임이 상기 비트스트림 내에 존재하는 조건;
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 비트스트림 내의 다음 P 필드가 상기 필드 인터레이스형 P/I 프레임의 상기 I 필드를 참조하지만 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드는 참조하지 않는 조건;
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 필드 인터레이스형 P/I 프레임보다 표시 시간이 늦은, 상기 비트스트림 내의 프로그레시브 B 프레임 또는 프레임 인터레이스형 B 프레임이 상기 필드 인터레이스형 P/I 프레임에 의존하여 인코딩되지 않는 조건;
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 필드 인터레이스형 P/I 프레임보다 표시 시간이 늦은, 상기 비트스트림 내의 다음 B 필드가 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드에 의존하여 인코딩되지 않는 조건
    을 포함하는, 방법.
  8. 제7항에 있어서,
    상기 비트스트림은 복수의 신택스 레벨을 갖고, 상기 진입점 표시자는 시퀀스 레벨 아래의 신택스 레벨에 있는, 방법.
  9. 제7항에 있어서,
    상기 진입점 표시자는 진입점 시작 코드 및 진입점 헤더를 포함하는, 방법.
  10. 제7항에 있어서,
    상기 하나 이상의 조건은, 상기 필드 인터레이스형 P/I 프레임을 뒤따르는 프레임 인터레이스형 P 프레임이 상기 필드 인터레이스형 P/I 프레임으로부터 예측되지 않는다는 조건을 더 포함하는, 방법.
  11. 제7항에 있어서,
    상기 필드 인터레이스형 P/I 프레임을 뒤따르는 프레임이, 프레임 인터레이스형 I 프레임, 필드 인터레이스형 I/P 프레임, 필드 인터레이스형 I/I 프레임, 프로그레시브 I 프레임, 및 필드 인터레이스형 P/I 프레임을 포함하는 집합으로부터 선택되는, 방법.
  12. 제7항에 있어서,
    상기 디코딩은 트릭 모드에서 수행되는, 방법.
  13. 비디오 디코더를 구현하는 컴퓨팅 장치 내에서,
    상기 비디오 디코더를 구현하는 상기 컴퓨팅 장치에서, 복수의 비디오 프레임을 포함하는 시퀀스에 대한 비트스트림을 수신하는 단계;
    상기 비디오 디코더를 구현하는 상기 컴퓨팅 장치를 이용하여, 상기 비트스트림 내에서 진입점 표시자를 탐지하는 단계 - 상기 진입점 표시자에 바로 뒤따르는 제1 프레임은 상기 비트스트림 내의 상기 진입점 표시자를 앞서는 어떠한 프레임도 참조하지 않고 디코딩 가능하고, 상기 제1 프레임은 P 필드와 이를 뒤따르는 I 필드를 포함하는 필드 인터레이스형 P/I 프레임이며, 상기 P 필드와 상기 I 필드는 디코딩을 위해 개별적인 필드로서 상기 비트스트림 내에 배열됨 -; 및
    상기 비디오 디코더를 구현하는 상기 컴퓨팅 장치를 이용하여, 상기 진입점 표시자에 적어도 부분적으로 기초하여 상기 비트스트림의 적어도 일부를 디코딩하는 단계
    를 포함하는 방법으로서,
    상기 필드 인터레이스형 P/I 프레임을 진입점으로 지정함으로 인하여, 진입점으로 지정되지 않았다면 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드를 움직임 보정에서 참조 필드로 사용했을 수 있는 상기 필드 인터레이스형 P/I 프레임을 뒤따르는 필드가 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드를 움직임 보정에서 참조 필드로 사용하지 않도록 제한되고,
    상기 비트스트림은,
    상기 필드 인터레이스형 P/I 프레임 후에, 프로그레시브 P 프레임 또는 프레임 인터레이스형 P 프레임 이전에 적어도 하나의 필드 인터레이스형 P/P 프레임이 상기 비트스트림 내에 존재하는 조건;
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 비트스트림 내의 다음 P 필드가 상기 필드 인터레이스형 P/I 프레임의 상기 I 필드를 참조하지만 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드는 참조하지 않는 조건;
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 필드 인터레이스형 P/I 프레임보다 표시 시간이 늦은, 상기 비트스트림 내의 프로그레시브 B 프레임 또는 프레임 인터레이스형 B 프레임이 상기 필드 인터레이스형 P/I 프레임에 의존하여 인코딩되지 않는 조건; 및
    상기 필드 인터레이스형 P/I 프레임 후에, 상기 필드 인터레이스형 P/I 프레임보다 표시 시간이 늦은, 상기 비트스트림 내의 다음 B 필드가 상기 필드 인터레이스형 P/I 프레임의 상기 P 필드에 의존하여 인코딩되지 않는 조건
    을 포함하는, 방법.
  14. 제13항에 있어서,
    상기 진입점 표시자를 탐지하는 단계는, 진입점 시작 코드를 탐지하는 단계를 포함하는, 방법.
  15. 제13항에 있어서,
    상기 진입점 표시자는 진입점 시작 코드 및 진입점 헤더를 포함하는, 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
KR1020040092527A 2003-11-13 2004-11-12 비디오 스트림 내의 유효 진입점 시그널링 KR101122898B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US52054303P 2003-11-13 2003-11-13
US60/520,543 2003-11-13
US10/882,739 US7839930B2 (en) 2003-11-13 2004-06-30 Signaling valid entry points in a video stream
US10/882,739 2004-06-30

Publications (2)

Publication Number Publication Date
KR20050046623A KR20050046623A (ko) 2005-05-18
KR101122898B1 true KR101122898B1 (ko) 2012-03-20

Family

ID=34556570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040092527A KR101122898B1 (ko) 2003-11-13 2004-11-12 비디오 스트림 내의 유효 진입점 시그널링

Country Status (5)

Country Link
US (1) US7839930B2 (ko)
EP (1) EP1549064B1 (ko)
JP (1) JP4928726B2 (ko)
KR (1) KR101122898B1 (ko)
CN (1) CN100568970C (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US8213779B2 (en) * 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US20050169376A1 (en) * 2004-01-30 2005-08-04 Pai Ramadas L. Motion vector address computer error detection
US9208824B2 (en) 2004-05-18 2015-12-08 Broadcom Corporation Index table generation in PVR applications for AVC video streams
US8150232B2 (en) * 2004-09-03 2012-04-03 Panasonic Corporation Recording medium, recording device, program, and recording method
FR2888424A1 (fr) * 2005-07-07 2007-01-12 Thomson Licensing Sas Dispositif et procede de codage et de decodage de donnees video et train de donnees
US20070014346A1 (en) * 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
KR100723507B1 (ko) * 2005-10-12 2007-05-30 삼성전자주식회사 I-프레임 움직임 예측을 이용한 동영상 압축 장치의 적응양자화 제어기 및 적응 양자화 제어 방법
JP4871598B2 (ja) * 2006-01-19 2012-02-08 キヤノン株式会社 画像処理装置および画像処理装置の起動方法およびプログラム
US8094997B2 (en) * 2006-06-28 2012-01-10 Cyberlink Corp. Systems and method for embedding scene processing information in a multimedia source using an importance value
US8660188B2 (en) * 2006-08-08 2014-02-25 Panasonic Corporation Variable length coding apparatus, and method and integrated circuit of the same
US20080240227A1 (en) * 2007-03-30 2008-10-02 Wan Wade K Bitstream processing using marker codes with offset values
EP2137972A2 (en) * 2007-04-24 2009-12-30 Nokia Corporation System and method for implementing fast tune-in with intra-coded redundant pictures
US20110026593A1 (en) * 2009-02-10 2011-02-03 New Wei Lee Image processing apparatus, image processing method, program and integrated circuit
WO2011138900A1 (ja) 2010-05-06 2011-11-10 日本電信電話株式会社 映像符号化制御方法および装置
RU2530313C2 (ru) * 2010-05-07 2014-10-10 Ниппон Телеграф Энд Телефон Корпорейшн Способ управления кодированием видео, устройство кодирования видео и программа кодирования видео
US9179149B2 (en) 2010-05-12 2015-11-03 Nippon Telegraph And Telephone Corporation Video encoding control method, video encoding apparatus, and video encoding program
KR102355509B1 (ko) 2011-02-09 2022-02-08 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR101718953B1 (ko) 2011-10-17 2017-03-22 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
CN108337512B (zh) 2011-12-29 2020-10-27 Lg 电子株式会社 视频编码和解码方法和使用该方法的装置
KR102215433B1 (ko) 2012-07-02 2021-02-15 엘지전자 주식회사 영상 정보 코딩 방법 및 이를 이용하는 장치
JP5891975B2 (ja) 2012-07-02 2016-03-23 富士通株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法
US10187680B2 (en) * 2014-11-11 2019-01-22 Cisco Technology, Inc. Adaptive bit rate system architectures using named domain networking
CN104754332A (zh) * 2015-03-24 2015-07-01 深圳第一蓝筹科技有限公司 一种智能穿戴设备的视频图片传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249610B1 (en) 1996-06-19 2001-06-19 Matsushita Electric Industrial Co., Ltd. Apparatus and method for coding a picture and apparatus and method for decoding a picture
US6324216B1 (en) 1992-06-29 2001-11-27 Sony Corporation Video coding selectable between intra-frame prediction/field-based orthogonal transformation and inter-frame prediction/frame-based orthogonal transformation
GB2365647A (en) 2000-08-04 2002-02-20 Snell & Wilcox Ltd Deriving parameters for post-processing from an encoded signal

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3437182A1 (de) * 1984-10-10 1986-04-10 Telefunken Fernseh Und Rundfunk Gmbh, 3000 Hannover Verfahren zur aufzeichnung und/oder wiedergabe digital kodierter signale
US4847877A (en) * 1986-11-28 1989-07-11 International Business Machines Corporation Method and apparatus for detecting a predetermined bit pattern within a serial bit stream
EP0359334B1 (en) * 1988-09-16 1995-12-06 Koninklijke Philips Electronics N.V. High-definition television system
US5023727A (en) * 1989-10-12 1991-06-11 Ian A. R. Boyd Method and device for producing a substantially continuous composite video signal
EP0424026B1 (en) 1989-10-14 1997-07-23 Sony Corporation Video signal transmitting system and method
JP2969782B2 (ja) * 1990-05-09 1999-11-02 ソニー株式会社 符号化データ編集方法及び符号化データ編集装置
CA2043670C (en) * 1990-06-05 2002-01-08 Wiebe De Haan Method of transmitting a picture sequence of a full-motion video scene, and a medium for said transmission
KR950011200B1 (ko) * 1990-10-31 1995-09-29 니뽕 빅터 가부시끼가이샤 인터레이스 동화상 신호의 압축 장치
US5621578A (en) * 1992-02-06 1997-04-15 Matsushita Electric Industrial Co., Ltd. Method of transmitting digital video and audio signals between bit rate reduction encoded signal recording and reproducing systems
US5168356A (en) * 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
JP3119888B2 (ja) * 1991-04-18 2000-12-25 松下電器産業株式会社 信号処理方法及び記録再生装置
US5212549A (en) * 1991-04-29 1993-05-18 Rca Thomson Licensing Corporation Error concealment apparatus for a compressed video signal processing system
US5428396A (en) * 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
JP2803693B2 (ja) * 1991-10-16 1998-09-24 インターナショナル・ビジネス・マシーンズ・コーポレイション アクチユエータ固定解除方法及びその装置
US6188428B1 (en) * 1992-02-11 2001-02-13 Mark Koz Transcoding video file server and methods for its use
US5293229A (en) 1992-03-27 1994-03-08 Matsushita Electric Corporation Of America Apparatus and method for processing groups of fields in a video data compression system
US5325126A (en) * 1992-04-01 1994-06-28 Intel Corporation Method and apparatus for real time compression and decompression of a digital motion video signal
US5365552A (en) * 1992-11-16 1994-11-15 Intel Corporation Buffer fullness indicator
JP3358835B2 (ja) * 1992-12-14 2002-12-24 ソニー株式会社 画像符号化方法及び装置
JP3240017B2 (ja) * 1993-01-11 2001-12-17 ソニー株式会社 Mpeg信号記録方法およびmpeg信号再生方法
US5477397A (en) * 1993-02-23 1995-12-19 Matsushita Electric Corporation Of America Digital high definition television receiver with features that facilitate trick-play modes on a digital VCR
DE69427578T2 (de) * 1993-09-21 2001-10-04 Sony Corp Verfahren und anlage zum übertragen von daten, datenkodierer und datenaufnahmemedium
DE69422960T2 (de) * 1993-12-01 2000-06-15 Matsushita Electric Ind Co Ltd Verfahren und Vorrichtung zum Editieren oder zur Mischung von komprimierten Bildern
US5586200A (en) * 1994-01-07 1996-12-17 Panasonic Technologies, Inc. Segmentation based image compression system
US5864368A (en) * 1995-02-28 1999-01-26 Sony Corporation Picture signal editing and encoding method and apparatus, signal recording medium and picture signal decoding method and apparatus
MX9707116A (es) * 1995-03-20 1998-02-28 Closures & Packaging Serv Ltd Aparato para grabacion de informacion de imagen y metodo para grabacion de informacion de imagen.
MY120755A (en) * 1995-09-29 2005-11-30 Matsushita Electric Ind Co Ltd A method and an apparatus for interleaving bitstream to record thereof on a recording medium, and reproducing the interleaved bitstream therefrom
US5825929A (en) * 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
US6018765A (en) * 1996-01-23 2000-01-25 Storage Concepts, Inc. Multi-channel multimedia data server
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5838823A (en) * 1996-02-29 1998-11-17 Electronic Arts, Inc. Video image compression and decompression
KR100877952B1 (ko) 1996-03-18 2009-01-12 가부시끼가이샤 도시바 부호화 장치 및 부호화 방법
US5870444A (en) * 1996-04-23 1999-02-09 Scientific-Atlanta, Inc. Method and apparatus for performing very fast message synchronization
US5835636A (en) * 1996-05-28 1998-11-10 Lsi Logic Corporation Method and apparatus for reducing the memory required for decoding bidirectionally predictive-coded frames during pull-down
US5661665A (en) * 1996-06-26 1997-08-26 Microsoft Corporation Multi-media synchronization
EP0864228B1 (en) * 1996-07-05 2001-04-04 Matsushita Electric Industrial Co., Ltd. Method for display time stamping and synchronization of multiple video object planes
JPH1066036A (ja) * 1996-08-15 1998-03-06 Oki Electric Ind Co Ltd Tv方式変換装置
US5898897A (en) * 1996-10-18 1999-04-27 Samsung Electronics Company, Ltd. Bit stream signal feature detection in a signal processing system
JP4013286B2 (ja) * 1997-01-22 2007-11-28 松下電器産業株式会社 画像符号化装置と画像復号化装置
US6201927B1 (en) * 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
US6442604B2 (en) * 1997-03-25 2002-08-27 Koninklijke Philips Electronics N.V. Incremental archiving and restoring of data in a multimedia server
US5955977A (en) * 1997-03-31 1999-09-21 Sharp Laboratories Of America, Inc. System for avoiding start code emulation and long carry-over propagation
US6092107A (en) 1997-04-07 2000-07-18 At&T Corp System and method for interfacing MPEG-coded audiovisual objects permitting adaptive control
US6735253B1 (en) * 1997-05-16 2004-05-11 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
US6061399A (en) * 1997-05-28 2000-05-09 Sarnoff Corporation Method and apparatus for information stream frame synchronization
US6169573B1 (en) * 1997-07-03 2001-01-02 Hotv, Inc. Hypervideo system and method with object tracking in a compressed digital video environment
KR100555164B1 (ko) * 1997-07-25 2006-03-03 소니 가부시끼 가이샤 편집 장치, 편집 방법, 재부호화 장치, 재부호화 방법, 스플라이싱 장치 및 스플라이싱 방법
JPH11110915A (ja) * 1997-09-30 1999-04-23 Sony Corp 信号記録再生装置及び方法
JP3665456B2 (ja) * 1997-11-19 2005-06-29 株式会社東芝 映像情報の記録再生システム及び同システムに適用する映像編集方法
US6154496A (en) * 1997-11-25 2000-11-28 Philips Electronics N.A. Corp. Video buffer for seamless splicing of MPEG streams
US5973743A (en) * 1997-12-02 1999-10-26 Daewoo Electronics Co., Ltd. Mode coding method and apparatus for use in an interlaced shape coder
US6301428B1 (en) * 1997-12-09 2001-10-09 Lsi Logic Corporation Compressed video editor with transition buffer matcher
US6198773B1 (en) 1997-12-18 2001-03-06 Zoran Corporation Video memory management for MPEG video decode and display system
US5946043A (en) * 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
US6414998B1 (en) * 1998-01-27 2002-07-02 Sony Corporation Method and apparatus for inserting an image material
US6611624B1 (en) * 1998-03-13 2003-08-26 Cisco Systems, Inc. System and method for frame accurate splicing of compressed bitstreams
GB9807208D0 (en) 1998-04-03 1998-06-03 Nds Ltd Method and apparatus for detecting a sequence in a bitstream
WO1999056472A1 (en) 1998-04-24 1999-11-04 Rockwell Science Center, Llc N-bit video coder and method of extending an 8-bit mpeg video coder
CA2331312C (en) * 1998-05-08 2008-09-09 Koninklijke Philips Electronics N.V. Method for storing compressed digital audio and video
WO1999065239A2 (en) 1998-06-11 1999-12-16 Koninklijke Philips Electronics N.V. Trick play signal generation for a digital video recorder
GB9813831D0 (en) * 1998-06-27 1998-08-26 Philips Electronics Nv Frame-accurate editing of encoded A/V sequences
AU4944699A (en) * 1998-06-29 2000-01-17 Limt Technology Ab Method and apparatus for splicing data streams
US6415326B1 (en) * 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US6912251B1 (en) * 1998-09-25 2005-06-28 Sarnoff Corporation Frame-accurate seamless splicing of information streams
FR2784845B1 (fr) * 1998-10-14 2001-02-23 France Telecom Procede de basculement de la ou des composantes video d'un premier programme audiovisuel sur la ou les composantes video d'un second programme audiovisuel numerique
KR100345235B1 (ko) * 1998-11-08 2005-07-29 엘지전자 주식회사 디지털데이터스트림기록방법및그장치
US6380991B1 (en) * 1998-11-19 2002-04-30 Tektronix, Inc. Method for splicing MPEG-2 transport streams
US6434195B1 (en) * 1998-11-20 2002-08-13 General Instrument Corporaiton Splicing of video data in progressively refreshed video streams
EP1018840A3 (en) 1998-12-08 2005-12-21 Canon Kabushiki Kaisha Digital receiving apparatus and method
EP1069777A4 (en) 1999-02-05 2009-03-04 Sony Corp SYSTEMS AND METHODS FOR ENCODING AND DECODING, MULTIPLEXING SYSTEM AND METHOD, AND DISPLAY SYSTEM AND METHOD
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
JP4292654B2 (ja) 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
WO2000064186A2 (en) 1999-04-01 2000-10-26 Ravisent Technologies, Inc. Memory management method for high speed streaming data processing in a computer device
GB2353655B (en) * 1999-08-26 2003-07-23 Sony Uk Ltd Signal processor
GB2353653B (en) 1999-08-26 2003-12-31 Sony Uk Ltd Signal processor
KR100669896B1 (ko) 1999-11-10 2007-01-18 톰슨 라이센싱 Dvd 레코더를 위한 페이딩 특징
US6985188B1 (en) * 1999-11-30 2006-01-10 Thomson Licensing Video decoding and channel acquisition system
JP3694888B2 (ja) 1999-12-03 2005-09-14 ソニー株式会社 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
GB9930788D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for converting data streams
US7164844B1 (en) * 2000-03-02 2007-01-16 The Directv Group, Inc. Method and apparatus for facilitating reverse playback
KR100698106B1 (ko) * 2000-03-07 2007-03-26 엘지전자 주식회사 엠펙(mpeg)압축 비디오 환경에서 계층적 혼합형장면 변화 검출 방법
US6453115B1 (en) * 2000-08-31 2002-09-17 Keen Personal Media, Inc. Digital video recording system which generates an index data structure for displaying a video stream in trickplay mode
AU2002239237A1 (en) * 2000-10-10 2002-06-03 Broadcom Corporation System and method for special reproduction modes of a digitally encoded video data stream
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US6920175B2 (en) * 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
US7143353B2 (en) * 2001-03-30 2006-11-28 Koninklijke Philips Electronics, N.V. Streaming video bookmarks
US6593392B2 (en) * 2001-06-22 2003-07-15 Corning Incorporated Curable halogenated compositions
US7646816B2 (en) 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
US7149247B2 (en) 2002-01-22 2006-12-12 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
US7116831B2 (en) * 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
US7289663B2 (en) * 2002-07-24 2007-10-30 Eastman Kodak Company Producing an extended color gamut luminance-chrominance digital image from a captured image
US7970056B2 (en) * 2003-06-26 2011-06-28 Lsi Corporation Method and/or apparatus for decoding an intra-only MPEG-2 stream composed of two separate fields encoded as a special frame picture
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US8085844B2 (en) * 2003-09-07 2011-12-27 Microsoft Corporation Signaling reference frame distances
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US8213779B2 (en) * 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US8600217B2 (en) * 2004-07-14 2013-12-03 Arturo A. Rodriguez System and method for improving quality of displayed picture during trick modes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324216B1 (en) 1992-06-29 2001-11-27 Sony Corporation Video coding selectable between intra-frame prediction/field-based orthogonal transformation and inter-frame prediction/frame-based orthogonal transformation
US6249610B1 (en) 1996-06-19 2001-06-19 Matsushita Electric Industrial Co., Ltd. Apparatus and method for coding a picture and apparatus and method for decoding a picture
GB2365647A (en) 2000-08-04 2002-02-20 Snell & Wilcox Ltd Deriving parameters for post-processing from an encoded signal

Also Published As

Publication number Publication date
CN100568970C (zh) 2009-12-09
US20050105883A1 (en) 2005-05-19
CN1617593A (zh) 2005-05-18
KR20050046623A (ko) 2005-05-18
US7839930B2 (en) 2010-11-23
EP1549064A2 (en) 2005-06-29
EP1549064A3 (en) 2011-06-08
JP4928726B2 (ja) 2012-05-09
EP1549064B1 (en) 2014-06-25
JP2005151570A (ja) 2005-06-09

Similar Documents

Publication Publication Date Title
KR101122898B1 (ko) 비디오 스트림 내의 유효 진입점 시그널링
US7924921B2 (en) Signaling coding and display options in entry point headers
US7852919B2 (en) Field start code for entry point frames with predicted first field
US7609762B2 (en) Signaling for entry point frames with predicted first field
US8213779B2 (en) Trick mode elementary stream and receiver system
KR101944565B1 (ko) 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법
KR101010881B1 (ko) 채널 전환 프레임을 이용하는 애플리케이션을 위한 시스템 및 방법
KR101354833B1 (ko) 디지털 비디오의 가변 해상도 인코딩 및 디코딩 기법
US20210409752A1 (en) Personal Video Recorder
US10075726B2 (en) Video decoding method/device of detecting a missing video frame
JP2009284518A (ja) ビデオ符号化方法
US20100239001A1 (en) Video streaming system, transcoding device, and video streaming method
KR100967731B1 (ko) 채널 스위치 프레임
KR19990057101A (ko) 엠펙 비디오 디코딩 시스템 및 엠펙 비디오 디코딩 시스템의 오버플로우 처리 방법
KR101915079B1 (ko) 동화상 예측 부호화 및 복호 장치, 방법, 그리고 프로그램
Pettersson et al. Dependent random access point pictures in HEVC
KR100394013B1 (ko) 비디오 스냅 영상용 변환 부호화 장치
US9219930B1 (en) Method and system for timing media stream modifications
KR20040077765A (ko) 랜덤 액세스 및 스플라이싱을 가능하게 하기 위해 비디오데이터를 인코딩 및 디코딩하는 방법 및 시스템

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 8