CN114793482A - 接收终端和方法 - Google Patents

接收终端和方法 Download PDF

Info

Publication number
CN114793482A
CN114793482A CN202080081798.0A CN202080081798A CN114793482A CN 114793482 A CN114793482 A CN 114793482A CN 202080081798 A CN202080081798 A CN 202080081798A CN 114793482 A CN114793482 A CN 114793482A
Authority
CN
China
Prior art keywords
data
redundant data
packet
redundant
receiving terminal
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202080081798.0A
Other languages
English (en)
Inventor
服部崇史
剑持千智
铃木志朗
德永竜二
松村祐树
松本淳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Group Corp
Original Assignee
Sony Group Corp
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 Sony Group Corp filed Critical Sony Group Corp
Publication of CN114793482A publication Critical patent/CN114793482A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本技术涉及能够与设备无关地实现稳定的音频传输的接收终端和方法。该接收终端:接收从发送终端发送的分组,该分组包括主数据和冗余数据,冗余数据基于冗余度而生成,冗余度基于重传超时时段而确定,重传超时时段是由发送终端和接收终端的组合确定的时间并且允许重复执行主数据的重传处理,冗余数据用于主数据的恢复或内插;并且通过对主数据或冗余数据进行解码来解码再现数据。本技术可应用于通过蓝牙低功耗(BLE)执行语音传输的通信系统。

Description

