KR20110106465A - 비디오 코딩 및 디코딩을 위한 방법 및 장치 - Google Patents
비디오 코딩 및 디코딩을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20110106465A KR20110106465A KR1020117019640A KR20117019640A KR20110106465A KR 20110106465 A KR20110106465 A KR 20110106465A KR 1020117019640 A KR1020117019640 A KR 1020117019640A KR 20117019640 A KR20117019640 A KR 20117019640A KR 20110106465 A KR20110106465 A KR 20110106465A
- Authority
- KR
- South Korea
- Prior art keywords
- access unit
- bitstream
- picture
- decodable
- decoding
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 230000003139 buffering effect Effects 0.000 claims description 45
- 239000000872 buffer Substances 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 239000010410 layer Substances 0.000 description 86
- 230000002123 temporal effect Effects 0.000 description 53
- 230000008569 process Effects 0.000 description 49
- 230000005540 biological transmission Effects 0.000 description 48
- 238000012545 processing Methods 0.000 description 35
- 238000011084 recovery Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 26
- 239000012634 fragment Substances 0.000 description 18
- 230000003044 adaptive effect Effects 0.000 description 16
- 238000000926 separation method Methods 0.000 description 14
- 238000005538 encapsulation Methods 0.000 description 12
- 239000011229 interlayer Substances 0.000 description 12
- 238000012937 correction Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000009877 rendering Methods 0.000 description 7
- 238000005192 partition Methods 0.000 description 6
- 230000000750 progressive effect Effects 0.000 description 6
- 230000009897 systematic effect Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000002265 prevention Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 238000002716 delivery method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241000036569 Carp sprivivirus Species 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 241000545442 Radix Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000003989 repetitive behavior Effects 0.000 description 1
- 208000013406 repetitive behavior Diseases 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 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/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
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- 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/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/8451—Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 방법은, 액세스 유닛들의 시퀀스를 포함하는 비트스트림을 수신하고; 상기 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하는 것을 포함한다.
Description
본 발명은 일반적으로 비디오 코딩의 분야에 관련되며, 더 상세하게는, 인코딩된 데이터를 디코딩하는 것을 효율적으로 시작하는 것에 관련된다.
이 섹션은 청구범위에서 개시된 본 발명의 배경이나 환경을 제공하려고 의도된 것이다. 여기에서의 설명은 추구될 수 있을 개념들을 포함할 수 있을 것이지만, 반드시 이전에 고안되었거나 또는 추구되었던 것일 필요는 없다. 그러므로, 여기에서 다르게 표시되지 않았다면, 이 섹션에서 기술된 것은 본 발명의 상세한 설명이나 청구범위에 대한 종래 기술은 아니며 그리고 이 섹션에 포함되었다고 해서 종래 기술로서 인정되는 것은 아니다.
하나 또는 그 이상의 네트워크들을 통해서 비디오 콘텐트를 전달하는 것을 용이하게 하기 위해서, 여러 코딩 표준들이 개발되어왔다. 비디오 코딩 표준들은 ITU-T H.261, ISO/IEC MPEG-I 비디오, 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으로도 알려져 있다), 그리고 H.264/AVC의 스케일러블 비디오 코딩 (scalable video coding (SVC)) 확장을 포함한다. 추가로, 새로운 비디오 코딩 표준들을 개발하기 위해서 진행중인 노력들이 계속해서 존재한다. 개발 중에 있는 그런 표준들 중의 하나는 멀티-뷰 비디어 코딩 (multi-view video coding (MVC)) 표준이며, 이는 H.264/AVC에 대한 다른 확장이 될 것이다.
어드밴스드 비디오 코딩 (Advanced Video Coding (H.264/AVC)) 표준은 ITU-T 권고안 H.264 및 ISO/IEC 국제 표준 14496-10으로 알려져 있으며, 또한 MPEG-4 Part 10 어드밴스드 비디오 코딩 (Advanced Video Coding (AVC))으로도 알려져 있다. H.264/AVC 표준의 여러 버전들이 존재하며, 그 버전들 각각은 규격에 새로운 특징들을 통합한다. 버전 8은 스케일러블 비디오 코딩 (Scalable Video Coding (SVC)) 개정을 포함하는 표준에 관한 것이다. 현재 승인되고 있는 새로운 버전은 멀티뷰 비디오 코딩 (Multiview Video Coding (MVC)) 개정을 포함한다.
H.264/AVC 그리고 SVC에 의해서 가능해진 멀티-레벨 시간 스케일러빌리티 (scalability) 레이어들은 그것들의 커다란 압축 효율 개선으로 인해서 이용되도록 제안된다. 그러나, 멀티레벨 레이어들은 디코딩의 스타트업 (start-up)과 렌더링의 스타트업 (start-up) 사이에 커다란 지연을 또한 초래한다. 그 지연은 디코딩된 픽처 (picture)들이 자신들의 디코딩 순서로부터 출력/디스플레이 순서로 순서가 재구성되어야만 한다는 사실에 의해서 발생한다. 결과적으로, 랜덤한 위치에서 스트림에 액세스할 때에, 스타트업 지연이 증가하며, 그리고 유사하게 멀티캐스트 또는 브로드캐스트로의 동조 (tune-in) 지연은 비-계층적인 시간 스케일러빌리티의 동조 지연에 비해서 증가된다.
ITU-T 권고안 H.264 및 ISO/IEC 국제 표준 14496-10.
MPEG-4 Part 10 어드밴스드 비디오 코딩 (Advanced Video Coding (AVC)).
ITU-T Recommendation H.264 (11/2007), "Advanced video coding for generic audiovisual services".
"Joint Draft 8 of SVC Amendment", 21st JVT meeting, Hangzhou, China, October 2006 (ftp3.itu.ch/av-arch/jvt-site/2006_10_Hangzhou/JVT-U201.zip 에서 구할 수 있다).
H. C. Huang, CN. Wang, 그리고 T. Chiang의 "A robust fine granularity scalability using trellis-based predictive leak," IEEE Trans. Circuits Syst. Video Technol, vol. 12, pp. 372-385, Jun. 2002..
ITU-T Recommendation H.264 (11/2007), "Advanced video coding for generic audiovisual services" 및 부록 G.
JVT-Wl 19: Yiliang Bao, Marta Karczewicz, Yan Ye "CEl report: FGS simplification," JVT-W119, 23rd JVT meeting, San Jose, USA, April 2007 (ftp3.itu.ch/av-arch/jvt-site/2007_04_SanJose/JVT-W119.zip.
The draft amendment 1 of the ISO Base Media File Format (Edition 3).
Y. J. Liang, N. Farber, 그리고 B. Girod의, "Adaptive playout scheduling using time-scale modification in packet voice communications," Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. 3, pp. 1445-1448, May 2001..
J. Laroche, "Autocorrelation method for high-quality time/pitch-scaling," Proceedings of IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, pp. 131-134, Oct. 1993..
J. Rosenberg, Q. LiIi, 그리고 H. Schulzrinne의 "Integrating packet FEC into adaptive voice playout buffer algorithms on the Internet," Proceedings of the IEEE Computer and Communications Societies Conference (INFOCOM) , vol. 3, pp. 1705-1714, Mar. 2000..
본 발명의 목적은, 멀티레벨 레이어에서의 디코딩의 스타트업 (start-up)과 렌더링의 스타트업 (start-up) 사이에 커다란 지연 그리고, 멀티캐스트 또는 브로드캐스트로의 동조 (tune-in) 지연을 줄이거나 제거할 수 있을 비디오 코딩 및 디코딩을 위한 방법 및 장치를 제공하는 것이다.
본 발명의 한가지 모습에서, 본 발명의 방법은, 액세스 유닛들의 시퀀스를 포함하는 비트스트림을 수신하고; 상기 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하고; 상기 비트스트림 내의 상기 첫 번째로 디코딩 가능한 액세스 유닛 이후의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하는 것을 포함한다.
일 실시예에서, 상기 방법은, 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 더 포함한다. 상기 판별 그리고 디코딩을 생략하는 것이나 또는 상기 비트스트림이 더 이상의 액세스 유닛들을 포함하지 않을 때까지 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하는 것 중의 어느 하나는 반복될 수 있을 것이다. 일 실시예에서, 상기 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하는 것은 이전의 디코딩 위치에 상대적인 비-연속적인 위치에서 디코딩하는 것을 시작하는 것을 포함할 수 있을 것이다.
본 발명의 다른 모습에서, 본 발명의 방법은, 액세스 유닛들의 시퀀스를 포함하는 비트스트림에 대한 요청을 수신기로부터 수신하고, 상기 비트스트림에 대한 첫 번째로 디코딩 가능한 액세스 유닛을 전송을 위해서 캡슐화하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 있는가의 여부를 판별하고; 상기 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 없다고 판별한 것을 기반으로 상기 다음으로 디코딩 가능한 액세스 유닛의 캡슐화를 생략하고; 그리고 상기 비트스트림을 상기 수신기로 전송하는 것을 포함한다.
본 발명의 다른 모습에서, 본 발명의 방법은, 액세스 유닛들의 시퀀스를 포함하는 비트스트림을 디코딩하기 위한 명령어들을 생성하는 것을 포함하고, 상기 명령어들은: 상기 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하는 것을 포함한다.
본 발명의 다른 모습에서, 본 발명의 방법은, 명령어들을 기반으로 하여 액세스 유닛들의 시퀀스를 포함하는 비트스트림을 디코딩하는 것을 포함하며, 상기 명령어들은: 상기 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하는 것을 포함한다.
본 발명의 다른 모습에서, 본 발명의 방법은, 액세스 유닛들의 시퀀스를 포함하는 비트스트림을 캡슐화하기 위한 명령어들을 생성하는 것을 포함하고, 상기 명령어들은: 상기 비트스트림에 대한 첫 번째로 디코딩 가능한 액세스 유닛을 전송을 위해서 캡슐화하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 없다고 판별한 것을 기반으로 상기 다음으로 디코딩 가능한 액세스 유닛의 캡슐화를 생략하는 것을 포함한다.
본 발명의 다른 모습에서, 본 발명의 방법은 액세스 유닛들의 시퀀스를 포함하는 비트스트림을 명령어들을 기반으로 캡슐화하는 것을 포함하고, 상기 명령어들은: 상기 비트스트림에 대한 첫 번째로 디코딩 가능한 액세스 유닛을 전송을 위해서 캡슐화하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 없다고 판별한 것을 기반으로 상기 다음으로 디코딩 가능한 액세스 유닛의 캡슐화를 생략하는 것을 포함한다.
본 발명의 다른 모습에서, 본 발명에 따른 방법은 비트스트림으로부터 제1 세트의 코딩된 데이터 유닛들을 선택하는 것을 포함하며, 이 경우 제1 세트의 코딩된 데이터 유닛들 결과들을 제외한 비트스트림을 포함하는 서브-비트스트림은 제1 세트의 디코딩된 데이터 유닛들로 디코딩 가능하며, 상기 비트스트림은 제2 세트의 디코딩된 데이터 유닛들로 디코딩 가능하며, 제1 버퍼링 자원은 상기 제1 세트의 디코딩된 데이터 유닛들을 출력 순서로 배치하기에 충분하며, 제2 버퍼링 자원은 상기 제2 세트의 디코딩된 데이터 유닛들을 출력 순서로 배치하기에 충분하며, 그리고 상기 제1 버퍼링 자원은 상기 제2 버터링 자원보다 더 작다. 일 실시예에서, 상기 제1 버퍼링 자원 그리고 제2 버퍼링 자원은 디코딩된 데이터 유닛 버퍼링에 대한 초기 시간에 관한 것이다. 다른 실시예에서, 상기 제1 버퍼링 자원 그리고 제2 버퍼링 자원은 디코딩된 데이터 유닛 버퍼링에 대한 초기 버퍼 점유에 관한 것이다.
본 발명의 다른 모습에서, 본 발명에 따른 장치는 디코더를 포함하며, 상기 디코더는, 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하도록 구성된다. 본 발명의 다른 모습에서, 본 발명의 장치는 인코더를 포함하며, 상기 인코더는, 상기 비트스트림에 대한 첫 번째로 디코딩 가능한 액세스 유닛을 전송을 위해서 캡슐화하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 없다고 판별한 것을 기반으로 상기 다음으로 디코딩 가능한 액세스 유닛의 캡슐화를 생략하도록 구성된다.
본 발명의 다른 모습에서, 본 발명의 장치는 명령어들을 생성하도록 구성된 파일 생성기를 포함하며, 상기 파일 생성기는, 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하도록 구성된다.
본 발명의 다른 모습에서, 본 발명의 장치는 명령어들을 생성하도록 구성된 파일 생성기를 포함하며, 상기 명령어들은: 상기 인코더는, 비트스트림에 대한 첫 번째로 디코딩 가능한 액세스 유닛을 전송을 위해서 캡슐화하고; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 있는가의 여부를 판별하고; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 없다고 판별한 것을 기반으로 상기 다음으로 디코딩 가능한 액세스 유닛의 캡슐화를 생략하도록 구성된다.
본 발명의 다른 모습에서, 본 발명의 장치는 프로세서 및 상기 프로세서에 통신 가능하게 연결된 메모리 유닛을 포함한다. 상기 메모리 유닛은, 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하기 위한 컴퓨터 코드; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하기 위한 컴퓨터 코드; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하기 위한 컴퓨터 코드를 포함한다.
본 발명의 다른 모습에서, 본 발명의 장치는 프로세서 및 상기 프로세서에 통신 가능하게 연결된 메모리 유닛을 포함한다. 상기 메모리 유닛은, 비트스트림에 대한 첫 번째로 디코딩 가능한 액세스 유닛을 전송을 위해서 캡슐화하기 위한 컴퓨터 코드; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 있는가의 여부를 판별하기 위한 컴퓨터 코드; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 없다고 판별한 것을 기반으로 상기 다음으로 디코딩 가능한 액세스 유닛의 캡슐화를 생략하기 위한 컴퓨터 코드를 포함한다.
본 발명의 다른 모습에서, 컴퓨터-독출가능 매체 상에 컴퓨터 프로그램 제품이 구체화되며, 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하기 위한 컴퓨터 코드; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하기 위한 컴퓨터 코드; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하기 위한 컴퓨터 코드를 포함한다.
본 발명의 다른 모습에서, 컴퓨터-독출가능 매체 상에 컴퓨터 프로그램 제품이 구체화되며, 비트스트림에 대한 첫 번째로 디코딩 가능한 액세스 유닛을 전송을 위해서 캡슐화하기 위한 컴퓨터 코드; 상기 비트스트림 내의 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 있는가의 여부를 판별하기 위한 컴퓨터 코드; 그리고 상기 다음으로 디코딩 가능한 액세스 유닛이 상기 다음으로 디코딩 가능한 액세스 유닛의 전송 시각 이전에 캡슐화될 수 없다고 판별한 것을 기반으로 상기 다음으로 디코딩 가능한 액세스 유닛의 캡슐화를 생략하기 위한 컴퓨터 코드를 포함한다.
본 발명의 다양한 실시예들의 이런 그리고 다른 이점들과 특징들은, 실시예들의 동작의 조직 및 방식과 함께, 첨부된 도면들과 결합한 다음의 상세한 설명으로부터 명확하게 될 것이다.
본 발명의 효과는 본 발명의 명세서의 해당되는 부분에 개별적으로 설명되어 있다.
본 발명의 실시예들은 첨부된 도면들을 참조하여 설명된다.
도 1은 시간 스케일러빌리티를 구비한 예시의 계층적인 코딩 구조를 도시한다.
도 2는 ISO 기반의 미디어 파일 포맷에 따른 예시의 박스를 도시한다.
도 3은 샘플의 그룹핑을 도시한 예시의 박스이다.
도 4는 SampletoToGroup 박스를 포함하는 영화 프레그먼트를 포함하는 예시의 박스를 도시한다.
도 5는 디지털 비디오 브로드캐스팅-핸드헬드 (Digital Video Broadcasting - Handheld (DVB-H))용의 프로토콜 스택을 도시한다.
도 6은 멀티-프로토콜 캡슐화 전방 오류 교정 (Multi-Protocol Encapsulation Forward Error Correction (MPE-FEC)) 프레임의 구조를 도시한다.
도 7의 a) 내지 도 7의 c)는 다섯 개의 시간 레벨들을 구비한 계층적 스케일러블 비트스트림의 일 예를 도시한다.
도 8은 본 발명의 일 실시예에 따른 예시의 구현을 도시하는 흐름도이다.
도 9는 도 7의 시퀀스에 도 8의 방법을 적용한 예를 도시한다.
도 10은 본 발명의 실시예들에 따른 다른 예시의 시퀀스를 도시한다.
도 11의 a) 내지 도 11의 c)는 본 발명의 실시예들에 따른 다른 예시의 시퀀스를 도시한다.
도 12는 본 발명의 다양한 실시예들이 구현될 수 있을 시스템의 개괄적인 도면이다.
도 13은 본 발명의 다양한 실시예들에 따라서 활용될 수 있을 예시의 전자 기기의 투시의 모습을 도시한다.
도 14는 도 13의 전자 기기에 포함될 수 있을 회로의 개략적인 표현이다.
도 15는 다양한 실시예들이 구현될 수 있을 일반적인 멀티미디어 통신 시스템의 그래픽적인 표현이다.
도 1은 시간 스케일러빌리티를 구비한 예시의 계층적인 코딩 구조를 도시한다.
도 2는 ISO 기반의 미디어 파일 포맷에 따른 예시의 박스를 도시한다.
도 3은 샘플의 그룹핑을 도시한 예시의 박스이다.
도 4는 SampletoToGroup 박스를 포함하는 영화 프레그먼트를 포함하는 예시의 박스를 도시한다.
도 5는 디지털 비디오 브로드캐스팅-핸드헬드 (Digital Video Broadcasting - Handheld (DVB-H))용의 프로토콜 스택을 도시한다.
도 6은 멀티-프로토콜 캡슐화 전방 오류 교정 (Multi-Protocol Encapsulation Forward Error Correction (MPE-FEC)) 프레임의 구조를 도시한다.
도 7의 a) 내지 도 7의 c)는 다섯 개의 시간 레벨들을 구비한 계층적 스케일러블 비트스트림의 일 예를 도시한다.
도 8은 본 발명의 일 실시예에 따른 예시의 구현을 도시하는 흐름도이다.
도 9는 도 7의 시퀀스에 도 8의 방법을 적용한 예를 도시한다.
도 10은 본 발명의 실시예들에 따른 다른 예시의 시퀀스를 도시한다.
도 11의 a) 내지 도 11의 c)는 본 발명의 실시예들에 따른 다른 예시의 시퀀스를 도시한다.
도 12는 본 발명의 다양한 실시예들이 구현될 수 있을 시스템의 개괄적인 도면이다.
도 13은 본 발명의 다양한 실시예들에 따라서 활용될 수 있을 예시의 전자 기기의 투시의 모습을 도시한다.
도 14는 도 13의 전자 기기에 포함될 수 있을 회로의 개략적인 표현이다.
도 15는 다양한 실시예들이 구현될 수 있을 일반적인 멀티미디어 통신 시스템의 그래픽적인 표현이다.
다음의 설명에서, 설명의 목적이며 제한하려는 의도는 아닌, 상세한 설명들이 본 발명에 대한 철저한 이해를 제공하기 위해서 제시된다. 그러나, 본 발명은 이런 상세한 설명들로부터 벗어난 다른 실시예들에서 본 발명이 실행될 수 있을 것이라는 것은 본 발명이 속한 기술분야에서의 통상의 지식을 가진 자들에게는 자명할 것이다.
상기에서 언급된 것처럼, 어드밴스드 비디오 코딩 (Advanced Video Coding (H.264/AVC)) 표준은 ITU-T 권고안 H.264 및 ISO/IEC 국제 표준 14496-10으로 알려져 있으며, 또한 MPEG-4 Part 10 어드밴스드 비디오 코딩 (Advanced Video Coding (AVC))으로도 알려져 있다. H.264/AVC 표준의 여러 버전들이 존재하며, 그 버전들 각각은 규격에 새로운 특징들을 통합한다. 버전 8은 스케일러블 비디오 코딩 (Scalable Video Coding (SVC)) 개정을 포함하는 표준에 관한 것이다. 현재 승인되고 있는 새로운 버전은 멀티뷰 비디오 코딩 (Multiview Video Coding (MVC)) 개정을 포함한다.
이전의 비디오 코딩 표준들과 유사하게, 오류없는 비트스트림들을 위한 디코딩 프로세스만이 아니라 비트스트림 구문 (syntax) 그리고 시맨틱 (semantics)은 H.264/AVC에서 규정된다. 인코딩 프로세스는 규정되지 않았지만, 인코더들은 적합한 비트스트림들을 생성해야만 한다. 비트스트림 그리고 디코더 적합성은 HRD (Hypothetical Reference Decoder)로 검증될 수 있으며, 이는 H.264/AVC의 Annex C에서 규정된다. 상기 표준은 전송 오류들 및 손실들을 극복하는데 도움이 되는 코딩 도구들을 포함하지만, 인코딩에 있어서 그런 도구들을 사용하는 것은 옵션이며 그리고 어떤 디코딩 프로세스도 오류가 있는 비트스트림들을 위해서 규정되지는 않는다.
H.264/AVC 인코더로의 입력 그리고 H.264/AVC 디코더의 출력을 위한 기본적인 유닛은 픽처 (picture)이다. 하나의 픽처는 하나의 프레임이거나 또는 하나의 필드 중의 어느 하나일 수 있을 것이다. 프레임은 루마 (luma) 샘플들과 대응하는 크로마 (chroma) 샘플들의 매트릭스를 포함한다. 필드는 프레임의 대체 샘플 행들의 세트이며 그리고 소스 신호가 인터레이스되면 인코더 입력으로서 사용될 수 있을 것이다. 매크로블록은 루마 샘플들을 16x16 블록 그리고 크로마 샘플들의 대응 블록들이다. 하나의 픽처는 하나 또는 그 이상의 슬라이스 그룹들로 분할되고, 그리고 하나의 슬라이스 그룹은 하나 또는 그 이상의 슬라이스들을 포함한다. 하나의 슬라이스는 특정 슬라이스 그룹 내 래스터 (raster) 스캔에서 연속적인 순서인 매크로 블록들의 정수 개수를 포함한다.
H.264/AVC 인코더의 출력 그리고 H.264/AVC 디코더의 입력을 위한 기본적인 유닛은 네트워크 추상 레이어 (Network Abstraction Layer (NAL)) 유닛이다. NAL 유닛들의 일부 또는 오염된 NAL 유닛들을 디코딩하는 것은 보통은 매우 어렵다. 패킷-지향 (packet-oriented) 네트워크들이나 저장을 통한 구조화된 파일들로의 전송에 대해, NAL 유닛들은 보통은 패킷들이나 유사한 구조들로 캡슐화되는 것이 보통이다. 프레임 구조들을 제공하지 않는 전송 또는 저장 환경에 대한 바이트스트림 (bytestream) 포맷이 H.264/AVC에서 규정되었다. 각 NAL 유닛의 앞에 스타트 (start) 코드를 부착함으로써, 바이트스트림 포맷은 NAL 유닛들을 각자로부터 분리한다. NAL 유닛 경계들을 잘못 탐지하는 것을 피하기 위해서, 인코더들은 바이트-지향 (byte-oriented) 스타트 코드 에뮬레이션 방지 알고리즘을 실행해야만 하며, 스타트 코드가 다르게 발생한다면 이 알고리즘은 NAL 유닛 페이로드에 에뮬레이션 방지 바이트를 추가한다. 패킷-지향 시스템과 스트림-지향 시스템 사이에서의 똑바른 게이트웨이 동작을 가능하게 하기 위해서, 바이트스트림 포맷이 사용되는가 아닌가의 여부에 관계없이 스타트 코드 에뮬레이션 방지는 항상 수행된다.
H.264/AVC의 비트스트림 구문은 특정 픽처가 어떤 다른 픽처의 인터 예측 (inter prediction)을 위한 레퍼런스 픽처 (reference picture)인가의 여부를 나타낸다. 결과적으로, 예측을 위해서 사용되지 않는 픽처 (비-레퍼런스 픽처)는 안전하게 배치될 수 있다. 어떤 코딩 유형 (I, P, B)의 픽처들은 H.264/AVC에서 비-레퍼런스 픽처들일 수 있다. NAL 유닛 헤더는 NAL 유닛의 유형 그리고 NAL 유닛에 포함된 코딩된 슬라이스가 레퍼런스 픽처 또는 비-레퍼런스 픽처의 일부인가의 여부를 표시한다.
H.264/AVC는 디코더에서의 메모리 소비를 제어하기 위해, 디코딩된 레퍼런스 픽처 마킹 (marking)을 위한 프로세스를 규정한다. 인터 예측을 위해서 사용된 레퍼런스 픽처들의 최대 개수 [M으로 언급된다]는 시퀀스 파라미터 세트에서 결정된다. 레퍼런스 픽처가 디코딩되면, 그것은 "레퍼런스용으로 사용됨"으로 마킹된다. 레퍼런스 픽처를 디코딩한 것이 M 개 이상의 픽처들을 "레퍼런스용으로 사용됨"으로 마킹되도록 한다면, 적어도 하나의 픽처는 "레퍼런스용으로 사용됨"으로 마킹되어야만 한다. 디코딩된 레퍼런스 마킹을 위한 두 가지 유형의 동작이 존재한다: 적응적인 메모리 제어 및 슬라이딩 윈도우. 디코딩된 레퍼런스 픽처 마킹을 위한 동작 모드는 픽처 기반으로 선택된다. 적응적인 메모리 제어는 어느 픽처들이 "레퍼런스용으로 사용됨"으로 마킹되었는가를 명시적으로 시그날링하는 것을 가능하게 하며 그리고 또한 장기간 (long-term) 인덱스들을 단기간 (short-term) 레퍼런스 픽처들로 할당할 수 있을 것이다. 적응적인 메모리 제어는 비트스트림에 메모리 관리 제어 동작 (memory management control operation (MMCO)) 파라미터들이 존재할 것을 필요로 한다. 슬라이딩 윈도우 동작 모드가 사용되고 그리고 M 개의 픽처들이 "레퍼런스용으로 사용됨"으로 마킹되면, "레퍼런스용으로 사용됨"으로 마킹된 그런 단기간 레퍼런스 픽처들 중에서 제일 먼저 디코딩된 픽처였던 단기간 레퍼런스 픽처는 "레퍼런스용으로 사용되지 않음"으로 마킹된다. 다른 말로 하면, 슬라이딩 윈도우 동작 모드는 단기간 레퍼런스 픽처들 중에서 선입-선출 (first-in-first-out) 버퍼링 동작으로 귀결된다.
H.264/AVC에서의 메모리 관리 제어 동작들 중에 하나는 현재의 픽처를 제외한 모든 레퍼런스 픽처들이 "레퍼런스용으로 사용되지 않음"으로 마킹되도록 한다. IDR (instantaneous decoding refresh) 픽처는 인트라-코딩된 (intra-coded) 슬라이스들만을 포함하며 그리고 레퍼런스 픽처들에 대해서 유사한 "리셋"이 일어나게 한다.
인터 예측용의 레퍼런스 픽처는 레퍼런스 픽처 목록으로의 인덱스 (index)와 함께 표시된다. 상기 인덱스는 가변 길이 코딩으로 코딩되며, 즉, 상기 인덱스가 작을수록, 대응하는 구문 엘리먼트는 더 짧아진다. 두 개의 레퍼런스 픽처 목록들은 H.264/AVC의 각 이중-예측 (bi-predictive) 슬라이스용으로 생성되며, 그리고 하나의 레퍼런스 픽처 목록은 H.264/AVC의 각 인터-코딩된 스라이스에 대해서 형성된다. 레퍼런스 픽처 목록은 두 개의 단계들로 구축된다: 초기 레퍼런스 픽처 목록이 생성되고, 그리고 초기 레퍼런스 픽처 목록은 슬라이스 헤어들 내에 포함된 레퍼런스 픽처 목록 재순서 (reference picture list reordering (RPLR)) 명령들에 의해서 다시 순서가 정해질 수 있을 것이다. 상기 RPLR 명령들은 각 레퍼런스 픽처 목록의 시작으로 순서가 정해진 픽처들을 표시한다.
frame_num 구문 엘리먼트는 다중 레퍼런스 픽처들에 관련된 다양한 디코딩 프로세스들을 위해서 사용된다. IDR 픽처들용의 frame_num의 값은 0일 것이 필요하다. 비-IDR 픽처들용의 frame_num 값은 (모듈로 알고리즘에서) 1씩 늘어나는 디코딩 순서인 이전의 레퍼런스 픽처의 frame_num과 동일할 것을 필요로 한다 (즉, frame_num 값은 frame_num의 최대 값 이후에 0에 포개진다).
H.264/AVC의 부록 C에서 규정된 가정적인 레퍼런스 디코더 (hypothetical reference decoder (HRD))는 비트스트림과 디코더 적합성을 검사하기 위해서 사용된다. HRD는 코딩된 픽처 버퍼 (coded picture buffer (CPB)), 동시 디코딩 프로세스, 디코딩된 픽처 버퍼 (decoded picture buffer (DPB)) 그리고 출력 픽처 크로핑 (cropping) 블록을 포함한다. 상기 CPB 그리고 동시 디코딩 프로세스는 다른 비디도 코딩 표준과 유사하게 규정되며, 그리고 상기 출력 픽처 프로핑 블록은 시그날링된 출력 픽처 확장들의 외부에 있는 디코딩된 픽처로부터의 샘플들을 단순하게 크롭 (crop)한다. 적합한 비트스트림들을 디코딩하기 위해서 필요한 메모리 자원들을 제어하기 위해서 DPB가 H.264/AVC에 도입되었다. 디코딩된 픽처들을 버퍼링하는 두 가지 이유인, 인터 예측에서의 레퍼런스들을 위해서 그리고 디코딩된 픽처들을 출력 순서로 재정렬하기 위해서의 두 가지 이유가 존재한다. H.264/AVC가 레퍼런스 픽처 마킹 그리고 출력 재정렬 둘 모두에 대해서 큰 유연성을 제공하기 때문에, 레퍼런스 픽처 버퍼링과 출력 픽처 버퍼링을 위한 별개의 버퍼들은 메모리 자원들의 낭비가 될 수 있을 것이다. 그래서, DPB는 레퍼런스 픽처들 및 출력 재정렬을 위한 통합된 디코딩된 픽처 버퍼링 프로세스를 포함한다. 디코딩된 픽처는 그것이 더 이상 레퍼런스로서 사용되지 않고 그리고 출력을 위해서 더 이상 필요로 하지 않게 될 때에 상기 DPB로부터 제거된다. 비트스트림들이 사용되도록 허용된 DPB의 최대 크기는 H.264/AVC의 레벨 정의 (부록 A)에서 규정된다.
디코더들을 위한 두 가지 유형의 적합성 (conformance)이 존재한다: 출력 타이밍 적합성 및 출력 순서 적합성. 출력 타이밍 적합성을 위해서, 디코더는 상기 HRD에 비해서 동일한 시각들에서 픽처들을 출력해야만 한다. 출력 순서 적합성을 위해서, 출력 픽처의 정확한 순서만이 고려된다. 출력 순서 DPB는 최대의 허용된 개수의 프레임 버퍼들을 포함하는 것으로 가정된다. 어떤 프레임은 그 프레임이 레퍼런스로서 더 이상 사용되지 않고 그리고 출력을 위해서 더 이상 필요하지 않을 때에 상기 DPB로부터 제거된다. DBP가 채워지면, 출력 순서에서 가장 처음부터 있던 프레임이 적어도 하나의 프레임 버퍼가 비워질 때까지 출력된다.
NAL 유닛들은 비디오 코딩 레이어 (Video Coding Layer (VCL)) NAL 유닛들 그리고 비-VCL NAL 유닛들로 분류될 수 있다. VCL NAL 유닛들은 코딩된 슬라이스 (slice) NAL 유닛들, 코딩된 슬라이스 데이터 파티션 (partition) NAL 유닛들 또는 VCL 프리픽스 (prefix) NAL 유닛들 중의 하나이다. 코딩된 슬라이스 NAL 유닛들은 하나 또는 그 이상의 코딩된 매크로 블록들을 나타내는 구문 엘리먼트들을 포함하며, 상기 매크로 블록들 각각은 압축되지 않은 픽처 내의 샘플들의 블록에 대응한다. 4가지 유형의 코딩된 슬라이스 NAL 유닛들이 존재한다: IDR (Instantaneous Decoding Refresh) 픽처 내의 코딩된 슬라이스, 비-IDR 픽처 내의 코딩된 슬라이스, (알파 평면과 같은) 부가적으로 코딩된 픽처의 코딩된 슬라이스 그리고 스케일러블 확장 (SVC) 내의 코딩된 슬라이스. 세 개의 코딩된 슬라이스 데이터 파티션 NAL 유닛들의 세트는 코딩된 슬라이스와 동일한 구문 엘리먼트들을 포함한다. 코딩된 슬라이스 데이터 파티션 A는 슬라이스의 모션 벡터들 그리고 매크로블록 헤더들을 포함하며, 코딩된 슬라이스 데이터 파티션 B 및 C는 각각 인트라 (intra) 매크로블록들 및 인터 (inter) 매크로블록들을 위한 코딩된 나머지 데이터를 포함한다. 슬라이스 데이터 파티션들을 위한 지원은 H.264/AVC의 베이스라인 또는 하이 프로파일에는 포함되지 않는다는 것에 유의한다. VCL 프리픽스 NAL 유닛은 SVC 비트스트림들 내의 기준 레이어 (base layer)의 코딩된 슬라이스에 선행하며 그리고 연관된 코딩된 슬라이스의 스케일러빌리터 (scalability) 계층 (hierarchy)의 표지들을 포함한다.
비-VCL NAL 유닛은 다음의 유형들 중의 하나일 수 있을 것이다: 시퀀스 파라미터 세트, 픽처 파라미터 세트, 보충의 인핸스먼트 정보 (supplemental enhancement information (SEI)) NAL 유닛, 액세스 유닛 구분자 (delimeter), 시퀀스 NAL 유닛의 말단, 스트림 NAL 유닛의 말단 또는 채움 (filler) 데이터 NAL 유닛. 파라미터 세트들은 디코딩된 픽처들을 재구성하기 위해서는 필수적이며, 반면에 다른 비-VCL NAL 유닛들은 디코딩된 샘플 값들의 재구성을 위해서는 필요하지 않으며 아래에서 제시되는 다른 목적들에 도움이 된다. 파라미터 세트들 그리고 SEI NAL 유닛은 다음의 절들에서 심도있게 리뷰된다. 다른 비-VCL NAL 유닛들은 논제의 범위를 위해서는 필수적인 것이 아니며 그러므로 설명되지 않는다.
드물게 변하는 코딩 파라미터들을 강건하게 전송하기 위해서, 파라미터 세트 메커니즘이 H.264/AVC에 채택되었다. 코딩된 비디오 시퀀스 내내 변하지 않고 남아있는 파라미터들은 시퀀스 파라미터 세트에 포함된다. 디코딩 프로세스에 필수적인 파라미터들에 추가하여, 시퀀스 파라미터 세트는 비디오 유용성 정보 (video usability information (VUI))를 옵션으로 포함할 수 있을 것이며, 상기 비디오 유용성 정보는 버퍼링, 픽처 출력 타이밍, 렌더링 그리고 자원 예약을 위해서 중요한 파라미터들을 포함한다. 픽처 파라미터 세트는 여러 코딩된 픽처들에서 변하지 않을 것 같은 그런 파라미터들을 포함한다. H.264/AVC 비트스트림들에는 어떤 픽처 헤드도 존재하지 않지만 빈번하게 변하는 픽처-레벨 데이터는 각 슬라이스 헤더에서 반복되며 그리고 픽처 파라미터 세트들은 남아있는 픽처-레벨 파라미터들을 운반한다. H.264/AVC 구문은 많은 시퀀스 인스턴스들 및 픽처 파라미터 세트들을 허용하며, 그리고 각 인스턴스는 고유 식별자로 식별된다. 각 슬라이스 헤더는 그 슬라이스를 포함하는 픽처를 디코딩하기 위해서 활성화된 픽처 파라미터 세트의 식별자를 포함하며, 그리고 각 픽처 파라미터 세트는 활성 시퀀스 파라미터 세트의 식별자를 포함한다. 결과적으로, 픽처 그리고 시퀀스 파라미터 세트들을 전송하는 것은 슬라이스들을 전송하는 것과 정확하게 동기화될 필요는 없다. 대신, 상기 활성 시퀀스 및 픽처 파라미터 세트들은 자신들이 참조되기 이전에 어느 때라도 수신되기면 충분하며, 이는 슬라이스 데이터를 위해서 사용되는 프로토콜들에 비교하여 더욱 신뢰성있는 전송 메커니즘을 이용하여 파라미터 세트들을 전송하도록 한다. 예를 들면, 파라미터 세트들은 H.264/AVC RTP 세션들을 위한 세션 기술 (description) 내의 파라미터로서 포함될 수 있다. 대역 외 (out-of-band)의 신뢰성 있는 전송 메커니즘이 사용 중인 애플리케이션에서 가능하기만 하다면 그 메커니즘을 사용하는 것이 권장된다.
SEI NAL 유닛은 하나 또는 그 이상의 SEI 메시지들을 포함하며, 그 SEI 메시지들은 출력 픽처들을 디코딩하기 위해서 필요하지는 않지만 픽처 출력 타이밍, 렌더링, 오류 탐지, 오류 은폐 및 자원 예약과 같은 관련된 프로세스들에서 도움을 준다. 여러 SEI 메시지들이 H.264/AVC에서 규정되며 그리고 사용자 데이터 SEI 메시지들은 조직들 및 회사들이 자신들 스스로의 사용을 위해서 SEI 메시지들을 규정하는 것을 가능하게 한다. H.264/AVC는 상기 규정된 SEI 메시지들을 위한 구문과 시맨틱을 포함하지만 그러나 수용하는 측에서는 상기 메시지들을 핸들링하기 위한 어떤 프로세스도 정의되지 않는다. 결과적으로, 인코더들이 SEI 메시지들을 생성할 때에 그 인코더들은 H.264/AVC 표준을 따를 것을 필요로 하며, 그리고 H.264/AVC 표준에 합치하는 디코더들은 출력 순서 합치를 위해서 SEI 메시지들을 처리할 필요가 없다. SEI 메시지들의 구문과 시맨틱을 H.264/AVC에 포함시키는 이유들 중의 하나는 상이한 시스템 규격들이 상기 보충의 정보를 동일하게 번역하여 그래서 상호작용하도록 하는 허용하기 위한 것이다. 시스템 규격들은 인코딩하는 말단 그리고 디코딩하는 말단 둘 다에서 특정 SEI 메시지들을 이용할 것을 필요로 할 수 있으며 그리고 추가로 수신하는 쪽에서 특정 SEI 메시지들을 핸들하기 위한 프로세스가 규정될 수 있도록 의도된 것이다.
코딩된 픽처는 그 픽처를 디코딩하기 위해서 필요한 VCL NAL 유닛들을 포함한다. 코딩된 픽처는 우선적으로 코딩된 픽처일 수 있고 또는 여분으로 코딩된 픽처일 수 있다. 우선적으로 코딩된 픽처는 올바른 비트스트림들의 디코딩 프로세스에서 사용되며, 반면에 여분으로 코딩된 픽처는 상기 우선적으로 코딩된 픽처가 성공적으로 디코딩될 수 없을 때에만 디코딩되어야 하는 여분의 표현이다.
액세스 유닛 (access unit; AU)은 우선적으로 코딩된 픽처 그리고 그것과 연관된 그런 NAL 유닛들을 포함한다. 하나의 액세스 유닛 내의 NAL 유닛들의 외형적인 순서는 다음과 같이 제한된다. 옵션의 액세스 유닛 구분자 NAL 유닛은 액세스 유닛의 시작을 나타낼 수 있을 것이다. 0개의 또는 그 이상의 SEI NAL 유닛이 이어진다. 상기 코딩된 슬라이스들 또는 상기 우선적으로 코딩된 픽처의 슬라이스 데이터 파티션들은 다음에 나타나며, 0개 또는 그 이상의 여분으로 코딩된 픽처들에 대해서 코딩된 슬라이스들이 뒤따른다.
코딩된 비디오 시퀀스는, IDR 액세스 유닛을 포함하여 IDR 액세스 유닛으로부터 다음의 IDR 액세스 유닛 [상기 다음의 IDR 액세스 유닛은 제외한다] 이나 또는 비트스트림의 끝으로 어느 쪽이나 더 먼저 나타내는 쪽으로의 디코딩 순서로, 연속적인 액세스 유닛들의 시퀀스인 것으로 정의된다.
SVC는 H.264/AVC의 최신의 배포물인 ITU-T Recommendation H.264 (11/2007), "Advanced video coding for generic audiovisual services"의 부록 G에서 규정된다.
스케일러블 비디오 코딩에 있어서, 비디오 신호는 기준 레이어 그리고 하나 또는 그 이상의 구축된 향상 (enhancement) 레이어로 인코딩될 수 있다. 향상 레이어는 시간적인 해상도 (즉, 프레임 레이트), 공간적인 해상도 또는 단순하게 다른 레이어나 그 일부에 의해서 표현된 비디오 콘텐트의 품질을 향상시킨다. 각 레이어는 그 레이어가 의존하는 모든 레이어들과 함께 비디오 신호의 어떤 공간적인 해상도, 시간적인 해상도 그리고 품질 레벨에서의 하나의 표현이다. 이 문서에서, 스케일러블 레이어를 그 레이어가 의존하는 모든 레이어들과 함께 "스케일러블 레이어 표현 (scalable layer representation)"이라고 언급한다. 특정한 충실도로 원래의 신호의 표현을 생성하기 위해서 스케일러블 레이어 표현에 대응하는 스케일러블 비트스트림의 부분이 추출되어서 디코딩될 수 있다.
몇몇의 경우들에서, 인핸스먼트 레이어 (enhancement layer) 내의 데이터는 어떤 위치 이후에 또는 심지어는 임의의 위치들에서 절단될 수 있으며, 이 경우에 각 절단 위치는 계속해서 향상되는 시각적인 품질을 나타내는 추가의 데이터를 포함할 수 있을 것이다. 그런 스케일러빌리티는 미세 단위 (fine-grained) (입상 (granularity)) 스케일러빌리티 (FGS)라고 언급된다. FGS에 대한 지원은 최신의 SVC 초안으로부터 누락되었지만, 그 지원은 초기 SVC 초안들, 예를 들면, http://ftp3.itu.ch/av-arch/jvt-site/2006_10_Hangzhou/JVT-U201.zip에서 얻을 수 있는 JVT- U201에서의 "Joint Draft 8 of SVC Amendment", 21st JVT meeting, Hangzhou, China, October 2006 에서의 초안들에서 이용 가능하다는 것이 언급되어야만 한다. FGS와 대조적으로, 절단될 수 없는 그런 인핸스먼트 레이어들에 의해서 제공되는 스케일러빌리티는 큰 단위 (coarse-grained) ((입상 (granularity)) (CGS)로서 언급된다. 그것은 통상적인 품질 (SNR) 스케일러빌리티 그리고 공간적인 스케일러빌리티를 집합적으로 포함한다. SVC 초안 표준은 소위 중간 단위 스케일러빌리티 (medium-grained scalability (MGS))를 또한 지원하며, 이 경우에 0보다 더 큰 quality_id 구문 엘리먼트를 구비함으로써, 품질 향상 픽처들은 SNR 스케일러블 레이어와 유사하게 코딩되지만 FGS 레이어 픽처들과 유사하게 하이-레벨 구문 엘리먼트들에 의해서 표시된다.
SVC는 인터-레이어 예측 (inter-layer prediction) 메커니즘을 이용하여, 이 경우 특정 정보는 현재 재구축된 (reconstructed) 레이어가 아닌 레이어들이나 다음으로 하위인 레이어로부터 예측될 수 있다. 인터-레이어 예측될 수 있을 정보는 인트라 텍스처 (texture), 모션 그리고 나머지 데이터 (residual data)를 포함한다. 인터-레이어 모션 예측은 블록 코딩 모드, 헤더 정보 등을 포함하며, 이 경우 하위의 레이어로부터의 모션은 더 상위 레이어의 예측을 위해서 사용될 수 있을 것이다. 인트라 코딩의 경우에, 주변의 매크로블록들로부터의 예측 또는 낮은 레이어들의 동시 위치 (co-located) 매크로블록들로부터의 예측이 가능하다. 이런 예측 기수들은 이전에 코딩된 액세스 유닛들로부터의 정보를 사용하지 않으며, 그래서 인트라 (intra) 예측 기술들로 언급된다. 또한, 낮은 레이어들로부터의 나머지 데이터는 현재 레이어의 예측을 위해서 또한 사용될 수 있다.
SVC는 단일-루프 디코딩이라는 개념을 규정한다. 이는 한정된 인트라 텍스처 예측 모드를 이용함으로써 가능하지며, 그럼으로써 인터-레이어 인트라 텍스처 예측은 상기 기준 레이어 (base layer)의 대응 블록이 인트라-매크로블록들의 내부에 위치한 매크로블록 (MB)들에 적용된다. 동시에, 상기 기준 레이어에서의 그런 인트라-MB 들은 한정된 인트라-예측을 이용한다 (예를 들면, 구문 엘리먼트 "constrained_intra_pred_flag"를 1과 같도록 유지한다). 단일-루프 디코딩에 있어서, 상기 디코더는 재생을 위해서 요망되는 스케일러블 레이어 ("요망 레이어 (desired layer)" 또는 "타겟 레이어"으로 불린다)만을 위해서 모션 보상 및 전체 픽처 재구축을 수행하며, 그럼으로써 디코딩 복잡도를 크게 줄어들게 한다. 상기 요망 레이어가 아닌 모든 레이어들은 완전하게 디코딩될 필요가 없으며, 이는 인터-레이어 예측 (이것은 인터-레이어 인트라 텍스처 (texture) 예측, 인터-레이어 모션 예측 또는 인터-레이어 나머지 예측이다) 을 위해서 사용되지 않은 MB들의 데이터의 모두 또는 일부는 상기 요망 레이어의 재구축을 위해서는 필요하지 않기 때문이다.
단일의 디코딩 루프는 대부분의 픽처들을 디코딩하기 위해서 필요하고, 반면에 두 번째 디코딩 루프는 상기 기준 표현들을 재구축하기 위해서 선택적으로 적용되며, 상기 기준 표현들은 예측 레퍼런스들로서 필요한 것이며 출력하거나 디스플레이할 용도는 아니고, 그리고 소위 키 픽처들 (key pictures)을 위해서만 재구축된다 (상기 중요한 픽처들을 위해서 "store_base_rep_flag" 는 1과 동일하다).
상기 SVC 초안에서의 스케일러빌리티 구조는 "temporal_id", "dependency_id" 그리고 "quality_id"의 세 가지 구문 엘리먼트들이라는 특징을 가진다. 구문 엘리먼트 "temporal_id"는 시간적인 스케일러빌리티 계층을 나타내기 위해서 사용되며 또는 간접적으로는 프레임 레이트를 나타내기 위해서 사용된다. 더 작은 최대 "temporal_id" 값의 픽처들을 포함하는 스케일러블 레이어 표현은 더 큰 최대 "temporal_id"의 픽처들을 포함하는 스케일러블 레이어 표현보다 더 작은 프레임 레이트를 갖는다. 주어진 시간 레이어는 더 낮은 시간 레이어들 (즉, 더 작은 "temporal_id" 값들을 가지는 시간 레이어들)에 의존하는 것이 보통이지만, 어떤 더 높은 시간 레이어에도 의존하지 않는다. 구문 엘리먼트 "dependency_id"는 CGS 인터-레이어 코딩 의존 계층 (이는, 이전에 언급된 것처럼, SNR 그리고 공간적인 스케일러빌리티 둘 다를 포함한다)을 나타내기 위해서 사용된다. 어떤 시간 레벨 위치에서, 더 작은 "dependency_id" 값은 더 큰 "dependency_id" 값으로 픽처를 코딩하기 위한 인터-레이어 예측을 위해서 사용될 수 있을 것이다. 구문 엘리먼트 "quality_id"는 FGS 또는 MGS 레이어의 품질 레벨 계층을 나타내기 위해서 사용된다. 어떤 시간적인 위치에서, 그리고 동일한 "dependency_id" 값을 이용하여, QL과 같은 "quality_id"를 구비한 픽처는 인터-레이어 예측을 위해서 QL-1과 같은 "quality_id"를 구비한 픽처를 이용한다. 0보다 더 큰 "quality_id"를 구비한 코딩된 슬라이스는 절단가능한 FGS 슬라이스 또는 비-절단가능한 MGS 슬라이스 중의 어느 하나로서 코딩될 수 있을 것이다.
간략함을 위해서, 동일한 "dependency_id" 값을 가지는 하나의 액세스 유닛 내의 모든 데이터 유닛들 (예를 들면, SVC 컨텍스트 내의 네트워크 추상 레이어 또는 NAL 유닛들)은 의존성 유닛 (dependency unit) 또는 의존성 표현 (dependency representation)이라고 언급된다. 하나의 의존성 유닛 내에서, 동일한 값의 "quality_id"를 구비한 모든 데이터 유닛들은 품질 유닛 또는 레이어 표현으로서 언급된다.
디코딩된 기준 픽처로서도 또한 알려진 기준 표현 (base representation)은 0과 동일한 "quality_id"를 가지며 "store_base_rep_flag"가 1로 세팅된 의존성 유닛의 비디오 코딩 레이어 (Video Coding Layer (VCL)) NAL 유닛들을 디코딩하는 것의 결과인 디코딩된 픽처이다. 디코딩된 픽처라고도 또한 불리는 향상 표현 (enhancement representation)은 일상적인 디코딩 프로세스로부터의 결과이며, 그 일상적인 디코딩 프로세스에서는 가장 높은 의존성 표현을 위해서 존재하는 모든 레이어 표현들이 디코딩된다.
(NAL 유닛 유형이 1 내지 5의 범위인) H.264/AVC VCL NAL 유닛에는 SVC 비트스트림 내의 프리픽스 (prefix) NAL 유닛이 선행된다. 호환되는 H.264/AVC 디코더 구현은 프리픽스 NAL 유닛들을 무시한다. 프리픽스 NAL 유닛은 "temporal_id" 값을 포함하며 그래서 상기 기준 레이어를 디코딩하는 SVC 디코더는 상기 프리픽스 NAL 유닛들로부터 시간적인 스케일러빌리티 계층을 학습할 수 있다. 또한, 상기 프리픽스 NAL 유닛은 기준 표현들을 위한 레퍼런스 픽처 마킹 명령들을 포함한다.
SVC는 시간적인 스케일러빌리티를 제공하기 위해서 H.264/AVC 와 동일한 메커니즘을 이용한다. 시간적인 스케일러빌리티는 프레임 레이트를 조절하는 유연성을 제공함으로써, 시간 도메인에서 비디오 품질이 정밀해지도록 한다. 시간적인 스케일러빌리티를 리뷰하는 것은 다음의 절에서 제공된다.
비디오 코딩 표준들에 가장 먼저 도입된 스케일러빌리티는 MPGE-1 비쥬얼 (Visual)에서의 B 픽처들을 구비한 시간적인 스케일러빌리티였다. 이 B 픽처 개념에서, 두 픽처들 모두는 디스플레이 순서에서 하나의 픽처는 B 픽처에 선행하며 그리고 다른 하나의 픽처는 상기 픽처 B를 뒤따르는 두 개의 픽처들로부터 B 픽처가 양방향-예측된다. 양방향-예측에서, 두 개의 레퍼런스 픽처들로부터의 두 개의 예측 블록들은 최종 예측 블록을 얻기 위해서 샘플-양식 (sample-wise)으로 평균화된다. 통상적으로, B 픽처는 비-레퍼런스 픽처이다 (즉, B 픽처는 다른 픽처들에 의해서 인터-픽처 예측 레퍼런스용으로 사용되지 않는다). 결국, 상기 B 픽처들은 더 낮은 프레임 레이트를 가진 시간적인 스케일러빌리티 포인트를 달성하기 위해서 폐기될 수 있다. 동일한 메커니즘이 MPEG-2 비디오, H.263 그리고 MPEG-4 비주얼에서 유지되었다.
H.264/AVC에서, B 픽처들 또는 B 슬라이스들의 개념은 변화되었다. B 슬라이스의 정의는 다음과 같다: 슬라이스는 동일한 슬라이스 내에서 디코딩된 샘플들로부터의 인트라 예측 또는 이전에-디코딩된 레퍼런스 픽처들로부터의 인터 예측을 이용하여 디코딩될 수 있을 것이며, 각 블록의 샘플 값들을 예측하기 위해서 많아야 두 개의 모션 벡터들 그리고 레퍼런스 인덱스들을 이용한다.
통상적인 B 픽처 개념의 양방향 예측 특성 그리고 비-레퍼런스 픽처 특성 두 가지 모두 더 이상 유효하지 않다. B 슬라이스 내의 블록은 디스플레이 순서에서 동일한 방향에 있는 두 레퍼런스 픽처들로부터 예측될 수 있을 것이며, B 슬라이스들을 포함하는 픽처는 인터-픽처 예측을 위해서 다른 픽처들에 의해서 참조될 수 있을 것이다.
H.264/AVC, SVC 그리고 MVC에서, 시간적인 스케일러빌리티는 비-레퍼런스 픽처들 그리고/또는 계층적인 인터-픽처 예측 구조를 이용함으로써 달성될 수 있다. 비-레퍼런스 픽처들만을 사용하는 것은 비-레퍼런스 픽처들을 폐기함으로써 MPEG-1/2/4에서 통상적인 B 픽처들을 이용하는 것과 유사한 시간적인 스케일러빌리티를 달성하는 것을 가능하게 한다. 계층적인 코딩 구조는 더욱 유연한 시간적인 스케일러빌리티를 달성할 수 있다.
이제 도 1을 참조하면, 예시적인 계층 코딩 구조가 4개 레벨의 시간적인 스케일러빌리티와 함께 도시된다. 디스플레이 순서는 픽처 순서 카운트 (picture order count (POC)) (210)로서 표시된 값들에 의해서 나타내진다. 키 픽처들이라고도 불리는, I/P 픽처 (212)와 같은 I 픽처 또는 P 픽처는 디코딩 순서에서 픽처들의 그룹 (GOPs) (214)의 첫 번째 픽처로서 코딩된다. 키 픽처 (예를 들면, 참조번호 216, 218의 키 픽처)가 인터-코딩되면, 이전의 키 픽처들 (212, 216)은 인터-픽처 예측을 위한 레퍼런스로서 사용된다. 이런 픽처들은 시간적인 스케일러블 구조에서 가장 낮은 시간적인 레벨 (220) (도면에서는 TL로 표시된다)에 대응하며 그리고 가장 낮은 프레임 레이트와 연관된다. 더 높은 시간적인 레벨의 픽처들은 인터-픽처 예측을 위해서 동일한 또는 더 낮은 시간적인 레벨의 픽처들을 사용할 수 있을 뿐일 것이다. 그런 계층적인 코딩 구조에서, 상이한 프레임 레이트들에 대응하는 상이한 시간적인 스케일러빌리티는 어떤 시간적인 레벨 값이나 그 값을 넘는 픽처들을 폐기함으로써 달성될 수 있다. 도 1에서 0, 8 그리고 16의 픽처들은 가장 낮은 시간적인 레벨이며, 반면에 1, 3, 5, 6, 9, 11, 13 그리고 15의 픽처들은 가장 높은 시간적인 레벨이다. 다른 픽처들에는 계층에 있어서 다른 시간적인 레벨이 할당된다. 상이한 시간적인 레벨들의 그런 픽처들은 상이한 프레임 레이트의 비트스트림을 조직한다. 모든 시간적인 레벨들을 디코딩할 때에, 30 Hz의 프레임 레이트가 획득된다. 다른 프레임 레이트들은 몇몇의 시간적인 레벨들을 폐기함으로써 획득될 수 있다. 가장 낮은 시간적인 레벨의 픽처들은 3.75 Hz의 프레임 레이트에 연관된다. 더 낮은 시간적인 레벨 또는 더 낮은 프레임 레이트를 갖춘 시간적 스케일러블 레이어는 더 낮은 시간적인 레이어로도 또한 불린다.
상기에서 설명된 계층적인 B 픽처 코딩 구조는 시간적인 스케일러빌리트를 위한 대부분의 전형적인 코딩 구조이다. 그러나, 더욱 더 유연한 코딩 구조들이 가능하다는 것에 주목한다. 예를 들면, 상기 GOP 크기는 시간에 따라서 일정하지 않을 수 있을 것이다. 다른 예에서, 상기 시간적인 인핸스먼트 레이어 픽처들은 B 슬라이스들로서 코딩될 필요가 없으며; 그것들은 P 슬라이스들로서 또한 코딩될 수 있을 것이다.
H.264/AVC에서, 시간적인 레벨은 서브-시퀀스 정보 보충 인핸스먼트 정보 (supplemental enhancement information (SEI) 메시지들에서의 서브-시퀀스 레이어 번호에 의해서 시그날링될 수 있을 것이다. SVC에서, 시간적인 레벨은 구문 엘리먼트 "temporal_id"에 의해서 네트워크 추상 레이어 (Network Abstraction Layer (NAL)) 유닛 헤더에서 시그날링될 수 있을 것이다. 각 시간적인 레벨에 대한 비트레이트 그리고 프레임 레이트는 스케일러빌리티 정보 SEI 메시지에서 시그날링된다.
서브-시퀀스는 남아있는 비트스트림의 디코딩에 영향을 미치지 않으면서 배치될 수 있는 인터-종속 (inter-dependent) 픽처들의 개수를 나타낸다. 코딩된 비트스트림 내의 픽처들은 다양한 방식으로 서브-시퀀스들로 조직될 수 있다. 대부분의 응용들에서, 서브시퀀스들의 단일한 구조로 충분하다.
이전에 언급된 것처럼, CGS는 공간적인 스케일러빌리티 그리고 SNR 스케일러비리티 둘 다를 포함한다. 공간적인 스케일러빌리티는 상이한 해상도들을 가진 비디오의 표현들을 지원하기 위해서 처음에 설계되었다. 각 시간 인스턴스에 대해서, VCL NAL 유닛들은 동일한 액세스 유닛에서 코딩되며 그리고 이런 VCL NAL 유닛들은 상이한 해상도들에 대응할 수 있다. 디코딩 동안에서, 낮은 해상도의 VCL NAL 유닛은, 높은 해상도 픽처의 최종 디코딩 그리고 재구축에 의해서 옵션으로 상속될 수 있는 모션 필드 그리고 나머지 (residual)를 제공한다. 더 오래된 비디오 압축 표준들에 비교하면, 기준 레이어가 인핸스먼트 레이어의 크롭되고 줌 된 버전이 되는 것을 가능하게 하기 위해서 SVC들 공간 스케일러빌리티가 일반화된다.
MCS 품질 레이어들은 FGS 품질 레이어들과 유사하게 "quality_id"로 표시된다. (동일한 "quality_id"를 가진) 각 종속 유닛에 대해서, 0과 동일한 "quality_id"를 가진 레이어가 존재하며 그리고 0보다 더 큰 "quality_id"를 가진 다른 레이어들이 존재할 수 있다. 0보다 더 큰 "quality_id"를 가진 그런 레이어들은 상기 슬라이스들이 절단 가능한 슬라이스들로서 코딩되는가의 여부에 따라 MSG 레이어들이거나 FGS 레리어들 중의 어느 하나이다.
FGS 인핸스먼트 레이어들의 기본적인 모습에서, 인터-레이어 예측만이 사용된다. 그러므로, 인핸스먼트 계층들은 디코딩된 시퀀스에서 어떤 오류도 전파되도록 하지 않으면서 자유롭게 절단될 수 있다. 그러나, FSG의 상기 기본적인 모습은 낮은 압축 효율을 겪는다. 이런 문제는 오직 낮은-품질의 픽처들만이 인터 예측 레퍼런스들을 위해서 사용되기 때문에 일어난다. 그러므로 FGS-향상된 픽처들이 인터 예측 레퍼런스들로서 사용되어야 한다고 제안되었다. 그러나, 이는 인코딩-디코딩 부조화를 일으키며, 몇몇 FGS 데이터가 폐기될 때에는 드리프트 (drift)라고 또한 불린다.
SVC의 하나의 중요한 특징은 FGS NAL 유닛들이 자유롭게 생략 (drop)되거나 또는 절단될 수 있다는 것이며, 그리고 MSG NAL 유닛들은 비트스트림에 합치하는 것에 영향을 미치지 않으면서 자유롭게 생략될 수 있다 (그러나 절단될 수는 없다). 상기에서 설명된 것처럼, 인코딩 동안에 인터 예측 레퍼런스를 위해서 그런 FGS 또는 MGS 데이터가 사용되었을 때에, 데이터의 생략 또는 절단은 디코더 측에서 그리고 인코더 측에서 디코딩된 픽처들 사이에서의 부조화의 결과로 귀결될 수 있을 것이다. 이런 부조화는 또한 드리프트라고도 불린다.
FGS 또는 MGS 데이터의 생략 또는 절단으로 인한 드리프트를 제어하기 위해서, 다음의 해결책에 SVC가 적용된다: 어떤 종속 유닛에서, (0과 동일한 "quality_id"를 구비한 CGS 픽처만을 디코딩함으로써) 기준 표현은 디코딩된 픽처 버퍼에 저장된다. "dependency_id"의 동일한 값을 구비한 다음의 종속 유닛을 인코딩할 때에, FGS NAL 유닛들이나 MGS 유닛들을 포함하는 모든 NAL 유닛들은 인터 예측 레퍼런스를 위해서 상기 기준 표현을 이용한다. 결국, 더 초기의 액세스 유닛에서 FGS 또는 MGS NAL 유닛들을 생략하거나 또는 절단하는 것으로 인한 모든 드리프트는 이 액세스 유닛에서 중단된다. 동일한 값의 "dependency_id"를 구비한 다른 종속 유닛들에 대해서, 모든 NAL 유닛들은 높은 코딩 효율을 위해서 인터 예측 레퍼런스용의 상기 디코딩된 픽처들을 이용한다.
각 NAL 유닛은 NAL 유닛 헤더 내에 구문 엘리먼트 "use_base_prediction_flag"를 포함한다. 이 엘리먼트의 값이 1과 동일할 때에, 상기 NAL 유닛을 디코딩하는 것은 인터 예측 프로세스들 동안에 상기 레퍼런스 픽처들의 기준 표현들을 이용한다. 구문 엘리먼트 "store_base_rep_flag"는 인터 예측을 위해서 사용하기 위해서 미래의 픽처들을 위해 현재의 픽처의 기준 표현을 저장하는가 ("store_base_rep_flag"가 1과 동일할 때) 아닌가 ("store_base_rep_flag"가 0과 동일할 때)의 여부를 규정한다.
0보다 더 큰 "quality_id"를 구비한 NAL 유닛들은 레퍼런스 픽처 목록들 구축 및 가중된 예측에 관련된 구문 엘리먼트들, 즉, 구문 엘리먼트들 "num_ref_active_lx_minusl" (x=0 또는 1)을 포함하지 않으며, 레퍼런스 픽처 목록 순서 재구성 (reordering) 구문 테이블 그리고 가중된 예측 구문 테이블은 존재하지 않는다. 결과적으로, MSG 레이어 또는 FSG 레이어는 필요한 때에는 동일한 종속 유닛의 0과 동일한 "quality_id"을 구비한 NAL 유닛들로부터 이런 구문 엘리먼트들을 상속해야만 한다.
리키 (leaky) 예측 기술은 기준 표현들 그리고 (가장 상위로 디코딩된 "quality_id"에 대응하는) 디코딩된 픽처들 두 가지 모두를 이용하며, 이는 상기 기준 표현들 그리고 디코딩된 픽처들의 가중된 결합을 이용하여 FGS 데이터를 예측함으로써 수행된다. 가중 팩터는 인핸스먼트 계층 픽처들 내의 잠재적인 드리프트의 감쇄 (attenuation)를 제어하기 위해서 사용될 수 있다. 리키 예측에 관한 더 이상의 정보는 H. C. Huang, CN. Wang, 그리고 T. Chiang의 "A robust fine granularity scalability using trellis-based predictive leak," IEEE Trans. Circuits Syst. Video Technol, vol. 12, pp. 372-385, Jun. 2002.에서 찾아볼 수 있다.
리키 예측이 사용될 때에, SVC의 FGS 특징은 종종 적응적 레퍼런스 (Adaptive Reference) FGS (AR-FGS)라고 불린다. AR-FGS는 코딩 효율과 드리프트 제어 사이에서 균형을 맞추기 위한 도구이다. AR-FGS는 가중 팩터들의 MB 레벨 적응 그리고 슬라이스 레벨 시그날링에 의한 리키 예측을 가능하게 한다. AR-FGS의 완전한 버전의 더욱 상세한 것은 JVT-W119: Yiliang Bao, Marta Karczewicz, Yan Ye "CEl report: FGS simplification," JVT-Wl 19, 23rd JVT meeting, San Jose, USA, April 2007에서 찾아볼 수 있으며, 이는 ftp3.itu.ch/av-arch/jvt- site/2007_04_SanJose/JVT-W119.zip에서 구할 수 있다.
랜덤 액세스는 스트림의 시작 부분이 아닌 포인트에서 스트림을 디코딩하는 것을 시작하기 위한 디코드의 능력을 참조하며 그리고 상기 디코딩된 픽처들의 정확한 또는 근사한 표현을 복구한다. 랜덤 액세스 포인트 그리고 복구 (recovery) 포인트는 랜덤 액세스 동작 (random access operation)이라는 특징을 가진다. 상기 랜덤 액세스 포인트는 디코딩이 개시될 수 있는 임의의 코딩된 픽처이다. 출력 순서에서 복구 포인트에서의 또는 복구 포인트 다음의 모든 디코딩된 픽처들은 콘텐트에 있어서 정확한 것이며 또는 대략적으로 정확하다. 상기 랜덤 액세스 포인트가 상기 복구 포인트와 동일하면, 상기 랜덤 액세스 동작은 순간적인 것이며; 동일하지 않다면 그 동작은 점진적인 것이다.
랜덤 액세스 포인트들은 국지적으로 저장된 비디오 스트림들에서 탐색 (seek), 빠른 전진 (fast forward) 그리고 빠른 후진 (fast backward) 동작들을 가능하게 한다. 비디오 온-디맨드 (on-demand) 스트리밍에서, 서버들은 탐색 동작의 요청된 목적지에 가장 가까운 랜덤 액세스 포인트로부터 시작하여 데이터를 전송함으로써 탐색 요청들에 응답할 수 있다. 상이한 비트-레이트들의 코딩된 스트림들 사이에서 전환하는 것은 전송되는 비트레이트를 예상되는 네트워크 처리량에 맞추기 위해서 그리고 네트워크에서의 혼잡을 피하기 위해서 인터넷용의 유니캐스트 스트리밍에서는 흔하게 사용되는 방법이다. 다른 스트림으로 전환하는 것은 랜덤 액세스 포인트에서 가능하다. 또한, 랜덤 액세스 포인트들은 브로드캐스트 또는 멀티캐스트로의 동조를 가능하게 한다. 추가로, 랜덤 액세스 포인트는 소스 시퀀스에서의 장면 (scene) 컷으로의 응답으로서 또는 인트라 픽처 업데이트 요청에 대한 응답으로서 코딩될 수 있다.
통상적으로, 각 인트라 픽처는 코딩된 시퀀스 내의 랜덤 액세스 포인트이다. 인터 예측을 위해서 다중의 레퍼런스 픽처들을 도입하는 것은 인트라 픽처가 랜덤 액세스용으로 충분하지 않을 수 있다는 것의 원인이 된다. 예를 들면, 디코딩 순서에 있어서 인트라 픽처 이전의 디코딩된 픽처는 디코딩 순서에 있어서 인트라 픽처 이후의 인터 예측용의 레퍼런스 픽처로서 사용될 수 있을 것이다. 그러므로, H.264/AVC 표준에서 규정된 것과 같은 IDR 픽처 또는 IDR 픽처와 유사한 속성들을 가진 인트라 픽처는 랜덤 액세스 포인트로서 사용되어야만 한다. 폐쇄된 픽처들의 그룹 (GOP)은 그 그룹 내의 모든 픽처들이 정확하게 디코딩될 수 있는 그런 픽처들의 그룹이다. H.264/AVC에서, 폐쇄된 GOP는 IDR 액세스 유닛으로부터 (또는 모든 이전의 레퍼런스 픽처들을 사용하지 않은 것으로 마킹하는 메모리 관리 제어 동작을 구비하여 인트라 코딩된 픽처로부터) 시작한다.
개방 픽처들의 그룹 (GOP)은 출력 순서에서 초기 인트라 픽처 이전의 픽처들은 정확하게 디코딩될 수 없지만 상기 초기 인트라 픽처 이후의 픽처들은 정확하게 디코딩되는 것이 가능한 그런 그룹이다. H.264/AVC 디코더는 개방 GOP를 시작하는 인트라 픽처를 H.264/AVC 비트스트림 내의 복구 포인트 SEI 메시지로부터 인식할 수 있다. 개방 GOP를 시작하는 초기 인트라 픽처 이전의 픽처들은 리딩 (leading) 픽처이라고 불린다. 디코딩 가능 그리고 디코딩-불가능이라는 두 가지 유형의 픽처들이 존재한다. 디코딩 가능한 리딩 픽처들은 개방 GOP를 시작하는 초기 인트라 픽처로부터 디코딩이 시작될 때에 정확하게 디코딩될 수 있는 그런 리딩 픽처들이다. 다른 말로 하면, 디코딩 가능한 리딩 픽처들은 초기 인트라 픽처만을 또는 디코딩 순서에서 다음의 픽처들만을 인터 예측에 있어서의 레퍼런스로서 사용한다. 디코딩-불가능한 리딩 픽처들은 개방 GOP를 시작하는 초기 인트라 픽처로부터 디코딩이 시작될 때에 정확하게 디코딩될 수 없는 그런 리딩 픽처들이다. 다른 말로 하면, 디코딩-불가능한 리딩 픽처들은 디코딩 순서에 있어서 상기 개방 GOP를 시작하는 초기 인트라 픽처 이전의 픽처들을 인터 예측에 있어서의 레퍼런스로서 사용한다. ISO 기준 미디어 파일 포맷 (3판)의 초안 교정 1은 디코딩 가능한 그리고 디코딩-불가능한 리딩 픽처들에 대한 지원을 포함한다.
GOP라는 용어는 랜덤 액세스 환경에서는 SVC의 환경에서와는 다르게 사용된다는 것에 주의한다. SVC에서, GOP는 0과 같은 temporal_id를 구비한 픽처 (이 픽처는 포함)로부터 0과 같은 temporal_id를 구비한 다음의 픽처 (이 픽처는 제외함)까지의 픽처들의 그룹을 가리킨다. 랜덤 액세스 환경에서, GOP는 디코딩 순서에서 어떤 이전의 어떤 임의의 픽처들이 디코딩되었는가 아닌가의 사실에 관계없이 디코딩될 수 있는 픽처들의 그룹이다.
점진적인 디코딩 리프레시 (gradual decoding refresh (GDR))는 비-IDR 픽처에서 디코딩을 시작하고 그리고 특정 양의 픽처들을 디코딩한 이후에 콘텐트에 있어서 올바른 디코딩된 픽처를 복구하기 위한 능력을 언급한다. 즉, GDR은 비-인트라 픽처들로부터 랜덤 액세스를 달성하기 위해서 사용될 수 있다. 인터 예측을 위한 일부 레퍼런스 픽처들은 랜덤 액세스 포인트와 복구 포인트 사이에서는 이용 가능하지 않을 수 있을 것이며, 그러므로 점진적인 디코딩 리프레시 기간에 디코딩된 픽처들의 부분들은 올바르게 재구축될 수 없다. 그러나, 이런 부분들은 복구 포인트에서 또는 그 복구 포인트 이후에 예측을 위해서 사용되지 않으며, 이는 상기 복구 포인트로부터 시작하는 오류-없는 디코딩된 픽처들의 결과를 가져온다.
점진적인 디코딩 리프레시는 즉시 디코딩 디프레시와 비교할 때에 인코더들 그리고 디코더들 둘 다에 대해서 더욱 부담이 되는 것은 분명하다. 그러나, 점진적인 디코딩 리프레시는 다음의 두 가지 사실의 덕분에 오류가 발생하기 위한 환경들에서는 바람직할 수 있을 것이다: 먼저, 코딩된 인트라 픽처는 코딩된 비-인트라 픽처들보다 보통은 아주 더 크다. 이는 인트라 픽처들을 비-인트라 픽처들보다 오류들이 더 발생하기 쉽게 만들며, 그리고 그 오류들은 오염된 매크로블록 로케이션 (macroblock location)들이 인트라-코딩될 때까지의 시간에서 전파되기 쉽다. 두 번째로, 인트라-코딩된 매크로블록들은 오류 전파를 중단시키기 위해서 오류가 발생하기 쉬운 환경들에서 사용된다. 그래서, 인트라 매크로블록 코딩을, 예를 들면, 오류가 발생하기 쉬운 전송 채널들 상에서 동작하는 비디오 회의 그리고 브로드캐스트 비디오 애플리케이션들에서 랜덤 액세스를 위해서 그리고 오류 전파 방지를 위해서 결합하는 것은 일리가 있다.
점진적인 디코딩 리프레시는 분리 영역 (isolated region) 코딩 방법을 이용하여 실현될 수 있다. 픽처 내에 분리 영역은 매크로블록 로케이션들을 포함할 수 있으며, 그리고 픽처는 0개 또는 그 이상의 겹치지 않은 분리 영역들을 포함할 수 있다. 잔존 영역은 픽처의 어떤 분리 영역에 의해서 커버되지 않는 픽처의 구역이다. 분리 영역을 코딩할 때에, 인-픽처 (in-picture) 예측은 자신의 경계들을 건너서는 불가능하다. 잔존 영역은 동일한 픽처의 분리 영역들로부터 예측될 수 있을 것이다.
코딩된 분리 영역은 동일하게 코딩된 픽처의 잔존 영역이나 어떤 다른 분리 영역이 존재하지 않아도 디코딩될 수 있다. 잔존 영역 이전에 픽처의 모든 분리 영역들을 디코딩하는 것이 필요할 수 있을 것이다. 분리 영역 또는 잔존 영역은 적어도 하나의 슬라이스를 포함한다.
픽처들, 그 픽처들의 분리 영역들이 서로 서로에서부터 예측되는 그런 픽처들은 분리된-영역 픽처 그룹으로 그룹핑 (grouping)된다. 분리 영역은 동일한 분리된-영역 픽처 그룹 내의 다른 픽처들 내의 대응하는 분리 영역으로부터 인터-예측될 수 있으며, 반면에 다른 분리 영역들로부터의 또는 상기 분리된-영역 픽처 그룹 외부로부터의 인터 예측은 허가되지 않는다. 잔존 영역은 임의의 분리 영역으로부터 인터-예측될 수 있을 것이다. 결합된 분리 영역들의 모습, 위치 그리고 크기는 분리된-영역 픽처 그룹 내의 픽처에서 픽처로 발전 (evolve)될 수 있을 것이다 .
발전하는 분리 영역 (evolving isolated region)은 점진적인 디코딩 리프레시를 제공하기 위해서 사용될 수 있다. 새로운 발전하는 분리 영역은 픽처 내에서 랜덤 액세스 포인트에서 설립되며, 그리고 그 분리 영역 내에서의 매크로블록들은 인트라-코딩된다. 분리 영역들의 모습, 크기 그리고 위치는 픽처에서 픽처로 발전된다. 분리 영역은 점진적인 디코딩 리프레시 기간에서 더 이전의 픽처들 내의 대응하는 분리 영역으로부터 인터-예측될 수 있다. 상기 분리 영역이 전체 픽처 범위를 커버할 때에, 콘텐트에 있어서 완전하게 정확한 픽처는 랜덤 액세스 포인트로부터 시작되는 디코딩 때에 얻어진다. 이 프로세스는 결국에는 전체 픽처 범위를 커버하는 하나 이상의 발전하는 분리 영역을 포함하기 위해서 또한 일반화될 수 있다.
디코더를 위한 복구 포인트 그리고 점진적인 랜덤 액세스 포인트를 나타내기 위해서 복구 포인트 SEI 메시지와 같은 맞춤의 대역-내 (in-band) 시그날링이 존재할 수 있을 것이다. 또한, 점진적인 디코딩 리프레시를 제공하기 위해서, 상기 복구 포인트 SEI 메시지는 상기 발전하는 분리 영역이 상기 랜덤 액세스 포인트 그리고 상기 복구 포인트 사이에서 사용되는가의 여부에 대한 표시를 포함한다.
RTP는 인터넷 프로토콜 (IP) 기반의 네트워크들에서의 코딩된 오디오 스트림 및 비디오 스트림과 같은 연속적인 미디어 데이터를 전송하기 위해서 사용된다. 실시간 전송 제어 프로토콜 (Real-time Transport Control Protocol (RTCP))은 RTP와 한 벌이다. 즉, 네트워크와 애플리케이션 하부 구조가 사용을 허용한다면, RTCP는 RTP를 보충하기 위해서 사용되어야만 한다. RTP 그리고 RTCP는 보통은 사용자 데이터그램 프로토콜 (User Datagram Protocol (UDP))을 통해서 운반되며, 사용자 데이터그램 프로토콜은 인터넷 프로토콜 (IP)를 통해서 운반된다. RTCP는 네트워크에 의해서 제공되는 서비스의 품질을 모니터하기 위해서 그리고 진행 중인 세션 내의 참가자들에 관한 정보를 운반하기 위해서 사용된다. RTP 그리고 RTCP는 1대1 통신부터 수천의 엔드-포인트들의 커다란 멀티캐스트 그룹들까지의 범위인 세션들을 위해서 설계되었다. 많은 파티 세션에서 RTCP 패킷들에 의해서 초래된 전체 비트레이트를 제어하기 위해서, 단일 엔드-포인트 (end-point)에 의해서 전송된 RTCP 패킷들의 전송 간격은 세션 내의 참가자들의 수에 비례한다. 각 미디어 코딩 포맷은 특정 RTP 페이로드 포맷을 가지며, 이는 미디어 데이터가 RTP 패킷의 페이로드 내에서 어떻게 구성되는가를 규정한다.
이용 가능한 미디어 파일 포맷 표준들은 ISO 기반의 미디어 파일 포맷 (ISO/IEC 14496- 12), MPEG-4 파일 포맷 (ISO/IEC 14496-14, 또한 MP4 포맷으로도 알려져 있음), AVC 파일 포맷 (ISO/IEC 14496-15), 3GPP 파일 포맷 (3GPP TS 26.244, 또한 3GP 포맷으로도 알려져 있음), 그리고 DVB 파일 포맷을 포함한다. ISO 파일 포맷은 상기에서 언급된 모든 파일 포맷들 (ISO 파일 포맷 그 자체는 제외)의 파생 포맷의 기반이다. 이 파일 포맷들 (상기 ISO 파일 포맷들을 포함한다)은 파일 포맷들의 ISO 패밀리로 불린다.
도 2는 ISO 기반 미디어 파일 포맷에 따른 간략화된 파일 구조 (230)를 보여준다. ISO 기반 미디어 파일 포맷 내의 기본적인 빌딩 블록은 박스 (box)라고 불린다. 각 박스는 헤더와 페이로드 (payload)를 구비한다. 박스 헤더는 그 박스의 유형 그리고 바이트 단위로 그 박스의 크기를 표시한다. 박스는 다른 박스들을 포함할 수 있을 것이며, 그리고 ISO 파일 포맷은 어떤 박스 유형들이 특정 유형의 박스 내에 허용되는가를 규정한다. 또한, 몇몇의 박스들은 각 파일 내에 필수적으로 존재하며, 다른 박스들은 옵션이다. 더욱이, 몇몇의 박스 유형들에 대해서, 하나의 파일 내에 하나 이상의 박스가 존재하는 것이 허용된다. 상기 ISO 기반 미디어 파일 포맷은 계층적인 구조의 박스들을 규정한다고 결론내릴 수 있을 것이다.
파일 포맷들의 ISO 패밀리에 따라, 파일은 미디어 데이터 그리고 메타데이터를 포함하며, 그 미디어 데이터 그리고 메타데이터는 별개의 박스들인 미디어 데이터 (mdat) 박스 그리고 무비 (moov) 박스에 각각 포함된다. 동작할 수 있을 파일에 대해서, 이런 박스들 둘 다가 존재해야만 한다. 상기 무비 박스는 하나 또는 그 이상의 트랙들을 포함하며, 각 트랙은 하나의 트랙 박스 내에 존재한다. 트랙은 다음의 유형들 미디어, 힌트, 타임드 메타데이터 (timed metadata) 중의 하나일 수 있다. 미디어 트랙은 미디어 압축 포맷에 따라서 포맷된 샘플들 (그리고 ISO 기반 파일 포맷으로의 상기 미디어 압축 포맷의 캡슐화)을 언급한다. 힌트 트랙은 힌트 샘플들을 언급하는 것이며, 상기 힌트 샘플들은 표시된 통신 프로토콜을 통해서 전송하기 위한 패킷들을 구축하는 용도의 쿡북 (cookbook) 명령어들을 포함한다. 상기 쿡북 명령어들은 패킷 헤더 구축을 위한 지침을 포함할 수 있을 것이며 그리고 패킷 페이로드 구축을 포함할 수 있을 것이다. 패킷 페이로드 구축에 있어서, 다른 트랙들 또는 아이템들에 존재하는 데이터가 참조될 수 있을 것이다. 즉, 특정 트랙이나 아이템 내의 어느 데이터 조각이 패킷 구축 프로세스 동안에 패킷으로 복사되도록 명령받는가가 참조에 의해서 표시된다. 타임드 메타데이터 트랙은 참조된 미디어를 기술하는 (describing) 샘플들 그리고/또는 힌트 샘플들을 언급하는 것이다. 하나의 미디어 유형을 표현하기 위해서, 보통은 하나의 미디어 트랙이 선택된다. 트랙의 샘플들은 샘플들의 표시된 디코딩 순서에서 1씩 증가하는 샘플 번호들과 함축적으로 연관된다.
트랙 내의 첫 번째 샘플은 샘플 번호 1과 연관된다. 이런 가정은 아래에 있는 몇몇의 공식들에 영향을 미치며, 그리고 본 발명이 속한 기술분야에서의 통상의 지식을 가진 자에게는 샘플 번호의 다른 시작 오프셋 (0과 같은)에 따라서 상기 공식들을 수정하는 것이 자명하다는 것에 유의한다.
ISO 기반 미디어 파일 포맷은 하나의 파일 내에 포함될 표현을 제한하지 않지만, 그러나, 그 표현은 여러 파일들 내에 포함될 수 있을 것이라는 것에 유의한다. 하나의 파일은 전체 표현에 대한 메타데이터를 포함한다. 이런 파일은 모든 미디어 데이터 역시 포함할 수 있을 것이며, 그 때문에 상기 표현은 자기 충족적 (self-contained)이다. 다른 파일들은, 만일 사용된다면, ISO 기반 미디어 파일 포맷으로 포맷되라고 요청되지 않으며, 미디어 데이터를 포함하기 위해서 사용되며, 그리고 사용되지 않은 미디어 데이터 또는 다른 정보를 또한 포함할 수 있을 것이다. 상기 ISO 기반 미디어 파일 포맷은 상기 표현 파일만의 구조에 관련된다. 미디어 파일들 내의 미디어-데이터는 ISO 기반 미디어 파일 포맷 또는 그 파일 포맷의 파생 포맷들에서 규정된 것과 같이 포맷되어야만 한다는 점에서, 미디어-데이터 파일들의 포맷은 상기 ISO 기반 미디어 파일 포맷이나 그 파일 포맷의 파생 포맷들만으로 제한된다.
콘텐트를 ISO 파일들로 레코딩할 때에 레코딩 애플리케이션이 기능을 멈추거나, 디스크가 다 사용되거나 또는 어떤 다른 사건이 발생하여 데이터를 잃는 것을 피하기 위해서, 무비 프레그먼트들 (movie fragments)이 사용될 수 있을 것이다. 무비 프레그먼트들이 없으면, 모든 메타데이터 (상기 무비 박스)가 상기 파일 내의 하나의 연속적인 구간에 쓰여져야만 한다고 파일 포맷이 고집하기 때문에, 데이터 손실이 발생할 수 있을 것이다. 또한, 파일을 레코딩할 때에, 이용 가능한 저장소의 크기에 비해 무비 박스를 버퍼링하기 위한 충분한 양의 랜덤 액세스 메모리 (RAM)가 존재하지 않을 수 있을 것이며, 그리고 무비가 너무 느리게 닫힐 때에 무비 박스의 콘텐트들을 재-계산하기에 충분한 양의 랜덤 액세스 메모리 (RAM)가 존재하지 않을 수 있을 것이다. 더욱이, 무비 프레그먼트들은 통상적인 ISO 파일 파서 (parser)를 이용하여 파일을 동시에 레코딩하고 그리고 재생하는 것을 가능하게 할 수 있을 것이다. 마지막으로, 초기 버퍼링의 더 작은 지속 시간이 프로그레시브한 (progressive) 다운로딩, 즉, 무비 프레그먼트들이 사용되고 그리고 동일한 미디어 콘텐트이지만 무비 프레그먼트들 없이 조직된 파일에 비교하여 초기의 무비 박스가 더 작을 때에 파일의 동시 수신 및 재생을 위해서 필요하다.
상기 무비 프레그먼트 특징은 통상적으로 moov 박스 내에 존재할 메타데이터를 다중의 조각들로 분할하는 것이 가능하며, 그 조각들 각각은 트랙에 대한 어떤 시간 구간에 대응한다. 다른 말로 하면, 무비 프레그먼트 특징은 파일 메타데이터 그리고 미디어 데이트를 인터리브하는 것이 가능하다. 결과적으로, 상기 moov 박스의 크기는 제한될 수 있을 것이며 그리고 상기에서 언급된 사용의 경우들이 실현될 수 있을 것이다.
무비 프레그먼트들용의 미디어 샘플들은 그것들이 moov 박스에서와 같이 동일한 파일 내에 존재하면 평소처럼 mdat 박스 내에 존재한다. 그러나, 상기 무비 프레그먼트들의 메타 데이터에 대해서 moof 박스가 제공된다. 그 moof 박스는 이전에 moov 박스 내에 있었을 재생 시간의 어떤 유지 시간에 대한 정보를 포함한다. 상기 moov 박스는 자기 자신에 관한 유효한 무비를 여전히 표시하며, 그러나 추가로, 상기 moov 박스는 무비 프레그먼트들이 동일한 파일 내에서 계속될 것이라는 것을 표시하는 mvex 박스를 포함한다. 무비 프레그먼트들은 연관된 상기 표현을 때를 맞춰서 상기 moov 박스로 확장한다.
상기 moof 박스 내에 포함될 수 있을 메타데이터는 moov 박스 내에 포함될 수 있을 메타데이터의 부분집합으로 제한되며 그리고 동일한 경우들에서 다르게 코딩된다. moof 박스 내에 포함될 수 있을 박스들에 대한 상세한 내용들은 ISO 기반 미디어 파일 포맷 규격에서 찾을 수 있을 것이다.
이제 도 3 그리고 도 4를 참조하면, 박스들 내에서 샘플 그룹핑을 이용하는 것이 도시된다. AVC 파일 포맷 그리고 SVC 파일 포맷과 같은 ISO 기반 미디어 파일 포맷과 그것의 파생 포맷에서의 샘플 그룹핑은 트랙 내의 각 샘플을 하나의 샘플 그룹의 멤버이도록, 그룹핑 기준을 기반으로 하여 할당하는 것이다. 샘플 그룹핑 내의 샘플 그룹은 연속적인 샘플들인 것으로 한정되지 않으며 그리고 인접하지 않은 샘플들을 포함할 수 있을 것이다. 트랙 내의 샘플들에 대해서 하나 이상의 샘플 그룹핑이 존재할 수 있을 것이므로, 각 샘플 그룹핑은 그룹핑 유형을 나타내기 위한 유형 필드를 구비한다. 샘플 그룹핑들은 두 개의 링크된 데이터 구조들에 의해서 표현된다: (1) SampleToGroup 박스 (sbgp 박스)는 샘플들을 샘플 그룹들로 할당하는 것을 나타낸다; 그리고 (2) SampleGroupDescription 박스 (sgpd 박스)는 그룹의 속설들을 기술하는 각 샘플 그룹에 대한 샘플 그룹 엔트리를 포함한다. SampleToGroup 그리고 SampleGroupDescription의 다중의 인스턴스들이 상이한 그룹핑 기준을 기반으로 하여 존재할 수 있을 것이다. 이것들은 그룹핑의 유형을 나타내기 위해서 사용된 유형 필드에 의해서 구별된다.
도 3은 샘플 그룹 박스들에 대한 중첩된 구조를 나타내는 간략화된 박스 계층을 제공한다. 상기 샘플 그룹 박스들 (SampleGroupDescription Box 그리고 SampleToGroup Box)은 샘플 테이블 (stbl) 박스 내에 존재하며, 이 샘플 테이블 박스는 무비 (moov) 박스 내에 있는 미디어 정보 (minf) 박스, 미디어 (mdia) 박스, 그리고 트랙 (trak) 박스 내에 (이 순서대로) 포함된다.
SampleToGroup Box는 무비 프레그먼트 내에 존재하도록 허용된다. 그러므로, 샘플 그룹핑은 프레그먼트 단위로 수행될 수 있을 것이다. 도 4는 SampleToGroup 박스를 포함하는 무비 프레그먼트를 포함하는 파일의 예를 도시한다.
오류 교정은 오류가 있는 데이터를, 수신한 비트스트림에 마치 어떤 오류도 전혀 존재하지 않았던 것처럼 완벽하게 복구하기 위한 기능을 의미한다. 오류 은폐는 전송 오류들에 의해서 초래된 성능 저하들을 은폐하여, 재구축된 미디어 신호에서 그 성능 저하들을 거의 인지할 수 없게 하는 기능을 의미한다.
전방 오류 교정 (Forward error correction (FEC))은 전송기가 패리티 또는 복구 심볼들로서 종종 알려진 여분의 데이터를 전송되는 데이터에 부가하여, 전송 오류들이 존재한다고 해도 전송된 데이터를 복구하는 것을 가능하게 하는 그런 기술들을 의미한다. 체계적인 (systematic) FEC 코드들에서, 원래의 비트스트림은 인코딩된 심볼들 내에 있는 것처럼 보이며, 비-체계적인 코드들로 인코딩하는 것은 상기 원래의 비트스트림을 출력으로서 재-생성하지 않는다. 추가적인 여분 (redundancy)이 손상된 콘텐트를 근사화하기 위한 수단을 제공하는 방법들은 전방 오류 은폐 기술들로서 분류된다.
소스 코딩 레이어 아래에서 동작하는 전방 오류 제어 방법들은 보통은 코덱을 의식하지 않거나 (codec-unaware) 또는 미디어를 의식하지 않는다 (media-unaware). 즉, 상기 여분은 구문을 파싱하거나 또는 코딩된 미디어를 디코딩하는 것을 필요로 하지 않는 그런 여분이다. 미디어를 의식하지 않는 전방 오류 제어에서, 리드-솔로몬 코드들과 같은 오류 교정 코드들은 송신하는 측에서 소스 신호를 변경하기 위해서 사용되어서 전송된 신호가 강건하도록 한다 (즉, 전송된 신호에 어떤 오류들이 발생하더라도 수신기는 그 소스 신호를 복구할 수 있다). 전송된 신호가 그와 같이 소스 신호를 포함한다면, 상기 오류 교정 코드는 체계적인 것이며, 그렇지 않다면, 그것은 비-체계적이다.
미디어를 의식하지 않는 전방 오류 제어 방법들은 다음의 팩터들이라는 특징을 가지는 것이 보통이다:
k = 코드가 계산되는 블록 내의 엘리먼트들의 개수 (보통은 바이트 또는 패킷);
n = 송신된 엘리먼트들의 개수;
n-k는 그러므로 오류를 교정하는 코드가 초래하는 오버헤드이다;
k' = 전송 오류들이 전혀 존재하지 않는다면 소스 블록을 재구축하기 위해서 수신되어야 할 필요가 있는 엘리먼트들의 필요한 개수; 그리고
t = 상기 코드가 복구할 수 있는 삭제된 엘리먼트들의 개수 (블록 당).
미디어를 의식하지 않는 오류 제어 방법들은 또한 적응적인 방식 (이 역시 미디어를 의식하지 않을 수 있다)으로 적용될 수 있어서, 소스 샘플들의 일부분만이 오류 교정 코드들과 함께 프로세싱되도록 한다. 예를 들면, 비디오 비트스트림의 비-레퍼런스 픽처들은 보호되지 않을 수 있을 것이며, 이는 비-레퍼런스 픽처에 가해지는 어떤 전송 오류도 다른 픽처들로 전파되지 않기 때문이다.
미디어를 의식하지 않는 전방 오류 제어 방법의 여분의 표현들 그리고 미디어를 의식하지 않는 전방 오류 제어 방법에서 소스 블록을 재구축하기 위해서 필요로 하지 않는 n-k' 개의 엘리먼트들은 이 문서에서는 전방 오류 제어 오버헤드로서 집합적으로 언급된다.
전송이 타임-슬라이스 될 때에 또는 FEC 코딩이 다중의 액세스 유닛들을 통해서 적용될 때에 본 발명은 수신기들에서 적용 가능하다. 그래서, 두 시스템들이 이 섹션에서 도입된다: 디지털 비디오 브로드캐스팅-핸드헬드 (Digital Video Broadcasting - Handheld (DVB-H)) 그리고 3GPP 멀티미디어 브로드캐스트/멀티캐스트 서비스 (Multimedia Broadcast/Multicast Service (MBMS)).
DVB-H는 DVB-T (DVB-Terrestrial)을 기반으로 하고 그에 호환된다. DVB-H에서의 DVB-T로의 확장들은 핸드헬드 기기들에서 브로드캐스트 서비스들을 수신하는 것을 가능하게 한다.
DVB-H용의 프로토콜 스택이 도 5에서 제시된다. IP 패킷들은 매체 액세스 (Medium Access (MAC)) 서브-레이어를 통한 전송을 위해서 멀티-프로토콜 캡슐화 (Multi-Protocol Encapsulation (MPE)) 섹션들로 캡슐화된다. 각 MPE 섹션은 헤더, 페이로드로서의 IP 데이터그램 그리고 페이로드 무결성의 확인을 위한 32-바이트 CRC (cyclic redundancy check)를 포함한다. MPE 섹션 헤더는 무엇보다도 데이터를 어드레싱하는 것을 포함한다. 상기 MPE 섹션들은 LLC (Logical Link Control) 서브-레이어 내 애플리케이션 데이터 테이블들에 논리적으로 배치될 수 있으며, LLC (Logical Link Control) 서브-레이어를 통해서 리드-솔로몬 (Reed-Solomon (RS)) FEC 코드들이 계산되며 그리고 MPE-FEC 섹션들이 형성된다. MPE-FEC 구축을 위한 프로세스는 아래에서 더욱 상세하게 설명된다. 상기 MPE 그리고 MPE-FEC 섹션들은 MPEG-2 전송 스트림 (Transport Stream (TS)) 패킷들로 매핑된다.
물리적인 레이어에서는 효율적으로 교정될 수 없는 긴 버스트 (burst) 오류들과 싸우기 위해서 DVB-H에 MPE-FEC가 포함되었다. 리드-솔로몬 코드가 체계적인 코드이기 때문에 (즉, 소스 데이터는 FEC 인코딩에서 변경되지 않고 유지된다), MPE-FEC 디코딩은 DVB-H 단말들에서는 옵션이다. MPE-FEC 회복 (repair) 데이터는 IP 패킷들을 통해서 계산되며 그리고 MPE-FEC 섹션들로 캡슐화되며, 이는 MPE-FEC 기능이 없는 수신기가 뒤이어 오는 회복 데이터를 무시하면서도 보호되지 않은 데이터를 바로 수신할 수 있도록 하는 방식으로 전송된다.
MPE-FED 회복 데이터를 계산하기 위해서, IP 패킷들은 N x 191 매트릭스로 열-방향으로 (column-wise) 채워지며, 상기 매트릭스의 각 셀은 한 바이트를 호스트하며 그리고 N은 상기 매트릭스 내의 행들의 개수를 나타낸다. 표준은 N의 값이 256, 512, 768 또는 1024 중의 하나이도록 정의한다. RS 코드들은 각 행에 대해서 계산되며 그리고 사슬처럼 연결되어 상기 매트릭스의 최종 크기가 N x 255의 크기가 되도록 한다. 상기 매트릭스의 N x 191 부분은 애플리케이션 데이터 테이블 (Application data table (ADT))로 불리며 그리고 상기 매트릭스의 다음 N x 64 부분은 RS 데이터 테이블 (RSDT)로 불린다. 상기 ADT는 완전하게 채워질 필요는 없으며, 이는 두 MPE-FEC 프레임들 사이에서의 IP 패킷 분열을 피하기 위해서 사용되어야만 하며 그리고 비트레이트 그리고 오류 보호 강도 (strength)를 제어하기 위해서 또한 활용될 수 있을 것이다. 상기 ADT의 채워지지 않은 부분은 패딩으로 불린다. 상기 FEC 보호의 강도를 제어하기 위해서 RSDT의 모든 64개 열들이 전송될 필요는 없다. 즉, 상기 RSDT는 평처될 수 (punctured) 있을 것이다. MPE-FEC 프레임의 구조는 도 6에 도시된다.
모바일 기기들은 제한된 전력원을 가진다. 표준의 풀-대역폭 DVB-T 신호를 수신하고, 디코딩하고 그리고 복조하는데 소비되는 전력은 짧은 시간에 많은 양의 배터리 수명을 이용할 것이다. MPE-FEC 프레임들의 시간 슬라이싱은 이런 문제를 해결하기 위해서 사용된다. 데이터는 버스트로 수신되어서, 수신기들은 제어 신호들을 활용하여 어떤 버스트들도 수신되지 않을 때에는 활동하지 않은 채로 남아있도록 한다. 버스트는 버스트에서 운반되는 미디어 스트림들의 비트레이트에 비하면 매우 더 높은 비트레이트로 송신된다.
MBMS는 베어러 (bearer) 서비스 그리고 사용자 서비스로 기능적으로 분할될 수 있다. MBMS 베어러 서비스는 IP 레이어 아래에서의 전송 절차들을 규정하며, 바면에 상기 MBMS 사용자 서비스는 상기 IP 레이어 위에서의 프로토콜들 그리고 절차들을 규정한다. 상기 MBMS 사용자 서비스는 다운로드와 스트리밍이라는 두 가지 배송 방법들을 포함한다. 이 섹션은 MBMS 스트리밍 배송 방법의 간략한 개관을 제공한다.
MBMS의 스트리밍 배송 방법은 RTP를 기반으로 하는 프로토콜 스택을 이용한다. 상기 서비스의 브로드캐스트/멀티캐스트 속성으로 인해서, 재전송들과 같은 인터액티브 오류 제어 특징들은 사용되지 않는다. 대신에, MBMS는 스트림으로 된 미디어용의 애플리케이션-레이어 FEC 방식을 포함한다. 상기 방식은 FEC 소스 패킷들 그리고 FEC 회복 패킷들이라는 두 가지의 패킷 유형들을 구비한 FEC RTP 페이로드를 기반으로 한다. FEC 소스 패킷들은 소스 FEC 페이로드 ID 필드가 뒤를 잇는 미디어 RTP 페이로드 포맷에 따라서 메타 데이터를 포함한다. FEC 회복 패킷들은 회복 FEC 페이로드 ID 그리고 FEC 인코딩 심볼들 (즉, 회복 데이터)을 포함한다. 상기 FEC 페이로드 ID들은 페이로드가 어느 FEC 소스 블록과 연관되는가 그리고 FEC 소스 블록 내의 패킷의 헤더와 페이로드의 위치를 나타낸다. FEC 소스 블록들은 엔트리들을 포함하며, 그 엔트리들의 각각은 1-바이트 플로우 (flow) 식별자, 이어지는 UDP 페이로드의 2-바이트 길이, 그리고 UDP 페이로드, 즉, RTP 헤더를 포함하지만 임의의 밑에 있는 (underlying) 패킷 헤더들은 배제한 RTP 패킷들을 구비한다. 목적지 UDP 포트 번호 그리고 목적지 IP 주소들의 각 쌍에 대해서 유일한 흐름 식별자는 동일한 FEC 코딩으로 다중의 RTP 스트림들을 보호하는 것을 가능하게 한다. 이는 동일한 기간의 시간 하에서 단일의 RTP 스트림으로 구성된 FEC 소스 블록들에 비하여 더 큰 FEC 소스 블록들을 가능하게 하며 그래서 오류 강건함을 향상시킬 수 있을 것이다. 그러나, 상기 플로우들의 부분집합이 동일한 멀티미디어 서비스에 속한다고 하더라도, 수신기는 묶음으로 된 모든 플로우들 (예를 들면, RTP 스트림들)을 수신해야만 한다.
송신기에서의 프로세싱은 다음과 같이 윤곽이 그려질 수 있다: 미디어 인코더 그리고 캡슐화기에 의해서 생성된 원래의 미디어 RTP 패킷은 상기 FEC 페이로드의 RTP 페이로드 유형을 나타내기 위해서 수정되며 그리고 소스 FEC 페이로드 ID가 추가된다. 수정된 RTP 패킷은 보통의 RTP 메커니즘들을 이용하여 송신된다. 상기 원래의 미디어 RTP 패킷은 상기 FEC 소스 블록으로 또한 복사된다. 일단 상기 FEC 소스 블록이 RTP 패킷들로 채워지면, 상기 보통의 RTP 메커니즘들을 이용하여 또한 송신되는 FEC 회복 패킷들의 개수를 계산하기 위해서 FEC 인코딩 알고리즘이 적용된다. 체계적인 랩터 (Raptor) 코드들이 MBMS의 FEC 인코딩 알고리즘으로서 사용된다.
수신기에서, 모든 FEC 소스 패킷들 그리고 동일한 FEC 소스 블록과 연관된 FEC 회복 패킷들은 수집되고 그리고 FEC 소스 블록은 재구축된다. 분실된 FEC 소스 패킷들이 있으면, FEC 디코딩은 상기 FEC 회복 패킷들 그리고 FEC 소스 블록을 기반으로 적용될 수 있다. 수신한 FEC 회복 패킷의 복구 능력이 충분할 때에, FEC 디코딩은 임의의 분실된 FEC 소스 패킷들의 재구축으로 이끈다. 수신되었거나 또는 복구되었던 미디어 패킷들은 그러면 미디어 페이로드 탈캡슐화기 그리고 디코더에 의해서 보통으로 처리된다.
적응적인 미디어 플레이아웃 (playout)은 미디어 플레이아웃의 레이트를 그것을 캡쳐하는 레이트로 그러므로 의도된 플레이아웃 레이트로부터 적응시키는 것을 말하는 것이다. 문헌에서, 낮은-지연의 대화의 애플리케이션들 (IP를 통한 음성, 비디오 전화기 및 다중 당사자 음성/비디오 회의)에서의 전송 지연 지터를 평탄하게 하고 그리고 창시자와 재생하는 기기 사이에서의 클락 드리프트를 조절하기 위해서 적응적인 미디어 플레이아웃이 우선 사용된다. 스트리밍 그리고 텔레비전-유사한 브로드캐스팅 애플리케이션들에서, 잠재적인 지연 지터를 평탄하게 하기 위해서 초기의 버퍼링이 사용되며 그래서 적응적인 미디어 플레이아웃은 그런 목적들을 위해서는 사용되지 않는다 (그러나, 클락 드리프트 조절을 위해서는 여전히 사용될 수 있을 것이다). 문예에 있어서의 워터마킹, 데이터 삽입 그리고 비디오 브라우징에서 오디오 타임-스케일 수정 (아래 참조)이 또한 사용되었다.
실시간 미디어 콘텐트 (보통은 오디오 및 비디오)는 연속적인 또는 반 (semi)-연속적인 것으로서 분류될 수 있다. 연속적인 미디어는 연속되며 그리고 능동적으로 변하며, 예들로는 텔레비전 프로그램들이나 영화들 용의 음악 그리고 비디오 스트림이 있다. 반-연속적인 미디어는 비활성인 구간들이라는 특징이 있다. 묵음 탐지를 구비한 말로 하는 음성이 넓게 사용되는 반-연속적인 미디어들이다. 적응적인 미디어 플레이아웃의 관점으로부터, 이런 두 미디어 콘텐트 유형들 사이의 주요한 차이점은 반-연속적인 미디어의 비활성 구간들의 유지 시간이 쉽게 조절될 수 있다는 것이다. 대신에, 연속적인 오디오 신호는 감지할 수 없는 방식으로, 예를 들면, 다양한 타임-스케일 수정 방법들을 샘플링함으로써 수정되어야만 한다. 연속적인 그리고 반-연속적인 오디오 둘 다를 위한 적응적인 오디오 플레이아웃 알고리즘들의 한가지 레퍼런스는 Y. J. Liang, N. Farber, 그리고 B. Girod의, "Adaptive playout scheduling using time-scale modification in packet voice communications," Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. 3, pp. 1445-1448, May 2001 이다. 연속적인 오디오 신호의 타임-스케일 수정을 위한 다양한 방법들은 문헌에서 찾을 수 있다. [J. Laroche, "Autocorrelation method for high-quality time/pitch-scaling," Proceedings of IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, pp. 131-134, Oct. 1993.]에 따르면, 15%까지의 타임-스케일 수정이 실질적으로 어떤 가청의 아티팩트들 (artifacts)도 생성하지 않는다고 알려졌다. 디코딩된 비디오 픽처들은 보통은 오디오 플레이아웃 클럭에 따라서 보통은 템포가 정해지기 때문에, 비디오의 적응적인 플레이아웃은 문제가 되지 않는다는 것에 유의한다.
적응적인 미디어 플레이아웃이 전송 지연 지터를 평탄화하기 위해서 필요할 뿐만이 아니라 그것은 사용되고 있는 전방 오류 교정 방식와 더불어서 최적화될 필요가 있다는 것에 유의한다. 다른 말로 하면, FEC 블록을 위해 모든 데이터를 수신하는 것에 있어서의 본래부터의 지연은 미디어의 플레이아웃 스케줄을 결정할 때에 고려되어야만 한다. 상기 토픽에 관한 첫 번째 논문들 중의 하나는 J. Rosenberg, Q. LiIi, 그리고 H. Schulzrinne의 "Integrating packet FEC into adaptive voice playout buffer algorithms on the Internet," Proceedings of the IEEE Computer and Communications Societies Conference (INFOCOM) , vol. 3, pp. 1705-1714, Mar. 2000. 이다. 우리의 지식으로는, FEC 블록 수신 지연 그리고 전송 지연 지터들 용으로 공동으로 설계된 적응적인 미디어 플레이아웃 알고리즘들은 과학적인 문헌에서의 대화 애플리케이션들을 위해서만 고려되었다.
H.264/AVC 그리고 SVC에 의해서 가능하게 된 멀티-레벨 시간적인 스케일러빌리티 계층들은 그것들의 막대한 압축 효율 향상으로 인해서 사용될 것으로 시사되었다. 그러나, 상기 멀티레벨 계층들은 디코딩의 시작 그리고 렌더링의 시작 사이에 큰 지연을 또한 일으킨다. 상기 지연은 디코딩된 픽처들은 자신들의 디코딩 순서로부터 출력/디스플레이 순서로 다시 순서가 정해져야만 한다는 사실에 의해서 초래된다. 결국, 랜덤 위치로부터 스트림에 액세스할 때에, 스타트-업 지연이 증가되며, 그리고 유사하게 멀티캐스트 또는 브로드캐스트로의 동조 지연은 비-계층적인 시간 스케일러빌리티의 그것들에 비해서 증가된다.
도 7의 a) 내지 c)는 다섯 개의 시간적인 레벨들 (a.k.a. GOP 크기 16)을 구비한 전형적으로 계층적인 스케일러블 비트스트림을 도시한다. 시간적인 레벨 0에서의 픽처들은 시간적인 레벨 0에서 이전의 픽처(들)로부터 예측된다. 시간적인 레벨 N (N > 0)에서의 픽처들은 N보다 작은 시간적인 레벨에서 출력 순서에 있어서 이전의 픽처 그리고 다음의 픽처로부터 예측된다. 이 예에서 하나의 픽처를 디코딩하는 것은 하나의 픽처 구간에 지속된다고 가정된다. 비록 이것이 순진한 가정이라고 해도, 일반성을 잃지 않고 문제점을 예시하는 목적에 봉사한다.
도 7의 a)는 출력 순서에서의 예시의 시퀀스를 보여준다. 박스들 내에 포함된 값들은 픽처의 frame_num 값을 나타낸다. 이탤릭체의 값들은 비-레퍼런스 픽처를 나타내며 다른 픽처들은 레퍼런스 픽처들이다.
도 7의 b)는 디코딩 순서에서의 예시의 시퀀스를 보여준다. 도 7의 c)는 출력 타임라인이 디코딩 타임라인과 일치하다고 가정할 때에 출력 순서에서의 예시의 시퀀스를 보여준다. 다른 말로 하면, 도 7의 c)에서, 픽처의 가장 빠른 출력 시각은 그 픽처의 디코딩 그 뒤에 오는 다음 픽처 인터벌 내에 있다. 스트림의 재생은 스트림의 디코딩이 시작된 것보다 5개의 픽처 인터벌들 이후에 시작한다는 것을 볼 수 있다. 상기 픽처들이 25 Hz에서 샘플링되었다면, 픽처 인터벌은 40 msec이며, 그리고 재생은 0.2초만큼 지연된다.
현대의 비디오 코딩 ((H.264/AVC 그리고 SVC)에 적용된 계층적인 시간적 스케일러빌리티는 압축 효율을 향상시키지만, 그러나, 디코딩된 픽처들을 (디)코딩 순서로부터 출력 순서로 다시 순서를 정하는 것으로 인해서 디코딩 지연을 증가시킨다. 계층적인 시간적 스케일러빌리티에서 소위 서브-시퀀스들의 디코딩을 생략하는 것이 가능하다. 본 발명의 실시예들에 따르면, 선택된 서브-시퀀스들을 디코딩하거나 전송하는 것은 디코딩이나 전송이 시작될 때에: 랜덤 액세스 이후에, 스트림의 시작에서 또는 브로드캐스트/멀티캐스트에 동조할 때에 생략된다. 결국, 이런 선택된 디코딩된 픽처들을 그것들의 출력 순서로 순서를 다시 정하기 위한 지연은 회피되며 그리고 스타트업 (startup) 지연이 감소된다. 그러므로, 본 발명의 실시예들은 비디오 스트림들에 액세스할 때에 또는 브로드캐스트의 채널을 변경할 때에 응답 시간을 (그리고 그래서 사용자의 경험을) 향상시킬 수 있을 것이다.
본 발명의 실시예들은 보통의 레이트로 재생하는 결과가 되는 비트스트림의 자연스러운 디코딩 레이트보다 비트스트림의 시작에 액세스하는 것이 더 빠른 경우에 재생기들에서 적용될 수 있다. 그런 재생기들의 예들은 대용량 메모리로부터의 스트림 재생, (DVB-H 모바일 텔레비전과 같은) 시-분할-멀티플렉스된 버스티한 전송 수신 그리고 전방 오류 교정 (FEC)이 여러 미디어 프레임들에 걸쳐서 적용되며 그리고 FEC 디코딩이 수행되는 스트림들의 수신 (예를 들면, MBMS 수신기)이다. 재생기들은 비트스트림의 어느 서브-시퀀스들이 디코딩되지 않는가를 선택한다.
본 발명의 실시예들은 유니 캐스트 배송을 위해서 서버들이나 송신기들에 의해서 또한 적용될 수 있다. 송신기는 수신기가 비트스트림의 수신을 시작하거나 또는 원하는 위치로부터 비트스트림에 액세스할 때에 비트스트림 중의 어느 서브-시퀀스들이 그 수신기로 전송되는가를 선택한다.
본 발명의 실시예들은 선택된 랜덤 액세스 위치들로부터 멀티미디어 파일에 액세스하기 위한 명령어들을 생성하는 파일 생성기들에 의해서 또한 적용될 수 있다. 상기 명령어들은 로컬 재생에서 또는 유니캐스트 배송을 위해서 상기 비트스트림을 캡슐화할 때에 적용될 수 있다.
본 발명의 실시예들은 수신기가 멀티캐스트 또는 브로드캐스트에 연결할 때에 또한 적용될 수 있다. 멀티캐스트 또는 브로드캐스트에 연결하는 것에 대한 응답으로서, 수신기는 가속된 스타트업을 위해서 어느 서브-시퀀스들이 디코딩되어야만 하는가에 관한 명령어들을 유니캐스트 배송을 통해서 얻을 수 있을 것이다. 몇몇의 실시예들에서, 가속된 스타트업을 위해서 어느 서브-시퀀스들이 디코딩되어야만 하는가에 관련된 명령어들은 멀티캐스트 스트림이나 또는 브로드캐스트 스트림 내에 포함될 수 있을 것이다.
이제 도 8을 참조하면, 본 발명의 일 실시예의 예시의 구현이 도시된다. 블록 810에서, 프로세싱 유닛이 액세스하는 그런 액세스 유닛들 중에서 첫 번째 디코딩 가능한 액세스 유닛이 식별된다. 디코딩 가능한 액세스 유닛은, 예를 들면, 다음의 방식들 중의 하나 또는 그 이상에서 정의될 수 있다:
- IDR 액세스 유닛;
- IDR 의존성 표현 (dependency representation)에 대한 dependency_id가 액세스 유닛의 가장 큰 dependency_id 보다 더 작은 그런 IDR 의존성 표현을 구비한 SVC 액세스 유닛;
- 앵커 (anchor) 픽처를 포함하는 MVC 액세스 유닛;
- 복구 포인트 SEI 메시지를 포함하는 액세스 유닛, 즉, (recovery_frame_cnt이 0과 같을 때에) 복구 프레임 개방 GOP을 또는 (recovery_frame_cnt가 0보다 더 클 때에) 점진적인 디코딩 리플레시 구간을 시작시키는 액세스 유닛;
- 여분의 IDR 픽처를 포함하는 액세스 유닛;
- 복구 포인트 SEI 메시지와 연관된 여분의 코딩된 픽처를 포함하는 액세스 유닛.
브로드캐스트 의미에서, 디코딩 가능한 액세스 유닛은 임의의 액세스 유닛일 수 있을 것이다. 그러면, 디코딩 프로세스에서 분실된 예측 레퍼런스들은, 예를 들면, 무시되거나 또는 디폴트 값들에 의해서 대체된다.
액세스 유닛들 중에서 첫 번째로 액세스 가능한 액세스 유닛이 식별되는 그런 액세스 유닛들은 본 발명이 구현되는 기능적인 블록에 종속된다. 본 발명이 대용량 메모리로부터의 비트스트림에 액세스하는 재생기 내에서 또는 송신기 내에서 적용되면, 상기 첫 번째로 디코딩 가능한 액세스 유닛은 원하는 액세스 위치로부터 시작하는 임의의 액세스 유닛일 수 있으며 또는 그것은 원하는 액세스 위치 이전의 또는 그 원하는 액세스 위치에서의 첫 번째로 디코딩 가능한 액세스 유닛일 수 있을 것이다. 본 발명이 수신한 비트스트림에 액세스하는 재생기 내에서 적용되면, 상기 첫 번째로 디코딩 가능한 액세스 유닛은 첫 번째로 수신한 데이터 버스트 또는 FEC 소스 매트릭스 내의 액세스 유닛들 중의 하나이다.
첫 번째로 디코딩 가능한 액세스 유닛은 다음을 포함하는 다중의 수단에 의해서 식별될 수 있다:
- nal_unit_type 이 5와 같고, idr_flag 가 1과 동일하고 또는 복구 포인트 SEI 메시지가 비트스트림 내에 존재한다는 것과 같은 비디오 비트스트림 내에서의 표시.
- SCV RTP 페이로드 포맷의 PACSI NAL 유닛의 A 비트와 같이 전송 프로토콜에 의해 표시된 수단. 상기 A 비트는 비-IDR 레이어 표현 (nal_unit_type 이 5와 같지 않고 그리고 idr_flag 는 1과 같지 않다는 레이어 표현)에서의 공간적인 레이어 스위칭이나 CGS가 수행될 수 있는가의 여부를 나타낸다. 몇몇의 픽처 코딩 구조와 함께 비-IDR 인트라 레이어 표현은 랜덤 액세스를 위해서 사용될 수 있다. IDR 레이어 표현들만을 사용하는 것에 비교하면, 더 높은 코딩 효율이 달성될 수 있다. 비-IDR 인트라 레이어 표현의 랜덤 액세스 가능성을 표시하기 위한 H.264/AVC 또는 SVC 솔루션은 복구 포인트 SEI 메시지를 이용하고 있다. 상기 복구 포인트 SEI 메시지를 파싱할 필요도 없이 상기 A 비트는 이런 정보로의 직접적인 액세스를 제공하며, 상기 복구 포인트 SEI 메시지는 SEI NAL 유닛에 깊게 묻혀질 수 있을 것이다. 또한, 상기 SEI 메시지는 상기의 비트스트림 내에 존재하지 않을 수 있을 것이다.
- 콘테이너 파일 내에서 표시된 수단. 예를 들면, Sync Sample Box, Shadow Sync Sample Box, 랜덤 액세스 복구 포인트 (Random Access Recovery Point) 샘플 그룹핑, Track Fragment Random Access Box는 ISO 기반 미디어 파일 포맷과 호환되는 파일들 내에서 사용될 수 있다.
- 패킷화된 기본 스트림 내에서 표시된 수단.
도 8을 다시 참조하면, 블록 820에서, 상기 첫 번째로 디코딩 가능한 액세스 유닛이 프로세싱된다. 프로세싱의 방법은 도 8의 예시의 프로세스가 구현되는 기능적인 블록에 의존한다. 상기 프로세스가 재생기 내에서 구현되면, 프로세싱은 디코딩을 포함한다. 상기 프로세스가 송신기 내에서 구현되면, 프로세싱은 액세스 유닛을 하나 또는 그 이상의 전송 패킷들로 캡슐화하고 그리고 그 액세스 유닛을 전송하는 것만이 아니라 (잠재적인 가정으로) 그 액세스 유닛을 위해서 그 전송 패킷들을 수신하고 디코딩하는 것도 포함할 수 있을 것이다. 상기 프로세스가 파일 생성기 내에서 구현되면, 프로세싱은 가속된 스타트업 절차에서 어느 서브-시퀀스들이 디코딩 되어야만 하고 또는 전송되어야만 하는가의 명령어들을 (예를 들면, 파일에) 기록하는 것을 포함한다.
블록 830에서, 출력 클럭은 초기화되고 그리고 시작된다. 출력 클럭을 시작시키는 것과 동시에 일어나는 추가적인 동작들은 프로세스가 구현되는 기능적인 블록에 의존할 수 있을 것이다. 상기 프로세스가 재생기 내에서 구현되면, 상기 첫 번째로 디코딩 가능한 액세스 유닛의 디코딩으로부터의 결과인 디코딩된 픽처는 출력 클럭을 시작시키는 것과 동시에 디스플레이될 수 있다. 상기 프로세스가 송신기 내에서 구현되면, 상기 첫 번째 디코딩 가능한 액세스 유닛의 디코딩으로부터의 결과인 (가정적인) 디코딩된 픽처는 상기 출력 클럭의 시작과 동시에 (가정적으로) 디스플레이될 수 있다. 상기 프로세스가 파일 생성기 내에서 구현되면, 상기 출력 클럭은 실시간으로 짤깍짤깍하는 벽시계를 나타낼 수 없을 것이며 오히려 상기 액세스 유닛들의 디코딩 또는 조립 시각들과 동기될 수 있다.
다양한 실시예들에서, 블록들 (820, 830)의 동작의 순서는 거꾸로 될 수 있을 것이다.
블록 840에서, 디코딩 순서에서 다음의 액세스 유닛은 출력 클럭이 상기 다음의 액세스 유닛의 출력 시각에 도달하기 이전에 프로세싱될 수 있는가의 여부에 관한 결정이 내려진다. 프로세싱 방법은 상기 프로세스가 구현되는 기능적인 블록에 의존한다. 상기 프로세스가 재생기 내에서 구현되면, 프로세싱은 디코딩을 포함한다. 상기 프로세스가 송신기 내에서 구현되면, 프로세싱은 액세스 유닛을 하나 또는 그 이상의 전송 패킷들로 캡슐화하고 그리고 그 액세스 유닛을 전송하는 것만이 아니라 (잠재적인 가정으로) 그 액세스 유닛을 위해서 그 전송 패킷들을 수신하고 디코딩하는 것도 보통은 포함할 수 있을 것이다. 상기 프로세스가 파일 생성기 내에서 구현되면, 명령어들 재생기를 위해서 또는 송신기를 위해서 생성되는가의 여부에 관하여 상기 재생기 또는 상기 송신기 각각을 위해서 상기에서처럼 정의된다.
상기 프로세스가 송신기 내에서 또는 비트스트림 전송을 위한 명령어들을 생성하는 파일 생성기 내에서 구현되면, 디코딩 순서는 디코딩 순서와는 동일할 필요가 없는 전송 순서에 의해서 대체될 수 있을 것이라는 것에 유의한다.
다른 실시예에서, 출력 클럭 그리고 프로세싱은 상기 프로세스가 송신기 내에서 또는 전송을 위한 명령어들을 생성하는 파일 생성기 내에서 구현되었을 때에 다르게 번역된다. 이 실시예에서, 상기 출력 클럭은 전송 클럭으로서 여겨진다. 블록 840에서, 액세스 유닛의 스케줄된 디코딩 시각이 상기 액세스 유닛의 출력 시각 (즉, 전송 시각)이전에 나타날 것인가의 여부가 판별된다. 근원적인 원칙은 액세스 유닛은 그 액세스 유닛의 디코딩 시각 이전에 전송되거나 또는 (예를 들면, 파일 내에서) 전송되도록 명령을 받아야만 한다는 것이다. 프로세싱이라는 용어는 액세스 유닛을 하나 또는 그 이상의 전송 패킷들로 캡슐화하고 그리고 그 액세스 유닛을 전송한다는 것을 포함하며, 이와 같은 동작은, 파일 생성기의 경우에는, 그 파일 내에 주어진 명령어들을 따를 때에 상기 송신기가 할 수 있을 가정적인 동작들이다.
디코딩 순서에서 다음의 액세스 유닛과 연관된 출력 시각에 상기 출력 클럭이 도달하기 이전에 상기 다음의 액세스 유닛이 프로세싱될 수 있다고 블록 840에서 판별이 내려지면, 상기 프로세스는 블록 850으로 진행한다. 블록 850에서, 상기 다음의 액세스 유닛이 프로세싱된다. 프로세싱은 블록 820에서와 같은 방식으로 정의된다. 블록 850에서의 프로세싱 이후에, 디코딩 순서에서 다음의 액세스 유닛으로의 포인터는 하나의 액세스 유닛만큼 증가하며, 그리고 상기 절차는 블록 840으로 돌아간다.
반면에, 디코딩 순서에서 다음의 액세스 유닛과 연관된 출력 시각에 상기 출력 클럭이 도달하기 이전에 상기 다음의 액세스 유닛이 프로세싱될 수 없다고 블록 840에서 판별이 내려지면, 상기 프로세스는 블록 860으로 진행한다. 블록 860에서, 디코딩 순서에서 다음의 액세스 유닛의 프로세싱은 생략된다. 추가로, 디코딩하는데 있어서 상기 다음의 액세스 유닛에 의존하는 엑세스 유닛들의 프로세싱은 생략된다. 다른 말로 하면, 디코딩 순서에서 다음의 액세스 유닛에 자신의 루트를 가지는 서브시퀀스는 프로세싱되지 않는다. 그러면, 디코딩 순서에 있어서 다음의 액세스 유닛으로의 포인터는 하나의 액세스 유닛만큼 증가하며 (상기 생략된 액세스 유닛들은 더 이상 디코딩 순서에서는 존재하지 않는다고 가정한다), 그리고 상기 절차는 블록 840으로 돌아간다.
비트스트림 내에 더 이상의 액세스 유닛들이 존재하지 않으면, 상기 절차는 블록 840에서 중단된다.
다음에, 일 예로서, 도 8의 프로세스는 도 7의 시퀀스에 적용되는 것으로서 예시된다. 도 9의 a)에서, 프로세싱을 위해서 선택된 액세스 유닛들이 도시된다. 도 9의 b)에서, 도 9의 a)에서의 액세스 유닛들을 디코딩한 것으로부터의 결과인 디코딩된 유닛들이 제시된다. 디코딩된 픽처가 도 9의 b)에서의 디코더 출력에 나타날 수 있는 가장 빠른 타임슬롯이 도 9의 a)에서의 각 액세스 유닛의 프로세싱 타임슬롯에 관련한 다음 타임슬롯이 되도록 도 9의 a) 및 도 9의 b)는 수평으로 정렬된다.
도 8의 블록 810에서, frame_num 이 0과 같은 액세스 유닛이 첫 번째로 디코딩 가능한 액세스 유닛으로서 식별된다.
도 8의 블록 820에서, frame_num 이 0과 같은 액세스 유닛이 프로세싱된다.
도 8의 블록 830에서, 출력 클럭이 시작되고 그리고 0과 같은 frame_num을 구비한 액세스 유닛을 (가정으로) 디코딩한 것으로부터의 결과인 디코딩된 픽처는 (가정적으로) 출력된다.
도 8의 블록들 840 그리고 850은 1, 2 그리고 3과 같은 frame_num을 구비한 액세스 유닛들에 대해서 반복해서 되풀이되며, 이는 출력 클럭이 상기 액세스 유닛들의 출력 시각에 도달하기 이전에 그 액세스 유닛들이 프로세싱될 수 있기 때문이다.
4와 동일한 frame_num을 구비한 액세스 유닛은 디코딩 순서에서 다음의 것일 때에, 그것의 출력 시각은 이미 지나갔다. 그러므로, 4와 동일한 frame_num을 구비한 액세스 유닛 그리고 5와 동일한 frame_num을 구비한 비-레퍼런스 픽처들을 포함하는 액세스 유닛들은 생략된다 (도 8의 블록 860).
도 8의 블록들 840 그리고 850은 그러면 디코딩 순서에서 그 뒤의 모든 액세스 유닛들에 대해서 반복해서 되풀이되며, 이는 출력 클럭이 상기 액세스 유닛들의 출력 시각에 도달하기 이전에 그 액세스 유닛들이 프로세싱될 수 있기 때문이다.
이 예에서, 도 8의 절차가 적용되었을 때에 픽처들을 렌더링 (rendering)하는 것은 상기에서 설명된 전통적인 접근에 비해서 4개의 픽처 인터벌들만큼 더 빠르게 시작한다. 픽처 레이트가 25 Hz일 때에, 스타트업 (startup) 지연에서의 절약은 160 msec이다. 스타트업 지연에 있어서의 절약은 비트스트림의 시작에서 더 긴 픽처 인터벌이라는 불리한 점과 같이 온다.
대체적인 구현에서, 출력 클럭이 시작되기 이전에 하나보다 많은 프레임이 프로세싱된다. 상기 출력 클럭은 처음으로 디코딩된 액세스 유닛의 출력 시각으로부터 시작될 수 없을 수 있겠지만, 더 나중의 액세스 유닛이 선택될 수 있을 것이다. 따라서, 선택된 더 나중의 프레임이 전송되거나 또는 출력 클럭이 시작될 때에 동시에 재생된다.
일 실시예에서, 액세스 유닛은 자신의 출력 시각 이전에 프로세싱될 수 있다고 하더라도 프로세싱을 위해서 선택되지 않을 수 있다. 이는 동일한 시간적인 레벨들 내의 다중의 연속되는 서브-시퀀스들을 디코딩하는 것이 생략되는 경우에 특히 그렇다.
도 10은 본 발명의 실시예들에 따른 다른 예시의 시퀀스를 도시한다. 이 예에서, 2와 동일한 frame_num을 갖춘 액세스 유닛으로부터의 결과인 디코딩된 픽처는 출력/전송되는 첫 번째 픽처이다. 3과 동일한 frame_num을 구비한 액세스 유닛에 의존하는 액세스 유닛들을 포함하는 서브-시퀀스를 디코딩하는 것은 생략되며 그리고 첫 번째 GOP의 두 번째 절반 내에 있는 비-레퍼런스 픽처들을 디코딩하는 것 역시 생략된다. 결과적으로, 첫 번째 GOP의 출력 픽처 레이트는 보통의 픽처 레이트의 절반이지만, 디스플레이 프로세스는 이전에 설명된 전통적인 솔루션보다는 2개 프레임 인터벌만큼 (25 Hz 픽처 레이트에서 80 msec) 더 빠르게 시작한다.
개방 GOP를 시작하는 인트라 픽처로부터 시작하는 비트스트림을 프로세싱할 때에, 디코딩 가능하지 않은 리딩 픽처들을 프로세싱하는 것은 생략된다. 추가로, 디코딩 가능한 리딩 픽처들을 프로세싱하는 것 역시 생략될 수 있다. 추가로, 개방 GOP를 시작하는 인트라 픽처보다 출력 순서에서 이후에 발생하는 하나 또는 그 이상의 서브-시퀀스들은 생략된다.
도 11의 a)는 디코딩 순서에서 있어서 첫 번째의 액세스 유닛이 개방 GOP를 시작하는 인트라 픽처를 포함하는 예시의 시퀀스를 제시한다. 이 픽처에 대한 frame_num은 1과 동일하도록 선택된다 (그러나, frame_num의 다음의 값들이 따라서 변한다면 frame_num의 어떤 다른 값은 동일하게 유효할 것이다). 도 11의 a) 내의 시퀀스는 도 7의 a)에서와 동일하지만, 초기 IDR 액세스 유닛은 존재하지 않는다 (예를 들면, 수신되지 않았으며, 이는 수신하는 것이 초기 IDR 액세스 유닛의 전송에 이어서 시작되었기 때문이다). 그러므로, 2부터 8까지를 포함하는 frame_num을 구비한 디코딩된 픽처들 그리고 9와 동일한 frame_num을 구비한 비-레퍼런스 픽처들은 1과 동일한 frame_num을 구비한 디코딩된 픽처의 출력 순서에서의 이전에 생기며 그리고 그 픽처들은 디코딩 가능하지 않은 리딩 픽처들이다. 그러므로, 그 픽처들을 디코딩하는 것은 도 11의 b)에서 관찰할 수 있는 것처럼 생략된다. 추가로, 도 8을 참조하여 상기에서 제시된 절차는 남아있는 액세스 유닛들을 위해서 적용된다. 결과적으로, 12와 동일한 frame_num을 구비한 액세스 유닛들 그리고 13과 동일한 frame_num을 구비한 비-레퍼런스 픽처들을 포함하는 액세스 유닛들을 프로세싱하는 것은 생략된다. 프로세싱된 액세스 유닛들은 도 11의 b)이며 그리고 디코더 순서에서 결과인 픽처 시퀀스는 도 11의 c)에 존재한다. 이 예에서, 디코딩된 픽처 출력은 전통적인 구현들보다 19개 픽처 인터벌들만큼 (즉, 25 Hz 픽처 레이트에서 760 msec) 더 빨리 시작된다.
출력 순서에 있어서 가장 이른 디코딩된 픽처는 (예를 들면, 도 10 그리고 도 11의 a) 내지 c)에서 도시된 것과 유사한 프로세싱의 결과로서) 출력되지 않으며, 추가적인 동작들은 본 발명의 실시예들의 구현되는 기능적인 블록들에 의존하여 수행되어야만 할 수 있을 것이다.
- 본 발명의 일 실시예가 비디오 비트스트림을 수신하고 그리고 하나 또는 그 이상의 비트스트림들이 상기 비디오 비트스트림과 실시간으로 동기하는 (즉, 디코딩이나 재생 레이트보다 더 빠르지 않은 평균으로) 재생기에서 구현되면, 다른 비트스트림들의 첫 번째 액세스 유닛들의 일부를 프로세싱하는 것은 모든 스트림들의 동기식 플레이아웃을 구비하기 위해서 생략되어야만 할 수 있을 것이며 그리고 상기 스트림들의 재생 레이트는 적응되어야만 할 것이다 (속력을 늦춘다). 재생 레이트가 적응되지 않는다면, 다음으로 수신되는 전송 버스트 또는 다음으로 디코딩된 FEC 소스 블록은 첫 번째로 수신한 전송 버스트 또는 첫 번째로 디코딩한 FEC 소스 블록의 마지막 디코딩된 샘플들보다 더 늦게 이용 가능할 것이다. 즉, 재생에 있어서 틈이나 중단이 존재할 수 있을 것이다. 어떤 적응 미디어 플레이아웃 알고리즘도 사용될 수 있다.
- 본 발명의 실시예가 송신기나 전송하는 스트림들을 위한 명령어들을 기록하는 파일 생성기 내에서 구현되면, 상기 비디오 비트스트림과 동기된 비트스트림들로부터의 첫 번째 액세스 유닛들은 출력 시각에서 첫 번째로 디코딩된 픽처와 가능한 근접하게 부합하도록 선택된다.
본 발명의 일 실시예가 첫 번째로 디코딩 가능한 액세스 유닛이 점진적인 디코딩 리프레시 구간의 첫 번째 픽처를 포함하는 시퀀스에 적용되면, 0과 동일한 temporal_id를 구비한 액세스 유닛들만이 디코딩된다. 또한, 신뢰할 수 있는 분리 영역만이 상기 점진적 디코딩 리플레시 구간 내에서 디코딩될 수 있을 것이다.
상기 액세스 유닛들이 품질, 공간적인 또는 다른 스케일러빌리티 수단을 이용하여 코딩되면, 디코딩 프로세스의 속도를 높이고 그리고 추가로 스타트업 지연을 감소시키기 위해서, 선택된 의존성 표현들 그리고 레이어 표현들만이 디코딩될 수 있을 것이다.
ISO 기반 미디어 파일 포맷과 함께 실현된 본 발명의 일 실시예의 예가 이제 설명될 것이다.
sync 샘플로부터 시작하는 트랙에 액세스할 때에, 디코딩된 픽처들의 출력은 특정 서브-시퀀스들이 디코딩되지 않으면 더 빨리 시작될 수 있다. 본 발명의 일 실시예에 따라, 샘플 그룹핑 메커니즘은 샘플들이 가속된 디코딩된 픽처 버퍼링 (decoded picture buffering (DPB))을 위해서 랜덤 액세스에서 프로세싱되어야만 하는지 아닌지를 나타내기 위해서 사용될 수 있을 것이다. 대체의 스타트업 시퀀스는 sync 샘플로부터 시작하는 어떤 구간 내에 트랙의 샘플들의 부분집합을 포함한다. 샘플들의 이런 부분집합을 프로세싱함으로써, 상기 샘플들을 프로세싱하는 출력은 모든 샘플들이 프로세싱될 때인 경우에서보다 더 빨리 시작될 수 있다. 'alst' 샘플 그룹 기술 (description) 엔트리는 대체의 스타트업 시퀀스 내의 샘플들의 개수를 나타내며, 그 대체의 스타트업 시퀀스 이후에 모든 샘플들은 프로세싱되어야만 한다. 미디어 트랙들의 경우에, 프로세싱은 파싱 그리고 디코딩을 포함한다. 힌트 트랙들의 경우에, 프로세싱은 힌트 샘플들 내의 명령어들에 따라 패킷들을 형성하고 그리고 그 형성된 패킷들을 잠재적으로 전송하는 것을 포함한다.
class AlternativeStartupEntry ( ) extends VisualSampleGroupEntry ('alst')
{
unsigned int(16) roll count;
unsigned int(16) first_output_sample;
for (i=l; i <= roll count; i++)
unsigned int(32) sample_offset [i] ;
}
roll_count 는 대체의 스타트업 시퀀스 내의 샘플들의 개수를 나타낸다. roll_count가 0과 같으면, 연관된 샘플은 어떤 대체의 스타트업 시퀀스에도 속하지 않으며 그리고 first_output_sample의 시맨틱은 규정되지 않는다. 하나의 대체의 스타트업 시퀀스 당 이 샘플 그룹 엔트리에 매핑된 샘플들의 개수는 roll_count와 동일해야 한다.
first_output_sample 은 상기 대체의 스타트업 시퀀스 내의 샘플들 중에서 출력용으로 예정된 첫 번째 샘플의 인덱스를 나타낸다. 상기 대체의 스타트업 시퀀스를 시작시키는 sync 샘플의 인덱스는 1이며, 그리고 상기 인덱스는, 대체의 스타트업 시퀀스 내의 각 샘플 당 디코딩 순서로 1씩 증가한다.
sample_offset[i]는 상기 대체의 스타트업 시퀀스 내의 i-번째 샘플의 디코딩 시각 델타를, Decoding Time to Sample Box 또는 Track Fragment Header Box로부터 유도된 샘플들의 정규 디코딩 시각에 관련하여 나타낸다. 상기 대체의 스타트업 시퀀스를 시작시키는 sync 샘플은 자신의 첫 번째 샘플이다.
다른 실시예에서, sample_offset[i]는 부호화 (signed) 구성 (composition) 타임 오프셋 (상기 Decoding Time to Sample Box 또는 Track Fragment Header Box로부터 유도된 샘플의 정규 디코딩 시각에 상대적임)이다..
다른 실시예에서, DVB 샘플 그룹핑 메커니즘이 사용될 수 있을 것이며 그리고 샘플 그룹 기술 엔트리들에 sample_offset[i]를 제공하는 것 대신에 index_payload 로서 sample_offset[i]가 주어진다. 이 솔루션은 요청된 샘플 그룹 기술 엔트리들의 개수를 줄일 수 있을 것이다.
일 실시예에서, 본 발명에 따른 파일 파서는 다음에서와 같이 비-연속적인 위치로부터의 트랙에 액세스한다. 프로세싱을 시작하기 위한 sync 샘플이 그것으로부터 선택된다. 상기 선택된 sync 샘플은 원하는 비-연속적인 위치에 존재할 수 있을 것이며, 상기 원하는 비-연속적인 위치에 상대적으로 가장 가까운 이전의 sync 샘플일 수 있을 것이며, 또는 상기 원하는 비-연속적인 위치에 상대적으로 가장 가까운 다음의 sync 샘플일 수 있을 것이다. 대체의 스타트업 시퀀스 내의 샘플들은 각자의 샘플 그룹을 기반으로 하여 식별된다. 대체의 스타트업 시퀀스 내의 샘플들은 프로세싱된다. 미디어 트랙들의 경우에, 프로세싱은 디코딩 그리고 잠재적으로 렌더링을 포함한다. 힌트 트랙들의 경우, 프로세싱은 힌트 샘플들 내의 명령어들에 따라서 패킷들을 형성하고 그리고 그 형성된 패킷들을 잠재적으로 전송하는 것을 포함한다. 상기 프로세싱의 타이밍은 sample_offset[i] 값들에 의해서 표시된 것처럼 수정될 수 있을 것이다.
상기에서 설명된 표시들은 (즉, roll_count, first_output_sample, 그리고 sample_offset[i]) 비트스트림 내에 SEI 메시지들로서, 패킷 페이로드 구조 내에, 패킷 헤더 구조 내에, 패킷화된 기본적인 스트림 구조 내에 그리고 파일 포맷 내에 포함될 수 있으며, 또는 다른 수단에 의해서 표시될 수 있다. 이 섹션에서 논의된 표시들은, 예를 들면, 인코더에 의해서, 비트스트림을 분석하는 유닛에 의해서, 또는 파일 생성기에 의해서 생성될 수 있다.
일 실시예에서, 본 발명에 따른 디코더는 디코딩 가능한 액세스 유닛으로부터 디코딩을 시작한다. 상기 디코더는 대체의 스타트업 시퀀스에 관한 정보를, 예를 들면, SEI 메시지를 통해서 수신한다. 상기 디코더는 액세스 유닛들이 대체의 스타트업 시퀀스에 속하다고 표시되면 디코딩을 위해서 그 액세스 유닛들을 선택하고 그리고 (상기 대체의 스타트업 시퀀스가 유지되는 한) 상기 대체의 스타트업 시퀀스에 존재하지 않는 그런 액세스 유닛들을 디코딩하는 것을 생략한다. 상기 대체의 스타트업 시퀀스를 디코딩하는 것이 완료될 때에, 상기 디코더는 모든 액세스 유닛들을 디코딩한다.
어느 서브-시퀀스들이 디코딩으로부터 생략되는지를 선택하기 위해 디코더, 수신기 또는 재생기를 지원하기 위해서, 비트스트림의 시간적인 스케일러빌리티 구조의 표시들이 제공될 수 있다. 하나의 예는 도 2에 도시된 것과 같은 정규의 "분기된 (bifurcative)" 중첩된 구조가 사용되는가 또는 사용되지 않는가 그리고 얼마나 많은 시간적인 레벨들이 존재하는가 (또는 GOP의 크기가 무엇인가)를 표시하는 플래그이다. 표시의 다른 예는 temporal_id 값들의 시퀀스이며, 각각의 temporal_id 값은 액세스 유닛의 temporal_id를 디코딩 순서로 표시한다. 어떤 픽처의 temporal_id 는 temporal_id 값들의 표시된 시퀀스를 반복함으로써 결론이 내려질 수 있다. 즉, temporal_id 값들의 시퀀스는 temporal_id 값들의 반복적인 행동을 표시한다. 본 발명에 따른 디코더, 수신기 또는 재생기는 상기 표시를 기반으로 하여 생략된 그리고 디코딩된 서브-시퀀스들을 선택했다.
출력을 위해서 예정된 첫 번째 디코딩된 픽처는 표시될 수 있다. 이 표시는 송신기 또는 파일 생성기에 의해서 기대되는 것과 같이 수행하기 위해서 디코더, 수신기 또는 재생기를 지원한다. 예를 들면, 2와 동일한 frame_num을 구비한 디코딩된 픽처가 도 10의 예에서의 출력으로 예정된 첫 번째 픽처라는 것이 표시될 수 있다. 그렇지 않다면, 디코더, 수신기 또는 재생기는 0과 같은 frame_num을 구비한 디코딩된 픽처를 첫 번째로 출력할 수 있을 것이며 그리고 상기 출력 프로세스는 상기 송신기 또는 파일 생성기에 의해서 예정된 것 같지 않을 수 있을 것이며 그리고 스타트업 지연에 있어서의 절약은 최적이 아닐 수 있을 것이다.
(예를 들면, 비트스트림의 시작으로부터 더 이른 것이 아니라) 연관된 첫 번째로 디코딩 가능한 액세스 유닛으로부터 디코딩을 시작하기 위한 HRD 파라미터들이 표시될 수 있다. 이런 HRD 파라미터들은 상기 연관된 첫 번째로 디코딩 가능한 액세스 유닛으로부터 디코딩이 시작할 때에 적용 가능한 초기 CPB 그리고 DPB 지연들을 표시한다.
그러므로, 본 발명의 실시예들에 따라, 시간적으로 스케일러블한 비디오 비트스트림들의 디코딩의 동조/스타트업 지연을 수백 밀리초까지 줄이는 것이 달성될 수 있을 것이다. 시간적으로 스케일러블한 비디오 비트스트림들은 비트레이트의 면에서 적어도 25%의 압축 효율을 개선할 수 있을 것이다.
도 12는 본 발명의 다양한 실시예들이 활용될 수 있는 시스템을 보여주며, 상기 시스템은 하나 또는 그 이상의 네트워크들을 통해서 통신할 수 있는 다중의 통신 기기들을 포함한다. 상기 시스템 (10)은 모바일 전화 네트워크, 무선 로컬 영역 네트워크 (LAN), 블루투스 개인 영역 네트워크, 이더넷 LAN, 토큰 링 LAN, 광역 네트워크, 인터넷 등을 포함하지만 그것으로 한정되지는 않는 유선 또는 무선의 네트워크들의 임의 결합을 포함할 수 있을 것이다. 상기 시스템 (10)은 유선 그리고 무선의 통신 기기들 두 가지 모두를 포함할 수 있을 것이다.
예시를 위해서, 도 12에서 보이는 상기 시스템 (10)은 모바일 전화 네트워크 (11) 그리고 인터넷 (28)을 포함한다. 인터넷 (28)으로의 접속은 원거리 범위 무선 접속, 단거리 영역 무선 접속 그리고 전화선, 케이블 라인, 전력선 그리고 유사한 것을 포함하지만 그것들로 한정되지 않는 다양한 유선 접속들을 포함할 수 있을 것이지만, 그것들로 제한되지는 않는다.
상기 시스템 (10)의 예시적인 통신 기기들은 모바일 전화기, 개인용 디지털 보조기 (PDA)와 모바일 전화기 결합 (14), PDA (16), 통합 메시징 기기 (integrated messaging device (IMD) 18), 데스크 탑 컴퓨터 (20), 노트북 컴퓨터 (22) 등의 형상인 전자 기기 (12)를 포함할 수 있을 것이지만, 그것들로 한정되지는 않는다. 상기 통신 기기들은 고정될 것일 수 있으며 또는 이동하는 개인이 가지고 다니는 것과 같이 이동성일 수 있을 것이다. 상기 통신 기기들은 자동차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 모토싸이클 등을 포함하지만 그것들로 한정되지는 않는 운송 모드 내에 또한 위치할 수 있을 것이다. 상기 통신 기기들의 일부 또는 모두는 호와 메시지를 송신하고 수신할 수 있을 것이며 그리고 기지국 (24)으로의 무선 접속 (25)을 통해서 서비스 제공자들과 통신할 수 있을 것이다. 상기 기지국 (24)은 상기 모바일 전화 네트워크 (11)와 인터넷 (28) 사이에서의 통신을 허용하는 네트워크 서버 (26)에 연결될 수 있을 것이다. 상기 시스템 (10)은 부가적인 통신 기기들 그리고 상이한 유형들의 통신 기기들을 포함할 수 있을 것이다.
상기 통신 기기들은 코드 분할 다중 액세스 (Code Division Multiple Access (CDMA)), 모바일 통신을 위한 글로벌 시스템 (Global System for Mobile Communications (GSM)), 범용 모바일 원거리 통신 시스템 (Universal Mobile Telecommunications System (UMTS)), 시분할 다중 액세스 (Time Division Multiple Access (TDMA)), 주파수 분할 다중 액세스 (Frequency Division Multiple Access (FDMA)), 전송 제어 프로토콜/인터넷 프로토콜 (Transmission Control Protocol/Internet Protocol (TCP/IP)), 단문 메시징 서비스 (Short Messaging Service (SMS)), 멀티미디어 메시징 서비스 (Multimedia Messaging Service (MMS)), 이메일, 인스턴트 메시징 서비스 (Instant Messaging Service (IMS)), 블루투스, IEEE 802.11 등을 포함하지만 그것들로 제한되지는 않는 다양한 전송 기술들을 이용하여 통신할 수 있을 것이다. 본 발명의 다양한 실시예들을 구현하는데 결부된 통신 기기는 라디오, 적외선, 레이저, 케이블 접속 그리고 유사한 것을 포함하지만 그것들로 제한되지는 않는 다양한 매체를 이용하여 통신할 수 있을 것이다.
도 13 및 도 14는 본 발명의 다양한 실시예들에 따라서 네트워크 노드로서 사용될 수 있을 전자 기기 (28)의 한가지 표현을 보여준다. 그러나, 본 발명의 범위는 한가지 특정한 유형의 기기로 한정되는 의도는 아니다. 도 13 및 도 14의 전자 기기 (28)는 하우징 (30), 액정 디스플레이 형상의 디스플레이 (32), 키패드 (34), 마이크로폰 (36), 이어-피스 (38), 배터리 (40), 적외선 포트 (42), 안테나 (44), 본 발명의 일 실시예에 따른 UICC의 형상인 스마트 카드 (46), 카드 리더기 (48), 라디오 인터페이스 회로 (52), 코덱 회로 (54), 제어기 (58) 및 메모리 (58)을 포함한다. 사기에서 설명된 컴포넌트들은 상기 전자 기기 (28)가 본 발명의 다양한 실시예들에 따라서 네트워크 상에 존재할 수 있을 다른 기기들로 다양한 메시지들을 송신하고 그 다른 기기들로부터 다양한 메시지들을 수신하는 것을 가능하게 한다. 개별적인 회로들 및 엘리먼트들은 모두 본 발명이 속한 기술분야, 예를 들면, 모바일 전화기들의 노키아 영역에서 잘 알려진 유형이다.
도 15는 그 내부에서 다양한 실시예들이 구현될 수 있을 일반적인 멀티미디어 통신 시스템의 그래픽적인 표현이다. 도 15에 도시된 것처럼, 데이터 소스 (100)는 아날로그, 압축되지 않은 디지털, 또는 압축된 디지털 포맷 또는 이런 포맷들의 임의 결합인 소스 신호를 제공한다. 인코더 (110)는 상기 소스 신호를 코딩된 미디어 비트스트림으로 인코딩한다. 디코딩될 비트스트림은 사실상 임의 유형의 네트워크 내에 위치한 원격 기기로부터 직접적으로 또는 간접적으로 수신될 수 있다는 것에 유의해야만 한다. 추가로, 상기 비트스트림은 로컬 하드웨어나 소프트웨어로부터 수신될 수 있다. 상기 인코더 (110)는 오디오와 비디오와 같이 하나 이상의 미디어 유형을 인코딩할 수 있을 것이며, 또는 하나 이상의 인코더 (110)가 소스 신호의 상이한 미디어 유형들을 코딩하도록 요청받을 수 있을 것이다. 상기 인코더 (110)는 그래픽과 텍스트와 같이 합성하여 생성된 입력을 또한 얻을 수 있을 것이며, 합성 미디어의 코딩된 비트스트림들을 생성할 수 있을 것이다. 이어서, 설명을 간략하게 하기 위해서 한 가지 미디어 유형의 하나의 코딩된 미디어 비트스트림을 프로세싱하는 것만이 고려된다. 그러나, 보통 실시간 브로드캐스트 서비스들은 다양한 스트림들 (보통은 적어도 하나의 오디오, 비디오 그리고 텍스트 서브-타이틀이 포함된 스트림)을 포함한다는 것에 유의해야만 한다. 상기 시스템은 많은 인코더들을 포함할 수 있을 것이지만, 일반성을 잃지 않으면서도 설명을 간략하게 하기 위해서 도 15에서는 하나의 인코더 (110)만이 표시된다는 것에도 또한 유의해야만 한다. 여기에서 포함된 텍스트와 예들이 인코딩 프로세스를 특별하게 설명할 수 있을 것이지만, 본 발명이 속한 기술분야에서의 통상의 지식을 가진 자는 동일한 개념들과 원칙들이 대응하는 디코딩 프로세스에도 그리고 역으로도 또한 적용될 수 있다는 것을 이해할 것이라는 것이, 또한 이해되어야만 한다.
코딩된 미디어 비트스트림은 저장부 (120)로 전달된다. 상기 저장부 (120)는 상기 코딩된 미디어 비트스트림을 저장하기 위해 임의 유형의 대용량 메모리를 포함할 수 있을 것이다. 상기 저장부 (120) 내의 코딩된 미디어 비트스트림의 포맷은 기본적인 자기 충족적 (self- contained) 비트스트림 포맷일 수 있으며, 또는 하나 또는 그 이상의 코딩된 미디어 비트스트림들은 콘테이너 파일로 캡슐화될 수 있을 것이다. 일부 시스템들은 "라이브"로 동작한다. 즉, 저장부를 생략하고 코딩된 미디어 비트스트림을 인코더 (110)로부터 송신기 (130)로 직접 전달한다. 그러면 상기 코딩된 미디어 비트스트림은, 서버라고도 언급되는 상기 송신기 (130)로 필요에 따라서 전달된다. 상기 전송에 있어서 사용되는 포맷은 기본적인 자기 충족적 비트스트림 포맷, 패킷 스트림 포맷일 수 있으며 또는 하나 또는 그 이상의 코딩된 미디어 비트스트림들은 콘테이너 파일로 캡슐화될 수 있을 것이다. 상기 인코더 (110), 상기 저장부 (120) 그리고 상기 송신기 (130)는 동일한 물리적인 기기 내에 존재할 수 있을 것이며 또는 그것들은 개별적인 기기들 내에 포함될 수 있을 것이다. 상기 인코더 (110) 그리고 송신기 (130)는 라이브 실시간 콘텐트와 함께 동작할 수 있을 것이며, 그 경우 상기 코딩된 미디어 비트스트림은 보통은 영구적으로 저장되지는 않지만, 프로세싱 지연, 전달 지연 그리고 코딩된 미디어 비트레이트에서의 변이들을 평탄화하기 위해서 콘텐트 인코더 (110)에서 그리고/또는 송신기 (130)에서 작은 기간의 시간동안 버퍼링된다.
상기 송신기 (130)는 통신 프로토콜 스택을 이용하여 상기 코딩된 미디어 비트스트림을 송신한다. 상기 스택은 실시간 전송 프로토콜 (Real-Time Transport Protocol (RTP)), 사용자 데이터그램 프로토콜 (User Datagram Protocol (UDP)), 그리고 인터넷 프로토콜 (Internet Protocol (IP))을 포함할 수 있을 것이지만, 그것들로 한정되지는 않는다. 통신 프로토콜 스택이 패킷-지향일 때에, 상기 송신기 (130)는 상기 코딩된 미디어 비트스트림을 패킷들로 캡슐화한다. 예를 들면, RTP가 사용될 때에, 상기 송신기 (130)는 상기 코딩된 미디어 비트스트림을 RTP 페이로드 포맷에 따라서 RTP 패킷들로 캡슐화한다. 보통은, 각 미디어 유형은 전용의 RTP 페이로드 포맷을 갖는다. 시스템은 하나 또는 그 이상의 송신기 (130)를 포함할 수 있을 것이지만, 간략함을 위해서 다음의 설명은 하나의 송신기 (130)만을 고려한다는 것에 다시 유의해야만 한다.
미디어 콘텐트가 저장부 (120)를 위해서 또는 상기 송신기 (130)로 데이터를 입력하기 위해서 콘테이너 파일로 캡슐화되면, 상기 송신기 (130)는 "파일 파서 (parser)를 송신하기" (도면에 도시되지 않음)를 포함하거나 또는 동작할 수 있게 그것에 연결될 수 있을 것이다. 특히, 상기 콘테이너 파일이 그처럼 전송되지 않았지만 포함된 코딩된 미디어 비트스트림 중에서 적어도 하나가 통신 프로토콜을 통한 전송을 위해서 캡슐화되면, 송신 파일 파서는 상기 코딩된 미디어 비트스트림의 적절한 부분들을 위치시켜서 상기 통신 프로토콜을 통해서 운반되도록 한다. 상기 송신 파일 파서는 패킷 헤더들 그리고 페이로드들과 같이 통신 프로토콜을 위한 올바른 포맷을 생성하는데 있어서 또한 도울 수 있을 것이다. 멀티미디어 콘테이너 파일은 포함된 미디어 비트스트림의 적어도 하나를 통신 프로토콜 상에서 캡슐화하기 위해서 ISO 기반 미디어 파일 포맷 내의 힌트 트랙들과 같은 캡슐화 명령어들을 포함할 수 있을 것이다.
상기 송신기 (130)는 통신 네트워크를 통해서 게이트웨이 (140)으로 연결될 수 있을 것이며 또는 연결되지 않을 수 있을 것이다. 상기 게이트웨이 (140)는 하나의 통신 프로토콜 스택에 따라서 패킷 스트림을 다른 통신 프로토콜 스택으로 변환하고, 데이터 스트림들을 합체하고 그리고 분기시키며, 그리고 널리 보급된 다운링크 네트워크 상태들에 따라서 포워딩된 스트림의 비트 레이트를 제어하는 것과 같이 다운링크 그리고/또는 수신기 기능들에 따라서 데이터 스트림을 조작하는 것과 같은 상이한 유형의 기능들을 수행할 수 있을 것이다. 게이트웨이 (140)의 예들은 MCU들, 회선-교환 그리고 패킷-교환 비디오 전화통신 사이의 게이트웨어들, 셀룰러를 통한 푸시-투-토크 (Push-to-talk over Cellular (PoC)) 서버들, 디지털 비디오 브로드캐스팅-핸드헬드 (DVB-H) 시스템들, 또는 브로드캐스트 전송들을 국지적으로 홈 무선 네트워크들로 포워딩하는 셋탑 박스들을 포함한다. RTP가 사용될 때에, 상기 게이트웨이 (140)는 RTP 믹서 또는 RTP 번역기로 불리며 그리고 RTP 연결의 종료점 endpoint)으로서 동작하는 것이 보통이다.
상기 시스템은 하나 또는 그 이상의 수신기들 (150)을 포함하며, 이 수신기는 전송된 신호를 수신하고, 변조하며, 코딩된 미디어 비트스트림으로 탈캡슐화한다. 상기 코딩된 미디어 비트스트림은 레코딩 저장부 (155)로 전달된다. 상기 레코딩 저장부 (155)는 상기 코딩된 미디어 비트스트림을 저장하기 위해서 임의 유형의 대용량 메모리를 포함할 수 있을 것이다. 상기 레코딩 저장부 (155)는 랜덤 액세스 메모리와 같은 계산용 메모리를 대안으로 또는 추가적으로 포함할 수 있을 것이다. 상기 레코딩 저장부 (155) 내의 코딩된 미디어 비트스트림의 포맷은 기본적인 자기 충족적 (self- contained) 비트스트림 포맷일 수 있으며, 또는 하나 또는 그 이상의 코딩된 미디어 비트스트림들은 콘테이너 파일로 캡슐화될 수 있을 것이다. 서로 연관된 오디오 스트림 그리고 비디오 스트림과 같은 다중 코딩된 미디어 비트스트림이 존재하면, 콘테이너 파일이 보통 사용되며 그리고 상기 수신기 (150)는 입력 스트림들로부터 콘테이너 파일을 생산하는 콘테이너 파일 생성기를 포함하거나 그것에 연결된다. 몇몇 시스템들은 "라이브"로 동작하여, 즉, 레코딩 저장부 (155)를 생략하고 그리고 코딩된 미디어 비트스트림을 상기 수신기 (150)로부터 디코더 (160)로 직접 전달한다. 몇몇 시스템들에서, 기록된 스트림 중에서 가장 최근의 일부만이, 예를 들면, 기록된 스트림의 가장 최근 10분의 분량이 상기 레코딩 저장부 (155)에 유지되고, 더 이전에 기록되었던 데이터는 레코딩 저장부 (155)로부터 폐기된다.
상기 코딩된 미디어 비트스트림은 레코딩 저장부 (155)로부터 디코더 (160)로 전달된다. 서로간에 연관되며 그리고 콘테이너 파일로 캡슐화되는 오디오 스트림과 비디오 스트림과 같은 코딩된 미디어 스트림들이 많이 존재하면, 각 코딩된 미디어 비트스트림을 상기 콘테이너 파일로부터 탈캡슐화하기 위해서 파일 파서 (도면에는 도시되지 않음)가 이용된다. 상기 레코딩 저장부 (155) 또는 디코더 (160)는 파일 파서를 포함할 수 있을 것이며, 또는 파일 파서가 레코딩 저장부 (155) 또는 디코더 (160)의 어느 하나에 연결된다.
상기 코딩된 미디어 비트스트림은 디코더 (160)에 의해서 추가로 프로세싱되는 것이 보통이며, 디코더의 출력은 하나 또는 그 이상의 압축되지 않는 미디어 스트림들이다. 최종적으로, 렌더러 (renderer) (170)는 상기 압축되지 않은 미디어 스트림들을, 예를 들면, 라우드스피커로 또는 디스플레이로 재생할 수 있을 것이다. 상기 수신기 (150), 레코딩 저장부 (155), 디코더 (160) 그리고 렌더러 (170)는 동일한 물리적인 기기 내에 존재할 수 있을 것이며, 또는 그것들은 개별 기기들 내에 포함될 수 있을 것이다.
여기에서 설명된 다양한 실시예들은 방법 단계들 또는 프로세스들의 일반적인 환경에서 설명되었으며, 이 단계들이나 프로세스들은 하나의 실시예에서 네트워크 환경에서 컴퓨터들에 의해서 실행되는 프로그램 코드와 같은 컴퓨터-실행가능 명령어들을 포함하는 컴퓨터-독출 가능 매체에서 구체화된 컴퓨터 프로그램 제품으로 구현될 수 있을 것이다. 컴퓨터-독출 가능 매체는 읽기 전용 메모리 (Read Only Memory (ROM)), 랜덤 액세스 메모리 (Random Access Memory (RAM)), 컴팩트 디스크들 (compact discs (CDs)), DVD (digital versatile discs) 등을 포함하지만 그것들로 한정되지는 않는 탈부착 가능한 저장 기기들 그리고 탈부착-가능하지 않은 저장 기기들을 포함할 수 있을 것이다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 수행하거나 또는 특정의 추상적인 데이터 유형들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함할 수 있을 것이다. 컴퓨터-실행가능 명령어들, 연관된 데이터 구조들 그리고 프로그램 모듈들은 여기에서 개시된 방법들의 단계들을 실행시키기 위한 프로그램 코드의 예들을 나타낸다. 그런 실행가능한 명령어들의 특정 시퀀스 또는 연관된 데이터 구조들은 그런 단계들이나 프로세스들에서 설명된 기능들을 구현하기 위한 대응 행동들의 예들을 나타낸다.
본 발명의 실시예들은 소프트웨어, 하드웨어, 애플리케이션 로직 또는 소프트웨어, 하드웨어 그리고 애플리케이션 로직의 결합으로 구현될 수 있을 것이다. 상기 소프트웨어, 애플리케이션 로직 그리고/또는 하드웨어는, 예를 들면, 칩셋, 모바일 기기, 데스크탑, 랩탑 또는 서버 상에 존재할 수 있을 것이다. 다양한 실시예들의 소프트웨어 및 웹 구현들은 규칙-기반의 로직 그리고 다양한 데이터베이스 검색 스텝들이나 프로세스들, 상관 단계들이나 프로세스들, 비교 단계들이나 프로세스들 그리고 결정 단계들이나 프로세스들을 달성하기 위한 다른 로직을 구비한 표준의 프로그래밍 기술들을 이용하여 달성될 수 있다. 다양한 실시예들은 네트워크 엘리먼트들이나 모듈들 내에서 전체적으로 또는 부분적으로 또한 구현될 수 있을 것이다. 여기에서 그리고 이어지는 청구범위에서 사용되는 것과 같은 "컴포넌트" 그리고 "모듈"이라는 단어들은 소프트웨어 코드의 하나 또는 그 이상의 라인들을 이용한 구현들 그리고/또는 하드웨어 구현들, 그리고/또는 수동 입력들을 수신하기 위한 설비를 망라하도록 의도된 것이다.
본 발명의 실시예들에 대한 전술한 설명은 예시와 설명의 목적으로 제시되었다. 그것은 본 발명을 개시된 정밀한 모습으로 총망라하거나 또는 한정하기 위한 의도가 아니며, 그리고 상기의 교시들을 참조하여 수정 및 변형들이 가능하며, 그런 수정 및 변형들은 본 발명을 실행하는 것으로부터 획득될 수 있을 것이다. 본 실시예들은 본 발명이 속한 기술분야에서의 통상의 지식을 가진 자가 다양한 실시예들에서 그리고 숙고된 특별한 이용에 적절한 다양한 변형들과 함께 본 발명을 활용하는 것을 가능하게 하기 위해 본 발명의 원칙들과 그것의 실제적인 응용을 설명하기 위해서 선택되고 그리고 기술되었다.
Claims (15)
- 액세스 유닛들의 시퀀스를 포함하는 비트스트림을 수신하고;
상기 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하고;
상기 비트스트림 내의 상기 첫 번째로 디코딩 가능한 액세스 유닛 이후의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하고;
상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하고; 그리고
상기 다음으로 디코딩 가능한 액세스 유닛에 의존하는 어떤 액세스 유닛들도 디코딩하는 것을 생략하는 것을 포함하는 방법. - 제1항에 있어서,
상기 방법은:
상기 비트스트림으로부터 제1 세트의 코딩된 데이터 유닛들을 선택하는 것을 더 포함하며,
서브-비트스트림은 상기 제1 세트의 코딩된 데이터 유닛들을 포함하는 비트스트림의 일부를 포함하며, 상기 서브-비트스트림은 제1 세트의 디코딩된 데이터 유닛들로 디코딩 가능하며, 그리고 상기 비트스트림은 제2 세트의 디코딩된 데이터 유닛으로 디코딩 가능하고,
제1 버퍼링 자원은 상기 제1 세트의 디코딩된 데이터 유닛들을 출력 순서로 배치하기에 충분하며, 제2 버퍼링 자원은 상기 제2 세트의 디코딩된 데이터 유닛들을 출력 순서로 배치하기에 충분하며, 그리고 상기 제1 버퍼링 자원은 상기 제2 버터링 자원보다 더 작은, 방법. - 제2항에 있어서,
상기 제1 버퍼링 자원 그리고 제2 버퍼링 자원은 디코딩된 데이터 유닛 버퍼링에 대한 초기 시간에 관한 것인, 방법. - 제2항에 있어서,
상기 제1 버퍼링 자원 그리고 제2 버퍼링 자원은 디코딩된 데이터 유닛 버퍼링에 대한 초기 버퍼 점유에 관한 것인, 방법. - 제1항에 있어서,
각 액세스 유닛은 앵커 픽처 (anchor picture)를 포함하는 MVC (Multiview Video Coding) 액세스 유닛, SVC (Scalable Video Coding) 액세스 유닛 또는 IDR (Instantaneous Decoding Refresh) 액세스 유닛 중의 하나인, 방법. - 프로세서; 및
상기 프로세서에 통신 가능하게 연결된 메모리 유닛을 포함하는 장치로서,
상기 메모리 유닛은:
액세스 유닛들의 시퀀스를 포함하는 비트스트림을 수신하기 위한 컴퓨터 코드;
상기 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하기 위한 컴퓨터 코드;
상기 비트스트림 내의 상기 첫 번째로 디코딩 가능한 액세스 유닛 이후의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하기 위한 컴퓨터 코드;
상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하기 위한 컴퓨터 코드; 그리고
상기 다음으로 디코딩 가능한 액세스 유닛에 의존하는 어떤 액세스 유닛들도 디코딩하는 것을 생략하기 위한 컴퓨터 코드;를 포함하는, 장치. - 제6항에 있어서,
상기 메모리 유닛은,
상기 비트스트림으로부터 제1 세트의 코딩된 데이터 유닛들을 선택하기 위한 컴퓨터 코드를 더 포함하며,
서브-비트스트림은 상기 제1 세트의 코딩된 데이터 유닛들을 포함하는 비트스트림의 일부를 포함하며, 상기 서브-비트스트림은 제1 세트의 디코딩된 데이터 유닛들로 디코딩 가능하며, 그리고 상기 비트스트림은 제2 세트의 디코딩된 데이터 유닛으로 디코딩 가능하고,
제1 버퍼링 자원은 상기 제1 세트의 디코딩된 데이터 유닛들을 출력 순서로 배치하기에 충분하며, 제2 버퍼링 자원은 상기 제2 세트의 디코딩된 데이터 유닛들을 출력 순서로 배치하기에 충분하며, 그리고 상기 제1 버퍼링 자원은 상기 제2 버터링 자원보다 더 작은, 장치. - 제7항에 있어서,
상기 제1 버퍼링 자원 그리고 제2 버퍼링 자원은 디코딩된 데이터 유닛 버퍼링에 대한 초기 시간에 관한 것인, 장치. - 제7항에 있어서,
상기 제1 버퍼링 자원 그리고 제2 버퍼링 자원은 디코딩된 데이터 유닛 버퍼링에 대한 초기 버퍼 점유에 관한 것인, 장치. - 제6항에 있어서,
각 액세스 유닛은 앵커 픽처 (anchor picture)를 포함하는 MVC (Multiview Video Coding) 액세스 유닛, SVC (Scalable Video Coding) 액세스 유닛 또는 IDR (Instantaneous Decoding Refresh) 액세스 유닛 중의 하나인, 장치. - 저장된 컴퓨터 프로그램을 구비한 컴퓨터-독출가능 매체로서,
상기 컴퓨터 프로그램은,
액세스 유닛들의 시퀀스를 포함하는 비트스트림을 수신하기 위한 컴퓨터 코드;
상기 비트스트림 내의 첫 번째로 디코딩 가능한 액세스 유닛을 디코딩하기 위한 컴퓨터 코드;
상기 비트스트림 내의 상기 첫 번째로 디코딩 가능한 액세스 유닛 이후의 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 있는가의 여부를 판별하기 위한 컴퓨터 코드;
상기 다음으로 디코딩 가능한 액세스 유닛의 출력 시각 이전에 상기 다음으로 디코딩 가능한 액세스 유닛이 디코딩될 수 없다는 판별을 기초로 하여 상기 다음으로 디코딩 가능한 액세스 유닛을 디코딩하는 것을 생략하기 위한 컴퓨터 코드; 그리고
상기 다음으로 디코딩 가능한 액세스 유닛에 의존하는 어떤 액세스 유닛들도 디코딩하는 것을 생략하기 위한 컴퓨터 코드;를 포함하는, 컴퓨터-독출가능 매체. - 제11항에 있어서,
상기 컴퓨터 프로그램은,
상기 비트스트림으로부터 제1 세트의 코딩된 데이터 유닛들을 선택하기 위한 컴퓨터 코드를 더 포함하며,
서브-비트스트림은 상기 제1 세트의 코딩된 데이터 유닛들을 포함하는 비트스트림의 일부를 포함하며, 상기 서브-비트스트림은 제1 세트의 디코딩된 데이터 유닛들로 디코딩 가능하며, 그리고 상기 비트스트림은 제2 세트의 디코딩된 데이터 유닛으로 디코딩 가능하고,
제1 버퍼링 자원은 상기 제1 세트의 디코딩된 데이터 유닛들을 출력 순서로 배치하기에 충분하며, 제2 버퍼링 자원은 상기 제2 세트의 디코딩된 데이터 유닛들을 출력 순서로 배치하기에 충분하며, 그리고 상기 제1 버퍼링 자원은 상기 제2 버터링 자원보다 더 작은, 컴퓨터-독출가능 매체. - 제12항에 있어서,
상기 제1 버퍼링 자원 그리고 제2 버퍼링 자원은 디코딩된 데이터 유닛 버퍼링에 대한 초기 시간에 관한 것인, 컴퓨터-독출가능 매체. - 제12항에 있어서,
상기 제1 버퍼링 자원 그리고 제2 버퍼링 자원은 디코딩된 데이터 유닛 버퍼링에 대한 초기 버퍼 점유에 관한 것인, 컴퓨터-독출가능 매체. - 제11항에 있어서,
각 액세스 유닛은 앵커 픽처 (anchor picture)를 포함하는 MVC (Multiview Video Coding) 액세스 유닛, SVC (Scalable Video Coding) 액세스 유닛 또는 IDR (Instantaneous Decoding Refresh) 액세스 유닛 중의 하나인, 컴퓨터-독출가능 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14801709P | 2009-01-28 | 2009-01-28 | |
US61/148,017 | 2009-01-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110106465A true KR20110106465A (ko) | 2011-09-28 |
Family
ID=42354146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117019640A KR20110106465A (ko) | 2009-01-28 | 2010-01-27 | 비디오 코딩 및 디코딩을 위한 방법 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20100189182A1 (ko) |
EP (1) | EP2392138A4 (ko) |
KR (1) | KR20110106465A (ko) |
CN (1) | CN102342127A (ko) |
RU (1) | RU2011135321A (ko) |
TW (1) | TW201032597A (ko) |
WO (1) | WO2010086501A1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014003379A1 (ko) * | 2012-06-24 | 2014-01-03 | 엘지전자 주식회사 | 영상 디코딩 방법 및 이를 이용하는 장치 |
WO2014042460A1 (ko) * | 2012-09-13 | 2014-03-20 | 엘지전자 주식회사 | 영상 부호화/복호화 방법 및 장치 |
KR20140064926A (ko) * | 2011-08-31 | 2014-05-28 | 노키아 코포레이션 | 멀티뷰 비디오 코딩 및 디코딩을 위한 방법, 장치 및 컴퓨터 프로그램 |
WO2015083988A1 (ko) * | 2013-12-03 | 2015-06-11 | 주식회사 케이티 | 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치 |
WO2016060494A1 (ko) * | 2014-10-16 | 2016-04-21 | 삼성전자 주식회사 | 부호화된 비디오 데이터 처리 방법 및 장치, 부호화된 비디오 데이터 생성 방법 및 장치 |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8289370B2 (en) | 2005-07-20 | 2012-10-16 | Vidyo, Inc. | System and method for scalable and low-delay videoconferencing using scalable video coding |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US8411734B2 (en) | 2007-02-06 | 2013-04-02 | Microsoft Corporation | Scalable multi-thread video decoding |
US9648325B2 (en) | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
US9485299B2 (en) * | 2009-03-09 | 2016-11-01 | Arris Canada, Inc. | Progressive download gateway |
US8566393B2 (en) * | 2009-08-10 | 2013-10-22 | Seawell Networks Inc. | Methods and systems for scalable video chunking |
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 |
JP2011082683A (ja) * | 2009-10-05 | 2011-04-21 | Sony Corp | 画像処理装置、画像処理方法、及び、プログラム |
CN102860021B (zh) | 2010-04-20 | 2017-06-20 | 三星电子株式会社 | 用于传送和接收媒体数据的接口装置和方法 |
US20130097334A1 (en) * | 2010-06-14 | 2013-04-18 | Thomson Licensing | Method and apparatus for encapsulating coded multi-component video |
US8904027B2 (en) * | 2010-06-30 | 2014-12-02 | Cable Television Laboratories, Inc. | Adaptive bit rate for data transmission |
KR101645465B1 (ko) * | 2010-07-23 | 2016-08-04 | 삼성전자주식회사 | 휴대용 단말기에서 입체 영상 데이터를 생성하기 위한 장치 및 방법 |
US8190677B2 (en) * | 2010-07-23 | 2012-05-29 | Seawell Networks Inc. | Methods and systems for scalable video delivery |
US8504837B2 (en) | 2010-10-15 | 2013-08-06 | Rockwell Automation Technologies, Inc. | Security model for industrial devices |
US20120144433A1 (en) * | 2010-12-07 | 2012-06-07 | Electronics And Telecommunications Research Institute | Apparatus and method for transmitting multimedia data in wireless network |
US8885729B2 (en) | 2010-12-13 | 2014-11-11 | Microsoft Corporation | Low-latency video decoding |
US9706214B2 (en) | 2010-12-24 | 2017-07-11 | Microsoft Technology Licensing, Llc | Image and video decoding implementations |
US20120182473A1 (en) * | 2011-01-14 | 2012-07-19 | Gyudong Kim | Mechanism for clock recovery for streaming content being communicated over a packetized communication network |
CA2824741C (en) | 2011-01-14 | 2016-08-30 | Vidyo, Inc. | Improved nal unit header |
KR20120084237A (ko) | 2011-01-19 | 2012-07-27 | 삼성전자주식회사 | 엠엠티(mmt)에서 엠엠티 인캡슐레이터를 전송하는 방법 |
KR101744355B1 (ko) | 2011-01-19 | 2017-06-08 | 삼성전자주식회사 | 상호 계층 최적화를 이용한 멀티미디어 데이터 패킷을 송신하는 방법 및 장치 |
US20120216230A1 (en) * | 2011-02-18 | 2012-08-23 | Nokia Corporation | Method and System for Signaling Transmission Over RTP |
JP5833682B2 (ja) | 2011-03-10 | 2015-12-16 | ヴィディオ・インコーポレーテッド | スケーラブルなビデオ符号化のための依存性パラメータセット |
US9706227B2 (en) * | 2011-03-10 | 2017-07-11 | Qualcomm Incorporated | Video coding techniques for coding dependent pictures after random access |
KR101803970B1 (ko) * | 2011-03-16 | 2017-12-28 | 삼성전자주식회사 | 컨텐트를 구성하는 장치 및 방법 |
EP2727342B1 (en) | 2011-06-30 | 2016-06-29 | Telefonaktiebolaget LM Ericsson (publ) | Reference picture signaling |
RS64742B1 (sr) | 2011-06-30 | 2023-11-30 | Microsoft Technology Licensing Llc | Smanjenje kašnjenja kod video kodiranja i dekodiranja |
CN103765908B (zh) * | 2011-07-02 | 2017-11-03 | 三星电子株式会社 | 用于对视频数据进行复用和解复用以识别视频数据的再现状态的方法和设备 |
US20130170561A1 (en) * | 2011-07-05 | 2013-07-04 | Nokia Corporation | Method and apparatus for video coding and decoding |
WO2013009441A2 (en) * | 2011-07-12 | 2013-01-17 | Vidyo, Inc. | Scalable video coding using multiple coding technologies |
US10237565B2 (en) | 2011-08-01 | 2019-03-19 | Qualcomm Incorporated | Coding parameter sets for various dimensions in video coding |
US9338458B2 (en) | 2011-08-24 | 2016-05-10 | Mediatek Inc. | Video decoding apparatus and method for selectively bypassing processing of residual values and/or buffering of processed residual values |
US8731067B2 (en) | 2011-08-31 | 2014-05-20 | Microsoft Corporation | Memory management for video decoding |
WO2013037069A1 (en) * | 2011-09-15 | 2013-03-21 | Libre Communications Inc. | Method, apparatus and computer program product for video compression |
PT2750387T (pt) | 2011-09-22 | 2019-09-17 | Lg Electronics Inc | Processo de decodificação de vídeo e aparelho de decodificação de vídeo |
US9106927B2 (en) | 2011-09-23 | 2015-08-11 | Qualcomm Incorporated | Video coding with subsets of a reference picture set |
US8855433B2 (en) * | 2011-10-13 | 2014-10-07 | Sharp Kabushiki Kaisha | Tracking a reference picture based on a designated picture on an electronic device |
US8768079B2 (en) | 2011-10-13 | 2014-07-01 | Sharp Laboratories Of America, Inc. | Tracking a reference picture on an electronic device |
US8787688B2 (en) * | 2011-10-13 | 2014-07-22 | Sharp Laboratories Of America, Inc. | Tracking a reference picture based on a designated picture on an electronic device |
JP5698644B2 (ja) * | 2011-10-18 | 2015-04-08 | 株式会社Nttドコモ | 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム |
US9264717B2 (en) | 2011-10-31 | 2016-02-16 | Qualcomm Incorporated | Random access with advanced decoded picture buffer (DPB) management in video coding |
WO2013068647A1 (en) | 2011-11-08 | 2013-05-16 | Nokia Corporation | Reference picture handling |
US9819949B2 (en) | 2011-12-16 | 2017-11-14 | Microsoft Technology Licensing, Llc | Hardware-accelerated decoding of scalable video bitstreams |
US9584832B2 (en) * | 2011-12-16 | 2017-02-28 | Apple Inc. | High quality seamless playback for video decoder clients |
TWI556629B (zh) * | 2012-01-03 | 2016-11-01 | 杜比實驗室特許公司 | 規定視覺動態範圍編碼操作及參數 |
US9451252B2 (en) | 2012-01-14 | 2016-09-20 | Qualcomm Incorporated | Coding parameter sets and NAL unit headers for video coding |
KR102175161B1 (ko) * | 2012-01-30 | 2020-11-06 | 삼성전자주식회사 | 시점변환을 위한 예측구조에 기초한 다시점 비디오 부호화 방법 및 그 장치, 시점변환을 위한 예측구조에 기초한 다시점 비디오 복호화 방법 및 그 장치 |
US9241167B2 (en) | 2012-02-17 | 2016-01-19 | Microsoft Technology Licensing, Llc | Metadata assisted video decoding |
CN104205813B (zh) * | 2012-04-06 | 2018-05-08 | 维德约股份有限公司 | 分层视频编码的等级信令 |
US9402082B2 (en) * | 2012-04-13 | 2016-07-26 | Sharp Kabushiki Kaisha | Electronic devices for sending a message and buffering a bitstream |
PT2842318T (pt) | 2012-04-13 | 2017-03-31 | Ge Video Compression Llc | Codificação de imagens de baixo atraso |
US9351016B2 (en) * | 2012-04-13 | 2016-05-24 | Sharp Kabushiki Kaisha | Devices for identifying a leading picture |
CN107197312B (zh) | 2012-04-23 | 2020-09-01 | Lg 电子株式会社 | 视频解码方法以及实现该方法的装置 |
US9762903B2 (en) * | 2012-06-01 | 2017-09-12 | Qualcomm Incorporated | External pictures in video coding |
US9313486B2 (en) | 2012-06-20 | 2016-04-12 | Vidyo, Inc. | Hybrid video coding techniques |
US9591303B2 (en) * | 2012-06-28 | 2017-03-07 | Qualcomm Incorporated | Random access and signaling of long-term reference pictures in video coding |
KR20140002447A (ko) * | 2012-06-29 | 2014-01-08 | 삼성전자주식회사 | 멀티미디어 시스템에서 적응적 미디어 구조 송수신 방법 및 장치 |
DK2868103T3 (en) | 2012-06-29 | 2017-03-13 | Ge Video Compression Llc | Video Data Power Concept |
EP2868092A4 (en) * | 2012-07-02 | 2016-05-04 | Nokia Technologies Oy | METHOD AND DEVICE FOR VIDEO CODING |
CN104604226B (zh) * | 2012-07-03 | 2018-04-17 | 三星电子株式会社 | 具有时间可伸缩性的对视频进行解码的方法 |
JP6552197B2 (ja) * | 2012-07-06 | 2019-07-31 | シャープ株式会社 | サブピクチャ・ベースの仮想参照デコーダ・パラメータをシグナリングする方法 |
JP5885604B2 (ja) * | 2012-07-06 | 2016-03-15 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
US9554146B2 (en) * | 2012-09-21 | 2017-01-24 | Qualcomm Incorporated | Indication and activation of parameter sets for video coding |
US10021394B2 (en) | 2012-09-24 | 2018-07-10 | Qualcomm Incorporated | Hypothetical reference decoder parameters in video coding |
US9491457B2 (en) * | 2012-09-28 | 2016-11-08 | Qualcomm Incorporated | Signaling of regions of interest and gradual decoding refresh in video coding |
US20140092976A1 (en) * | 2012-09-30 | 2014-04-03 | Sharp Laboratories Of America, Inc. | System for signaling idr and bla pictures |
US10038899B2 (en) | 2012-10-04 | 2018-07-31 | Qualcomm Incorporated | File format for video data |
CN104737514B (zh) * | 2012-10-23 | 2018-08-17 | 瑞典爱立信有限公司 | 用于分布媒体内容服务的方法和设备 |
US9602841B2 (en) * | 2012-10-30 | 2017-03-21 | Texas Instruments Incorporated | System and method for decoding scalable video coding |
WO2014084109A1 (ja) * | 2012-11-30 | 2014-06-05 | ソニー株式会社 | 画像処理装置および方法 |
US9571847B2 (en) * | 2013-01-07 | 2017-02-14 | Qualcomm Incorporated | Gradual decoding refresh with temporal scalability support in video coding |
US9374581B2 (en) | 2013-01-07 | 2016-06-21 | Qualcomm Incorporated | Signaling of picture order count to timing information relations for video timing in video coding |
US9521389B2 (en) | 2013-03-06 | 2016-12-13 | Qualcomm Incorporated | Derived disparity vector in 3D video coding |
US20140269934A1 (en) * | 2013-03-15 | 2014-09-18 | Sony Corporation | Video coding system with multiple scalability and method of operation thereof |
US9648353B2 (en) * | 2013-04-04 | 2017-05-09 | Qualcomm Incorporated | Multiple base layer reference pictures for SHVC |
US9591321B2 (en) | 2013-04-07 | 2017-03-07 | Dolby International Ab | Signaling change in output layer sets |
BR112015025518B1 (pt) | 2013-04-07 | 2023-02-07 | Dolby International Ab | Método para decodificar um fluxo de bits de vídeo |
US9485508B2 (en) | 2013-04-08 | 2016-11-01 | Qualcomm Incorporated | Non-entropy encoded set of profile, tier, and level syntax structures |
EP2975848A4 (en) * | 2013-04-12 | 2016-10-26 | Samsung Electronics Co Ltd | METHOD FOR MULTILAYER VIDEO CODING FOR DIRECT ACCESS AND DEVICE THEREFOR AND METHOD FOR MULTILAYER VIDEO DECODING FOR DIRECT ACCESS AND DEVICE THEREFOR |
US9667990B2 (en) | 2013-05-31 | 2017-05-30 | Qualcomm Incorporated | Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation |
EP3056004A2 (en) * | 2013-10-11 | 2016-08-17 | VID SCALE, Inc. | High level syntax for hevc extensions |
CN110225349B (zh) * | 2013-10-14 | 2023-06-02 | 韩国电子通信研究院 | 用于支持多层的视频编码/解码方法和计算机可读记录介质 |
US9979971B2 (en) | 2013-10-14 | 2018-05-22 | Qualcomm Incorporated | Device and method for scalable coding of video information |
EP4270954A3 (en) * | 2013-10-18 | 2024-01-17 | Sun Patent Trust | Image encoding method, image decoding method, image encoding device, and image receiving device |
GB2542282B (en) * | 2013-10-22 | 2018-08-01 | Canon Kk | Method, device, and computer program for encapsulating partitioned timed media data in a server |
CN103716638B (zh) * | 2013-12-30 | 2016-08-31 | 上海国茂数字技术有限公司 | 表示视频图像显示顺序的方法 |
US10560710B2 (en) * | 2014-01-03 | 2020-02-11 | Qualcomm Incorporated | Method for coding recovery point supplemental enhancement information (SEI) messages and region refresh information SEI messages in multi-layer coding |
US10547834B2 (en) | 2014-01-08 | 2020-01-28 | Qualcomm Incorporated | Support of non-HEVC base layer in HEVC multi-layer extensions |
US9380351B2 (en) * | 2014-01-17 | 2016-06-28 | Lg Display Co., Ltd. | Apparatus for transmitting encoded video stream and method for transmitting the same |
TWI511058B (zh) * | 2014-01-24 | 2015-12-01 | Univ Nat Taiwan Science Tech | 一種影片濃縮之系統及方法 |
US10075725B2 (en) * | 2014-02-03 | 2018-09-11 | Mitsubishi Electric Corporation | Device and method for image encoding and decoding |
US10375406B2 (en) * | 2014-03-07 | 2019-08-06 | Sony Corporation | Image encoding device and method, and image processing device and method for enabling bitstream concatenation |
US10136152B2 (en) | 2014-03-24 | 2018-11-20 | Qualcomm Incorporated | Use of specific HEVC SEI messages for multi-layer video codecs |
US10560514B2 (en) * | 2014-03-29 | 2020-02-11 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving information related to multimedia data in a hybrid network and structure thereof |
KR102249147B1 (ko) * | 2014-03-29 | 2021-05-07 | 삼성전자주식회사 | 복합 네트워크에서 멀티미디어 데이터 관련 정보를 송수신하기 위한 장치 및 방법과 그 구조 |
US9369724B2 (en) | 2014-03-31 | 2016-06-14 | Microsoft Technology Licensing, Llc | Decoding and synthesizing frames for incomplete video data |
KR20150145584A (ko) * | 2014-06-20 | 2015-12-30 | 삼성전자주식회사 | 방송 및 통신 시스템에서 패킷 송수신 방법 및 장치 |
US9866852B2 (en) * | 2014-06-20 | 2018-01-09 | Qualcomm Incorporated | Video coding using end of sequence network abstraction layer units |
RU2708942C2 (ru) * | 2014-10-24 | 2019-12-12 | Долби Интернешнл Аб | Кодирование и декодирование аудиосигналов |
US9516147B2 (en) | 2014-10-30 | 2016-12-06 | Microsoft Technology Licensing, Llc | Single pass/single copy network abstraction layer unit parser |
BR112017015841B1 (pt) | 2015-02-04 | 2024-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Dispositivo para decodificar amostras de ponto de acesso aleatório dependente, dispositivo para gerar um arquivo de recipiente de mídia, métodos relacionados e arquivo de recipiente de mídia |
CN105119893A (zh) * | 2015-07-16 | 2015-12-02 | 上海理工大学 | 基于h.264帧内编码模式的视频加密传输方法 |
CN106911932B (zh) * | 2015-12-22 | 2020-08-28 | 联发科技股份有限公司 | 比特流解码方法与比特流解码电路 |
RU2620731C1 (ru) * | 2016-07-20 | 2017-05-29 | федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" | Способ совместного арифметического и помехоустойчивого кодирования и декодирования |
CN110431847B (zh) * | 2017-03-24 | 2022-07-22 | 联发科技股份有限公司 | 视频处理方法及装置 |
GB2560921B (en) | 2017-03-27 | 2020-04-08 | Canon Kk | Method and apparatus for encoding media data comprising generated content |
PL3777455T3 (pl) | 2018-04-05 | 2022-03-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Wielostopniowe informacje sterujące łącza bocznego |
EP3928512A4 (en) * | 2019-03-11 | 2022-06-22 | Huawei Technologies Co., Ltd. | PROGRESSIVE REFRESH OF DECODING IN VIDEO CODING |
WO2021134011A1 (en) | 2019-12-26 | 2021-07-01 | Bytedance Inc. | Signaling of slice type and video layers |
WO2021134019A1 (en) | 2019-12-26 | 2021-07-01 | Bytedance Inc. | Constraints on coding of layered video |
KR20220113404A (ko) | 2019-12-27 | 2022-08-12 | 바이트댄스 아이엔씨 | 비디오 서브픽처들을 시그널링하기 위한 신택스 |
CN114946174A (zh) | 2020-01-09 | 2022-08-26 | 字节跳动有限公司 | 层间参考图片的存在的信令通知 |
CN113743518B (zh) * | 2021-09-09 | 2024-04-02 | 中国科学技术大学 | 一种基于联合帧间编码和嵌入的近似可逆图像翻译方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5559999A (en) * | 1994-09-09 | 1996-09-24 | Lsi Logic Corporation | MPEG decoding system including tag list for associating presentation time stamps with encoded data units |
US5754241A (en) * | 1994-11-18 | 1998-05-19 | Sanyo Electric Co., Ltd | Video decoder capable of controlling encoded video data |
US6629318B1 (en) * | 1998-11-18 | 2003-09-30 | Koninklijke Philips Electronics N.V. | Decoder buffer for streaming video receiver and method of operation |
EP1634459A1 (en) * | 2003-06-04 | 2006-03-15 | Koninklijke Philips Electronics N.V. | Subband-video decoding method and device |
KR100881037B1 (ko) * | 2004-05-04 | 2009-02-05 | 퀄컴 인코포레이티드 | 시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치 |
JP4586429B2 (ja) * | 2004-06-11 | 2010-11-24 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びに、プログラムおよびプログラム記録媒体 |
US7974523B2 (en) * | 2004-07-06 | 2011-07-05 | Magnum Semiconductor, Inc. | Optimal buffering and scheduling strategy for smooth reverse in a DVD player or the like |
KR100770704B1 (ko) * | 2005-08-04 | 2007-10-29 | 삼성전자주식회사 | 픽쳐 스킵 방법 및 장치 |
PL2375749T3 (pl) * | 2005-10-11 | 2017-03-31 | Nokia Technologies Oy | System i sposób efektywnej adaptacji skalowalnego strumienia |
JP5030495B2 (ja) * | 2006-07-14 | 2012-09-19 | ソニー株式会社 | 再生装置、再生方法、プログラム、および記録媒体 |
CN101536523B (zh) * | 2006-11-14 | 2013-01-23 | 高通股份有限公司 | 用于信道切换的系统及方法 |
KR100787314B1 (ko) * | 2007-02-22 | 2007-12-21 | 광주과학기술원 | 미디어내 동기화를 위한 적응형 미디어 재생 방법 및 장치 |
US8265144B2 (en) * | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
-
2010
- 2010-01-27 EP EP10735509A patent/EP2392138A4/en not_active Withdrawn
- 2010-01-27 CN CN2010800104227A patent/CN102342127A/zh active Pending
- 2010-01-27 RU RU2011135321/07A patent/RU2011135321A/ru not_active Application Discontinuation
- 2010-01-27 TW TW099102249A patent/TW201032597A/zh unknown
- 2010-01-27 US US12/694,753 patent/US20100189182A1/en not_active Abandoned
- 2010-01-27 KR KR1020117019640A patent/KR20110106465A/ko not_active Application Discontinuation
- 2010-01-27 WO PCT/FI2010/050042 patent/WO2010086501A1/en active Application Filing
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140064926A (ko) * | 2011-08-31 | 2014-05-28 | 노키아 코포레이션 | 멀티뷰 비디오 코딩 및 디코딩을 위한 방법, 장치 및 컴퓨터 프로그램 |
US9674532B2 (en) | 2012-06-24 | 2017-06-06 | Lg Electronics Inc. | Image decoding method using information on a random access picture and apparatus using same |
WO2014003379A1 (ko) * | 2012-06-24 | 2014-01-03 | 엘지전자 주식회사 | 영상 디코딩 방법 및 이를 이용하는 장치 |
US10602189B2 (en) | 2012-09-13 | 2020-03-24 | Lg Electronics Inc. | Method and apparatus for encoding/decoding images |
US9794594B2 (en) | 2012-09-13 | 2017-10-17 | Lg Electronics Inc. | Method and apparatus for encoding/decoding images |
US10075736B2 (en) | 2012-09-13 | 2018-09-11 | Lg Electronics Inc. | Method and apparatus for encoding/decoding images |
WO2014042460A1 (ko) * | 2012-09-13 | 2014-03-20 | 엘지전자 주식회사 | 영상 부호화/복호화 방법 및 장치 |
US10972757B2 (en) | 2012-09-13 | 2021-04-06 | Lg Electronics Inc. | Method and apparatus for encoding/decoding images |
US11477488B2 (en) | 2012-09-13 | 2022-10-18 | Lg Electronics Inc. | Method and apparatus for encoding/decoding images |
US11831922B2 (en) | 2012-09-13 | 2023-11-28 | Lg Electronics Inc. | Method and apparatus for encoding/decoding images |
WO2015083988A1 (ko) * | 2013-12-03 | 2015-06-11 | 주식회사 케이티 | 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치 |
WO2016060494A1 (ko) * | 2014-10-16 | 2016-04-21 | 삼성전자 주식회사 | 부호화된 비디오 데이터 처리 방법 및 장치, 부호화된 비디오 데이터 생성 방법 및 장치 |
US10542063B2 (en) | 2014-10-16 | 2020-01-21 | Samsung Electronics Co., Ltd. | Method and device for processing encoded video data, and method and device for generating encoded video data |
US11115452B2 (en) | 2014-10-16 | 2021-09-07 | Samsung Electronics Co., Ltd. | Method and device for processing encoded video data, and method and device for generating encoded video data |
Also Published As
Publication number | Publication date |
---|---|
RU2011135321A (ru) | 2013-03-10 |
TW201032597A (en) | 2010-09-01 |
US20100189182A1 (en) | 2010-07-29 |
WO2010086501A1 (en) | 2010-08-05 |
EP2392138A4 (en) | 2012-08-29 |
EP2392138A1 (en) | 2011-12-07 |
CN102342127A (zh) | 2012-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100189182A1 (en) | Method and apparatus for video coding and decoding | |
US8396082B2 (en) | Time-interleaved simulcast for tune-in reduction | |
CA2972332C (en) | Inter-layer prediction for scalable video coding and decoding | |
US9992555B2 (en) | Signaling random access points for streaming video data | |
EP2596633B1 (en) | A media streaming apparatus | |
US20130170561A1 (en) | Method and apparatus for video coding and decoding | |
Schierl et al. | System layer integration of high efficiency video coding | |
US9185439B2 (en) | Signaling data for multiplexing video components | |
US20070183494A1 (en) | Buffering of decoded reference pictures | |
US20080267287A1 (en) | System and method for implementing fast tune-in with intra-coded redundant pictures | |
KR20100030648A (ko) | 시간 레이어 스위칭 포인트들을 표시하는 시스템 및 방법 | |
KR101421390B1 (ko) | 트릭 모드 비디오 표현물에 대한 비디오 샘플의 시그널링 | |
KR102434300B1 (ko) | 샘플 엔트리들 및 랜덤 액세스 | |
US20080301742A1 (en) | Time-interleaved simulcast for tune-in reduction | |
CN115943631A (zh) | 流式传输包括具有切换集的可寻址资源索引轨道的媒体数据 | |
EP2151075A2 (en) | Time-interleaved simulcast for tune-in reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |