도 1은 본 발명이 적용되는 스케일러블 비디오 코딩 시스템의 개략적인 블럭도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 스케일러블 비디오 코딩된 비트스트림에 추가될 수 있는 스케일러블 영상에 대한 속성 정보를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 참조 베이스 픽쳐를 저장하고 이를 이용하는 과정을 설명하기 위한 스케일러블 비디오 코딩의 다양한 스케일러빌러티 구조도이다.
도 4는 본 발명이 적용되는 실시예로서, 참조 베이스 픽쳐를 저장하는 과정을 설명하기 위한 흐름도를 나타낸다.
도 5는 본 발명이 적용되는 일실시예로서, 참조 베이스 픽쳐를 저장하고 마킹하기 위한 신택스 구조를 나타낸다.
도 6은 본 발명이 적용되는 일실시예로서, 참조 베이스 픽쳐를 저장하고 마킹하기 위한 신택스 구조를 나타낸다.
도 7 내지 도 12는 본 발명이 적용되는 일실시예들로서, 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득하기 위한 신택스 구조를 나타낸다.
발명의 실시를 위한 최선의 형태
상기 목적을 달성하기 위하여 본 발명은, 템포럴 도메인 및 스케일러블 도메인 상에서 파셜 레퍼런싱을 이용한 스케일러블 디코딩 방법에 있어서, 제1 템포럴 지점의 파셜 픽쳐를 획득하는 단계와 상기 파셜 픽쳐를 참조하여, 상기 제1 템포럴 지점 이후에 위치하는 제2 템포럴 지점의 풀 픽쳐를 디코딩하는 단계를 포함하되, 상기 파셜 픽쳐의 스케일러블 도메인 상의 레벨은 상기 풀 픽쳐의 스케일러블 도메인 상의 레벨보다 하위 레벨인 것을 특징으로 하는 비디오 신호 디코딩 방법을 제공한다.
또한, 본 발명은 상기 풀 픽쳐는 상기 제1 템포럴 지점의 파셜 픽쳐에 대응하는 상기 제2 템포럴 지점의 파셜 픽쳐를 스케일러블 디코딩하여 획득하는 것을 특징으로 한다.
또한, 본 발명은 비트스트림에서 파셜 레퍼런싱 정보에 대응하는 신택스를 제한하는 제한 플래그 정보를 획득하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명은 현재 NAL 유닛의 퀄러티 레벨을 확인하는 단계, 상기 현재 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있는지 여부를 확인하는 단계, 상기 확인 결과에 따라 상기 현재 NAL 유닛이 가장 낮은 퀄러티 레벨에 해당하면서 참조 픽쳐의 슬라이스를 포함하는 경우, 상기 현재 NAL 유닛을 버퍼에 저장할지 여부를 나타내는 제 1 플래그 정보를 획득하는 단계 및 상기 제 1 플래그 정보에 기초하여, 상기 NAL 유닛을 포함하는 디코딩된 픽쳐를 참조 베이스 픽쳐로 마킹하는 단계를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 방법을 제공한다.
또한, 본 발명은 현재 NAL 유닛의 퀄러티 레벨과, 상기 현재 NAL 유닛이 참조 픽쳐의 슬라이스를 포함하고 있는지 여부를 확인하는 식별 정보 확인부와 상기 확인 결과에 따라 상기 현재 NAL 유닛이 가장 낮은 퀄러티 레벨에 해당하면서 참조 픽쳐의 슬라이스를 포함하는 경우, 상기 현재 NAL 유닛을 버퍼에 저장할지 여부를 나타내는 제 1 플래그 정보에 기초하여, 상기 NAL 유닛을 포함하는 디코딩된 픽쳐를 참조 베이스 픽쳐로 마킹하는 복호 픽쳐 버퍼부를 포함하는 것을 특징으로 하는 비디오 신호 디코딩 장치를 제공한다.
발명의 실시를 위한 형태
비디오 신호 데이터를 압축 부호화하는 기술은 공간적 중복성, 시간적 중복성, 스케일러블한 중복성, 시점간 존재하는 중복성을 고려하고 있다. 스케일러블한 중복성을 고려하는 압축 코딩에 대한 기술은 본 발명의 실시예일 뿐이며, 본 발명의 기술적 사상은 시간적 중복성, 공간적 중복성, 시점간 중복성 등에도 적용될 수 있다. 또한, 본 명세서에서 코딩이라 함은 인코딩과 디코딩의 개념을 모두 포함할 수 있고, 본 발명의 기술적 사상 및 기술적 범위에 따라 유연하게 해석할 수 있을 것이다.
비디오 신호의 비트열 구성을 살펴보면, 동영상 부호화 처리 그 자체를 다루는 VCL(Video Coding Layer, 비디오 부호화 계층)과 부호화된 정보를 전송하고 저 장하는 하위 시스템과의 사이에 있는 NAL(Network Abstraction Layer, 네트워크 추상 계층)이라는 분리된 계층 구조로 정의되어 있다. 부호화 과정의 출력은 VCL 데이터이고 전송하거나 저장하기 전에 NAL 단위로 맵핑된다. 각 NAL 단위는 압축된 비디오 데이터 또는 헤더 정보에 해당하는 데이터인 RBSP(Raw Byte Sequence Payload, 동영상 압축의 결과데이터)를 포함한다.
NAL 단위는 기본적으로 NAL헤더와 RBSP의 두 부분으로 구성된다. NAL헤더에는 그 NAL 단위의 참조픽처가 되는 슬라이스가 포함되어 있는지 여부를 나타내는 플래그 정보(nal_ref_idc)와 NAL 단위의 타입을 나타내는 정보(nal_unit_type)가 포함되어 있다. RBSP 에는 압축된 원본의 데이터를 저장하며, RBSP 의 길이를 8비트의 배수로 표현하기 위해 RBSP 의 마지막에 RBSP 채워넣기 비트(RBSP trailing bit)를 첨가한다. 이러한 NAL 단위의 종류에는 IDR (Instantaneous Decoding Refresh, 순간 복호 리프레쉬) 픽쳐, SPS (Sequence Parameter Set, 시퀀스 파라미터 세트), PPS (Picture Parameter Set, 픽쳐 파라미터 세트), SEI (Supplemental Enhancement Information, 보충적 부가정보) 등이 있다.
따라서, 상기 NAL 단위의 타입을 나타내는 정보(nal_unit_type)가 스케일러블 비디오 코딩된 슬라이스임을 나타내는 경우, 상기 스케일러블 코딩에 관한 여러 가지 속성 정보들을 추가함으로써 코딩 효율을 높일 수 있다. 예를 들어, 현재 액세스 유닛이 순간 복호 리프레쉬(Instantaneous Decoding Refresh, 이하 IDR 이라 함.) 액세스 유닛인지를 나타내는 플래그 정보, 공간적 스케일러빌러티를 나타내는 식별 정보(dependency identification information), 퀄러티 식별 정보(quality identification information), 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지 여부를 나타내는 플래그 정보, 시간적 스케일러빌러티를 나타내는 식별 정보, 우선 순위(priority) 식별 정보 등을 추가할 수 있다. 또한, 복호 픽쳐 버퍼를 보다 효율적으로 관리하기 위하여 상기 스케일러블 코딩에 관한 여러 가지 속성 정보들을 이용할 수 있다. 이는 도 2에서 상세히 설명하도록 한다.
또한, 규격에서는 대상 제품을 적당한 비용으로 구현 가능하도록 여러 가지 프로파일 및 레벨로 제약하고 있는데, 복호기는 해당 프로파일과 레벨에서 정해진 제약을 만족시켜야 한다. 이처럼 복호기가 어떤 압축 영상의 범위까지 대응할 수 있는지 그 기능 또는 파라미터를 나타내기 위해 프로파일과 레벨이라는 두 가지의 개념이 정의되었다. 비트스트림이 어떤 프로파일에 기초하는 것인가는 프로파일 식별자(profile_idc)로 식별할 수 있다. 프로파일 식별자란, 비트스트림이 기반을 둔 프로파일을 나타내는 플래그를 의미한다. 예를 들어, H.264/AVC 에서는 프로파일 식별자가 66 이면 베이스라인 프로파일에 기초함을 의미하고, 77 이면 메인 프로파일에 기초함을 의미하며, 88 이면 확장 프로파일에 기초함을 의미한다. 상기 프로파일 식별자는 시퀀스 파라미터 세트에 포함될 수 있다.
따라서, 스케일러블 영상을 다루기 위해서는 입력되는 비트스트림이 스케일러블 영상에 관한 프로파일인지 여부를 식별하고, 스케일러블 영상에 관한 프로파일로 식별되면 스케일러블 영상에 대한 하나 이상의 추가 정보를 전송할 수 있도록 신택스를 추가할 필요가 있다. 여기서 스케일러블 영상에 관한 프로파일이란, H.264/AVC의 추가 기술로서 스케일러블 비디오(scalable video)를 다루는 프로파일 모드(profile mode)를 나타낸다. SVC는 기존 AVC 기술에 대한 추가 기술이므로 무조건적인 신택스보다는 SVC 모드인 경우에 대한 추가 정보로서 신택스를 추가하는 것이 더 효율적일 수 있다. 예를 들어, AVC의 프로파일 식별자가 스케일러블 영상에 관한 프로파일을 나타낼 때 스케일러블 영상에 대한 정보를 추가하면 부호화 효율을 높일 수 있다.
시퀀스 파라미터 세트란, 프로파일, 레벨 등 시퀀스 전체의 부호화에 걸쳐있는 정보가 포함되어 있는 헤더 정보를 말한다. 압축된 동영상 전체, 즉 시퀀스는 반드시 시퀀스 헤더로부터 시작하여야 하므로 헤더 정보에 상당하는 시퀀스 파라미터 세트는 그 파라미터 세트를 참조하는 데이터보다 먼저 복호기에 도착하여야 한다. 결국, 시퀀스 파라미터 세트 RBSP 는 동영상 압축의 결과 데이터에 대한 헤더 정보로써의 역할을 한다. 비트스트림이 입력되면, 먼저 프로파일 식별자는 입력된 비트스트림이 복수개의 프로파일 중에서 어떤 프로파일에 기초하는 것인지를 식별하게 된다.
이하에서는 비디오 신호의 효율적인 디코딩 방법을 제공하기 위한 다양한 실시예들을 설명하도록 한다.
도 1은 본 발명이 적용되는 스케일러블 비디오 코딩 시스템의 개략적인 블럭도를 나타낸다.
다양한 통신환경과 다양한 단말기에 최적화된 영상을 제공하기 위해서는 단말기에 제공되는 영상 또한 다양하게 준비되어야만 한다. 단말기마다 그에 최적화된 영상을 제공한다는 것은 하나의 영상원(source)을, 초당 전송 프레임수, 해상 도, 픽셀당 비트수 등 다양한 변수들의 조합된 값에 대해 구비하고 있어야 함을 의미하므로 컨텐츠 제공자에게 부담으로 작용할 수 밖에 없다. 이러한 이유로, 컨텐츠 제공자는 원영상을 고속 비트레이트의 압축 영상 데이터로 인코딩해 두고, 단말기로부터 영상요청이 수신되는 경우 원영상을 디코딩한 다음, 단말기의 영상처리 능력에 맞는 영상 데이터로 다시 인코딩하여 제공할 수 있다. 그러나 이와 같은 트랜스코딩(transcoding)의 경우 인코딩-디코딩-인코딩 과정이 수반되므로, 영상 제공에 있어서 시간 지연이 발생할 수 밖에 없고, 이에 따라 복잡한 하드웨어의 디바이스와 알고리즘이 추가로 요구된다.
반면, 스케일러블 비디오 코딩(Scalable Video Coding: SVC) 방식은 비디오 신호를 인코딩함에 있어, 최고 화질로 인코딩하되, 그 결과 생성된 픽쳐 시퀀스의 부분 시퀀스만을 디코딩해 사용해도 영상 표현이 가능하도록 하는 방식이다. 여기서, 부분 시퀀스라 함은 시퀀스 전체에서 간헐적으로 선택된 프레임들로 이루어진 시퀀스를 의미할 수 있다. SVC로 인코딩된 픽쳐 시퀀스는 낮은 비트레이트에 대해 공간적 스케일러빌리티(spatial scalability)를 이용하여 영상의 사이즈를 줄일 수도 있다. 또한, 퀄러티 스케일러빌리티를 이용하여 영상의 화질을 낮출 수도 있다. 이때 소화면 및/또는 초당 프레임수 등이 낮은 픽쳐 시퀀스를 베이스 레이어라 하고 상대적으로 대화면 및/또는 초당 프레임수은 시퀀스를 인핸스드 또는 인핸스먼트 레이어라 할 수 있다.
그런데, 앞서 언급한 바와 같은 스케일러블 방식으로 인코딩된 픽처 시퀀스는 그 부분 시퀀스만을 수신하여 처리함으로써도 저화질의 영상 표현이 가능하지 만, 비트레이트(bitrate)가 낮아지는 경우 화질저하가 크게 나타난다. 이를 해소하기 위해서 낮은 전송률을 위한 별도의 보조 픽쳐 시퀀스, 예를 들어 소화면 및/또는 초당 프레임수 등이 낮은 픽쳐 시퀀스를 제공할 수도 있다. 이러한 보조 시퀀스를 베이스 레이어(base layer)라 하고, 주 픽처 시퀀스를 인핸스드(enhanced) 또는 인핸스먼트(enhancement) 레이어라 할 수 있다.
이러한 스케일러블 비디오 코딩 시스템에 대해 보다 구체적으로 알아보도록 한다. 상기 스케일러블 비디오 코딩 시스템은 인코딩 장치(102)와 디코딩 장치(110)를 포함한다. 상기 인코딩 장치(102)는 베이스 레이어 인코딩부(104), 인핸스드 레이어 인코딩부(106) 및 멀티플렉싱부(108)를 포함하고, 디코딩 장치(110)는 디멀티플렉싱부(112), 베이스 레이어 디코딩부(114) 및 인핸스드 레이어 디코딩부(116)를 포함할 수 있다. 베이스 레이어 인코딩부(104)는 입력된 영상신호 X(n)을 압축하여 베이스 비트스트림을 생성할 수 있다. 인핸스드 레이어 인코딩부(106)는 입력 영상신호 X(n)과 베이스 레이어 인코딩부(104)에 의해 생성되는 정보를 이용하여 인핸스드 레이어 비트스트림을 생성할 수 있다. 멀티플렉싱부(108)는 상기 베이스 레이어 비트스트림과 상기 인핸스드 레이어 비트스트림을 이용하여 스케일러블 비트스트림을 생성할 수 있다.
이렇게 생성된 스케일러블 비트스트림은 소정 채널을 통해 디코딩 장치(110)로 전송되고, 전송된 스케일러블 비트스트림은 디코딩 장치(110)의 디멀티플렉싱부(112)에 의해 인핸스드 레이어 비트스트림과 베이스 레이어 비트스트림으로 구분될 수 있다. 베이스 레이어 디코딩부(114)는 베이스 레이어 비트스트림을 수신하여 출 력 영상신호 Xb(n)을 복호하고, 인핸스드 레이어 디코딩부(116)는 인핸스드 레이어 비트스트림을 수신하고, 베이스 레이어 디코딩부(114)에서 복원된 신호를 참조하여 출력 영상신호 Xe(n)를 복호한다. 여기서, 출력 영상신호 Xb(n)은 출력 영상신호 Xe(n)에 비하여 화질이 낮거나 해상도가 낮은 영상신호가 될 것이다.
스케일러블 비디오 코딩에서, 인핸스드 레이어까지 인코딩되어 전송된 특정픽쳐를 복호할 때, 전송과정에서 인핸스드 레이어 비트스트림 중 일부가 손실될 수 있다. 이 경우, 상기 디코딩 장치(110)는 손실된 인핸스드 레이어 비트스트림을 이용하여 해당 픽쳐를 복호하게 되므로, 원 영상과 복호된 영상의 화질이 다르게 될 수 있다. 특히, 이러한 문제가 발생된 픽쳐가 다른 픽쳐를 복호화하는데 필요한 레퍼런스 픽쳐이면서 템포럴 레벨이 가장 낮은 픽쳐인 경우에는 그 문제는 더욱 심각해질 수 있다. 따라서, 상기 템포럴 레벨이 가장 낮은 픽쳐에 대해서는 보다 효율적인 관리가 필요하다. 이는 도 3 및 도 4에서 상세히 설명하도록 한다.
본 발명의 실시예로서, 스케일러블 비디오 코딩에서는 DPB(Decoded Picture Buffer)에서 풀 픽쳐와 파셜 픽쳐를 스케일러블하게 저장 또는 마킹할 수 있다. 여기서, 풀 픽쳐란 퀄러티 레벨이 가장 상위에 있는 픽쳐를 의미할 수 있다. 그리고, 파셜 픽쳐란, 퀄러티 레벨이 가장 하위에 있는 픽쳐를 의미할 수 있다. 또는 상기 풀 픽쳐와 파셜 픽쳐는 퀄러티 레벨이 상대적으로 높고 낮음을 나타내기 위해 정의할 수도 있다. 예를 들어, 퀄러티 레벨이 5단계(0∼4)인 경우, 퀄러티 레벨이 0∼3인 경우를 파셜 픽쳐라 할 수 있고, 퀄러티 레벨이 4인 경우를 풀 픽쳐라고 할 수 있다. 또는 퀄러티 레벨이 0인 경우만 파셜 픽쳐라고 할 수도 있다.
또한, 제 1 템포럴 지점에 있는 파셜 픽쳐를 참조 픽쳐로 이용하기 위해서는 미리 저장해 놓을 필요가 있다. 따라서, 제 1 템포럴 지점 이후에 있는 제 2 템포럴 지점의 파셜 픽쳐 또는 풀 픽쳐를 디코딩하기 위하여 상기 제 1 템포럴 지점에 있는 파셜 픽쳐를 참조 픽쳐로 이용할 수 있다. 그리고, 상기 제 1 템포럴 지점에 있는 풀 픽쳐 또는 파셜 픽쳐는 참조 픽쳐로서 적응적으로 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 스케일러블 비디오 코딩된 비트스트림에 추가될 수 있는 스케일러블 영상에 대한 속성 정보를 나타낸다.
상기 도 2에서는 스케일러블 영상에 대한 속성 정보들이 추가될 수 있는 NAL 단위의 구성의 일례를 나타낸다. 크게 NAL 단위는 NAL 단위의 헤더와 RBSP(Raw Byte Sequence Payload, 동영상 압축의 결과데이터)로 구성될 수 있다. 그리고, NAL 단위의 헤더에서는 NAL 단위가 참조 픽쳐의 슬라이스를 포함하고 있는지 여부를 나타내는 식별 정보(nal_ref_idc)와 NAL 단위의 타입을 나타내는 정보(nal_unit_type)를 포함할 수 있다. 또한, 제한적으로 상기 NAL 단위 헤더의 확장 영역도 포함할 수 있다. 예를 들어, 상기 NAL 유닛의 타입을 나타내는 정보가 스케일러블 비디오 코딩과 관련이 있는 경우 또는 prefix NAL 유닛을 나타내는 경우에, 상기 NAL 유닛은 상기 NAL 유닛 헤더의 확장 영역을 포함할 수 있다. 구체적 예로, 상기 nal_unit_type = 20 또는 14일때 상기 NAL 유닛은 상기 NAL 유닛 헤더의 확장 영역도 포함할 수 있다. 또한, 상기 NAL 유닛 헤더의 확장 영역 내에서는, SVC 비트스트림인지 여부를 식별할 수 있는 플래그 정보(svc_mvc_flag)에 따라 스케일러블 영상에 대한 속성 정보들을 추가할 수 있다.
또 다른 예로, 상기 NAL 유닛의 타입을 나타내는 정보가 서브셋 시퀀스 파라미터 세트(subset sequence parameter set)를 나타내는 정보일 경우, 상기 RBSP는 서브셋 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 구체적 예로, nal_unit_type = 15 일 경우, 상기 RBSP는 서브셋 시퀀스 파라미터 세트에 대한 정보를 포함할 수 있다. 이 때, 프로파일 정보에 따라 상기 서브셋 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다. 예를 들어, 프로파일 정보(profile_idc)가 스케일러블 비디오 코딩에 관련된 프로파일인 경우, 상기 서브셋 시퀀스 파라미터 세트는 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다. 또는 프로파일 정보에 따라 시퀀스 파라미터 세트가 시퀀스 파라미터 세트의 확장 영역을 포함할 수 있다. 상기 시퀀스 파라미터 세트의 확장 영역은 코덱 호환(codec compatibility)을 위한 특정한 신택스를 제한하는 제한 플래그 정보(restriction flag information)를 포함할 수 있다.
이하 스케일러블 영상에 대한 다양한 속성 정보들, 예를 들어, NAL 유닛 헤더의 확장 영역에 포함될 수 있는 속성 정보들, 또는 시퀀스 파라미터 세트의 확장 영역에 포함될 수 있는 속성 정보들에 대해 구체적으로 살펴보도록 한다.
먼저, 공간적 스케일러빌러티를 나타내는 식별 정보란, NAL 단위에 대한 의존 관계를 식별해주는 정보를 의미한다. 예를 들어, 공간적 해상도에 따라 의존 관계가 달라질 수 있다. 도 3에서 Spa_Layer0, Spa_Layer1에 있는 픽쳐들은 각각 동일한 해상도를 가질 수 있다. Spa_Layer0에 있는 픽쳐들은 Spa_Layer1에 있는 픽쳐들을 다운 샘플링하여 얻어진 픽쳐들일 수 있다. 구체적 예로, 상기 NAL 단위에 대 한 의존 관계를 식별해주는 정보를 dependency_id 라고 할 때, Spa_Layer0에 있는 픽쳐들의 dependency_id = 0 이라고 할 수 있고, Spa_Layer1에 있는 픽쳐들의 dependency_id = 1 이라고 할 수 있다. 이러한 의존 관계 식별 정보는 다양하게 정의될 수 있다. 이처럼, 의존 관계를 식별해주는 정보와 동일한 값을 가지고 있는 NAL 단위들을 디펜던시 레프리젠테이션(dependency representation)이라 표시할 수 있다.
퀄러티 식별 정보(quality identification information)란, NAL 단위에 대한 퀄러티를 식별해주는 정보를 의미한다. 예를 들어, 하나의 픽쳐를 서로 다른 퀄러티의 픽쳐로 코딩할 수 있다. 도 3에서 Spa_Layer0, Spa_Layer1에 있는 픽쳐들 모두가 각각 서로 다른 퀄러티의 픽쳐로 코딩될 수 있다. 구체적 예로, 상기 NAL 단위에 대한 퀄러티를 식별해주는 정보를 quality_id 라고 할 때, B1,B2, ...,B10 픽쳐들은 quality_id = 0 이라 할 수 있고, Q1,Q2, ...,Q10 픽쳐들은 quality_id = 1 이라 할 수 있다. 즉, B1,B2, ...,B10 픽쳐들은 화질이 가장 낮은 픽쳐들을 의미할 수 있다. 이를 베이스 픽쳐(base picture)라고 한다. Q1,Q2, ...,Q10 픽쳐들은 각각 B1,B2, ...,B10 픽쳐들을 포함하면서 B1,B2, ...,B10 픽쳐들보다 화질이 좋은 픽쳐들에 해당한다. 이러한 퀄러티 식별 정보는 다양하게 정의될 수 있다. 예를 들어, 16단계로 표현될 수도 있다.
상기에서 살펴본 의존 관계를 식별해주는 정보와 퀄러티 식별 정보에 따라 하나의 레이어가 정의될 수 있다. 이때, 의존 관계를 식별해주는 정보 및 퀄러티 식별 정보와 동일한 값들을 가지고 있는 NAL 단위들을 레이어 레프리젠테이션 (layer representation)이라 표시할 수 있다.
시간적 스케일러빌러티(temporal scalability)를 나타내는 식별 정보란, NAL 단위에 대한 시간적 레벨(temporal level)을 식별해주는 정보를 의미한다. 상기 시간적 레벨은 계층적 B 픽쳐(hierarchical B picture)구조에서 설명될 수 있다. 예를 들어, 도 3의 Spa_Layer0에서 (B1,Q1) 픽쳐와 (B3,Q3) 픽쳐는 동일한 시간적 레벨(Tem_Layer0)을 가질 수있다. (B5,Q5) 픽쳐가 (B1,Q1) 픽쳐와 (B3,Q3) 픽쳐를 참조하는 경우, 상기 (B5,Q5) 픽쳐는 상기 (B1,Q1) 픽쳐와 (B3,Q3) 픽쳐의 시간적 레벨(Tem_Layer0)보다 높은 시간적 레벨(Tem_Layer1)을 가질 수 있다. 마찬가지로, (B7,Q7) 픽쳐가 (B1,Q1) 픽쳐와 (B5,Q5) 픽쳐를 참조하는 경우, 상기 (B7,Q7) 픽쳐는 상기 (B5,Q5) 픽쳐의 시간적 레벨(Tem_Layer2)보다 높은 시간적 레벨(Tem_Layer2)을 가질 수 있다. 하나의 액세스 유닛 내에 있는 모든 NAL 단위들은 동일한 시간적 레벨값을 가질 수 있다. 또한, IDR 액세스 유닛의 경우에는 상기 시간적 레벨 값이 0이 될 수 있다.
참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지 여부를 나타내는 플래그 정보는 인터 예측 과정에서 참조 베이스 픽쳐들이 참조 픽쳐로서 이용되는지, 아니면 디코딩된 픽쳐들이 참조 픽쳐로서 이용되는지 여부를 나타낸다. 상기 플래그 정보는 동일한 레이어 상에 있는, 즉 의존 관계를 식별해주는 정보가 동일한 NAL 단위들에 대해서는 동일한 값을 가질 수 있다.
우선순위 식별(priority identification) 정보란, NAL 유닛의 우선 순위를 식별해주는 정보를 의미한다. 이를 이용하여 레이어간 확장성 또는 픽쳐간 확장성 을 제공할 수 있다. 예를 들어, 상기 우선순위 식별 정보를 이용하여 사용자에게 다양한 시간적 레벨 및 공간적 레벨의 영상을 제공할 수 있다. 따라서, 사용자는 원하는 시간 및 공간의 영상만을 볼 수도 있고, 다른 제한 조건에 따른 영상만을 볼 수 있게 된다. 상기 우선순위 정보는 그 기준 조건에 따라 다양한 방법으로 다르게 설정될 수 있다. 또한, 상기 우선 순위 정보는 특별한 기준에 의하지 않고 임의로 설정될 수도 있으며, 디코딩 장치에 의해서 결정될 수도 있다.
또한, NAL 유닛 헤더의 확장 영역에 포함될 수 있는 속성 정보로는 현재 액세스 유닛이 IDR 액세스 유닛인지를 나타내는 플래그 정보가 있을 수 있다.
도 3은 본 발명이 적용되는 실시예로서, 참조 베이스 픽쳐를 저장하고 이를 이용하는 과정을 설명하기 위한 스케일러블 비디오 코딩의 다양한 스케일러빌러티 구조도이다.
먼저, 시간적 스케일러빌러티에서는 비디오 영상의 레이어를 프레임 레이트에 의해 결정할 수 있다. 상기 도 3을 보면, 각 레이어마다 아래에서 위로 갈수록 상위의 시간적 스케일러블 레이어를 의미하며, 이는 프레임 레이트가 높아짐을 나타낸다. 시간적 스케일러블 비디오 코딩은 H.264 비디오 코딩에 계층적 B 픽쳐(hierarchical B picture) 또는 계층적 P 픽쳐(hierarchical P picture) 개념을 적용하여 구현할 수 있다. 예를 들어, 시간적 레벨 Tem_Layer1에 속하는 픽쳐(B5,Q5)를 예측할 때, 상기 시간적 레벨 Tem_Layer1보다 큰 값을 가지는 시간적 레벨 Tem_Layer2에 속하는 픽쳐(B7,Q7,B9,Q9)는 참조 픽쳐로 이용될 수 없다. 그러나, 시간적 레벨이 낮은 Tem_Layer0에 속하는 픽쳐(B1,Q1,B3,Q3)는 참조 픽쳐로 이용될 수 있다. 따라서, 임의의 시간적 레이어에 속하는 픽쳐는 그보다 상위 레이어에 속하는 픽쳐의 디코딩 여부와 관계없이 독립적으로 디코딩이 가능할 수 있다. 디코더의 능력에 따라서 디코딩이 가능한 레벨이 결정되면 해당 프레임 레이트에 의한 H.264 호환가능한 비디오 신호를 디코딩할 수 있다.
상기 도 3에서, 공간적 스케일러빌러티를 설명하면, Spa_Layer0, Spa_Layer1에 있는 픽쳐들은 각각 동일한 해상도를 가질 수 있다. Spa_Layer0에 있는 픽쳐들은 Spa_Layer1에 있는 픽쳐들을 다운 샘플링하여 얻어진 픽쳐들일 수 있다. 예를 들어, NAL 단위에 대한 의존 관계를 식별해주는 정보를 dependency_id 라고 할 때, Spa_Layer0에 있는 픽쳐들의 dependency_id = 0, Spa_Layer1에 있는 픽쳐들의 dependency_id = 1 이라고 할 수 있다.
또한, 퀄러티 스케일러빌러티를 설명하면, 공간축 상에 있는 각 레이어의 픽쳐들은 각각 다른 퀄러티의 픽쳐를 가질 수 있다. 예를 들어, NAL 단위에 대한 퀄러티를 식별해주는 정보를 quality_id 라고 할 때, B1,B2, ...,B10 픽쳐들은 quality_id = 0 이라 할 수 있고, Q1,Q2, ...,Q10 픽쳐들은 quality_id = 1 이라 할 수 있다. 즉, B1,B2, ...,B10 픽쳐들은 화질이 가장 낮은 픽쳐들을 의미할 수 있다. 반면, Q1,Q2, ...,Q10 픽쳐들은 B1,B2, ...,B10 픽쳐들보다는 화질이 좋은 픽쳐들에 해당한다. 이러한 퀄러티 식별 정보는 다양하게 정의될 수 있다. 예를 들어, 16단계로 표현될 수도 있다.
본 발명의 실시예로서, 참조 베이스 픽쳐를 저장하고 이를 디코딩 과정에서 이용하는 경우를 설명하도록 한다.
상기 도 3에 있는 픽쳐들을 기준으로 볼 때, 디코딩 순서는 B1,Q1,B2,Q2,B3,Q3, ...,B10,Q10(1->2->3->4->...->9->10)처럼 될 수 있다. 이 때 현재 디코딩하려는 픽쳐를 B4라고 하면, 상기 B1,Q1,B2,Q2,B3,Q3픽쳐들은 이미 디코딩된 픽쳐들이다. B4 픽쳐는 시간적 레벨이 가장 낮은 픽쳐이면서, 퀄러티 레벨도 가장 낮은 픽쳐에 해당된다. 상기 B4 픽쳐는 베이스 픽쳐인 B2 픽쳐를 참조할 수 있다. 따라서, 상기 B2 픽쳐는 복호 픽쳐 버퍼에 저장되어 있어야 한다.
이때 상기 B2 픽쳐는 이미 디코딩된 픽쳐인데, 상기 B2 픽쳐를 디코딩할 때 상기 B2 픽쳐가 이후에 코딩될 픽쳐(예를 들어, B4픽쳐)를 위해 복호 픽쳐 버퍼에 저장될지 여부를 알려주는 플래그 정보가 필요할 수 있다. 예를 들어, 현재 NAL 단위가 참조 베이스 픽쳐에 해당되는 경우에 상기 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 store_ref_base_pic_flag 라 정의할 수 있다. 또한, 상기 B2 픽쳐는 베이스 픽쳐로서 참조될 것이라는 표시가 필요할 수 있다. 따라서, 복호 픽쳐 버퍼에서는 상기 B2 픽쳐 디코딩 이후 참조 베이스 픽쳐(reference base picture)로 마킹할 수 있다. 이런 과정을 거친 후에 상기 B4 픽쳐를 디코딩할 때, 상기 B4 픽쳐는, store_ref_base_pic_flag 에 따라 복호 픽쳐 버퍼에 저장되어 있고 참조 베이스 픽쳐로 마킹된 B2 픽쳐를 참조 픽쳐로서 활용할 수 있다.
본 발명이 적용되는 다른 실시예로서, 현재 NAL 단위가 가장 낮은 퀄러티 레벨에 해당하면서 참조 픽쳐의 슬라이스를 포함하는 경우, 상기 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득하기 위한 과정을 설명하고자 한다. 예를 들어, 상기 플래그 정보는 스케일러블 비디오 코딩된 비트스트림만을 위한 신택스 요소일 수 있다. 따라서, 코덱 호환성을 위해 상기 플래그 정보를 막아줄 수 있는 다른 정보가 필요할 수 있다. 또는 비트스트림의 포맷을 용이하게 변환시키기 위해 상기 플래그 정보를 막아줄 수 있는 다른 정보가 필요할 수 있다. 예를 들어, 코덱 호환을 위해 스케일러블 비디오 코딩된 비트스트림의 재작성을 위한 플래그 정보를 정의할 수 있다.
기존 코덱과의 호환을 위해, 예를 들어, 스케일러블 비디오 코딩된 비트스트림을 AVC 코덱으로 디코딩하는 경우, 상기 스케일러블 비디오 코딩된 비트스트림을 AVC 비트스트림으로 재작성할 필요가 있다. 이 때, 상기 제한 플래그 정보가 스케일러블 비디오 코딩된 비트스트림에만 적용되는 신택스 정보를 막아줄 수 있다. 이를 막음으로써 간단한 변환 과정을 통해 AVC 비트스트림으로 변환할 수 있게 된다. 예를 들어, 이를 slice_header_restriction_flag 로 나타낼 수 있다. 상기 제한 플래그 정보는 시퀀스 파라미터 세트 또는 서브 시퀀스 파라미터 세트로부터 획득될 수 있다. 또는 서브 시퀀스 파라미터 세트의 확장 영역으로부터 획득될 수도 있다.
상기 제한 플래그 정보에 의해 특정 코덱에만 이용되는 신택스 요소를 제한할 수 있다. 예를 들어,상기 제한 플래그 정보를 이용하여, 현재 NAL 단위가 가장 낮은 퀄러티 레벨에 해당하면서 참조 픽쳐의 슬라이스를 포함하는 경우에 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 상기 플래그 정보를 슬라이스 헤더에서 제한할 수 있다. 즉, slice_header_restriction_flag = 0 일때에만 store_ref_base_pic_flag 정보를 획득할 수 있다. 또는 slice_header_restriction_flag = 1 일때에는 store_ref_base_pic_flag 정보를 획득할 수 없다. 이는 스케일러블 비디오 코딩된 비트스트림의 슬라이스 헤더를 AVC 코덱으로 디코딩이 가능하도록 AVC 비트스트림의 헤더와 동일하게 만들어 주는 역할을 하는 것이다.
도 4는 본 발명이 적용되는 실시예로서, 참조 베이스 픽쳐를 저장하는 과정을 설명하기 위한 흐름도를 나타낸다.
먼저 상기 도 3을 이용하여 설명하면, 현재 픽쳐인 B4 픽쳐를 디코딩하려 할때, 상기 B4 픽쳐는 시간적 레벨이 가장 낮은 픽쳐이면서, 퀄러티 레벨도 가장 낮은 픽쳐에 해당된다. 즉, 베이스 레프리젠테이션으로 표시되는 베이스 픽쳐에 해당될 수 있다. 따라서, 상기 B4 픽쳐는 베이스 픽쳐인 B2 픽쳐를 참조할 수 있으며, 상기 B2 픽쳐를 참조하기 위해서는 상기 B2 픽쳐는 이미 복호 픽쳐 버퍼에 저장되어 있어야 한다.
이하에서는 상기 B2 픽쳐를 참조 픽쳐로서 이용하기 위해 복호 픽쳐에 저장하는 과정을 설명하고자 한다. B2 픽쳐를 디코딩할 때, 현재 NAL 단위 헤더의 확장 영역으로부터 퀄러티 식별 정보를 획득할 수 있다. 상기 도 2에서 설명한 바와 같이 퀄러티 식별 정보가 가장 낮은 값을 나타내는 경우, B2 픽쳐의 현재 NAL 단위는 베이스 픽쳐에 해당될 수 있다. 따라서, 상기 획득된 퀄러티 식별 정보에 따라 B2 픽쳐의 현재 NAL 단위가 베이스 픽쳐에 해당되는지 여부를 확인할 필요가 있다(S410). 그리고, B2 픽쳐는 참조 픽쳐로 이용될 것이기 때문에 이를 NAL 단위의 헤더에서 알려줄 수 있다. 예를 들어, 현재 NAL 단위가 참조 픽쳐의 슬라이스를 포함 하고 있는지를 나타내는 식별 정보(nal_ref_idc)를 획득할 수 있다. 상기 식별 정보에 따라 B2 픽쳐의 현재 NAL 단위는 참조 픽쳐의 슬라이스를 포함하고 있는지 확인할 필요가 있다(S420). 상기 식별 정보들에 따라 현재 NAL 단위가 베이스 픽쳐이면서 참조 픽쳐의 슬라이스를 포함하고 있는 경우, 현재 NAL 단위는 참조 베이스 픽쳐에 해당할 수 있다.
이처럼 현재 NAL 단위가 가장 낮은 퀄러티 레벨에 해당하면서 참조 픽쳐의 슬라이스를 포함하는 경우, 참조 픽쳐 마킹 과정을 거치게 된다. 참조 베이스 픽쳐는 복호 픽쳐 버퍼의 픽쳐 마킹 과정에서 추가적으로 참조 베이스 픽쳐(reference base picture)로 마킹될 수 있다. 이 때, 상기 참조 베이스 픽쳐를 저장할지 여부를 알려주는 플래그 정보를 획득할 수 있는데, 상기 플래그 정보를 획득하기 위해서는 상기 플래그 정보를 제한하는 또 다른 플래그 정보가 없어야 한다. 예를 들어, 코덱 호환을 위한 특정 신택스를 제한하는 제한 플래그 정보를 확인할 필요가 있다(S430). 상기 플래그 정보는 서브셋 시퀀스 파라미터 세트의 확장 영역으로 획득된 정보일 수 있다. 구체적 예로, 코덱 호환성을 위해 스케일러블 비디오 코딩된 비트스트림을 AVC 비트스트림으로 재작성하기 위한 제한 플래그 정보를 slice_header_restriction_flag 라 하자. 상기 제한 플래그 정보로서 슬라이스 헤더 내에 시퀀스 파라미터 세트를 참조하는 특정 신택스가 존재하는지 여부를 나타낼 수 있다. 상기 제한 플래그 정보에 기초하여 상기 현재 NAL 단위를 버퍼에 저장할지 여부를 알려주는 플래그 정보를 획득할 수 있다(S440).
또한, 상기 현재 NAL 단위를 버퍼에 저장할지 여부를 알려주는 플래그 정보 에 따라 상기 현재 NAL 단위가 저장되어 있고, 상기 현재 NAL 단위가 IDR 픽쳐가 아닌 경우에는 디코딩된 베이스 레이어의 참조 픽쳐를 마킹하는 과정을 수행할 수 있다.
상기 현재 NAL 단위를 버퍼에 저장할지 여부를 알려주는 플래그 정보에 따라 상기 현재 NAL 단위가 저장되고, 저장된 NAL 단위를 포함하는 디코딩된 픽쳐가 참조 베이스 픽쳐로 마킹되면, 상기 참조 베이스 픽쳐를 이용하여 비디오 신호를 디코딩할 수 있다(S450). 예를 들어, 상기 B2 픽쳐가 상기 플래그 정보에 따라 저장되고 참조 베이스 픽쳐로 마킹되면, 현재 픽쳐인 B4 픽쳐를 디코딩할 때 상기 B2 픽쳐를 참조 픽쳐로 이용할 수 있게 된다.
도 5는 본 발명이 적용되는 일실시예로서, 참조 베이스 픽쳐를 저장하고 마킹하기 위한 신택스 구조를 나타낸다.
도 5는 상기 도 4에서 설명한 흐름도의 기술적 사상을 신택스 구조예로 나타낸 것이다. 먼저, 슬라이스 헤더에서 퀄러티 식별 정보에 따라 현재 NAL 단위가 베이스 픽쳐에 해당되는지 여부를 확인할 필요가 있다(S510). 그리고, 현재 NAL 단위가 참조 픽쳐의 슬라이스를 포함하고 있는지를 나타내는 식별 정보(nal_ref_idc)에 따라, 현재 NAL 단위가 참조 픽쳐의 슬라이스를 포함하고 있는지 확인할 필요가 있다(S520). 상기 식별 정보들에 따라 현재 NAL 단위가 베이스 픽쳐이면서 참조 픽쳐의 슬라이스를 포함하고 있는 경우, 현재 NAL 단위는 참조 베이스 픽쳐에 해당할 수 있다. 이처럼 현재 NAL 단위가 참조 베이스 픽쳐에 해당되는 경우, 참조 픽쳐 마킹 과정을 거치게 된다(S530). 참조 베이스 픽쳐는 복호 픽쳐 버퍼의 픽쳐 마킹 과정에서 추가적으로 참조 베이스 픽쳐(reference base picture)로 마킹될 수 있다.
이 때, 상기 참조 베이스 픽쳐를 저장할지 여부를 알려주는 플래그 정보를 획득할 수 있는데, 상기 플래그 정보를 획득하기 위해서는 코덱 호환을 위한 특정 신택스를 제한하는 제한 플래그 정보를 확인할 필요가 있다(S540). 상기 플래그 정보는 서브셋 시퀀스 파라미터 세트의 확장 영역으로 획득된 정보일 수 있다. 예를 들어, 코덱 호환성을 위해 스케일러블 비디오 코딩된 비트스트림을 AVC 비트스트림으로 재작성하기 위한 제한 플래그 정보를 slice_header_restriction_flag 라 할 수 있다. 상기 제한 플래그 정보로서 슬라이스 헤더 내에 시퀀스 파라미터 세트를 참조하는 특정 신택스가 존재하는지 여부를 나타낼 수 있다. 상기 제한 플래그 정보에 따라 상기 참조 베이스 픽쳐를 저장할지 여부를 알려주는 플래그 정보를 획득할 수 있다(S550).
또한, 상기 참조 베이스 픽쳐를 저장할지 여부를 알려주는 플래그 정보에 따라 참조 베이스 픽쳐가 저장되어 있고, 상기 참조 베이스 픽쳐가 IDR 픽쳐가 아닌 경우(S560)에는 디코딩된 베이스 레이어의 참조 픽쳐를 마킹하는 과정을 수행할 수 있다(S570).
또는 참조 베이스 픽쳐가 인터 예측 과정에서 참조 픽쳐로 이용되는지, 아니면 디코딩된 픽쳐가 참조 픽쳐로 이용되는지를 나타내는 플래그 정보를 확인할 수 있다. 확인 결과, 참조 베이스 픽쳐가 참조 픽쳐로 이용되고, 상기 참조 베이스 픽쳐가 IDR 픽쳐가 아닌 경우(S560)에는 디코딩된 베이스 레이어의 참조 픽쳐를 마킹 하는 과정을 수행할 수 있다(S570).
도 6은 본 발명이 적용되는 일실시예로서, 참조 베이스 픽쳐를 저장하고 마킹하기 위한 신택스 구조를 나타낸다.
NAL 단위로 신호를 처리함에 있어서, 현재 NAL 단위에 선행하는 또 다른 NAL 단위를 이용할 수 있다. 이를 prefix NAL 이라고 한다. 상기 prefix NAL은 베이스 레이어 비트스트림과 AVC 코덱과의 호환성을 유지하면서 SVC에만 적용되는 정보를 베이스 레이어에 전달하기 위하여 이용될 수 있다. 예를 들어, 상기 도 5에서 설명한 참조 베이스 픽쳐를 저장할지 여부를 알려주는 플래그 정보를 prefix NAL에 포함시킬 수 있다. 구체적 예로, 현재 NAL 단위가 참조 픽쳐의 슬라이스를 포함하고 있는지를 나타내는 식별 정보(nal_ref_idc)에 따라, 현재 NAL 단위가 참조 픽쳐의 슬라이스를 포함하고 있는지 확인할 필요가 있다. 상기 식별 정보에 따라 현재 NAL 단위가 참조 픽쳐의 슬라이스를 포함하고 있는 경우, 참조 베이스 픽쳐를 저장할지 여부를 알려주는 플래그 정보를 획득할 수 있다.
또한, 상기 참조 베이스 픽쳐를 저장할지 여부를 알려주는 플래그 정보에 따라 참조 베이스 픽쳐가 저장되어 있고, 상기 참조 베이스 픽쳐가 IDR 픽쳐가 아닌 경우에는 디코딩된 베이스 레이어의 참조 픽쳐를 마킹하는 과정을 수행할 수 있다.
또는 참조 베이스 픽쳐가 인터 예측 과정에서 참조 픽쳐로 이용되는지, 아니면 디코딩된 픽쳐가 참조 픽쳐로 이용되는지를 나타내는 플래그 정보를 확인할 수 있다. 확인 결과, 참조 베이스 픽쳐가 참조 픽쳐로 이용되고, 상기 참조 베이스 픽쳐가 IDR 픽쳐가 아닌 경우에는 디코딩된 베이스 레이어의 참조 픽쳐를 마킹하는 과정을 수행할 수 있다.
도 7 내지 도 12는 본 발명이 적용되는 일실시예들로서, 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득하기 위한 신택스 구조를 나타낸다.
도 7의 실시예에서는 참조 베이스 픽쳐를 저장하기 위한 플래그 정보를 store_base_rep_flag 라 정의할 수 있다. 상기 플래그 정보는 슬라이스 헤더로부터 획득될 수 있다(S710). 상기 플래그 정보를 획득하기 위하여 일정한 조건이 주어질 수 있다. 예를 들어, 슬라이스 타입이 PR 이 아닌 경우를 들 수 있다. 즉, 향상된 퀄러티 레벨을 나타내는 슬라이스 타입이 아닌 경우로서, 퀄러티 레벨이 가장 낮은 경우라 할 수 있다. 또한, 코덱 호환성을 위해 현재 슬라이스의 특정 신택스를 막을지 여부를 나타내는 정보를 확인할 수도 있다. 예를 들어, 비트스트림의 포맷을 용이하게 변환시키기 위해 상기 플래그 정보를 막아줄 수 있는 다른 정보를 확인할 수 있다. 또는 코덱 호환을 위해 스케일러블 비디오 코딩된 비트스트림의 재작성을 위한 플래그 정보를 정의할 수 있다. 상기에서 살펴본 바와 같이, 슬라이스 타입이 PR이 아니면서 상기 플래그 정보에 의해 제한되지 않는 경우에, 참조 베이스 픽쳐를 저장하기 위한 상기 플래그 정보를 획득할 수 있다.
도 8의 실시예에서는 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득하기 위해, 또 다른 플래그 정보를 정의할 수 있다. 예를 들어, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지 여부를 나타내는 플래그 정보를 정의할 수 있다. 상기 플래그 정보는 인터 예측 과정에서 참조 베이스 픽쳐들이 참조 픽쳐로서 이용되는지, 아니면 디코딩된 픽쳐들이 참조 픽쳐로서 이용되는지 여부를 나타낸다. 상기 플래그 정보는 동일한 레이어 상에 있는, 즉 의존 관계를 식별해주는 정보가 동일한 NAL 단위들에 대해서는 동일한 값을 가질 수 있다. 상기 플래그 정보는 NAL 단위 헤더의 확장 영역에서 정의할 수 있다(S810).
그리고, 현재 슬라이스가 베이스 레이어에 해당하면서 퀄러티 레벨이 가장 낮은지 여부를 확인할 수 있다(S820). 현재 슬라이스가 참조 픽쳐로서 이용되는지 여부를 확인할 수 있다(S830). 또한, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지 여부를 확인하고(S840), 참조 픽쳐로서 이용되는 경우에 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다(S850). 상기 현재 NAL 단위를 버퍼에 저장하고, NAL 단위의 종류가 SVC에 관련되어 있을 경우에(S860), 상기 현재 NAL 단위를 포함하는 디코딩된 픽쳐를 참조 베이스 픽쳐로 마킹하는 과정을 수행할 수 있다(S870). 또한, 슬라이스 헤더에서도 일정한 조건하에 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다. 예를 들어, 슬라이스 타입이 향상된 퀄러티 레벨의 슬라이스를 나타내고, 퀄러티 레이어를 나누었을 때 첫번째 부분에 해당되며, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는 경우에(S880), 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다(S890).
도 9의 실시예에서는 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득하기 위해 다른 방법으로 정의할 수 있다. 예를 들어, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지 여부를 나타내는 플래그 정보와 함께 NAL 단 위 헤더의 확장 영역에서 정의할 수 있다.
도 10의 실시예에서는 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득하기 위해, 또 다른 플래그 정보를 이용할 수 있다. 예를 들어, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지 여부를 나타내는 플래그 정보를 정의할 수 있다. 상기 플래그 정보는 NAL 단위 헤더의 확장 영역에서 정의할 수 있다(S1010). 그리고, 현재 슬라이스가 베이스 레이어에 해당하면서 퀄러티 레벨이 가장 낮은지 여부를 확인할 수 있다(S1020), 현재 슬라이스가 참조 픽쳐로서 이용되는지 여부를 확인하고(S1030), 참조 픽쳐로서 이용되는 경우에 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다(S1040). 상기 현재 NAL 단위를 버퍼에 저장하고, NAL 단위의 종류가 SVC에 관련되어 있을 경우에(S1050), 상기 현재 NAL 단위를 포함하는 디코딩된 픽쳐를 참조 베이스 픽쳐로 마킹하는 과정을 수행할 수 있다(S1060). 또한, 슬라이스 헤더에서도 일정한 조건하에 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다. 예를 들어, 슬라이스 타입이 향상된 퀄러티 레벨의 슬라이스가 아니고, 코덱 호환성을 위해 현재 슬라이스의 특정 신택스를 막지 않고, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는 경우에(S1070), 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다(S1080).
도 11의 실시예에서는 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득하기 위해, 또 다른 플래그 정보를 이용할 수 있다. 예를 들어, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지 여부를 나타내는 플래그 정보를 이 용할 수 있다. 예를 들어, 슬라이스 타입이 향상된 퀄러티 레벨의 슬라이스가 아니고, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는 경우에, 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다(a). 또는 코덱 호환성을 위해 현재 슬라이스의 특정 신택스를 막지 않고, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는 경우에, 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다(b). 또는 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지만을 확인한 후, 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다(c).
도 12의 실시예에서는 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득하기 위해, 또 다른 플래그 정보를 이용할 수 있다.
예를 들어, 먼저 슬라이스 타입이 향상된 퀄러티 레벨의 슬라이스를 나타내고, 퀄러티 레이어를 나누었을 때 첫번째 부분에 해당되는지 여부를 확인할 수 있다(S1210). 그리고, 참조 베이스 픽쳐가 참조 픽쳐로서 이용되는지, 또한 현재 슬라이스의 퀄러티 레벨이 첫번째 향상된 퀄러티 레벨을 나타내는지를 확인할 수 있다(S1230). 그에 따라 현재 NAL 단위를 버퍼에 저장할지 여부를 나타내는 플래그 정보를 획득할 수 있다(S1250).
이상에서 설명한 바와 같이, 본 발명이 적용되는 디코딩/인코딩 장치는 DMB(Digital Multimedia Broadcasting)과 같은 멀티미디어 방송 송/수신 장치에 구비되어, 비디오 신호 및 데이터 신호 등을 복호화하는데 사용될 수 있다. 또한 상기 멀티미디어 방송 송/수신 장치는 이동통신 단말기를 포함할 수 있다.
또한, 본 발명이 적용되는 디코딩/인코딩 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 인코딩 방법에 의해 생성된 비트스트림은 컴퓨터가 읽을 수 있는 기록 매체에 저장되거나, 유/무선 통신망을 이용해 전송될 수 있다.