接收终端和方法
技术领域
本技术涉及一种接收终端和方法,更具体地,涉及一种能够实现与设备无关的稳定的语音传输的接收终端和方法。
背景技术
在标准制定下通过蓝牙低功耗(在下文中,BLE)的语音传输中,分组以称为ISO间隔的规则间隔传输。响应于来自接收终端的请求,在这个时段期间未成功发送的分组在下一ISO间隔被重传。可以重复重传处理的时间被称为重传超时时段。
由于在重传超时时段内发送未成功的分组被丢弃,因此需要执行用于恢复或内插被丢弃的分组(丢失的分组)中的数据的分组丢失隐藏。然而,由于针对发送终端和接收终端的每个组合确定重传超时时段,所以即使在相同的无线电波环境下,分组丢失隐藏的必要质量(隐藏质量)也根据设备的组合而变化。
鉴于上述情况,专利文献1提出了一种测量接收终端中的线路质量信息、将数据发送至发送终端、并且然后在发送侧改变前向纠错(FEC)码的计算方法的方法。
此外,专利文献2提出了一种通过观察缓冲器中的等待发送的量来控制要发送的编码数据的帧数、而不测量线路质量信息的方法。
现有技术文献
专利文献
专利文献1:国际专利申请公开号2015/072005
专利文献2:日本专利申请公开号2016-208215
发明内容
本发明要解决的问题
然而,在使用BLE的通信中使用专利文献1中描述的方法的情况下,需要在接收侧单独提供分组丢失率发送功能,并且在实际操作中使不确定数量的供应商实现这种功能是困难和不现实的。
在专利文献2中描述的方法中,因为基于等待发送的缓冲量来执行控制,所以难以适当地控制例如在开始发送之后立即发送的编码数据的帧数。
因此,在执行适当的控制之前需要一定时间段,并且根据初始值的设置,隐藏质量可能变得不足并且可能感知到听觉噪音或不适。
鉴于这种情况做出本技术,并且其目的是实现与设备无关的稳定的语音传输。
问题的解决方案
根据本技术的一个方面的接收终端包括:接收单元,接收从发送终端发送的分组,该分组包括主数据和冗余数据,冗余数据基于冗余度而生成并用于主数据的恢复或内插,冗余度基于重传超时时段确定,重传超时时段是由发送终端和接收终端的组合确定的时间,并且在重传超时时段中主数据的重传处理可被重复执行;以及解码单元,通过对主数据或冗余数据进行解码来解码再现数据。
在本技术的一个方面,接收从发送终端发送的分组,该分组包括主数据和冗余数据,该冗余数据基于冗余度而生成并用于主数据的恢复或内插,冗余度基于重传超时时段确定,重传超时时段是由发送终端与接收终端的组合确定的时间,并且在该重传超时时段中可以重复执行主数据的重传处理。然后,通过对主数据或冗余数据进行解码来解码再现数据。
附图说明
图1是示出了分组丢失隐藏的概况的示图。
图2是示出冗余数据的条数和可能的隐藏范围之间的关系的示图。
图3是示出冗余数据的条数和可能的隐藏范围之间的关系的示图。
图4是示出了根据本技术的确定冗余数据的条数的方法的示图。
图5是示出根据本技术实施方式的音频传输系统的配置实例的示图。
图6是示出发送终端的配置实例的框图。
图7是用于描述发送终端的系统设置处理的流程图。
图8是示出目标数据量的计算的具体实例的示图。
图9是用于描述发送终端的发送分组生成处理的流程图。
图10是用于描述图9的步骤S34中的冗余数据生成处理的流程图。
图11是用于描述图10中的步骤S60的处理的示图。
图12是示出接收终端的配置实例的框图。
图13是用于描述接收终端的数据获取处理的流程图。
图14是用于描述添加数据编号的方法的示图。
图15是用于描述接收终端的音频再现处理的流程图。
图16是用于描述图15的步骤S101中的再现数据选择处理的流程图。
图17是示出发送终端的另一配置实例的框图。
图18是用于描述发送终端的系统设置处理的流程图。
图19是示出目标数据量的计算的具体实例的示图。
图20是用于描述发送终端的设置更新处理的流程图。
图21是用于描述发送终端的发送分组生成处理的流程图。
图22是示出在存在一条或多条主数据的情况下的帧和分组的配置的示图。
图23是用于描述图21的步骤S247中的发送数据编号添加处理的流程图。
图24是示出发送数据编号添加处理的具体实例的示图。
图25是用于描述接收终端的数据获取处理的流程图。
图26是示出添加frame_id的方法的实例的示图。
图27是示出根据本技术的第三实施方式的音频传输系统的配置实例的示图。
图28是示出发送终端的配置实例的框图。
图29是示出接收终端的配置实例的框图。
图30是用于描述接收终端的设备间通信控制处理的流程图。
图31是用于描述在图30的步骤S307中的请求数据确定处理的流程图。
图32是示出计算机的配置实例的框图。
具体实施方式
在下文中,将描述用于执行本技术的模式。将按照以下顺序给出描述。
0.本技术的概述
1.第一实施方式(包括分组丢失隐藏的系统)
2.第二实施方式(根据通信状态的数据量的动态控制的组合)
3.第三实施方式(一对多通信中的控制)
4.其他
<0.本技术的概述>
<术语描述>
首先,将描述在本说明书中使用的术语。
在前向纠错方案中,“媒体专用前向纠错(FEC)”是将具有不同编码格式或设置的多个音频编码数据作为纠错数据进行保持的方案。
“分组丢失隐藏”是恢复或内插在由于传输而丢失的分组中的数据的方法。
“帧”是用编码方案标准化的处理单元。
“主数据”是通常以分组传输的一帧的数据(编码数据)。“冗余数据”是单独添加到主数据以用于分组丢失隐藏等的一帧的数据(编码数据)。
“分组”是在传输方案中标准化的传输单元,并且表示在一次通信中传输的数据块。具体地,在本技术中,分组包括主数据和冗余数据。
“冗余度”是通过要添加的冗余数据的条数和质量而调整的冗余度。在本说明书中,除非另有规定,否则“冗余度”表示添加到一个分组的冗余数据的条数。
在BLE语音传输中,分组以称为ISO间隔的规则间隔发送。响应于来自接收终端的请求,在这个时段期间未成功发送的分组在下一ISO间隔重传。在下文中,将可以重复重传处理的时间被称为重传超时时段。
由于在重传超时时段内未发送成功的分组被丢弃,因此产生丢失的分组。因而,当重传超时时段短时,作为丢失分组产生的频率的分组丢失频率增加。另一方面,当再现超时时段长时,分组丢失频率降低。
当产生了丢失的分组时,如果照原样执行再现,则在音频信号中产生不连续点,并且该不连续点被感知为听觉不适。为了防止这种情况,例如,执行分组丢失隐藏。
<分组丢失隐藏的概要>
图1为说明使用媒体专用FEC的分组丢失隐藏(下文简称为分组丢失隐藏)的概要的图。
在图1中,在发送终端1与接收终端2之间示出的矩形表示从发送终端1发送至接收终端2的分组。
首先,发送终端1将主数据之前或之后的帧的音频数据作为冗余数据添加到作为主数据的音频数据中,并发送该音频数据。冗余数据在编码方法或设置上通常与主数据不同,并且具有比主数据更低的质量。例如,在第N个分组中,第N+1帧的冗余数据被添加到第N帧的主数据中。在之前传输的第N-1帧的分组中,第N帧的冗余数据被添加到第N-1帧的主数据中。类似地,在第N-2个分组中,第N-1帧的冗余数据被添加到第N-2帧的主数据。
如图1中的叉号所示,当由于已经超过重传超时时段而丢弃第N-1个分组时,如果接收终端2照原样仅再现主数据,则由于第N-1个分组的丢弃而产生丢失分组,并且发生不连续点。
因此,当包括在第N-1个分组中的第N-1帧的主数据丢失时,接收终端2使用包括在第N-2个分组中的第N-1帧的冗余数据执行内插,作为隐藏。结果,虽然第N-1帧的主数据没有被完全恢复,但是噪声降低,并且不太可能感知到错误(听觉不适)。
应注意,虽然图1示出了添加未来帧的音频数据作为冗余数据的实例,但是要添加的冗余数据可以是过去帧的音频数据。
<冗余数据的条数与可能的隐藏范围之间的关系>
图2和图3是示出冗余数据的条数与可能的隐藏范围之间的关系的示图。要注意的是,图2和图3示出了一个帧/一个分组的一个实例。
图2示出了具有分组配置A的分组,并且图3示出了具有分组配置A的分组和具有分组配置B的分组。在具有分组配置A的分组中,一条冗余数据(冗余数据的条数:一)被添加到一条主数据。在具有分组配置B的分组中,三条冗余数据(冗余数据的条数:三)被添加到一条主数据。
此外,在图2和图3中,接收终端2中的隐藏之前的分组在左侧示出,接收终端2中的隐藏之后的分组在右侧示出。
如图2所示,在分组丢失频率较低的情况下,可通过使用具有分组配置A的分组执行丢失分组中的主数据的内插。
另一方面,在分组丢失频率高的情况下,如图3中的箭头a所示,当使用具有分组配置A的分组时,相对于丢失分组的数量,冗余数据的条数不足,并且丢失分组中的主数据的内插变得不足。
同时,当使用具有分组配置B的分组时,如图3中的箭头b所示,即使分组丢失频率高,丢失的分组中的每条主数据也可以用冗余数据内插。
即,通过增加冗余数据,可能的隐藏范围被加宽。
然而,具体地,在使用BLE的语音传输中,每个分组可以存储的数据大小是固定长度。因此,通过比较图3中的分组配置A和分组配置B可以看出,为了增加冗余数据的条数并且加宽可能的隐藏范围,需要减小主数据的数据大小并且牺牲质量。
另外,由于针对发送和接收终端的每个组合确定重传超时时段,所以即使在相同的无线电波环境下,所必需的隐藏质量也根据设备的组合而变化。
所以,如上所述,利用重传超时时段与分组丢失频率相关的事实,在本技术中,在BLE连接时(传输开始时)获取重传超时时段,并且根据获取的重传超时时段设置冗余数据的条数(即,冗余度)。因此,可以根据设备的组合来设置适当的可能的隐藏范围。
<本技术中确定冗余数据的条数的方法>
图4是示出了根据本技术的确定冗余数据的条数的方法的示图。
在图4中,重传超时时段从左到右变得更短。对于这样的重传超时时段,冗余数据的条数被确定为从左到右增加。
即,在重传超时时段长的情况下,预期分组丢失的频率低。因此,在本技术中,确定减少冗余数据的条数并缩小可能的隐藏范围。结果,牺牲了较少的原始要传输的主数据。
另一方面,在重传超时时段短的情况下,预期分组丢失的频率高。因此,在本技术中,确定增加冗余数据的条数并且加宽可能的隐藏范围。结果,丢失的分组中的主数据的内插变得不足的可能性更小。
可以根据在连接BLE通信时由发送终端和接收终端的组合在连接时确定的参数来计算重传超时时段。可以使用预先准备的关于再现超时时段与适当的冗余度之间的关系的计算公式或表来计算冗余数据的条数。
应注意,本技术的目的是确保在通信期间以大约百分之几发生的分组丢失的高质量隐藏。因此,发生突发分组丢失的情况(诸如,通信状态差并且不能持续确保语音传输所需的数据量的情况)不受本技术影响。
<1.第一实施方式(包括分组丢失隐藏的系统)>
<音频传输系统的配置>
图5是示出根据本技术的实施方式的音频传输系统的配置实例的示图。
音频传输系统通过经由BLE通信连接发送终端11和接收终端12来配置。
例如,发送终端11包括诸如智能电话的多功能移动电话、移动终端等。在传输开始时,发送终端11计算重传超时时段并确定冗余数据的冗余度。发送终端11基于所确定的冗余度生成冗余数据,并且对主数据和包括音频数据的冗余数据进行编码。发送终端11将包括编码后的主数据和冗余数据的分组发送至接收终端12。
接收终端12包括例如耳机、头戴式设备等。接收终端12接收从发送终端11发送的分组,并分别暂时累积主数据和冗余数据。在存在与要再现的再现数据相对应的主数据的情况下,接收终端12对主数据进行解码和再现。在不存在与要再现的再现数据相对应的主数据的情况下,接收终端12解码并再现与主数据相对应的冗余数据。
<发送终端的配置实例>
图6是示出发送终端11的配置实例的框图。
应注意,在发送终端11的配置实例中,省略了无线传输的层的细节。另外,在本说明书中,假定在一个分组中存储和传输一帧主数据、和一帧或多帧的冗余数据。
发送终端11包括BLE控制器21、重传超时时段计算单元22、信号处理单元23、输入缓冲器24、冗余数据生成单元25、编码单元26、多路复用(MUX)单元27和发送缓冲器28。
BLE控制器21控制与BLE通信相关的操作。BLE控制器21在通过BLE通信连接完成之后,获取在通过BLE通信连接时根据发送和接收终端的组合而确定的参数,并将该参数输出至重传超时时段计算单元22。省略参数的细节。
重传超时时段计算单元22基于从BLE控制器21提供的参数计算重传超时时段。重传超时时段计算单元22将重传超时时段输出到冗余数据生成单元25。
信号处理部23从音频文件取得生成一帧所需的音频数据,进行音频编码的预处理,并将作为结果而得到的数据在输入缓冲器24中累积。音频编码的预处理例如为时频转换处理。
当信号处理单元23累积数据并且输入缓冲器24已满时,输入缓冲器24丢弃具有最低优先级的数据(通常,丢弃最旧的数据)。
冗余数据生成单元25从输入缓冲器24获取与主数据和冗余数据对应的原始数据。与主数据相对应的原始数据是生成主数据所必需的一帧音频数据。与冗余数据相对应的原始数据是生成冗余数据所必需的一或多帧音频数据。
另外,编码单元26向冗余数据生成单元25通知冗余数据的已编码数据量。
冗余数据生成单元25基于从重传超时时段计算单元22提供的重传超时时段确定冗余度。冗余数据生成单元25基于由编码单元26提供的已编码数据量通知和确定的冗余度来生成主数据和冗余数据。
此时,可通过输入缓冲器24中累积的数据来设置在先前分组和后续分组(第N-2个、第N-1个、第N+1个、或第N+2个)中的哪一个将通过第N个分组的冗余数据恢复。例如,可以在输入缓冲器24中累积多条未来数据,并使用累积的未来数据来生成冗余数据。此外,多条过去数据可在输入缓冲器24中累积,并且累积的过去数据可用于生成冗余数据。为此,可根据可允许的延迟量或其他条件来设置冗余数据生成方法。
冗余数据生成单元25将生成的主数据和冗余数据输出到编码单元26。另外,冗余数据生成单元25确定与输出到编码单元26的主数据和冗余数据相对应的编码设置,并将确定的编码设置通知给编码单元26。通过计算目标数据量来确定编码设置。
编码单元26基于所获取的编码设置对主数据和冗余数据进行编码。编码单元26将编码的主数据和冗余数据输出到多路复用单元27。另外,编码单元26将冗余数据的已编码数据量输出到冗余数据生成单元25。
例如,在将三个未来分组作为冗余数据添加到主数据的情况下,为了生成第N个分组,编码单元26从冗余数据生成单元25获取第N帧的主数据、从第N+1帧至第N+3帧的主数据生成的冗余数据、以及每条数据的编码设置。
多路复用单元27对从编码单元26提供的编码的主数据和冗余数据执行多路复用处理。即,多路复用单元27将编码的主数据和冗余数据存储在适合于BLE通信的分组中。多路复用单元27在用于BLE通信的发送缓冲器28中积累分组。
<发送终端的操作>
在下文中,将针对系统设置处理和发送分组生成处理分别描述第一实施方式的发送终端11的基本处理流程。系统设置处理是在BLE通信的连接时仅执行一次的处理。另一方面,发送分组生成处理是在通过BLE通信的语音传输期间执行多次的处理。
<系统设置处理>
图7是用于描述发送终端11的系统设置处理的流程图。
在步骤S11,BLE控制器21通过执行BLE连接处理而开始BLE通信。此时,BLE控制器21从接收终端12获取与通过与接收终端12的组合而确定的重传超时时段有关的参数,并将该参数输出到重传超时时段计算单元22。
在步骤S12中,重传超时时段计算单元22基于从BLE控制器21提供的参数执行重传超时时段计算处理,并计算重传超时时段。
在步骤S13中,冗余数据生成单元25基于从重传超时时段计算单元22提供的重传超时时段确定冗余数据的条数(冗余度)。通过使用预先准备的关系表达式或表来确定冗余数据的条数,该关系表达式或表指示重传超时时段与冗余数据的条数之间的对应关系。
在重传超时时段长的情况下,预期分组丢失频率低。所以,在本技术中,调整和确定与冗余数据对应的帧的范围,使得冗余数据的条数减少,并且可能的隐藏范围变窄。此时,与重传超时时段短的情况相比,在分组中冗余数据的比例减小并且主数据的比例增加。
在重传超时时段短的情况下,预期分组丢失频率高。所以,在本技术中,调整和确定与冗余数据相对应的帧的范围,使得冗余数据的条数增加,并且可能的隐藏范围变宽。此时,与重传超时时段长的情况相比,在分组中冗余数据的比例增加,并且主数据的比例减小。
在步骤S14中,冗余数据生成单元25基于确定的冗余数据的条数和预定的冗余数据的目标数据量来确定主数据的目标数据量。此外,在步骤S14中,当确定了主数据的目标数据量时,确定主数据的编码设置和冗余数据的编码设置以便落入该目标数据量内。
注意,每条冗余数据的默认目标数据量是预先确定。因而,基于冗余数据的目标数据量、冗余数据的条数和分组的数据大小来设置主数据的目标数据量。
在步骤S14之后,系统设置处理结束。
<目标数据量的计算>
图8是示出目标数据量的计算的具体实例的示图。
图8示出了一个分组。例如,如图8所示,在冗余数据的目标数据量是20[字节]、冗余数据的条数是3、以及分组的数据大小是240[字节]的情况下,主数据的目标数据量是240-20×3=180[字节]。
<发送分组生成处理>
图9是用于描述发送终端11的发送分组生成处理的流程图。
在步骤S31中,信号处理单元23从外部获取音频文件或者音频数据。
在步骤S32中,信号处理单元23对音频数据执行诸如时间-频率转换的信号处理。
在步骤S33中,信号处理单元23将作为信号处理的结果而获得的数据累积在输入缓冲器24中。
在步骤S34中,冗余数据生成单元25和编码单元26执行冗余数据生成处理。稍后将参考图10描述冗余数据生成处理的细节。通过步骤S34的处理,执行冗余数据的生成和主数据的编码设置的更新。
在步骤S35中,编码单元26基于主数据的编码设置对主数据执行编码处理。编码单元26将编码后的主数据和冗余数据输出到多路复用单元27。
在步骤S36中,多路复用单元27执行多路复用处理。具体地,多路复用单元27将从编码单元26提供的编码后的主数据和冗余数据存储在适合于BLE通信的分组中。
多路复用单元27将分组累积在用于BLE通信的发送缓冲器28中,并且发送分组生成处理结束。之后,通过BLE通信将分组发送至接收终端12。
<冗余数据生成处理>
图10是用于描述图9的步骤S34中的冗余数据生成处理的流程图。
在步骤S51中,冗余数据生成单元25从输入缓冲器24获取与冗余数据相对应的一条原始数据。
在步骤S52中,冗余数据生成单元25从所获取的原始数据中提取对于冗余数据所必需的音频信号分量,并且生成冗余数据。
这里,基于与在图7中的步骤S14中确定的编码设置对应的预设表或计算公式、或者诸如数据的波形信息的特征量,确定对于原始数据中的冗余数据所必需的音频信号分量。此时,确定对于冗余数据所必需的音频信号分量,使得即使在再现期间音频信号分量被原始数据替换,也几乎不感知到劣化。
此外,基于编码设置删除除必要音频信号分量之外的分量的处理(诸如,在主数据的频谱中的编码处理中从编码目标排除分量)极大地减少了后续级中待编码的冗余数据。
在步骤S53中,冗余数据生成单元25确定在输入缓冲器24中是否剩余待处理的原始数据。如果在步骤S53中确定在输入缓冲器24中剩余了待处理的原始数据,则处理返回到步骤S51,并且重复步骤S51和后续步骤中的处理。
如果在步骤S53中确定在输入缓冲器24中没有待处理的原始数据,则处理进行到步骤S54。
在步骤S54中,冗余数据生成单元25确定是否存在待转换为相关数据的冗余数据。如果在步骤S54中确定存在待转换为相关数据的冗余数据,则处理进行到步骤S55。
这里,相关数据是关于分组中的主数据与一条冗余数据或多条冗余数据之间的相关性的数据。由于假设生成的各条冗余数据具有时间序列相关性,所以也可以根据需要仅编码相关数据。
在步骤S55中,冗余数据生成单元25确定是否参考主数据以用于相关数据生成。如果在步骤S55中确定参考主数据以用于相关数据生成,则处理进行到步骤S56。
在步骤S56中,冗余数据生成单元25从输入缓冲器24获取主数据(因为不执行处理,所以是原始数据本身)。
如果在步骤S55中确定不参考主数据以用于相关数据生成,则跳过步骤S56中的处理并且处理进行至步骤S57。
在步骤S57中,冗余数据生成单元25执行相关数据生成处理,并生成与冗余数据相对应的相关数据。在下文中,相关数据作为新的冗余数据进行处理。注意,此时,只要冗余数据处于声音质量方面的可接受范围内,则不总是需要从相关数据完全恢复原始冗余数据。
在步骤S58中,冗余数据生成单元25确定是否剩余待处理的冗余数据。如果在步骤S58中确定剩余了待处理的冗余数据,则处理返回到步骤S57,并且重复步骤S57和后续步骤中的处理。
如果在步骤S58中确定不存在待处理的冗余数据,则处理进行到步骤S59。
此外,如果在步骤S54中确定不存在待转换为相关数据的冗余数据,则处理也进行到步骤S59。
在步骤S59中,编码单元26基于在图7的步骤S14中确定的冗余数据的编码设置对从冗余数据生成单元25获取的冗余数据进行编码。即,冗余数据被编码以落入目标数据量内。
在步骤S60中,冗余数据生成单元25利用分组中的空闲空间更新主数据的目标数据量。分组中的空闲空间是分组数据大小-已编码的冗余数据量之和。此时,由于主数据的目标数据量被更新,所以主数据的编码设置被更新为落入该数据量内。在步骤S60之后,冗余数据生成处理结束。
<图10的步骤S60中的处理的细节>
图11是用于描述图10中的步骤S60的处理的示图。
图11示出了针对主数据生成三条冗余数据的实例。即,图11的A和图11的B示出了包括主数据N和冗余数据N+1至N+3的分组。
图11的A示出了将主数据N的目标数据量设置为在步骤S14的处理中确定的目标数据量的实例。这里,根据冗余数据的内容,编码结果可显著小于目标数据量。在这种情况下,通过步骤S59中的冗余数据编码处理,在如图11的A中所示的分组中生成空闲空间E。
因此,在步骤S60中,如图11的A中的箭头所示,增加主数据N的目标数据量以填充分组中的空闲空间E。
结果,如图11的B所示,主数据N的目标数据量增加。因而,能够以最高的可能质量在分组中发送主数据。
<接收终端的配置实例>
图12是示出接收终端的配置实例的框图。
接收终端12包括BLE控制器51、接收缓冲器52、解复用(多路解复用)单元53、主数据缓冲器54、冗余数据缓冲器55、再现数据选择单元56、解码单元57、信号处理单元58和音频DAC59。
BLE控制器51控制与BLE通信相关的操作。BLE控制器51对由于BLE通信引起的分组丢失进行计数。BLE控制器21响应于来自解复用单元53的询问将指示分组丢失的分组丢失信息提供给解复用单元53。
接收缓冲器52通过BLE通信接收和累积分组。
解复用单元53获取在接收缓冲器52中累积的分组。
解复用单元53将获取的分组分离成主数据和冗余数据。解复用单元53将数据编号(frame_id)添加至每条数据,将主数据累积在主数据缓冲器54中,并且将冗余数据累积在冗余数据缓冲器55中。数据编号用于识别由再现数据选择单元56选择的数据。
在主数据缓冲器54或冗余数据缓冲器55中存在待再现的数据(在后文中称为再现数据)的情况下,再现数据选择单元56获取再现数据并且将再现数据输出到解码单元57。再现数据选择单元56将再现数据的存在或不存在通知给信号处理单元58。
解码单元57获取并解码从再现数据选择单元56提供的主数据或者一条或多条冗余数据。解码单元57将解码后的主数据或者一条或多条冗余数据输出至信号处理单元58。
根据再现数据选择单元56提供的再现数据存在或不存在通知,在再现数据存在的情况下,信号处理单元58从解码单元57获取数据并且对所获取的数据执行解码的后处理。解码的后处理例如是包括频率-时间转换的信号处理。处理后的音频信号被输出至后续级中的再现设备,例如,音频DAC 59。
音频DAC 59将从信号处理单元58提供的数字音频信号转换为模拟音频信号并且在后续级将模拟音频信号输出至扬声器等。
<接收终端的操作>
在下文中,将针对数据获取处理和音频再现处理分开描述第一实施方式的接收终端12的基本处理流程。
<数据获取处理>
图13是用于描述接收终端12的数据获取处理的流程图。
在下文中,为了便于描述,假设在开始处理时,接收缓冲器52中的数据是按时间顺序的,并且根据相对于主数据的未来原始数据生成冗余数据。
此外,为了识别将在后面描述的音频再现处理中再现的数据,接收终端12按时间顺序将数据编号(frame_id)添加至每条数据,并且使用变量main_id对frame_id进行计数。假设frame_id和main_id都不溢出。
在步骤S81中,解复用单元53从接收缓冲器52获取分组。
在步骤S82中,解复用单元53将main_id更新为main_id+1,并且获得所获取的分组的main_id(主数据的frame_id)。这里获得的分组的main_id是不发生分组丢失的情况下的main_id。
在步骤S83中,解复用单元53向BLE控制器51询问是否发生了分组丢失。
在步骤S84中,基于从BLE控制器51获取的分组丢失信息,解复用单元53确定在上次获取的分组与本次获取的分组之间是否已经发生分组丢失。如果在步骤S84中确定在上次获取的分组与本次获取的分组之间发生了分组丢失,则处理进行到步骤S85。
在步骤S85中,解复用单元53将main_id更新为main_id+分组丢失的发生次数。
如果在步骤S84中确定在上次获取的分组与本次获取的分组之间没有发生分组丢失,则跳过步骤S85中的处理,并且处理进行到步骤S86。
在步骤S86中,解复用单元53执行解复用处理。具体地,解复用单元53将获取的分组分离成主数据和冗余数据。
在步骤S87中,解复用单元53将要添加到主数据的frame_id设置为main_id,并且在主数据缓冲器54中累积frame_id。
在步骤S88中,解复用单元53按时间顺序将要添加到各条冗余数据的frame_id设置为main_id+1至main_id+冗余数据的条数,并且在冗余数据缓冲器55中累积frame_id。在步骤S88之后,数据获取处理结束。
<添加数据编号的方法>
图14是用于描述添加数据编号的方法的示图。
图14示出由接收缓冲器52接收的接收分组。所接收的分组包括主数据和三条冗余数据,并且在自从上一次接收以来没有发生分组丢失的情况下,设置main_id=37。
解复用单元53将要添加到主数据的frame_id设置为main_id=37,并且在主数据缓冲器54中累积frame_id。
解复用单元53按时间顺序将要添加到各条冗余数据的frame_id设置为main_id+1(38)至main_id+3(40),并且在冗余数据缓冲器55中累积frame_id。
这里,如果没有发生分组丢失,则被设置为下一个主数据的frame_id是38,并且如果发生n次分组丢失,则frame_id是38+n。
<音频再现处理>
图15是用于描述接收终端12的音频再现处理的流程图。
在步骤S101中,再现数据选择单元56执行再现数据选择处理。注意,稍后将参照图16描述再现数据选择处理的细节。通过步骤S101的处理,根据分组丢失的发生选择要再现主数据和冗余数据中的哪一个。此时,根据需要,还获取用于相关数据恢复的数据。所选择的数据或所获取的数据输出至解码单元57。
在步骤S102中,解码单元57对由再现数据选择单元56选择的数据执行解码处理。当要解码的数据是相关数据时,在步骤S101中获取的用于相关数据恢复的主数据或冗余数据也被解码并恢复为可独立再现的数据。解码单元57将解码后的主数据或冗余数据输出到信号处理单元58。
在步骤S103中,根据再现数据选择单元56提供的再现数据存在或不存在通知,如果存在再现数据,那么信号处理单元58从解码单元57中获取数据并且对所获取的数据执行诸如频率-时间转换的信号处理。
在步骤S104中,信号处理单元58以可由音频DAC 59接收的格式(诸如,I2S)输出处理后的音频信号的波形。音频DAC59将从信号处理单元58提供的数字音频信号转换为模拟信号并且在后续级将模拟信号输出至扬声器等。在步骤S104之后,音频再现处理结束。
<再现数据选择处理>
图16是用于描述图15的步骤S101中的再现数据选择处理的流程图。
为了便于描述,假设要再现的frame_id被设置为与在图13的数据获取处理中添加的frame_id一致。
在步骤S121中,再现数据选择单元56确定在主数据缓冲器54中是否存在具有要再现的frame_id的主数据。如果在步骤S121中确定在主数据缓冲器54中存在具有要再现的frame_id的主数据,则处理进行至S122。
在步骤S122中,再现数据选择单元56从主数据缓冲器54获取主数据。在步骤S122之后,再现数据选择处理结束。
另一方面,如果在步骤S121中确定在主数据缓冲器54中不存在具有要再现的frame_id的主数据,则处理进行至步骤S123。
在步骤S123中,再现数据选择单元56确定在冗余数据缓冲器55中是否存在具有要再现的frame_id的冗余数据。如果在步骤S123中确定在冗余数据缓冲器55中存在具有要再现的frame_id的冗余数据,则处理进行到步骤S124。
在步骤S124中,再现数据选择单元56从冗余数据缓冲器55中获取冗余数据。
在步骤S125中,再现数据选择单元56确定冗余数据是否是相关数据。如果在步骤S125中确定冗余数据是相关数据,则处理进行到步骤S126。
在步骤S126中,如果用于冗余数据恢复的冗余数据也是必需的,则再现数据选择单元56额外获取冗余数据。
如果在步骤S125中确定冗余数据不是相关数据、或者在步骤S126之后,则再现数据选择处理结束。
另外,如果在步骤S123中确定在冗余数据缓冲器55中不存在具有要被再现的frame_id的冗余数据,则处理进行到步骤S127。
在步骤S127中,再现数据选择单元56通知信号处理单元58不存在冗余数据。在步骤S127之后,再现数据选择处理结束。
如上所述,根据本技术的第一实施方式,可以抑制在相同通信状态下由设备引起的分组丢失发生概率的变化。因此,可以实现与设备无关的稳定的语音传输。
另外,由于使用在连接时确定的值,因此在传输期间的动态控制不必要或不可能的条件下,本发明也适用。
<2.第二实施方式(根据通信状态的数据量的动态控制的组合)>
<第二实施方式的概述>
本技术的第二实施方式可以与专利文献2中描述的方法结合使用。
在专利文献2中描述的方法中,在通信期间以恒定周期观察发送缓冲器中的发送待命数据的条数。通过观察发送待命数据的条数,可以获得与通信状态的测量相对应的效果。这是由于如下所述的原因。
通常,当通信状态良好时,期望减少发送待命数据的条数。另一方面,当通信状态差并且重复重传时,期望发送待命数据的条数增加。因而,当发送待命数据的条数多时,可以确定通信状态趋于变差,并且当发送待命数据的条数少时可以确定通信状态趋于良好。
所以,在确定发送待命数据的条数多的情况下(条件1),通过减少每帧的数据量来增加要存储在一个分组中的数据的条数。从而延长了每条数据的有效重传时间,提高了传输成功的概率。
另一方面,在确定发送待命数据的条数少的情况下(条件2),要存储在一个分组中的数据的数量通过增加每帧的数据量而减少。结果,虽然每条数据的有效可重传时间变短,但是可以在当前通信状态下以尽可能高的质量发送数据。
本技术的第二实施方式是通过将上述方法应用于第一实施方式而获得的,并且具有以下两点。
第一点:可根据使用重传超时时段的通信状态和在发送缓冲器中累积的分组数量(或主数据的条数)来设置分组中存储的主数据的条数和冗余数据的条数。
第二点:通过根据重传超时时段改变用于确定发送缓冲器中的分组的数量是多(条件1)还是少(条件2)的阈值,可以针对每个设备优化专利文献2中描述的方法。
重传超时时段实际上是“可重传时间”。在重传超时时段短的情况下,当通信状态恶化时,成功传输的概率可能降低。在这种情况下,通过使容易满足条件1,响应于通信状态的改变,尽可能灵敏地执行控制以增加每个分组的主数据的条数。结果,成功传输的概率增加,并且不太可能发生分组丢失。
在再现超时时段相对长的情况下,与重传超时时段短的情况相比,预测即使当通信状态劣化时,成功传输的概率也高。因而,通过使难以满足条件1并且容易满足条件2,尽可能优先再现质量来执行再现。
要注意的是,在下文中,根据本技术的第二实施方式的操作原理,假设为一个分组存储一条或多条主数据。其他假设类似于第一实施方式的假设。
第二实施方式的音频传输系统的配置与在图5中示出的第一实施方式的音频传输系统的配置相似。此外,第二实施方式的接收终端12也具有类似于第一实施方式的接收终端12的配置。
因此,在第二实施方式中,将仅描述与第一实施方式的发送终端11的配置不同的发送终端11的配置。
<发送终端的配置实例>
图17是示出发送终端11的另一配置实例的框图。
图17中的发送终端11与图6中的发送终端11的不同之处在于,冗余数据生成单元25变成冗余数据生成单元101,编码单元26变成编码单元102,并且多路复用单元27变成多路复用单元103。在图17中所示的配置中,与参考图6所描述的配置相同的配置由相同的参考数字表示。适当省略重复的描述。
冗余数据生成单元101获取与在输入缓冲器24中累积的主数据和冗余数据相对应的原始数据。此外,从重传超时时段计算单元22向冗余数据生成单元101提供重传超时时段,并且从编码单元102提供冗余数据的已编码数据量。
此外,冗余数据生成单元101周期性地观察发送缓冲器28并获取累积的分组数量。
冗余数据生成单元101基于从重传超时时段计算单元22提供的重传超时时段来确定冗余度。冗余数据生成单元101基于由编码单元102提供的已编码数据量通知、发送缓冲器28中累积的分组数量、以及确定的冗余度,生成产生一个分组所必需的一条或多条主数据和一条或多条冗余数据。
冗余数据生成单元101将生成的一条或多条主数据和冗余数据输出到编码单元102。另外,冗余数据生成单元101确定与输出到编码单元102的主数据和冗余数据相对应的编码设置,并将确定的编码设置通知给编码单元102。
编码单元102基于所获取的编码设置对主数据和冗余数据进行编码。编码单元102将编码后的主数据和冗余数据输出到多路复用单元103。另外,编码单元102将冗余数据的已编码数据量输出到冗余数据生成单元101。
多路复用单元103对从编码单元102提供的编码后的一条或多条主数据和冗余数据执行多路复用处理。即,多路复用单元103将编码后的一条或多条主数据和冗余数据存储在适合于BLE通信的分组中。多路复用单元103将分组累积在用于BLE通信的发送缓冲器28中。
<发送终端的操作>
在下文中,对于系统设置处理、设置更新处理和发送分组生成处理,将分开描述第二实施方式的发送终端11的基本处理流程。系统设置处理是在BLE通信连接时仅执行一次的处理。发送分组生成处理是在通过BLE通信的语音传输期间执行多次的处理。
设置更新处理是以预定固定时间(诸如,每20ms)的观察间隔与发送分组生成处理并行执行的处理。通过该处理,主数据的条数和冗余数据的条数根据通信状态的变化而动态地改变。
<系统设置处理>
图18是用于描述发送终端11的系统设置处理的流程图。
因为步骤S201和202是与图7中的步骤S11和S12基本上相同的处理,所以将省去其描述。
在步骤S203中,冗余数据生成单元101基于从重传超时时段计算单元22提供的重传超时时段,确定主数据的条数和冗余数据的条数(冗余度)。通过使用预先准备的表示重传超时时段与主数据的条数和冗余数据的条数之间的对应关系的关系表达式或表来确定主数据的条数和冗余数据的条数。
在步骤S204中,冗余数据生成单元101基于所确定的主数据的条数和所确定的冗余数据的条数来确定主数据的目标数据量。此外,在步骤S204中,当确定了主数据的目标数据量时,确定主数据的编码设置和冗余数据的编码设置以便落入目标数据量内。
虽然上述处理类似于图7中的步骤S14中的处理,但是由于主数据的条数是一个或多个,所以通过将通过从分组数据大小中减去冗余数据的目标数据量之和而获得的余数除以主数据的条数,来获得一条主数据的目标数据量。
注意,在步骤S203和S204中使用的用于确定数据条数的表和冗余数据的目标数据量被设置为使得主数据的目标数据量总是超过冗余数据的目标数据量。
在步骤S205中,冗余数据生成单元101确定阈值th1和阈值th2(th1>th2),阈值th1和阈值th2用于确定在稍后将描述的设置更新处理中使用的主数据的条数的增加或减少。这些阈值可以被设置为某些固定的默认值,或者,根据上述优点,可以基于指示重传超时时段与预先准备的阈值之间的对应关系的计算公式或表来设置。在步骤S205之后,系统设置处理结束。
<目标数据量的计算>
图19是示出目标数据量的计算的具体实例的示图。
图19示出了一个分组。例如,如图19所示,在主数据的条数是二、冗余数据的条数是三、冗余数据的目标数据量是20[字节]、以及分组的数据大小是240[字节]的情况下,主数据的目标数据量是(240-20×3)/2=90[字节]。
<设置更新处理>
图20是用于描述发送终端11的设置更新处理的流程图。
在步骤S221中,冗余数据生成单元101获取在发送缓冲器28中累积的分组的数量。
在步骤S222中,作为条件1,冗余数据生成单元101确定发送缓冲器28中的分组数量是否超过阈值th1。如果在步骤S222中确定发送缓冲器28的分组数量超过阈值th1,那么假设通信状态较差,因此,处理进行到步骤S223。
在步骤S223中,冗余数据生成单元101增加在一个分组中的主数据的条数。
此外,如果在步骤S222中确定发送缓冲器28中的分组数量不超过阈值th1,那么处理进行到步骤S224。
在步骤S224中,作为条件2,确定发送缓冲器28中的分组数量是否小于阈值th2。如果在步骤S224中确定发送缓冲器28的分组数量小于阈值th2,那么假设通信状态良好,因此,处理进行到步骤S225。
在步骤S225中,冗余数据生成单元101减少在一个分组中的主数据的条数。
在步骤S223或步骤S225之后,处理进行到步骤S226。
另一方面,如果在步骤S224中确定发送缓冲器28的分组数量也不小于阈值th2,则处理进行到步骤S226。在这种情况下,分组中的主数据的条数不改变。
注意,条件1和条件2的确定不一定需要与设定阈值比较,并且例如,可以使用过去信息(诸如过去的发送缓冲器中的分组数量或者设定的主数据的条数的转变)作为阈值。此外,诸如在当前的分组数量为n并且等于或大于m(m是过去的分组数量的平均值)的情况下,可使用设置的阈值和包括过去信息的阈值中的任一者,或者可使用设置的阈值和该阈值两者。
在步骤S226中,冗余数据生成单元101基于主数据的条数和表示重传超时时段与冗余数据的条数之间的对应关系的表来重置冗余数据的条数。
例如,在一个分组中存储的主数据的条数增加的情况下,分组丢失时所需的冗余数据的条数也增加,因此,根据需要执行步骤S226的处理。
注意,当冗余数据的条数被重置时,冗余数据生成单元101可以考虑主数据的条数的转变历史、在下一分组中调度的主数据的条数、以及其他信息来确定冗余数据的条数。
在步骤S227中,冗余数据生成单元101重置主数据的目标数据量。
与图18中的步骤S204的处理相似,基于主数据的条数、冗余数据的条数、冗余数据的目标数据量以及分组的数据大小来获得主数据的目标数据量。此外,在步骤S227中,当确定了主数据的目标数据量时,更新主数据的编码设置和冗余数据的编码设置以便落入目标数据量内。
在步骤S227之后,设置更新处理结束。
<发送分组生成处理>
图21是用于描述发送终端11的发送分组生成处理的流程图。
要注意的是,由于在图21中的步骤S241到S246与在图9中的步骤S31到S36基本上相似,所以省略其描述。
然而,要注意的是,在步骤S244到S246中,如后面参照图22所述,待编码和存储的主数据的条数是一个或多个。例如,在步骤S244中,由于主数据的条数是一个或多个,所以通过将空闲空间除以主数据的条数而获得的值被设置为主数据的目标数据量。
在图21的步骤S247中,多路复用单元103将发送数据编号(send_id)添加到分组。发送数据编号是用于计算第一实施方式中的上述数据编号(frame_id)的编号。稍后将参考图23描述发送数据编号添加处理的细节。
多路复用单元103将添加了发送数据编号的分组在用于BLE通信的发送缓冲器28中累积,并且发送分组生成处理结束。之后,通过BLE通信将分组发送至接收终端12。
<帧和分组的配置实例>
图22是示出在存在一条或多条主数据的情况下的帧和分组的配置的示图。
在图22的A中,原始数据帧N至N+7沿着时间轴示出。在每个分组的主数据的条数是2的情况下,由虚线表示的两条原始数据被包括在一个分组中。
图22的B示出了在每个分组的主数据的条数是2的情况下的分组的配置实例。
在冗余数据的条数是关于主数据的三个分组并且每个分组的主数据的条数是2的情况下,冗余数据的条数是6个未来帧。
因而,用于发送原始数据N和N+1的分组的配置包括:主数据N和N+1、以及原始数据N+2至N+7的冗余数据N+2至N+7。
<发送数据编号添加处理>
图23是用于描述图21的步骤S247中的发送数据编号添加处理的流程图。
在步骤S261中,多路复用单元103将发送数据编号(send_id)添加至当前分组。
这里,send_id是从初始值0起,在开始再现之后存储在分组中的各条主数据按时间序列顺序编号时与分组头部处的主数据相对应的值。注意,send_id的可能的最大值是ID_MAX,并且当将1添加到ID_MAX时,ID_MAX溢出并且变为0。另外,send_id是待添加到分组中的信息,因此具有最小必要比特长度。具体地,send_id的比特长度可以是任何长度,只要其能够表示可以连续生成的丢失数据的最大条数即可。
以下,假设分组中包括的主数据的条数是main_num,并且不发生ID_MAX次以上的连续分组丢失。
在步骤S262中,如以下等式(1),多路复用单元103获得待添加到下一个分组的send_id。
[表达式1]
send_id=(send_id+main_num)%(ID_MAX+1)···(1)
在步骤S262之后,发送数据编号添加处理结束。
<发送数据编号添加处理的具体实例>
图24是示出发送数据编号添加处理的具体实例的示图。
在图24中,在由5比特表示时,send_id取0到31的值,并且ID_MAX为31。此外,通过按时间顺序排列要发送的分组来获得分组1至3。
分组1的send_id=27并且main_num(主数据的条数)=4。在分组1中,五条冗余数据被添加到该分组。
当在分组1中send_id=27并且main_num(主数据的条数)=4时,下一个(分组2)的send_id为(27+4)%(31+1)=31。
分组2的send_id=31并且main_num(主数据的条数)=3。在分组2中,三条冗余数据被添加到该分组。
当在分组2中send_id=31并且main_num=3时,添加到分组3的send_id为(31+3)%(31+1)=2。
分组3的send_id=2并且main_num(主数据的条数)=4。在分组3中,四条冗余数据被添加到该分组。
由此,以类似方式将send_id添加到所有待发送的分组。
<接收终端的操作>
在下文中,在第二实施方式的接收终端12的基本处理流程中,将描述包括与第一实施方式不同的数据获取处理。注意,音频再现处理包括与第一实施方式的操作类似的操作。
在第二实施方式中,由于存储在一个分组中的主数据的条数变化,因此在计算要添加到每条接收数据的数据编号frame_id时,确认发送数据编号send_id。
在下文中,添加到接收的分组的发送数据编号是send_id,其最大值是ID_MAX,包括的主数据的条数是main_num,并且指示前一接收分组的send_id的变量是send_id_before。此外,类似于第一实施方式的实例,指示分组的头部处的主数据的frame_id的变量是main_id。
应注意,为了便于描述,假设不发生ID_MAX次以上的连续分组丢失,相对于主数据从未来的原始数据生成冗余数据,并且frame_id和main_id都不溢出。
<数据获取处理>
图25是用于描述接收终端12的数据获取处理的流程图。
接收终端12通过使用最初接收的分组的send_id来更新main_id。因为基于send_id、send_id_before以及前一分组的主数据的条数来识别分组丢失的存在与否或分组丢失时丢失的数据的条数,因此不需要如在第一实施方式中描述的步骤S83和S84中那样确认分组丢失的存在与否。
在步骤S281中,解复用单元53确定接收到的分组的send_id是否等于或大于send_id_before。如果在步骤S281中确定send_id等于或大于send_id_before,则处理进行到步骤S282。
在步骤S282中,执行在send_id未溢出的情况下的处理。即,解复用单元53获得main_id=main_id+send_id-send_id_before。
另一方面,如果在步骤S281中确定send_id小于send_id_before,则处理进行至步骤S283。
在步骤S283中,执行send_id溢出的情况下的处理。即,解复用单元53获得main_id=main_id+(ID_MAX+1+send_id)-send_id_before。
在步骤S282或S283结束之后,处理进行到步骤S284。
在步骤S284中,作为解复用处理,解复用单元53将获取的分组分离成主数据和冗余数据。
在步骤S285中,解复用单元53按时间顺序将要添加到各条主数据的frame_id设置为main_id至main_id+main_num-1,并且在主数据缓冲器54中累积frame_id。
在步骤S286中,解复用单元53按时间顺序将要添加到各条冗余数据的frame_id设置为main_id+main_num至main_id+main_num+(冗余数据的条数-1),并且在冗余数据缓冲器55中累积frame_id。
在步骤S287中,解复用单元53将send_id_before更新为send_id。在步骤S287之后,数据获取处理结束。
<添加frame_id的方法>
图26是示出添加frame_id的方法的实例的示图。
图26示出分组1至3以图24中所示的顺序发送并且在BLE通信期间分组2丢失的情况。此时,解复用单元53获得添加到分组3的每条主数据和每条冗余数据的frame_id。
分组1在被接收时的send_id=27。紧接在接收分组1之后的main_id是小于150的值,并且在接收分组1时通过图25中的步骤S282的处理将main_id更新为main_id=150。基于更新的main_id=150,将要添加到四条主数据的frame_id设置为150至153,并且将要添加到五条冗余数据的frame_id设置为154至158。
当接收到分组3时,解复用单元53将接收到的分组(分组3)的send_id与前一接收到的分组(分组1)的send_id进行比较。由于send_id=2并且send_id_before(分组1的send_id)=27,因此send_id<send_id_before。
因此,由于send_id<send_id_before,所以在前一接收时main_id=150时,解复用单元53在图25的步骤S303中将main_id更新为150+(31+1+2)-27=157,如上所述。根据该值,添加到分组3的四条主数据的frame_id被设置为157至160,添加到四条冗余数据的frame_id被设置为161至164。
如果接收到send_id=31的丢失分组2,则更新main_id=154。根据该值,添加到分组2的三条主数据的frame_id被设置为154至156,并且添加到三条冗余数据的frame_id被设置为157至159。
注意,在第二实施方式中,为了便于描述,假设相对于主数据按时间顺序从未来的原始数据生成冗余数据,并且不能确认在下一分组中保持的主帧的数量。
为此,在图24和图26的实例中,在分组中的主数据的条数根据通信状态而改变的情况下,出现冗余数据重叠的帧(诸如图26中的frame_id=157、158)或出现冗余数据未准备的帧(诸如frame_id=160)。
因而,实际上,执行以下操作:预先确定下一分组的主数据的条数,以将冗余数据的条数设置为与下一个将要发送的分组的主数据的条数相同,或者不再次添加已添加了至少一次的冗余数据。结果,抑制了冗余数据的浪费和遗漏。
如上所述,根据本技术的第二实施方式,可以抑制在相同通信状态下由设备引起的分组丢失发生概率的变化。因此,可以实现与设备无关的稳定的语音传输。
此外,即使在使用了用于检查通信状态并且动态地改变数据量的机制时,也可以通过预先将两个阈值设置为适当的值,来避免紧接在连接开始等之后的声音中断。
此外,由于用于比较发送缓冲器中的分组数量的阈值根据重传超时时段而改变,因此可以根据对通信状态的改变敏感的设备或对通信状态的改变不敏感的设备来执行适当的控制。
<3.第三实施方式(一对多通信中的控制)>
<第三实施方式的概述>
在使用BLE的实际语音传输中,一个发送终端可以与多个接收终端(诸如完全无线耳机)通信。在第三实施方式中,将描述本技术应用于这种情况的实例。
此外,通常,诸如完全无线耳机的设备通常以专用方案在设备之间执行控制并通信音频信号,作为设备间通信。因为在本技术中使用的冗余数据是编码方案的一部分并且不依赖于通信方案的类型,所以冗余数据也可以用于专用方案中的通信。
为此,通过将本技术的冗余数据添加到用于执行设备间通信并且在接收终端之间传输和接收数据的设备间数据,与单独的接收终端相比,可以扩大可能的隐藏范围。
为了实现上述控制,在第三实施方式中,增加了在接收终端之间请求必要数据的处理。下面将描述细节。
每个接收终端检查其自身的主数据缓冲器和冗余数据缓冲器,并且检查是否存在缺失数据。在存在缺失数据的情况下,接收终端通过设备间通信将可识别缺失数据的信息(诸如,frame_id)作为请求信息通知给另一接收终端。
通过设备间通信从另一个接收终端接收到请求信息的接收终端检查在其自身的冗余数据缓冲器中是否存在被请求的冗余数据。如果存在冗余数据,则接收终端将冗余数据添加到用于设备间通信的信息中,并且将该信息发送到请求的接收终端。
接收到所请求的冗余数据的接收终端使用冗余数据进行内插并再现该缺失数据。此时,即使接收终端仅能获取与原始再现的信道不同的信道的数据,也可以获得相当于单信道再现的效果。
如上所述,从发送终端的观点来看,可以加宽可能的隐藏范围,而无需额外的通信成本。
注意,作为在第三实施方式中使用的冗余数据,显然可以在发送终端侧预先添加信道之间的相关数据。例如,发送终端将左信道和右信道的相关数据相加,并将结果数据发送到左信道的接收终端。此后,如果存在来自右信道的接收终端的请求,则左信道的接收终端将左信道的冗余数据和相关数据相加,并将结果数据发送到右信道的接收终端。处理相关数据的方法类似于在第一实施方式中描述的处理相关数据的方法,并且将省略其描述。
每个接收终端执行上述处理,使得能够实现对于多个终端(信道)的系统进行优化的分组丢失隐藏。
<音频传输系统的配置>
图27是示出根据本技术的第三实施方式的音频传输系统的配置实例的示图。
音频传输系统通过经由BLE通信连接发送终端211和接收终端212-1至212-3来配置。此外,在音频传输系统中,接收终端212-1至212-3通过专用通信方法执行设备间通信。
发送终端211包括诸如智能电话、移动终端等的多功能移动电话。发送终端211以与第一实施方式和第二实施方式中的那些相似的方式生成分组,并且通过BLE通信将分组发送至接收终端212-1至212-3中的每一个。
在完全无线耳机的情况下,接收终端212-1至212-3输出与音频信道(例如,左信道和右信道)对应的声音。
注意,在能够通过一个设备(诸如无线扬声器)执行立体声再现的设备的情况下,可以通过类似于第二实施方式中的方法在一个分组中发送左信道和右信道两者的数据。
接收终端212-1至212-3接收通过BLE通信从发送终端211发送的分组,通过与第一实施方式和第二实施方式中的那些相似的方法对分组进行解码,并且再现分组。此外,除了控制信息之外,接收终端212-1至212-3还通过设备间通信发送和接收上述请求信息和相关冗余数据。
应注意,在下文中,在不需要区分接收终端212-1至212-3的情况下,它们被称为接收终端212。此外,在下文中,为了便于描述,假设一个接收终端212接收一个信道。
<发送终端的配置实例>
图28是示出发送终端211的配置实例的框图。
图28中的发送终端211与图6中的发送终端11的不同之处在于,信号处理单元23变成信号处理单元221,冗余数据生成单元25变成冗余数据生成单元222,编码单元26变成编码单元223,并且多路复用单元27变成多路复用单元224。在图28中所示的配置中,与参考图6所描述的配置相同的配置由相同的参考数字表示。适当省略重复的描述。
信号处理单元221通过与图6中的信号处理单元23相似的方法执行音频编码的预处理,添加表示帧包括哪个音频信道数据的信息,并且将数据累积在输入缓冲器24中。
冗余数据生成单元222和编码单元223从输入缓冲器24获取生成特定音频信道的一个分组所需的原始数据,并通过与图6中的冗余数据生成单元25和编码单元26的方法类似的方法来生成主数据和冗余数据并对其进行编码。编码后的主数据和冗余数据被提供给多路复用单元224。
多路复用单元224通过与图6中的多路复用单元27的方法相似的方法,在用于BLE通信的分组中存储从编码单元223提供的主数据和冗余数据,并且从指示分组包括哪个音频信道数据的信息中获得发送目的地。多路复用单元224在发送缓冲器28中累积用于BLE通信的分组。
注意,除了考虑每条数据属于哪个音频信道之外,发送终端211的操作类似于第一或第二实施方式的操作,因此将省略其描述。
<接收终端的配置实例>
图29是示出接收终端212的配置实例的框图。在图29中所示的配置中,与参考图12所描述的配置相同的配置由相同的参考数字表示。适当省略重复的描述。
图29中的发送终端211与图12中的接收终端12的不同之处在于,添加了接收缓冲器251、设备间数据解复用单元252、设备间通信控制单元253、冗余数据添加单元254和发送缓冲器255。
接收缓冲器251通过设备间通信来接收并累积分组。
设备间数据解复用单元252获取在接收缓冲器251中累积的设备间数据的分组。在冗余数据被添加到所获取的分组的情况下,设备间数据解复用单元252分离冗余数据,在冗余数据缓冲器55中累积该冗余数据,并且向设备间通信控制单元253输出其他信息(在下文中,称为设备间控制信息)。
设备间通信控制单元253获取从设备间数据解复用单元252提供并且从另一接收终端212发送的设备间控制信息。设备间控制信息可包括对来自另一接收终端212的冗余数据的请求。在这种情况下,设备间通信控制单元253在从另一接收终端212请求的frame_id的数据当中检查存在于冗余数据缓冲器55中的数据。设备间通信控制单元253将存在于冗余数据缓冲器55中的冗余数据设置为要添加到设备间控制信息的冗余数据。设备间通信控制单元253将自身发送的设备间控制信息和要添加的冗余数据的frame_id输出到冗余数据添加单元254。
冗余数据添加单元254从冗余数据缓冲器55获取与要添加的冗余数据的frame_id相对应的冗余数据。冗余数据添加单元254将所获取的冗余数据添加到设备间控制信息,将该信息存储在适合于设备间通信的分组中,并且将该分组累积在发送缓冲器255中。
此外,设备间通信控制单元253检查主数据缓冲器54和冗余数据缓冲器55,并且获取从设备间通信控制单元253本身向另一接收终端212请求的frame_id。设备间通信控制单元253将要请求的冗余数据的frame_id的信息添加到由其自身发送的设备间控制信息中,并且将该信息输出到冗余数据添加单元254。
冗余数据添加单元254将设备间控制信息存储在适合于设备间通信的分组中,并且将该分组累积在发送缓冲器255中。
存储在发送缓冲器255中的分组通过设备间通信被发送到另一接收终端212。
<接收终端的操作>
在下文中,在第三实施方式的接收终端212的基本处理流程中,将仅描述不同于第一或者第二实施方式的设备间通信控制处理。在独立于第一和第二实施方式中描述的BLE通信和数据获取处理和音频再现处理的定时,执行设备间通信控制处理。
<设备间通信控制处理>
图30是用于描述接收终端212的设备间通信控制处理的流程图。
在下文中,为了便于描述,假设再现定时在各接收终端212当中以可允许的精度同步。此外,作为指示在发送终端211的音频数据中的相同定时的帧的编号,假设frame_id可由所有接收终端212正确地共享。
在步骤S301中,设备间数据解复用单元252获取从另一接收终端212发送并累积在接收缓冲器251中的设备间数据的分组。
在步骤S302中,设备间数据解复用单元252确定冗余数据是否被添加到设备间数据。如果在步骤S302中确定已经对设备间数据添加了冗余数据,则处理进行到步骤S303。
在步骤S303中,设备间数据解复用单元252执行设备间数据解复用处理以分离冗余数据。
在步骤S304中,设备间数据解复用单元252确定在主数据缓冲器54和冗余数据缓冲器55中是否存在相同frame_id的数据。如果确定在主数据缓冲器54和冗余数据缓冲器55中存在相同frame_id的数据,则处理进行到步骤S305。
在步骤S305中,在从另一接收终端212接收的冗余数据的优先级较高的情况下,设备间数据解复用单元252用已经从另一接收终端212接收并累积在接收缓冲器251中的冗余数据来替换存在于冗余数据缓冲器55中的相同frame_id的数据。
例如,在接收左信道音频数据的接收终端212的情况下,左信道音频信号具有较高的优先级,而右信道音频信号具有较低的优先级。
另一方面,在从另一接收终端212接收的冗余数据的优先级较低的情况下,设备间数据解复用单元252丢弃所接收的冗余数据。
例如,在接收终端再现ch1的音频信号并且在冗余数据缓冲器55中存在与{frame_id,ch}={150,1}相对应的冗余数据的情况下,即使新接收到与{frame_id,ch}={150,2}相对应的冗余数据,也丢弃接收到的该冗余数据。
如果在步骤S304中确定在主数据缓冲器54和冗余数据缓冲器55中不存在相同frame_id的数据,则处理进行至步骤S306。
在步骤S306中,设备间数据解复用单元252将从另一接收终端212接收的冗余数据累积在冗余数据缓冲器55中。
另一方面,如果在步骤S302中确定没有向设备间数据添加冗余数据,则跳过步骤S303至S306的处理,并且处理进行到步骤S307。
在步骤S307中,设备间通信控制单元253执行请求数据确定处理。稍后将参考图31描述请求数据确定处理的细节。通过步骤S307的处理,检查了设备间通信控制单元253本身的主数据缓冲器54和冗余数据缓冲器55,并且获得要请求的frame_id的列表。
设备间通信控制单元253将要请求的frame_id的列表及其自身的信道信息一起设置为接收终端212的请求信息。例如,对于接收ch2的接收终端212,请求信息被配置为{frame_id,ch}={150,2}、{167,2}、{180,2}等。
例如,假设自身终端是再现ch1的音频信号的接收终端,并且请求目标终端是再现ch2的音频信号、但是也接收ch1的音频信号的接收终端。在这种情况下,自身终端向接收终端212请求具有高优先级的{frame_id,ch}={150,1}。
注意,可以不加区别地做出对信道的请求。在这种情况下,请求信息被配置为例如{frame_id,ch}={150,x(不关心)}。
在步骤S308中,设备间通信控制单元253执行设备间控制信息的生成处理。具体地,除了请求信息之外,设备间通信控制单元253还生成将由其自身发送的设备间控制信息。另外,设备间通信控制单元253根据需要将上述请求信息添加到生成的设备间控制信息。
在步骤S309中,设备间通信控制单元253从在步骤S301中获取的设备间数据获取另一接收终端212的请求信息。设备间通信控制单元253将要添加的设备间控制信息和冗余数据的frame_id输出到冗余数据添加单元254。
在步骤S310中,冗余数据添加单元254确定在冗余数据缓冲器55中是否存在与来自另一接收终端212的请求信息中的frame_id对应的冗余数据。如果在步骤S310中确定在来自另一接收终端212的请求信息中存在与frame_id相对应的冗余数据,则处理进行到步骤S311。
在步骤S311中,冗余数据添加单元254根据可添加的量和添加优先级选择要添加的冗余数据,并将选择的冗余数据添加到设备间控制信息。添加优先级用于尽可能优先传输旧的frame_id。注意,还可以考虑与上述信道有关的优先级。
另外,如果在步骤S310中确定在来自另一接收终端212的请求信息中不存在与frame_id对应的冗余数据,则跳过步骤S311中的处理,并且处理进行到步骤S312。
在步骤S312中,冗余数据添加单元254将设备间控制信息存储在适合于设备间通信的分组中,并且在发送缓冲器255中积累分组。
存储在发送缓冲器255中的分组通过设备间通信被发送到另一接收终端212。此后,设备间通信控制处理结束。
<请求数据确定处理>
图31是用于描述在图30的步骤S307中的请求数据确定处理的流程图。
在该处理中,为了确认是否存在要请求的数据,准备临时保持frame_id的变量id。
在步骤S341中,设备间通信控制单元253确定对冗余数据的请求是否是必需的。例如,在长时间没有发生分组丢失的情况下,不需要做出请求。所以,确定对冗余数据的请求不是必需的,并且结束请求数据确定处理。
如果在步骤S341中确定对冗余数据的请求是必需的,则处理进行到步骤S342。
在步骤S342中,设备间通信控制单元253将当前在它自身的主数据缓冲器54和冗余数据缓冲器55中的最旧数据的frame_id替换为id并且初始化id。
在步骤S343中,设备间通信控制单元253确定在主数据缓冲器54和冗余数据缓冲器55中是否存在与id匹配的frame_id的数据。如果在步骤S343中确定在主数据缓冲器54和冗余数据缓冲器55中不存在与id匹配的frame_id的数据,则处理进行至步骤S344。
在步骤S344中,设备间通信控制单元253将id添加到请求信息。
如果在步骤S343中确定在主数据缓冲器54和冗余数据缓冲器55中存在与id匹配的frame_id的数据,则跳过步骤S344的处理,并且处理进行至步骤S345。
在步骤S345中,设备间通信控制单元253将id更新为id+1。
在步骤S346中,设备间通信控制单元253确定id是否等于或小于主数据缓冲器54中的最新frame_id并且请求数据是否等于或小于预先指定的数量。如果在步骤S346中确定id等于或小于主数据缓冲器54中的最新frame_id并且请求数据等于或小于指定数量,则处理返回至步骤S343,并且重复步骤S343和后续步骤中的处理。
如果在步骤S346中确定id已经变得大于主数据中的最新frame_id或者请求数据已经变得大于指定数量,则请求数据确定处理结束。
这样,通过预先指定数量并且将请求数据的条数设置为等于或小于所指定的数量,可以抑制设备间通信的数据量的不必要增加。
如上所述,根据本技术的第三实施方式,可以抑制在相同通信状态下由设备引起的分组丢失发生概率的变化。因此,可以实现与设备无关的稳定的语音传输。
另外,根据第三实施方式,在向多个设备(信道)的语音传输的系统中,与单个设备相比,可以减小声音中断的频率。
应注意,第三实施方式的技术不仅可以应用于第一实施方式而且可以应用于第二实施方式。
<4.其他>
<计算机配置实例>
上述一系列处理可以由硬件或软件执行。在一系列处理由软件执行的情况下,形成软件的程序从程序记录介质安装到包含在专用硬件中的计算机、通用个人计算机等中。
图32是示出根据程序执行上述一系列处理的计算机的硬件配置实例的框图。
中央处理单元(CPU)301、只读存储器(ROM)302和随机存取存储器(RAM)303通过总线304相互连接。
输入/输出接口305还连接至总线304。包括键盘、鼠标等的输入单元306和包括显示器、扬声器等的输出单元307连接至输入/输出接口305。此外,诸如硬盘和非易失性存储器的存储单元308、诸如网络接口的通信单元309、以及用于驱动可移动介质311的驱动器310连接到输入/输出接口305。
在如上所述配置的计算机中,例如,CPU301通过输入/输出接口305和总线304将存储在存储单元308中的程序加载到RAM303上,并且执行该程序以执行上述一系列处理。
例如,由CPU301执行的程序通过记录在可移动介质311中或者通过有线或无线传输介质(例如,局域网、因特网、或者数字广播)来提供,并且安装在存储单元308中。
要注意的是,由计算机执行的程序可以是根据在本说明书中描述的顺序按时间顺序进行处理的程序,或并行地进行处理的程序,或者在必要的定时(例如,在进行调用时)进行处理的程序。
注意,在本说明书中,系统意味着多个组件(设备、模块(部件)等)的集合,并且所有组件是否处于相同的情况下无关紧要。因此,容纳在单独的壳体中并且通过网络连接的多个设备,以及将多个模块容纳在一个壳体中的一个设备都是系统。
此外,在本说明书中描述的效果仅是说明性的而不是限制性的。所以,可以获得其他效果。
本技术的实施方式不限于上述实施方式,并且在不背离本技术的范围的情况下,可以做出各种修改。
例如,本技术可以具有云计算配置,其中,通过网络由多个设备共享和处理一个功能。
此外,在上述流程图中描述的每个步骤可以由一个设备执行或者由多个设备以共享方式执行。
此外,在一个步骤中包括多个处理的情况下,在一个步骤中包括的多个处理可以由一个设备执行或者由多个设备以共享方式执行。
<配置的实例组合>
本技术还可配置如下。
(1)
一种接收终端,包括:
接收单元,接收从发送终端发送的分组,分组包括主数据和冗余数据,冗余数据基于冗余度而生成并且用于主数据的恢复或内插,冗余度基于重传超时时段确定,重传超时时段是由发送终端和接收终端的组合确定的时间,并且在重传超时时段中主数据的重传处理可以被重复执行;以及
解码单元,通过对主数据或冗余数据进行解码来解码再现数据。
(2)
根据以上(1)所述的接收终端,还包括:
主数据缓冲器,累积主数据;以及
冗余数据缓冲器,累积冗余数据,其中,
在对应于再现数据的主数据不存在于主数据缓冲器中的情况下,解码单元通过解码与从冗余数据缓冲器读取的与该再现数据相对应的冗余数据来解码再现数据。
(3)
根据以上(1)或(2)所述的接收终端,其中
冗余度由每个分组中的冗余数据的条数表示。
(4)
根据以上(1)或(2)所述的接收终端,其中
冗余数据与包括在同一分组中的主数据所对应的帧之前或之后的帧相对应,并且
冗余度通过与分组中的冗余数据相对应的帧的范围来调整。
(5)
根据以上(1)至(4)中任一项所述的接收终端,其中
分组中主数据的量和冗余数据的量的比例已被调整。
(6)
根据以上(1)至(5)中任一项所述的接收终端,其中
将通过对冗余数据进行编码而释放的分组中的区域分配给主数据的区域。
(7)
根据以上(1)至(6)中任一项所述的接收终端,其中,冗余数据基于冗余度和主数据的特征量而生成。
(8)
根据以上(1)至(7)中任一项所述的接收终端,其中
冗余数据是关于主数据与冗余数据之间的相关性或冗余数据与另一冗余数据之间的相关性的相关数据。
(9)
根据以上(1)至(8)中任一项所述的接收终端,其中
接收单元基于表示分组的丢失的分组丢失信息,将用于识别待再现的数据的数据编号添加到主数据和冗余数据。
(10)
根据以上(1)所述的接收终端,其中
冗余度基于重传超时时段和在发送缓冲器中累积的分组数量来确定。
(11)
根据以上(10)所述的接收终端,其中
基于重传超时时段和在发送缓冲器中累积的分组数量来确定主数据的条数,主数据的条数是每个分组的主数据的条数。
(12)
根据以上(11)所述的接收终端,其中
根据重传超时时段改变用于与发送缓冲器中累积的分组数量进行比较以确定主数据的条数的阈值。
(13)
根据以上(11)或(12)所述的接收终端,其中
基于主数据的条数和重传超时时段改变冗余度。
(14)
根据以上(13)所述的接收终端,其中
基于主数据的条数、每个分组中的冗余数据的条数、以及冗余数据的数据量来改变主数据的数据量。
(15)
根据以上(11)至(14)中任一项所述的接收终端,其中
发送数据编号被添加到分组,发送数据编号是当各条主数据被按时间序列顺序编号时与分组的头部处的主数据对应的编号。
(16)
根据以上(15)所述的接收终端,其中
接收单元基于发送数据编号将用于识别待再现的数据的数据编号添加到主数据和冗余数据。
(17)
根据以上(2)的接收终端,进一步包括
通信单元,与接收从发送终端发送的分组的另一接收终端通信,其中
通信单元从另一接收终端接收冗余数据。
(18)
根据以上(17)所述的接收终端,进一步包括
控制单元,在对应于再现数据的主数据不在主数据缓冲器中并且对应于再现数据的冗余数据不在冗余数据缓冲器中的情况下,向另一接收终端请求对应于再现数据的冗余数据,其中
通信单元接收响应于请求而从另一接收终端发送的冗余数据。
(19)
根据以上(17)或(18)所述的接收终端,其中
通信单元从冗余数据缓冲器中读取从另一接收终端请求的冗余数据,并且将冗余数据发送至另一接收终端。
(20)
一种接收方法,包括:
由接收终端:
接收从发送终端发送的分组,分组包括主数据和冗余数据,冗余数据基于冗余度而生成并用于主数据的恢复或内插,冗余度基于重传超时时段确定,重传超时时段是由发送终端和接收终端的组合确定的时间,并且在重传超时时段中主数据的重传处理可以被重复地执行;并且
通过对主数据或冗余数据进行解码来解码再现数据。
(21)
一种发送终端,包括:
冗余数据生成单元,基于重传超时时段确定用于主数据的恢复或内插的冗余数据的冗余度,该重传超时时段是由发送终端和接收终端的组合确定的时间并且在重传超时时段中主数据的重传处理可被重复执行;以及
发送单元,发送包括主数据和基于冗余度生成的冗余数据的分组。
(22)
根据以上(21)所述的发送终端,其中
冗余度由每个分组中的冗余数据的条数表示。
(23)
根据以上(21)所述的发送终端,其中
冗余数据与包括在同一分组中的主数据所对应的帧之前或之后的帧相对应,并且
冗余数据生成单元通过分组中的冗余数据所对应的帧的范围来调整冗余度。
(24)
根据以上(21)至(23)中任一项所述的发送终端,其中
冗余数据生成单元调整分组中的主数据的量和冗余数据的量的比例。
(25)
根据以上(21)至(24)中任一项所述的发送终端,其中
冗余数据生成单元将通过对主数据和冗余数据进行编码而释放的分组中的区域分配给主数据的区域。
(26)
根据以上(21)至(25)中任一项所述的发送终端,其中
冗余数据生成单元基于冗余度和主数据的特征量生成冗余数据。
(27)
根据以上(21)至(26)中任一项所述的发送终端,其中
冗余数据生成单元将关于主数据与冗余数据之间的相关性或冗余数据与另一冗余数据之间的相关性的相关数据设置为冗余数据。
(28)
根据以上(21)所述的发送终端,其中
冗余数据生成单元基于重传超时时段和在发送缓冲器中积累的分组的数量确定冗余数据的冗余度。
(29)
根据以上(28)所述的发送终端,其中
冗余数据生成单元基于重传超时时段和发送缓冲器中累积的分组的数量来确定主数据的条数,主数据的条数是每个分组中的主数据的条数。
(30)
根据以上(29)所述的发送终端,其中
冗余数据生成单元根据重传超时时段改变用于与发送缓冲器中累积的分组数量进行比较的阈值,以确定主数据的条数。
(31)
根据以上(29)或(30)所述的发送终端,其中
冗余数据生成单元基于主数据的条数和重传超时时段改变冗余度。
(32)
根据以上(29)所述的发送终端,其中
冗余数据生成单元基于主数据的条数、每个分组中的冗余数据的条数、以及冗余数据的数据量来改变主数据的数据量。
(33)
根据以上(28)至(32)中任一项所述的发送终端,还包括:
控制单元,当各条主数据按时间序列顺序编号时,控制单元将与分组的头部处的主数据相对应的值作为发送数据编号添加至该分组。
(34)
根据以上(21)所述的发送终端,还包括:
信号处理单元,添加用于识别帧的信道的识别信息,其中
发送单元通过基于识别信息从多个接收终端中获得作为与帧对应的分组的发送目的地的接收终端来进行发送。
(35)
一种传输方法,包括:
由发送终端:
基于重传超时时段确定用于主数据的恢复或内插的冗余数据的冗余度,该重传超时时段是由发送终端和接收终端的组合确定的时间并且在重传超时时段中主数据的重传处理可被重复执行;以及
发送包括主数据和基于冗余度生成的冗余数据的分组。
附图标记列表
11 发送终端
12 接收终端
21 BLE控制器
22 重传超时时段计算单元
23 信号处理单元
24 输入缓冲器
25 冗余数据生成单元
26 编码单元
27 多路复用单元
28 发送缓冲器
51 BLE控制器
52 接收缓冲器
101 冗余数据生成单元
102 编码单元
103 多路复用单元
28 发送缓冲器
211 发送终端
221 信号处理单元
222 冗余数据生成单元
223 编码单元
251 接收缓冲器
252 设备间数据解复用单元
253 设备间通信控制单元
254 冗余数据添加单元
255 发送缓冲器。

