使用计算机声卡生成和收听数字音频,业余无线电可以互相传送图文电视页面。
曾几何时,在欧洲,电视遥控器上有一个神奇的“图文电视”按钮。在互联网进入家庭之前的许多年,按下那个按钮就能调出图文电视数字信息服务,其中包含数百个不断更新的页面。在1980年代和1990年代生活在爱尔兰时,我的家人每天多次访问国家图文电视服务,查看天气和新闻简报,以及电视节目指南和机场航班到达更新等信息。
那是一个优雅的系统:快速、低带宽、不受用户负载影响,即使在模拟电视屏幕上也能呈现可读的文本。所以当我最近看到某机构的图文电视测试传输迎来40周年纪念时,它重新激活了我心中盘桓多年的想法:我能否制作一个用于业余无线电的图文电视版本?
图文电视最早在英国开发,并由某机构以Ceefax之名向公众推出,它利用了模拟电视信号的一个特性。这些信号将视频帧以亮度和色度行形式传输,外加一些不显示的额外空白行。图文电视将这些空白行用作数字信号的载体,随时间循环发送页面。观众使用遥控器输入想要页面的三位数代码。通常在几秒钟内,循环就会转到并显示所需页面。
图文电视在8位时代创造了异常清晰的文本,它通过放大字母数字字符,并查找对角相邻的现有像素来插值新像素,同时在字符之间添加空白。图形字符不进行插值,采用称为“sixels”的块状像素(2x3排列)。现代复刻版使用了开源字体Bedstead,它再现了图文电视的外观,包括图形字符。
图文电视由八种颜色之一的字符组成。字符流中的控制代码用于选择颜色,还可以产生闪烁文本和双倍高度字符等效果。由于图文电视核心的SAA5050字符生成器芯片,其文本清晰度比当时大多数计算机所能实现的都要好。尽管该芯片内部将字符存储在6x10像素的单元中——比1980年代家用电脑典型的8x8像素单元像素更少——但SAA5050会即时为字母数字字符插值额外像素,使有效分辨率达到10x18像素。代价是分辨率非常低的图形,由使用2x3块状像素集的字符构成。
图文电视屏幕使用40x24字符的网格。这意味着1千字节的内存可以存储一整页彩色文本,仅为例如某公司64计算机上相同文本量所需内存的一半。某机构微型计算机利用了这一点,在其主板上安装了一个SAA5050,可以在计算机的一种图形模式下访问。尽管图形粗糙,但一些教育游戏使用了这种模式,最著名的是《Granny‘s Garden》,它在英国学童中占据了类似于《俄勒冈小道》在美国学童中的文化地位。
到2010年代,大多数图文电视服务已停止广播。但许多人仍然对图文电视怀有美好的回忆,爱好者们正在保持它的活力,恢复和存档旧内容,运行基于互联网的当前新闻提要服务,并开发能够用现代电视创建和显示图文电视的系统。
我想做一些不同的事情。受到某机构微型计算机将图文电视用于自身目的的启发,我认为它可能成为一个很棒的无线电协议。我特别认为它可以成为慢扫描电视(SSTV)的数字对应物。
SSTV是一种传输图像的模拟方法,通常带有包含业余无线电呼号和其他消息的横幅。SSTV很有趣,但正如其名,它很慢——最流行的协议发送一幅图像需要将近2分钟——而且很难获得带有可读文本的完整图像。因此,SSTV图像通常被多次广播。
许多人仍然对图文电视怀有美好的回忆。
我决定使用AX.25协议来发送图文电视,该协议将0和1编码为可听音调。对于以1200波特率传输的甚高频和超高频,发送一个图文电视屏幕需要11秒。在高频波段,AX.25数据通常以300波特率发送,这将导致每屏幕44秒,仍然可以接受。当一个图文电视页面被重复发送时,任何丢失或损坏的行都会被新行补充。因此,在2分多钟内,我可以在高频波段上发送一个屏幕三次,接收器将自动组合数据。我还希望用Python构建该系统以实现可移植性,包括一个用于创建页面的编辑器、一个AX.25编码器/解码器,以及一个用于显示接收图像的监视器。
我以前没有这样做的原因是因为这需要消化AX.25标准和图文电视官方规范的细节,然后将它们转化为一套软件,我似乎从来没有时间去做。所以我进行了一次实验中的实验,转向了“氛围编码”。
尽管氛围编码在开发者中很受欢迎,但我持保留态度。即使不考虑关于AI垃圾、环境和内存囤积的担忧,我仍然担心氛围编码带来的对集中式系统的依赖。DIY项目的全部意义就在于自己动手做。DIY项目让你能够根据自己的目的来打造东西,而不仅仅是在别人的利润率范围内运营。
尽管如此,远程批评一项技术并不理想,因此我向某机构的AI助手提供了AX.25和图文电视规范,并告诉它我想要什么。经过大约25万到30万个token以及几个晚上的错误和功能反复沟通,我没有编写一行代码就让完整的系统运行起来了。老实说,我怀疑这个我称之为Spectel的系统如果没有氛围编码是永远不可能实现的。
但我没有学到任何关于图文电视如何工作的新东西,对AX.25也只多了解了一点点。更新取决于我是否支付费用。所以我仍然对氛围编码深感矛盾。无论如何,还有最后一个测试:在高频波段上试用Spectel。当然,这意味着我需要空中愿意合作的伙伴。所以,如果你是业余无线电爱好者并愿意提供帮助,请在下面的评论中告诉我!FINISHED
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。