KR101245576B1 - 효율적인 규모가변적 스트림 조정을 위한 시스템 및 방법 - Google Patents
효율적인 규모가변적 스트림 조정을 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR101245576B1 KR101245576B1 KR1020117018104A KR20117018104A KR101245576B1 KR 101245576 B1 KR101245576 B1 KR 101245576B1 KR 1020117018104 A KR1020117018104 A KR 1020117018104A KR 20117018104 A KR20117018104 A KR 20117018104A KR 101245576 B1 KR101245576 B1 KR 101245576B1
- Authority
- KR
- South Korea
- Prior art keywords
- picture
- coded
- sequence
- layer
- level value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000006978 adaptation Effects 0.000 title 1
- 230000002123 temporal effect Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims 4
- 230000004044 response Effects 0.000 claims 4
- 230000011664 signaling Effects 0.000 abstract description 20
- 239000010410 layer Substances 0.000 description 159
- 230000005540 biological transmission Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 239000011229 interlayer Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000116 mitigating effect Effects 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
스트리밍 서버들에서의 효율적 규모가변적 스트림 스위칭 및 로컬 파일 재생을 수행하기 위해 파일 포맷 레벨에서의 저에서 고 계층 스위칭 포인트들을 시그날링하기 위한 시스템 및 방법. 본 발명은 비디오 비트 스트림을 통해 저에서 고 계층 스위칭 포인트들을 시그날링하여, 예컨대 미디어 인식 네트워크 요소들에서의 규모가변성 계층들의 인텔리전트한 포워딩 또는 스트림 수신기들에서의 계산상의 규모가변적 디코딩을 행할 수 있도록 한다.
Description
본 발명은 일반적으로 미디어 인코딩, 디코딩, 저장 및 전송에 관한 것이다. 더 구체적으로 말해, 본 발명은 규모가변적 미디어 인코딩, 디코딩, 저장 및 전송에 관한 것이다.
멀티미디어 어플리케이션들에는 로컬 재생, 스트리밍 또는 주문형 (on-demand), 대화형 및 브로드캐스트/멀티캐스트 서비스들이 포함된다. 멀티미디어 어플리케이션들에 관여하는 기술들에는, 가령, 미디어 코딩, 저장 및 전송이 포함된다. 미디어 타입들에는 음성, 오디오, 이미지, 비디오, 그래픽 및 타임 텍스트가 포함된다. 서로 다른 기술들에 대해 서로 다른 규격들이 특정되고 있다.
비디오 코딩 규격들에는 ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, ITU-T H.263, ISO/IEC MPEG-4 비주얼 및 ITU-T H.264 (ISO/IEC MPEG-4 AVC로도 알려짐)가 포함된다. 그 외에도, 새로운 비디오 코딩 규격들 역시 개발중이 있다. 예를 들어, 규모가변적 비디오 코딩 (scalable video coding, SVC) 표준의 개발이 현재 진행중에 있다. 그러한 표준은 H.264/AVC에 대한 규모가변적 확장 버전이 될 것이다. 차이나 (China) 비디오 코딩 표준들의 개발 역시 현재 진행 중에 있다.
규모가변적 비디오 코딩은 규모가변적 비디오 비트 스트림들을 제공할 수 있다. 규모가변적 비디오 비트스트림의 일부는 저하된 비주얼 재생 품질을 가진 채 추출 및 디코딩될 수 있다. 규모가변적 비디오 비트스트림은 비규모가변적 (non-scalable) 기저 계층 (base layer) 및 하나 이상의 인핸스먼트 계층 (enhancement layer)들을 포함한다. 인핸스먼트 계층은 시간적 해상도 (즉, 프레임 레이트), 공간적 해상도, 또는 단순히 그것의 하위 계층이나 그 일부에 의해 표현되는 비디오 콘텐츠의 품질을 개선시킬 수 있다. 몇몇 경우들에서, 인핸스먼트 계층의 데이터는 일정 위치 뒤에, 심지어 임의의 위치들에서 잘라질 수 있다. 각각의 자른 위치는 크게 개선된 비주얼 품질을 나타내는 어떤 부가 데이터를 포함할 수 있다. 그러한 규모가변성 (scalability)을 미소 단위 (granularity) 규모가변성 (FGS, fine-grained scalability)이라고 한다. FGS와는 반대로, 미소 단위 규모가변성을 제공하지 않는 품질 인핸스먼트 계층에 의해 제공되는 규모가변성을 조악한 단위의 규모가변성 (CGS, coarse-grained scalabilty)이라 부른다.
현재 계획단계인 SVC 표준에서의 규모가변적 계층 구조는 비트 스트림을 통해 시그날링 되거나 그 사양에 따라 도출될 수 있는 시간_레벨 (temporal_level), 종속성_아이디 (dependency_id) 및 품질_레벨 (quality_level)이라 불리는 세 가지 변수들을 특징으로 한다. temporal_level은 시간적 규모가변성이나 프레임 레이트를 가리키는데 사용된다. 보다 작은 temporal_level의 화상들을 포함하는 계층은 보다 큰 temporal_level의 화상들을 포함하는 계층보다 작은 프레임 레이트를 갖는다. dependency_id는 계층 간 (inter-layer) 코딩 종속성 위계 (hierarchy)를 가리키는 데 사용된다. 어떤 시간적 위치에서, 보다 작은 dependency_id 값의 화상은 보다 큰 dependency_id 값의 화상 코딩을 위한 계층간 예측에 사용될 수 있다. quality_level은 FGS 계층 위계를 가리키는데 사용된다. 어떤 시간 위치상에서 동일한 dependency_id 값을 가진, QL과 동일한 quality_level을 갖는 FGS 화상은, 계층간 예측을 위해 QL-1과 동일한 quality_level 값을 갖는 FGS 화상 또는 기저 품질 화상 (즉, QL-1=0일 때 비 FGS 화상)를 이용한다.
도 1은 상술한 세 변수들의 표시 값들과 함께 예로 든 규모가변적 비디오 스트림의 시간적 세그먼트를 도시한 것이다. 시간 값들은 상대적인 것임을 인지해야 한다, 즉, time=0이라는 것이 반드시, 그 비트 스트림 상에서의 디스플레이 순서상 최초 화상의 시간임을 의미하는 것은 아니라는 것을 알아야 한다. 이 예의, 통상적 예측 참조 관계가 도 2에 도시되는데, 도 2에서 실선 화살표는 수평 방향의 상호 예측 참조 관계 (interprediction reference relationship)를 가리키고, 점선 블록 화살표는 계층간 예측 참조 관계를 가리킨다. 지시되는 쪽 인스턴스 (instance)는 예측 참조를 위해 반대 방향의 인스턴스를 이용한다.
여기 논의되는 바와 같이, 한 계층은 각각 동일한 temporal_level, dependency_id 및 quality_level 값들을 가진 화상들의 집합으로 정의된다. 인핸스먼트 계층을 디코딩 및 재생하기 위해, 통상적으로 기저 계층을 포함하는 그 하위 계층들 역시 사용가능해야 하는데, 이는 그 하위 계층들이 인핸스먼트 계층의 디코딩시 계층간 예측을 위해 직간접적으로 사용될 것이기 때문이다. 예를 들어, 도 1 및 2에서, (0,0,0,0) 및 (8,0,0,0)과 동일한 (t, T, D, Q)를 갖는 화상들이 기저 계층에 속하고, 이것은 어떤 인핸스먼트 계층들과도 무관하게 디코딩될 수 있다. (4,1,0,0)과 같은 (t, T, D, Q)를 갖는 화상은 기저 계층의 프레임 레이트의 두 배가 되는 인핸스먼트 계층에 속한다; 이 계층의 디코딩은 기저 계층 화상들의 존재를 필요로 한다. (0,0,0,1) 및 (8,0,0,1)과 같은 (t, T, D, Q)를 갖는 화상들은 FGS 방식으로 기저 계층의 품질 및 비트 레이트를 향상시키는 인핸스먼트 계층에 속한다; 이 계층의 디코딩 역시 기저 계층 화상들의 존재를 필요로 한다.
H.264/AVC 표준에서, 순시 디코딩 리프레시 (IDR, instantaneous decoding refresh) 화상이 다음과 같이 정의된다. 모든 슬라이스들이 I 또는 SI 슬라이스들인 코딩 화상이 디코딩 프로세스로 하여금 IDR 화상 디코딩 후 바로 모든 참조 화상들을 "참조에 미사용"으로 마킹하게 한다. IDR 화상 디코딩 후에, 디코딩 순서상 이어지는 모든 코딩 화상들은, IDR 화상 전에 디코딩된 어떤 화상으로부터의 상호 예측 없이 디코딩될 수 있다. 각각의 코딩된 비디오 시퀀스의 첫째 화상이 IDR 화상이다.
IDR 화상의 개념은 현 SVC 표준 초안에도 역시 사용되는데, 여기서는 각각 같은 값의 dependency_id 및 quality_level을 가진 화상들에 그러한 정의가 적용될 수 있다. 달리 말해, IDR 화상은, IDR 화상 및 같은 계층 내 디코딩 순서상 다음 코딩 화상들 (즉, IDR 화상과 각각 같은 값의 dependency_id 및 quality_level을 가짐) 모두의 디코딩이 같은 계층 내 디코딩 순서상 IDR 화상 이전의 어떤 화상으로부터의 상호 참조 없이 수행될 수 있는 코딩 화상이다. IDR 화상은 디코딩 프로세스로 하여금 IDR 화상을 디코딩 한 직후에 같은 계층에 있는 모든 참조 화상들을 "참조에 미사용"이라고 마킹하게 만든다. 여기 사용된 것과 같이 현 SVC 표준 초안의 맥락에 있어서, "같은 계층 내 (in the same layer)"라는 용어는 디코딩 화상들이 IDR 화상과 각각 같은 값의 dependency_id 및 quality_level을 가진다는 것을 의미한다는 것을 주지해야 한다. 같은 화상 순서 카운트 값이지만 다른 값의 dependency_id 및 quality_level을 갖는 모든 화상들이 IDR 화상들로서 코딩되거나, 특정 값의 화상 순서 카운트에 대해 어떠한 화상도 IDR 화상으로 코딩되지 않게 된다. 즉, (같은 값의 화상 순서 카운트를 가진 모든 화상들을 포함하는) 액세스 유닛 내 모든 화상들이 IDR 화상들이거나, 아니면 액세스 유닛 내 어떠한 화상도 IDR 화상이 아니다.
이용가능한 미디어 파일 포맷 표준들에는 ISO 파일 포맷 (ISO/IEC 14496-12), MPEG-4 파일 포맷 (ISO/IEC 14496-14), AVC 파일 포맷 (ISO/IEC 14496-15) 및 3GPP 파일 포맷 (3GPP TS 26.244)가 포함된다. SVC 파일 포맷은 혀재 ISO/IEC MPEG에 의해 개발 중에 있고, 2005년 7월 폴란드 포쯔난에서 열린 73차 ISO/IEC MPEG 회의의 MPEG N7477, "VM study Text for Scalable Video Coding (SVC) File Format)에서 찾아볼 수 있고, 그 전체 내용은 이 명세서에서 참조의 형태로 병합된다.
단일 계층 코딩과 비교해 규모가변적 코딩의 한가지 이점이, 규모가변적 코딩을 통해서는 단일 스트림이 상이한 요건의 품질, 비트 레이트, 디스플레이 사이즈 등을 만족시킬 수 있다는 것인 반면, 단일 계층 코딩을 통해서는 여러 스트림들이 사용되어야 한다. 여러 스트림의 사용은 보다 많은 저장 공간 및, 동시 방영시 더 많은 전송 대역폭을 소비하게 된다. 스트리밍 어플리케이션들에 있어서, 전송 네트워크나 수신자(들)의 사양들이 이들의 이전 상태들과 비교해 변화할 때, 가령, 전송 대역폭 변경시, 스트림 조정이 필요로 된다. 게이트웨이들 및 기타 미디어 인식 네트워크 요소들 (MANEs, media-aware network elements) 역시 스트림 조정을 수행할 수 있을 것이다. 규모가변적으로 코딩된 파일이 "국지적으로 (locally)" 재생될 때 (즉, 파일이 디코더와 같은 장치에 있거나, 디코딩 장치로의 고속 링크와 연결된 메모리에 있을 때), 디코더가 어떤 다른 프로세스와 계산 자원들을 공유하는 경우 스트림 조정이 필요로 될 것이다. 예를 들어, 디코딩이 멀티-프로세스 운영 시스템을 구동하는 범용 프로세서상에서 수행될 때, 그 디코더는 한 시점에 총 계산 파워를 이용하여 모든 규모가변적 계층들을 디코딩할 수 있을 것이다. 그러나 다른 때에는, 이용가능한 규모가변적 계층들의 일부를 디코딩하기 위해 사용하는 프로세서 계산 파워의 일부만을 가질 것이다. 조정된 스트림은 변경된 비트 레이트, 프레임 레이트, 및/또는 비디오 해상도를 가질 것이다. 단일 계층 코딩에서는, 스트림 스위칭이나 트랜스코딩을 통해 스트림 조정이 수행될 수 있다. 단일 규모가변 스트림에 있어, 스트림 조정은 계층 스위칭을 통해 수행될 수 있다.
규모가변적 코딩 시, 고에서 저로의 계층 스위칭이 임의 위치에서 수행될 수 있다. 그러나, 저에서 고로의 계층 스위칭에 대해서는 경우가 다른데, 이는 스위칭 된 높은 계층의 화상에 대한 디코딩이 보통, 동일한 계층에서 디코딩 순서에 있어 일부 앞선 화상들의 존재를 요구하기 때문이다.
현 SVC 표준 초안에 있어서, 저에서 고 계층 스위칭은 IDR 액세스 유닛 (IDR 화상들을 포함함)에서 수행될 수 있다. 그러나, IDR 액세스 유닛에의 의존은, IDR 액세스 유닛들의 잦은 코딩 또는 즉각적이지 못한 스트림 조정 탓에 코딩 효율성 감소를 야기한다. 이러한 문제들은 모두 최종 사용자 경험과 밀접하게 연관된다. 또한 이론적으로, SP/SI 화상 코딩이나 점진적 디코딩 리프레쉬 (refresh) 기술을 활용해 저에서 고 계층 스위칭을 수행하게 하는 것 역시 가능하다. 그러나, 이러한 기술들은 단일 계층 코딩을 위해 고안되었다. 따라서, 이 기술들은 규모가변적 코딩에 대해서는 현재 효력이 없다. 또, 이 기술들이 규모가변적 코딩에 사용되도록 확장된 후라 하더라도, 이들의 어플리케이션은 추가적 코딩 제약 (보다 낮은 코딩 효율성에 상응하는 형식)이나 구현의 복잡도로 이어질 것이다.
따라서, 규모가변적 비디오 코딩 시, 단순하고도 효율적인 저에서 고 계층 스위칭을 지원할 필요가 있다. 또한, 파일 포맷 레벨에 있어 단순하고도 효율적인 저에서 고 계층 스위칭의 시그날링을 수행하여, 저에서 고 계층 스위칭을 위한 위치들을 찾는데 비디오 스트림에 대한 어떠한 파싱 (parsing) 및 분석도 필요로 되지 않도록 할 필요가 있는데, 이는 스트림의 파싱 및 분석은 복잡한 계산을 요할 수 있기 때문이다.
본 발명은 스트리밍 서버들에서의 효율적인 규모가변적 스트림 스위칭 및 로컬 파일 재생을 가능하게 하도록, 파일 포맷 레벨 상의 저에서 고 계층 스위칭 (low-to-high layer switching) 포인트들을 시그날링 하기 위한 시스템 및 방법을 제안한다. 본 발명은 또한, 가령 미디어 인식 네트워크 요소들에서의 규모가변성 계층들의 인텔리전트한 포워딩 및 스트림 수신기들 안에서 계산적으로 규모가변적인 디코딩을 수행하도록, 비디오 비트 스트림 내 저에서 고 계층 스위칭 포인트들을 시그날링하기 위한 시스템 및 방법 역시 개시한다.
본 발명은 규모가변적 스트림 조정을 위한 단순하고도 효율적인 저에서 고 계층 스위칭을 가능하게 한다. 본 발명은 스트리밍 서버가, 다른 경우라면 상당한 계산상의 구현 부담을 필요로 하였을, 비디오 비트 스트림들을 광범위하게 파싱 및 분석해야만 하는 필요성을 없앤다. 본 발명은 실질적으로 어떠한 규모가변적 미디어 어플리케이션에서도 사용될 수 있다.
본 발명의 이러한, 그리고 기타의 이점들과 특징들과, 그 동작 체계 및 방식 모두, 첨부된 도면과 연계하여 취해진 이하의 상세한 설명으로부터 명확히 파악될 것이고, 이하에서 논의될 여러 도면들 전체에서 동일한 참조부호는 동일한 구성요소를 가리킨다.
도 1은 세 변수들인 temporal_level, dependency_id 및 quality_level의 값들이 표시되는, 예로 든 규모가변적 비디오 스트림의 시간상의 세그먼트를 보인다.
도 2는 도 1에 도시된 시간상의 세그먼트에 있어서의 통상의 예측 참조 관계이다.
도 3은 본 발명이 구현될 수 있는 시스템의 개략도이다.
도 4는 본 발명의 원리들을 포함할 수 있는 전자 기기의 정면도이다.
도 5는 도 4의 전자 기기의 개략적 회로도 표현이다.
도 6은 본 발명의 규모가변적 코딩 위계가 적용될 수 있는 일반 멀티미디어 데이터 스트리밍 시스템을 예시한 것이다.
도 1은 세 변수들인 temporal_level, dependency_id 및 quality_level의 값들이 표시되는, 예로 든 규모가변적 비디오 스트림의 시간상의 세그먼트를 보인다.
도 2는 도 1에 도시된 시간상의 세그먼트에 있어서의 통상의 예측 참조 관계이다.
도 3은 본 발명이 구현될 수 있는 시스템의 개략도이다.
도 4는 본 발명의 원리들을 포함할 수 있는 전자 기기의 정면도이다.
도 5는 도 4의 전자 기기의 개략적 회로도 표현이다.
도 6은 본 발명의 규모가변적 코딩 위계가 적용될 수 있는 일반 멀티미디어 데이터 스트리밍 시스템을 예시한 것이다.
도 6을 참조하여, 본 발명의 처리절차를 적용하기 위한 한 시스템인, 통상의 멀티미디어 스트리밍 시스템이 논의될 것이다.
멀티미디어 데이터 스트리밍 시스템은 보통, 비디오 카메라 및 마이크, 또는 메모리 캐리어에 저장되는 비디오 이미지나 컴퓨터 그래픽 파일들 같은 하나 이상의 멀티미디어 소스들(100)을 포함한다. 서로 다른 멀티미디어 소스들(100)로부터 얻은 미가공 데이터는 편집기라고도 불릴 수 있는 인코더(102) 안의 멀티미디어 파일 속에 결합될 것이다. 하나 이상의 멀티미디어 소스들(100)로부터 나온 미가공 데이터는 우선 인코더(102)에 포함된 캡처 수단(104)을 이용해 캡처되는데, 그 캡처 수단은 통상적으로 서로 다른 인터페이스 카드들, 드라이버 소프트웨어, 또는 카드 기능을 제어하는 어플리케이션 소프트웨어로서 구현될 수 있다. 예를 들어, 비디오 데이터가 비디오 캡처 카드 및 관련 소프트웨어를 이용해 캡처될 수 있다. 캡처 수단(104)의 출력은 보통 압축되지 않았거나 약간 압축된 데이터 플로 (flow)가 되는데, 이를테면, 비디오 캡처 카드가 관여될 때 YUV 4:2:0 포맷이나 모션 JPEG 이미지 포맷의 미압축 비디오 프레임들이 된다.
편집기(106)는 비디오 및 오디오 플로들이 원하는 바와 같이 동시에 재생될 수 있게 이들을 동기시키도록 서로 다른 미디어 플로우들을 서로 링크시킨다. 편집기(106)는 또한 프레임 레이트를 절반으로 내리거나, 공간적 해상도 등을 감축함으로써 비디오 플로 같은 각각의 미디어 플로를 편집할 수도 있을 것이다. 동기되어 있더라도, 압축기(108)에서는 개별 미디오 플로들이 압축되며, 이때 각 미디어 플로는 그 미디어 플로에 적합한 압축기를 써서 개별적으로 압축된다. 예를 들어, YUV 4:2:0 포맷의 비디오 프레임들은 ITU-T 권고안 H.263이나 H.264를 이용해 압축될 수 있다. 따로 따로인, 동기 및 압축된 미디어 플로들은 통상적으로 멀티플렉서(110) 안에서 인터리빙되며, 인코더(102)로부터 얻어진 출력은 복수의 미디어 플로들의 데이터를 포함하는 하나의 단일한 비트 플로로서 멀티미디어 파일이라고 부를 수 있다. 멀티미디어 파일을 생성하는 것이 반드시 복수의 미디어 플로들을 하나의 파일로 다중화하는 것을 필요로 하는 것은 아니며, 스트리밍 서버가 미디어 플로들을 전송하기 바로 전에 그들을 인터리빙할 수 있다는 것을 알아야 할 것이다.
멀티미디어 파일들은 스트리밍 서버(112)로 전송되고, 그러면 스트리밍 서버는 실시간 스트리밍이나 점진적 (progressive) 다운로딩의 형태로 스트리밍을 실행할 수 있다. 점진적 다운로딩시, 멀티미디어 파일들은, 수요가 일어날 때 이들이 전송을 위해 검색될 수 있는 서버(112)의 메모리 안에 먼저 저장된다. 실시간 스트리밍 시, 편집기(102)는 멀티미디어 파일들의 연속적 미디어 플로를 스트리밍 서버(112)로 전송하며, 서버(112)는 그 플로를 바로 클라이언트(114)로 전달한다. 추가 옵션으로서, 멀티미디어 파일들이, 서버(112)로부터 액세스 가능하고 그로부터 실시간 스트리밍이 도출될 수 있고 수요가 있을 때 멀티미디어 파일들의 연속적 미디어 플로가 시작되는 스토리지 안에 저장되도록, 실시간 스트리밍이 또한 수행될 수 있다. 그 경우, 편집기(102)는 어떤 수단에 의해서든 스트리밍을 반드시 통제하지는 못한다. 스트리밍 서버(112)는 클라이언트(114)의 사용 가능 대역폭 또는 최대 디코딩 및 재생 레이트에 관해서, 멀티미디어 데이터의 트래픽 정형화 (traffic shaping)을 수행하며, 스트리밍 서버는 전송정보로부터 B-프레임들을 제거하거나 규모가변성 계층들의 개수를 최적화하는 등에 의해 미디어 플로의 비트 레이트를 조정할 수가 있다. 더 나아가, 스트리밍 서버(112)는 다중화된 미디어 플로의 헤더 필드들을 변경하여 그들의 사이즈를 줄이고 사용하는 통신 네트워크 상에서의 전송에 적합한 데이터 패킷들 안에 그 멀티미디어 데이터를 캡슐화할 수 있다. 클라이언트(114)는 보통 적절한 제어 프로토콜을 사용해 서버(112)의 동작을 적어도 어느 정도까지는 조정할 수 있다. 클라이언트(114)는 적어도 원하는 멀티미디어 파일이 클라이언트에게 전송되도록 선택될 수 있게 서버(112)를 통제할 수 있고, 여기에 더해, 클라이언트는 보통 멀티미디어 파일 전송을 정지 및 중단시킬 수 있다.
클라이언트(114)가 멀티미디어 파일을 수신하고 있을 때, 그 파일은 우선 디멀티플렉서 (demultiplexer)(116)로 주어지며, 디멀티플렉서는 멀티미디어 파일로 이뤄진 미디어 플로들을 분리시킨다. 분리된 압축 미디어 플로들이 이제 압축해제기 (decompressor)(118)로 보내지고, 거기서 각각의 개별 미디어 플로가 각각의 특정 미디어 플로에 알맞는 압축해제기에 의해 압축 해제된다. 압축 해제 및 재건된 미디어 플로들은 재생 유닛(120)으로 보내지며, 거기서 미디어 플로들은 이들의 동기 데이터에 맞춰 정확한 페이스 (pace)로 렌더링 되거나 프레젠테이션 수단(124)으로 주어진다. 실질적 프레젠테이션 수단(124)은 이를테면 컴퓨터나 이동국 디스플레이, 및 확성기 수단을 포함할 수 있다. 클라이언트(114) 역시 일반적으로, 최종 사용자가 통상적으로 사용자 인터페이스를 통해 제어할 수 있고, 상술한 제어 프로토콜을 통한 서버의 동작, 및 최종 사용자에 의해 주어진 명령에 기초한 재생 유닛(120) 동작 모두를 제어하는 제어 유닛(122)을 포함한다.
스트리밍 서버(112)에서 클라이언트(114)로의 멀티미디어 파일들의 전송은 원격통신 네트워크를 통해 일어난다는 것을 주지해야 하며, 그 전송 경로는 보통 복수의 원격 통신 네트워크 요소들을 포함한다. 따라서, 스트리밍 서버와 관련해 위에서 기술한 것과 적어도 일부 같은 방식을 통해, 가능한 대역폭이나 클라이언트(114)의 최대 디코딩 및 재생 레이트와 관련한 멀티미디어 데이터의 트래픽 정형화 (traffic shaping)을 수행할 수 있는 적어도 어떤 네트워크 요소가 존재한다는 것이 가능하다.
본 발명은 스트리밍 서버들에서의 효율적인 규모가변적 스트림 스위칭 및 로컬 파일 재생을 가능하게 하도록 파일 포맷 레벨 상에서 저에서 고 계층 스위칭 포인트들을 시그날링하는 시스템 및 방법을 제안한다. 본 발명은 또한, 가령 미디어 인식 네트워크 요소들에서의 규모가변성 계층들의 인텔리전트한 포워딩이나 스트림 수신기들 안에서 계산적으로 규모가변적인 디코딩을 수행하도록, 비디오 비트 스트림 내 저에서 고 계층 스위칭 포인트들을 시그날링하기 위한 시스템 및 방법을 개시한다.
본 발명의 여러 전형적 구현예들이 여기서 논의될 것이다. 그러나, 예컨대 여기 논의된 대안 실시예들의 일부들을 결합함으로써, 그러한 구현예들의 다른 변형예들 역시 있을 수 있다는 것을 알아야 한다.
파일 포맷 상의 저에서 고 계층 스위칭 포인트들을 시그날링하기 위한 제1구현예는, 일종의 규모가변성 정보로서, 저에서 고 계층 스위칭 포인트들의 시그날링 이용을 수반한다. 이 실시예에서, 각 계층마다 저에서 고 계층 스위칭 포인트들 시그날링하기 위한 새로운 박스가 정의된다. 이 박스는 각각의 규모가변적 계층에 대한 규모가변성 정보를 포함하는 데이터 구조, 예컨대 SVC 파일 포맷의 표준안 텍스트에 규정된 ScalableLayerEntry() 구조 안에 포함된다. 그 박스는 다음과 같이 규정된다:
Box Types (박스 타입): 'lswp'
Container (컨테이너): ScalableLayerEntry
Mandatory (강제성): No
Quantity (수량): Zero or One
이 박스는 스트림 안에서 개별 계층에 대한 저에서 고 계층 스위칭 포인트들의 컴팩트한 마킹 (marking)을 제공한다. 샘플 넘버의 오름 차순에 따라 엄격하게 테이블이 정렬된다. 계층 스위칭 포인트 박스가 한 계층에 대해 존재하지 않으면, 싱크 (sync) 샘플박스를 통해 시그날링 된 싱크 샘플들이나 섀도우 싱크 (shadow sync) 샘플박스를 통해 시그날링 된 섀도우 싱크 샘플들이 아닌, 어떠한 추가적 저에서 고 계층 스위칭 포인트들도 존재하지 않는다.
이 예에서 "entry_count"는 이어지는 테이블 내 엔트리들의 개수를 제공한다. "sample_number"는 이어지는 테이블에서 현 계층에 대해 저에서 고 계층 스위칭 포인트들의 정보가 시그날링 된 샘플의 샘플 넘버를 제공한다. "entry_count2"는 이어지는 테이블 내 엔트리들의 개수를 제공한다.
"delta_layer_id"는, sample_number와 같은 샘플 넘버를 갖는 현재의 샘플에서, 스트림이 현재의 계층으로부터 스위칭 될 수 있는 상위의 계층, 또는 스트림이 현재의 계층으로 스위칭 될 수 있는 하위의 계층을 특정한다. 0과 같거나 큰 값은, 현 샘플에서 스트림이 현재의 계층으로부터, (layerId + delta_layer_id +1)과 같은 계층 식별자를 가진 상위 계층으로 스위칭할 수 있다는 것을 가리킨다. 0보다 작은 값은, 현 샘플에서 스트림이 (layerId + delta_layer_id)에 해당하는 식별자를 가진 하위 계층으로부터 현재의 계층으로 스위칭될 수 있다는 것을 가리킨다. 각 계층의 layerId는 각 규모가변적 계층의 규모가변성 정보를 포함하는 데이터 구조로부터 찾는다.
파일 포맷 상의 저에서 고 계층 스위칭 포인트들을 시그날링하기 위한 제2구현예는, 모든 계층들의 저에서 고 계층 스위칭 포인트들을 전용 박스 안에 넣어 시그날링하는 일을 수반한다. 그 박스는 다음과 같이 규정된다:
Box Types (박스 타입): 'lswp'
Container (컨테이너): Sample Table Box ('stbl')
Mandatory (강제성): No
Quantity (수량): Zero or One
이 박스는 스트림 안에서 모든 계층들에 대한 저에서 고 계층 스위칭 포인트들의 컴팩트한 마킹 (marking)을 제공한다. 샘플 넘버의 오름 차순에 따라 엄격하게 테이블이 정렬된다. 계층 스위칭 포인트 박스가 존재하지 않으면, 싱크 (sync) 샘플박스를 통해 시그날링 된 싱크 샘플들이나 섀도우 싱크 (shadow sync) 샘플박스를 통해 시그날링 된 섀도우 싱크 샘플들이 아닌, 어떠한 추가적 저에서 고 계층 스위칭 포인트들도 존재하지 않는다.
이 실시예에서 "entry_count"는 이어지는 테이블 내 엔트리들의 개수를 제공한다. "sample_number"는 이어지는 테이블을 통해 저에서 고 계층 스위칭 포인트들의 정보가 시그날링 된 샘플의 샘플 넘버를 제공한다. "entry_count2"는 이어지는 테이블 내 엔트리들의 개수를 제공한다. "layer_id"는 이어지는 테이블을 통해 저에서 고 계층 스위칭 포인트들의 정보가 시그날링 된 계층의 계층 식별자를 제공한다. "entry_count3"는 이어지는 테이블 내 엔트리들의 개수를 제공한다.
"delta_layer_id"는, sample_number와 같은 샘플 넘버를 갖는 현재의 샘플에서, 스트림이 현재의 계층으로부터 스위칭 될 수 있는 상위의 계층, 또는 스트림이 현재의 계층으로 스위칭 될 수 있는 하위의 계층을 특정한다. 0과 같거나 큰 값은, 현 샘플에서 스트림이 현재의 계층으로부터, (layer_id + delta_layer_id +1)과 같은 계층 식별자를 가진 상위 계층으로 스위칭할 수 있다는 것을 가리킨다. 0보다 작은 값은, 현 샘플에서 스트림이 (layer_id + delta_layer_id)에 해당하는 식별자를 가진 하위 계층으로부터 현재의 계층으로 스위칭될 수 있다는 것을 가리킨다. 이러한 본 발명의 특정 실시예에서는, layer_id 루프 안에 sample_number 루프를 놓는 현재의 방법 대신에, layer_id의 루프 안에 sample_number의 루프를 놓는 것이 가능하다.
파일 포맷 상의 저에서 고 계층 스위칭 포인트들을 시그날링하기 위한 제3구현예는, 트랙 스위칭 포인트들의 시그날링 사용을 수반한다. 이 실시예는 위에서 언급한 다른 실시예들 가운데 어느 하나와 동시에 사용될 수도 있다. 이 실시예는, 독자적으로 디코딩 가능한 규모가변적 계층들의 조합들이, 일반적으로 참조하기의 이용을 통해 독자적인 트랙들을 형성하도록 조합되는 경우에 적용된다. ISO 베이스 미디어 파일 포맷에서, 미디어 데이터는 네트워크와 무관한 트랙들의 집합으로서 표현되는 반면, 힌트 트랙들은 네트워크 종속적인 전송 캡슐화 정보 및 관련 미디어 샘플들 또는 그 일부를 포함하여 패킷들을 전송한다 (힌트 트랙으로부터 미디어 트랙들로의 참조에 의해). 한 추출기 트랙이 미디어 트랙에 대한 참조정보들을 포함하여, SVC 액세스 유닛에 대해 코딩된 화상들의 일부가 추출기 트랙 안의 한 샘플을 형성하도록 한다. 따라서, 각 추출기 트랙은 서로 다른 규모가변적 계층들의 부분들을 나타내야 하며, 각 추출기 트랙은 같은 미디어 트랙에 대해 다른 추출기 트랙들을 디코딩하지 않고도 결정될 수 있어야 한다.
이러한 특정 구현예에 있어서, 힌트 트랙들이나 추출기트랙들 사이의 스위칭 포인트들이 식별될 수 있다. 이 트랙 내에서 지시된 스위칭 포인트 샘플들 중 적어도 하나로 스위칭을 행할 수 있는 충분한 규모가변적 계층들의 부분들을 포함하거나 참조하는 트랙들은 트랙 참조 컨테이너 박스 내 종류 'tswf'의 트랙 참조를 통해 이 트랙과 링크된다. 이 트랙이, 그 트랙들 내에서 지시된 스위칭 포인트 샘플들 중 적어도 하나로 스위칭을 행할 수 있는 충분한 규모가변적 계층들의 부분들을 포함하도록 하는 트랙들은, 트랙 참조 컨테이너 박스 내 종류 'tswf'의 트랙 참조를 통해 이 트랙과 링크된다.
Box Types (박스 타입): 'tswd'
Container (컨테이너): Sample Table Box ('stbl')
Mandatory (강제성): No
Quantity (수량): Zero 또는 정확히 One
이 박스는 힌트 트랙들이나 추출기 트랙들 사이의 저에서 고 계층 스위칭 포인트들의 컴팩트한 마킹을 제공한다. 테이블은 오름 차순의 샘플 넘버에 따라 엄격하게 정렬된다. 트랙 스위칭 포인트 박스가 존재하지 않으면, 싱크 (sync) 샘플박스를 통해 시그날링 된 싱크 샘플들이나 섀도우 싱크 (shadow sync) 샘플박스를 통해 시그날링 된 섀도우 싱크 샘플들이 아닌, 어떠한 추가적 저에서 고 계층 스위칭 포인트들도 존재하지 않는다.
이 시나리오 상에서, "entry_count"는 이어지는 테이블 내 엔트리들의 개수를 제공한다. "sample_number"는 스위칭 포인트 샘플의 샘플 넘버를 제공한다. "entry_count2"는 이어지는 테이블 내 엔트리들의 개수를 제공한다. "src_track_id"는 스트림이 현 트랙에 포함된 계층으로 스위칭 될 수 있는 ㅎ하항하위 계층을 포함하는 트랙의 트랙 식별자를 가리킨다. "dest_track_id"는 스트림이 현 트랙에 포함된 게층으로부터 스위칭될 수 있는 상위 계층을 포함하는 트랙의 트랙 식별자를 가리킨다.
다른 신택스 정의들 역시 가능하다는 것을 알아야 한다. 예를 들어, entry_count3과 dest_track_id 값들에 대한 관련 루프는 생략될 수 있다. 또한, 'tswf" 트랙 참조시 오직 한 트랙만이 지시되는 경우 src_track_id 값들에 대한 루프는 필요로 되지 않는다. 또한, 트랙 참조정보들인 'tswf' 및/또는 'tswt' 없이 TrackSwitchingPointBox 신택스를 독자적으로 사용하는 것 역시 가능하다. 또, 힌트 혹은 추출기 트랙들에서 저에서 고 계층 스위칭 포인트들을 얻기 위해 제1 또는 제2대안들을 이용을 이용해 미디어 트랙을 통해 시그날링 된 정보를 재사용하는 것 역시 가능하며, 여기서 각각의 힌트 또는 추출기 트랙마다, 예컨대 트랙 헤더나 샘플 엔트리를 통해 계층 식별자가 시그날링 된다.
다음은 비트 스트림 상의 저에서 고 계층 스위칭 포인트들의 시그날링을 위한 대안적 방법들에 대한 논의이다. 그러한 제1대안은, 새 NAL (Network Abstration Layer) 유닛 타입의 사용을 포함하여, 그 NAL 유닛 타입의 코딩 슬라이스들을 포함하는 한 화상이 인핸스먼트-계층 순시 디코딩 리프레쉬 (EIDR, enhancement-layer instantaneous decoding refresh) 화상임을 가리킨다. EIDR 화상은, EIDR 화상 및, 같은 계층 내 디코딩 순서상 다음에 오는 코딩 화상들 (즉, EIDR 화상과 각각 동일한 값의 temporal_level, dependency_id 및 quality_level을 가짐) 전부에 대한 디코딩이, 같은 계층 내 디코딩 순서상 EIDR 화상 이전에 있는 어떤 화상으로부터의 상호 예측 없이 수행될 수 있게 되는, 어떤 코딩 화상이다. EIDR 화상은 디코딩 프로세스로 하여금 EIDR 화상을 디코딩 한 직후에 같은 계층 내 모든 참조 화상들을 "참조에 미사용"이라고 마크하게 만든다. EIDR 화상은 전부가 0이 되는 temporal_level, dependency_id 및 quality_level을 갖지는 않을 것이다. 이러한 선택안의 맥락에서 여기 사용된 바와 같이, "같은 계층에서"라는 말은 디코딩 화상들이 EIDR 화상과 각각 같은 값의 temporal_level, dependency_id 및 quality_level을 가진다는 것을 의미한다는 것을 주지해야 한다. 최근의 SVC 표준안과 비교할 때 같은 계층에 있다는 개념에 있어서의 차이는, 여기서는 temporal_level이 고려된다는 데 있다는 것을 알아야 한다. temporal_level을 고려함으로써, 보다 낮은 프레임 레이트를 가진 한 계층으로부터 보다 높은 프레임 레이트를 가진 한 계층으로의, 저에서 고 계층 스위칭이 수행된다. 또, EIDR 화상의 코딩 효율성이 증가되는데, 이는 높은 값들의 temporal_level을 갖는 참조 화상들이 자동으로 참조 화상 리스트들로부터 제거되어, 일부 참조 화상 리스트 재정렬 명령들을 아끼게 되거나 참조 화상 색인 값들이 작아져서 엔트로피 코딩의 코딩 효율성을 향상시키게 되기 때문이다.
규모가변적 코딩의 특성에 따라, 하위 계층이 상위 계층에 의존할 수 없기 때문에, 같은 계층 및 그보다 높은 계층들의 화상으로부터 EIDR 화상이 예측될 수 없지만, 시간상으로 하위 계층들을 포함하는 더 낮은 계층들로부터의 화상들로부터는 계속 예측될 수가 있다. 이러한 것이 다음 하위 계층으로부터, EIDR 화상의 위치에서 EIDR 화상을 포함하는 계층으로의 계층 스위칭을 가능하게 한다. 예를 들어, 새 NAL 유닛 타입이 아래의 표 1에서와 같이 정의될 수 있다. 값 22가 새 NAL 유닛 타입으로서 사용되며, NAL 유닛 타입 20의 의미는 "규모가변적 확장 시 비-IDR 화상의 코딩 슬라이스"에서 "규모가변적 확장 시 비-IDR 및 비-EIDR 화상의 코딩 슬라이스"로 변경된다.
테이블 1
이 디자인은 temporal_level, dependency_id 및 quality_level이 시그날링되는 규모가변적 화장을 이용해 코딩된 규모가변적 계층들에 적용될 수 있다. H.264/AVC 표준 자체가 시간적 규모가변성을 지원하는데 사용될 수 있고, 그것은 부 시퀀스 정보 SEI 메시지들을 이용해 시그날링 될 수 있다. 그러나, 이 경우, temporal_level은 시그날링 되지 않으며, 따라서 현 SVC 표준안에 따라 모든 시간상의 규모가변적 계층들에 대해 그것은 0이라고 추정된다. 시간상의 계층들 간 효율적인 저에서 고 계층 스위칭을 수행하고, H.264/ABC 스트림 호환성을 깨지 않기 위해, 새로운 SEI 메시지가 사용되어 화상이 EIDR 화상이라는 것을 가리키도록 한다. 그러나, SEI 메시지를 이용함으로써, EIDR 화상의 참조 관리 기능은 불가능하게 된다, 즉, SEI 메시지에 의해 지시된 EIDR 화상이 저에서 고 계층 스위칭에 사용될 수는 있지만, 디코딩 프로세스가 같은 계층 내 모든 참조 화상들을 "참조에 미사용"이라고 마크하게 하지는 못한다. 이는, SEI 메시지들이 표준에 부합하는 디코더들에 대한 옵션이라는 사실에서 비롯된다. SEI 메시지는 다음과 같이 특정된다.
EIDR 화상 SEI 메시지 신택스
EIDR 화상 SEI 메시지 어의구조. 상기 어의구조는 다음과 같다, EIDR 화상 SEI 메시지는, 만일 존재하는 경우, temporal_level, dependency_id 및 quality_level이 비트 스트림 상에서 존재하지 않고 그에 따라 모두 0이라고 추정되는 한 코딩 화상과 결부된다. 타깃 화상 역시 서브 시퀀스 정보 SEI 메시지와 결부되는데, 이때 sub_seq_layer_num이 시그날링되어 시간상의 규모가변성 위계를 가리키도록 한다. EIDR 화상 SEI 메시지의 존재는, 타깃 화상이 EIDR 화상이라는 것을 가리키며, 이때, 그 화상 및 같은 계층에서 디코딩 순서상 다음에 오는 코딩 화상들 모두 (즉, EIDR 화상과 같은 값의 sub_seq_layer_num을 가지고 0에 해당하는 temporal_level, dependency_id 및 quality_level을 가진 것)의 디코딩은, 디코딩 순서상 EIDR 화상 이전에 있는 같은 계층 내 어떤 화상으로부터의 상호 예측 없이 디코딩될 수 있다.
"temporal_layer_num"은 서브 시퀀스 정보 SEI 메시지의 신택스 엘리먼트인 sub_seq_layer_num과 같은 어의구조를 가진다. 그 값은 같은 타깃 화상과 결부된 서브 시퀀스 정보 SEI 메시지의 sub_seq_layer_num과 동일하다. SEI 메시지의 신택스로부터 신택스 엘리먼트 temporal_laeyr_num을 빼는 것 역시 가능하다. 그러나, 이렇게 하면, EIDR 화상이 어느 시간상의 규모가변적 계층에 속하는지를 알기 위해 서브 시퀀스 정보 SEI 메시지의 파싱이 필요로 된다.
비트 스트림을 통해 저에서 고계층 스위칭 포인트들을 시그날링하는 제2대안 구현예는 IDR 화상의 규정을 변경하고 IDR 화상들을 코딩하기 위한 제약요건을 완화하는 것을 포함한다. 이 구현예에서, IDR은 다음과 같이 변경된다, temporal_level, dependency_id 및 quality_level 중어느 하나가 0이 아니면, IDR 화상은, IDR 화상 및 같은 계층 내에서 디코딩 순서상 다음에 오는 모든 코딩 화상들 (즉, IDR 화상과 각각 같은 값의 temporal_level, dependency_id 및 quality_level을 가진 것)의 디코딩은, 같은 계층에서의 디코딩 순서상 IDR 화상 이전에 있는 어떤 화상으로부터의 상호 예측 없이 수행될 수 있다. 또, 그러한 IDR 화상은 디코딩 프로세스로 하여금 IDR 화상을 디코딩 한 직후에 같은 계층 내 모든 참조 화상들을 "참조에 미사용"이라고 마크하게 만든다. 그렇지 않고, temporal_level, dependency_id 및 quality_level이 모두 0인 경우, IDR 화상 및 디코딩 순서에 있어 다음에 오는 모든 화상들의 디코딩이, 디코딩 순서상 IDR 화상 이전의 어떤 화상으로부터의 상호 예측 없이 수행될 수 있다. 그러한 IDR 화상은 IDR 화상을 디코딩한 직후 디코딩 프로세스가 모든 화상들을 "참조에 미사용"이라고 마크하게 만든다.
IDR 화상들의 코딩에 대한 제약사항 (즉, 액세스 유닛 내 모든 화상들이 IDR 화상들이거나, 액세스 유닛 내 어떤 화상도 IDR 화상이 아님)은 다음과 같이 완화된다. 모두가 0인 temporal_level, dependency_id 및 quality_level을 가진 한 화상이 IDR 화상이면, 같은 액세스 유닛 내 모든 다른 화상들은 IDR 화상들이다. 이러한 IDR 화상 코딩에 대한 완화된 제약요건으로 인해, 기저 계층 화상이 비 IDR 화상인 액세스 유닛 내 인핸스먼트 계층들에서 IDR 화상들을 포함하는 것이 가능하게 된다. 이러한 제2안에서 관찰할 수 있는 것과 같이, temporal_level, dependency_id 및 quality_level 중 어느 하나가 0이 아닐 때, IDR 화상 규정은, 상술한 비트 스트림 상의 저에서 고 계층 스위칭 포인트들의 시그날링 방법에 대한 제2안의 EIDR 화상 규정과 동일하다. 따라서, EIDR 화상의 모든 이점들이 적용된다. 여기 규정된 IDR 화상의 코딩은, 다음 하위 계층에서 IDR 화상의 위치에 IDR 화상을 포함하는 계층으로의 계층 스위칭을 가능하게 한다.
이러한 특정한 디자인이, temporal_level, dependency_id 및 quality_level이 시그날링되는 규모가변적 확장을 이용해 코딩되는 규모가변적 계층들에 적용될 수 있다. 제1안과 같은 방법이 사용되어, H.264/AVC 표준 자체를 이용해 코딩하는 시간적 계층들 사이에서의 효율적 저에서 고 계층 코딩을 가능하게 할 수 있다.
비트 스트림 상에서 저에서 고 계층 스위칭 포인트들을 시그날링하기 위한 제3의 대안적 구현예는, IDR 화상들을 코딩하기 위한 제약요건 완화 및 시간상의 규모가변적 계층들에 대한 SEI 메시지들의 이용을 수반한다. 이 안에서, IDR 화상의 규정은 그대로 변경되지 않은 채 남아 있지만, IDR 화상들을 코딩하기 위한 제약요건은 다음과 같이 완화된다.
모두가 0인 temporal_level, dependency_id 및 quality_level을 가진 한 화상이 IDR 화상이면, 같은 액세스 유닛 내 다른 모든 화상들이 IDR 화상들이다. 이러한 완화로 인해, 다른 값들을 가진 dependency_id나 quality_level 사이에서의 저에서 고 계층 스위칭을 행하는 IDR 화상들의 코딩이 가능하게 된다. 그러나, IDR 화상 규정은 변화되지 않기 때문에, 즉 temporal_level이 한 규모가변적 계층을 특정함에 있어 포함되지 않기 때문에, 시간상의 계층들 간 저에서 고 계층 스위칭의 문제는 여전히 해소되지 않은 채 남게 된다.
시간상의 계층들 간 저에서 고 계층 스위칭 문제를 해결하기 위해, 이들이 규모가변적 확장안을 이용해 코딩되든, H.264/AVC 표준 자체를 이용해 코딩되는지 여부에 따라, 위에서 논의된 제1안에 대해 기술된 것과 유사한 EIDR 화상 SEI 메시지가 사용되어, 그 SEI 메시지와 결부된 타깃 화상이 저에서 고 계층 스위칭에 사용될 수 있는 EIDR 화상이라는 것을 가리킨다. 그럼에도 불구하고, SEI 메시지들이 표준에 부합되는 디코더들에 있어서 옵션 사항이기 때문에, SEI 메시지에 의해 지시된 EIDR 화상은 참조 관리 기능을 가지지 못한다.
SEI의 신택스는, 비트 스트림 상의 저에서 고 계층 스위칭 포인트들의 시그날링을 위한 제1안에서의 것과 동일하다. 타깃 화상이 H.264/AVC 표준 자체를 이용하여 코딩될 때 그 어의구조 역시 동일하다. 타깃 화상이 규모가변적 확장을 이용해 코딩될 때, 그 어의구조는 다음과 같이 바뀐다.
EIDR 화상 SEI 메시지의 존재는, 타깃 화상이 EIDR 화상임을 가리키느데, 여기서, 그 화상 및 같은 계층에서 디코딩 순서상 다음에 오는 모든 코딩 화상들 (즉, EIDR 화상과 동일한 값들의 temporal_level, dependency_id 및 quality_level을 가짐)의 디코딩이, 디코딩 순서상 같은 계층에서 EIDR 화상 이전의 어떤 화상으로부터의 상호 예측 없이 디코딩될 수 있다. "temporal_layer_num"은 EDIR 화상의 temporal_level 값을 가리킨다. EIDR 화상이 규모가변적 확장을 이용해 코딩될 때 SEI 메시지들의 신택스로부터 신택스 엘리먼트 temporal_layer_num을 빼는 것 역시 가능하다.
비트 스트림 상에서 저에서 고 계층 스위칭 포인트들을 시그날링하기 위한 제4의 대안은, 모든 규모가변적 계층들에 대한 SEI 메시지들의 이용을 수반하다. 이 대안에서, EIDR 화상 SEI 메시지는 상기 제3안에서 정의된 메시지와 유사하며, SEI 메시지와 결부된 타깃 화상이 저에서 고 계층 스위칭에 사용될 수 있는 EIDR 화상임을 가리키는데 사용된다. 그러나, 이 특정 실시예에서, SEI 메시지는 서로 다른 값들의 dependency_id 또는 quality-level들 사이에서의 저에서 고 계층 스위칭 문제를 해결하기 위해서도 역시 사용된다.
도 3은 본 발명이 활용될 수 있는 시스템(10)을 보인 것으로서, 그 시스템은 네트워크를 통해 통신할 수 있는 여러 통신 장치들을 포함한다. 시스템(10)은 모바일 전화 네트워크, 무선 LAN (Local Area Network), 블루투스 개인 영역 네트워크, 이더넷 LAN, 토큰 링 LAN, 광역 네트워크, 인터넷 등등을 포함하나 이들에 국한되는 것은 아닌 유무선 네트워크들의 임의의 조합을 포함할 수 있다. 시스템(10)은 유선 및 무선 통신 장치들을 모두 포함할 수 있다.
예로서, 도 3에 도시된 시스템(10)은 모바일 전화 네트워크(11) 및 인터넷(28)을 포함한다. 인터넷(28)에 대한 접속은, 장거리 무선 접속, 단거리 무선 접속 및 전화선, 케이블 선, 전력선 등등을 포함하나 여기에 한정되는 것은 아닌 다양한 유선 접속들을 포함하나, 여기에 국한되는 것은 아니다.
예로 든 시스템(10)의 통신 장치들은 모바일 전화(12), 복합 PDA 및 모바일 전화(14), PDA(16), 통합 메시징 장치 (IMD, integrated messaging device)(18), 데스크 탑 컴퓨터(20), 및 노트북 컴퓨터(22)를 포함할 수 있으며, 상기 나열된 것에 국한하지 않는다. 통신 장치들은 정지형이거나, 이동하는 개인에 의해 소지되는 것 같은 이동형일 수 있다. 통신 장치들은 또한, 자동차, 트럭, 택시, 버스, 보트, 비행기, 자전거, 오토바이 등등을 포함하나 여기에 국한되지는 않은 교통 모드 상에 자리할 수도 있다. 통신 장치들 중 일부나 전부는 통화 및 메시지를 발신 및 수신하고 서비스 제공자들과 무선 접속(25)을 통해 기지국(24)까지 통신할 수 있다. 기지국(24)은 모바일 전화 네트워크(11) 및 인터넷(28) 사이에서 통신을 가능하게 하는 네트워크 서버(26)에 연결될 수 있다. 시스템(10)은 추가 통신 장치들 및 다른 종류의 통신 장치들을 포함할 수 있다.
통신 장치들은 CDMA (Code Division Multiple Access), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), TDMA (Time Division Multiple Access), FDMA (Frequency Division Multiple Access), TCP/IP (Transmission Control Protocol/Internet Protocol), SMS (Short Messaging Service), MMS (Multimedia Messaging Service), 이메일, IMS (Instant Messaging Service), 블루투스, IEEE 802.11 등등을 포함하나 여기 국한되는 것은 아닌 다양한 전송 기술들을 이용해 통신을 행할 수 있다. 통신 장치는 라디오, 적외선, 레이저, 케이블 접속 등등을 포함하나 거기에 국한되는 것은 아닌 다양한 매체를 이용해 통신을 행할 수 있다.
도 4 및 5는 본 발명이 구현될 수 있는 한 대표적 모바일 전화(12)를 보인 것이다. 그러나, 본 발명이 한 특정한 타입의 모바일 전화(12)나 기타 전자 기기에 한정되도록 의도되지는 않는다는 것을 알아야 한다. 도 4 및 5의 모바일 전화(12)는 하우징(30), 액정 디스플레이 형태의 디스플레이(32), 키패드(34), 마이크(36), 이어폰(38), 배터리(40), 적외선 포트(42), 안테나(44), 본 발명의 일 실시예에 따른 UICC 형태의 스마트 카드(46), 카드 리더(48), 라디오 인터페이스 회로(52), 코덱 회로(54), 컨트롤러(56) 및 메모리(58)를 포함한다. 개별 회로들 및 구성요소들은 모두 이 분야에 잘 알려져 있는 타입의 것들로서, 예를 들자면, 노키아의 모바일 전화기들에 속한 것들이 해당된다.
본 발명은 네트워크 환경하에서 컴퓨터들에 의해 실행되는 프로그램 코드 같은 컴퓨터 실행가능 명령들을 포함하는 프로그램 제품을 통해 일 실시예로서 구현될 수 있는 일반적인 방법의 단계들로서 기술되었다.
일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정의 추상적 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등등을 포함한다. 컴퓨터 실행가능 명령들, 관련 데이터 구조들, 및 프로그램 모듈들은 여기 개시된 방법의 단계들을 실행하기 위한 프로그램 코드의 예들을 나타낸다. 그러한 실행가능한 명령들 또는 관련 데이터 구조들의 특정 시퀀스는 그러한 단계들에서 설명된 기능들을 구현하기 위한 해당 동작들의 예들을 나타낸다.
본 발명의 소프트웨어 및 웹 구현물은, 다양한 데이터베이스 서치 단계들, 상관 단계들, 비교단계들 및 결정 단계들을 수행하기 위한 규칙 기반 로직 및 기타 로직을 갖춘 표준 프로그래밍 기술을 통해 구현될 수 있다. 명세서와 청구범위에서 사용된 "컴포넌트" 및 "모듈"이라는 말들은 소프트웨어 코드의 하나 이상의 라인들, 및/또는 하드웨어 구성, 및/또는 수동 입력 수취용 기기를 사용하는 구현물들을 포괄하도록 의도된 것임을 주지해야 한다.
본 발명의 실시예들에 대한 상기 내용은 예시 및 설명의 목적으로 제시된 것들이다. 그것이 본 발명의 전부가 되거나 개시된 특정 형태로 제한하고자 한 것이 아니고, 상기 개념들에 비춰 다양한 변경 및 치환이 가능하거나 본 발명의 실시로부터 획득될 수 있다. 실시예들은, 이 분야의 당업자가 본 발명을 다양한 실시예들과 숙고된 특정한 용도로 맞춰진 여러가지 변형을 통해 활용할 수 있도록 하는 본 발명의 원리들 및 그 실제적 어플리케이션을 설명하기 위해 선택 및 기술되었다.
Claims (8)
- 화상 시퀀스를 코딩된 화상 (coded picture)의 시퀀스로 인코딩하는 방법에 있어서, 상기 방법은
상기 화상 시퀀스의 제 1 화상을 상기 코딩된 화상 시퀀스의 제 1 코딩된 참조 화상으로 인코딩하는 동작으로서, 상기 제 1 코딩된 참조 화상은 상기 제 1 코딩된 참조 화상의 시간 스케일러빌리티 (temporal scalability)를 나타내는 제 1 시간 레벨 값을 포함하는 동작;
상기 제 1 화상의 인코딩 후에, 상기 화상 시퀀스의 제 2 화상을 상기 코딩된 화상 시퀀스의 제 2 코딩된 화상으로 인코딩하는 동작으로서, 상기 제 2 코딩된 화상은 상기 제 2 코딩된 화상의 시간 스케일러빌리티 (temporal scalability)를 나타내는 제 2 시간 레벨 값을 포함하는 동작; 및
제 2 시간 레벨 값과 같거나 이보다 더 높은 상기 제 1 시간 레벨 값에 반응하여, 상기 제 1 코딩된 참조 화상을 참조를 위해 사용하지 않은 것으로 마킹하는 동작을 포함하며,
상기 제 1 코딩된 참조 화상과 상기 제 2 코딩된 화상은 동일한 공간 스케일러빌리티 (spatial scalability) 계층 및 동일 품질 스케일러빌리티 계층에 존재하는, 방법. - 제 1항에 있어서, 상기 제 1 코딩된 참조 화상을 참조를 위해 사용하지 않은 것으로 마킹하는 디코딩 프로세스를 유발하는 상기 제 2 코딩된 화상에 상응하는 표시 (indication)을 인코딩하는 동작을 더 포함하는 방법.
- 코딩된 화상의 시퀀스를 디코딩된 화상의 시퀀스로 디코딩하는 방법에 있어서, 상기 방법은
상기 코딩된 화상 시퀀스의 제 1 코딩된 화상을 상기 디코딩된 화상 시퀀스의 제 1 디코딩된 참조 화상으로 디코딩하는 동작으로서, 상기 제 1 코딩된 화상은 상기 제 1 코딩된 화상의 시간 스케일러빌리티를 나타내는 제 1 시간 레벨 값을 포함하는 동작;
상기 제 1 코딩된 화상의 디코딩 후에, 상기 코딩된 화상 시퀀스의 제 2 코딩된 화상을 상기 디코딩된 화상 시퀀스의 제 2 디코딩된 화상으로 디코딩하는 동작으로서, 상기 제 2 코딩된 화상은 상기 제 2 코딩된 화상의 시간 스케일러빌리티를 나타내는 제 2 시간 레벨 값을 포함하는 동작;
상기 제 1 시간 레벨 값을 상기 제 2 시간 레벨 값과 비교하는 동작; 및
상기 제 2 시간 레벨 값과 동일하거나 이보다 높은 상기 제 1 시간 레벨 값에 반응하여, 상기 제 1 디코딩된 참조 화상을 참조를 위해 사용하지 않는 것으로 마킹하는 동작을 포함하며,
상기 제 1 코딩된 화상과 상기 제 2 코딩된 화상은 동일한 공간 스케일러빌리티 계층 및 동일한 품질 스케일러빌리티 계층에 존재하는 방법. - 제 3항에 있어서, 상기 비교 동작 이전에, 상기 제 1 디코딩된 화상을 참조를 위해 사용하지 않은 것으로 표시하는 디코딩 프로세스를 야기하는 상기 제 2 코딩된 화상에 상응하는 표시를 디코딩하는 동작을 더 포함하는 방법.
- 화상 시퀀스를 코딩된 화상 시퀀스로 인코딩하는 전자 장치에 있어서, 상기 전자 장치는
프로세서; 및
상기 프로세서와 연결되어 동작하며 컴퓨터 프로그램을 포함하는 메모리 유닛을 포함하며, 상기 컴퓨터 프로그램은
상기 화상 시퀀스의 제 1 화상을 상기 코딩된 화상의 제 1 코딩된 참조 화상 으로 인코딩하는 컴퓨터 코드로서, 상기 제 1 코딩된 참조 화상은 상기 제 1 코딩된 참조 화상의 시간 스케일러빌리티 (temporal scalability)를 나타내는 제 1 시간 레벨 값을 포함하는 컴퓨터 코드;
상기 제 1 화상의 인코딩 후에, 상기 화상 시퀀스의 제 2 화상을 상기 코딩된 화상 시퀀스의 제 2 코딩된 화상으로 인코딩하는 컴퓨터 코드로서, 상기 제 2 코딩된 화상은 상기 제 2 코딩된 화상의 시간 스케일러빌리티 (temporal scalability)를 나타내는 제 2 시간 레벨 값을 포함하며, 상기 제 1 코딩된 참조 화상 및 상기 제 2 코딩된 화상은 동일 공간 스케일러빌리티 (spatial scalability) 계층 및 동일 품질 스케일러빌리티 계층에 존재하는 컴퓨터 코드; 및
상기 제 2 시간 레벨 값과 같거나 이보다 더 높은 상기 제 1 시간 레벨 값에 반응하여, 상기 제 1 코딩된 참조 화상을 참조를 위해 사용하지 않은 것으로 마킹하는 컴퓨터 코드를 포함하는 전자 장치. - 제 5항에 있어서, 상기 제 1 코딩된 참조 화상을 참조를 위해 사용하지 않은 것으로 마킹하는 디코딩 프로세스를 유발하는 상기 제 2 코딩된 화상에 상응하는 표시 (indication)을 인코딩하는 컴퓨터 코드를 더 포함하는 전자 장치.
- 코딩된 화상 시퀀스를 디코딩된 화상의 시퀀스로 디코딩하는 전자 장치에 있어서, 상기 전자 장치는
프로세서; 및
상기 프로세서와 연결되어 동작하며 컴퓨터 프로그램을 포함하는 메모리 유닛을 포함하며, 상기 컴퓨터 프로그램은
상기 코딩된 화상 시퀀스의 제 1 코딩된 화상을 상기 디코딩된 화상 시퀀스의 제 1 디코딩된 참조 화상으로 디코딩하는 컴퓨터 코드로서, 상기 제 1 코딩된 화상은 상기 제 1 코딩된 화상의 시간 스케일러빌리티를 나타내는 제 1 시간 레벨 값을 포함하는 컴퓨터 코드;
상기 제 1 코딩된 화상의 디코딩 후에, 상기 코딩된 화상 시퀀스의 제 2 코딩된 화상을 상기 디코딩된 화상 시퀀스의 제 2 디코딩된 화상으로 디코딩하는 컴퓨터 코드로서, 상기 제 2 코딩된 화상은 상기 코딩된 화상의 시간 스케일러빌리티를 나타내는 제 2 시간 레벨 값을 포함하며, 상기 제 1 코딩된 화상과 상기 제 2 코딩된 화상은 동일한 공간 스케일러빌리티 계층 및 동일한 품질 스케일러빌리티 계층에 존재하는 컴퓨터 코드;
상기 제 1 시간 레벨 값을 상기 제 2 시간 레벨 값과 비교하는 컴퓨터 코드; 및
상기 제 2 공간 레벨 값과 동일하거나 이보다 높은 상기 제 1 공간 레벨 값에 반응하여, 상기 제 1 디코딩된 참조 화상을 참조를 위해 사용하지 않는 것으로 마킹하는 컴퓨터 코드를 포함하는 전자 장치. - 제 7항에 있어서, 상기 비교 동작 이전에, 상기 제 1 디코딩된 참조 화상을 참조를 위해 사용하지 않은 것으로 표시하는 디코딩 프로세스를 야기하는 상기 제 2 코딩된 화상에 상응하는 표시를 디코딩하는 컴퓨터 코드를 더 포함하는 전자 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72586805P | 2005-10-11 | 2005-10-11 | |
US60/725,868 | 2005-10-11 | ||
PCT/IB2006/002841 WO2007042916A1 (en) | 2005-10-11 | 2006-10-11 | System and method for efficient scalable stream adaptation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087011094A Division KR101125819B1 (ko) | 2005-10-11 | 2006-10-11 | 효율적인 규모가변적 스트림 조정을 위한 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110106431A KR20110106431A (ko) | 2011-09-28 |
KR101245576B1 true KR101245576B1 (ko) | 2013-03-20 |
Family
ID=37942356
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117018104A KR101245576B1 (ko) | 2005-10-11 | 2006-10-11 | 효율적인 규모가변적 스트림 조정을 위한 시스템 및 방법 |
KR1020087011094A KR101125819B1 (ko) | 2005-10-11 | 2006-10-11 | 효율적인 규모가변적 스트림 조정을 위한 시스템 및 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087011094A KR101125819B1 (ko) | 2005-10-11 | 2006-10-11 | 효율적인 규모가변적 스트림 조정을 위한 시스템 및 방법 |
Country Status (15)
Country | Link |
---|---|
US (2) | US9635396B2 (ko) |
EP (2) | EP1935182B1 (ko) |
JP (2) | JP4950206B2 (ko) |
KR (2) | KR101245576B1 (ko) |
CN (2) | CN101317460A (ko) |
AU (1) | AU2006300881B2 (ko) |
BR (1) | BRPI0617728A8 (ko) |
DE (1) | DE602006051050C5 (ko) |
HK (1) | HK1149989A1 (ko) |
MY (1) | MY147530A (ko) |
PL (1) | PL2375749T3 (ko) |
RU (1) | RU2407217C2 (ko) |
TW (1) | TWI341136B (ko) |
WO (1) | WO2007042916A1 (ko) |
ZA (1) | ZA200803201B (ko) |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
EP2348640B1 (en) | 2002-10-05 | 2020-07-15 | QUALCOMM Incorporated | Systematic encoding of chain reaction codes |
US7418651B2 (en) | 2004-05-07 | 2008-08-26 | Digital Fountain, Inc. | File download and streaming system |
US8289370B2 (en) | 2005-07-20 | 2012-10-16 | Vidyo, Inc. | System and method for scalable and low-delay videoconferencing using scalable video coding |
US8670437B2 (en) | 2005-09-27 | 2014-03-11 | Qualcomm Incorporated | Methods and apparatus for service acquisition |
US8229983B2 (en) | 2005-09-27 | 2012-07-24 | Qualcomm Incorporated | Channel switch frame |
CN100456834C (zh) * | 2005-10-17 | 2009-01-28 | 华为技术有限公司 | H.264多媒体通信的服务质量监测方法 |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
DE102006012449A1 (de) * | 2006-03-17 | 2007-09-20 | Benq Mobile Gmbh & Co. Ohg | Verfahren zum Dekodieren eines Datenstroms und Empfänger |
EP2005607B1 (en) * | 2006-03-27 | 2016-09-07 | Vidyo, Inc. | System and method for management of scalability information in scalable video coding systems using control messages |
ZA200807142B (en) * | 2006-03-29 | 2010-02-24 | Thomson Licensing | Multi view video coding method and device |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US8699583B2 (en) | 2006-07-11 | 2014-04-15 | Nokia Corporation | Scalable video coding and decoding |
US8365060B2 (en) | 2006-08-24 | 2013-01-29 | Nokia Corporation | System and method for indicating track relationships in media files |
RU2435235C2 (ru) | 2006-08-24 | 2011-11-27 | Нокиа Корпорейшн | Система и способ указания взаимосвязей треков в мультимедийном файле |
CA2849697A1 (en) | 2006-10-16 | 2008-04-24 | Alexandros Eleftheriadis | Systems and methods for signaling and performing temporal level switching in scalable video coding |
KR101089072B1 (ko) | 2006-11-14 | 2011-12-09 | 퀄컴 인코포레이티드 | 채널 전환용 시스템 및 방법 |
CA2669153A1 (en) | 2006-11-15 | 2008-05-22 | Qualcomm Incorporated | Systems and methods for applications using channel switch frames |
AU2007342468B2 (en) * | 2007-01-05 | 2011-11-24 | Interdigital Vc Holdings, Inc. | Hypothetical reference decoder for scalable video coding |
CN101622879B (zh) | 2007-01-18 | 2012-05-23 | 诺基亚公司 | 以rtp净荷格式传输sei消息 |
EP3518547B1 (en) | 2007-04-12 | 2021-10-06 | InterDigital VC Holdings, Inc. | Methods and apparatus for video usability information (vui) for scalable video coding (svc) |
CN101056405B (zh) * | 2007-04-24 | 2010-10-20 | 武汉大学 | 可伸缩视频流的一种快速切换方法 |
AP2923A (en) * | 2007-05-04 | 2014-05-31 | Nokia Corp | Media stream recording into a reception hint trackof a multimedia container file |
AU2008298602A1 (en) | 2007-09-12 | 2009-03-19 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
KR101401967B1 (ko) * | 2007-12-04 | 2014-06-27 | 삼성전자주식회사 | 암호화된 데이터 스트림의 트릭 플레이 방법 및 장치 |
EP2086237B1 (en) * | 2008-02-04 | 2012-06-27 | Alcatel Lucent | Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions |
IT1394245B1 (it) * | 2008-09-15 | 2012-06-01 | St Microelectronics Pvt Ltd | Convertitore per video da tipo non-scalabile a tipo scalabile |
TW201032597A (en) * | 2009-01-28 | 2010-09-01 | Nokia Corp | Method and apparatus for video coding and decoding |
WO2010117315A1 (en) * | 2009-04-09 | 2010-10-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Media container file management |
US8719309B2 (en) * | 2009-04-14 | 2014-05-06 | Apple Inc. | Method and apparatus for media data transmission |
EP2453652B1 (en) * | 2009-07-06 | 2019-09-04 | Huawei Technologies Co., Ltd. | Transmission method, receiving method and device for scalable video coding files |
US8976871B2 (en) | 2009-09-16 | 2015-03-10 | Qualcomm Incorporated | Media extractor tracks for file format track selection |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
CN102714715B (zh) * | 2009-09-22 | 2016-01-20 | 高通股份有限公司 | 用于文件格式轨迹选择的媒体提取器轨迹 |
US9049497B2 (en) | 2010-06-29 | 2015-06-02 | Qualcomm Incorporated | Signaling random access points for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
CN103119934B (zh) * | 2010-07-20 | 2017-02-22 | 诺基亚技术有限公司 | 一种流媒体传输装置 |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
US8928809B2 (en) * | 2010-09-15 | 2015-01-06 | Verizon Patent And Licensing Inc. | Synchronizing videos |
US8467324B2 (en) * | 2010-11-03 | 2013-06-18 | Broadcom Corporation | Managing devices within a vehicular communication network |
AU2012205650B2 (en) * | 2011-01-14 | 2016-08-11 | Vidyo, Inc. | Improved NAL unit header |
CA2824027C (en) | 2011-01-14 | 2017-11-07 | Vidyo, Inc. | High layer syntax for temporal scalability |
US9113172B2 (en) | 2011-01-14 | 2015-08-18 | Vidyo, Inc. | Techniques for describing temporal coding structure |
CN103053160B (zh) | 2011-01-14 | 2016-11-16 | 太阳专利托管公司 | 图像编码方法及图像编码装置 |
PL2677751T3 (pl) * | 2011-02-16 | 2021-10-25 | Sun Patent Trust | Sposób kodowania wideo i sposób dekodowania wideo |
US20120287999A1 (en) * | 2011-05-11 | 2012-11-15 | Microsoft Corporation | Syntax element prediction in error correction |
DE102011078021A1 (de) * | 2011-06-22 | 2012-12-27 | Institut für Rundfunktechnik GmbH | Vorrichtung und Verfahren zum Schalten von Echtzeitmedienströmen |
US20130170561A1 (en) * | 2011-07-05 | 2013-07-04 | Nokia Corporation | Method and apparatus for video coding and decoding |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
KR102047492B1 (ko) * | 2012-03-12 | 2019-11-22 | 삼성전자주식회사 | 스케일러블 비디오 부호화 방법 및 장치, 스케일러블 비디오 복호화 방법 및 장치 |
CA2869132C (en) * | 2012-04-06 | 2017-08-22 | Vidyo, Inc. | Level signaling for layered video coding |
US9838684B2 (en) * | 2012-04-11 | 2017-12-05 | Qualcomm Incorporated | Wavefront parallel processing for video coding |
KR102096566B1 (ko) | 2012-04-13 | 2020-04-02 | 지이 비디오 컴프레션, 엘엘씨 | 저지연 화상 코딩 |
US9609341B1 (en) * | 2012-04-23 | 2017-03-28 | Google Inc. | Video data encoding and decoding using reference picture lists |
KR101995270B1 (ko) | 2012-04-25 | 2019-07-03 | 삼성전자주식회사 | 비디오 데이터를 재생하는 방법 및 장치 |
CN103843342B (zh) * | 2012-06-12 | 2017-04-12 | Lg电子株式会社 | 图像解码方法 |
US9313486B2 (en) | 2012-06-20 | 2016-04-12 | Vidyo, Inc. | Hybrid video coding techniques |
CA3095638C (en) | 2012-06-29 | 2023-11-14 | Ge Video Compression, Llc | Video data stream concept |
US9602827B2 (en) * | 2012-07-02 | 2017-03-21 | Qualcomm Incorporated | Video parameter set including an offset syntax element |
MX367928B (es) | 2012-07-03 | 2019-09-12 | Samsung Electronics Co Ltd | Metodo y aparato para codificar video que tiene escalabilidad temporal y metodo y aparato para decodificar video que tiene escalabilidad temporal. |
CA2878807C (en) * | 2012-07-09 | 2018-06-12 | Vid Scale, Inc. | Codec architecture for multiple layer video coding |
US9967583B2 (en) | 2012-07-10 | 2018-05-08 | Qualcomm Incorporated | Coding timing information for video coding |
WO2014051396A1 (ko) * | 2012-09-27 | 2014-04-03 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 장치 |
US9706199B2 (en) * | 2012-09-28 | 2017-07-11 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
US20140092953A1 (en) * | 2012-10-02 | 2014-04-03 | Sharp Laboratories Of America, Inc. | Method for signaling a step-wise temporal sub-layer access sample |
US20150237372A1 (en) * | 2012-10-08 | 2015-08-20 | Samsung Electronics Co., Ltd. | Method and apparatus for coding multi-layer video and method and apparatus for decoding multi-layer video |
US9154785B2 (en) * | 2012-10-08 | 2015-10-06 | Qualcomm Incorporated | Sub-bitstream applicability to nested SEI messages in video coding |
KR20140087971A (ko) | 2012-12-26 | 2014-07-09 | 한국전자통신연구원 | 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치 |
KR101825575B1 (ko) * | 2013-01-07 | 2018-02-05 | 노키아 테크놀로지스 오와이 | 비디오 코딩 및 디코딩 방법 및 장치 |
US20140218473A1 (en) * | 2013-01-07 | 2014-08-07 | Nokia Corporation | Method and apparatus for video coding and decoding |
US9596486B2 (en) * | 2013-04-05 | 2017-03-14 | Qualcomm Incorporated | IRAP access units and bitstream switching and splicing |
US9749627B2 (en) | 2013-04-08 | 2017-08-29 | Microsoft Technology Licensing, Llc | Control data for motion-constrained tile set |
US9674522B2 (en) * | 2013-04-08 | 2017-06-06 | Qualcomm Incorporated | Device and method for scalable coding of video information |
WO2014170547A1 (en) | 2013-04-17 | 2014-10-23 | Nokia Corporation | An apparatus, a method and a computer program for video coding and decoding |
JP6120667B2 (ja) * | 2013-05-02 | 2017-04-26 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラム、及び記録媒体 |
JP6361866B2 (ja) * | 2013-05-09 | 2018-07-25 | サン パテント トラスト | 画像処理方法および画像処理装置 |
US10003815B2 (en) | 2013-06-03 | 2018-06-19 | Qualcomm Incorporated | Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures |
US20150016500A1 (en) * | 2013-07-11 | 2015-01-15 | Qualcomm Incorporated | Device and method for scalable coding of video information |
US9525883B2 (en) * | 2013-07-15 | 2016-12-20 | Qualcomm Incorporated | Cross-layer alignment of intra random access point pictures |
JP6514197B2 (ja) | 2013-07-15 | 2019-05-15 | ジーイー ビデオ コンプレッション エルエルシー | ネットワーク装置およびエラー処理の方法 |
US10284858B2 (en) * | 2013-10-15 | 2019-05-07 | Qualcomm Incorporated | Support of multi-mode extraction for multi-layer video codecs |
EP2876890A1 (en) * | 2013-11-21 | 2015-05-27 | Thomson Licensing | Method and apparatus for frame accurate synchronization of video streams |
US9826232B2 (en) * | 2014-01-08 | 2017-11-21 | Qualcomm Incorporated | Support of non-HEVC base layer in HEVC multi-layer extensions |
CA2942838C (en) | 2014-03-17 | 2019-10-01 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
JP2016015009A (ja) * | 2014-07-02 | 2016-01-28 | ソニー株式会社 | 情報処理システム、情報処理端末、および情報処理方法 |
GB2538997A (en) * | 2015-06-03 | 2016-12-07 | Nokia Technologies Oy | A method, an apparatus, a computer program for video coding |
US20170347084A1 (en) * | 2016-05-27 | 2017-11-30 | Intel Corporation | Virtual reality panoramic video system using scalable video coding layers |
US10326815B2 (en) * | 2016-12-20 | 2019-06-18 | LogMeln, Inc. | Techniques for scalably sharing video through a streaming server |
CN109327711A (zh) * | 2018-10-22 | 2019-02-12 | 高斯贝尔数码科技股份有限公司 | 音视频的内容格式分层结构、加密方法、解密方法及终端 |
EP3891977A4 (en) * | 2018-12-29 | 2022-06-22 | Huawei Technologies Co., Ltd. | METHOD AND DEVICE FOR INTRAPREDICTION |
MX2021007999A (es) * | 2018-12-31 | 2021-10-22 | Huawei Tech Co Ltd | Método y aparato de modelado lineal de componentes cruzados para intra predicción. |
US20210352341A1 (en) * | 2020-05-06 | 2021-11-11 | At&T Intellectual Property I, L.P. | Scene cut-based time alignment of video streams |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5988863A (en) * | 1996-01-30 | 1999-11-23 | Demografx | Temporal and resolution layering in advanced television |
US20060251169A1 (en) | 2005-04-13 | 2006-11-09 | Nokia Corporation | Method, device and system for effectively coding and decoding of video data |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2126467A1 (en) * | 1993-07-13 | 1995-01-14 | Barin Geoffry Haskell | Scalable encoding and decoding of high-resolution progressive video |
US6480541B1 (en) * | 1996-11-27 | 2002-11-12 | Realnetworks, Inc. | Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts |
US6269192B1 (en) * | 1997-07-11 | 2001-07-31 | Sarnoff Corporation | Apparatus and method for multiscale zerotree entropy encoding |
RU2201654C2 (ru) | 1997-12-23 | 2003-03-27 | Томсон Лайсенсинг С.А. | Способ низкошумового кодирования и декодирования |
US20030123546A1 (en) | 2001-12-28 | 2003-07-03 | Emblaze Systems | Scalable multi-level video coding |
EP1479245A1 (en) | 2002-01-23 | 2004-11-24 | Nokia Corporation | Grouping of image frames in video coding |
US6996173B2 (en) * | 2002-01-25 | 2006-02-07 | Microsoft Corporation | Seamless switching of scalable video bitstreams |
GB2386275B (en) * | 2002-03-05 | 2004-03-17 | Motorola Inc | Scalable video transmissions |
US20040006575A1 (en) | 2002-04-29 | 2004-01-08 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
US20050226322A1 (en) * | 2002-05-31 | 2005-10-13 | Van Der Vleuten Renatus J | Non-scalable to scalable video conversion method, scalable to non-scalable video conversion method |
US7492387B2 (en) * | 2002-08-05 | 2009-02-17 | Chih-Lung Yang | Implementation of MPCP MCU technology for the H.264 video standard |
MY134659A (en) * | 2002-11-06 | 2007-12-31 | Nokia Corp | Picture buffering for prediction references and display |
US8194751B2 (en) * | 2003-02-19 | 2012-06-05 | Panasonic Corporation | Moving picture coding method and moving picture decoding method |
US20040260827A1 (en) * | 2003-06-19 | 2004-12-23 | Nokia Corporation | Stream switching based on gradual decoder refresh |
MXPA06006107A (es) * | 2003-12-01 | 2006-08-11 | Samsung Electronics Co Ltd | Metodo y aparato de codificacion y decodificacion escalables de video. |
US8503541B2 (en) * | 2004-01-16 | 2013-08-06 | Motorola Mobility Llc | Method and apparatus for determining timing information from a bit stream |
EP1638333A1 (en) | 2004-09-17 | 2006-03-22 | Mitsubishi Electric Information Technology Centre Europe B.V. | Rate adaptive video coding |
JP2008516556A (ja) | 2004-10-13 | 2008-05-15 | トムソン ライセンシング | コンプレクシティスケーラブル映像符号化復号化方法及び装置 |
US7671894B2 (en) * | 2004-12-17 | 2010-03-02 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for processing multiview videos for view synthesis using skip and direct modes |
EP1773063A1 (en) | 2005-06-14 | 2007-04-11 | Thomson Licensing | Method and apparatus for encoding video data, and method and apparatus for decoding video data |
-
2006
- 2006-10-11 RU RU2008113747/09A patent/RU2407217C2/ru active
- 2006-10-11 KR KR1020117018104A patent/KR101245576B1/ko active IP Right Grant
- 2006-10-11 US US11/546,638 patent/US9635396B2/en active Active
- 2006-10-11 JP JP2008535118A patent/JP4950206B2/ja active Active
- 2006-10-11 MY MYPI20081047A patent/MY147530A/en unknown
- 2006-10-11 PL PL11170371T patent/PL2375749T3/pl unknown
- 2006-10-11 DE DE602006051050.0A patent/DE602006051050C5/de active Active
- 2006-10-11 CN CNA2006800444909A patent/CN101317460A/zh active Pending
- 2006-10-11 CN CN201010586087.7A patent/CN101998123B/zh active Active
- 2006-10-11 KR KR1020087011094A patent/KR101125819B1/ko active IP Right Grant
- 2006-10-11 EP EP06820789.3A patent/EP1935182B1/en active Active
- 2006-10-11 EP EP11170371.6A patent/EP2375749B1/en active Active
- 2006-10-11 TW TW095137315A patent/TWI341136B/zh active
- 2006-10-11 BR BRPI0617728A patent/BRPI0617728A8/pt not_active Application Discontinuation
- 2006-10-11 WO PCT/IB2006/002841 patent/WO2007042916A1/en active Application Filing
- 2006-10-11 AU AU2006300881A patent/AU2006300881B2/en active Active
-
2008
- 2008-04-11 ZA ZA200803201A patent/ZA200803201B/xx unknown
-
2009
- 2009-01-21 HK HK11107862.7A patent/HK1149989A1/xx unknown
-
2011
- 2011-06-06 JP JP2011138904A patent/JP5337203B2/ja active Active
- 2011-08-03 US US13/197,672 patent/US20120027316A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5988863A (en) * | 1996-01-30 | 1999-11-23 | Demografx | Temporal and resolution layering in advanced television |
US20060251169A1 (en) | 2005-04-13 | 2006-11-09 | Nokia Corporation | Method, device and system for effectively coding and decoding of video data |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101245576B1 (ko) | 효율적인 규모가변적 스트림 조정을 위한 시스템 및 방법 | |
RU2697741C2 (ru) | Система и способ предоставления указаний о выводе кадров при видеокодировании | |
RU2746934C9 (ru) | Межуровневое предсказание для масштабируемого кодирования и декодирования видеоинформации | |
KR100984693B1 (ko) | 규모가변적 비디오 코딩의 픽처 경계 기호 | |
US20070086521A1 (en) | Efficient decoded picture buffer management for scalable video coding | |
EP2589221B1 (en) | Signaling random access points for streaming video data | |
CN101518087B (zh) | 用于指示媒体文件中轨道关系的系统和方法 | |
RU2437245C2 (ru) | Сигнализация о множестве значений времени декодирования в медиафайлах | |
CN101507281A (zh) | 媒体文件中的兴趣区域可缩放性信息的信号发送 | |
EP2589222A1 (en) | Signaling video samples for trick mode video representations | |
AU2011202791B2 (en) | System and method for efficient scalable stream adaptation | |
Moiron et al. | Video transcoding techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20160218 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170220 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180219 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200218 Year of fee payment: 8 |