Claims (20)

1.一种接收终端,包括:
接收单元,接收从发送终端发送的分组,所述分组包括主数据和冗余数据,所述冗余数据基于冗余度而生成并用于所述主数据的恢复或内插,所述冗余度基于重传超时时段确定,所述重传超时时段是由所述发送终端和所述接收终端的组合确定的时间,并且在所述重传超时时段中所述主数据的重传处理能够被重复执行;以及
解码单元,通过对所述主数据或所述冗余数据进行解码来解码再现数据。
2.根据权利要求1所述的接收终端,还包括:
主数据缓冲器,累积所述主数据;以及
冗余数据缓冲器,累积所述冗余数据,其中,
在对应于所述再现数据的主数据不存在于所述主数据缓冲器中的情况下,所述解码单元通过解码从所述冗余数据缓冲器读取的与所述再现数据相对应的冗余数据来解码所述再现数据。
3.根据权利要求1所述的接收终端,其中,
所述冗余度由每个分组中的冗余数据的条数表示。
4.根据权利要求1所述的接收终端,其中,
所述冗余数据与包括在同一分组中的所述主数据所对应的帧之前或之后的帧相对应,并且
所述冗余度通过所述分组中的所述冗余数据所对应的帧的范围来调整。
5.根据权利要求1所述的接收终端,其中,
所述分组中的所述主数据的量和所述冗余数据的量的比例被调整。
6.根据权利要求1所述的接收终端,其中,
将通过对所述冗余数据进行编码而释放的分组中的区域分配给所述主数据的区域。
7.根据权利要求1所述的接收终端,其中,
所述冗余数据基于所述冗余度和所述主数据的特征量而生成。
8.根据权利要求1所述的接收终端,其中,
所述冗余数据是关于所述主数据与所述冗余数据之间的相关性、或所述冗余数据与另一冗余数据之间的相关性的相关数据。
9.根据权利要求1所述的接收终端,其中,
所述接收单元基于表示分组的丢失的分组丢失信息,将用于识别待再现的数据的数据编号添加到所述主数据和所述冗余数据。
10.根据权利要求1所述的接收终端,其中,
所述冗余度基于所述重传超时时段和在发送缓冲器中积累的分组的数量来确定。
11.根据权利要求10所述的接收终端,其中,
基于所述重传超时时段和在所述发送缓冲器中累积的所述分组的数量来确定所述主数据的条数,所述主数据的条数是每个分组中的主数据的条数。
12.根据权利要求11所述的接收终端,其中,
根据所述重传超时时段改变用于与所述发送缓冲器中累积的所述分组的数量进行比较以确定所述主数据的条数的阈值。
13.根据权利要求11所述的接收终端,其中,
所述冗余度基于所述主数据的条数和所述重传超时时段而改变。
14.根据权利要求13所述的接收终端,其中,
所述主数据的数据量基于所述主数据的条数、每个分组中的所述冗余数据的条数、以及所述冗余数据的数据量而改变。
15.根据权利要求11所述的接收终端,其中,
发送数据编号被添加到所述分组,所述发送数据编号是当各条主数据按时间序列顺序编号时与所述分组的头部处的主数据相对应的编号。
16.根据权利要求15所述的接收终端,其中,
所述接收单元基于所述发送数据编号将用于识别待再现的数据的数据编号添加到所述主数据和所述冗余数据。
17.根据权利要求2所述的接收终端,还包括:
通信单元,与另一接收终端通信,所述另一接收终端接收从所述发送终端发送的分组,其中,
所述通信单元从所述另一接收终端接收所述冗余数据。
18.根据权利要求17所述的接收终端,还包括:
控制单元,在对应于所述再现数据的所述主数据不在所述主数据缓冲器中并且对应于所述再现数据的所述冗余数据不在所述冗余数据缓冲器中的情况下,所述控制单元向所述另一接收终端请求与所述再现数据相对应的所述冗余数据,其中,
所述通信单元接收响应于所述请求而从所述另一接收终端发送的所述冗余数据。
19.根据权利要求17所述的接收终端,其中,
所述通信单元从所述冗余数据缓冲器中读取从所述另一接收终端请求的所述冗余数据,并且将所述冗余数据发送至所述另一接收终端。
20.一种接收方法,包括:
由接收终端:
接收从发送终端发送的分组,所述分组包括主数据和冗余数据,所述冗余数据基于冗余度而生成并用于所述主数据的恢复或内插,所述冗余度基于重传超时时段确定,所述重传超时时段是由所述发送终端与所述接收终端的组合确定的时间,并且在所述重传超时时段中所述主数据的重传处理能够被重复地执行;并且
通过对所述主数据或所述冗余数据进行解码来解码再现数据。
CN202080081798.0A 2019-12-05 2020-11-20 接收终端和方法 Pending CN114793482A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019-220262 2019-12-05
JP2019220262 2019-12-05
PCT/JP2020/043421 WO2021111903A1 (ja) 2019-12-05 2020-11-20 受信端末および方法

