KR20230133936A - 멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치 - Google Patents

멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치 Download PDF

Info

Publication number
KR20230133936A
KR20230133936A KR1020237030193A KR20237030193A KR20230133936A KR 20230133936 A KR20230133936 A KR 20230133936A KR 1020237030193 A KR1020237030193 A KR 1020237030193A KR 20237030193 A KR20237030193 A KR 20237030193A KR 20230133936 A KR20230133936 A KR 20230133936A
Authority
KR
South Korea
Prior art keywords
codec
concurrent
listed
conference
list
Prior art date
Application number
KR1020237030193A
Other languages
English (en)
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 KR20230133936A publication Critical patent/KR20230133936A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • 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/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • 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/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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]
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephone Function (AREA)

Abstract

컨퍼런스에서 세션 개시를 위한 방법들 및 장치가 개시된다. 일 양태에서, 다수의 당사자들 사이에 통신하는 방법이 개시된다. 본 방법은 제 1 디바이스에서, 제 2 디바이스로의 송신을 위한 제 1 메시지를 생성하는 것을 포함한다. 본 방법은 제 1 디바이스에서, 컨퍼런스를 확립하기 위한 제 2 메시지를 수신하는 단계를 더 포함한다. 제 2 메시지는 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함한다. 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트는 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들에 이용가능한 하나 이상의 리소스들이 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 대신 이용될 수도 있는지의 여부의 표시를 포함한다.

Description

멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치{METHODS AND APPARATUS FOR USE OF COMPACT CONCURRENT CODECS IN MULTIMEDIA COMMUNICATIONS}
본 개시는 코덱 협상에 관한 것이고, 특히 비집중 멀티미디어 컨퍼런스들 및 통신들에서의 콤팩트 동시 코덱 협상에 관한 것이다.
디지털 비디오 및 오디오 능력들은, 디지털 텔레비전, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, PDA들 (personal digital assistants), 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 디바이스들, 비디오 게임 콘솔, 셀룰러 또는 위성 라디오 전화기들, 화상 원격회의 디바이스들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 및 오디오 디바이스들은 MPEG-2 (Moving Picture Experts Group-2), MPEG-4, ITU-T (International Telegraph Union-Telecommunication Standardization Sector) H.263, ITU-T H.264/MPEG-4, 파트 10, AVC (Advanced Video Coding), HEVC (High Efficiency Video Coding) 표준, 및 이러한 표준들의 확장안들에 의해 정의된 표준들에서 설명되는 비디오 코딩 기법들과 같은 비디오 및 오디오 압축 기법들을 구현한다. 비디오 및 오디오 디바이스들은 이러한 비디오 및 오디오 코딩 기법들을 구현하는 것에 의해 디지털 비디오 및 오디오 정보를 보다 효율적으로 송신하고, 수신하고, 인코딩하고, 디코딩하고, 그리고/또는 저장할 수도 있다.
비디오 및 오디오 코딩 표준들, 이를 테면, SHVC (Scalable HEVC) 및 MV-HEVC (Multiview HEVC) 는 디코더 능력을 정의하기 위한 레벨 정의들을 제공한다. 다음에서, 본 문제들 및 해법들은 기존 레벨 정의 및 본 발명이 이루어졌을 때의 SHVC 의 다른 콘텍스트들에 기초하여 설명되지만, 해법들은 MV-HEVC 및 다른 다중-계층 코덱들에도 또한 적용한다.
첨부된 청구항들의 범위 내의 시스템들, 방법들 및 디바이스들의 다양한 구현들이 각각 수개의 양태들을 가지며, 이들 중 어떠한 단일의 것도 본원에 설명된 원하는 속성들을 단독으로 책임지지 않는다. 첨부된 청구항들의 범위를 벗어나지 않으면서 일부 현저한 특징들이 본원에서 설명된다.
본원 명세서에서 설명되는 본질의 하나 이상의 구현예들의 세부 사항은 첨부된 도면 및 하기의 상세한 설명에서 설명된다. 다른 특징들, 양태들, 및 이점들은 상세한 설명, 도면들, 및 청구항들로부터 명확해질 것이다. 첨부된 도면에서 상대적 치수들은 일정 스케일로 도시되지 않을 수도 있음을 주지한다.
일 양태에서, 다수의 당사자들 사이에 통신하는 방법이 개시된다. 본 방법은 제 1 디바이스에서, 제 2 디바이스로의 송신을 위한 제 1 메시지를 생성하는 단계를 포함한다. 본 방법은 제 1 디바이스에서, 컨퍼런스를 확립하기 위한 제 2 메시지를 수신하는 단계를 더 포함한다. 제 2 메시지는 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함한다. 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트는 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들에 이용가능한 하나 이상의 리소스들이 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 대신 이용될 수도 있는지의 여부의 표시를 포함한다.
본 개시의 다른 양태는 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 장치이다. 본 장치는 프로세서 및 수신기를 포함한다. 프로세서는 제 1 디바이스로의 송신을 위한 제 1 메시지를 생성하도록 구성된다. 수신기는 컨퍼런스를 확립하기 위하여 제 1 디바이스로부터 제 2 메시지를 수신하도록 구성된다. 제 2 메시지는 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함한다. 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트는 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들에 이용가능한 하나 이상의 리소스들이 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 대신 이용될 수도 있는지의 여부의 표시를 포함한다.
본 개시의 다른 양태는 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 장치이다. 본 장치는 제 1 디바이스로의 송신을 위한 제 1 메시지를 생성하기 위한 수단 및 컨퍼런스를 확립하기 위하여 제 1 디바이스로부터 제 2 메시지를 수신하기 위한 수단을 포함한다. 제 2 메시지는 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함한다. 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트는 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들에 이용가능한 하나 이상의 리소스들이 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 대신 이용될 수도 있는지의 여부의 표시를 포함한다.
본 개시의 추가적인 양태는 명령들을 포함하는 비일시적 컴퓨터 판독가능 매체이며, 명령들은 실행될 때 프로세서로 하여금 일 방법을 수행하게 한다. 본 방법은 제 1 디바이스에서, 제 2 디바이스로의 송신을 위한 제 1 메시지를 생성하는 단계를 포함한다. 본 방법은 제 1 디바이스에서, 컨퍼런스를 확립하기 위한 제 2 메시지를 수신하는 단계를 더 포함하고, 제 2 메시지는 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고, 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트는 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들에 이용가능한 하나 이상의 리소스들이 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 대신 이용될 수도 있는지의 여부의 표시를 포함한다.
도 1 은 다수의 참여자들에 대한 컨퍼런스 아키텍처의 일 예를 예시한다.
도 2 는 다수의 참여자들에 대한 비집중형 컨퍼런스 아키텍처의 일 예를 예시한다.
도 3 은 다수의 참여자들에 대한 비집중형 컨퍼런스 아키텍처의 다른 예를 예시한다.
도 4 는 단말이 믹서로서 기능하는 경우 다수의 참여자들에 대한 하이브리드 컨퍼런스 아키텍처의 일 예를 예시한다.
도 5 는 단말이 믹서 및 참여자로서 기능하는 경우 다수의 참여자들에 대한 하이브리드 컨퍼런스 아키텍처의 일 예를 예시한다.
도 6 은 컨퍼런스에서의 코덱 협상을 위한 다른 예시적 방법의 플로우차트이다.
도 7 은 컨퍼런스 세션들을 개시하기 위하여 콤팩트 동시 코덱들을 이용하기 위한 예시적 방법의 플로우차트이다.
도 8 은 컨퍼런스 세션들을 개시하기 위하여 콤팩트 동시 코덱들을 이용하기 위한 예시적 방법의 다른 플로우차트이다.
첨부된 도면과 연계하여 하기에 설명되는 상세한 설명은 본 발명의 특정 구체예들의 설명으로서 의도된 것으로, 본 발명이 실시될 수 있는 구현예만을 나타내려고 의도된 것은 아니다. 본 설명 전반에 걸쳐 이용되는 용어 "예시적인"은 "예, 사례, 또는 예시로서 기능하는"을 의미하며, 다른 예시적인 구현예들보다 더 선호되거나 유리한 것으로 반드시 간주되는 것은 아니다. 상세한 설명은 개시된 구현예들의 철저한 이해를 제공한 위한 목적으로 세부 사항들을 포함한다. 일부 사례들에서, 일부 디바이스들은 블록도 형태로 도시된다.
비디오 코딩 표준들은 자신의 SVC (Scalable Video Coding) 및 MVC (Multiview Video Coding) 확장안들을 포함하는 ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual 및 ITU-T H.264 (또한 ISO/IEC MPEG-4 AVC 로서 알려짐) 을 포함한다.
추가로, 비디오 코딩 표준, 이를 테면, HEVC (High Efficiency Video Coding) 는 ITU-T VCEG (Video Coding Experts Group) 및 ISO/IEC MPEG 의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 개발되었다. HEVC Draft 10 에 대한 전체 인용은 문헌 JCTVC-L1003 (Bross 등의 "High Efficiency Video Coding (HEVC) Text Specification Draft 10," ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 JCT-VC (Joint Collaborative Team on Video Coding), 12차 회의: Geneva, Switzerland, 2013 년 1 월 14 일 - 2013 년 1 월 23 일) 이다. HEVC 에 대한 멀티뷰 확장안, 즉 MV-HEVC, 및 SHVC 로 지칭되는, HEVC 에 대한 스케일러블 확장안은 또한 JCT-3V (3D 비디오 코딩 확장안 개발을 위한 ITU-T/ISO/IEC 합동 작업팀) 및 JCT-VC 에 의해 각각 개발 중에 있다. MV-HEVC 의 최신 WD (Working Draft) 는 이하 MV-HEVC WD7 로서 지칭될 것이다. SHVC 의 최신 WD 는 이하 SHVC WD5 로서 지칭된다.
종종 레벨 정의들에 대한 기존의 접근법들은 다중-계층 비트스트림들의 효율적인 디코딩을 위한 디코더 능력들을 정의하기에 충분한 정보를 제공하지 못한다. 예를 들어, 각각 720p 해상도인 4 개 보다 많은 SNR (signal-to-noise ratio) 스케일러블 계층들 (계층들을 등가의 해상도를 가짐) 을 디코딩하기 위해, 레벨 5 디코더 또는 그 이상이 요구될 것이다. 그 결과, 루미넌스 코딩 트리 블록 (coding tree block; CTB) 사이즈는 32x32 또는 64x64 와 같을 것이다 (즉, 더 작은 코딩 사이즈들, 이를 테면, 16x16 은 이용될 수 없다). 그러나, 일부 계층들, 이를 테면, 720p 이하의 해상도들을 갖는 계층들에, 이 제약은 준최적의 코딩 효율을 가져올 수도 있다.
디코더들은 일부 사례들에서 다수의 기존 단일 계층 디코더들을 재이용하는 것에 의해 제조될 수도 있다. 일 예에서, 4 단일-계층 HEVC 레벨 3.1 디코더들로 이루어지는 SHVC 디코더는 기존 레벨 정의에 따라 720p 의 4 SNR 계층들을 디코딩하기 위해 레벨 4 이상에 따라야 할 것이다. 이 정의에 의해, 디코더는 임의의 레벨 4 비트스트림들을 디코딩할 수 있어야 한다. 그러나, 디코더 하드웨어에 대한 변경들이 없다면, 이러한 디코더는 1080p 해상도의 2 SNR 계층들에서 SHVC 레벨 4 비트스트림을 디코딩할 수 없다.
기존 HEVC 레벨 정의에서의 다른 문제는 1080p 의 단일-계층 HEVC 비트스트림과 720p 의 2-계층 SHVC 비트스트림 양쪽을 디코딩할 수 있는 것과 같은 방식으로 구현되는 디코더는 레벨 3.1 로 라벨링된다는 것이다. 그러나, 레벨 3.1 라벨은 1080p 의 단일-계층 비트스트림을 디코딩하는 능력을 표현하지 않는다.
다른 예에서, 4 개의 단일-계층 HEVC 3.1 디코더들을 이용하여 구현되는 디코더가 기존 레벨 정의에 따라 720p 의 4 SNR 계층들을 디코딩할 수 있기 위해서는, 디코더가 레벨 4 또는 그 이상에 따라야 한다. 따라서, 디코더는 3 개 보다 많은 타일 로우들 및 3 개 보다 많은 타일 컬럼들을 갖는 비트스트림들을 디코딩할 수 있는 것이 요구되며, 각각의 타일은 256 루마 샘플들의 폭과 144 루마 샘플들의 높이를 갖는다. 그러나, 디코더의 레벨 3.1 한계들이 일부 이러한 비트스트림들을 디코딩할 수 없다.
SHVC 의 기존 설계 하에서, HEVC 텍스트의 종속절 A.4.1 에서의 모든 항목들이 각각의 계층에 적용되도록 특정된다. 그러나, 일부 항목들은 각각의 계층에 직접적으로 적용가능하지 않다. 예를 들어, 디코딩된 픽처 버퍼 (decoded picture buffer; DPB) 사이즈에 대한 항목 d 에, 시퀀스 파라미터 세트 (Sequence Parameter Set; SPS) 신택스 엘리먼트는 강화 계층들에 적용가능하지 않다. 또한, SHVC WD5 에서의 DPB 는 공유된-서브-DPB 설계이며, 따라서, 항목 d 는 각각의 계층에 직접적으로 적용될 수 없다. 다른 예로서, 코딩된 픽처 버퍼 (Coded Picture Buffer; CPB) 사이즈에 대한 항목들 h 및 i 에, 비트스트림-특정 CPB 동작들에서, 파라미터는 각각의 계층에 적용될 수 없다.
(HEVC 텍스트의 종속절 A.4.1 에서의 항목들 h 및 i 에 의해) CPB 사이즈에 대한 비트스트림-특정 제약들이 요구된다. 그러나, HEVC 텍스트의 종속절 A.4.1 에서의 항목들 h 및 i 는 이것이 직접적으로 적용되면, 동일한 CPB 사이즈 한계가 또한 다중-계층 비트스트림들에 대한 한계들이기 때문에 비트스트림 레벨 상에 직접적으로 적용될 수 없다. 이는 복수의 계층들에 스케일러블하지 않고, 많은 계층들이 존재할 때 낮은 픽처 품질에서만 허용한다.
HEVC 텍스트의 종속절 A.4.2 에서의 항목들 b, c, d, g, h, i, 및 j 에 의한 제약들은 오직 계층-특정이도록 특정된다. 그러나, 이들 항목들에 의한 비트스트림-특정 제약들은 이들의 계층-특정 상대부분들이 특정되는지의 여부와 무관하게 특정되어야 한다.
특정 실시형태들은 본원에서 HEVC 및/또는 H.264 표준들의 맥락에서 설명되지만, 당업자는 본원에서 개시된 시스템들 및 방법들은 임의의 적합한 비디오 코딩 표준에 적용가능할 수도 있음을 이해할 수도 있다. 예를 들어, 본원에서 개시된 실시형태들은 다음 표준들 중 하나 이상에 적용가능할 수도 있다: ITU-T (ITU (International Telecommunication Union) Telecommunication Standardization Sector) H.261, ISO (International Organization for Standardization)/IEC (International Electrotechnical Commission) MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual 및 (또한, ISO/IEC MPEG-4 AVC 로서 알려진) ITU-T H.264 (스케일러블 멀티뷰 확장안들을 포함).
HEVC 는 일반적으로 많은 측면들에서 이전 비디오 코딩 표준들의 프레임워크를 따른다. HEVC 에서의 예측의 유닛은 특정한 이전 비디오 코딩 표준들에서의 예측의 유닛들 (예를 들어, 매크로블록들) 과는 상이하다. 실제로, 매크로블록의 개념은 특정한 이전 비디오 코딩 표준들에서 이해되는 바와 같이 HEVC 에 존재하지 않는다. 매크로블록은 다른 가능한 이점들 중, 높은 유연성을 제공할 수도 있는 쿼드트리 방식에 기초하여, 계층적 구조로 대체된다. 예를 들어, HEVC 방식 내에서, 블록들의 3개의 유형들, 즉, 코딩 유닛 (CU), 예측 유닛 (PU), 및 변환 유닛 (TU) 이 정의된다. CU 는 영역 분할 (splitting) 의 기본적인 유닛을 지칭할 수도 있다. CU 는 매크로블록의 개념과 유사한 것으로 간주될 수도 있지만, HEVC 는 CU들의 최대 사이즈를 제한하지 않으며, 4개의 동일한 사이즈 CU들로의 회귀적인 분할을 가능하게 하여 콘텐츠 적응성을 개선할 수도 있다. PU 는 인터/인트라 예측의 기본적인 유닛으로서 간주될 수도 있으며, 단일 PU 는 불규칙적인 이미지 패턴들을 효과적으로 코딩하기 위해 다수의 임의적인 형상 파티션들을 포함할 수도 있다. TU 는 변환의 기본적인 유닛으로서 간주될 수도 있다. TU 는 PU 와는 독립적으로 정의될 수 있으며; 그러나, TU 의 사이즈는 TU 가 속하는 CU 의 사이즈로 제한될 수도 있다. 이 3개의 상이한 개념들로의 블록 구조의 분리는 각각이 유닛이 그 유닛의 개개의 역할에 따라서 각각 최적화될 수 있게 함으로써, 개선된 코딩 효율을 가져올 수도 있다.
단지 예시의 목적을 위해, 본원에서 개시된 특정 실시형태들은 비디오 데이터의 단지 2개의 계층들 (예를 들어, 기본 계층과 같은 하위 계층, 및 강화 계층과 같은 상위 계층) 을 포함하는 예들로 설명된다. 비디오 데이터의 "계층"은 적어도 하나의 공통 특성 또는 파라미터, 이를 테면, 뷰, 프레임 레이트, 해상도 등을 갖는 픽처들의 시퀀스를 일반적으로 지칭할 수도 있다. 예를 들어, 계층은 멀티-뷰 비디오 데이터의 특정 뷰 (예를 들어, 투시도) 와 연관된 비디오 데이터를 포함할 수도 있다. 다른 예로서, 계층은 스케일러블 비디오 데이터의 특정 계층과 연관된 비디오 데이터를 포함할 수도 있다. 따라서, 본 개시는 비디오 데이터의 뷰 및 계층을 상호교환적으로 지칭할 수도 있다. 즉, 비디오 데이터의 뷰는 비디오 데이터의 계층으로서 지칭될 수도 있고 비디오 데이터의 계층은 비디오 데이터의 뷰로서 지칭될 수도 있다. 추가로, 다중-계층 코덱 (또한 다중-계층 비디오 코더 또는 다중 계층 인코더-디코더로서 지칭됨) 은 멀티뷰 코덱 또는 스케일러블 코덱 (예를 들어, MV-HEVC, 3D-HEVC, SHVC 또는 다른 다중-계층 코딩 기술을 이용하여 비디오 데이터를 인코딩 및/또는 디코딩하도록 구성된 코덱) 을 공동으로 지칭할 수도 있다. 비디오 인코딩 및 비디오 디코딩은 일반적으로 비디오 코딩으로서 양쪽 모두 지칭될 수도 있다. 이러한 예들이 다수의 기본 및/또는 강화 계층들을 포함하는 구성들에 적용가능할 수도 있는 것으로 이해되어야 한다. 추가로, 쉬운 설명을 위해, 다음 개시는 특정 실시형태들과 관련하여 용어들 "프레임들" 또는 "블록들" 을 포함한다. 그러나, 이들 용어들은 제한하고자 의도되지 않는다. 예를 들어, 아래에서 설명되는 기법들은 임의의 적절한 비디오 유닛들, 이를 테면, 블록들 (예를 들어, CU, PU, TU, 매크로블록들 등), 슬라이스들, 프레임들 등에 이용될 수도 있다.
비디오 코딩 표준들
디지털 이미지들, 이를 테면, 비디오 이미지, TV 이미지, 정지 영상 또는 비디오 레코더 또는 컴퓨터에 의해 생성되는 이미지는 수평 및 수직 라인들에 배열된 픽셀들 또는 샘플들로 이루어질 수도 있다. 단일 이미지에서의 픽셀들의 수는 일반적으로 수 만 개에 이른다. 각각의 픽셀은 일반적으로 루미넌스 및 크로미넌스 정보를 포함한다. 압축이 없다면, 이미지 인코더로부터 이미지 디코더로 전달되는 정보의 순수한 양은 실시간 이미지 송신을 불가능하게 만들 것이다. 송신되는 정보의 양을 감소시키기 위해, JPEG, MPEG 및 H.263 표준들과 같은, 다수의 상이한 압축 방법들이 개발되었다. 비디오 코딩 표준들은 이전에 인용된 것들을 포함한다.
멀티-스트림 멀티파티 컨퍼런싱
일부 실시형태들에서, 멀티-스트림 멀티파티 컨퍼런스에서, 멀티-스트림 비디오, 적어도 2 개의 비디오 컨텐츠들 (예를 들어, 하나의 메인 및 하나의 프리젠테이션), 멀티-스트림 오디오, 적어도 2 개의 오디오 컨텐츠들 뿐만 아니라 다른 추가적인 능력들을 지원하는 것이 바람직할 수도 있다. 일부 양태들에서, 중앙집중 프로세서 또는 브리지가 이들 기능들을 지원하도록 작용할 수도 있다. 중앙집중 프로세서 또는 브리지는 멀티-스트림 비디오/오디오 데이터를 수신하고, 비디오/오디오 데이터를 믹싱하고, 참여자들 각각에 믹싱된 데이터 스트림을 전송할 수도 있다.
도 1 은 다수의 참여자들에 대한 일 예시적 컨퍼런스 아키텍처 (100) 의 다이어그램이다. 컨퍼런스 아키텍처 (100) 는 단말들 (110A-D) 및 중앙집중 프로세서 (125) 를 포함한다. 일부 양태들에서, 중앙집중 프로세서 (125) 는 서버 또는 컨퍼런스 브리지 제공자를 포함할 수도 있다. 중앙집중 프로세서 (125) 는 단말들 (110A-D) 각각으로부터 데이터 스트림들을 수신하고, 디코딩하고 믹싱하고 믹싱된 데이터 스트림을 단말들 (110A-D) 로 송신할 수도 있다. 일부 양태들에서, 중앙집중 프로세서 (125) 는 멀티캐스트 송신을 이용하여 믹싱된 데이터 스트림을 송신할 수도 있다. 일부 실시형태들에서, 데이터 스트림은 하나 이상의 오디오, 비디오, 및/또는 미디어 스트림들을 포함할 수도 있다. 일부 양태들에서, 단말들 (110A-D) 은 각각, 프로세서, 수신기, 송신기, 트랜시버, 안테나, 메모리, 데이터베이스, 및 사용자 인터페이스 중 하나 이상을 포함할 수도 있다.
일부 실시형태들에서, 중앙집중 프로세서 (125) 없이 멀티-스트림 멀티파티 컨퍼런스를 확립하는 것이 바람직할 수도 있다. 예를 들어, 중앙집중 프로세서 (125) 는 비용 및/또는 복잡도를 추가할 수도 있는 별도의 인프라스트럭처 및 서비스들을 필요로 할 수도 있다. 일부 실시형태들에서, 복잡도들은 멀티-스트림 컨퍼런스의 하나 이상의 미디어 스트림들의 복잡도에 적어도 부분적으로 기초할 수도 있다. 추가적으로, 참여자들은 멀티-스트림 멀티파티 컨퍼런스 이전에 중앙집중 프로세서 (125) 와의 확립 또는 등록을 요구받을 수도 있다. 따라서, 참여자들은 중앙집중 프로세서 (125) 를 이용함이 없이 자신의 단말들 (예를 들어, 컴퓨터, 태블릿, 스마트폰, 다른 사용자 장비 등) 상에서 멀티-스트림 멀티파티 컨퍼런스를 확립하는 것이 바람직할 수도 있다 (예를 들어, 비집중형 컨퍼런스).
도 2 는 다수의 참여자들에 대한 비집중형 컨퍼런스 아키텍처 (200) 의 일 예를 예시한다. 도 2 에 도시된 바와 같이, 비집중형 컨퍼런스 아키텍처 (200) 는 단말들 (110A, 110B, 및 110C) 을 포함할 수도 있다. 단말들 (110A, 110B, 및 110C) 은 데이터 스트림들을 서로 교환할 수도 있고, 수신 및/또는 전송하는 데이터 스트림들을 디코딩, 인코딩, 및/또는 믹싱할 수도 있다. 예를 들어, 도 2 에 도시된 바와 같이, 참여자 (110A) 는 데이터 스트림들을 단말들 (110B 및 110C) 로부터 수신하고 데이터 스트림들을 단말들 (110B 및 110C) 로 송신한다. 데이터 스트림들은 미디어 스트림들, 오디오 스트림들, 비디오 스트림들 또는 이러한 스트림들의 조합을 포함할 수도 있다. 이들 멀티미디어 데이터 스트림들은 뷰어 또는 청취자에게 믹싱된 데이터 스트림을 렌더링하기 전에 일부 인지적 공간-분리에 의해 바람직하게, 독립적으로 그리고 동시에 디코딩된 다음 각각의 단말에서 함께 믹싱될 수도 있다. 단말들 (110A, 110B, 및 110C) 각각은 이들이 동시에 동작할 수 있는 디코더/인코더 인스턴스들의 수에 계산적 한계들을 가질 수도 있다. 일부 양태들에서, 단말내 믹싱에 의해 멀티-스트림 멀티파티 컨퍼런스를 설정할 때 (예를 들어, 비집중형 컨퍼런스) 컨퍼런스 개시자에 의해 이들 한계들을 고려하는 것이 바람직할 수도 있다.
도 2 에 대하여 위에 설명된 바와 같이, 단말들 (110A, 110B, 및 110C) 각각은 다른 컨퍼런스 참여자들로부터 수신된 다수의 데이터 스트림들을 동시에 디코딩하는 것을 요구받을 수도 있다. 각각의 단말 (110) 은 이들이 동시에 동작할 수 있는 디코더 인스턴스들의 수에 계산적 한계들을 가질 수도 있다. 이는 단말과의 컨퍼런스 중에 있을 수 있는 참여자들의 수를 제한하거나 또는 단말이 특정 데이터 스트림들을 디코딩하는 것을 우선순위화하고 다른 것들을 무시하는 능력을 갖도록 요구한다. 예를 들어, 단말이 자신이 수신한 어떠한 데이터 스트림들도 무시하지 않으면, 다수의 참여자들이 디코더들의 최대 개수 더하기 1 미만이어야 한다 (N <= MaxDec +1). 여기에서, N 은 컨퍼런스 개시자를 포함한, 컨퍼런스에서의 참여자들의 수이며, MaxDec 는 단말에 의해 동시에 구동될 수 있는 디코더들의 최대 개수이다. 일부 실시형태들에서, 단말 (110A) 은 단말들 (110B 및 110C) 과 접속하는 것에 의해 컨퍼런스를 개시할 수도 있고 그 후, 단말들 (110B 및 110C) 은 컨퍼런스를 완료하기 위해 서로 접속할 수도 있다.
도 2 를 참조하여 보면, 단말 (110A) 이 컨퍼런스 개시자이면 단말 (110A) 은 얼마나 많은 발신자들/단말들을 컨퍼런스에 초대하는지 (즉, N-1) 를 결정하기 위해 위의 계산을 이용할 수도 있다. 또한, 다른 단말들 (예를 들어, 단말들 (110B 및 110C)) 각각이 자신이 수신한 데이터 스트림들을 우선순위화 및 무시하지 않으면, 각각의 단말은 또한 N-1 개의 데이터 스트림들을 디코딩가능할 수도 있다. 따라서, 개시자 단말 (110A) 이 다음 제한들: N <= Min [각각의 단말의 MaxDec] + 1 을 고려하는 것이 바람직할 수도 있다. 따라서, 개시자 단말 (110A) 은 컨퍼런스에서 각각의 참여중인 단말에 의해 동시에 구동될 수 있는 참여자들의 수가 디코더들의 최대 수 더하기 1 을 초과하지 않음을 보장할 수 있는 디코더들의 최대 수를 고려한다.
이와 유사하게, 단말내 믹싱에 의한 컨퍼런스들은 단말이 다른 참여 단말들에 전송된 다수의 데이터 스트림들을 동시에 인코딩할 것을 요구할 수도 있다. 이는 개시자가 데이터 유형에 하나 보다 많은 유형의 코덱을 제공하고 다른 참여자들이 상이한 코덱들을 이용하는 것을 선택할 때 발생할 수 있다. 일부 양태들에서, 데이터 유형은 오디오 유형, 비디오 유형, 또는 다른 미디어 유형을 포함할 수도 있다.
도 1 및 도 2 에 설명된 중앙집중형 또는 비집중형 컨퍼런스 아키텍처들에서, 세션 디스크립션 프로토콜 (session description protocol; SDP) 오퍼 메시지들을 컨퍼런스에 참여하는 하나 이상의 단말들에 통신하기 전에, 중앙집중 프로세서 또는 개시자 단말은 (아키텍처의 유형에 의존하여) 프리-SDP 협상 페이즈를 통하여 SDP 오퍼 메시지에 어떤 정보를 포함할지를 결정할 수도 있다. 이 협상 페이즈 동안, 중앙집중 프로세서 또는 개시자 단말은 적용가능한 컨퍼런스 아키텍처를 형성하는 다른 단말들의 코딩 및 디코딩 능력들을 요청할 수도 있다. 다른 단말들의 코딩 및 디코딩 능력들에 대한 요청은 별도의 협상 메시지에서 통신될 수도 있다. 협상 메시지는 컨퍼런스의 부분으로서 통신될 하나 이상의 미디어 스트림들에 관한 정보 뿐만 아니라 전송 단말 또는 프로세서의 정보 능력들을 포함하도록 구성될 수도 있다.
일부 실시형태들에서, 협상 메시지는 동시 코덱능력들 교환 (concurrent codec capabilities exchange; CCCex) 으로서 기능할 수도 있다. 일부 실시형태들에서, 오퍼 메시지들 및 회답 메시지들은 또한 본원에 설명된 바와 같이 CCCex 를 위해 기능할 수도 있다. 따라서, 협상 메시지는 컨퍼런스에 수반될 수도 있는 미디어 스트림들의 관점에서 코딩 및 디코딩 요건들 및/또는 송신 디바이스의 코딩 및 디코딩 능력들에 관한 속성들을 포함하도록 구성될 수도 있다. 많은 능력들 및 요건들 정보는 단말들과 중앙집중 프로세서 사이에서 통신되는 SDP 오퍼 및 응답 메시지들에 포함될 수도 있다. 그러나, SDP 오퍼 및 응답 메시지들의 통신 이전에 협상들 또는 능력들의 교환을 수행하는 것에 의해, SDP 오퍼 및 응답 메시지들은 컨퍼런스 아키텍처의 디바이스들 사이에서 컨퍼런스의 확립에 유용한 정보만을 포함하도록 스트림라인 및 감소될 수도 있다. 능력들의 교환 및 사전 통신은 또한 컨퍼런스 개시자가 임의의 하나의 참여자의 동시 인코딩 및 디코딩 능력들을 초과하지 않는 컨퍼런스를 확립할 수 있게 하는데 필요하다. 따라서, 동시 코덱 능력들을 교환하기 위해 통신되는 협상 메시지들은 SDP 오퍼 및 응답 메시지들이 포함할 정보의 적어도 일부를 포함할 수도 있다.
협상 메시지는 협상 메시지(들)이 네트워크 및/또는 프로세싱 리소스들 상에 부담을 주지 않고 효율적으로 단말들 및/또는 프로세서 사이에 통신될 수도 있도록 연결 형태로 필수적인 SDP 오퍼 및 응답 정보를 포함하도록 구성될 수도 있다. 예를 들어, 협상 메시지에서, 여러 파라미터들은 이들이 항상 SDP 오퍼 및 응답 메시지들에 유지될 수 있으면서 선택적으로 포함될 수도 있다. 일부 실시형태들에서, 협상 메시지는 단일 라인 메시지에서의 SDP 오퍼 및 응답들 메시지들에 포함된 40 라인들의 정보를 통하여 전달될 수도 있다.
일부 실시형태들에서, 본원에 설명된 협상 메시지는 하나 이상의 단말들이 동시 코덱 능력들을 제공하는 것을 요청하는 협상 요청 메시지로서 전송될 수도 있다. 일부 실시형태들에서, 본원에 설명된 협상 메시지는 협상 요청 메시지에 응답하는 협상 응답 메시지로서 전송될 수도 있다. 일부 실시형태들에서, 협상 요청 메시지는 요청을 전송하는 단말 또는 프로세서의 능력들을 포함할 수도 있다. 일부 실시형태들에서, 협상 응답 메시지는 요청 단말 또는 프로세서의 능력들과 관련하여, 또는 요청 단말 또는 프로세서의 능력들과 독립적으로 응답 단말 또는 프로세서의 능력들을 포함할 수도 있다. 일부 실시형태들에서, 협상 메시지, 이를 테면, 요청 메시지 또는 응답 메시지는 본원에 보다 자세하게 설명된 바와 같이 코덱 능력들의 리스트의 표시들을 포함할 수도 있다.
예를 들어, 개시자 단말로부터 통신되는 협상 메시지들은 원하는 속성들 및/또는 정보를 포함하도록 다음과 같이 정의될 수도 있다. 다음은 협상 메시지 구조의 ABNF (augmented Backus-Naur Form) 표현임을 주지한다:
따라서, 위의 ABNF 코드는 동시 코덱 능력 정보를 포함하는 협상 메시지가 통신을 위해 어떻게 생성될 수 있는지에 대응한다. 협상 메시지는 메시지를 전송하는 엔티티가 이용할 수 있는 코덱들의 리스트 (예를 들어, 메시지를 전송하는 엔티티에 의해 지원되는 코덱들의 리스트) 를 포함할 수도 있다. 일부 실시형태들에서, 협상 메시지 (응답 또는 요청으로서) 를 전송하는 임의의 엔티티는 대응하는 협상 메시지 (요청 또는 응답) 를 수신할 수 있다.
SDP 오퍼 및 응답 메시지들에 관련하여 협상 메시지의 사이즈를 감소시키기 위해, 여러 파라미터들 및/또는 정보는 협상 메시지에서 배제되거나 또는 적응될 수도 있다. 예를 들어, 일부 실시형태들에서, 비디오 코덱 분해능을 식별할 수도 있는 코덱 레벨 파라미터는 모든 코덱들이 코덱 레벨들 및/또는 코덱 레벨 정보를 포함할 수 있는 것은 아니기 때문에 협상 메시지에 선택적으로 포함될 수도 있다. 이와 유사하게, 여러 다른 파라미터들이 선택적으로 포함될 수도 있어, 이에 의해 협상 메시지가 SDP 오퍼 및 응답 메시지들에 비해 사이즈에서 감소되도록 가능하게 한다.
따라서, 협상 메시지는 하나 이상의 코덱들이 다른 코덱들에 의해 대체될 수 있을 때 또는 방법을 표시하도록 구성될 수도 있다 (예를 들어, 하나 이상의 코덱들에 대한 리소스들이 다른 코덱들에 의해 대신 이용될 수도 있다). 예를 들어, 협상 메시지는 중앙집중 단말이 복수의 코덱들을 통하여 디코딩 통신할 수 있음을 표시할 수도 있다. 예를 들어, 중앙집중 단말은 EVS (enhanced voice services), AMR (adaptive multi-rate), 및 AMR-WB (adaptive multi-rate wide band) 를 디코딩할 수 있음을 표시하면서 프로세서 상에서 구동하는 EVS 의 인스턴스가 AMR-WB 의 인스턴스에 의해 대체될 수도 있고, AMR-WB 의 인스턴스가 AMR 의 인스턴스에 의해 대체될 수도 있음을 표시할 수도 있다. 추가적으로, 협상 메시지는 또한, (본원의 메시지 정의에 도시된 바와 같이) <codec> 인스턴스들과 동일한 수의 <num> 인스턴스들을 요구하도록 구성될 수도 있다. 일부 실시형태들에서, 하나 이상의 파라미터들은 SDP 오퍼 및/또는 응답 메시지들에 포함되지만 협상 메시지로부터 배제될 수도 있다.
일부 실시형태들에서, 위의 협상 메시지 정의에 표시된 바와 같이, 용어 <codec> 은 그 코덱에 대한 실시간 프로토콜 (RTP) 페이로드 포맷에서 정의된 바와 같은 코덱의 미디어 유형 명칭에 대응할 수도 있다. 일부 실시형태들에서, 용어 <codec> 의 예들은 H.264 비디오 압축 코덱에 대응하는 "video/H264" 및/또는 H.265 비디오 압축 코덱에 대응하는 "video/H265" 를 각각 포함할 수도 있다. 용어 <codec> 에 의해 식별되는 코덱들은 협상 메시지를 전송하는 단말 또는 프로세서 미디어 스트림들을 코딩 및/또는 디코딩시 이용하도록 구성되는 코덱에 대응할 수도 있다. 협상 메시지는 용어 <codec> 에 의해 식별되는 하나 이상의 코덱들을 포함할 수도 있고; 예를 들어, 본원에 도시된 협상 메시지 #1 은 용어 <codec> 에 의해 식별되는 코덱들로서 EVS, AMR, 및 ARM-WB 를 포함한다.
위에 주지된 바와 같이 용어 <level> 은 선택적이다. 용어 <level> 은 비디오 코덱들에 어떤 해상도가 지원되는지를 식별하는 코덱에 대한 레벨을 특정할 수도 있다. 예를 들어, 용어 <codec> 은 H.264 또는 H.265 코덱들을 표시할 때, 용어 <level> 은 level_idc 또는 level-id 와 각각 같을 수도 있다. 용어 <codec> 이 EVS 코덱들을 표시할 때, 용어 <level> 은 협대역 (NB), WB, 초광대역 (SWB), 및 전체 대역 (FB) 을 각각 특정하는 1, 2, 3 및/또는 4 와 같을 수도 있다.
추가적으로, 용어 <profile> 은 또한 협상 메시지에서 선택적이다. 용어 <profile> 은 비디오 코덱들에 대하여 어떤 표준화된 툴들이 비디오 코더에 의해 이용되는지를 식별하는 코덱의 프로파일을 특정할 수도 있다. 예를 들어, 용어 <codec> 에 의해 표시되는 코덱들 H.264 및 H.265 에, 용어 <profile> 은 profile_idc 및 profile-id 과 각각 같을 수도 있다. 용어 <profile> 이 협상 메시지에 포함되면, 용어 <level> 이 또한 포함되어야 한다. 한편, 협상 메시지가 용어 <profile> 을 포함함이 없이 용어 <level> 을 포함하도록 허용가능하다.
협상 메시지의 용어 <rule> 은 코덱의 동시 인스턴스에 이용된 리소스들이 코덱 전에 또는 후에 리스트된 코덱의 동시 인스턴스에 의해 대신 이용될 수도 있는지의 여부를 특정할 수도 있다. 예를 들어, 본원에 설명된 협상 메시지 #1 에서, 용어 <codec> 은 AMR, AMR-WB, 및 EVS 코덱들 (반드시 그 순서로 되는 것은 아님) 을 식별한다. 용어 <rule> 에 기초하여, 다음 리스트된 코덱은 계산적으로 덜 복잡할 수도 있고, 따라서, 이전에 리스트된 코덱과 동일한 프로세서 상에서 구동할 수도 있다. 예를 들어, 용어 <rule> 이 "," 와 같을 때, 용어 <codec> 의 하나 이상의 인스턴스들은 다음 하나 이상의 리스트된 코덱들에 의해 대체될 수도 있다. 그러나, 용어 <rule> 은 또한 별도의 프로세서 상에서 구현되거나 또는 계산적으로 더 복잡함을 표시할 수도 있고, 따라서, 이전에 리스트된 코덱과 동일한 프로세서 상에서 구동하지 않을 수도 있다. 예를 들어, 용어 <rule> 이 ";" 와 같을 때, 용어 <codec> 의 하나 이상의 인스턴스들은 다음 리스트된 코덱에 의해 대체되지 않을 수도 있다. 따라서, 용어 <rule> 는 디코딩 프로세서들이 코딩 프로세서들 보다 더 플렉시블하다는 협상 메시지를 단말 및/또는 프로세서가 수신함을 보여주도록 구성될 수도 있다.
본원의 협상 메시지 #1 에 도시된 용어 <num> 는 지원되는 동시 인코더들 또는 디코더들의 최대 수를 특정할 수도 있다. 예를 들어, 용어 <num> 가 협상 메시지에서 텍스트 "ENC" 를 뒤따를 때 용어 <num> 는 (존재할 때 특정된 레벨 및 프로파일에서) 용어 <codec> 에 의해 특정되는 코덱(들) 각각의 지원되는 동시 인코더들의 최대 수를 표시한다. 이와 유사하게, 용어 <num> 가 협상 메시지에서 텍스트 "DEC" 를 뒤따를 때, 용어 <num> 는 (존재할 때 특정된 레벨 및 프로파일에서) 용어 <codec> 에 의해 특정되는 코덱(들) 각각의 지원되는 동시 디코더들의 최대 수를 표시한다. 텍스트 "ENC" 를 바로 뒤따르는 용어 <num> 에 의해 식별되는 인스턴스들의 수 및 텍스트 "DEC" 를 바로 뒤따르는 용어 <num> 에 의해 식별되는 인스턴스들의 수는 양쪽 모두 용어 <codec> 에 의해 식별되는 인스턴스들의 수와 동일할 것이다. 또한, 일부 실시형태들에서, 용어 <num> 에 의해 식별되는 인스턴스는 동일한 순서로 용어 <codec> 에 의해 식별되는 인스턴스에 맵핑될 수도 있다.
일부 실시형태들에서, 단말 및/또는 프로세서는 실제로 디코딩하는 수신된 미디어 스트림들 (m 개의 라인들) 의 수를 트리밍하는 능력을 가질 수도 있다. 따라서, 단말 및/또는 프로세서는 자신이 실제로 디코딩하는 동시 디코딩 능력들을 갖는 것보다 더 큰 수의 미디어 스트림들을 디코딩할 수도 있음을 표시하는 값을 갖는 용어 <num> 을 광고할 수도 있다.
본원의 설명에 따르면, 협상 메시지는 단말들 및/또는 프로세서에 의해 지원되는 (인코더 및 디코더 능력들 양쪽 모두를 포함하는) 동시 코덱 능력들의 통신 및/또는 협상에 대하여 단일의 SDP 라인에서 제공할 수도 있다. 예를 들어, 아래의 표 1 은 통상적인 SDP 오퍼 메시지를 묘사한다. 이 SDP 오퍼 메시지는 표 2 에 관련하여 설명된 바와 같이 MSMTSI 단말로서 구성되는 개시자 단말의 구성 "A" 에 대응할 수도 있다.
[표 1]
도시된 바와 같이, SDP 오퍼 메시지는 40 개의 SDP 라인들에 걸쳐 포함한다. 대부분의 이들 SDP 라인들은 본원에 설명된 협상 메시지에 포함되는 정보를 포함할 수도 있다. 그러나, 이들 라인들이 SDP 오퍼 메시지에서 거의 40 개의 개별적인 SDP 라인들을 포함할 수도 있지만, 본원에 설명된 협상 메시지는 단일의 라인으로 이들 40 개의 라인들을 감소시킬 수도 있다. 배타적 SDP 오퍼 메시지의 이러한 감소는 SDP 오버 및/또는 응답 메시지들에 수신, 프로세싱, 및 응답하기 위해 단말들 및/또는 프로세서 각각에서 달리 요구되는 통신 및 컴퓨팅 리소스들의 수를 감소시킨다. 예를 들어, 본원에 설명된 협상 메시지는 (38 개의 SDP 라인들과 같은) 위의 표 1 에서 "**" 에 의해 SDP 오퍼 메시지들 라인들 오프셋을 단일의 라인 협상 메시지 #1 로 감소시킨다:
협상 메시지 #1
a = codec_list:EVS;AMR-WB;AMR:ENC:1;1;1:DEC:3,1,1
또한, 아래의 표 2 에 도시된 구성들 "B" 및 "C" 에 대하여 SDP 오퍼 메시지들은 또한 협상 메시지에서 통신될 때 유사하게 또한 감소될 수도 있다. 예를 들어, 아래의 조합 "B" 의 SDP 오퍼 메시지에 대한 42 개의 라인들은 협상 메시지 #2 의 단일의 SDP 라인에 의해 대체될 수도 있다:
협상 메시지 #2
a = codec_list:EVS;AMR-WB;AMR:ENC:1;1;0:DEC:4,1,0
이와 유사하게, 아래의 조합 "C" 의 SDP 오퍼 메시지에 대한 44 개의 라인들은 협상 메시지 #3 의 단일의 SDP 라인에 의해 대체될 수도 있다:
협상 메시지 #3
a = codec_list:EVS;AMR-WB;AMR:ENC:1;0;0:DEC:5,0,0
[표 2] MSMTSI 단말에서의 예시의 동시 코덱 능력 구성들
따라서, 전체적으로, 본원에 설명된 협상 메시지들을 이용하여, (표 2 에 주지된 바와 같이) 6 개의 참여자로 CCCex 를 유지하면서 3 개의 SDP 라인들에서 124 의 SDP 라인들을 통신할 수도 있으며, 이는 통신 오버헤드에서 41:1 보다 큰 감소와 대등하다. 따라서, 본원에 설명된 협상 메시지를 이용하여, 일반적으로 아래의 압축비에 따라 SDP 라인들을 감소시킬 수도 있다:
압축비 1 ≥ (5 * (N-2) + 4) : 1 이고, 여기에서,
N 은 동시 디코더들 (예를 들어, 사용자들) 의 수이고; 그리고
m 은 동시 디코더들을 지원하는 코덱들의 조합들의 수이다.
따라서, 상당한 통신 및 프로세싱 오버헤드 및 리소스 절감이 제공될 수도 있다.
일부 실시형태들에서, 추가로 통신 및 계산 리소스들을 감소시키기 위하여, 단말은 이들을 디코딩하기 전에 수신된 스트림들의 수를 "트리밍"할 수도 있다. 트리밍은 디코딩될 수신된 스트림들의 수를 감소시키는 것을 수반할 수도 있으며, 단말에서 디코딩 계산 리소스들을 절감할 수도 있다. 이러한 "트리밍" 능력들은 단말이 동시에 디코딩할 수 있는 더 많은 미디어 스트림들 (예를 들어, m 개의 라인들) 을 리스트하는 것에 의해 단말이 SDP 오퍼들을 브로드캐스팅하는 것에 의해 표시될 수도 있다. 따라서, 이러한 단말은 12 개 이상의 동시 디코더들까지를 포함하도록 새로운 콤팩트 SDP 속성들을 생성하도록 구성될 수도 있어, 압축 비를 ≥ 54 : 1 로 증가시킨다.
일부 실시형태들에서, 협상 메시지들이 위에 설명된 바와 같이 교환되면, 단말들 중 하나 이상 또는 프로세서들은 단말들 중 하나 이상 또는 디바이스들에 대한 통신을 위하여 본원에 추가로 설명될 바와 같이 하나 이상의 오퍼 메시지들 및/또는 데이터 스트림들을 생성 및 통신할 수도 있다. 일부 실시형태들에서, 코덱 능력들의 리스트의 표시들은 본원에 추가로 설명되는 바와 같이 통신을 위한 코덱의 유형을 선택하기 위하여 이용될 수도 있다. 예를 들어, 협상 응답 메시지는 단말이 핸들링하도록 구성되는 코덱이 어느것인지를 표시할 수도 있고, 프로세서 (또는 개시자 단말) 가 협상 응답 메시지의 표시들에 기초하여 코덱 타입을 선택할 수도 있다. 일부 실시형태들에서, 임의의 주어진 프로세서 또는 단말에 대한 코덱 능력들의 리스트의 표시자들 또는 표시들은 데이터베이스 또는 다른 저장 로케이션으로부터 저장 및/또는 취출될 수도 있다. 일부 실시형태들에서, 컨퍼런스에 의해 지원되는 코덱 능력들의 리스트는 둘 이상의 디바이스들 각각에 의해 지원되는 코덱 능력들의 리스트의 표시(들)에 적어도 부분적으로 기초할 수도 있다.
도 3 은 다수의 참여자들에 대한 비집중형 컨퍼런스 아키텍처 (300) 의 다른 예를 예시한다. 일부 실시형태들에서, 개시자 단말 (110A) 는 다수의 코덱들을 단말들 (110B 및 110C) 에 제공할 수도 있다. 오퍼들은 위에 설명된 협상 메시지들을 이용하여 협상들이 완료된 후에 통신될 수도 있다. 예를 들어, 도 3 에 도시된 바와 같이, 단말 (110A) 은 EVS (enhanced voice services) 코덱 및 AMR-WB (adaptive multi-rate wideband) 를 단말들 (110B 및 110C) 양쪽 모두에 제공한다. 일부 양태들에서, 오퍼는 SDP (session description protocol) 오퍼 메시지를 포함할 수도 있다. 도시된 바와 같이, 단말 (110C) 은 EVS 를 지원하고 EVS 를 선택한 메시지로 응답한다. 단말 (110B) 은 AMR-WB 만을 지원할 수도 있고 단말 (110A) 에 대한 자신의 응답으로 AMR-WB 를 선택한다. 일부 양태들에서, 단말들 (110B 및 110C) 이 단말 (110A) 로부터 오퍼에 응답하여 전송하였던 메시지들은 SDP 회답 메시지를 포함할 수도 있다. 단말들 (110B 및 110C) 은 또한 이들 자신의 코덱 협상 (예를 들어, 단말 (110A) 로부터의 SIP (session initiation protocol) REFER 방법을 통한 세트업) 을 수행할 수도 있고, 여기에서 단말 (110B) 이 EVS 를 지원하지 않기 때문에 이들은 AMR-WB 를 선택한다. 도 3 으로부터 알수 있는 바와 같이 단말들 (110A 및 110C) 은 EVS 및 AMR-WB 포맷들로 자신들의 컨텐츠를 양쪽모두 동시에 인코딩할 수도 있지만 단말 (110B) 은 AMR-WB 포맷에서 인코딩/디코딩만을 필요로 한다.
도 4 는 단말/미디어 게이트웨이 (450) 가 믹서로서 기능하는 다수의 참여자들에 대한 예시적 하이브리드 컨퍼런스 아키텍처 (400) 의 다이어그램이다. 도 4 에 도시된 바와 같이, 단말들 (110A-C) 은 단말들 (110A-C) 로 이후에 다수의 데이터 스트림들을 전송하는 단말/미디어 게이트웨이 (450) 에 데이터 스트림을 각각 전송할 수도 있다. 예를 들어, 단말/미디어 게이트웨이 (450) 는 단말들 (110B 및 110C) 로부터 데이터 스트림들을 수신할 수도 있고 이들 데이터를 디코딩하여 단말 (110A) 로 전송할 수도 있다. 일부 양태들에서, 단말/미디어 게이트웨이 (450) 는 단말들 (110B 및 110C) 로부터의 데이터 스트림들을 믹싱하여 믹싱된 데이터 스트림을 단말 (110A) 로 전송할 수도 있다.
일 구현예에서, 단말 (110A) 은 특정 제한들 또는 컨퍼런스 파라미터들에 기초하여, 자신이 단말/미디어 게이트웨이 (450) 로부터 수신한 복수의 데이터 스트림들을 조정할 수도 있다. 예를 들어, 단말 (110A) 은 단말/미디어 게이트웨이 (450) (또는 도 1 의 중앙집중 프로세서 (125)) 프로세싱 능력들을 이용하여 자신의 자체 프로세싱을 감소 또는 오프로드시킬 수도 있거나 또는 컨퍼런스 아키텍처 (중앙집중, 비집중 또는 하이브리드) 제한들 내에서 효율적인 통신을 보장할 수도 있다. 일 양태에서, 단말 (110A) 은 하나의 믹싱된 데이터 스트림만을 전송하도록 단말/미디어 게이트웨이 (450) 에 요청할 수도 있는데, 이는 단말 (110A) 이 오직 하나의 데이터 스트림을 디코딩할 수 있거나 또는 단말 (110A) 이 제한된 프로세싱 파워를 갖기 때문이다.
추가적으로, 도 1 내지 도 4 (그리고 아래의 도 5) 에서 단말들 (110A-D), 중앙집중 프로세서 (125), 및/또는 단말/미디어 게이트웨이 (450) 가 능력들을 스위칭하는 것도 가능할 수도 있다. 예를 들어, 단말들 (110A-D) 및 중앙집중 프로세서 (125) 는 도 1 의 컨퍼런스 아키텍처 (100) 에서 동작중일 수도 있고, 중앙집중 프로세서 (125) 는 파워를 손실하거나 또는 믹싱 능력들을 손실할 수도 있다. 일부 양태들에서, 단말 (110D) 은 본질적으로 중앙집중 프로세서 (125) 기능들을 대체하여 컨퍼런스 참여자로서 동작하는 것으로부터 비참여중인 도 4 의 단말/미디어 게이트웨이 (450) 로서 동작하는 것으로 스위칭할 수도 있다. 추가적으로, 도 4 의 단말/미디어 게이트웨이 (450) 는 또한 컨퍼런스에서의 하나 이상의 참여자들 (예를 들어, 단말들 (110A-D)) 로 자신의 데이터 스트림들을 전송하는 것에 의해 컨퍼런스에서 참여중인 단말/미디어 게이트웨이 (450) 로서 동작할 수도 있다. 따라서, 단말들 (110A-D), 중앙집중 프로세서 (125), 및/또는 단말/미디어 게이트웨이 (450) 각각은 도 1 의 중앙집중형 컨퍼런스 아키텍처 (100), 도 2 및 도 3 의 비집중형 컨퍼런스 아키텍처들 (200 및 300), 및 도 4 의 하이브리드 컨퍼런스 아키텍처 (400) 에서 동작하도록 구성될 수도 있다.
일 예에서, 컨퍼런스 (예를 들어, [아래 논의된] 컨퍼런스 아키텍처들 (100, 200, 300, 400, 및 500)) 은 제 1 지속기간 및 제 2 지속기간을 포함하는 컨퍼런스 지속기간을 가질 수도 있다. 일부 양태들에서, 제 1 지속기간 동안, 단말 (110D) 은 도 1 에 예시된 컨퍼런스 참가자로서 동작할 수도 있다. 일부 양태들에서, 제 2 지속기간 동안, 단말 (110D) 은 도 4 (및 아래의 도 5) 에 도시된 바와 같이 단말/미디어 게이트웨이 (450) 로서 동작하도록 스위칭할 수도 있다. 일부 양태들에서, 단말 (110D) 은 중앙집중 프로세서 (125), (도 1 에 예시된 바와 같이) 단말들 (110A-C) 들 중 하나 이상, 또는 다른 제어기 또는 디바이스에 동작 기능들을 스위칭하도록 요청할 수도 있다. 다른 양태들에서, 중앙집중 프로세서 (125) 또는 (도 1 에 도시된 바와 같이) 단말들 (110A-C) 중 하나 이상은 단말 (110D) 이 단말/미디어 게이트웨이 (450) 로서 동작하도록 스위칭할 수 있다고 결정할 수도 있다.
일부 양태들에서, 컨퍼런스 개시 또는 연결은 제 1 지속기간 동안 발생할 수도 있고 컨퍼런스 데이터의 교환은 제 2 지속기간 동안 발생할 수도 있다. 예를 들어, 도 2 및 도 3 에 대하여, 단말 (110A) 은 제 1 지속기간 동안, 단말 (110A) 에 의해 지원되는 코덱 능력들의 리스트를 포함하는 오퍼 메시지를 단말들 (110B 및 110C) 에 송신할 수도 있다. 단말 (110A) 은 단말들 (110B 및 110C) 각각으로부터 응답 메시지를 수신할 수도 있다. 응답 메시지는 개별적인 단말들 (110B 또는 110C) 의 코덱 능력들의 리스트 및 단말들 (110B 및 110C) 에 의해 선택된 코덱 유형을 포함할 수도 있다. 단말 (110A) 은, 단말들 (110B 및 110C) 각각이 응답 메시지들 각각에서 코덱 능력들의 리스트에 기초하여 컨퍼런스에 참여할 수 있는지의 여부를 결정할 수도 있다. 제 2 지속기간 동안, 단말들 (110A-C) 은 데이터 스트림들을 서로 교환할 수도 있다.
일부 양태들에서, 중앙집중 프로세서 (125) 또는 단말들 (110A-C) 중 하나 이상은 단말 (110D) 이 단말/미디어 게이트웨이 (450) 로서 동작하도록 스위칭할 것을 요청할 수도 있다. 일부 실시형태들에서, 요청은 단말 (110D) 의 인코딩/디코딩 능력들에 기초하고 그리고/또는 중앙집중 프로세서 (125) 또는 단말들 (110A-C) 중 하나 이상의 인코딩/디코딩 능력들에 기초할 수도 있다. 예를 들어, 단말 (110A) 은 자신이 2 개의 데이터 스트림들만을 수신할 수 있음을 결정할 수도 있고 단말 (110D) 에 동작들을 스위칭할 것을 요청할 수도 있다. 요청은 단말 (110D) 이 단말들 (110B 및 110C) 로부터의 통신들을 프로세싱 및 믹싱하도록 요청하는 것 및 단말 (110D) 이 믹싱된 데이터 스트림을 단말 (110A) 에 전송하도록 요청하는 것을 포함할 수도 있다. 일부 양태들에서, 단말들 (110B 및 110C) 에 대한 새로운 컨퍼런스 식별자 또는 컨퍼런스 균일 리소스 식별자 (URI) 가 단말 (110D) 에 대한 어드레스임을 표시하는 요청이, 단말 (110A, 110D) 또는 중앙집중 프로세서 (125) 중 하나로부터 단말들 (110B 및 110C) 로 송신될 수도 있다. 일부 양태들에서, 단말들 (110B 및 110C) 에 대하여 데이터 스트림들을 프로세싱 및 믹싱하기 위한 새로운 목적지 (즉 단말 (110D)) 의 요청 또는 표시는 대역 외 통신을 통하여 전송될 수도 있다. 요청에 응답하여, 단말들 (110B 및 110C) 은 그후, 데이터 스트림들을 중앙집중 프로세서 (125) 로 전송하는 것으로부터 데이터 스트림들을 단말 (110D) 로 전송하는 것으로 전환할 수도 있다. 스위칭에 수반되는 잠재적 레이턴시 문제를 감소시키기 위하여, 중앙집중 프로세서 (125) 및/또는 단말 (110D) 이 스위칭이 완료함을 결정할 때까지, 단말들 (110B 및 110C) 은 중앙집중 프로세서 (125) 및 단말 (110D) 양쪽 모두에 데이터 스트림들을 전송할 수도 있다.
도 5 는 단말/미디어 게이트웨이 (450) 가 믹서 및 참여자로서 기능하는 다수의 참여자들에 대한 예시적 하이브리드 컨퍼런스 아키텍처 (500) 의 다이어그램이다. 도 5 에 도시된 바와 같이, 단말 (110A) 은 컨퍼런스에서의 참여자들로서 단말 (110B), 단말/미디어 게이트웨이 (450), 및 단말들 (110D-E) 과의 컨퍼런스를 개시할 수도 있다. 단말 (110A) 은 참여자들 (단말 (110B), 단말/미디어 게이트웨이 (450), 및 단말들 (110D-E)) 이 컨퍼런스에 참여하도록 하는 임의의 방법에 의해 컨퍼런스를 개시할 수도 있다. 예를 들어, 단말 (110A) 은 참여자들과의 대역외 통신 (예를 들어, 컨퍼런스 및/또는 컨퍼런스 브리지를 표시하는 이메일 통신) 을 이용하여 컨퍼런스를 개시할 수도 있다. 일부 양태들에서, 단말 (110A) 은 또한 단말들 (110D 및 110E) 에 대한 대역외 통신을 조합하여, 이들 단말들이 단말/미디어 게이트웨이 (450) 를 통하여 컨퍼런스에 참여하도록, 단말 (110B) 및 단말/미디어 게이트웨이 (450) 에 대하여 위에 설명된 REFER 방법을 채택하여 컨퍼런스를 개시할 수도 있다. 다른 양태들에서, 단말 (110A) 은 컨퍼런스의 시작을 알리는 폴 메시지를 통하여 컨퍼런스를 개시할 수도 있고 단말들 (110B 및 110D-E) 및 단말/미디어 게이트웨이 (450) 는 컨퍼런스에 참여하도록 자신들의 코덱 능력들을 가진 메시지를 송신할 수도 있다. 위에 설명된 바와 같이, 컨퍼런스를 개시하는 다른 방법들이 또한 가능하다.
도 1 내지 도 4 에 대하여 위에 논의된 바와 같이, 단말 (110A) 은 컨퍼런스를 개시할 때 참여자들 각각의 인코딩/디코딩 능력들을 고려할 수도 있다. 도 5 에서, 단말 (110A) 은 데이터 스트림 (516) 을 단말 (110B) 에 송신하고, 데이터 스트림 (519) 을 단말/미디어 게이트웨이 (450) 에 송신하고, 그리고 데이터 스트림들 (517 및 521) 을 단말 (110B) 및 단말/미디어 게이트웨이 (450) 로부터 각각 수신할 수도 있다. 단말 (110B) 은 또한 데이터 스트림 (518) 을 단말/미디어 게이트웨이 (450) 로 송신하고 데이터 스트림 (520) 을 단말/미디어 게이트웨이 (450) 로부터 수신할 수도 있다. 단말/미디어 게이트웨이 (450) 는 또한 데이터 스트림들 (524 및 525) 을 단말들 (110D 및 110E) 로부터 각각 수신할 수도 있고, 데이터 스트림들 (522 및 523) 을 단말들 (110D 및 110E) 로 각각 송신할 수도 있다. 데이터 스트림들 (516-525) 각각은 하나 이상의 오디오 및/또는 비디오 (미디어) 스트림들을 포함할 수도 있다.
일부 실시형태들에서, 단말/미디어 게이트웨이 (450) 는 컨퍼런스에서의 믹서 및 참여자 양쪽 모두로서 기능한다. 예를 들어, 단말/미디어 게이트웨이 (450) 는 데이터 스트림 (519) 을 단말 (110A) 로부터, 데이터 스트림 (518) 을 단말 (110B) 로부터, 데이터 스트림 (524) 을 단말 (110D) 로부터 그리고 데이터 스트림 (525) 을 단말 (110E) 로부터 수신할 수도 있다. 일부 양태들에서, 단말들 (110D 및 110E) 은 하나의 데이터 스트림을 디코딩만 가능할 수도 있고, 단말들 (110A 및 110B) 은 각각 3 개의 데이터 스트림들을 디코딩가능할 수도 있다. 일부 양태들에서, 단말들 (110A 및 110B) 은 단말들 (110D 및 110E) 에 비해 새롭거나 고효율적인 단말들로서 고려될 수도 있다. 일부 양태들에서, 단말들 (110D 및 110E) 은 단말들 (110A 및 110B) 보다 레거시하거나 또는 더 구형인 디바이스들로서 고려될 수도 있다. 일 실시형태에서, 단말/미디어 게이트웨이 (450) 는 단말 (110D) 에 단일의 믹싱된 데이터 스트림 (522) 을 그리고 단말 (110E) 에 단일의 믹싱된 데이터 스트림 (523) 을 송신할 수도 있다. 일부 양태들에서, 단말/미디어 게이트웨이 (450) 는 멀티캐스트된 믹싱된 데이터 스트림을 단말들 (110D 및 110E) 에 송신할 수도 있고 동시에 유니캐스트된 데이터 스트림들 (521 및 520) 을 단말들 (110A 및 110B) 에 전송한다. 추가적으로, 단말/미디어 게이트웨이 (450) 는 단말 (110B) 로부터의 데이터 스트림, 단말/미디어 게이트웨이 (450) 로부터의 데이터 스트림, 및 단말들 (110D 및 110E) 로부터의 믹싱된 데이터 스트림을 포함할 수도 있는 데이터 스트림 (521) 을 단말 (110A) 에 송신할 수도 있다.
다른 양태들에서, 단말/미디어 게이트웨이 (450) 는 컨퍼런스에 다른 참여자들로부터의 데이터 스트림들의 다른 조합들을 송신할 수도 있다. 예를 들어, 단말/미디어 게이트웨이 (450) 는 단말 (110E) 로부터의 데이터 스트림을 무시하고 단말들 (110B, 110D), 및 단말/미디어 게이트웨이 (450) 로부터의 데이터 스트림들만을 단말 (110A) 로 송신할 수도 있다. 단말/미디어 게이트웨이 (450) (그리고 단말들 (110A, 110B, 110D, 및 110E) 중 어느 하나) 는 본원에 설명된 구현들 또는 조합들의 어느 것에 따라 특정 데이터 스트림들을 우선순위화, 선택 및/또는 무시할 수도 있다. 다른 예시의 실시형태에서, 단말/미디어 게이트웨이 (450) 는 단말들로부터의 데이터 스트림들을 수시하고 액티브 스피치 (예를 들어, 110B, 110C) 인 스트림 및 배경/비액티브 스피치 (예를 들어, 110D, 110E) 인 스트림을 식별할 수도 있다. 단말/미디어 게이트웨이 (450) 는 DTX/인액티브 프레임들을 디코딩 및 믹싱하도록 선택하고 다수의 액티브 프레임들과 함께 하나의 인액티브 프레임으로서 (예를 들어, 단말 (110A) 로) 송신할 수도 있다. 많은 수의 참여자들 (예를 들어, N>10) 과의 멀티-파티 컨퍼런스에서, 단말/미디어 게이트웨이 (450) 에서의 DTX/인액티브 프레임들의 위에 논의된 선택적 프리-파싱 및 믹싱은 프로세싱을 위하여 단말에서 수신된 다수의 스트림들의 수를 감소시킬 수도 있다. 수신 단말 (예를 들어, 110A) 은 디코딩을 위하여 검사 및 우선순위화하도록 보다 적은 스트림들을 이때 가질 수도 있다. 다른 예시의 실시형태에서, 단말/미디어 게이트웨이 (450) 는 DTX/인액티브 프레임들과 연관된 대응하는 비디오 스트림들을 결정하고, 이들 비디오/이미지 데이터 스트림들의 타일링/재-인코딩을 하나의 비디오 스트림으로 수행할 수도 있고 이에 의해, 프로세싱을 위하여 단말에서 수신된 다수의 비디오 스트림들의 수를 감소시킬 수도 있다.
도 4 에 대하여 위에 논의된 바와 같이, 일부 양태들에서, 도 5 의 단말들 (110A, 110B, 110D, 110E) 및 단말/미디어 게이트웨이 (450) 의 어느 것은 여러 방식들로 동작하는 기능들을 스위칭할 수도 있다. 예를 들어, 단말 (110B) 및 단말/미디어 게이트웨이 (450) 는 (예를 들어, 대역외 통신을 통하여 또는 코덱 능력들의 분석을 통하여) 단말/미디어 게이트웨이 (450) 의 믹싱 동작들을 단말 (110B) 로 전달하도록 결정할 수도 있다. 일부 양태들에서, 단말/미디어 게이트웨이 (450) 및/또는 단말 (110B) 은 단말 (110B) 이 단말/미디어 게이트웨이 (450) 의 프로세싱 및 믹싱 동작들을 넘길 것임을 다른 컨퍼런스 참여자들에 직접적으로 또는 간접적으로 (예를 들어, 다른 단말을 통하여 또는 대역외 통신에서) 브로드캐스트할 수도 있다. 단말 (110B) 이 단말/미디어 게이트웨이 (450) 의 프로세싱 동작들을 넘기는 것으로서 논의되어 있지만, 다른 실시형태에서 단말들 (110A, 110D, 또는 110E) 또는 다른 디바이스의 어느 것이 이와 유사하게 단말/미디어 게이트웨이 (450) 의 프로세싱 및/또는 믹싱 동작들을 대체할 수도 있다.
다른 실시형태들에서, 단말/미디어 게이트웨이 (450) 는 컨퍼런스 참여자가 이때 컨퍼런스 데이터 스트림들을 단말 (110B) 에 전송하도록 단말/미디어 게이트웨이 (450) 에 전송하고 있는 컨퍼런스 데이터 스트림들을 전달하도록 REFER 방법을 이용하여 다른 컨퍼런스 참여자들에게 브로드캐스트할 수도 있다. 또한, 모드 컨퍼런스 참여자들이 자신들의 데이터 스트림들을 단말 (110B) 로 송신하고 있을 때까지 일 기간 동안 컨퍼런스 참여자들은 자신들 각자의 데이터 스트림들을 단말/미디어 게이트웨이 (450) 및 단말 (110B) 양쪽 모두에 전송할 수도 있다. 이와 유사하게, 모든 단말들이 가능성있는 인터럽션 또는 레이턴시 문제들을 감소시키기 위하여 스위칭 오버하였다고 단말/미디어 게이트웨이 (450) 및/또는 단말 (110B) 이 결정할 때까지, 단말/미디어 게이트웨이 (450) 및 단말 (110B) 은 일 기간 동안 이들이 다른 컨퍼런스 참여자들로부터 수신하는 다수의 데이터 스트림들을 동시에 프로세싱 및 믹싱 양쪽을 행할 수도 있다.
일부 실시형태들에서, 제공되는 정보의 세분화도와 보다 많은 동시 동작들을 지원하는 능력을 표시하는 능력 사이에 절충이 존재할 수도 있다. 벤더들 또는 오퍼레이터들이 지원될 수 있는 동시 세션들에 대한 세부적인 정보를 통신하기를 희망하는 시나리오들 또는 디바이스들이 존재할 수도 있다, 예를 들어, 하이-엔드 비지니스 단말들이 멀티-파티 컨퍼런스를 위하여 특히 설계된다. 한편, 벤더 또는 오퍼레이터가 매우 기본적인 기능만을 원하는 세션에서 3 내지 4 개 보다 많은 참여자들을 지원하도록 설계되지 않는 미드-엔드 내지 로우-엔드 단말들이 존재할 수도 있다. 통신될 적절한 양의 정보가 시나리오 및 디바이스에 의존할 수도 있기 때문에, 상이한 케이스들을 수용하는 것이 바람직할 수도 있다. 일부 양태들에서, 위에 설명된 포맷들 중 하나를 선택하는 대신에, 단말 (예를 들어, 단말들 (110A-E) 또는 단말/미디어 게이트웨이 (450)) 은 상술한 포맷들 중 어느 것을 선택할 수도 있다. 모든 코덱 능력들 정보를 컨퍼런스 참여자들로부터 수신해야 하는 개시자 단말 (예를 들어, 단말 (110A)) 은 모든 포맷들을 디코딩하고 이해할 수 있어야 한다.
코덱 능력 정보에 대한 위의 포맷 요건들을 충족하는 일 예는 각각의 데이터 유형 (예를 들어, 오디오 또는 비디오), 또는 각각의 코덱의 최대 수의 동시 구현들을 통신하는 것이다.
데이터 유형에 따른 한계들
예를 들어, 새로운 세션-레벨 SDP 속성들이 다음과 같이 정의될 수 있다:
a = max_dec_audio:<num_instances>
a = max_dec_video:<num_instances>
a = max_enc_audio:<num_instances>
a = max_enc_video:<num_instances>
일부 양태들에서, <num_instances> 는 단말에 의해 지원되는 그 데이터 유형 (예를 들어, 첫번째 및 세번째에 오디오, 또는 두번째 및 네번째에 비디오) 의 (예를 들어, 첫번째 2 개에 대한) 동시 디코더들의 최대 수 또는 (마지막 2 개에 대한) 인코더들의 최대 수를 특정하는 1 내지 16 (이들 수를 포함) 의 정수이다.
또는 신규의 데이터 레벨 SDP 속성들이 다음과 같이 정의될 수 있다:
a = max_dec:<num_instances>
a = max_enc:<num_instances>
일부 양태들에서, <num_instances> 는 단말에 의해 지원되는 그 데이터 유형 ("m=" 라인 가장 맨 위) 의 (a=max_dec 에 대한) 동시 디코더들의 최대 수 또는 (a=max_enc 에 대한) 인코더들의 최대 수를 특정하는 1 내지 16 (이들 수를 포함) 의 정수이다.
일부 실시형태들에서, 이 예시적 솔루션들은 위에 설명된 코덱 능력 정보에 대한 포맷 요건들을 충족하지 않을 수도 있다. 일부 양태들에서, 동시 인스턴스들의 최대 수는 가장 계산 집약적 코덱에 의해 제약될 수도 있다. 예시적 실시형태에서, 단말이 H.265 코덱을 지원하고 자신이 2 개까지의 비디오 인코더 발생들 (H.264 및 H.265) 을 지원할 수 있음을 표명하는 비디오 전화 세션에, 이들 2 개의 비디오 인코더들에 대한 충분한 리소스들을 예약해야 함을 알고 있다면, 단말은 자신이 핸들링할 수 있는 데이터 (예를 들어, 비디오 또는 스피치) 의 디코더 인스턴스들의 수에서 제한받을 수도 있다.
일부 양태들에서, 디코더 인스턴스들의 수에 대한 제한들은 단말이 덜 복잡한 디코더를 이용하여 다수의 참여자들과의 컨퍼런스들에 포함되는 것을 방지할 수 있거나 컨퍼런스에서의 참여자들이 세션에서 더 진보된 선택적 코덱들을 이용하는 것을 방지할 수도 있다.
코덱 유형에 따른 한계들
추가적으로, 새로운 SDP 파라미터들이 다음과 같이 정의될 수 있다:
a=max_dec:<codec> <num_instances>
a=max_enc:<codec> <num_instances>
일부 양태들에서, <codec> 는 그 코덱에 대한 RTP 페이로드 포맷에서 정의된 바와 같이 코덱의 데이터 유형 명칭이며, 예를 들어, 각각 IETF RFC 6184 (이곳에서 입수가능: https://tools.ietf.org/html/rfc6184) 에 정의된 바와 같이 H.264 에 "video/H264" 그리고 H.265 RTP 페이로드 포맷 (이것의 가장 최신 버전은 이곳에서 입수가능: https://tools.ietf.org/html/draft-ietf-payload-rtp-h265-14) 에서 정의된 바와 같이 H.265 에 "video/H265" 이다. 일부 양태들에서, <num_instances> 는 특정된 코덱의 (a=max_dec 에 대한) 동시 디코더들의 최대 수 또는 (a=max_enc 에 대한) 인코더들의 최대 수를 특정하는 1 내지 16 (이들 수를 포함) 의 정수이다.
다른 구현들에서, 상이한 레벨들의 비디오 코덱이 상이한 능력으로 이루어질 수 있음을 고려하기 위하여, 신규의 데이터-레벨 SDP 속성들이 다음과 같이 정의될 수 있다:
a=max_dec:<codec> <level> <num_instances> [<profile>]
a=max_enc:<codec> <level> <num_instances> [<profile>]
일부 양태들에서, <codec> 은 위와 동일하다. 일부 양태들에서, <level> 은 그 코덱의 레벨을 특정하며, 예를 들어, H.264 및 H.265 에, 값은 ITU-T H.264 사양에서 정의된 level_idc 및 H.265 RTP 페이로드 포맷에서 정의된 level-id 와 각각 같고 (이것의 최신 버전은 이 곳에서 입수가능함: https://tools.ietf.org/html/draft-ietf-payload-rtp-h265-14) 그리고 코덱이 EVS 일 때, 이 필드의 값은 NB, WB, SWB 및 FB 를 각각 특정하는 1, 2, 3 및 4 이다. 일부 양태들에서, <num_instances> 는 (존재할 때) 특정된 레벨 및 프로파일에서 특정된 코덱의 (a=max_dec 에 대한) 동시 디코더들의 최대 수 또는 (a=max_enc 에 대한) 인코더들의 최대 수를 특정하는 1 내지 16 (이들 수를 포함) 의 정수이다. 일부 양태들에서, 선택적인 것인 <profile> 은 그 코덱의 프로파일을 특정하며, 예를 들어, H.264 및 H.265 에, 값은 ITU-T H.264 사양에서 정의된 profile_id 및 H.265 RTP 페이로드 포맷에서 정의된 profile-id 와 각각 같다 (이것의 최신 버전은 이 곳에서 입수가능함: https://tools.ietf.org/html/draft-ietf-payload-rtp-h265-14).
일부 실시형태들에서, 모든 위의 대안들에 대하여, 0 의 값은 <num_instances> 에 또한 허용될 수도 있고, 값 0 은 단말이 데이터 스트림들을 골라서 트리밍가능함을 특정한다. 일부 양태들에서, 데이터 스트림들을 골라서 트리밍가능한 단말은 무한 개의 데이터 스트림들을 핸들링할 수 있다.
다른 구현들에서, 비디오 코덱에 대한 다른 대안은 다음과 같이 신규의 SDP 속성을 정의할 수도 있다:
a=max_vdec_cap:<codec> <max_block_ps>
a=max_venc_cap:<codec> <max_block_ps>
일부 양태들에서, <codec> 은 위와 동일하다. 일부 양태들에서, <max_block_ps> 는 특정된 비디오 코덱의 (a=max_dec 에 대한) 모든 동시 비디오 디코더들 또는 (a=max_enc 에 대한) 인코더들에 의해 프로세싱될 수 있는 초 당 8x8 루마 블록들의 최대 수를 특정한다.
일부 실시형태들에서, 이 예시적 솔루션들은 위에 설명된 코덱 능력 정보에 대한 포맷 요건들을 충족하지 않을 수도 있다. 일부 양태들에서, 인코더들 및 디코더들의 코덱들의 믹스가 있을 때 얼마나 많은 동시 인코더들 및 디코더들이 지원될 수 있은지를 컨퍼런스 개시자 단말 (예를 들어, 도 2 내지 도 5 의 단말 (110A)) 이 얼마나 정확하게 결정할 수 있는지는 명확하지 않을 수도 있다. 일부 실시형태들에서, 얼마나 많은 동시 인코더들 및 디코더들이 지원될 수 있는지를 추정하는 방법은 이용되고 있는 가장 계산적으로 부담하는 코덱의 인코더/디코더 제한을 이용하는 것이다. 일부 양태들에서, 인코더/디코더 제한들은 가장 복잡한 코덱에 의해 제약될 수도 있고, 이는 단말이 핸들링할 수 있는 데이터 (예를 들어, 비디오 또는 스피치) 의 디코더 인스턴스들의 수를 제한할 수도 있다. 예를 들어, 일부 양태들에서, 디코더 인스턴스들의 수에 대한 제한들은 단말이 덜 복잡한 디코더를 이용하여 다수의 참여자들과의 컨퍼런스들에 포함되는 것을 방지할 수 있거나 컨퍼런스에서의 참여자들이 세션에서 더 진보된 선택적 코덱들을 이용하는 것을 방지할 수도 있다.
코덱 능력 정보에 대한 위의 포맷 요건들을 충족하는 다른 예는 각각의 인코딩/디코딩 기능마다 할당되거나 이용되는 프로세서 리소스들의 백분율을 기술하는 것이다. 이는 주어진 프로세서에서 할당된 리소스들의 100% 이하로 총 복잡도 부하를 유지하게 하는 한 인코더들 및 디코더들과 함께, 개시자 단말이 상이한 데이터 유형들의 코덱들을 포함한 코덱들을 믹싱 및 매칭할 수 있게 한다. 위의 정보를 기술하는 일 방법은 2 개의 새로운 SDP 속성들을 도입하는 것일 수도 있다:
a=enc_use:<codec> <alloc_factor> <proc_idx>
a=dec_use:<codec> <alloc_factor> <proc_idx>
여기에서, <alloc_factor> 는 0 내지 1.0 의 범위에 있으며, (a=enc_use 에 대한) 인코딩 또는 (a=dec_use 에 대한) 디코딩을 위한 프로세서 인덱스 <proc_idx> 를 가진 프로세서를 이용할 때 특정된 코덱에 대한 리소스 할당 팩터를 기술한다.
다른 실시형태들에서, 위의 정보를 기술하는 다른 방법은 2 개의 새로운 SDP 속성들을 도입하는 것일 수도 있다:
a=enc_use:<codec> <level> <alloc_factor> <proc_idx> [<profile>]
a=dec_use:<codec> <level> <alloc_factor> <proc_idx> [<profile>]
일부 양태들에서, <codec>, <level>, 및 <profile> 위와 동일하다. 일부 양태들에서, <alloc_factor> 는 0 내지 1.0 의 범위에 있으며, (a=enc_use 에 대한) 인코딩 또는 (a=dec_use 에 대한) 디코딩을 위한 프로세서 인덱스 <proc_idx> 를 가진 프로세서를 이용할 때 특정된 코덱에 대한 리소스 할당 팩터를 기술한다. 일부 실시형태들에서, 개시자 단말은 제안된 컨퍼런스가 참여자들의 동시 코덱 능력들의 어느 것도 초과하지 않음을 보장하도록 각각의 참여자로부터의 위의 정보를 이용할 수도 있다.
정보는 표 3 에서 다음과 같이 개념화될 수도 있다:
[표 3]
코덱 동시 코덱 조합 프로파일들의 리스팅
코덱 능력 정보에 대한 위의 포맷 요건들을 충족하는 다른 예시적인 솔루션은 단말이 동시적으로 핸들링할 수 있는 코덱 동작들의 모든 조합을 리스트하는 것이다. 이는 각각의 코덱 기능에 의해 소모되는 프로세서 로딩을 통신하는 것을 요구하지 않는 점에서 이점을 가질 수도 있다. 아래의 표 4 는 이전 섹션에서 설명된 프로세서 로딩 팩터들에 기초하여 지원되는 프로파일들의 비배적 리스트를 제공한다. 예를 들어, 프로세서 로딩 팩터는 표 3 에 대하여 위에 설명된 리소스 할당 팩터를 포함할 수도 있다. 양태들에서, 코덱 유형 또는 데이터 유형의 단말에 의한 선택은 리소스 할당 팩터 또는 프로세서 로딩 팩터에 기초할 수도 있다.
일부 실시형태들에서, 2 개의 새로운 SDP 속성들, a=enc_list 및 a=dec_list 가 (ABNF (augmented backus-naur form) 에서) 다음과 같이 정의된다:
일부 양태들에서, num 은 리스트의 엔트리에서 (존재할 때) 특정된 레벨 및 프로파일에서 특정된 코덱의 (a=enc_list 대한) 지원되는 동시 인코더들의 최대 수 또는 (a=dec_list 에 대한) 디코더들의 최대 수를 특정한다. 일부 양태들에서, 코덱, 레벨 및 프로파일은 리스트의 엔트리에서 위에 주어진 <codec>, <level> 및 <profile> 과 각각 동일한 시맨틱스들을 갖는다.
대안적으로, 새로운 SDP 속성이 ABNF 에서 다음과 같이 정의될 수 있다:
일부 양태들에서, num 은 리스트의 엔트리에서 (존재할 때) 특정된 레벨 및 프로파일에서 특정된 코덱의 (function = "ENC"일 때) 지원되는 동시 인코더들의 최대 수 또는 (function = "DEC"일 때) 디코더들의 최대 수를 특정한다. 일부 실시형태들에서, 코덱, 레벨 및 프로파일은 위에 주어진 <codec>, <level> 및 <profile> 과 각각 동일한 시맨틱스들을 갖는다.
다른 실시형태들에서, 새로운 SDP 속성이 ABNF 에서 다음과 같이 정의될 수 있다:
일부 양태들에서, 코덱, 레벨 및 프로파일은 위에 주어진 <codec>, <level> 및 <profile> 과 각각 동일한 시맨틱스들을 갖는다. 일부 양태들에서, num 은 (존재할 때) 특정된 레벨 및 프로파일에서 특정된 코덱의 (조합이 "ENC"를 뒤따를 때) 지원되는 동시 인코더들의 최대 수 또는 (조합이 "DEC"를 뒤따를 때) 디코더들의 최대 수를 특정한다. 일부 양태들에서, codec_idx 는 (존재할 때) 특정된 레벨 및 프로파일에서 특정된 코덱의 리스트 codeclist 에 대한 인덱스를 특정한다.
일부 실시형태들에서, num 은 num = %d0-16 으로서 정의될 수도 있다. 위의 설명 및 식들에 더하여, 단말이 데이터 스트림들을 골라서 트리밍가능함을 특정한다. 일부 양태들에서, 데이터 스트림들을 골라서 트리밍가능한 단말은 무한 개의 데이터 스트림들을 핸들링할 수 있다.
다른 실시형태들에서, 1 내지 16 (이들 수를 포함) 의 범위의 num 을 갖는 위의 대안에서, 하나 이상의 새로운 SDP 속성이 다음과 같이 정의된다:
a=stream_trimming
일부 양태들에서, 이 속성의 존재는 단말이 데이터 스트림들을 골라서 트리밍가능함을 특정한다. 일부 양태들에서, 데이터 스트림들을 골라서 트리밍가능한 단말은 무한 개의 데이터 스트림들을 핸들링할 수 있다. 조합에서 num 의 값은 여전히 특정 코덱, 프로파일 및 레벨의 실제 지원되는 동시 인코더들 또는 디코더들의 최대 수를 특정한다. 이 경우, 단말은 데이터 스트림들의 임의의 양을 수신할 수 있고 코덱/프로파일/레벨 조합 각각 마다 a=codec_list 속성에 의해 허용되는 양으로 데이터 스트림들을 트리밍할 수 있다.
일부 양태들에서, 많은 코덱 조합들이 존재할 수 있고 이는 지원되는 코덱의 수가 증가함에 따라 기하급수적으로 증가한다. 이는 메시지 사이즈, 예를 들어, SDP/SIP를 증가시킬 수 있다. 예를 들어, 시그널링에서의 일부 감소는 복잡도를 감소시키기 위하여 코덱 기능들을 리스팅하는 것과 같이 추가적인 규칙들을 적용하는 것에 의해 이루어질 수 있다. 그후, 이러한 이해하에 더 높은 복잡도의 코덱 기능의 인스턴스들의 수가 1 씩 감소하면, 동일한 프로세서 상의 덜 복잡한 코덱 기능들 중 하나의 기능의 인스턴스가 적어도 하나씩 증가될 수 있다. 일부 양태들에서, 이는 인스턴스들의 수가 감소되는 코덱 프로세스가 다른 코덱 프로세스들보다 더 복잡할 때 최적 한계값 이하를 제공할 수 있지만, 이는 프로파일의 수를 생략하는 것을 허용할 수도 있다. 일부 양태들에서, 단말이 완전 해상도 이미지로 사이멀캐스트되는 섬네일을 생성할 필요가 있다면 동일한 비디오 코덱의 동시 동작이 필수적일 수도 있다.
[표 4]
지원되는 동시 코덱 조합들의 프로파일들
표 4 에 리스트된 프로파일들은, 오직 하나의 인코더만이 한번에 지원되기 때문에, 동일한 코덱을 이용하는 비디오 (즉, 낮은 해상도 이미지 및 높은 해상도 이미지) 의 사이멀캐스트를 요구하는 케이스들을 이용하기에는 잘 적용되지 않을 수도 있다. 이는 프로파일 방식 자체가 아닌 프로세서 로딩의 제한일 수도 있다.
일부 실시형태들에서, 표 4 에서의 프로파일들 A 내지 D 는 EVS 의 이용을 허용하지 않는다는 희생하에 H.265 를 이용하는 "HD Video" 프로파일들로서 고려될 수 있다. 프로파일들 A 내지 C 가 4 개의 H.264 스트림들의 디코딩을 핸들링할 수 있지만, 이들은 하나의 비디오 스트림만을 인코딩가능할 수도 있기 때문에, 이들 프로파일들은 통상의 멀티-유니캐스트 비디오 컨퍼런스들에 이용되지 못할 수도 있다. 일부 양태들에서, 이 단말의 사용자는 다른 참여자들 중 한 명에게 비디오를 전송하는 것만 희망할 수도 있다, 예를 들어, 수화를 전달하기 위해 이용되는 비디오 사이드 바 대화를 전송하는 것만을 희망할 수도 있다.
단순 2-파티 비디오 세션들과는 별개로, 프로파일들 A 내지 D 는 H.265 코덱이 모든 단말들에 의해 지원되는 것으로 알려져 있는 멀티캐스팅 또는 "포커싱 기반 멀티캐스팅" 컨퍼런스들에 보다 더 적용가능한 것일 수도 있다. AMR-NB 가 지원되지 않을 때 AMR-NB 가 제공되는 서비스에 대한 필수적인 코덱이면 프로파일 C 는 무효인 것으로서 고려될 수도 있음을 주지한다.
일부 양태들에서, 프로파일 F 는 스피치 전용 컨퍼런스들에 이용되는 "HD 음성 전용 (HD Voice only)" 프로파일인 것으로 고려될 수 있다. 동일한 인코더를 이용한 스피치의 동시적 인코딩을 요구하는 이용 케이스들이 아직 식별되지 않았기 때문에 스피치 전용 프로파일들은 각각의 스피치 인코더의 하나의 인스턴스를 동시에 동작시키는 것을 고려하는 것만이 필요할 수도 있다. 이는 스피치 단독 컨퍼런스들에서만 리스트될 필요가 있는 프로파일들의 수를 단순화시킬 수 있고 프로파일 F 는 13 개보다 많은 참여자들을 지원하는 컨퍼런스들은 가능성이 낮고 (아래 추가로 설명된) 단말의 RTP 스트림 프로세싱 한계들을 명백히 초과할 수도 있기 때문에 오직 관련 스피치-전용 프로파일인 것으로만 나타난다.
(아래 추가로 설명된 바와 같이) 수신된 미디오 스트림들 모두를 디코딩할 필요가 없이 수신된 미디어 스트림들의 트리밍 또는 감소를 수행하는 단말들에, 디코더 기능의 인스턴스들의 수는 표 5 에서 다음과 같이 "무한대"로서 표시될 수 있다. 표 5 는 수신된 오디오 데이터의 3 개 아래의 스트림들로 트리밍할 수 있는 단말에 대한 예시적 실시형태를 예시한다:
[표 5]
도 1 내지 도 5 를 참조하여 위에 주지된 바와 같이 수신 단말 또는 디바이스 (예를 들어, 단말 (110B), 단말/미디어 게이트웨이 (450) 등) 는 동시에 동작/디코딩해야 하는 디코더 인스턴스들의 수를 감소시키기 위해 특정 데이터 스트림들을 우선순위화하여 무시할 수 있다. 단말이 이러한 "트리밍" 알고리즘을 채택하고 자신이 동시 디코딩 능력들에 매칭하도록 디코딩할 필요가 있는 데이터 스트림들의 수를 제한할 수 있다면, 단말은 단말의 디코딩 능력들에 기초하여 호에서의 참여자들의 수를 제한하도록 컨퍼런스 개시자에게 요구하지 않는다. 이 경우에, 단말은 표 6 의 다음 예에서 예시된 바와 같이 이러한 데이터 스트림들에 대응하여 0 의 리소스 할당 팩터를 표시할 수 있다:
[표 6]
RTP 스트림 프로세싱 한계들
많은 데이터 스트림들의 동시 디코딩을 지원하는 능력은, 디코딩이 컨퍼런스의 사이즈를 설정함에 있어서 제한 팩터가 아닌 것으로서 할 가능성도 있다. 단말들의 프로토콜 스택에 의해 핸들링될 수 있는 실시간 트랜스포트 프로토콜 (real-time transport protocol; RTP) 데이터 스트림들의 수는 제한 팩터가 된다. 따라서, 또한 이 정보를 통신하는 것이 유리할 수도 있다. 또한, 2 개의 새로운 세션-레벨 SDP 속성들은 동시 RTP 스택들의 수에 대한 한계들을 특정하도록 정의될 수 있다:
a=rtp_tx_limit:<rtp_instances>
a=rtp_rx_limit:<rtp_instances>
일부 양태들에서, <rtp_instances> 는 지원되는 동시 RTP 세션들의 최대 수를 특정하는, 1 내지 32 (이들 수를 포함) 의 정수이다. 일부 양태들에서, 컨퍼런스 개시자 단말 (예를 들어, 도 2 내지 도 5 의 단말 (110A)) 은 컨퍼런스에서의 각각의 참여자로부터의 위의 정보를 이용하여, 제안된 컨퍼런스가 참여자들의 코덱 또는 RTP 프로세싱 능력들을 초과하지 않는 것을 보장한다.
일부 실시형태들에서, 개시자 단말은 다른 참여자들의 동시 능력들이 미리 알려진 다른 참여자들의 능력들과 개시자 단말의 동시 코덱 능력들에 기초하여 오퍼 메시지를 전송할 수도 있다. 오퍼 메시지를 수신한 후, 각각의 참여자의 단말은 자신이 이전 섹션들에서 설명된 제약들을 충족하는지를 결정하기 위해 제공된 코덱들의 최대 수 및 N 을 결정하기 위해 오퍼 메시지를 조사할 수도 있다. 단말이 참여할 수 있다면, 단말은 선택된 코덱으로 응답할 수도 있다.
다른 실시형태에서, 다른 참여 단말들 (예를 들어, 단말들 (110B 및 110C)) 은 또한 응답 메시지에서 자신들의 동시 코덱 능력들을 또한 포함할 수 있다. 이는 개시자 단말이 동일한 개시자 단말에 의해 개시되는 임의의 추가의 컨퍼런스들에 대하여 적절하게 고려되는 것을 저장 및 보장할 수도 있다. 일부 양태들에서, 개시자 단말은 데이터베이스에서 능력들을 저장할 수도 있다.
참여 단말이 자신이 참여할 수 없다고 결정하면, 참여 단말은 응답 메시지에 이를 표시하고 자신의 동시 코덱 능력들을 전송한다. 개시자 단말은 그 후, 다른 참여 단말들로부터의 응답들을 다음과 같이 프로세싱할 수도 있다 : (1) 개시자 단말이 어떠한 네가티브 응답들도 수신하지 않으면 단말은 컨퍼런스를 계속하는 것을 허용하고; (2) 개시자 단말이 네가티브 응답을 수신하면 단말은 모든 수신된 동시 코덱 능력들을 이용하여 실행가능한 오퍼 메시지를 구성하고, 이것을 참여자들 일부 또는 전부에게 새로운 메시지 (예를 들어, SIP Re-INVITE/UPDATE 메시지) 에서 송신한다.
일부 실시형태들에서, 각각의 단말은 자신의 어드레스 북 또는 데이터베이스에 단말들 각각에 대한 동시 코덱 능력 프로파일을 저장할 수도 있다. 이 프로파일은 각각의 단말의 각각의 데이터 유형에 대한 MaxEnc 및 MaxDec 를 포함할 수 있다. 다른 양태들에서, 이 프로파일은 코덱의 각각의 인스턴스에 의해 이용된 프로세서 복잡도의 백분율 또는 리소스 할당 팩터와 함께 모든 데이터 유형들에 대한 단말의 코덱들의 리스트를 포함할 수도 있다. 예를 들어, 아래의 표 7 은 코덱의 각각의 인스턴스에 의해 이용된 프로세서 복잡도의 백분율과 함께 모든 데이터 유형들에 대한 단말들의 코덱들의 예시적 리스트를 예시한다:
[표 7]
일부 양태들에서, 그 후, 개시자 단말은 본원에 설명된 제약 고려 요건들을 이용하여 각각의 참여자에 의해 충족될 수 있는 오퍼 메시지를 결정하기 위해 참여자들 각각의 위의 프로파일을 이용할 수 있다.
이들의 동시 코덱 능력들을 통신함에 있어서, 단말들은 또한 특정 데이터 유형의 데이터 스트림들을 우선순위화하여 무시할 수 있기 때문에 단말들은 자신들이 더 많은 데이터 스트림들의 수신을 핸들링할 수 있음을 또한 표시할 수 있다. 예를 들어, 단말 (110A) 은 자신이 3 개까지의 EVS 데이터 스트림들 (각각 20% 의 프로세서를 이용함) 을 동시에 디코딩할 수 있음을 표시할 수도 있고 그 후 수신된 임의의 추가적인 데이터 스트림들을 무시한다.
일부 양태들에서, 단말들은 또한, 실행가능한 오퍼 메시지가 제 1 개시 메시지들 (예를 들어, 제 1 SIP INVITE) 에 포함되는 것을 보다 잘 보장하기 위해, 컨퍼런스가 개시되기 전에 동시 코덱 능력 정보를 교환할 수 있다. 동시 코덱 능력 정보의 이 교환은 다음과 같이 수행될 수 있다 : 사용자가 다른 사용자를 단말 상의 이들의 어드레스 북 또는 딕셔너리에 추가할 때, 또는 단말의 코덱 능력들이 (단말 하드웨어의 다운로딩 또는 스와핑을 통하여) 변경될 때, 어드레스 북 애플리케이션들은 서로 컨택하여 동시 코덱 능력들 뿐만 아니라 임의의 다른 퍼스널 정보 (홈 어드레스 등) 을 교환한다. 이 정보/프로파일 교환은 콘택 정보 식별자 (ID) 가 사용자들 사이에서 제공되는 것이면 무엇이든 이용하여 수행될 수도 있다. 예를 들어, ID 가 이메일 어드레스이면 이메일 교환에서 임베디드 프로파일 MIME (multipurpose internet mail extensions) 타입을 통하여; ID 가 전화번호이면 SMS (short message service) 상에서 전송된 XML (extensible markup language) 방식을 통하여; 일부 다른 메시징 프로토콜 상에서 전송된 XML 방식을 통하여 수행될 수도 있다. 프로파일 정보는 여러 방식들로 업데이트될 수 있다. 예를 들어, 사용자들이 서로에 또는 단말내 믹싱으로 컨퍼런스들을 확립하기 위하여 이전에 설명된 프로토콜을 통하여 통화를 한다, 즉 동시 코덱 능력들이 응답에서 전송될 수 있다. 다른 예에서, 프로파일을 저장하는 단말은 능력들이 변경되는지를 알기 위해 다른 사용자의 단말과 자율적으로 그리고 주기적으로 (예를 들어, 한달 마다) 체크백하도록 타이머를 설정할 수도 있다. 이들 능력들은 자신들의 핸드셋을 변경하거나 또는 사용자에 의한 소프트웨어 업데이트 또는 다운로드 때문에 변경될 수 있다. 일부 양태들에서, 프로파일을 제공하였던 단말은 자신의 능력들이 변경될 때마다 어드레스 북에서의 모든 사용자들을 업데이트할 수도 있다. 대안적으로, 컨퍼런스에서의 (개시자들이 아닌) 둘 이상의 참여자들은 참여자들 사이의 데이터 세션을 설정할 때 자신들의 동시 코덱 능력들을 교환할 수 있다.
일부 양태들에서, OPTIONS 요청은 단말의 코덱 능력들을 설명하는 것을 제공하는 SDP (session description protocol) 의 카피본을 전송하도록 단말에 문의하는 것에 의해 다른 단말의 코덱 능력들을 쿼리하는데 이용될 수 있다. 이 SDP 는 위에 설명된 바와 같이 동시 코덱 능력 정보를 포함할 것이다. OPTIONS 요청은 컨퍼런스 통화에 앞서 행해질 수 있고 SDP 응답은 쿼리된 단말에 대한 프로파일에 저장될 수도 있다. 일부 실시형태들에서, 컨퍼런스를 세트업하기 직전에, 컨퍼런스 개시자는 미리 저장된 정보를 갖지 않은, 초대하기로 계획되어 있는 모든 단말들의 코덱 능력들을 쿼리할 수 있다.
도 6 은 컨퍼런스에서의 코덱 협상을 위한 다른 예시적 방법의 플로우차트이다. 도 6 에 도시된 방법 (600) 은 컨퍼런스 아키텍처 (100, 200, 300, 및/또는 400) 에서 하나 이상의 디바이스들을 통하여 구현될 수도 있다. 일부 양태들에서, 방법은 도 1 내지 도 4 의 사용자 단말들 (110A-D) 및/또는 중앙집중 프로세서 (125) 또는 임의의 다른 적절한 디바이스와 유사한 디바이스에 의해 구현될 수도 있다.
블록 605 에서, 단말 또는 프로세서는 둘 이상의 디바이스들에 요청 메시지를 송신할 수도 있고, 요청 메시지는 둘 이상의 디바이스들 각각에 의해 지원되는 코덱 능력들의 리스트를 요청한다. 메시지는 단말 또는 메시지에 의해 지원되는 코덱 능력들의 리스트의 표시를 포함할 수도 있다. 일부 양태들에서, 메시지는 개시자 단말 또는 프로세서의 동시 코덱 능력들에 기초할 수도 있다. 일부 실시형태들에서, 메시지는 또한 자신들의 동시 능력들이 미리 알려져 있는 다른 참여자들의 코덱 능력들에 기초할 수도 있다.
블록 610 에서, 단말은 둘 이상의 디바이스들 각각으로부터 응답 메시지를 수신하고, 응답 메시지는 둘 이상의 디바이스들 각각에 의해 지원되는 코덱 능력들의 리스트의 표시를 포함한다. 일부 양태들에서, 응답을 수신한 후에, 단말 또는 프로세서는 복수의 참여자들의 코덱 능력들의 표시된 리스트를 결정하기 위해 수신된 메시지를 프로세싱할 수도 있다.
일부 실시형태들에서, SDP 파라미터들은 이와 유사하게, 콤팩트 CCC SPD 오퍼들 및 회답들을 이용하여 MMCMH (multi-stream multiparty conferencing media handling) 세션 확립시에 감소될 수도 있다. 본원에 설명된 콤팩트 CCC SDP 파라미터의 ABNF 정의는 MMCMH 세션 확립을 위하여 콤팩트 CCCEx 및 CCC 양쪽 모두에 적용할 수도 있다. 그러나, CCC 가 단일 SDP 라인으로 하향압축되도록 허용되는 CCCEx 에 대한 콤팩트 CCC 를 이용하면서, MMCMH 세션 개시를 위한 콤팩트 CCC 를 이용하는 것은 SDP 오퍼가 SDP 오퍼/회답 모델 또는 예상에 순응하는 필요에 의해 제한될 수도 있다. 예를 들어, MMCMH 세션 확립에서, SDP 오퍼는 SDP 회답이, 단말들 (예를 들어, 제공자 단말 및 회답하는 단말) 에 의해 지원되는 코덱 구성들의 임의의 조합을 선택할 수 있도록 충분한 미디어 라인들을 포함할 수도 있다. 예를 들어, 오퍼에 적어도 R 개의 미디어 라인들이 존재해야 하며, 여기에서 R 은 제공자 단말이 동시에 수신 및 디코딩할 수 있는 스트림들의 최대 수이다.
MMCMH 세션 확립을 위한 콤팩트 CCC SDP 오퍼 파라미터는 본원에 논의된 바와 같이 수행될 수 있다. 일부 구현들에서, 3 개의 오디오 코덱들 (AMR-NB, AMR-WB, 및 EVS) 이 제공자 단말 (예를 들어, MMCMH 세션을 생성하는 것을 기대하는 단말) 에 의해 이용가능할 수도 있다. "A" 는 동시 AMR-NB 코덱들의 최대 수에 대응하고 "B" 는 동시 AMR-WB 코덱들의 최대 수에 대응하고 "C" 는 동시 EVS 코덱들의 최대 수에 대응하며, 이들의 상대적 복잡도에 기인하여 A >= B >= C 이다. 따라서, 오퍼 메시지를 생성할 때, 오퍼 단말은 A 개의 미디어 라인들 전체를 리스트할 수도 있고, 여기에서 A 개의 미디어 라인들 각각은 AMR-NP 를 코덱으로서 포함한다. 이와 유사하게, 제공자 단말은 B 개의 미디어 라인들 전체를 리스트할 수도 있고, B 개의 미디어 라인들은 코덱으로서 AMR-WB 를 포함하고 AMR-NB 로 사이멀캐스트를 수신한다. 추가적으로, 제공자 단말은 코덱으로서 EVS 를 포함하는 C 개의 미디어 라인들 전체를 리스트할 수도 있으며, AMR-WB 및 AMR-NB 양쪽 모두로 사이멀캐스트를 수신한다. 제공자 단말의 전송/인코딩 능력들을 표시할 때, 위의 미디어 라인들 중 하나 이상은 사이멀캐스트 전송 구성에서코덱들 모두를 또한 포함할 수도 있다.
위의 A 미디어 라인들은 SDP 회답에서 선택될 수 있는 모든 가능한 미디어 구성들을 커버할 수도 있다. 하나 이상의 허용가능한 구성들을 선택하는 오퍼에 응답하여, 회답 단말은 오퍼에 또한 포함된 콤팩트 CCC SDP 라인에 의존하면서 자신의 회답을 통신할 수도 있다.
본원에 설명된 바와 같이 콤팩트 CCC SDP 라인들을 이용하지 않는 SDP 오퍼는 동일한 정보를 실질적으로 통신하도록 미디어 라인들의 다음 세트들을 포함할 수도 있다:
최대 수의 디코딩가능한 스트림들이 지원될 때의 구성을 표시하는 "A" 개의 미디어 라인들. 이는 사이멀캐스트 수신 구성들에서 2 개의 코덱들을 지닌 적어도 B 개의 미디어 라인들 및 3 개의 코덱들을 지닌 C 개의 미디어 라인들이 있다는 것을 제외하고는 콤팩트 CCC 를 이용하는 것에 대응할 수도 있다. 이들 추가적인 코덱들 각각은 미디어 라인에서 둘 보다 많은 SDP 라인들을 추가할 것이고; 그리고
동시 디코딩된 스트림들의 상이한 수와 세트를 지원할 수 있는 각각의 구성에 대한 미디어 라인들의 세트.
예를 들어, 제공자 단말이 단일 EVS 디코더를 지원하면, 제공자 단말은 오퍼 메시지에서 AMR-NB 스트림들의 최대 수를 A 로부터 A1EVS 로 감소시킨다. 추가적으로, 오퍼 메시지는 많은 AMR-NB 코덱들을 리스트하는 미디어 라인들 및 EVS 코덱을 포함하는 하나의 라인을 수신하는 A1EVS +1 의 별도의 세트를 포함할 수도 있다. 또한, 콤팩트 CCC SDP 라인들을 이용하지 않을 때, 미디어 라인들의 세트들 각각은 MediaCapNeg 프레임워크에 특정된 바와 같이 상이한 미디어 구성을 요구한다.
콤팩트 CCC SDP 파라미터가 이용되지 않을 때 통신될 수도 있는 구성들의 상이한 세트들의 일 예는 다음 표에 예시된다. 표는 N=6 에 3 개의 구성들 (A, B, 및 C) 을 포함한다. 그러나, N 의 상이한 값들에 대하여 구성들의 상이한 세트들이 존재할 수도 있으며, 여기에서, N 은 제공자 단말 및 모든 회답 단말들을 포함하는 컨퍼런스에서의 참여자들의 수이다.
[표 8]
그러나, 오퍼 및 회답 메시지들로 콤팩트 CCC SDP 파라미터들을 구현하는 것에 의해, A 미디어 라인들과는 별개인 임의의 구성들을 리스트하는 것이 방지될 수도 있고, 따라서, MediaCapNeg 프레임워크의 이용이 방지될 수도 있다. MMCMH 세션 확립으로 콤팩트 CCC SDP 파라미터들을 구현하는 것에 의해 절감되는 SDP 라인들의 양은 코덱들 각각 사이에서 상대적 복잡도에 의존할 수도 있다. 다른 코덱 인스턴스들에 하나의 코덱 인스턴스를 치환하는 것은 동시 디코더들의 수에 큰 효과를 가질 수도 있기 때문에, 상대 복잡도들에서 변동이 클수록, 비-콤팩트 CCC SDP 파라미터 오퍼들에 요구되는 더 많은 세트들의 미디어 라인들이 존재한다.
예를 들어, 코덱 C 가 코덱 B 의 복잡도의 2 배이고, 코덱 B 는 코덱 A 의 복잡도의 2 배인 것으로 가정하며 여기에서 코덱 A 는 구동될 수 있는 가장 간단한 코덱의 인스턴스들의 최대 수를 표현한다. 오퍼 메시지들의 콤팩트 CCC SDP 파라미터를 이용할 때, SDP 라인들의 다음 수를 포함하는 SDP 오퍼 메시지에서 A 개의 미디어 라인들의 하나의 세트만이 존재할 것이다:
공통 SDP 양태들에 대한 7 개의 라인들
코덱 A 를 포함하는 A 개의 미디어 라인들 각각 마다 2 개의 라인들
코덱 B 를 포함하는 B 개의 미디어 라인들 각각 마다 2 개의 라인들
코덱 C 를 포함하는 C 개의 미디어 라인들 각각 마다 2 개의 라인들
콤팩트 CCC SDP 파라미터들에 1 개의 라인들
따라서, SDP 오퍼 메시지에 전체 8+2A+2B+2C = 8+2A+A+0.5A = 8+3.5A 개의 SDP 라인들이 존재할 것이다.
그러나, 오퍼 메시지들에 대한 콤팩트 CCC SDP 파라미터를 이용하지 않을 때, 미디어 라인들의 다음 세트들이 존재할 것이다:
위의 패턴을 확장하여 보면, 콤팩트 CCC SDP 파라미터를 이용하지 않을 때, 모든 가능한 구성들을 표시하는데 요구되는 SDP 라인들의 총 수는 A (1 + 2 + 3 + … A/4) x (2A + mi) 임을 알 수 있으며, 여기에서, mi 는 A 와는 독립적인 미디어 라인들의 특정 세트에 대한 상수이다. 최소값에서, 위에서의 하한값은 미디어 라인들의 수, 적어도 0.25 A4 + A3 이다.
따라서, SDP 오퍼에서 콤팩트 CCC SDP 포맷을 이용하는 이득들은 SDP 오퍼에서 SDP 라인들의 수를 대략 (0.25 A4 + A3)/(3.5A+8) ~= 0.0714A3 + 0.286A2 의 팩터만큼 감소시킨다.
따라서, A = 4 에서, 5.81 의 압축 이득 팩터가 존재하며; A = 8 에서, 42.67 의 압축 이득 팩터가 존재하며; A = 16 에서 320 의 압축 이득 팩터가 존재한다. 이는 SDP 오퍼의 사이즈를 감소시킴에 있어서 압축 이득들이 상당할 수 있으며, 상이한 계산적 복잡도들의 많은 수의 동시 코덱들을 지원하는 능력을 갖는 제공자 단말에 특히 그러함을 보여준다.
일부 실시형태들에서, 본원에 설명된 바와 같이 SDP 오퍼에서 미디어 라인들의 수를 압축하기 위한 콤팩트 CCC SDP 파라미터의 이용은 회답자 단말이 콤팩트 CCC SDP 파라미터를 이해하도록 구성되어, 콤팩트 CCC SDP 오퍼에서 기술된 미디어 구성들 전부가 지원되는 것은 아님을 회답자 단말이 알게 하는 것을 요구할 수도 있다. 회답자 단말이 콤팩트 CCC SDP 파라미터를 이해하지 못하면, 회답자 단말은 제공자 단말에 의해 지원되지 않는 동시 코덱들의 세트를 부적절하게 선택할 수도 있다.
따라서, 제공자가 콤팩트 CCC SDP 파라미터를 A 개의 미디어 라인들의 단일 미디어 구성과 함께 이용할 때마다, 제공자 단말은 회답자 단말이 콤팩트 CCC SDP 파라미터를 적절하게 이해할 수 있음을 알 수도 있다. 예를 들어, 제공자 단말은 회답자 단말의 CCC 를 임의의 방법 (예를 들어, OPTIONs 방법) 을 이용하여 이전에 쿼리하였을 수도 있고 콤팩트 CCC SDP 파라미터를 포함하는 응답을 수신하였을 수도 있으며, 제공자 단말은 회답자 단말이 콤팩트 CCC 포맷을 이해하고 MMCMH 세션을 개시할 때 이 포맷을 이용할 수 있음을 기록하기 위해 기준으로서 이용한다. 대안으로서, 제공자 단말은 콤팩트 CCC 포맷을 이해하지 못한 회답자 단말이 비지원 구성을 선택하는 것을 방지할 수도 있다. 예를 들어, 제공자 단말은 바디에서 콤팩트 CCC SDP 파라미터와 함께 SIP INVITE 의 요청 헤더에 파퓰레이션된 CCC 에 대한 새로운 태그를 정의하는 것에 의해 이를 실현할 수도 있다. 회답자 단말이 CCC 태그를 이해하면, 회답자 단말은 이에 따라 INVITE 에 응답할 것이다. 회답자 단말이 CCC 태그를 이해하지 못하면, 회답자 단말은 INVITE 를 거절하고 제공자 단말은 CCC 및 연관된 미디어 라인 구성들 모두와 더 장황한 오퍼 없이 re-INVITE 를 전송해야 할 것이다.
일부 실시형태들에서, 콤팩트 CCC SDP 오퍼 파라미터는 제공자 단말에 의해 하나 이상의 회답자 단말들에 송신될 수도 있다. 콤팩트 CCC SDP 오퍼 파라미터는 제공자 단말에 의해 지원되는 하나 이상의 CCC 를 포함할 수도 있다. 그 후, 제공자 단말은 하나 이상의 회답자 단말들 중 적어도 하나로부터 응답을 수신할 수도 있다. 응답은 제공자 단말에 의해 지원되고 적어도 하나의 회답자 단말에 의해 또한 지원되는 CCC 의 하나의 선택을 포함할 수도 있다. 그 응답에 기초하여, 제공자 단말은 적어도 하나의 회답자 단말에 데이터 스트림을 송신할 수도 있다.
도 7 은 컨퍼런스 세션들을 개시하기 위하여 콤팩트 동시 코덱들을 이용하기 위한 예시적 방법의 플로우차트 (700) 이다. 도 7 에 도시된 방법 (700) 은 컨퍼런스 아키텍처 (100, 200, 300, 및/또는 400) 에서 하나 이상의 디바이스들을 통하여 구현될 수도 있다. 일부 양태들에서, 방법 (700) 은 도 1 내지 도 4 의 사용자 단말들 (110A-D) 및/또는 중앙집중 프로세서 (125) 또는 임의의 다른 적절한 디바이스와 유사한 디바이스에 의해 구현될 수도 있다.
블록 705 에서, 단말 또는 프로세서는 컨퍼런스를 확립하기 위하여 하나 이상의 디바이스들에 오퍼 메시지를 송신할 수도 있다. 오퍼 메시지는 컨퍼런스에 의해 지원되는 동시 코덱 능력들의 리스트의 표시를 포함할 수도 있다. 일부 양태들에서, 메시지는 개시자 단말 또는 프로세서의 동시 코덱 능력들에 기초할 수도 있다. 일부 실시형태들에서, 메시지는 또한 자신들의 동시 능력들이 미리 알려져 있는 다른 참여자들의 코덱 능력들에 기초할 수도 있다.
블록 710 에서, 단말은 하나 이상의 디바이스들로부터 회답 메시지를 수신한다. 회답 메시지는 동시 코덱 능력들의 리스트의 표시로부터의 선택을 포함할 수도 있다.
블록 715 에서, 단말은 회답 메시지에 기초하여 하나 이상의 디바이스들에 데이터 스트림을 선택적으로 송신한다.
도 8 은 컨퍼런스 세션들을 개시하기 위하여 콤팩트 동시 코덱들을 이용하기 위한 예시적 방법의 다른 플로우차트 (800) 이다. 도 8 에 도시된 방법 (800) 은 컨퍼런스 아키텍처 (100, 200, 300, 및/또는 400) 에서 하나 이상의 디바이스들을 통하여 구현될 수도 있다. 일부 양태들에서, 방법 (800) 은 도 1 내지 도 4 의 사용자 단말들 (110A-D) 및/또는 중앙집중 프로세서 (125) 또는 임의의 다른 적절한 디바이스와 유사한 디바이스에 의해 구현될 수도 있다.
블록 805 에서, 제 1 디바이스의 단말 또는 프로세서는 제 2 디바이스로의 송신을 위한 제 1 메시지를 생성할 수도 있다. 제 1 메시지는 오퍼 메시지 또는 요청 메시지를 포함할 수도 있다. 제 1 메시지는 단말 또는 메시지에 의해 지원되는 동시 코덱 능력들의 리스트의 표시를 포함할 수도 있거나 또는 제 2 디바이스에 의해 지원되는 동시 코덱 능력들의 리스트의 표시를 요청할 수도 있다. 일부 실시형태들에서, 제 1 메시지는 제 2 디바이스로의 송신을 위한 제 1 메시지를 생성하기 위한 수단에 의해 생성될 수도 있다. 일부 실시형태들에서, 제 1 메시지를 생성하기 위한 수단은 컨퍼런스 아키텍처 (100, 200, 300, 및/또는 400) 에서 하나 이상의 디바이스들을 포함할 수도 있다. 일부 양태들에서, 제 1 메시지를 생성하기 위한 수단은 도 1 내지 도 4 의 사용자 단말들 (110A-D) 및/또는 중앙집중 프로세서 (125) 또는 임의의 다른 적절한 디바이스와 유사한 디바이스에 의해 구현될 수도 있다.
블록 810 에서, 단말은 단말과 제 2 디바이스 사이의 컨퍼런스를 확립하기 위한 제 2 메시지를 수신한다. 제 2 메시지는 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함할 수도 있다. 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트는 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들에 이용가능한 하나 이상의 리소스들이 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 대신 이용될 수도 있는지의 여부의 표시를 포함할 수도 있다. 일부 실시형태들에서, 제 2 메시지는 단말과 제 2 디바이스 사이의 컨퍼런스를 확립하기 위한 제 2 메시지를 수신하기 위한 수단에 의해 수신될 수도 있다. 일부 실시형태들에서, 제 2 메시지를 생성하기 위한 수단은 컨퍼런스 아키텍처 (100, 200, 300, 및/또는 400) 에서 하나 이상의 디바이스들을 포함할 수도 있다. 일부 양태들에서, 제 1 메시지를 생성하기 위한 수단은 도 1 내지 도 4 의 사용자 단말들 (110A-D) 및/또는 중앙집중 프로세서 (125) 또는 임의의 다른 적절한 디바이스와 유사한 디바이스에 의해 구현될 수도 있다.
일부 실시형태들에서, 제 2 메시지는 오퍼 메시지에 응답하여 제 2 디바이스에 의해 송신되는 응답 메시지를 포함할 수도 있다. 일부 실시형태들에서, 제 2 메시지는 회답 메시지를 포함할 수도 있다.
위에서 설명된 방법들의 다양한 동작들은 다양한 하드웨어 및/또는 스프트웨어 컴포넌트(들), 회로들, 및/또는 모듈(들)과 같은, 동작들을 수행할 수 있는 임의의 적절한 수단에 의해 수행될 수도 있다. 일반적으로, 도면들에서 도시된 임의의 동작들은 그 동작들을 수행할 수 있는 대응하는 기능적 수단에 의해 수행될 수도 있다. 예를 들어, 오퍼 메시지를 둘 이상의 디바이스들에 송신하기 위한 수단은 단말들 (110A-D) 의 송신기 또는 안테나를 포함할 수도 있다. 추가적으로, 응답 메시지를 수신하기 위한 수단은 단말들 (110A-D) 의 수신기 또는 안테나를 포함할 수도 있다. 추가적으로, 둘 이상의 디바이스들이 컨퍼런스에 계속 참여할 수도 있는지의 여부를 결정하기 위한 수단은 사용자 단말들 (110A-D) 의 프로세서를 포함할 수도 있다. 또한, 디바이스로부터 오퍼 메시지를 수신하기 위한 수단은 단말들 (110A-D) 의 수신기 또는 안테나를 포함할 수도 있다. 또한, 응답 메시지를 송신하기 위한 수단은 단말들 (110A-D) 의 송신기 또는 안테나를 포함할 수도 있다.
정보 및 신호들은 다양한 상이한 기술들 및 기법들 중 임의의 것을 이용하여 표현될 수도 있다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 자기파들, 자기장들 또는 자기 입자들, 광학장들 또는 광학 입자들, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
당해 기술 분야의 당업자라면, 본원에서 개시된 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양자 모두의 조합들로서 구현될 수도 있다. 하드웨어 및 소프트웨어의 이러한 상호 교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들을 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 설명된 기능성은 각각의 특정 애플리케이션에 대한 다양한 방식들로 구현될 수도 있으나, 이러한 구현 결정들이 본 발명의 실시형태들의 범위를 벗어나게 하는 것으로 해석되어서는 안된다.
본원에서 개시된 실시형태들과 연계하여 설명된 다양한 예시적인 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (Digital Signal Processor; DSP), 주문형 반도체 (Application Specific Integrated Circuit; ASIC), 필드 프로그래밍가능 게이트 어레이 (Field Programmable Gate Array; FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 별도의 게이트 또는 트랜지스터 로직, 별도의 하드웨어 컴포넌트들, 또는 본원에서 개시된 기능들을 수행하도록 디자인된 이들의 임의의 조합에 의해 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로서, 프로세서는 임의의 통상의 프로세서, 제어기, 마이크로컨트롤러, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로 구현될 수도 있다.
본원에서 개시된 실시형태들과 연계하여 설명된 방법 또는 알고리즘 및 기능들의 단계들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 둘의 조합에서 직접적으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령들 또는 코드로서 유형의 비일시적 컴퓨터 판독가능 매체 상에 저장되거나 또는 이를 통해 송신될 수도 있다. 소프트웨어 모듈은 RAM (Randdom Access Memory), 플래시 메모리, ROM (Read Only Memory), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), 레지스터들, 하드디스크, 탈착가능 디스크, CD-ROM, 또는 종래 기술에서 공지된 임의의 다른 형태의 저장 매체 내에 있을 수도 있다. 저장 매체는 프로세서에 커플링되어, 프로세가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있다. 대안에서, 저장 매체는 프로세서에 통합될 수도 있다. 본원에서 이용되는 바와 같은 디스크 (disk) 및 디스크 (disc) 는 CD (compact disc), 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피 디스크, 및 블루레이 디스크를 포함하는데, 여기서 디스크 (disk) 는 보통 데이터를 자기적으로 재생하며, 반면 디스크 (disc) 는 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다. 프로세서와 저장 매체는 ASIC 내에 있을 수도 있다.
본 개시를 요약할 목적으로, 본 발명들의 소정의 양태들, 이점들, 및 신규한 특징들이 본원에 설명되었다. 반드시 모든 이러한 이점들이 본 발명의 임의의 특정 실시형태에 따라 달성될 필요가 없을 수도 있음이 이해될 것이다. 따라서, 본 발명은 반드시 본원에 사상되거나 제시된 다른 이점들을 달성하지 않으면서도 본원에 사상된 일 이점 또는 한 그룹의 이점들을 달성하거나 최적화하는 방식으로 구현되거나 이해될 수도 있다.
이들 예시적인 실시형태들의 여러 수정예들이 당업자에게는 자명할 것이며, 본원에서 정의된 일반적인 원칙들은 본 발명의 취지와 범위를 벗어나지 않으면서 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 본원에서 보여진 예시적인 구체예들로 제한되도록 의도된 것은 아니며 본원의 개시된 원칙들과 신규의 특징들과 일치하는 광의의 범위를 제공하기 위한 것이다.

Claims (44)

  1. 다수의 당사자들 (multiple parties) 사이에서 통신하는 방법으로서,
    제 1 디바이스에서, 제 2 디바이스로의 송신을 위해, 적어도 상기 제 2 디바이스와 컨퍼런스를 확립하도록 구성된 오퍼 메시지를 생성하는 단계로서, 상기 오퍼 메시지는 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고, 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트는 상기 제 1 디바이스로의 송신을 위한 미디어 스트림을 코딩하기 위한 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들이 상기 제 1 디바이스로의 송신을 위한 상기 미디어 스트림을 코딩하기 위한 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 의해 대체가능한지 여부의 표시를 포함하는, 상기 오퍼 메시지를 생성하는 단계; 및
    상기 제 1 디바이스에서, 상기 오퍼 메시지에 응답하여, 회답 메시지를 수신하는 단계
    를 포함하는, 다수의 당사자들 사이에서 통신하는 방법.
  2. 제 1 항에 있어서,
    상기 표시는 상기 제 1 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들이 상기 제 2 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들에 의해 대체될 수 있음을 표시하는, 다수의 당사자들 사이에서 통신하는 방법.
  3. 제 1 항에 있어서,
    상기 표시는 상기 제 1 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들이 상기 제 2 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들에 의해 대체될 수 없음을 표시하는, 다수의 당사자들 사이에서 통신하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 및 제 2 리스트된 코덱들은 세션 디스크립션 프로토콜 (session description protocol; SDP) 포맷에서 제공되는, 다수의 당사자들 사이에서 통신하는 방법.
  5. 제 1 항에 있어서,
    상기 리스트에서의 상기 하나 이상의 동시 코덱 능력들은 계산적 복잡도에 의해 순서화되는, 다수의 당사자들 사이에서 통신하는 방법.
  6. 제 5 항에 있어서,
    상기 제 2 리스트된 코덱은 상기 제 1 리스트된 코덱보다 계산적으로 덜 복잡하고, 상기 제 2 리스트된 코덱은 SDP 포맷에서 상기 제 1 리스트된 코덱 후에 리스트되는, 다수의 당사자들 사이에서 통신하는 방법.
  7. 제 1 항에 있어서,
    상기 회답 메시지는 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고,
    상기 방법은, 상기 제 1 디바이스에서, 상기 제 2 디바이스가 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트에 기초하여 컨퍼런스에 참여할 수 있는지 여부를 결정하는 단계를 더 포함하는, 다수의 당사자들 사이에서 통신하는 방법.
  8. 제 7 항에 있어서,
    상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트는 리스트된 코덱이 지원하는 미디어 스트림의 복잡도에 대응하는 레벨 중 적어도 하나를 포함하고, 프로파일 표시자는 리스트된 코덱에 이용가능한 하나 이상의 툴 세트들을 표시하는, 다수의 당사자들 사이에서 통신하는 방법.
  9. 제 7 항에 있어서,
    상기 제 1 디바이스로부터, 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트에 기초하여, 상기 제 2 디바이스로 상기 미디어 스트림을 선택적으로 송신하는 단계를 더 포함하는, 다수의 당사자들 사이에서 통신하는 방법.
  10. 제 7 항에 있어서,
    상기 제 1 디바이스에서, 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트 및 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트로부터의 공통 동시 코덱 능력들에 기초하여, 상기 제 2 디바이스로 상기 미디어 스트림을 선택적으로 송신하는 단계를 더 포함하는, 다수의 당사자들 사이에서 통신하는 방법.
  11. 제 10 항에 있어서,
    상기 리스트들 중 적어도 하나는 코덱의 레벨을 포함하고, 상기 레벨은 리스트된 코덱이 지원할 수 있는 미디어 스트림의 복잡도에 대응하는, 다수의 당사자들 사이에서 통신하는 방법.
  12. 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스 (multi-party, multi-stream conference) 를 개시하기 위한 제 1 디바이스로서,
    제 2 디바이스로의 송신을 위해, 적어도 상기 제 2 디바이스와 컨퍼런스를 확립하도록 구성된 오퍼 메시지를 생성하도록 구성된 프로세서로서, 상기 오퍼 메시지는 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고, 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트는 상기 제 1 디바이스로의 송신을 위한 미디어 스트림을 코딩하기 위한 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들이 상기 제 1 디바이스로의 송신을 위한 상기 미디어 스트림을 코딩하기 위한 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 의해 대체가능한지 여부의 표시를 포함하는, 상기 프로세서; 및
    상기 오퍼 메시지에 응답하여, 상기 제 2 디바이스로부터 회답 메시지를 수신하도록 구성된 수신기
    를 포함하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  13. 제 12 항에 있어서,
    상기 표시는 상기 제 1 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들이 상기 제 2 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들에 의해 대체될 수 있음을 표시하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  14. 제 12 항에 있어서,
    상기 표시는 상기 제 1 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들이 상기 제 2 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들에 의해 대체될 수 없음을 표시하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  15. 제 12 항에 있어서,
    상기 제 1 및 제 2 리스트된 코덱들은 세션 디스크립션 프로토콜 (SDP) 포맷에서 제공되는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  16. 제 12 항에 있어서,
    상기 리스트에서의 상기 하나 이상의 동시 코덱 능력들은 계산적 복잡도에 의해 순서화되는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  17. 제 16 항에 있어서,
    상기 제 2 리스트된 코덱은 상기 제 1 리스트된 코덱보다 계산적으로 덜 복잡하고, 상기 제 2 리스트된 코덱은 SDP 포맷에서 상기 제 1 리스트된 코덱 후에 리스트되는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  18. 제 12 항에 있어서,
    상기 회답 메시지는 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고,
    상기 프로세서는 추가로, 상기 제 2 디바이스가 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트에 기초하여 컨퍼런스에 참여할 수 있는지 여부를 결정하도록 구성되는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  19. 제 18 항에 있어서,
    상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트는 리스트된 코덱이 지원하는 미디어 스트림의 복잡도에 대응하는 레벨 중 적어도 하나를 포함하고, 프로파일 표시자는 리스트된 코덱에 이용가능한 하나 이상의 툴 세트들을 표시하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  20. 제 18 항에 있어서,
    상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트에 기초하여, 상기 제 2 디바이스로 상기 미디어 스트림을 선택적으로 송신하도록 구성된 송신기를 더 포함하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  21. 제 18 항에 있어서,
    상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트 및 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트로부터의 공통 동시 코덱 능력들에 기초하여, 상기 제 2 디바이스로 상기 미디어 스트림을 선택적으로 송신하도록 구성된 송신기를 더 포함하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  22. 제 21 항에 있어서,
    상기 리스트들 중 적어도 하나는 코덱의 레벨을 포함하고, 상기 레벨은 리스트된 코덱이 지원할 수 있는 미디어 스트림의 복잡도에 대응하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  23. 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스로서,
    제 2 디바이스로의 송신을 위해, 적어도 상기 제 2 디바이스와 컨퍼런스를 확립하도록 구성된 오퍼 메시지를 생성하는 수단으로서, 상기 오퍼 메시지는 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고, 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트는 상기 제 1 디바이스로의 송신을 위한 미디어 스트림을 코딩하기 위한 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들이 상기 제 1 디바이스로의 송신을 위한 상기 미디어 스트림을 코딩하기 위한 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 의해 대체가능한지 여부의 표시를 포함하는, 상기 오퍼 메시지를 생성하는 수단; 및
    상기 오퍼 메시지에 응답하여, 상기 제 2 디바이스로부터 회답 메시지를 수신하는 수단
    을 포함하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  24. 제 23 항에 있어서,
    상기 표시는 상기 제 1 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들이 상기 제 2 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들에 의해 대체될 수 있음을 표시하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  25. 제 23 항에 있어서,
    상기 표시는 상기 제 1 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들이 상기 제 2 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들에 의해 대체될 수 없음을 표시하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  26. 제 23 항에 있어서,
    상기 제 1 및 제 2 리스트된 코덱들은 세션 디스크립션 프로토콜 (SDP) 포맷에서 제공되는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  27. 제 23 항에 있어서,
    상기 리스트에서의 상기 하나 이상의 동시 코덱 능력들은 계산적 복잡도에 의해 순서화되는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  28. 제 27 항에 있어서,
    상기 제 2 리스트된 코덱은 상기 제 1 리스트된 코덱보다 계산적으로 덜 복잡하고, 상기 제 2 리스트된 코덱은 SDP 포맷에서 상기 제 1 리스트된 코덱 후에 리스트되는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  29. 제 23 항에 있어서,
    상기 회답 메시지는 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고,
    상기 제 1 디바이스는, 상기 제 2 디바이스가 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트에 기초하여 컨퍼런스에 참여할 수 있는지 여부를 결정하는 수단을 더 포함하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  30. 제 29 항에 있어서,
    상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트는 리스트된 코덱이 지원하는 미디어 스트림의 복잡도에 대응하는 레벨 중 적어도 하나를 포함하고, 프로파일 표시자는 리스트된 코덱에 이용가능한 하나 이상의 툴 세트들을 표시하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  31. 제 29 항에 있어서,
    상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트에 기초하여, 상기 제 2 디바이스로 상기 미디어 스트림을 선택적으로 송신하는 수단을 더 포함하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  32. 제 29 항에 있어서,
    상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트 및 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트로부터의 공통 동시 코덱 능력들에 기초하여, 상기 제 2 디바이스로 상기 미디어 스트림을 선택적으로 송신하는 수단을 더 포함하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  33. 제 32 항에 있어서,
    상기 리스트들 중 적어도 하나는 코덱의 레벨을 포함하고, 상기 레벨은 리스트된 코덱이 지원할 수 있는 미디어 스트림의 복잡도에 대응하는, 복수의 코덱들을 채택하는 멀티-파티, 멀티-스트림 컨퍼런스를 개시하기 위한 제 1 디바이스.
  34. 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은 실행될 때 프로세서로 하여금,
    제 1 디바이스에서, 제 2 디바이스로의 송신을 위해, 적어도 상기 제 2 디바이스와 컨퍼런스를 확립하도록 구성된 오퍼 메시지를 생성하는 단계로서, 상기 오퍼 메시지는 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고, 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트는 상기 제 1 디바이스로의 송신을 위한 미디어 스트림을 코딩하기 위한 제 1 리스트된 코덱의 하나 이상의 동시 인스턴스들이 상기 제 1 디바이스로의 송신을 위한 상기 미디어 스트림을 코딩하기 위한 제 2 리스트된 코덱의 하나 이상의 동시 인스턴스들에 의해 대체가능한지 여부의 표시를 포함하는, 상기 오퍼 메시지를 생성하는 단계; 및
    상기 제 1 디바이스에서, 상기 오퍼 메시지에 응답하여, 상기 제 2 디바이스로부터 회답 메시지를 수신하는 단계의 방법을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  35. 제 34 항에 있어서,
    상기 표시는 상기 제 1 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들이 상기 제 2 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들에 의해 대체될 수 있음을 표시하는, 비일시적 컴퓨터 판독가능 저장 매체.
  36. 제 34 항에 있어서,
    상기 표시는 상기 제 1 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들이 상기 제 2 리스트된 코덱의 상기 하나 이상의 동시 인스턴스들에 의해 대체될 수 없음을 표시하는, 비일시적 컴퓨터 판독가능 저장 매체.
  37. 제 34 항에 있어서,
    상기 제 1 및 제 2 리스트된 코덱들은 세션 디스크립션 프로토콜 (SDP) 포맷에서 제공되는, 비일시적 컴퓨터 판독가능 저장 매체.
  38. 제 34 항에 있어서,
    상기 리스트에서의 상기 하나 이상의 동시 코덱 능력들은 계산적 복잡도에 의해 순서화되는, 비일시적 컴퓨터 판독가능 저장 매체.
  39. 제 38 항에 있어서,
    상기 제 2 리스트된 코덱은 상기 제 1 리스트된 코덱보다 계산적으로 덜 복잡하고, 상기 제 2 리스트된 코덱은 SDP 포맷에서 상기 제 1 리스트된 코덱 후에 리스트되는, 비일시적 컴퓨터 판독가능 저장 매체.
  40. 제 34 항에 있어서,
    상기 회답 메시지는 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 리스트를 포함하고,
    상기 방법은, 상기 제 1 디바이스에서, 상기 제 2 디바이스가 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트에 기초하여 컨퍼런스에 참여할 수 있는지 여부를 결정하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  41. 제 40 항에 있어서,
    상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트는 리스트된 코덱이 지원하는 미디어 스트림의 복잡도에 대응하는 레벨 중 적어도 하나를 포함하고, 프로파일 표시자는 리스트된 코덱에 이용가능한 하나 이상의 툴 세트들을 표시하는, 비일시적 컴퓨터 판독가능 저장 매체.
  42. 제 40 항에 있어서,
    상기 명령들의 실행은 상기 프로세서로 하여금,
    상기 제 1 디바이스로부터, 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트에 기초하여, 상기 제 2 디바이스로 상기 미디어 스트림을 선택적으로 송신하는 것을 더 포함하는 동작들을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  43. 제 40 항에 있어서,
    상기 명령들의 실행은 상기 프로세서로 하여금,
    상기 제 1 디바이스에서, 상기 제 1 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트 및 상기 제 2 디바이스에 의해 지원되는 하나 이상의 동시 코덱 능력들의 상기 리스트로부터의 공통 동시 코덱 능력들에 기초하여, 상기 제 2 디바이스로 상기 미디어 스트림을 선택적으로 송신하는 것을 더 포함하는 동작들을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  44. 제 43 항에 있어서,
    상기 리스트들 중 적어도 하나는 코덱의 레벨을 포함하고, 상기 레벨은 리스트된 코덱이 지원할 수 있는 미디어 스트림의 복잡도에 대응하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020237030193A 2016-07-21 2017-07-19 멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치 KR20230133936A (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201662365348P 2016-07-21 2016-07-21
US62/365,348 2016-07-21
US201662381559P 2016-08-30 2016-08-30
US62/381,559 2016-08-30
US15/652,946 US11171999B2 (en) 2016-07-21 2017-07-18 Methods and apparatus for use of compact concurrent codecs in multimedia communications
US15/652,946 2017-07-18
KR1020197001354A KR102577373B1 (ko) 2016-07-21 2017-07-19 멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치
PCT/US2017/042892 WO2018017736A1 (en) 2016-07-21 2017-07-19 Methods and apparatus for use of compact concurrent codecs in multimedia communications

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197001354A Division KR102577373B1 (ko) 2016-07-21 2017-07-19 멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치

Publications (1)

Publication Number Publication Date
KR20230133936A true KR20230133936A (ko) 2023-09-19

Family

ID=60990163

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237030193A KR20230133936A (ko) 2016-07-21 2017-07-19 멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치
KR1020197001354A KR102577373B1 (ko) 2016-07-21 2017-07-19 멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197001354A KR102577373B1 (ko) 2016-07-21 2017-07-19 멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치

Country Status (9)

Country Link
US (2) US11171999B2 (ko)
EP (2) EP4380147A1 (ko)
JP (1) JP6940587B2 (ko)
KR (2) KR20230133936A (ko)
CN (1) CN109479113B (ko)
AU (2) AU2017298381B2 (ko)
BR (1) BR112019000850A2 (ko)
TW (2) TWI829058B (ko)
WO (1) WO2018017736A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3049140A1 (fr) * 2016-03-15 2017-09-22 Orange Procede de gestion dynamique de chemins de communication entre routeurs en fonction de besoins applicatifs
JP6847115B2 (ja) * 2016-08-12 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 端末、基地局及び通信方法
US10915521B2 (en) * 2018-08-21 2021-02-09 Syniverse Technologies, Llc Blockchain gateway device and associated method of use
US11611909B2 (en) * 2018-09-07 2023-03-21 Apple Inc. Apparatus and method for signaling ran-assisted codec adaptation capabilities in IMS multimedia telephony sessions
CN111050108A (zh) * 2019-12-19 2020-04-21 维沃移动通信有限公司 多路视频通话的实现方法、装置及电子设备
KR20220027577A (ko) * 2020-08-27 2022-03-08 삼성전자주식회사 복수의 모드들에 따른 통화를 지원하기 위한 방법 및 장치
CN112511788B (zh) * 2020-11-27 2022-04-01 厦门亿联网络技术股份有限公司 一种视频会议的视频传输控制方法及视频传输系统
US20220294839A1 (en) 2021-03-12 2022-09-15 Tencent America LLC Techniques for signaling audio mixing gain in teleconferencing and telepresence for remote terminals
CN113316129B (zh) * 2021-04-22 2022-05-20 荣耀终端有限公司 一种蓝牙设备中编解码能力的获取方法及电子设备
CN113316013B (zh) * 2021-05-31 2022-04-26 烽火通信科技股份有限公司 一种视频投屏方法及系统
CN113438230B (zh) * 2021-06-23 2022-08-30 中移(杭州)信息技术有限公司 协议协商方法、装置、代理服务器及存储介质
KR20230029122A (ko) * 2021-08-23 2023-03-03 삼성전자주식회사 영상 통화를 수행하는 동안 복수의 이미지 스트림을 전송하는 전자 장치 및 전자 장치의 동작 방법
CN117412062A (zh) * 2023-09-28 2024-01-16 协创芯片(上海)有限公司 一种支持h265编码的多媒体芯片

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI112140B (fi) 2001-05-23 2003-10-31 Nokia Corp Informaation kommunikointi
US20040260827A1 (en) 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
WO2006019380A1 (en) 2004-07-19 2006-02-23 Thomson Licensing S.A. Non-similar video codecs in video conferencing system
JP2006067124A (ja) 2004-08-25 2006-03-09 Nec Corp 画像符号化データの切り替え方法および装置、システムならびにプログラム
US20060168637A1 (en) * 2005-01-25 2006-07-27 Collaboration Properties, Inc. Multiple-channel codec and transcoder environment for gateway, MCU, broadcast and video storage applications
CN101064863A (zh) 2006-04-27 2007-10-31 华为技术有限公司 一种ims网络下提供媒体资源服务的方法和系统
CN101119292B (zh) 2006-07-31 2010-07-21 华为技术有限公司 一种网关之间协商传送数据业务的方法
CN101822093A (zh) 2007-08-14 2010-09-01 爱立信电话股份有限公司 编解码器协商和选择中的或与之相关的改进
BRPI1015160A2 (pt) 2009-04-07 2016-04-19 Ericsson Telefon Ab L M método para negociação de sessão melhorada entre primeiro e segundo clientes em um sistema de telecomunicação celular, cliente em um sistema de telecomunicação celular, e, nó em um sistema de telecomunicação.
US8863222B2 (en) 2011-05-23 2014-10-14 Broadcom Corporation Multiplexing, synchronizing, and assembling multiple audio/video (A/V) streams in a media gateway
CN102710617A (zh) 2012-05-21 2012-10-03 深圳市共进电子股份有限公司 Sip终端sdp协商方法
US9356987B2 (en) 2012-10-09 2016-05-31 Vantrix Corporation System and method for optimizing a communication session between multiple terminals involving transcoding operations
US20150229487A1 (en) 2014-02-12 2015-08-13 Talk Fusion, Inc. Systems and methods for automatic translation of audio and video data from any browser based device to any browser based client
WO2015129181A1 (ja) 2014-02-28 2015-09-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 音声通信端末、中間ノード、処理装置、接続方法およびプログラム
JP6405804B2 (ja) 2014-09-02 2018-10-17 沖電気工業株式会社 コーデック調停装置及びプログラム
US9137187B1 (en) * 2014-09-29 2015-09-15 Edifire LLC Dynamic conference session state management in secure media-based conferencing
US10063609B2 (en) 2015-08-19 2018-08-28 Qualcomm Incorporated Methods and apparatus for multimedia conferences using single source multi-unicast

Also Published As

Publication number Publication date
WO2018017736A1 (en) 2018-01-25
TW202218416A (zh) 2022-05-01
AU2022209216B2 (en) 2024-06-13
TWI829058B (zh) 2024-01-11
TW201808001A (zh) 2018-03-01
EP3488605B1 (en) 2024-02-21
JP2019530996A (ja) 2019-10-24
EP4380147A1 (en) 2024-06-05
KR20190031239A (ko) 2019-03-25
EP3488605A1 (en) 2019-05-29
AU2017298381B2 (en) 2022-04-28
US11171999B2 (en) 2021-11-09
AU2017298381A1 (en) 2018-12-20
CN109479113A (zh) 2019-03-15
BR112019000850A2 (pt) 2019-04-30
CN109479113B (zh) 2021-03-26
US20180027027A1 (en) 2018-01-25
KR102577373B1 (ko) 2023-09-11
JP6940587B2 (ja) 2021-09-29
AU2022209216A1 (en) 2022-08-18
EP3488605C0 (en) 2024-02-21
US20220030039A1 (en) 2022-01-27
TWI753928B (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
KR102577373B1 (ko) 멀티미디어 통신들에서의 콤팩트 동시 코덱들의 이용을 위한 방법들 및 장치
US10063609B2 (en) Methods and apparatus for multimedia conferences using single source multi-unicast
KR101365882B1 (ko) 멀티미디어 회의 호에 대한 시각적 구성의 관리 기법
US20170006078A1 (en) Methods and apparatus for codec negotiation in decentralized multimedia conferences
EP2863632B1 (en) System and method for real-time adaptation of a conferencing system to current conditions of a conference session
CN101578884B (zh) 提供和使用译码的媒体流的互操作点的预定信令的系统和方法
CN105794204B (zh) 交互式视频会议
AU2011305593B2 (en) System and method for the control and management of multipoint conferences
US11044278B2 (en) Transcoding capability configuration method and device and computer storage medium
KR20050038646A (ko) 멀티미디어 데이터를 스트리밍하는 방법
CN116018782A (zh) 用于音频混合的方法和装置
WO2022100528A1 (zh) 音视频转发方法、装置、终端与系统
CN110460603B (zh) 多媒体文件的传输方法、终端、服务器、系统及存储介质
EP4138401A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
CN110557593A (zh) 一种媒体传输方法及h323-sip网关
CN103347201A (zh) 集群系统组呼中的视频传输方法和视频传输系统
WO2023021235A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right