KR101087379B1 - 패킷화 방법 및 장치, 비트스트림 표현 처리 방법 및 장치와 컴퓨터 판독 가능 매체 - Google Patents

패킷화 방법 및 장치, 비트스트림 표현 처리 방법 및 장치와 컴퓨터 판독 가능 매체 Download PDF

Info

Publication number
KR101087379B1
KR101087379B1 KR1020097019860A KR20097019860A KR101087379B1 KR 101087379 B1 KR101087379 B1 KR 101087379B1 KR 1020097019860 A KR1020097019860 A KR 1020097019860A KR 20097019860 A KR20097019860 A KR 20097019860A KR 101087379 B1 KR101087379 B1 KR 101087379B1
Authority
KR
South Korea
Prior art keywords
indication
data units
data
data unit
packet
Prior art date
Application number
KR1020097019860A
Other languages
English (en)
Other versions
KR20090123908A (ko
Inventor
미스카 한누크셀라
에-귀 왕
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20090123908A publication Critical patent/KR20090123908A/ko
Application granted granted Critical
Publication of KR101087379B1 publication Critical patent/KR101087379B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

코딩된 데이터 유닛이 RTP 페이로드 혹은 파일 포맷 데이터 유닛 내에서 전달될지 혹은 처리될지를, 네트워크 미들박스나 미디어 플레이어가 결정하는 데 도움이 되는, 정보를 액세스 용이한 방식으로 배송하는 시스템 및 방법을 제공한다. 이 매커니즘은 리던던트 코딩된 픽쳐, 시간 레벨 전환 포인트, 점진적 디코딩 리프레쉬 액세스 포인트, 뷰의 표시자, 및 뷰 랜덤 액세스 포인트와 같은 아이템의 표시를 제공하는 데 사용될 수 있다. 미들박스 및/또는 수신기는 이 정보를 이용해서 특정 코딩된 데이터 유닛이 처리되어야 할지 및/또는 전송되어야 할지를 결정할 수 있다.

Description

패킷화 방법 및 장치, 비트스트림 표현 처리 방법 및 장치와 컴퓨터 판독 가능 매체{BACKWARD-COMPATIBLE CHARACTERIZATION OF AGGREGATED MEDIA DATA UNITS}
본 발명은 전반적으로 비디오 전송 및 저장에 관한 것이다. 상세하게는 본 발명은, 코딩된 데이터 유닛이 전달(forward)되어야 하는지 혹은 처리(process)되어야 하는지를 유닛이 결정하는 것을 돕는 정보를 제공하는 것에 관한 것이다.
이 단락에서는, 청구항에 개시된 발명에 대한 배경 기술 혹은 맥락이 제공된다. 여기에 기술되는 것이 본 발명이 추구하고자 하는 개념을 포함할 수 있지만, 이것이 반드시 이전에 상정된 혹은 추구된 개념이라고는 할 수 없다. 따라서, 특별히 다른 언급이 없는 한, 이 단락에서 설명되는 것은 이 출원의 상세한 설명 및 청구항의 종래의 기술이 아니며, 이 단락에 포함되어 있다고 해서 종래의 기술로서 인정된다는 것은 아니다.
AVC(Advanced Video Coding)는 H.264/AVC로도 알려져 있으며, 이는 VCEG(ITU-T Video Coding Expert Group)과 ISO/IEC MPEG(Motion Picture Expert Group)의 JVT(Joint Video Team)에 의해 개발된 비디오 코딩 표준이다. AVC는 VCL(a Video Coding Layer) 및 NAL(a Network Abstraction Layer)의 개념을 포함한다. VCL은 코덱의 신호 처리 기능 - 변환, 양자화, 움직임 보상 예측(motion-compensated prediction) 및 루프 필터와 같은 메커니즘 - 을 포함한다. 코딩된 픽쳐는 하나 이상의 슬라이스로 이루어진다. NAL은 VCL에 의해 생성된 각각의 슬라이스를 하나 이상의 NAL 유닛으로 캡슐화한다. NAL 유닛은 NAL 유닛 헤더 및 NAL 유닛 페이로드로 이루어진다. NAL 유닛 헤더는 무엇보다, NAL 유닛이, 코딩된 슬라이스, 코딩된 슬라이스 데이터 파티션, 시퀀스 혹은 픽쳐 파라미터 세트 등을 포함하고 있는지 여부를 나타내는 NAL 유닛 타입을 포함한다. NAL 유닛 스트림이란 간단히 복수의 NAL 유닛을 연결한 것이다. H.264/AVC 혹은 예컨대, SVC와 같은 그 확장판에 따른 인코딩된 비트스트림은 NAL 유닛 스트림이거나, 혹은 NAL 유닛 스트림 내의 각각의 NAL 유닛의 선두에 개시 코드를 붙인 바이트 스트림 중 하나이다.
SVC(Scalable Video Coding)는 스케일러블 비디오 비트스트림을 제공한다. 스케일러블 비디오 비트스트림은 비-스케일러블(non-scalable)의 기본 레이어와 하나 이상의 향상 레이어(enhancement layers)를 포함하고 있다. 향상 레이어는 그 하위 레이어에 의해 나타나는 비디오 컨텐츠의 시간적인 해상도(즉, 프레임 레이트)나, 공간적인 해상도나, 품질, 혹은 그 일부를 향상시킬 수 있다. AVC의 SVC 확장판에서는, VCL 및 NAL 개념을 이어받고 있다.
MVC(Multi-view Video Coding)은 AVC의 다른 확장판이다. MVC 인코더는 다수의 카메라가 촬상한 동일한 장면의 입력 비디오 시퀀스(이른바, 상이한 뷰(different views))를 취해서, 모든 코딩된 뷰를 포함하는 하나의 비트스트림을 출력한다. MVC도 VCL 및 NAL 개념을 이어받고 있다.
RTP(실시간 전송 프로토콜:Real-time Transport Protocol)은 오디오 및 비디오와 같은 시간화된(timed) 미디어의 실시간 전송에 널리 사용되고 있다. RTP 전송에 있어서, 미디어 데이터는 다수의 RTP 패킷으로 캡슐화된다. AVC 비디오의 RTP 전송을 위한 RTP 페이로드 포맷은 IETF RFC(Request for Comments) 3984에 명시되어 있으며, 이는 www.rfc-editor.org/rfc/rfc3984.txt으로부터 입수할 수 있고, 그 내용은 여기에 참조로서 포함된다. RTP를 사용한 AVC 비디오 전송에서, RTP 패킷은 각각 하나 이상의 NAL 유닛을 포함한다.
IETF RFC 3984에는 다양한 패킷화 모드가 개시되어 있으며, 그 중 하나가 인터리브 모드이다. 인터리브 패킷화 모드가 사용되는 경우에, 하나 이상의 액세스 유닛 중 NAL 유닛이 RTP 패킷으로 패킷화될 수 있다. RFC 3984에는 RTP 스트림으로 배송되는 NAL 유닛의 디코딩 순서를 나타내는 DON(decoding order number)의 개념도 명시하고 있다.
SVC RTP 페이로드 포맷 드래프트, 즉 draft-wenger-avt-rtp-svc-03의 인터넷-드래프트(http://www.tools.ietf.org/html/drafit-wenger-avt-rtp-svc-03로부터 입수 가능함)에는, 새로운 NAL 유닛 타입, 즉 PACSI(a payload content scalability information) NAL 유닛이 명시되어 있다. 이 PACSI NAL 유닛은, 존재한다면, 통합 패킷(aggregation packet)의 첫번째 NAL 유닛이며, 다른 타입의 패킷에는 존재하지 않는다. PACSI NAL 유닛은 페이로드 내의 나머지 모든 NAL 유닛에 공통인 스케일러빌리티 특성을 나타내며, 이로써 MANE(a media aware network element)는 통합 패킷의 전달/처리/폐기 여부를 더 쉽게 결정할 수 있다. 송신기는 PACSI NAL 유닛을 생성할 수 있다. 수신기는 PACSI NAL 유닛을 무시할 수도 있고, 혹은 이를 효율적인 통합 패킷 처리를 가능하게 하는데 힌트로서 사용할 수도 있다. 통합 패킷의 첫번째 통합 유닛이 PACSI NAL 유닛을 포함하는 경우에는, 같은 패킷에 적어도 하나의 추가 통합 유닛이 존재한다. RTP 헤더 필드는 통합 패킷의 나머지 NAL 유닛에 따라 설정된다. PACSI NAL 유닛이 멀티-타임 통합 패킷에 포함되는 경우에는, PACSI NAL 유닛의 디코딩 순서 번호는 PACSI NAL 유닛이 통합 패킷의 NAL 유닛 중 디코딩 순서상 첫번째인 NAL 유닛이라는 것을 나타내거나, 혹은 PACSI NAL 유닛이 통합 패킷의 나머지 NAL 유닛 중 디코딩 순서상 첫번째인 NAL 유닛과 동일한 디코딩 순서 번호를 갖고 있다는 것을 나타내도록 설정된다.
일반적으로, 여러가지 목적으로, 어떤 NAL 유닛이 전달(forward) 및/또는 처리(process)되어야 할지를 결정할 필요가 있다. 예컨대, 다자간 비디오 회의와 같은 다중점 실시간 통신 시스템에서는, 예컨대, 수신기의 수가 많은 경우, 혹은 수신기가 송신기에 통지하지 않고 멀티포인트 세션에 조인할 수 있는 경우에는, 송신기가 모든 수신기의 성능을 알 수는 없다. 가능하다면, 가장 약한 수신기의 성능에 따라 송신기의 성능을 제한해서는 안되는데, 이는, 다른 수신기에 제공될 수 있는 경험의 품질을 제한하기 때문이다. 결과적으로, MCU(a multipoint control unit)와 같은 미들박스(a middlebox)가, 멀티미디어 회의에서, 전송받는 스트림을 수신기 성능에 따라서 효율적으로 조정할 수 있는 것이 바람직할 것이다.
이와 같은 결정을 행하는 다른 상황으로는, H.264/AVC 규격 베이스 레이어나 SVC 혹은 MVC 비트스트림의 뷰와 같은, 스트림의 서브셋만을 각각 디코딩할 수 있는 디바이스나 소프트웨어를 이용해서 파일이 재생되는 경우가 있다. 따라서 NAL 유닛의 서브셋만이 처리될 필요가 있다. 미디어 플레이어에 의해 재생되는 비디오 데이터는 파일 포맷 컨테이너에 따른 포맷 혹은 RTP 스트림의 포맷이 될 수 있다. 두가지 경우 모두, 어떤 NAL 유닛이 미디어 플레이어에 의해 처리되어야 하는지 결정하는데 도움이 되는 모든 정보에 용이하게 액세스하는 것이 바람직하다.
MPEG 문헌 N8663과 같은, SVC 파일 포맷 드래프트 표준은 다수의 NAL 유닛을 하나의 통합 NAL 유닛으로 통합하는 것을 지원한다. 이는 미래의 MVC 파일 포맷에서도 지원받을 것으로 예상된다. 통합 NAL 유닛은 (그 길이로 표시되는 크기 내에서) 그 안의 NAL 유닛을 포함해서 통합할 수도 있고, 혹은 그 뒤에 이어지는 NAL 유닛을 참조해서 통합할 수도 있다(그 안의 additional_bytes 필드에 표시되는 영역 내에서). 이 스트림이 AVC 파일 판독기에 의해 스캐닝될 때는, 포함된 NAL 유닛만이 통합기 '내에 있는 것'으로 간주된다. 이로써, 예컨대, AVC 파일 판독기는 불필요한 SVC 혹은 MVC NAL 유닛의 세트 전체를 스킵할 수 있다. SVC NAL 유닛이란, NAL 유닛 타입값이 AVC 사양에 의해 유보(reserve)되어 있는 SVC 특정 NAL 유닛이다. MVC NAL 유닛이란 NAL 유닛 타입 값이 AVC 사양에 의해 유보되어 있는 MVC 특정 NAL유닛이다. 유사하게, AVC NAL 유닛이 참조로 통합되는 경우에, AVC 판독기는 이들을 스킵하지 않고, 이들은 그 판독기 스트림 내에 남는다. 이 통합 메커니즘은, 미디어 플레이어가 NAL 유닛을 처리할지 결정하기 위해서 필요한 정보에 액세스하는 것을 더 복잡하게 한다.
이러한 결정을 행하는 또 다른 상황은, 스케일러블 혹은 멀티-뷰 스트림을 수신하는 최종 사용자가 디코딩하고 렌더링하고자 하는 레이어나 뷰를 각각 전환하는 것으로 결정하는 경우이다. 대응하는 요청은 예컨대, SIP(Session Identification Protocol) 혹은 RTSP(Real-Time Streaming Protocol)를 통해서 전송된다. 이에 응답해서, 서버 혹은 미들박스와 같은, 이 요청의 수신부는 전달될 레이어 혹은 뷰를 선택할 것이다. 전송된 레이어 혹은 뷰가 도중에 변하는 것은, 레이어간(inter-layer) 및 뷰간(inter-view) 예측으로 인해서, 바람직하지 않을 수 있으며, 그 이유는 다음과 같다. (1) 일부 레이어간 및 뷰간 기준이 그 디코더에 존재하지 않아서, 결과로 나온 스트림이 표준-규격이 아닐 수 있다. (2) 전송된 데이터의 일부가 디코딩될 수 없어서 수신기에서 사용되지 못할 수 있다. (3) 디코딩 불가능한 데이터가 채널의 비트레이트를 낭비시켜서 전송 지연을 증가시키는 것은 물론 혼잡이나 패킷 손실을 유발할 수 있다. 따라서 송신기는 다음으로 가능한 레이어-전환 혹은 뷰-전환 위치로부터의 요청에 응답해야 한다.
또한, 리던던트 픽쳐가, 대응하는 주요 코딩된 픽쳐가 손상되었을 때, 전송 에러로부터 복원할 수 있는 메커니즘을 시스템에 제공한다는 점에 주목한다. 그러나, 리던던트 픽쳐 그 자체가 정확하게 디코딩될 수 없는 경우, 대응하는 주요 코딩된 픽쳐가 정확하게 디코딩될 수 없는 경우 혹은 수신기에서 리던던트 픽쳐의 디코딩을 지원하지 않는 경우에는, 리던던트 픽쳐를 전송하는 것은 불필요하다. 따라서, 몇가지 경우에는 송신기 혹은 미들박스는 리던던트 픽쳐 혹은 그 일부의 전송을 생략할 수 있다. 그 첫번째 경우는, 리던던트 픽쳐의 기준 픽쳐가 정확하게 디 코딩되지 않는 경우이다. 이는 예컨대, 일반적인 RTP/AVPF(RTP audio-Visual Profile With Feedback)의 NACK 피드백이나 슬라이스 손실 표시 피드백에 기인한 것이 될 수 있다. 그 두번째 경우는, 리던던트 픽쳐가 미들박스에 도달했을 때 일체화되지 않은 경우로, 즉, 리던던트 픽쳐의 한 슬라이스가 송신기와 미들박스 사이의 채널에서 손실된 경우이다. 이는 들어오는 패킷의 RTP 시퀀스 번호 및 손실된 패킷 앞 및 뒤의 RTP 패킷의 내용에 기초해서 미들박스에서 판단될 수 있다. 그 세번째 경우는 신뢰할 수 있는 통신 프토토콜이 전송에 사용된 경우, 손상된 주요 코딩된 픽쳐를 선택적으로 재전송하기에 충분한 시간이 존재된 경우, 혹은 네트워크 상태가 손실이 없는 것으로 검출될 때이다. 네번째 경우는, 예컨대 수신기가 리던던트 픽쳐를 지원받지 못했다고 - 지원되는 프로파일을 통해서 암시적으로, 혹은 redundant-pic-cap MIME/SDP 파라미터를 이용해서 명시적으로 - 시그널링할 때이다.
NAL 유닛이 전달되어야 할지 및/또는 처리되어야 할지 결정하는 또 다른 상황은, 혼잡을 피하기 위해서, 또는 네트워크 혹은 클라이언트 버퍼를 조정하기 위해서, 전송되는 비트레이트를 병목 링크의 처리 성능에 따라서 트림(trim)하도록 비트레이트 적응이 요구되는 경우이다. 이 경우에, 송신기 혹은 미들박스는 어느 NAL 유닛이 전송되지 않을지 정교한 판정을 행해야 한다. 미디어-인식 게이트웨이 혹은 RTP 믹서(예컨대, MCU, 회선-교환 비디오 폰과 패킷-교환 비디오 폰 사이의 게이트웨이, PoC 서버, DVB-H 시스템에서의 IP 캡슐화기 혹은 홈 무선 네트워크로 국부적으로 브로드캐스트 전송하는 셋톱 박스가 될 수 있다)의 기능 중 하나는 우 세한 다운링크 네트워크 상태에 따라서 전달되는 스트림의 비트레이트를 제어하는 것이다. 패킷 혹은 패킷 중 용이하게 식별된 부분을 간단히 드롭시킴으로써, 전달되는 데이터 레이트를, 대규모의 들어오는 데이터를 처리하지 않고도 제어하는 것이 바람직하다.
H.264/AVC 및 SVC RTP 페이로드 포맷의 비-인터리브 패킷화 및 인터리브 패킷화 모드를 이용하는 경우에, 그 패킷에 포함되어 있는 각각의 NAL 유닛이 시험될 때, 그 패킷에 포함된 NAL 유닛의 공통 특성 중 일부만이 식별될 수 있을 뿐이다. 이 시험은 NAL 유닛의 부분적인 디코딩을 필요로 한다. 예컨대, 시간적(temporal) 레벨 전환 포인트를 찾기 위해서는 SEI(sub-sequence information) 메시지가 디코딩되어야 하고, 코딩된 슬라이스가 주요 코딩된 픽쳐에 속하는지 아니면 리던던트 코딩된 픽쳐에 속하는지 알기 위해서는 코딩된 슬라이스 헤더가 디코딩되어야 한다.
통상적으로, 미들박스는 전체 픽쳐 혹은 픽쳐 시퀀스를 드롭시켜서 최종 스트림이 유효 상태를 유지하게 한다. H.264/AVC RTP 페이로드 사양의 인터리브 패킷화 모드는 일부 액세스 유닛의 일부 NAL 유닛을 같은 RTP 페이로드(이른바 통합 패킷)으로 실질적으로 캡슐화하는 것을 가능하게 한다. 상세하게는, 하나의 RTP 페이로드 내의 전체 코딩된 픽쳐를 캡슐화할 필요는 없으며, 오히려 코딩된 픽쳐의 NAL 유닛이 다수의 RTP 패킷으로 분할될 수 있다. 이러한 자유도가 많은 애플리케이션에서 유용할 수 있지만, 미들박스의 동작에 있어서는 다음과 같은 복잡성을 유발한다. 첫번째로, 통합 패킷이 주어졌을 때, 그 통합 패킷에 포함된 각각의 NAL 유닛 의 헤더를 파싱(parse)하기 전까지는 그 NAL 유닛이 어느 픽쳐에 속하는지 알 수 없다. 따라서, 인터리브 패킷화 모드가 적용되면, 각각의 통합 유닛 헤더 및 NAL 유닛 헤더가 파싱되어야 이들을 정확한 픽쳐로 매핑시킬 수 있다. 리던던트 픽쳐가 제공되면, 슬라이스 헤더에 대한 파싱이 추가로 요구된다. 두번째로, 같은 액세스 유닛의 일부 다른 NAL 유닛이 존재하지 않으면, NAL 유닛의 특성을 식별할 수 없다. 예컨대, 코딩된 슬라이스가 무작위로 액세스될 수 있는 액세스 유닛의 일부인지 알기 위해서는, 액세스 유닛에 대한 복원 포인트 SEI 메시지가 먼저 수신되어서 복호되어야 한다.
따라서, 코딩된 데이터 유닛이 전송되어야 할지 및/또는 처리되어야 할지를 네트워크 미들박스 혹은 미디어 플레이어가 결정하는데 기초가 될 수 있는, 용이하게 액세스 가능한 정보가 전송 패킷이나 파일 포맷 통합 NAL 유닛에 마련되어야 한다. 여기에 참조로서 포함되는, 2007년 1월 11일에 출원된 미국 특허 출원 제 11/622,430 호는, 간접(indirect) 통합 NAL 유닛에 후속하는 특정 NAL 유닛의 스케일러빌리티 특성을 나타내는, SVC 파일 포맷 및 RTP 페이로드 포맷용 간접 통합 NAL 유닛을 개시하고 있다. 그러나, 전송 패킷에 포함된 코딩된 데이터 유닛이 (1) 리던던트 픽쳐의 일부인지, (2) 시간 레벨 전환 포인트의 일부인지, (3) 뷰 랜덤 액세스 포인트의 일부인지, (4) IDR(instantaneous decoding refresh) 픽쳐가 아닌 랜덤 액세스 포인트의 일부인지, (5) 뷰 식별자에 의해 식별된 특정 뷰의 픽쳐의 일부인지를 포함한, SVC의 스케일러빌리티(scalability) 정보에 대한 특성은 고려되고 있지 않다.
본 발명의 다양한 실시예는, RTP 페이로드 혹은 파일 포맷 데이터 유닛 내에서 어느 코딩된 데이터 유닛을 전달할지 혹은 처리할지를, 네트워크 미들박스나 미디어 플레이어가 결정하는 데 도움이 되는, 정보를 액세스 용이한 방식으로 배송하는 시스템 및 방법을 제공한다. 본 발명의 다양한 실시예에서, 이 매커니즘은 리던던트 코딩된 픽쳐, 시간 레벨 전환 포인트, 점진적 디코딩 리프레쉬 액세스 포인트, 뷰 식별자, 및 뷰 랜덤 액세스 포인트와 같은 아이템의 표시를 제공하는 데 사용될 수 있다. 미들박스 및/또는 수신기는 이 정보를 이용해서, 특정 코딩된 데이터 유닛이 처리되어야 할지 및/또는 전송되어야 할지 결정할 수 있다. 또한, 비계층형(non-layered) 단일-뷰의 비트스트림에 대한 랜덤 액세스 포인트와 같은 아이템의 표시 및 픽쳐 타입 표시가 제공될 수도 있다.
본 발명의 다양한 실시예는 비디오 시퀀스의 인코딩된 표현을 패킷화하는 방법, 컴퓨터 프로그램 제품 및 장치를 제공하며, 여기서 복수의 데이터 유닛이 하나의 패킷으로 패킷화된다. 복수의 데이터 유닛 중 제 1 데이터 유닛은 인코딩된 비트스트림의 적어도 일부를 포함하고, 복수의 데이터 유닛 중 제 2 데이터 유닛은 인코딩된 비디오 중 일부의 컨텐츠를 요약한 정보를 포함하고 있다. 제 2 데이터 유닛은 제 1 패킷 내의 복수의 데이터 유닛의 다른 어떤 데이터 유닛보다 앞에 위치된다.
본 발명의 다양한 실시예는 비디오 시퀀스의 패킷화된 비트스트림 표현을 처리하는 방법, 컴퓨터 프로그램 제품 및 장치를 제공한다. 복수의 데이터 유닛은 제 1 패킷으로부터 판독되며, 여기서 복수의 데이터 유닛 중 제 1 데이터 유닛은 인코딩된 비트스트림의 적어도 일부를 포함하고, 복수의 데이터 유닛 중 제 2 데이터 유닛은 인코딩된 비디오의 일부의 컨텐츠를 요약한 정보를 포함하고 있다. 제 2 데이터 유닛은 제 1 패킷 내의 복수의 데이터 유닛의 다른 어떤 데이터 유닛보다 앞에 위치된다. 복수의 데이터 유닛은 제 2 데이터 유닛에 포함된 정보에 기초해서 처리된다.
본 발명의 구성 및 동작 방식, 그리고 그 이점 및 특징은, 첨부된 도면을 참조할 때, 이하의 상세한 설명으로부터 자명할 것이며, 도면 중 동일한 구성 요소는 동일한 참조 번호로 표시했다.
도 1은 본 발명을 사용한 일반적인 멀티미디어 통신 시스템을 도시하는 도면,
도 2는 본 발명을 실시할 때 사용될 수 있는 전자 장치의 사시도,
도 3은 도 2에 도시된 전자 장치 내의 소자 회로를 개략적으로 도시한 도면이다.
본 발명의 다양한 실시예는, RTP 페이로드 혹은 파일 포맷 데이터 유닛 내에 서 어떤 코딩된 데이터 유닛을 전송할지 혹은 처리할지를, 네트워크 미들박스나 미디어 플레이어가 결정하는 데 도움이 되는 정보를, 액세스 용이한 방식으로 배송하는 시스템 및 방법을 제공한다. 본 발명의 다양한 실시예에서, 이 매커니즘은 적어도 다음과 같은 아이템의 표시를 제공하는 데 사용될 수 있다.
리던던트 코딩된 픽쳐의 표시. 이 표시는 통합된 리던던트 코딩된 슬라이스의 디코딩에 필요한 기준 픽쳐의 리스트와 통합된 리던던트 코딩된 슬라이스의 공간적인 커버리지의 표시를 수반할 수 있다. 단 하나의 리던던트 코딩된 픽쳐의 슬라이스가 통합되어서 특징화되는 경우가 몇가지 있다.
시간 레벨 전환 포인트의 표시. 시간적 레벨 전환 포인트 이전에 하위의 시간적 레벨의 픽쳐만이 디코딩된 경우에는, 디코더는 시간적 레벨 전환 포인트부터 시작해서, 같은 시간적 레벨을 가진 모든 후속하는 코딩된 픽쳐를 정확하게 디코딩할 수 있다. 이 표시는 예컨대, 시간적 레벨의 전환을 가능하게 하기 위해서 정확하게 디코딩되어야 하는, frame_num의 값으로 표시되는, 기준 픽쳐의 리스트를 수반할 수 있다. 전형적으로 디코딩된/전달된 시간 레벨의 수를 드롭시키는 것은 어떤 포인트에서도 가능하다는 점에 주의한다.
점진적 디코딩 리프레쉬 액세스 포인트의 표시. 디코더가 이러한 포인트에서 디코딩을 시작하면, 픽쳐 컨텐츠는 다수의 연속 픽쳐에 대해서 점진적으로 수정될 것이다. 어떤 실시예에서, 이 표시는 내용이 정확한 픽쳐를 획득하기 위해 디코딩이 요구되는 픽쳐 혹은 패킷의 카운트를 수반할 것이다.
뷰의 표시. 이 표시는 통합된 NAL 유닛이 속하는 뷰(예컨데, 뷰 ID로서)를 시그널링한다.
뷰 랜덤 액세스 픽쳐의 표시. 뷰간 예측으로 인해서, 임의의 포인트에서 뷰의 디코딩을 개시하는 것은 불가능하다. 따라서 이 표시는, 디코더가 이 위치부터 디코딩을 시작할 수 있다는 것을 시그널링할 때 사용된다. 이 표시는 내용이 정확한 픽쳐를 획득하기 위해서 디코딩이 요구되는 픽쳐 혹은 패킷의 카운트를 수반할 수 있다. 다른 타입의 뷰 랜덤 액세스 포인트가 2006년 10월 16일에 출원된 미국 가출원 제 60/852,223 호에 개시되어 있으며, 이는 여기에 참조로서 포함된다.
본 발명의 다양한 실시예에서, 미국 특허 출원 제 11/622,430 호에 개시된 간접 NAL 유닛 통합 메커니즘이 상술한 표시를 배송하는 메커니즘으로서 사용된다. 또한, 다른 표시에 대해서도 같은 통합 메커니즘이 사용될 수 있다. 예컨대, 이 메커니즘은 비계층형 단일-뷰 비트스트림의 랜덤 액세스 포인트 표시(오픈 및 클로스 GOP(groups of pictures)) 및 픽쳐 타입 표시(예컨대, 인트라 픽쳐, 비-기준 픽쳐)에도 사용될 수 있다.
본 발명의 다양한 실시예 중 하나가, 특히 SVC 및 MVC의 RTP 페이로드 포맷과 관련되어 후술된다. 이 실시예에서, 미국 특허 출원 제 11/622,430호에 개시된 PACSI(payload content scalability information) NAL 유닛은 추가적인 타입의 정보를 포함하도록 확장된다. PACSI NAL 유닛의 헤더는 변함이 없다. 이와 달리, 다음에 나올 MVC NAL 유닛 헤더가 SVC NAL 유닛 헤더의 상위 집합인 경우에는 특히, PACSI NAL 유닛 헤더는 다음에 나올 MVC NAL 유닛 헤더와 일치하도록 수정될 수 있다. MVC NAL 유닛 헤더의 현재 드래프트는, nal_unit_header_svc_mvc_extension 신 텍스 구조로 된 2006년 10월의 JVT 회의의 트래프트판(http://ftp3.itu.ch/av-arch/jvt-site/2006_10_Hangzhou/JVT-U209.zip로부터 입수할 수 있으며, 여기에 참조로 포함됨)에서 입수할 수 있다. 다른 방안으로, 여기 설명되는 정보를 표시하기 위해서 밸류 31과 같은 다른 NAL 유닛 타입이 사용될 수 있다.
이하는 PACSI NAL 유닛의 예를 예컨대, SVC 및 MVC 모두에 대한 예시적인 RTP 페이로드 포맷과 관련해서 나타낸다.
PACSI NAL 유닛은 1바이트 NAL 유닛 헤더, 1바이트 컨텐츠 정보(CI) 헤더 및 가변 길이 CI 페이로드로 이루어진다. 1바이트 NAL 유닛 헤더는 이하 설명되는 바와 같이 F, NRI 및 Type 필드를 포함한다.
Figure 112009058386407-pct00001
PACSI NAL 유닛에서 필드의 값은 이하와 같이 설정된다. 페이로드 내의 적어도 하나의 나머지 NAL 유닛의 F 비트가 1이면, F 비트는 1로 설정된다. 그렇지 않으면, F 비트는 0으로 설정된다. NRI 필드는 페이로드 내의 나머지 모든 NAL 유닛 중에서 NRI 필드의 최고값으로 설정된다. 타입 필드는 30으로 설정된다.
CI 헤더는 이하와 같이 다른 타입의 컨텐츠 정보가 존재하는지를 나타내는 플래그를 포함한다.
Figure 112009058386407-pct00002
S 비트가 1이면, 이하에 도시된 draft-wenger-avt-rtp-svc-03의 인터넷 드래프트(www.tools.ietf.org/html/draft-wenger-avt-rtp-svc-03에서 입수할 수 있으며, 이는 여기에 참조로서 포함됨)에 명시된 것과 동일한 컨텐츠 스케일러빌리티 정보가 존재한다는 것을 나타낸다.
Figure 112009058386407-pct00003
M 비트가 1이면, 이하의 멀티-뷰 컨텐츠 정보가 CI 페이로드에 존재한다.
Figure 112009058386407-pct00004
R 비트는 예약(유보)되어 있다. TL(시간 레벨)은 RTP 페이로드의 나머지 NAL 유닛 중에서 TL 필드의 최저값으로 설정된다. VL(뷰 레벨)은 RTP 페이로드의 나머지 NAL 유닛 중에서 VL 필드의 최저값으로 설정된다.
A(anchor_pic_flag)는 RTP 페이로드의 나머지 NAL 유닛 중에서 A 필드의 최고값으로 설정된다. 결과적으로, A 비트값이 1이면, RTP 페이로드가 앵커 픽쳐와 관련된 적어도 하나의 NAL 유닛을 포함한다는 것을 나타낸다. A 비트 값이 0이면, RTP 페이로드는 앵커 픽쳐와 관련된 NAL 유닛을 포함하지 않는다는 것을 나타낸다.
num_views는 후속하는 view_id 신텍스 요소의 수를 나타낸다. num_views는 RTP 페이로드의 나머지 NAL 유닛 중 view_id의 상이한 값의 수를 나타내는 값으로 설정된다.
view_id의 각각의 값은 RTP 페이로드의 나머지 NAL 유닛 중에 view_id가 존 재한다는 것을 나타낸다. view_id의 값이 CI 페이로드에 복제될 필요는 없다. 현재, MVC 사양에서 view_id의 값은 10비트의 비부호형(unsigned) 정수이며, 이는 CI 페이로드에서는 16비트의 비부호형 정수로 변환된다.
본 발명의 일 실시예에서, num_views 필드는 존재하지 않으며, 오직 하나의 view_id 값만이 멀티-뷰 컨텐츠 정보에 포함된다. 결과적으로, PACSI NAL 유닛을 포함하는 RTP 패킷은 오직 하나의 뷰로부터 코딩된 데이터를 포함한다.
CI 헤더의 R 비트는 리던던트 코딩된 픽쳐 정보의 존재를 나타낸다. R 비트가 1이면, RTP 페이로드는 1차(primary) 코딩된 픽쳐의 어떤 NAL 유닛도 포함하지 않는다. R 비트에 대응하는 어떤 CI 페이로드도 존재하지 않는다.
CI 헤더의 A 비트는 이하와 같이 랜덤 액세스 포인트의 존재를 나타낸다. A 비트가 1이고, S 비트가 0이며, M 비트가 0이면, RTP 페이로드는 recovery_frame_cnt 신텍스 요소의 값이 0이라는 복원 포인트 SEI 메시지와 관련된 IDR 픽쳐 혹은 인트라 픽쳐에 속하는 NAL 유닛을 포함한다. A 비트 및 S 비트가 1이면, RTP 페이로드는 SVC의 IDR 픽쳐에 속하는 NAL 유닛을 포함한다. A 비트 및 M 비트가 1이면, RTP 페이로드는 MVC의 뷰 랜덤 액세스 픽쳐(IDR 픽쳐 혹은 앵커 픽쳐)에 속하는 NAL 유닛을 포함한다.
CI 헤더의 T 비트는 시간 레벨 전환 포인트의 존재를 나타낸다. T 비트가 1이면, S 비트 혹은 M 비트도 1이 되어야 한다. T 비트가 1이면, 후속하는 시간 레벨 정보가 CI 페이로드에 존재한다.
Figure 112009058386407-pct00005
전송 순서상 적어도 시간 레벨(TLT-1) 이전의 시간 레벨 전환 포인트 이후에, 시간 레벨(TLT-1)이 이전에 디코딩되었을 때, TLT 이하의 시간 레벨을 포함하는 모든 패킷이 이 포인트로부터 디코딩되는 경우에는, TLT 신텍스 요소는, 전환될 수 있는 시간 레벨을 나타낸다. 이와는 달리, 위에 설명된 바와 같은 조건하에서 전환될 수 있는 다수의 temporal_level 값을 나타내도록 다수의 TLT 값을 포함할 수 있다.
Reserved 필드의 비트는 유보된다. CI 헤더의 RES 필드의 비트도 유보된다. CI 헤더의 비-유보 비트 중 하나 이상이 1로 설정되면, CI 페이로드 신텍스 구조는 CI 헤더에서 대응하는 비트가 나타나는 순서로 나타난다.
이하는 본 발명의 다양한 실시예 중 다른 실시예가 특히 SVC의 RTP 페이로드 포맷과 관련되어서 설명된다. 이 실시예에서, 미국 특허 출원 제 11/622,430 호에 개시된 페이로드 컨텐츠 스케일러빌리티 정보(PACSI) NAL 유닛은 다음과 같은 하나 이상의 8자리를 추가하도록 확장된다.
Figure 112009058386407-pct00006
타겟 NAL 유닛을 포함하는 모든 코딩된 픽쳐가 앵커 픽쳐이면 R 필드는 1로 설정된다. 그렇지 않은 경우에는 비트 R은 0으로 설정된다. 타겟 NAL 유닛은 통합 패킷에 포함되지만 PACSI NAL 유닛에는 들어가지 않는, 즉 통합 패킷 내에서 PACSI NAL 유닛에 후속하는 첫번째 NAL 유닛이 속하는 액세스 유닛 내에 있는, NAL 유닛이다. 어떤 픽쳐로부터 레이어의 디코딩이 개시되는 경우에, 출력 순서로 봤을 때 그 레이어에서의 그 픽쳐에 후속하는 모든 픽쳐가 정확하게 디코딩될 수 있다면, 이 픽쳐를 앵커 픽쳐라고 한다. 앵커 픽쳐는 앵커 픽쳐가 속하는 레이어로의 랜덤 액세스 포인트이다. 그러나, 디코딩 순서로는 앵커 픽쳐에 후속하지만 출력 순서로는 앵커 픽쳐에 선행하는 픽쳐는, 앵커 픽쳐에서 랜덤 액세스가 수행되는 경우에는, 그 앞의 픽쳐를 참고해서 정확하게 디코딩될 수 없다.
타겟 NAL 유닛(위에 정의된 바와 같은)을 포함하는 모든 코딩된 픽쳐가 시간 스케일러블 레벨 전환 포인트인 경우에, T 필드는 1로 설정된다. 그렇지 않으면 비트 T는 0으로 설정된다. 시간 스케일러블 레벨 전환 포인트의 경우에, 디코딩 순서상 전환 포인트 및 그 이후의 동일한 temporal_level의 값을 가진 모든 코딩된 픽쳐는, 디코딩 순서상 전환 포인트에 선행하는 동일한 temporal_level의 값을 가진 어떤 코딩된 픽쳐도 참고하지 않는다.
타겟 NAL 유닛(위에 정의된 바와 같은)을 포함하는 모든 코딩된 픽쳐가 리던던트 픽쳐인 경우에, D 필드는 1로 설정된다. 그렇지 않으면 D 필드는 0으로 설정된다. 타겟 NAL 유닛(위에 정의된 바와 같은)을 포함하는 모든 코딩된 픽쳐 중 가장 큰 dependency_id의 값을 가진 픽쳐가 인트라 코딩된 픽쳐인 경우에, I 필드는 1로 설정되며, 즉 코딩된 픽쳐는 같은 레이어의 디코딩 순서상 이전에 코딩된 어떤 픽쳐도 참조하지 않는다. RES 필드는 0으로 설정된다.
또한, PACSI NAL 유닛의 표시를 위한 필드를 보내는 것은 가능하지 않고, 그 대신 RTP 패킷의 임의의 NAL 유닛 앞의 페이로드 구조 내에 이를 직접 추가할 수는 있다.
SVC 및 MVC 파일 포맷의 경우에, 이 표시는 통합 NAL 유닛 내의 추가 필드에 의해 배송될 수 있다. 다른 실시예에서, 제안된 통합 NAL 유닛의 추가 필드 및 다른 시멘틱스는 위에 설명된 다른 실시예의 PACSI NAL 유닛의 시멘틱스의 필드와 유사하다.
도 1은 본 발명을 사용한 전반적인 멀티미디어 통신 시스템을 도시한다. 도 1에 도시된 바와 같이, 데이터 소스(100)는 아날로그 포맷, 압축되지 않은 디지털 포맷 또는 압축된 디지털 포맷, 혹은 이들 포맷의 임의의 조합으로 소스 신호를 제공한다. 인코더(110)는 소스 신호를 코딩된 미디어 비트스트림으로 인코딩한다. 인코더(110)는 오디오 및 비디오와 같은 하나 이상의 미디어 타입을 인코딩할 수 있으며, 혹은 하나 이상의 인코더(110)가 다른 미디어 타입의 소스 신호를 코딩하는데 필요할 수 있다. 인코더(110)는 그래픽 및 텍스트와 같은, 합성적으로 생성된 입력도 획득할 수 있으며, 혹은 합성 미디어의 코딩된 비트스트림을 생성할 수도 있다. 이하에서는, 설명을 간략하게 하기 위해서, 하나의 미디어 타입의 하나의 코딩된 미디어 비트스트림을 처리하는 것만 고려한다. 그러나, 전형적으로는 실시간 브로드캐스트 서비스는 다수의 스트림(전형적으로, 적어도 하나의 오디오, 비디오 및 텍스트라는 부제를 가진 스트림)을 포함한다는 점에 주의한다. 이 시스템은 많은 인코더를 포함할 수 있지만, 일관성을 잃지 않으면서 설명을 간략하기 하기 위해서, 이하에서는 하나의 인코더(110)만 고려된다.
여기 포함된 텍스트 및 실시예가 인코딩 처리에 대해 상세하게 설명하고 있지만, 당업자라면 동일한 사상 및 원리가 대응하는 디코딩 처리에도 적용되고, 그 반대로도 적용된다는 것을 이해할 것이다.
코딩된 미디어 비트스트림은 저장부(120)로 전송된다. 저장부(120)는 코딩된 미디어 비트스트림을 저장하도록 임의의 타입의 대용량 메모리를 포함할 수 있다. 저장부(120)내에서의 코딩된 미디어 비트스트림의 포맷은 기본적인 셀프-컨테인식(self-contained) 비트스트림 포맷이 될 수도 있고, 하나 이상의 코딩된 미디어 비트스트림이 하나의 컨테이너 파일(container file)로 캡슐화될 수도 있다. 일부 시스템은 "라이브"로 동작하는, 즉, 저장부없이, 코딩된 미디어 비트스트림을 인코더(110)로부터 송신기(130)로 직접 전송한다. 코딩된 미디어 비트스트림은 필요할 때마다, 서버라고도 불리는, 송신기(130)로 전송된다. 전송에 사용되는 포맷은 기본적인 셀프-컨테인식 비트스트림 포맷, 패킷 스트림 포맷이 될 수도 있고, 혹은 하나 이상의 코딩된 미디어 비트스트림이 하나의 컨테이너 파일로 캡슐화될 수도 있다. 인코더(110), 저장부(120) 및 송신기(130)는 같은 물리적인 장치 내에 배치될 수도 있고, 혹은 별개의 장치에 포함될 수도 있다. 인코더(110) 및 송신기(130)는 실시간 컨텐츠를 라이브하면서 동작할 수 있으며, 이 경우에는, 일반적으로 코딩된 미디어 비트스트림은 영구적으로 저장되지 않고, 컨텐츠 인코더(110) 및/또는 송신기(130)에 짧은 시간 동안 버퍼링되어서, 처리 지연, 전송 지연 및 코딩된 미디어 비트레이트에서의 편차를 완만하게 한다.
송신기(130)는 통신 프로토콜 스택을 이용해서 코딩된 미디어 비트스트림을 송신한다. 스택은 RTP(Real-Time Transport Protocol), UDP(User Datagram Protocol) 및 IP(Internet Protocol)를 포함할 수 있지만, 이에 한정되는 것은 아니다. 통신 프로토콜 스택이 패킷-지향인 경우에, 송신기(130)는 코딩된 미디어 비트스트림을 패킷으로 캡슐화한다. 예컨대, RTP가 사용되면, 송신기(130)는 RTP 페이로드 포맷에 따라서 코딩된 미디어 비트스트림을 RTP 패킷을 캡슐화한다. 전형적으로, 각각의 미디어 타입은 전용 RTP 페이로드 포맷을 갖고 있다. 하나의 시스템이 하나 이상의 송신기(130)를 포함할 수 있지만, 간략하게 하기 위해서 이하의 설명에서는 하나의 송신기(130)만을 고려한다는 점에 다시 한번 주의한다.
송신기(130)는 통신 네트워크를 통해서 게이트웨이(140)에 접속될 수도 있고, 혹은 접속되지 않을 수도 있다. 게이트웨이(140)는 다른 타입의 기능들, 예를 들어 하나의 통신 프로토콜 스택을 따르는 패킷 스트림을 다른 통신 프로토콜 스택으로 변환하는 기능, 데이터 스트림들을 병합 및 분기(forking)하는 기능 그리고, 예를 들어 전달(forward)되는 스트림의 비트레이트를 우세한 다운링크 네트워크 상태에 따라서 조절하는 것과 같이, 다운링크 및/또는 수신 성능에 따라 데이터 스트림을 조작하는 기능을 수행할 수 있다. 게이트웨이들(140)의 예로는 다중점 회의 제어 유닛(MCU), 회선-교환 비디오폰과 패킷-교환 비디오 폰 사이의 게이트웨이, PoC(Push-to-talk over Cellular) 서버, DVB-H(digital video broadcasting-handheld) 시스템에서의 IP 캡슐화기 혹은 홈 무선 네트워크로 국부적으로 브로드캐스트 전송하는 셋톱 박스를 들 수 있다. RTP가 사용되는 경우에는, 게이트웨이(140)는 RTP 믹서로도 불리며, RTP 접속의 종점의 역할을 한다.
이 시스템은 하나 이상의 수신기(150)를 포함하고 있으며, 이 수신기(150)는 일반적으로 전송된 신호를 수신하고, 디모듈레이션하며, 코딩된 미디어 비트스트림으로 디캡슐화할 수 있다. 코딩된 미디어 비트스트림은 일반적으로 디코더(160)에 의해 추가로 처리되며, 이 디코더의 출력은 하나 이상의 비압축 미디어 스트림들이다. 마지막으로, 렌더링부(170)는 예를 들어 스피커 또는 디스플레이를 이용해서 비압축 미디어 스트림들을 재생한다. 수신기(150), 디코더(160) 및 렌더링부(170)는 동일한 물리적인 장치 내에 배치될 수도 있고 혹은 혹은 별개의 장치에 포함될 수도 있다.
디코딩될 비트스트림은 가상적으로 임의의 타입의 네트워크 내에 위치된 원격 장치로부터 수신될 수도 있다는 점에 주의한다. 또한, 이 비트스트림은 국부적인 하드웨어나 소프트웨어로부터 수신될 수 있다.
스케일러빌러티는, 불균일한 그리고 에러가 발생하기 쉬운 환경하에서의 비트레이트, 디코딩 복잡도 및 픽쳐 크기의 측면에서 볼 때 바람직한 특징이다. 이러한 특징은 비트레이트, 디스플레이 해상도, 네트워크 처리량 및 수신 장치의 계산 성능에 대한 제약과 같은 제한점들을 극복하는데 바람직하다.
본 발명의 통신 장치는, 이에 한정되는 것은 아니지만, CDMA, GSM(Global System for Mobile Communications), UMTS(Universal Mobile Telecommunications System), TDMA(Time Division Multiple Access), FDMA(Frequency Division Multiple Access), TCP/IP(Transmission Control Protocol/Internet Protocol), SMS(Short Messaging Service), MMS(Multimedia Messaging Service), 이메일, IMS(Instant Messaging Service), 블루투스, IEEE 802.11 등의 다양한 통신 기술을 사용해서 통신할 수 있다. 통신 장치는, 이에 한정되는 것은 아니지만, 무선, 적외선, 레이저, 케이블접속 등을 포함하는 다양한 미디어를 이용해서 통신할 수 있다.
도 2 및 3은 본 발명이 구현될 수 있는 하나의 대표적인 전자 장치(50)를 도시하고 있다. 그러나, 본 발명을 하나의 특정 타입의 장치로 한정하려고 의도한 것은 아니라는 점을 이해해야 한다. 도 2 및 도 3의 전자 장치(50)는 하우징(30), 액정 디스플레이 형태의 디스플레이(32), 키보드(34), 마이크(36), 이어피스(38), 배터리(40), 적외선 포트(42), 안테나(44), 본 발명의 일 실시예에 따른 UICC 형태의 스마트 카드(46), 카드 판독기(48), 무선 인터페이스 회로(52), 코덱 회로(54), 제어부(56) 및 메모리(58)를 포함한다. 각각의 회로 및 구성 요소는 모두 당업계에 예컨대, 노키아사의 휴대 전화의 범주 내에 널리 알려진 타입이다.
여기 설명된 다양한 실시예는, 방법의 단계 혹은 처리의 전반적인 내용으로 설명되며, 이는 일 실시예에서 컴퓨터 판독 가능 매체에 저장되어서, 네트워킹된 환경에서 컴퓨터에 의해 수행되는 프로그램 코드와 같은 컴퓨터 실행가능 인스트럭션을 포함하는, 컴퓨터 프로그램 제품에 의해 구현될 수 있다. 컴퓨터 판독 가능 매체는, ROM(Read Only Memory), RAM(Random Access Memory), CD(compact disc), DVD(digital versatile disc)와 같은 소거 가능 저장 장치 및 소거 불가능 저장 장치를 포함할 수 있지만, 이에 한정되는 것은 아니다. 일반적으로, 프로그램 모듈은 특정 태스크를 실행하거나, 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객 체, 컴포넌트, 데이터 구조 등을 포함할 수 있다. 컴퓨터 수행가능 인스트럭션, 관련 데이터 구조 및 프로그램 모듈은 여기 개시된 방법의 단계를 수행하는 프로그램 코드의 예를 나타내고 있다. 이러한 수행가능 인스트럭션 혹은 관련 데이터 구조의 특정 시퀀스는 이러한 단계 혹은 처리에 개시된 기능을 수행하는 것에 대응하는 역할의 예를 나타내고 있다.
본 발명의 실시예는 소프트웨어, 하드웨어, 애플리케이션 로직 혹은 소프트웨어, 하드웨어 및 애플리케이션의 조합으로 구현될 수 있다. 소프트웨어, 애플리케이션 로직 및/또는 하드웨어는 예컨대, 칩셋, 모바일 장치, 데스크톱, 랩톱 혹은 서버에 장착될 수 있다. 다양한 실시예의 소프트웨어 및 웹 구현은, 다양한 데이터베이스 검색 단계 혹은 처리, 상관 단계 혹은 처리, 비교 단계 혹은 처리, 결정 단계 혹은 처리를 수행하도록, 룰-기반 로직 및 다른 로직을 가진 표준 프로그래밍 기술을 이용해서 이루어질 수 있다. 다양한 실시예는 전체적으로 혹은 부분적으로 네트워크 구성 요소 혹은 모듈 내에서 구현될 수도 있다. 본 발명의 상세한 설명 및 청구항에서 사용되는 "구성 요소" 및 "모듈"이라는 용어는 하나 이상의 소프트웨어 코드라인 및/또는 하드웨어 구현, 및/또는 수동 입력을 수신하는 장치를 이용해서 구현되는 예를 모두 포함한다는 점에 주의한다.
이상의 실시예의 설명은 예시 및 설명의 목적으로 제공된 것이다. 이상의 설명은 배타적이라거나 혹은 본 발명의 실시예를 개시된 특정 형태로 한정하는 것이 아니며, 상기 교시의 견지 내에서 혹은 다양한 실시예의 실시로부터 수정 및 변형이 있을 수 있다. 여기 개시된 실시예는, 당업자가 다양한 실시예 및 고안된 특정 사용에 적합한 다양한 수정예에서 본 발명을 이용할 수 있도록, 다양한 실시예 및 실제 응용예의 원리 및 특성을 설명하기 위해서 선택되고 설명된 것이다. 여기 개시된 실시예의 특성들은 방법, 장치, 모듈, 시스템 및 컴퓨터 프로그램 제품의 가능한 모든 조합으로 결합될 수 있다.

Claims (36)

  1. 비디오 시퀀스의 인코딩된 표현(encoded representative)을 패킷화하는 방법으로서,
    복수의 데이터 유닛을 제 1 패킷으로 패킷화하는 단계 -상기 복수의 데이터 유닛 중 제 1 데이터 유닛은 인코딩된 비디오의 적어도 일부를 포함하고, 상기 복수의 데이터 유닛 중 제 2 데이터 유닛은 상기 인코딩된 비디오의 적어도 일부의 컨텐츠를 요약한 정보를 포함하며, 상기 제 2 데이터 유닛은 상기 제 1 패킷 내의 상기 복수의 데이터 유닛의 다른 어떤 데이터 유닛보다 앞에 위치됨- 와,
    상기 제 2 데이터 유닛 내에 비디오 시퀀스의 인코딩된 표현의 특성을 나타내는 표시(indication)를 제공하는 단계를 포함하되,
    상기 표시는, 상기 복수의 데이터 유닛 내의 리던던트 코딩된 픽쳐의 표시, 상기 복수의 데이터 유닛 내의 시간 레벨 전환 포인트의 표시, 상기 복수의 데이터 유닛 내의 점진적(gradual) 디코딩 액세스 포인트의 표시, 상기 복수의 데이터 유닛이 속하는 뷰의 표시 및 상기 복수의 데이터 유닛 내의 뷰 랜덤 액세스 픽쳐의 표시 중 적어도 하나를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 제 1 패킷은 실시간 전송 프로토콜(Real-Time Transport Protocol) 패킷을 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 제 2 데이터 유닛 내에 상기 복수의 데이터 유닛 모두에 공통인 특성을 나타내는 표시를 제공하는 단계를 더 포함하는
    방법.
  4. 삭제
  5. 컴퓨터에서 실행되는 경우 제 1 항 내지 제 3 항 중 어느 한 항의 방법을 실행하는 컴퓨터 코드를 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 매체.
  6. 비디오 시퀀스의 인코딩된 표현을 패킷화하는 장치로서,
    프로세서와,
    상기 프로세서에 통신가능하게 접속되는 메모리 유닛을 포함하되,
    상기 프로세서는 상기 장치로 하여금,
    복수의 데이터 유닛을 제 1 패킷으로 패킷화하도록 구성하되,
    상기 복수의 데이터 유닛 중 제 1 데이터 유닛은 인코딩된 비디오의 적어도 일부를 포함하고, 상기 복수의 데이터 유닛 중 제 2 데이터 유닛은 상기 인코딩된 비디오의 적어도 일부의 컨텐츠를 요약한 정보를 포함하며, 상기 제 2 데이터 유닛은 상기 제 1 패킷 내의 상기 복수의 데이터 유닛의 다른 어떤 데이터 유닛보다 앞에 위치되고,
    상기 제 2 데이터 유닛 내에 비디오 시퀀스의 인코딩된 표현의 특성을 나타내는 표시를 제공하도록 구성하되,
    상기 표시는, 상기 복수의 데이터 유닛 내의 리던던트 코딩된 픽쳐의 표시, 상기 복수의 데이터 유닛 내의 시간 레벨 전환 포인트의 표시, 상기 복수의 데이터 유닛 내의 점진적 디코딩 액세스 포인트의 표시, 상기 복수의 데이터 유닛이 속하는 뷰의 표시 및 상기 복수의 데이터 유닛 내의 뷰 랜덤 액세스 픽쳐의 표시 중 적어도 하나를 포함하는
    장치.
  7. 제 6 항에 있어서,
    상기 제 1 패킷은 실시간 전송 프로토콜 패킷을 포함하는
    장치.
  8. 제 6 항에 있어서,
    상기 프로세서는, 상기 장치로 하여금 상기 제 2 데이터 유닛 내에 상기 복수의 데이터 유닛 모두에 공통인 특성을 나타내는 표시를 제공하도록 또한 구성되는
    장치.
  9. 삭제
  10. 비디오 시퀀스의 패킷화된 비트스트림 표현을 처리하는 방법으로서,
    제 1 패킷으로부터 복수의 데이터 유닛을 리트리브하는(retrieving) 단계 -상기 복수의 데이터 유닛 중 제 1 데이터 유닛은 인코딩된 비디오의 적어도 일부를 포함하고, 상기 복수의 데이터 유닛 중 제 2 데이터 유닛은 상기 인코딩된 비디오의 적어도 일부의 컨텐츠를 요약한 정보를 포함하며, 상기 제 2 데이터 유닛은 상기 제 1 패킷 내의 상기 복수의 데이터 유닛의 다른 어떤 데이터 유닛보다 앞에 위치됨- 와,
    상기 제 2 데이터 유닛으로부터 비디오 시퀀스의 인코딩된 표현의 특성을 나타내는 표시를 리트리브하는 단계 -상기 표시는, 상기 복수의 데이터 유닛 내의 리던던트 코딩된 픽쳐의 표시, 상기 복수의 데이터 유닛 내의 시간 레벨 전환 포인트의 표시, 상기 복수의 데이터 유닛 내의 점진적 디코딩 액세스 포인트의 표시, 상기 복수의 데이터 유닛이 속하는 뷰의 표시 및 상기 복수의 데이터 유닛 내의 뷰 랜덤 액세스 픽쳐의 표시 중 적어도 하나를 포함함- 와,
    상기 제 2 데이터 유닛 내에 포함된 정보에 기초해서 상기 복수의 데이터 유닛을 처리하는 단계를 포함하는
    방법.
  11. 제 10 항에 있어서,
    상기 제 1 패킷은 실시간 전송 프로토콜 패킷을 포함하는
    방법.
  12. 제 10 항에 있어서,
    상기 제 2 데이터 유닛은 상기 복수의 데이터 유닛 모두에 공통인 특성을 나타내는 표시를 포함하는
    방법.
  13. 삭제
  14. 컴퓨터에서 실행되는 경우 제 10 항 내지 제 12 항 중 어느 한 항의 방법을 실행하는 컴퓨터 코드를 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 매체.
  15. 비디오 시퀀스의 패킷화된 비트스트림 표현을 처리하는 장치로서,
    프로세서와,
    상기 프로세서에 통신가능하게 접속되는 메모리 유닛을 포함하되,
    상기 프로세서는 상기 장치로 하여금,
    제 1 패킷으로부터 복수의 데이터 유닛을 리트리브하도록 구성하되,
    상기 복수의 데이터 유닛 중 제 1 데이터 유닛은 인코딩된 비디오의 적어도 일부를 포함하고, 상기 복수의 데이터 유닛 중 제 2 데이터 유닛은 상기 인코딩된 비디오의 적어도 일부의 컨텐츠를 요약한 정보를 포함하며, 상기 제 2 데이터 유닛은 상기 제 1 패킷 내의 상기 복수의 데이터 유닛의 다른 어떤 데이터 유닛보다 앞에 위치되고,
    상기 제 2 데이터 유닛으로부터 비디오 시퀀스의 인코딩된 표현의 특성을 나타내는 표시를 리트리브하도록 구성하되,
    상기 표시는, 상기 복수의 데이터 유닛 내의 리던던트 코딩된 픽쳐의 표시, 상기 복수의 데이터 유닛 내의 시간 레벨 전환 포인트의 표시, 상기 복수의 데이터 유닛 내의 점진적 디코딩 액세스 포인트의 표시, 상기 복수의 데이터 유닛이 속하는 뷰의 표시 및 상기 복수의 데이터 유닛 내의 뷰 랜덤 액세스 픽쳐의 표시 중 적어도 하나를 포함하고,
    상기 제 2 데이터 유닛 내에 포함된 정보에 기초해서 상기 복수의 데이터 유닛을 처리하도록 구성하는
    장치.
  16. 제 15 항에 있어서,
    상기 제 1 패킷은 실시간 전송 프로토콜 패킷을 포함하는
    장치.
  17. 제 15 항에 있어서,
    상기 제 2 데이터 유닛은 상기 복수의 데이터 유닛 모두에 공통인 특성을 나타내는 표시를 포함하는
    장치.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
KR1020097019860A 2007-02-23 2008-02-22 패킷화 방법 및 장치, 비트스트림 표현 처리 방법 및 장치와 컴퓨터 판독 가능 매체 KR101087379B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US89148507P 2007-02-23 2007-02-23
US60/891,485 2007-02-23
PCT/IB2008/050642 WO2008102323A2 (en) 2007-02-23 2008-02-22 Backward-compatible characterization of aggregated media data units

Publications (2)

Publication Number Publication Date
KR20090123908A KR20090123908A (ko) 2009-12-02
KR101087379B1 true KR101087379B1 (ko) 2011-11-25

Family

ID=39710591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097019860A KR101087379B1 (ko) 2007-02-23 2008-02-22 패킷화 방법 및 장치, 비트스트림 표현 처리 방법 및 장치와 컴퓨터 판독 가능 매체

Country Status (11)

Country Link
US (1) US8619868B2 (ko)
EP (1) EP2119187B1 (ko)
KR (1) KR101087379B1 (ko)
CN (1) CN101611612A (ko)
AR (1) AR065465A1 (ko)
CA (1) CA2676195C (ko)
MY (1) MY160436A (ko)
RU (1) RU2510908C2 (ko)
SG (1) SG179403A1 (ko)
TW (1) TWI435612B (ko)
WO (1) WO2008102323A2 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
EP2080382B1 (en) * 2006-10-20 2016-07-20 Nokia Technologies Oy System and method for implementing low-complexity multi-view video coding
KR101072341B1 (ko) * 2007-01-18 2011-10-11 노키아 코포레이션 Rtp 페이로드 포맷에서의 sei 메시지들의 전송
KR101087379B1 (ko) * 2007-02-23 2011-11-25 노키아 코포레이션 패킷화 방법 및 장치, 비트스트림 표현 처리 방법 및 장치와 컴퓨터 판독 가능 매체
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
US20130097334A1 (en) * 2010-06-14 2013-04-18 Thomson Licensing Method and apparatus for encapsulating coded multi-component video
US8520080B2 (en) 2011-01-31 2013-08-27 Hand Held Products, Inc. Apparatus, system, and method of use of imaging assembly on mobile terminal
US9706227B2 (en) * 2011-03-10 2017-07-11 Qualcomm Incorporated Video coding techniques for coding dependent pictures after random access
KR101885852B1 (ko) * 2011-09-29 2018-08-08 삼성전자주식회사 컨텐트 전송 및 수신 방법 및 장치
JP6105717B2 (ja) * 2012-04-26 2017-03-29 クアルコム,インコーポレイテッド 低レイテンシストリーミングを処理するための改善されたブロック要求ストリーミングシステム
US10142622B2 (en) * 2012-06-29 2018-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and methods thereof for video processing
US9641834B2 (en) 2013-03-29 2017-05-02 Qualcomm Incorporated RTP payload format designs
US10516718B2 (en) * 2015-06-10 2019-12-24 Google Llc Platform for multiple device playout
KR102477964B1 (ko) * 2015-10-12 2022-12-16 삼성전자주식회사 미디어 전송 시스템에서 비디오 비트스트림의 임의 접근 및 재생을 가능하게 하는 기법
US10958988B2 (en) * 2017-03-24 2021-03-23 Mediatek Inc. Methods and apparatus for media content asset changes
TWI690202B (zh) * 2018-12-28 2020-04-01 瑞昱半導體股份有限公司 用於控制媒體播放器中之串流緩衝器的方法與相關的緩衝裝置
JP7399977B2 (ja) 2019-03-11 2023-12-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド エンコーダ、デコーダ、および対応する方法
JP7359871B2 (ja) 2019-05-06 2023-10-11 華為技術有限公司 ビデオコーディングにおいて新たなコーディングされているビデオシーケンスを開始するピクチャのための前のピクチャの出力
CN113453006B (zh) * 2020-03-25 2024-04-16 腾讯美国有限责任公司 一种图片封装方法、设备以及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005107253A1 (en) * 2004-04-28 2005-11-10 Matsushita Electric Industrial Co. Ltd. Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
GB2352350B (en) * 1999-07-19 2003-11-05 Nokia Mobile Phones Ltd Video coding
DE10392598T5 (de) * 2002-04-29 2005-05-19 Sony Electronics Inc. Unterstützung von fortschrittlichen Codierungsformaten in Mediendateien
JP2006503517A (ja) * 2002-10-15 2006-01-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Ipネットワークでスケーラブル符号化映像を伝送するシステム及び方法
EP1414273A1 (en) * 2002-10-22 2004-04-28 Koninklijke Philips Electronics N.V. Embedded data signaling
KR100560843B1 (ko) * 2003-04-10 2006-03-13 에스케이 텔레콤주식회사 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치
US20040218669A1 (en) * 2003-04-30 2004-11-04 Nokia Corporation Picture coding method
US20050008240A1 (en) * 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
US7903737B2 (en) * 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
JP4874343B2 (ja) * 2006-01-11 2012-02-15 ノキア コーポレイション スケーラブルビデオ符号化における、下位互換性のあるピクチャの集約
ES2702704T3 (es) 2006-10-16 2019-03-05 Nokia Technologies Oy Sistema y procedimiento para implementar una administración eficiente de memoria intermedia decodificada en codificación de video de vistas múltiples
KR101087379B1 (ko) * 2007-02-23 2011-11-25 노키아 코포레이션 패킷화 방법 및 장치, 비트스트림 표현 처리 방법 및 장치와 컴퓨터 판독 가능 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005107253A1 (en) * 2004-04-28 2005-11-10 Matsushita Electric Industrial Co. Ltd. Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WENGER M M et al., 'RTP Payload Format for H.264 Video' IETF STANDARD, 2005.02.01. P12~P18

Also Published As

Publication number Publication date
US20080205511A1 (en) 2008-08-28
CN101611612A (zh) 2009-12-23
WO2008102323A3 (en) 2008-11-13
EP2119187A2 (en) 2009-11-18
EP2119187B1 (en) 2017-07-19
WO2008102323A2 (en) 2008-08-28
CA2676195C (en) 2013-07-23
RU2009134515A (ru) 2011-04-10
TW200843520A (en) 2008-11-01
SG179403A1 (en) 2012-04-27
CA2676195A1 (en) 2008-08-28
KR20090123908A (ko) 2009-12-02
AR065465A1 (es) 2009-06-10
RU2510908C2 (ru) 2014-04-10
MY160436A (en) 2017-03-15
TWI435612B (zh) 2014-04-21
US8619868B2 (en) 2013-12-31

Similar Documents

Publication Publication Date Title
KR101087379B1 (ko) 패킷화 방법 및 장치, 비트스트림 표현 처리 방법 및 장치와 컴퓨터 판독 가능 매체
US10110924B2 (en) Carriage of SEI messages in RTP payload format
AU2007204168B2 (en) Backward-compatible aggregation of pictures in scalable video coding
US9319717B2 (en) System and method for providing and using predetermined signaling of interoperability points for transcoded media streams
US8699583B2 (en) Scalable video coding and decoding
KR101091792B1 (ko) 피드백 기반 스케일러블 비디오 코딩
US20080267287A1 (en) System and method for implementing fast tune-in with intra-coded redundant pictures
US20100183033A1 (en) Method and apparatus for encapsulation of scalable media

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 8