Publications (1)

Publication Number Publication Date
CN114793482A true CN114793482A (zh) 2022-07-26

Family

ID=76222094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080081798.0A Pending CN114793482A (zh) 2019-12-05 2020-11-20 接收终端和方法

Country Status (4)

Country Link
US (1) US20220416949A1 (zh)
CN (1) CN114793482A (zh)
DE (1) DE112020005969T5 (zh)
WO (1) WO2021111903A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050154965A1 (en) * 2004-01-09 2005-07-14 Fujitsu Limited Transmission apparatus, transmission control program, and transmission method
CN101026553A (zh) * 2005-11-09 2007-08-29 索尼株式会社 分组传输装置、通信系统和程序
US20080134005A1 (en) * 2004-12-02 2008-06-05 Izzat Hekmat Izzat Adaptive Forward Error Correction
WO2014083739A1 (ja) * 2012-11-28 2014-06-05 パナソニック株式会社 受信端末および受信方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4473869B2 (ja) * 2004-05-10 2010-06-02 日本電信電話株式会社 音響信号のパケット通信方法、送信方法、受信方法、これらの装置およびプログラム
JP6540189B2 (ja) * 2015-04-21 2019-07-10 ソニー株式会社 送信装置、送信方法、およびプログラム
US10485013B2 (en) * 2015-06-19 2019-11-19 Lg Electronics Inc. V2X message transmission method performed by terminal in wireless communication system, and terminal using same
DE112016002961T5 (de) * 2015-07-02 2018-03-15 Sony Corporation Kommunikationsvorrichtung, kommunikationssystem, kommunikationsverfahren und programm
JP2017092692A (ja) * 2015-11-10 2017-05-25 日本電信電話株式会社 データ伝送制御システム及び方法、並びに、データ伝送制御プログラム
US10630315B2 (en) * 2017-09-29 2020-04-21 Intel Corporation Technologies for applying a redundancy encoding scheme to segmented network packets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050154965A1 (en) * 2004-01-09 2005-07-14 Fujitsu Limited Transmission apparatus, transmission control program, and transmission method
US20080134005A1 (en) * 2004-12-02 2008-06-05 Izzat Hekmat Izzat Adaptive Forward Error Correction
CN101026553A (zh) * 2005-11-09 2007-08-29 索尼株式会社 分组传输装置、通信系统和程序
WO2014083739A1 (ja) * 2012-11-28 2014-06-05 パナソニック株式会社 受信端末および受信方法

Also Published As

Publication number Publication date
US20220416949A1 (en) 2022-12-29
DE112020005969T5 (de) 2022-09-22
WO2021111903A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
JP5017418B2 (ja) 符号化方法、装置及び機器、及び復号化方法
KR101476138B1 (ko) 코덱의 구성 설정 방법 및 이를 적용한 코덱
CN101636990B (zh) 在通信系统中传输数据的方法
JP2012512560A (ja) マルチメディアストリームの合成
CN109461450B (zh) 音频数据的传输方法、系统、存储介质及蓝牙耳机
JP2007511157A (ja) ボイスチャンネルにおける非音声データを転送するための方法および装置
JP5328561B2 (ja) 通信システムの制御装置、制御方法、およびコンピュータプログラム
US20210105513A1 (en) Communication apparatus, media distribution system, media distribution method, and non-transitory computer readable medium
WO2021111903A1 (ja) 受信端末および方法
CN110915223B (zh) 发送设备、发送方法、接收设备、接收方法和程序
KR102510865B1 (ko) 신호 처리 장치 및 신호 처리 방법, 및 프로그램
JP2939933B2 (ja) 時系列情報の通信システム
EP2200025B1 (en) Bandwidth scalable codec and control method thereof
KR101904422B1 (ko) 코덱의 구성 설정 방법 및 이를 적용한 코덱
JPH09219649A (ja) 可変レート符号化方式
US8791981B2 (en) Bit rate control apparatus and method thereof
US20230215443A1 (en) Signal processing apparatus, encoding method, and signal processing system
WO2021200151A1 (ja) 送信装置、送信方法、受信装置、及び受信方法
KR100916312B1 (ko) 적응적 가중 오류 정정 부호화 및 다중 표현열 부호화를사용한 비디오 전송 장치 및 그 방법
KR101814607B1 (ko) 코덱의 구성 설정 방법 및 이를 적용한 코덱
KR101645294B1 (ko) 코덱의 구성 설정 방법 및 이를 적용한 코덱
CN116530038A (zh) 信号处理装置及学习装置
JP4230900B2 (ja) 音声通信端末
JP2024521195A (ja) 前方誤り訂正と組み合わせたパケット化されたオーディオ・データの無線送受信
US9571237B2 (en) Wireless transfer device and method for control of wireless transfer band

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination